What is Verification?
Verification is testing that your product meets the specifications / requirements you have written. “Did I build what I said I would?”.
What is Validation?
Validation tests how well you addressed the business needs that caused you to write those requirements. It is also sometimes called acceptance or business testing. “Did I build what I need?”
V&V together make sure that your software has delivered on its purpose in an error-free (ideally) way.
Verification vs Validation: Key Difference
Verification | Validation |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Verification and validation in waterfall vs agile
In a more traditional Waterfall process, with Specifications and Requirements defined at the start, Validation is often performed at the end of the testing cycle. You spend tons of time defining a product, build it, make sure your software was bug-free, and then do user acceptance testing, or submit it to a client / users, perhaps even a Beta release.
In an Agile development process, ideally both verification and validation activities occur as close to simultaneously as possible. This is because you are always updating and refining your User Stories, necessitating constant small V&V loops to enable this continual feedback.