Explain the V-Model.
V-Model methodology involves development and testing with similar information in hand at the same time. The V shows the development phases on the left hand side and the testing phase on the right hand side.
The development team follows the Do Procedure for achieving the goals of the enterprise; where as the testing team follows the Check Procedure for verification.
As seen the diagram above, left arm of the V model is traditional waterfall model and the right arm is for corresponding testing phases. Each verification activity has its corresponding validation activity.
It describes how the test approach is developed so that it can be executed in parallel with the designing and development/build phases. Testing phase as per the v-model starts as soon as the SRS is available from the design phase.
Activities running in parallel:a.
Design: Determine business requirements
Testing: Review requirements, Analyse test requirements
b.
Design: Determine system requirements
Testing: Review solution, Develop Master Test Plan
c.
Design: Design solution
Testing: Develop Detailed Test Plan/s
d.
Design: Design component solution
Build: Buy / build components
Testing: Test components
e.
Build: Integrate components
Testing: Test integration of components
f.
Build: Install system
Testing: Test against system requirements
g.
Build: Accept system
Testing: Test against business requirements
The major purpose of Acceptance Testing is to validate/confirm that system meets business requirements and provides confidence before it is delivered to the end user. Once the entire system has been developed, then it has to be tested against the System Specification to validate if it delivers the features required. In short, System testing is not about checking the individual parts of the design, but about checking the system as a whole. System testing can involve a number of specialist types of test to see if all the functional and non-functional requirements have been met. Integration testing tests high level design (components and their interfaces) while Unit testing tests love level design, implemented in the form of code.