V Model (Verification and Validation Model)
- V model stands for verification and validation model.
- V model is that model in which development and testing stages are mapped parallel.
- In the V model, if one stage gets completed and the second phase is running and changes occurred in 1st phase then we can revert back to the 1st phase by paying some amount.
- This can be used in medium size projects where the project duration is 3-4 months. But when we use the V model, the Testing is done in parallel with the Development phase.
- V model is an extension of the waterfall model with testing involved in each phase.
- So as soon as the project development starts, testing also starts.
- The left-hand side will be similar to the Waterfall model and the right-hand side testing associated.
- In the V-Model software development life cycle different steps are followed however here we will take a most common type of V-model example. The V-model typically consists of the following phases:
1. Unit Testing: Preparation of Unit Test Cases
2. Integration Testing: Preparation of Integration Test Cases
3. System Testing: Preparation of System test cases
4. Acceptance Testing: Preparation of Acceptance Test Cases
1. Information Gathering and analysis-
a. Assessment of the development phase
- In this phase, the strategy makes for testing
- Planning is done for which methodology for tests like automation or manual testing is going to use.
- Test Responsibility Matrix(TRM) is get finalized
b. Test Plan preparation
- Lead or PM implement TRM
- PM prepares test team
- PM/Lead distribute task or work to all team members
- In planning – estimations and resource planning are done. Estimation like which resource will work and till when that resources need to work on one requirement is estimation
c. Requirement of phase testing-
- Phase means unit
- In this part, estimated requirements for phases are finalized.
- Example: Paytm continuously introduce new modules like donations. So these are new products so these requirements got estimated.
2. Design and Coding
a. Program phase and design phase testing
- Phase means code testing
- This starts from a small unit of the program
- Developer involved in it
- This is like white-box testing
b. Design Test Case
- Test case design goes in two parts.
- One part is +ve testing and the second is -ve testing
- They decide the scenario of testing and according to that they will write a test case and execute the test case.
- Testers are involved in it.
- Here mostly black box testing is involved.
- From SRS document testers decide on test scenarios and test cases.
3. Integration (Build installation)
a. System and functionality testing
- After sanity testing, this testing happens.
- The black box tester is responsible for it.
- Here all the functionality checked as per SRS
- Testing was done with +ve and -ve testing.
- Small defects to large defects get documented
b. User Acceptance Testing [UAT]
- After removing defects in the system and functionality, the product now moves to UAT.
- In functionality, the testing product gets validated
- In UAT product is deployed on the UAT server or we can say on the staging server where the client can review the requirement.
- The tester and client/user are both involved in testing
- When the user validates it as correct then only the product sends to the production server.
C. Test Documentation
- Test documentation is a report of testing.
- Once the testing is completed then the tester makes a document for testing i.e. report also we can say.
- The tester sends this document to the team leader or sometimes to complete the team.
- The team leader sends this document to PM and PM sends it to the customer.
- This Document Includes:
Name of Module
1. Defect Removal Efficiency
- We have 4 phases of the testing environment.
- In DRE we get to know at which level the tester did the testing
- There are 2 phases of DRE-
A-Defect found by tester
B-Defect found during UAT
- When the tester found bugs then some bugs can be canceled/rejected so only solved bugs get into consideration.
Suppose There are 100 bugs and only 90 bugs get solved then 10 bugs get canceled/rejected.
In UAT, the customer found 10 bugs.
Now DRE Formula,
DRE = A / (A+B)
= 90 / 90+10
DRE (Defect Removal Efficiency)
0.8 to 1
0.5 to 0.8
5. Request for change
- If the customer wants some changes in his product at release time then we can say it’s a change or improvement or enhancement.
- The changes are marked in SRS with RED color and mentioned as change request “CR”
- Customers need to pay an extra amount for this.
6. Regression testing
- Testing of the complete functionality of an application is regression testing.
- Here we do the basic functionality check.
- Testers performed the regression testing.
- We have 4 environments/servers so we do regression once the code moves from 1 server to other to make sure everything works well.
7. Post Mortem Testing
- It’s the work of a white box tester.
- When the whole testing is done and the product is ready for production and if the product does not produce desired output then the white box tester should check all the modules in detail.
- Example: Suppose we order something from an online site and then we get an order ID but some problems happen like we get an order id but the order fails. If there is a problem in the system then the tester has to test all the functionality again.
Advantages and Disadvantages of V Model
Advantages of V Model:
- Requirements changes can be easily handled
- The cost of rework after fixing a bug is greatly reduced because testing activity starts simultaneously
- Easy to Understand.
- Phases do not overlap
Disadvantages of V Model :
- A testing team is needed initially so the company needs more resources
- If any changes happen midway, then the test documents along with the required documents have to be updated.
When to use V Model :
- The V-shaped model should be used for small to medium-sized projects