Difference between Verification and Validation
Although these two terms are often used interchangeably in practice, they have distinct meanings. This is defined by the Institute of Electrical and Electronics Engineers (IEEE).
“The evaluation of whether or not a product, service, or system complies with a regulation, requirement, specification, or imposed condition.” In other words, verification confirms that the software meets its written requirements. In simple terms, verification asks are we building the software right?
“The assurance that a product, service, or system meets the needs of the customer and other identified stakeholders. It often involves acceptance and suitability with external customers.” Validation tests how well the software meets the business needs. The business needs in this instance are the needs that prompted writing the requirements document. Validation asks, are we building the right software?
Independent Verification & Validation – (IV&V)
IV&V is when the software verification and validation is completed by a third party, such as Celtic Testing, who is not involved in the software development process.
Background to IV&V in Software Development
IV&V was first introduced to software development, by the US Department of Defence in the late 1950s. Here the objective was to address the issue of projects being completed with significant technical problems, behind schedule and over budget.
Over time, the increasing importance and complexity of commercial software, lead to an increased role for IV&V. In addition, many industries experienced an overwhelming increase in external regulations and standards, which also increased their reliance on IV&V.
Advantages of IV&V
- Early Detection of defects – Using an independent party, who is not directly involved in design and development will help detect defects earlier in the software development lifecycle.
- Reduced Costs – By detecting software defects earlier, IV&V significantly reduces the costs of defect fixing. As everyone knows, the earlier a defect is found, the lower the cost to fix it.
- Finds More Defects – As QAs working on IV&V are not directly involved in the software’s development, they look at the software from an independent viewpoint. They will find more defects than a developer, who has preconceived expectations as to how the software will function and behave.
- Improved Software Quality – Through finding more defects and finding those defects earlier, the utilization of IV&V will greatly improve the quality of software released to your customer or end user.
- The utilization of IV&V helps build and maintain confidence amongst software users and stakeholders.
- IV&V provides for scalability and flexibility in your software development process, allowing you to tailor software QA to your specific requirements at any given time.
- Information and data from IV&V helps mitigate against potentially over optimistic updates from software development teams and contractors. Thus, potential delays and / or quality issues are brought to the attention of software project management much sooner and they are given a more accurate technical overview of the project’s status.
About the Author
Fergal is a Software QA Consultant, who has successfully completed a number of manual and automated software testing projects, on client, desktop, website and mobile applications.