From: http://www.51testing.com /? Uid-128935-action-viewspace-itemid-129203
Content is not original, just for convenienceLearningAnd memory. Summary:
1. V model
In the softwareTestThe V model is the most widely known model. Although many experienced testers are not familiar with the V modelOthers. The V model has existed for a long time and has some common characteristics with the waterfall development model, which has been criticized and questioned like the waterfall model. The procedure in the V model describes the basic development process and test behavior from left to right. The value of the V model is that it clearly identifies different levels in the test process and clearly describes the mappings between these test phases and various stages during the development process. Limitation: the test is used as the final activity after encoding, and errors generated in the early stage such as requirement analysis can not be found until the later acceptance test.
2. W Model
The limitation of the V model is that it does not clearly describe the early tests and does not reflect the early and continuousSoftware Testing. In the V model, various software development stages should be added for simultaneous testing and evolved into W model (for example ). It is not hard to see in the model that development is "V" and testing is "V" in parallel ". Based on the principle of "early and continuous software testing", testing activities at the software needs and design stage should follow the principles of IEEE1012-1998 software verification and validation (V & V.
The W model was proposed by evolutif. Compared with the V model, the W model is more scientific. W model is the development of V model, emphasizing that testing is accompanied by the entire software development cycle, and the testing object is not onlyProgramThe requirements, functions, and designs must also be tested. Testing and development are carried out synchronously, which helps to detect problems as soon as possible.
W models also have limitations. Both W model and V model regard software development as a series of serial activities such as requirement, design, and coding, and cannot support iteration, spontaneous, and change adjustment.
3. x Model
The X model is also an improvement to the V model. The X model proposes to separate code and test individual program fragments. After that, through frequent handover, it is integrated into executable programs.
The left side of the X model describes the code and tests for separate program segments. After that, the code is frequently handed over and integrated into executable programs, then test these executable programs. Finished Products that have passed the integration test can be encapsulated and submitted to users. They can also be part of larger scale and in-Range Integration. Multiple Parallel curves indicate that changes can take place in each part. As shown in the figure, the X model also positions exploratory testing, which is a special type of testing that is not planned in advance, this approach often helps experienced testers discover more software errors outside of the test plan. However, this may result in a waste of manpower, material resources, and financial resources for testing, and a high requirement on tester proficiency.
4. h Model
In the H model, the activities of the software testing process are completely independent throughout the entire product cycle.OthersThe process is carried out concurrently. When a test point is ready, it can be carried out from the test preparation stage to the test execution stage. Software testing can be performed as early as possible, and can be performed at different levels based on the tested objects.
This demonstrates a test of "microcirculation" at a certain level throughout the production cycle ". Other processes marked in the figure can be any development process, such as the design process or encoding process. That is to say, as long as the test conditions are mature and the test preparation activities are completed, the test execution activities can be carried out.
The H model reveals the principle that software testing is an independent process that runs throughout the entire lifecycle of the product and is executed concurrently with other processes. The H model indicates that software testing should be prepared and executed as soon as possible. Different test activities can be carried out in a certain order, but they may also be repeated. As long as a test reaches the readiness point, the test execution activities can be carried out.