当前位置:网站首页>[software testing] 04 -- software testing and software development

[software testing] 04 -- software testing and software development

2022-07-05 07:06:00 Derived planet

Software testing and software development

   Software development and software testing are very important components of software projects , Software development is the production of software products , Software testing is to check whether the software product is qualified , Close cooperation between the two can ensure the quality of software products .

  1. The relationship between software testing and software development

   Problems in software are not necessarily caused by coding , Software will go through problem definition before coding 、 Demand analysis 、 Software design and other stages , Problems in the software may also be caused by the early stage , If the demand is not clear 、 There are mistakes in software design , Therefore, it is very necessary to test in each stage of the software project . Testers have been involved since the beginning of software project planning , Understand the whole process of the project , Find problems in the software in time , Improve the quality of software . The role of software testing in each phase of the project is as follows .

  (1) Project planning stage : Responsible for monitoring the whole test stage from unit test to system test .

  (2) Demand analysis stage : Determine test requirements analysis , That is, determine what needs to be tested in the project , At the same time, make the system test plan .

  (3) Outline design and detailed design stage : Make unit test plan and integration test plan .

  (4) Encoding phase : Develop corresponding test code and test script .

  (5) Testing phase : Implement the test and submit the corresponding test report .

   Software testing runs through the whole process of a software project , But its implementation process is different from software development . Software development is top-down 、 The process of gradual refinement , The software planning phase defines the software scope , The software information domain is established in the software requirements analysis stage 、 Functional and performance requirements, etc , The programming language is selected in the software design stage 、 Design module interface, etc ; Software testing is the opposite of the software development process , It is bottom-up 、 The process of gradual integration , First unit test , Eliminate defects in the internal logic and function of the module , Then the modules are integrated and tested according to the software design requirements , Detect errors in subsystem or system structure , Finally, run the complete system , Conduct system test , Verify that it meets the software requirements .

   The relationship between software testing and software development can be illustrated 1 Express , Among them b Figure a The refined .

 chart 1

  2. Common software testing models

   In the process of software development , People have summed up many software development models based on experience and lessons and combined with the development trend of future software , Like the waterfall model 、 Rapid prototyping model 、 Iterative model, etc , These models have a good guiding role for the software development process , Unfortunately, they do not pay enough attention to software testing , Using these models can not better guide software testing . Software testing is a series of planned activities closely related to software development , Is an important means to ensure the quality of software , Therefore, many software testing models have been designed to guide the testing work .

   The software testing model takes into account the software development process , Software development and testing are well integrated , It clarifies the relationship between software development and testing , It also makes the testing process interact with the development process , It is an important reference for testing .

   Software testing model has a guiding role for testing , It has a great impact on the test effect and quality , Many testing experts continue to improve and innovate in practice , Created many practical software testing models . Here are some important software testing models .

  ①V Model

  V The model was made by Paul · Luke (Paul Rook) stay 20 century 80 Proposed in the S , It is one of the most representative software testing models .V The model is a variation of the waterfall model , Added testing work in the second half of the waterfall model , Pictured 2 Shown .

 Insert picture description here

  V The model describes the basic development process and test behavior , It mainly reflects the relationship between test activity analysis and design . It clearly shows the different levels involved in the testing process , And the relationship between each stage of testing and each stage of development .V The left side of the model is from top to bottom 、 Gradually refine the development process , On the right is from bottom to top 、 The process of gradual integration , This also conforms to the relationship between software development and software testing .

  V The model uses the idea of waterfall model to divide the complex testing work into small stages with clear goals , There are stages 、 Order and dependence , It includes both low-level testing of the source code , It also includes high-level testing of software requirements . however V The model also has some limitations , It can only be tested after coding , Early requirements analysis and other preliminary work are not covered , Therefore, it cannot find early errors such as requirements analysis , This is for later system testing 、 The acceptance test buried hidden dangers .

  ②W Model

  W The model is made by V The model evolved from , It emphasizes that testing should accompany the whole software life cycle . Actually W The model is a double V Model , Software development is a V Model , Software testing is another process that goes hand in hand with development V Model , Pictured 3 Shown .

 Insert picture description here

  W The test scope of the model includes not only the program , It also includes requirements analysis 、 Software design and other preliminary work , This is conducive to the early and comprehensive discovery of problems . however W The model has its own limitations , It divides the software development process into requirements 、 Design 、 code 、 Integration and a series of serial activities , Cannot support iteration 、 Items requiring change and adjustment, such as spontaneity .

  ③H Model

   In order to solve V Model and W The problem with the model , Some experts put forward H Model ,H The model completely separates the testing activities , Form a completely independent process , This process clearly reflects the test preparation activities and test execution activities . The test process and other workflows are executed concurrently , As long as the conditions of a workflow are ripe, you can start testing . For example, complete a test on the outline design workflow , The process is shown in the figure 4 Shown .

 Insert picture description here

   chart 4 It just reflects a test at the outline design level in the software life cycle “ Microcirculation ”. stay H In the model , There is no strict order relationship between test levels , The testing work in each stage of the software life cycle can be triggered repeatedly 、 iteration , That is, different tests can be carried out repeatedly . In the actual test work ,H The model does not have much guiding significance , The reader's focus is to understand the design significance .

  ④X Model

  X The design principle of the model is to divide the program into multiple segments and test repeatedly , Then integrate multiple fragments and perform iterative testing , Pictured 5 Shown .

 Insert picture description here

  X The left side of the model describes the separate coding and testing for individual program segments , Frequent handover of multiple program segments , stay X The upper right part of the model , Integrate multiple fragments into an executable program for testing . Products that pass integration testing can be integrated on a larger scale , It can also be encapsulated and submitted to the customer .

   stay X Exploratory tests are also located in the lower right part of the model , It can help experienced testers find more software errors beyond the test plan , But the requirements for testers will be higher .

   The above introduces 4 A software testing model , In the actual test work , Testers are more integrated W Model and H The model works , The test content of all aspects of the software is based on W The model shall prevail , And the test cycle 、 The test plan and schedule are based on H Model as a guide .X The model is more of a final test 、 Template for proficiency testing , For example, a business test has 2 Year time , You can use X The model is modularized 、 Exploratory orientation test .

原网站

版权声明
本文为[Derived planet]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/186/202207050639187218.html