V – Model
• The V model defines how testing will be performed throughout the lifecycle of the project.
• The V model explicitly suggests that testing (quality assurance) should be considered early on in the life of a project.
• Testing and fixing can be done at any stage in the lifecycle.
• However, the cost of finding and fixing faults increases dramatically as development progresses.
• The testing procedures are developed early in the life cycle before any coding is done, during each of the phases preceding implementation.
• Before development is started, a system test plan is created. The test plan focuses on meeting the functionality specified in the requirements gathering.
• The low-level design phase is where the actual software components are designed, and unit tests are created in this phase as well.
• The high-level design phase focuses on system architecture and design. An integration test plan is created in this phase as well in order to test the pieces of the software systems ability to work together.
• The implementation phase is, again, where all coding takes place. Once coding is complete, the path of execution continues up the right side of the V where the test plans developed earlier are now put to use.
V – Model
• Simple and easy to use.
• Each phase has specific deliverables.
• Higher chance of success over the waterfall model due to the development of test plans early on during the life cycle.
• Works well for small projects where requirements are easily understood.
• Very rigid, like the waterfall model.
• Little flexibility and adjusting scope is difficult and expensive.
• Software is developed during the implementation phase, so no early prototypes of the software are produced.
• Model doesn’t provide a clear path for problems found during testing phases.