The V–model is an SDLC model where execution of processes happens in a sequential manner in a V-shape. It is also known as Verification and Validation model. The V-Model is an extension of the waterfall model and is based on the association of a testing phase for each corresponding development stage.
V Model was inaugurated in order to avoid drawbacks in Waterfall model and its main focus on multiple stages of testing.
In the context of testing, “Verification and Validation” are very widely and commonly used terms. Most of the times, we consider the terms same, but actually, the terms are quite different.
- Validation: Are we building the right system?
- Verification: Are we building the system right?
In brief, Verification is a process of evaluating the intermediary work products of a software development lifecycle to check if we are on the right track of creating the final product and Validation is the process of evaluating the final product to check whether the software meets the business needs.
Development Phases Integration with Testing Phases
a) User Requirements Vs Acceptance Testing
Business Analyst category people gather requirements and the document the requirements, after documentation Reviews, Meetings like verifications will take place in order get correct & Complete Requirements.
End Uses derive Acceptance Test cases from User Requirements.
b) Software Requirements Vs System Testing
Development Manager/Tech Manager converts User Requirements to Software Requirements and Reviews, Meetings like verification methods will be performed on Software Requirements after Verification Project manager provides Approval.
Independent testers generate test cases from Software Requirements in order to perform System Testing
c) Global Design Vs Integration Testing
System Architect / senior developer creates a Global design, Informal Review/ Walkthrough / Technical Review / Inspection like Verification methods will be applied to Design documents.
Developers perform Integration Testing based on Software Global Design.
d) Detailed Design Vs Unit / Component Testing
Developers perform Unit /Component Testing based on Software Detailed Design.
Advantages of V-model:
- Simple and easy to use.
- Testing activities like planning, test designing happens well before coding. This saves a lot of time. Hence higher chance of success over the waterfall model.
- Proactive defect tracking – that is defects are found at an early stage.
- Avoids the downward flow of the defects.
- Works well for small projects where requirements are easily understood.
Disadvantages of V-model:
- Very rigid and least flexible.
- The software is developed during the implementation phase, so no early prototypes of the software are produced.
- If any changes happen in midway, then the test documents along with requirement documents have to be updated.
When to use the V-model:
- The V-shaped model should be used for small to medium-sized projects where requirements are clearly defined and fixed.
- The V-Shaped model should be chosen when ample technical resources are available with needed technical expertise.