Software testing models: V model, W model, H model
V model
The V model is a modification of the waterfall model and marks the different stages in the testing process.
Requirements analysis→Outline design→Detailed design→Coding→Unit testing→Integration testing→System testing→Acceptance testing
Advantages of the V model: There are both low-level tests and high-level tests, and the development stages are clear and easy to control the development process.
Disadvantages of the V model: It is easy to misunderstand that testing is a stage after development is completed; it is difficult to find the root cause of bugs discovered during testing, and it is difficult to modify the code; if the requirements change significantly, the amount of rework will be large.
W model
It clearly shows the parallel relationship between testing and development, and testing accompanies the entire software development cycle (including requirements and design).
User needs→Requirements analysis→Outline design→Detailed design→Coding→Integration→Implementation→Delivery
User requirements analysis & acceptance test design → Requirements document verification & validation and system test design → Summary design document verification & integration test design → Detailed design document verification & unit test design → Unit test → Integration test → Confirmation test system test → Acceptance test
Advantages of the W model: testing runs throughout the entire project cycle, early intervention and early detection of problems, and test development is relatively independent and parallel.
Disadvantages of the W model: it cannot support iterative development models (linear); some projects have no documented output, so the W model cannot be used; it has high technical requirements for testing requirements and designs, and is difficult to practice.
H model
Make the testing activities completely independent and form an independent process to clearly reflect the testing activities and test execution activities.
Test preparation→Test readiness point→Test execution
Advantages of the H model: Testing is completely independent, runs through the entire life cycle, and is conducted concurrently with other processes; it can be prepared as early as possible and executed flexibly
Disadvantages of the H model: difficult to analyze test readiness points; high requirements on personnel.