For any software development work in software company Verification and Validation (V&V) is a very critical activity. No matter what development life cycle is chosen, reviews, testing and other V&V activities form an integral part. In spite of this fact, testing is normally perceived as a low end, unimportant, disposable activity and is considered as a support function. Experience has shown that when there is insufficient, ineffective V&V and testing of software, organizations are exposed to high risks due to software failures leading to loss of credibility and business.
Let us understand Verification and Validation by definition:
It is the process of evaluating, reviewing, inspecting and doing desk checks of work products such as requirement specifications, design specifications and code”. It is basically checking the documents.
It is defined as the process of evaluating a system or component during or at the end of development process to determine whether it satisfies the specified requirements. It involves executing the actual software. It is a computer based testing process. Some times also performed by third party testing companies.
V & V process model:
In this process model development and testing goes hand in hand. Verification involves evaluating software during each life cycle phase to ensure that it meets its requirements. Validation is executing the software to make sure it is working as intended. It ensures the functionality of the software as defined in requirements. V&V group is responsible for verifying that the product at each life cycle phase satisfies quality attributes.
Following areas are addressed by this model:
- Requirement analysis
- Design analysis
- Code Analysis
- 100% coverage for branch and statement
- SRS requirements coverage
- Ensures quality
- Ensures the safety of software
How V & V improves quality:
V & V team associate with development team to build quality into the product right from the beginning of the software development process. V&V Group participates in the reviews of specifications, design, code and testing to assure quality is built-in. While developers develop the software, V & V prepares the test plans and test suite. V & V team will take up actual Test Execution and provides the test results and defect analysis. V & V team can start participating in the project from any phase of the life cycle depending on the project and its needs.
Advantages of V & V:
- Testers role will take place in requirements phase itself.
- Changes could be made at any phase after process has started.
- Development and testing goes hand in hand.
- Any mistake happened no need to start process again.
- Bugs could be found at early stages hence less expensive to fix.
Disadvantages of V & V:
- Lots of resources and money required for this process.
- If any changes happen in the mid way not only requirements documents need to be updated but test documents also need to be updated.
Even with these disadvantages it is most favored software development process by the software testing companies, as it is simple and easy to use.