Verification and Validation
The Verification and Validation process areas are similar, but they address different issues. Validation demonstrates that the product, as provided (or as it will be provided), will fulfill its intended use, whereas Verification addresses whether the work product properly reflects the specified requirements. In other words, verification ensures that you built it right; whereas, validation ensures that you built the right thing. (from CMMI-Dev V1.3 Model)
Verification is a testing which ensures that the product and product components meets the requirement specifications (SRS). Successful verification is no guarantee that the product and product components will work in the real use case scenarios.
Validation is assurance that a product and product components meet the overall real use case scenarios as desired by the customer.
Verification ensures that ‘you built it right;’ whereas Validation ensures that ‘you built the right thing.”
V&V Testing Terminology:
- Unit testing – it’s just us engineers, which would lead us to verification. However, in the CMMI, all discussions related to unit testing is found in the Technical Solution process area under SP3.1 Implement the Design – so maybe it’s neither. Ah, but TS SP3.1, subpractice 4, “Perform unit testing of the product component as appropriate,” has a reference to the Verification process area, so our first instinct was right after all!
- Integration testing – it’s typically just us engineers and testers, so verification. However, if the user, customer, or their surrogate participate in some or all of these activities, that also brings a validation component to this activity. (A single activity CAN be both verification and validation.)
- System testing – same as integration testing.
- Qualification / customer acceptance testing – because the user, customer, and/or their surrogate are typically involved in such activities, they are primarily validation.
- Prototyping – it depends. If it’s a prototype like sample webpages or mocked up reports or modified process flow diagrams that are intended to be shared with the customer/user to make sure that we’re going down the right path to meet their needs, then it’s validation. If it’s an engineering prototype – one used to decide which of three alternative technical approaches will best meet the stringent performance requirements (for example), then it’s verification.