A framework to describe the software development life cycle activities from requirements specification to maintenance.
The V-model illustrates how testing activities can be integrated into each phase of the software development life cycle.
V Model was inaugurated in order to avoid drawbacks in Waterfall model and its main focus on multiple stages of testing.
Multiple stages of Testing avoids defects multiplication.
Quality: Meeting Customer Requirements and expectations.
Meet Customer Requirements (Functionality)
Meet Customer Expectations (Performance, Usability, portability etc…)
Cost to purchase license
Time to release
Note: First two factors are Technical, last two factors are Non-Technical.
Quality Assurance (QA):
Defining, Monitoring and Optimizing the process is called Quality Assurance, it is part of Quality Management and It is Prevention oriented.
Quality Control (QC)
Checking the System (Final Outcome) with respect to Requirements is called Quality Control and it is Detection oriented.
Testing Quality work products (Documentation such as Test Plan, Test Cases Etc…) by performing Reviews and conducting meeting etc… and it is Static
Testing the Working Software based on its Requirements and it is Dynamic.
Description of V Model:
It is Verification & Validation model, known as V Model, in this model all development phases can be integrated with Testing phases.
It is considered to be an extension of the Waterfall model. This is because just like the waterfall model, it’s a well structured method in which the different phases progress in a sequential or linear way. That means each phase begins only after the completion of the previous phase.
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 as 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 Global design, Informal Review/ Walk through / Technical Review / Inspection like Verification methods will be applied on 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:
o Tester role will take place in the requirement phase it self
o Multiple stages of Testing available so that Defects multiplication can be reduced.
o Can be used for any type of requirements
o Due to Multiple stages of Testing and Multiple teams involvement Quality can be improved.
o The V Model Supports wide range of development methodologies such as Structured and Object oriented systems development.
o The V Model supports tailoring.
Disadvantages of V Model:
o It an expensive model than Waterfall model, needs lot of resources, budget and time.
o Co-ordination and Maintenance are difficult.
o Adoption of changes in Requirements and Adding New Requirements at middle of the process are difficult.
o It needs an established process for proper implementation.