21 Mar Verification, the Ignored Sibling of Validation!
The following is a blog based on the Quality in a Quick video episode “Verification vs Validation” which aired on YouTube on January 15th, 2018.
Implementing structured verification processes is one of the most cost-effective, efficient, and simplest ways an organization can improve their software testing and quality assurance practices. However, it’s something many managers and leaders have a challenge implementing. Why? It could be their perception of verification. Maybe they want to see people “banging on the keys” when they’re testing software. Or perhaps they want to see testers actually touching the product.
Validation and verification both strive to “quantifiably assure a work product meets the stated (and sometimes unstated) objectives and meets an organization’s definition of quality”. But validation and verification are two very different tasks.
Verification is performed on key artifacts during the development. It allows us to find issues much earlier in our development process. It enables you to identify the stage at which the issue was introduced and thus improve the development process to prevent it from reoccurring. And by identifying and resolving at the stage it was introduced (known as “stage containment”) you keep it from propagating into subsequent stages or phases.
There are formal as well as informal verification techniques and processes. The products you may have undergo a verification process include design specifications, documented requirements, use cases, user stories, even defects. The verification processes you might implement include code walkthroughs, peer reviews, inspections, or even desk checks. They may also involve tools and processes such as mentor feedback, training, and checklists. That’s verification.
Validation includes unit testing, integration testing, system testing, regression testing, and user-acceptance testing. It’s performed after a work product is produced. You’ve got a product you can touch and start “running through its paces”. Whether it’s performance testing, functional testing, exploratory testing, etc. You may be validating against established (or what you believe to be established based upon your knowledge and expertise) conditions or criteria to confirm the application or system does what it’s supposed to do. You’re ensuring the product integrates correctly into your environment…your system…as a whole. The focus is on defect detection and removal.
Often, as QA and testing professionals, when we discuss software testing our emphasis is on validation. But, remember, verification is an incredibly cost-effective and efficient approach to finding errors and has many benefits!
I’ve been fortunate to work with a number of innovative organizations with phenomenal verification processes. In my white paper “Test, but Verify”, which you can download here, I share a few specifics, tips, and techniques on peer reviews – one of my favorite verification processes.
If you have any feedback, questions, thoughts you’d like to share, or any topics you’d like to see in future blogs or “Quality in a Quick” videos please email me at firstname.lastname@example.org. I’m Bob Crews, President and Co-Founder of Checkpoint Technologies.
Thank you! Be sure to make it a great day!