Verification & Validation go hand in hand to ensure the design and delivery of a great product.
A common characteristic of all these testing activities is that they can be automated to gain efficiency and repeatability, and thus to enable delivery of better products faster.
Validation tests the product’s specifications, as well as the finished product itself, against the client requirements. It ensures the product is designed to meet the client’s needs. It also acts as the feedback necessary to iterate product versions converging to a version which fully meets the internal and client requirements.
Upon delivery of the product, the client validates that the product meets its requirements. This can range from plugging in a television and verifying that you can change the channel to very complex pre-approved validation testing at the client site.
To the best of its abilities, the designing entity validates that the product will meet the client’s requirements by putting itself in the client’s place.
Verification tests the product’s design against its specifications. It ensures that the design and every unit produced meet their specifications and that they can be delivered to its intended user.
Integration testing consists in the verification of the whole system. It tests the integration of the software, the different electronic components and the mechanical enclosure and how they perform together against the system’s specifications.
These activities can be split into two modes of testing, design verification and production line verification:
Example: Verifies that the product’s transmitter meets the industry standards for its class in all environments and usage modes.
Example: Verifies that the product’s transmitter is functional, cables and connectors are properly assembled and that it transmits at nominal power.
Unit testing is more commonly thought of as a method of software testing, where a module or function is tested using many different input types and values to verify its outputs.
The same applies to hardware testing. For example, a power-supply-module unit test would consist in feeding different input signals iterating on voltage, ripple and stability parameters, all while verifying the power supply outputs at different points. The power supply could fail and fall short of its specifications due to a routing issue (i.e. trace too long), a missing or mis-sized component (i.e. capacitor) or other design issues.
These activities can be split into two modes of testing, design verification and production line verification:
Example: Verification of rise times, frequency and jitter on every data, address and clock pins of a memory chip, ensuring that the memory circuit design performs to specifications.
Example: Verification of memory functionality by the execution of writes and reads, ensuring that the memory is correctly assembled on the electronic card.