What is Software Testing V-Model and V Model Diagram


Software Testing V-Model


As Clear from picture V-Model shows the relationships between each phase of Software Development Life Cycle(SDLC) and its associated testing phase. It’s also known as Verification and Validation model.it is a perfect way to perform testing approach. In SDLC, V-model testing should start from the beginning of the project and Development and Testing are go parallel. Verification phase is carried out Software Development Life Cycle(SDLC) and Validation phase is carried out Software Testing Life Cycle(STLC).

 Steps in V-Model Software Testing

Verification phase

  1. User Requirement: – Focuses on meeting the functionality specified in the requirements gathering. Before development is started, a plan system test is created like BRS (Business Requirement Specification) and SRS (System Requirement Specification). In this phase, product requirements are understood from the customer viewpoint. This is a very important activity and needs to be managed well, as most of the customers are not sure about what exactly they need. This phase is handled by Business users and Business analysts.

  2. Software Application: – Focuses on understanding and detailing the complete hardware and communication setup for the product under development. System test plan is developed based on this phase. Doing this at an earlier stage leaves more time for actual test execution later.

  3. High-Level Design: –The data transfer and communication between the internal modules and with the outside world (other systems) is clearly understood and defined in this stage. With this information, integration tests can be designed and documented during this stage. This is also known as an architectural phase.

  4. Low-Level Design: In this phase, the detailed internal design for all the system modules is specified, it’s also known as Module Design. Unit tests can be designed at this stage based on the internal module designs.

Coding Phase

The actual coding of the system modules designed in the design phase is taken up in the Coding phase. This is at the bottom of the V-model. Module design is converted into a code by developers.

Validation Phase

  1. Unit Testing: – This is performed by programmers on an individual program. The programmer will test the start-up, validate functions and create its own data on the database.

  2. Integration Testing: This is performed to test if individual programs can communicate with one another. Its aim is to test the strength of the overall system, rather than individual business functions, e.g. whether a user can log on and navigate from screen to screen successfully.

  3. System Testing: – This is performed by the IT project team to prove that the system works according to their understanding of the business requirements. It is a complete test of everything of the system produced by the project team to meet business requirements.

  4. Acceptance Testing:A level of the software testing process where a system is tested for acceptability. The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery.

Advantages of V Model

  • Easy and simple to use.

  • Many testing activities are performed in the beginning such as planning and design which saves lots of testing time.

  • Proactive defect tracking – that is defects are found at an early stage.

  • Avoids the downward flow of the defects.

  • Works well for small projects where requirements are easily understood.

Disadvantages of V Model

  • Guessing the error in the beginning of the project could take more time.

  • Less flexibility.

  • Software is developed during the implementation phase, so no early prototypes of the software are produced.

  • If any changes happen in midway, then the test documents along with requirement documents had to be updated.

When V Model should be followed

  • V-Model should be followed for a small project where requirements are clear and easy to understand at the beginning of development.

  • V-Model should be followed for the project where very less probability to make the changes in the middle of testing or development phase which are unplanned.


“Related post”

Software Development life cycle

Software Testing Life Cycle

Test Case Documentation

Alpha and Beta Testing

Regression Testing

Smoke and Sanity Testing

Software Testing

Validation and Verification


Entry and Exit Criteria in software testing

Integration Testing 

Automation Testing


Leave a Reply

Your email address will not be published. Required fields are marked *