【Reprint】Methods of software testing

1. The purpose of software testing

Find defects

Finding the defects in the tested object as early as possible and as many as possible should be the most frequently mentioned test goal of testers in the testing process, and it is also an important manifestation of the so-called test value. The purpose of discovering defects is to promote developers to locate and fix problems. Testers ensure that the developers have repaired the defects through retesting and regression testing, and have not affected the original normal area, thereby improving product quality. At each stage of the development life cycle, there should be testing participation, and as many defects as possible in this stage should be discovered, thereby greatly improving the ability to contain defects in this stage, thereby improving testing efficiency, reducing costs and improving quality.

Two, the two major categories of software testing

1. White box testing

White box testing treats the test subject as an open box. When the white box testing method is used for dynamic testing, the internal structure and processing process of the software product need to be tested, and the function of the software product is not required to be tested.

The coverage standards of the white box test method include logical coverage, loop coverage and basic road test. The logical coverage includes statement coverage, judgment coverage, condition coverage, judgment/condition coverage, condition combination coverage, and path coverage.

White box testing is to know the internal working process of the product. It can be tested to check whether the internal actions of the product are carried out normally according to the specifications. According to the internal structure test procedure of the program, it is checked whether each path in the program is correct according to the predetermined requirements. Work, regardless of its function, the main methods of white box testing include logic drive, base circuit testing, etc., which are mainly used for software verification.

2. Black box testing

Black box testing is the testing of software according to its specifications. This type of testing does not consider the internal operating principles of the software, so the software is like a black box to the user.

From the perspective of the user, the tester discovers the defects of the software through various inputs and observations of various output results of the software, and does not care about how the program is implemented. A software testing method.

Third, the specific classification of white box testing

(1) Unit testing refers to the inspection and verification of the smallest testable unit in the software.
Stud module (stud) refers to the module called by the simulated module under test, and the driver module (driver) refers to the superior module of the simulated module under test. The driver module is used to receive test data, start the module under test and output the result.

(2) Integration testing (integration testing) is the next stage of unit testing, which refers to assembling the tested unit modules into a system or subsystem, and then testing, focusing on testing the interface departments of different modules.
The integration test is used to check whether each unit module can cooperate and work normally when combined together.

(3) System testing refers to testing the entire software system as a whole, including testing the function, performance, and software and hardware environment in which the software runs.
The main basis for system testing is the "System Requirements Specification" document.

(4) Acceptance testing (acceptance testing) refers to a test in which user testing is the mainstay in the later stage of system testing, or testing involving quality assurance personnel such as testers. It is also the last process for the software to be officially handed over to users. .

Acceptance testing is divided into a test and beta test, where a test refers to the internal test jointly participated by users, testers, developers, etc., and the beta test refers to the public test after the internal test, which is completely handed over to the end user test.

Fourth, the specific classification of black box testing

1) Function testing is one aspect of black box testing, which checks whether the functions of the actual software meet the needs of users.

Including logic function testing

UI testing UI=User Interface

Usability testing: refers to checking the software system from the perspective of the rationality and convenience of the use of the software, to find the inconvenient places in the software for users.

Compatibility testing (compatibility testing): including hardware compatibility testing and software compatibility testing

2) Performance testing

Software performance mainly includes time performance and space performance

Time performance: mainly refers to the response time of a specific transaction of the software (respond time).

Space performance: mainly refers to the system resources consumed when the software is running.

Software performance testing is divided into:

General performance test: refers to the performance test that allows the system under test to run in a normal software and hardware environment without putting any pressure on it.

Stability testing is also called reliability testing: it refers to the continuous operation of the system under test to check the stability of the system during operation.

Load testing (load testing): refers to the continuous operation of the system under test within the limit of its tolerable pressure to test the stability of the system.

Stress testing (stress testing): refers to the continuous increase of pressure on the system under test, until the system under test is overwhelmed, used to test the maximum pressure that the system can withstand. (Validate the system or software can allowed the biggest stress.)

3) Interface Testing

Interface testing is a test for testing the interfaces between system components. The interface test is mainly used to detect the interaction points between the external system and the system and between the various internal subsystems. The focus of the test is to check the data exchange, transfer and control management process, as well as the mutual logical dependence between the systems.

Recommend an interface test and interface document production tool: apipost

Insert picture description here

Five, other test types

**Regression testing** refers to a use case when testing a new version of the software and repeating the previous version test. (When a new build or release is deployed, repeat all the test cases which has executed in the last build or release.)

Smoke testing refers to verifying whether the basic functions of the software are realized and whether it is testable before a large-scale test of a new version. (validate the major function is deployed or not in software of system when a new build or release is implement.)

Random testing means that all input data in the test is randomly generated. Its purpose is to simulate the real operation of the user and find some marginal errors. (means or all the test data is random, to validate the some edge bugs.)

Guess you like

Origin blog.csdn.net/weixin_47719617/article/details/111634870