V model and W model are two of the most important models that are followed in the process of software testing. V Model, also known as Verification and Validation Model, is similar to waterfall model that follows a sequential path of execution of processes. Waterfall model is a linear sequential design approach in which the progress flows in one direction.
On the other hand, W model is a sequential approach to test a product and can be done only once the development of the product is complete with no modifications required to be done in between.
This type of testing is most suitable for short-term projects as medical applications.
There are a number of other ways in which the two models are different from each other. Read on to know and understand the difference between the two models in detail.
Devised by the late Paul Rook in 1980s, V-model was developed with an aim to improve the efficiency and effectiveness of software development. The model was accepted both in Europe and Asia as an alternative to waterfall model.
V-model is a step-by-step process in which the next phase begins only after the completion of the present phase. The steps in this process do not move in a linear way. Instead, the steps in this process are bent upwards. When this model is compared with the waterfall model, there are larger chances of emphasizing on products testing.
If this model is used to test a product, there is an assurance that the final product developed will be of high quality.
Phases of V-Model
The phases of V-model includes verification, coding, and validation that are further divided into different stages.
1) Verification phase:
The verification phase of V-model includes business requirement analysis, system design, architectural design, and module design.
- Business requirement analysis is the stage of having a detailed communication with the customer so that it gets easier to understand and comprehend his/her exact requirements. It is beneficial to complete acceptance test design planning at this stage.
- System design stage involves understanding and detailing out the entire hardware and communication setup for the product being developed. System test design can also be planned at this stage.
- Architectural design stage involves understanding the technical and financial feasibility of the product before it is actually developed. The focus is to understand the data transfer that will take place between internal and external modules.
- Module design stage focuses on designing a detailed plan for the internal modules of the system. Also known as low-level design (LLD), it is important to ensure that the design is compatible with other modules in system architecture and other external systems.
2) Coding Phase:
During this phase, the actual coding of the system modules is taken up. On the basis of system and architectural requirements of the program, the best suitable programming language is selected using which the coding is done at par with the coding guidelines and standards. The code is then reviewed and optimized to ensure the delivery of best performing product.
3) Validation phase:
During this phase, the product undergoes various forms of testing.
- Unit testing is conducted at an early stage so that the bugs are eliminated at the starting stages of product development.
- Integration testing is done to check whether there is a valid and proper communication within the internal modules of the system.
- System testing enables the testing of the entire system and to ensure if the internal modules communicate effectively with the external systems.
- Acceptance testing is done to test a product in the user’s environment and to check if it’s compatible with the other systems available in the environment.
Advantages and Disadvantages of V model
Advantages of the V model
- Simple and easy
- East to track
- Testing starts from requirement phase itself
- All the Functional Areas can be covered
- Instructions and recommendations included
- Detailed explanations of problems
- Defects can be found at an early stage
- Works well for small projects
Disadvantages of the V model
- Not flexible
- Regular updates required if changes in the project are required
- Can’t be used in complex projects
- No scope for risk management and mitigation
- One the project is over its end
When to use the V model?
- Mostly used in the smaller level project with budget constraints
- Can be used when the testing time is less
- When you have enough senior and experienced testers
- Optimum for projects which will not have any changes in between the project
Introduced by Paul Herzlich, W-model signifies the one-to-one relationship that exists between the documents and test activities.
Using this model helps in ensuring that the testing of the product begins from the very first day of the product’s development.
This model is known to deal with the problems that could not be resolved using V-model.
Phases of W-Model
Using W-model helps in ensuring that each phase of the product development is verified and validated. W-model can be divided into a number of stages that includes:
- Building test plan and test strategy to ensure that the product delivered is tested rigorously before delivery.
- Identifying the scenario for the product.
- Preparing the test cases using specification and design documents.
- Reviewing the test cases and sharing an update on the basis of review comments.
- The product is then sent for testing using various testing methodologies such as unit testing, integration testing and specification-based testing, etc.
- Once the product is tested rigorously, it, then, undergoes regression test cycles and user acceptance testing.
Know More: 11 Differences between verification and validation in Software Testing
Advantages and Disadvantages of V model
Advantages of the W model
- Testing can run in parallel with development process
- No division between constructive and destructive tasks
- Often Developer is responsible for removing defects
Disadvantages of the W model
- Complex to implement
- Resource allocation might not be sufficient in most of the cases
- Testing have equal weightage as many activities in the development process
When to use the W model?
- When there are much more activities to do
- Performed when the V model is not enough
- Can be implemented Technical design, architecture and functionality comes to the picture
While it is true that the V model is an effective way to test and reveal results for dynamic test cycles, W models are more effective and help one get a broader view of testing.
The connection that exists between various stages of testing is much clear with W Model.
One must choose wisely as the game is not about choosing a v model and w model but delivering an optimum quality product.