5th back to the reality of software testing

Source: Internet
Author: User

Testing is always a risky task. For example, more and more tests are defined using the "risk" concept.

 

"Understanding and evaluating the process of interest and risk situations related to the released software system", the role of testing is to manage or transfer the risk of system failure, and how to eliminate the adverse effects to users to the greatest extent.

Why are there always risks in testing? Because when we test an application system or a software product, we cannot test all possible situations. For example, for a calculator program, the number to be tested can start from 0 to a large number, even if the 8-digit number (99999999 ), only test the addition operation is possible in the case of 1016. to complete these tests, even if 0.1 million test cases are completed per second through a computer, one tester cannot complete the test in his whole life, it takes more than 3100 years. If negative numbers, subtraction, multiplication, division, Parentheses, and their combinations are added, all possible conditions would be a huge astronomical number, therefore, It is unimaginable to complete all possible tasks.

Therefore, we must use some test case design methods, such as the Boundary Value Analysis Method and equivalence classification method, to solve this problem, and select sample data, use extremely limited and representative test data to replace actual and huge test data. The application of these methods is based on the assumption that if the program runs correctly under the sample data, the program also satisfies all similar data. The existence of such assumptions means that certain risks exist. For simple programs, this risk is very small, but for more and more complex applications or software systems, this risk is growing.

Even if all the functions are tested, it is difficult to complete testing in all user environments. The testing environment is limited, and the actual operating environment of the software system is complex and ever-changing. It not only has different hardware (such as the main board, CPU, memory, Nic, and display card) model differences, as well as differences in the operating system and its versions, drivers and their versions, installed applications, and so on. It is almost impossible to complete software testing in a variety of user environments. Even if it can be achieved, the cost is huge. Generally, software enterprises are overwhelmed. Similarly, system performance testing, effectiveness testing, and reliability testing pose great risks. For example, the reliability test is implemented through a simulated method and cannot be performed in a completely real situation. For example, it is impossible to perform continuous tests on the real system for 10 or 20 years.

In addition to the existing risks, the testing work will also face various challenges, including:

L testing cannot improve the quality, but after software products are released, there are many defects, which are often considered as a tester's fault. In the eyes of many people, testers are shield or last wall to prevent defects. In fact, all Software defects are injected in demand analysis, design, and programming. The more defects injected, the more likely they are to be missed.

L quality and treatment of testers. There are still some misunderstandings about testing in China, such as testing without technology or too high technology. When the tester is selected, the requirements are often reduced, and the treatment given is also low, resulting in a weak overall ability of the test team and a low enthusiasm for work, it has a great negative impact on the testing quality.

L The test time is often compressed. Testing starts once a software project is started, including product requirement document review, Product Specification review, and test plan/use case design, however, the main execution time of software testing is after the code is complete. Because the software schedule estimation is often not accurate enough, the Code Completion Time Delay often occurs, but the management does not want to delay the entire product release date, the result test time is the first to bear the brunt, the test cycle is shortened, as a result, the test is insufficient or the planned test items cannot be completed in good quality and quantity.

In short, the challenges faced by the testing work are big and sometimes severe. However, as long as we dare to face the reality and stick to the testing principles, we can overcome the difficulties, use Correct and more effective testing methods and tools to ensure adequate testing and testing quality.

To predict the future, please read the next decomposition: the top ten principles of 6th software tests

Copyright, software testing

-For the series of discussions, see:Software testing romance-intermediate and advanced series (sequence)

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.