In my career, I have had the excellent fortune of providing consulting and expertise to well over 260 organizations. One of the most common questions I get asked is if there was any one particular thing an organization can do to improve their software testing and quality assurance practices. I would have to say there probably is one specific thing, and it's relatively easy, but it's something that it seems as though a lot of managers and leadership tend to have a real challenge implementing because they want to see people banging on the keys when it comes to software testing. They want to see us actually touching the product.
The techniques that I want to share with you actually are specific for verification and validation. Obviously, validation has to do with software testing. So when I'm talking about techniques right now, by the way, I'm talking about techniques to quantifiably assure that a work product meets the state of objectives. So when it comes to verification, that's different than validation. Verification is performed during the development of key artifacts. So you might perform a verification of specifications, documented requirements, even defects. And the process to perform verification might include walkthroughs, reviews such as peer reviews, inspections, or even desk checks. It would also include mentor feedback, training, checklists, and other different standards that you're going to be going through. So that's verification.
With validation, that is performed after a work product is produced. So you've got something that you can touch, you can feel, that you can start running through its paces, whether it's performance testing, functional testing, et cetera. And you are validating against established conditions or criteria. So you are looking to confirm that your application, your system, does what it's supposed to do. You are ensuring that the product integrates perhaps correctly into your environment as a whole. So that is validation.
Additionally, when you think about validation, it's a reactive approach, because what you're doing is you are focused on defect detection and removal. You're going to detect a defect and then you're going to remove it. It's important that you understand the difference between the two. So often when we talk about software testing, keep in mind that's validation. But the one thing again that I would recommend organizations do is to implement a verification process.
This blog is a modified transcript from our video series, Quality In a Quick.