Software test complexity and economy

zhaozj2021-02-08  481

Software test complexity and economy

(This article is reproduced from Software Engineering Expert Network

Www.21cmm.com)

People often think that developing a program is difficult and testing a program is relatively easy. This is actually misunderstood. The design test case is a fine and requires high techniques. It will take care of the rest of this, and there should be no omissions. Whether it is a black box test method or a white box test method, it is impossible for thorough testing due to the huge quantity of the test. The so-called thorough test is to let the quenching procedures performed all over all possible inputs. This test is also known as "exhaustion test". The "black box" method is exhausted input test, only use all possible inputs as a test case, in order to find all the errors in the program in this way. In fact, there is a number of infinity tests, but also do not only test all legal inputs, but also test those non-legal but possible inputs. "White Box" method is exhausted path test, and the independent path of through the program is an astronomical figure, but even if each path is tested, there may still be errors. First, the exhaustive path test must not detect the program violates the design specification, that is, the program itself is a wrong program. Second, the exhaustive path test is impossible to detect the procedure for missing paths. Third, the exhaustive path test may not find some errors related to data. E. W. A famous quote from Dijkstra made a good annotation of the test of the test: "Program test can only prove the existence of the error, but it cannot be proved that the error does not exist." In actual testing, the exhaustive test work is too large, and the practice is unlocked, which is destined to all actual tests are not thorough. Of course, it is not possible to ensure that there is no legacy error in the test program. The overall goal of software engineering is to make full use of limited human and material resources, high efficiency, high quality, complete testing. In order to reduce test costs, choose the principle of "economic" when choosing test cases. First, to determine its test level according to the importance of the procedure and once the failure will cause the loss; second, we must carefully study the test strategy so that you can use as few test cases as possible, and discovers as many program errors as possible. . Mastering the test amount is crucial, an experienced software development manager has said this when talking about software testing: "Insufficient testing is stupid, and excessive test is a sin." The insufficient test means that the user will undertake the danger of hidden mistakes, and excessive testing will waste many valuable resources. Test is a link that costs the cost in the software survival. In addition to the direct consumption of tests, the test fees also include other relevant fees. The main influencing factors that can determine how many tests need to do are as follows: 1. The difference in the purpose of the system's purpose system is largely influenced the number of tests required. Those systems that may have serious consequences must be more testing. A system on Boeing 757 should need more tests than a system for retrieving information in public libraries. A system for controlling a sealed gas pipeline should have higher credibility than a system-independent system that is not related to the toxic explosive. A security key software development group has more demanding errors than a game software development group. 2, the number of potential users of one system also has largely affected the degree of testing necessity. This is mainly due to the economic impact of user groups. A system that has thousands of users around the world must need more tests than a system that is running only in the office. If you can't use, the economic impact of the previous system is definitely larger than the latter system. In addition, the difference in the cost of the spending is also very large when the distribution is wrong. If a serious error is found in the internal system, the fee is relatively less when processing the error, and if you want to handle an error throughout the world, you need a considerable financial and energy. 3, the value of information is considering the value of the information contained in the system, one supports the economic value of the client / server system that supports many large banks or many stock exchanges. High content. Obviously this system needs more testing than a system that supports the shoe store. Users of these two systems want to get high quality, no error-free systems, but the previous system has much much more much.

转载请注明原文地址:https://www.9cbs.com/read-559.html

New Post(0)