Some common sense of software testing

Source: Internet
Author: User
Tags greatest common divisor

1. Incomplete testing

Obviously, due to the lack of completeness of software requirements, the combination of software logic path, the large number of input data and the diversity of results, even a very

Its simple program, in order to exhaust all the logical paths, all input data and verify all the results is very difficult one thing. Let's give a simple example

For example, ask for a greatest common divisor of two integers. Its input information is two positive integers. But if we test the numbers in the whole positive integer field,

, from the infinite number of its numbers we can prove that such tests are not feasible in real life. As a software test, we generally adopt such

Price class and boundary value analysis and other measures to carry out actual software testing, the search for the minimum set of use cases becomes a necessary way to streamline our testing complexity.

2. Test for Immunity ( software defect Immunity )

Software defects, like viruses, have terrible "immunity", the more tests the testers use, the more immune they are, the more software they need to find

More difficult to get trapped. We can introduce this conclusion by the mathematical probability theory. Suppose there are 500 software defects in a 50000-line program and these

When software errors are distributed evenly, a software flaw can be found on every 100 rows. We assume that testers are using some sort of method to look for software defects

is x hours/100 lines. According to this calculation, the software has 500 defects, we find a software defect needs X hours, when the software only has 5 errors

Error, we need 100X hours for each software defect. Practice has proved that the actual testing process is more stringent than the above assumptions, and we must

Change the different test methods and test data. This example also illustrates the use of a single approach in software testing that is not efficient and complete for all software

Software testing should be tested in many ways as much as possible.

3. Testing for Benefit

Why we need to implement software testing is to improve the project's quality and effectiveness ultimately to improve the overall effectiveness of the project. It's not hard for us to conclude that we are implementing

The degree to which software testing should be mastered. Software testing should find a balance between software testing costs and software quality benefits. This balance is what we are.

The degree to be observed in the implementation of software testing. Unilateral pursuit will inevitably undermine the value and significance of software testing. Generally speaking, in software testing I

We should try to keep the software test simple, do not complicate the software test too much, take the physicist Albert Einstein said: Keep it easy

But isn't too simple.

4. Inevitability of defects

In software testing, not all software defects can be repaired due to the wrong relevance. Some software defects can be repaired but are fixed

In the process, we will inevitably introduce new software defects. Many software defects are contradictory, and a contradiction disappears inevitably leads to another contradiction.

The production. For example, when we solve the shortcomings of universality, it often leads to the defect of execution efficiency. Moreover, in the process of repairing defects, we will often

Limited by time, cost and so on, it is not possible to effectively and completely repair all software defects. Therefore, the evaluation of the importance of software defects, the scope of impact, select

Choosing a compromise scheme or considering software defects from non-software factors (such as improving hardware performance) becomes a must-have for us in the face of software defects.

Fact.

Some common sense of software testing

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.