<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Saúl Núñez</title>
    <description>The latest articles on DEV Community by Saúl Núñez (@saul_nunez).</description>
    <link>https://dev.to/saul_nunez</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F615909%2F9e981bfc-b1bc-498a-9179-dfeb175ea357.jpeg</url>
      <title>DEV Community: Saúl Núñez</title>
      <link>https://dev.to/saul_nunez</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/saul_nunez"/>
    <language>en</language>
    <item>
      <title>Test Levels in Software Development</title>
      <dc:creator>Saúl Núñez</dc:creator>
      <pubDate>Sat, 08 Feb 2025 21:27:55 +0000</pubDate>
      <link>https://dev.to/saul_nunez/test-levels-in-software-development-4edg</link>
      <guid>https://dev.to/saul_nunez/test-levels-in-software-development-4edg</guid>
      <description>&lt;p&gt;Things I wished I knew sooner about software testing...&lt;/p&gt;

&lt;p&gt;When we talk about testing in software development you would probably recognize terms as unit testing, integration testing and maybe acceptance testing. All are terminology relating to the activities we do in software development to make sure software is as robust as possible before reaching users.&lt;/p&gt;

&lt;p&gt;In the Foundation Level ISQTB certification we can find five different test levels:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Component testing: Which is what we have most commonly heard as unit testing. It focuses testing components in isolation, for that to happen we might need test harnesses or unit test frameworks. Test harnesses are what are commonly referred as stubs or mocks if you have used a unit testing framework. Stubs allow us to facilitate testing when some of the application's production infrastructure is unavailable, for example, if our ORM allows it we might use an in-memory db to test a function that interacts with the database. This type of testing is commonly done by developers in their development environments.&lt;/li&gt;
&lt;li&gt;Component integration testing: Also known as unit integration testing in the ISQTB certification. Focuses in testing interfaces and interactions between components, this is done by testing the interaction between different software components. For example if we are testing a SW component in a system with a micro-service architecture, interconnected by a REST API, in component integration testing, we might check that the expected JSON responses are returned to our component from the other SW component.&lt;/li&gt;
&lt;li&gt;System testing: At this level you'd are testing the behavior and capabilities of the whole system or product. System level tests might be performed by an independent test team, depending on the organization. Having an independent test organization allows for a different team with a different understanding of the product to conduct tests, preventing misconceptions from causing escaped defects. At this level we also test non-functional requirement testing, like usability or performance.&lt;/li&gt;
&lt;li&gt;System integration testing: At this level we test the interfaces of the system under test and other systems. An example of this is testing the integration of a payment system with our system.&lt;/li&gt;
&lt;li&gt;Acceptance testing: This level focuses on validation and demonstrating that the system fulfills the user's business needs. The main forms of acceptance testing as defined by the ISQTB foundations certification are: user acceptance testing, operational acceptance testing, contractual acceptance testing and regulatory acceptance testing, alpha testing and beta testing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@freestocks?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash" rel="noopener noreferrer"&gt;freestocks&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/person-holding-space-grey-iphone-x-turn-on-40k6ZqbsXuo?utm_content=creditCopyText&amp;amp;utm_medium=referral&amp;amp;utm_source=unsplash" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>testing</category>
      <category>beginners</category>
      <category>learning</category>
      <category>isqtb</category>
    </item>
    <item>
      <title>Using win-usbipd with several distros</title>
      <dc:creator>Saúl Núñez</dc:creator>
      <pubDate>Fri, 21 Jan 2022 00:50:30 +0000</pubDate>
      <link>https://dev.to/saul_nunez/using-win-usbipd-with-several-distros-2p9d</link>
      <guid>https://dev.to/saul_nunez/using-win-usbipd-with-several-distros-2p9d</guid>
      <description>&lt;p&gt;Lately, I've been wanting to test &lt;a href="https://postmarketos.org/" rel="noopener noreferrer"&gt;postmarketOS&lt;/a&gt;, a project with the intention of giving smartphones a longer life, porting Linux to them and keep those devices supported with newer software for longer. &lt;/p&gt;

&lt;p&gt;To install it to your device, you can either download a prebuilt image (easiest, only several devices with mostly complete/complete support) or building an image with &lt;code&gt;pmbootstrap&lt;/code&gt; (slightly harder), this last one needs a Linux machine. Oh surprise, it also supports WSL! That day I also learnt that there's a tool to do USB over IP to WSL2, &lt;a href="https://github.com/dorssel/usbipd-win" rel="noopener noreferrer"&gt;win-usbipd&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;So I set it up following these instructions and when trying to attach my tablet to WSL from Windows. I ended with this error:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ usbipd wsl attach --busid 4-2
usbipd: error: The specified WSL distribution cannot be reached via the WSL virtual switch; try restarting the WSL distribution.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The reason for this error is that I also have Docker installed in this machine, and docker sets up it's own distro, which is set as default, not Ubuntu, the distro that I wanted to use. Also Docker seems to have a few networking gotchas.&lt;br&gt;
Do note, I'm running these commands on prompt with administrator privileges.&lt;br&gt;
Looking around with &lt;code&gt;--help&lt;/code&gt;, I stumbled upon with the &lt;code&gt;--distribution&lt;/code&gt; parameter:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ usbipd wsl attach --busid 4-2 --distribution Ubuntu-20.04
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Note, you can find the name for all the installed linux distros with &lt;code&gt;wsl --list&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Cover photo by &lt;a href="https://unsplash.com/@6heinz3r?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Gabriel Heinzer&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/linux?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText" rel="noopener noreferrer"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>wsl</category>
      <category>help</category>
      <category>windows</category>
      <category>linux</category>
    </item>
  </channel>
</rss>
