It is a variant of the waterfall model. It mainly emphasizes verification and validation. The verification and validation activities are spread over the entire life cycle. In each phase, testing activities are planned in parallel with development. The diagrammatic representation of the V model looks like a V, and that is why it is called a V model.
Strength of V Model
- Starting from the early stages of software development -: Emphasizes planning for verification and validation of the software.
- Each deliverable is made testable.
- Easy to use.
Weakness of V Model
- It does not support the overlapping of phases.
- It does not handle iterations or phases.
- It does not easily accommodate later changes to requirements.
- It does not provide support for effective risk handling.
When to use the V model
- The natural choice for systems requiring high reliability -: Embedded control application, Safety-critical software.
- All requirements are known up-front.
- Solution and technology are known.
A detailed description of the V Model
The V model is a variant of the waterfall model except for a small derivative. The v model emphasizes the verification and validation activities throughout the lifecycle. We had seen that in the waterfall model, the testing activity is done only at the end. Initially, there is requirements specification, then there is design and coding, but the testing activities are only at the end, which is why the testing activities take a long time. And the other problem is that what do the testers do till the testing phase starts?
The V model answers that (what the tester will do till testing has not yet started). It emphasizes verification and validation, and this model is used where the software is supposed to be more reliable.
For example, in The software being used in critical applications, the V model is used. In every phase of development, there are some test activities, for example:
- During the requirement specification, the system test cases are developed, which are executed during system testing.
- During the high-level design phase, the integration test cases are developed.
- During the detailed design phase, the unit test cases are developed, used during the unit testing after the module is complete.
- As you can see here, there are verification and validation activities in every phase, unlike the waterfall model, where the test activities occurred only during integration and system testing.
The strength of this model is that it emphasizes verification and validation. It’s very similar to the waterfall model, except that every phase has some verification and validation activities.
These are some of the problems of the V model, but then it is the natural choice for systems requiring high reliability, and it is used when all requirements are known upfront and the technology is known.
Reference
- Fundamentals of Software Engineering Book & NPTEL Video Lectures by Rajib Mall.
1,112 total views, 1 views today