Basic knowledge of testing 2 "" Classification of software testing

 Software testing classification

√Classified   by test stage

①Unit test

Unit Test: soft member smallest testable unit checking and validation.

Unit testing principles: 1. As far as possible, ensure that each test case is independent of each other. 2. It is generally implemented by code developers to verify that the developed code functions meet their own design requirements.


②Integration test

Integration test definition: on the basis of unit testing , testing whether all the software units are assembled into modules, subsystems or systems in accordance with the requirements of the outline design specifications , whether each part of the work meets or achieves the corresponding technical indicators and requirements activity.

The main implementation plan of the integration test: Big Bang (one-time test, combining most of the modules for testing)

Top-down; bottom-up (from the lowest module assembly and testing, better to lock software defects); core system integration; high-frequency integration

The difference between integration testing and unit testing: different test objects; different test basis; test methods (integration testing is interface testing)

The integration test is constructed by integrating the various modules that have passed the unit test. In addition to the software, the system test also includes the entire system such as computer hardware and related peripheral equipment, data acquisition and transmission mechanisms, support software, and system operators.

③Confirmation test

Confirmation testing is to verify whether the software meets the requirements of a specific intended use by inspecting and providing objective evidence. Confirmation test checks and confirms whether the software meets the requirements specified in the software requirements specification.

④System test

System testing is to verify and confirm whether the system has reached its original goal, and to test the integrated hardware and software system is to check whether the complete program system is compatible with the system (including hardware, external Equipment, network and system software, support platform, etc.) are properly configured and connected to meet user needs.

⑤ Acceptance test

Acceptance test, also known as acceptance test, is a formal test. It is mainly user test in the later stage of system test, or test with the participation of quality assurance personnel such as testers. It is generally determined by users or other authoritative organizations. Can a product (system or component) confirmatory testing be accepted?

√Classification of   tested software according to whether it is necessary to execute:

①Static   test

Static testing is also called static analysis. It does not actually run the software under test, but directly analyzes the form and structure of the software to find defects. It mainly includes testing of source code, program interface, various documents and intermediate products (such as product specifications, technical design documents, etc.).

②Dynamic   test

Dynamic testing, also known as dynamic analysis, refers to the need to actually run the software under test, discover software defects by observing the state and behavior of the program when it is running, including passing valid test cases (corresponding input, Output relationship) to analyze the running status of the program under test or carry out tracking and comparison, and find the inconsistency between the behavior of the program and the design specifications or customer needs.

√Classification  according to whether manual intervention is required during test execution:

①Manual test

Manual testing is to complete the testing work entirely manually, including the formulation of test plans, the design and execution of test cases, and the inspection and analysis of test results. Traditional testing work is done manually.

②Automatic test

Automated testing is the management and implementation of various testing activities. It uses automated testing tools or automated testing scripts to conduct tests, including the development and execution of test scripts, etc., to verify testing requirements with certain automated testing tools. This type of test generally does not require manual intervention in the execution process, and is usually widely used in functional testing, regression testing and performance testing.

 

√Check the   code classification according to whether you need to check it (we will talk about it in detail in Basic Knowledge 3 )

①Black  box test

Black box testing treats the software under test as a black box, only considering the input and output of the system, without considering the internal logic structure and processing process of the program at all. The basis of black box testing is the requirement specification of each stage (for example, the requirement analysis stage is the product requirement specification, and the unit test stage is the detailed design specification of the function).

 

②   white-box testing

White box testing is to open the black box to study the source code and the internal logical structure of the program. The basis of white box testing is program code.

The test cases designed by using the coverage indicators of the white box test and the test cases obtained by the black box method often overlap. Therefore, white box testing generally serves as a supplement to black box testing.

 

√Other  test types:

① smoke test

Smoke test is to find a defect during the test and solve it. At this time, you want to know whether this defect is really solved, or whether it has an impact on other modules, you need to conduct a special test on this problem. This is the smoke test.

②Random test

Random testing is an important supplementary method for performing sample testing according to the test specification, and an effective way and process to ensure the integrity of test coverage.

③Performance test

Performance testing is to verify whether the system or software has slow response or slow response during operation.

④ Stress test

Stress testing is to check the maximum number of users that the system or software can withstand at the same time, or how many operations it can withstand at the same time.

⑤Regression test

Regression testing means that after modifying the old code, re-testing to confirm that the modification does not introduce new errors or cause errors in other codes.


The above are all conceptual knowledge, only for understanding. Recommended here to give you a book "Software Testing Guide" (Author: Xuguang Xia, Weiqing Jie), the book which will test the basic concepts described very clearly. Friends who are as technically pure as me and transferred to work can buy it as a reserve of accumulated knowledge, and can read it repeatedly.

Guess you like

Origin blog.csdn.net/Yorkie_Lin/article/details/79401615