As we have seen how the Waterfall development model works and also seen its advantages and disadvantages. Questions raised by the industry towards Waterfall model gave birth to this new model called as V model. In the waterfall model, the testing comes at the end of the project which is quite not accepted by the industry. This is why V model came into the picture. As per the basic concept of the V model, testing should start with the requirement phase. This extraordinary feature gave value to this model.
In the V model, we start testing from requirement phase and every respective step of development have its own testing phase. One side of V act as verification and another side of V acts as a validation. You will get the concept in detail from the below image.
Following are the important phases in the V model
At this stage, we get a detail business requirement from the client. Requirement received during this stage could act as input for designing a business acceptance test.
By considering requirement as input from the previous stage, in this stage, we design a complete system and try to understand our software and hardware requirement. Usually Test Plan design in this phase.
At this stage, teams are busy with understanding and designing of System Architecture. The team may come up with more than approach, but the final approach decided on financial and technical capabilities. After deciding the final approach, a product is divided into the small module. It is also called HLD (High-Level Design). Interaction and data transfer between these models are defined in the same stage. Integration test designing and documentation did at this stage.
Module development stage also called as LLD (Low-Level Designing). At this stage, we design details system module and write logic between modules. Designing of Class diagram with methods and their relation come under this level. Module test cases are written in this phase called Unit test cases.
In this phase, we start developing code and modules based on the design developed in System Architecture and Module Development Stage. IN System development, we have already decided the programming code will be used in development. All the standard and coding guidelines are followed, to verify it walkthrough and reviews are performed on the developed code in this phase.
A unit test designed in the Module Development phase is taken in use for Unit testing. Unit testing helps to identify the bugs at the very initial stage of development, but it doesn’t mean that all the defects are identified in this phase.
This stage is associated with Architecture designing stage. A test designed in Architecture Designing stage executed in this phase. It talks more about the interaction and data transfer between different modules.
This testing is directly associated with the System development phase. In this testing, we check the entire system and its functionality with other systems. Checking the compatibility of our developed system with other software and hardware is the main objective.
Acceptance Testing, as the name, signifies it is directly associated with the business requirement phase of the V model. Business acceptance testing usually performed by the business team in the client’s environment. It makes further classified in two testings called Alpha Testing and Beta Testing, we will talk about these two types of Acceptance testing in the different article.