In software development the V-model represents a development process that may be considered an extension of the waterfall model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape. The V-Model demonstrates the relationships between each phase of the development life cycle and its associated phase of testing. The horizontal and vertical axes represents time or project completeness (left-to-right) and level of abstraction (coarsest-grain abstraction uppermost), respectively.
It is also known as Verification and Validation model. In this model testing is involved from requirement stage itself.
The V-Shaped life cycle is a sequential path of execution of processes. Each phase must be completed before the next phase begins. V-Model is one of the many software development models.
Testing of the product is planned in parallel with a corresponding phase of development in V-model.
Different phases of V model Software Development Cycle
Requirement Gathering stage - Gather as much information as possible about the details & specifications of the desired software from the client. This is nothing but the Requirements gathering stage.
Design Stage - Plan the programming language like Java, PHP, .net; database like Oracle, MySQL, etc. Which would be suited for the project, also some high-level functions & architecture.
Build Stage - After the design stage, it is build stage, that is nothing but actually code the software.
Test Stage - Next, you test the software to verify that it is built as per the specifications are given by the client.
Deployment stage - Deploy the application in the respective environment.
Maintenance stage - Once your system is ready to use, you may require to change the code later on as per customer request.
V Model Advantages:
Failure is identified and multiplication of failure is stopped.
The downward flow of defect can be prevented.
High Quality product can be obtained.
Risk Management is pretty easy.
Simple and easy to use. Rework is less.
Verification & Validation happens in each and every stage.
The testing team is being involved from the initial stage of work. Testing activities like planning, test designing happens well before coding. This saves a lot of time. Hence higher chance of success.
The Customer gets the product delivery pretty fast.
V Model Disadvantages:
Very rigid and least flexible.
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 has to be updated.