V Model : Advantages, Disadvantages And When To Use
V Model :
V model is also called as verification and validation model.
In the V model, the development and QA activities are done simultaneously.
- Verification : Verification checks whether we are building the right product. It is a static analysis technique. In this technique, testing is done without executing the code. It focus on documentation. Examples – Reviews, Inspection, and walkthroughs.
- Validation : Validation checks whether we are building the product right. It is a dynamic analysis technique. In this technique, testing is done by executing the code. It focus on software. Examples - Unit testing, Integration testing, System testing and User acceptance tesing.
V-Model contains Verification phases on one side and the Validation phases on the other side. Verification and Validation phases are joined by coding phase in V-shape. Thus it is called V-Model.
- Requirement analysis : In this phase, the requirements are collected, analyzed, and studied.
- System designs/High-Level designs : In this phase, the high-level design of the software is built. This phase contains the system design and the complete hardware and communication setup for developing product.
- Architectural design : In this phase, based on the high-level design, software architecture is created. The modules, their relationships, dependencies, architectural diagrams, database tables, and technical details are all finalized in this phase.
- Module design/Low-level Design : In this phase, each and every module of the software components are designed individually.
- Coding : After designing, the coding phase is started. In this phase the actual coding is done.
- Unit Testing : In this phase, all the unit test cases, created in the Low-level design phase are executed.
- Integration Testing : In this phase, the integration test cases are executed which were created in the architectural design phase. In case of any anomalies, defects are logged and tracked.
- System Testing : In this phase all the system test cases, functional test cases, and non-functional test cases are executed.
- User Acceptance Testing : Acceptance testing is basically related to business requirements testing. Here testing is done to validate that the business requirements are met in the user environment.
The folllowing points explain the use of V model:
- When the requirements are well defined and not ambiguous.
- When the project is short to medium in size.
- When the technology and tools used are not dynamic.
These are some advantages of V model:
- Development and progress is very organized and systematic.
- Simple and easy to understand and use.
- This is a highly disciplined model and Phases are completed one at a time.
- It is used for small projects where project requirements are clear.
Disadvantages of V Model:
These are some disadvantages of V model:
- Not suitable for bigger and complex projects.
- No working software is produced in the intermediate stage..
- Not suitable if the requirements are not consistent..
- If any changes happen in the midway, then the test documents along with the required documents, has to be updated..