80% of Software defects often exist in 20% of the software space. This principle tells us that if you want to make software testing effective, remember to visit its high-risk areas frequently ". There are many possibilities for discovering Software defects. This principle is of great significance for Software testers to improve testing efficiency and defect discovery rate. Smart testers will quickly find out more defects based on this principle, while stupid testers are still searching aimlessly.
Another case of the 80-20 principle is that we can detect and avoid 80% of Software defects during system analysis, system design, system implementation review, and testing, subsequent system tests can help us identify 80% of the remaining defects. The final 5% of Software defects may be exposed only after the system is delivered and used for a long time. Because software testing can only detect as many Software defects as possible, but cannot discover all Software defects.
The 80-20 principle also reflects the automation of software testing. Practice has proved that 80% of Software defects can be discovered through manual testing, and 20% of Software defects can be discovered through automated testing. Because of the crossover between the two, about 5% of Software defects need to be discovered and corrected in other ways.
Test for benefits
Why do we need to implement software testing to improve the quality and efficiency of the project and ultimately improve the overall efficiency of the project. Therefore, it is not difficult to figure out the degree we should master in implementing software testing. Software testing should strike a balance between software testing costs and software quality benefits. This balance point is what we should observe when implementing software testing. The unilateral pursuit will inevitably damage the value and significance of the existence of software testing. In general, in software testing, we should try our best to keep software testing as simple as possible and never complicate software testing too much. In the words of the physicist Einstein, keep it simple but not too simple.
Inevitability of defects
In software testing, not all Software defects can be repaired due to the Association of errors. Although some Software defects can be repaired, New Software defects will inevitably be introduced during the repair process. Many software defects conflict with each other. The disappearance of a conflict will inevitably lead to another conflict. For example, we tend to have execution efficiency defects after solving general defects. Moreover, in the process of defect repair, we are often limited by time and cost, so we cannot effectively and completely repair all Software defects. Therefore, the importance and scope of impact of Software defects should be evaluated, and a compromise scheme should be selected or non-software factors (such as improving hardware performance) should be selected) considering Software defects is a fact we must face when facing Software defects.
Software testing must have expected results
Tests with no expected results are unreasonable. Software defects are compared. This is the same as the measurement cannot be performed without standards. If we do not know or cannot affirm the expected results, we will not be able to understand the correctness of the test. This makes it easy for people to feel like blind people. Many testers often judge the occurrence of Software defects based on their own feelings. The result is often to make judgments based on plausible items as correct results, therefore, false tests often occur.
Significance of software testing-post-event analysis
Is software testing so easy to discover defects? If it is "yes", I can assure that similar software defects will occur in the next software test of the new project. The old saying goes well. "People who do not know the history will surely make the same mistake again ". Without a careful analysis of the software testing results, we cannot understand the Causes and Countermeasures of the defects. The result is that we have to spend a lot of manpower and material resources to find Software defects again. Unfortunately, most of the test teams are not aware of this, and the test report lacks the test result analysis link.
Conclusion:
Software testing is a process that requires "conscious". As a tester, we have a correct understanding of how to calmly control the scale and fundamentally cope with software testing, I hope this article will help readers understand software testing.