What are the main methods of software testing?

There are several methods of software testing

1. From the perspective of whether you care about the internal structure

2. Judging from whether the code is executed

3. From the perspective of the development process level

4. From the point of view of whether manual intervention is required in the execution process

5. From the perspective of test implementation organization

6. From the environment of the test

7. Other test types.

Detailed introduction:

1. From the perspective of whether you care about the internal structure

(1) White box testing: also known as structural testing or logic-driven testing, it is a testing method that designs test data and completes testing according to the internal logic structure and coding structure of the program.

(2) Black-box testing: also known as data-driven testing, the test object is regarded as an invisible black box. Without considering the internal structure and processing process of the program, the tester only considers the requirements specification of the program function to determine The correctness of test cases and inferred test results is a test conducted from the perspective of using software or programs, starting from the corresponding relationship between input data and output data.

(3) Gray box testing: It is a comprehensive testing method that combines "black box" testing and "white box" testing. It is based on the external performance of the program when it is running and combined with the internal logic structure to design use cases and execute the program. A testing technique that collects path execution information and external user interface results.

2. Judging from whether the code is executed

(1) Static testing: refers to checking the correctness of the program by analyzing or checking the syntax, structure, process, interface, etc. of the source program without running the program itself.

(2) Dynamic testing: It refers to checking the difference between the running results and the expected results by running the tested program, and analyzing performance indicators such as running efficiency, correctness and robustness.

3. From the perspective of the development process level

(1) Unit test: also known as module test, it is a test for the correctness of the smallest unit of software design - program module or function module. Its purpose is to check whether there are various errors in each module of the program, whether its functions can be correctly realized, and its performance and interface requirements are met.

(2) Integration test: also called assembly test or combination, it is a multi-level extension of unit test, and it is an orderly test based on unit test. The purpose is to test the interface relationship between software units, in order to find the problems existing between the interfaces of each software unit through testing, and finally to compose the tested units into software that meets the design requirements.

(3) System test: It is a test activity for the integrated software and hardware system in order to judge whether the system meets the requirements. A series of assembly tests and confirmation tests are carried out on the computer system in the actual operating environment by combining the equipment, certain supporting software, personnel, data and other system elements.

4. From the point of view of whether manual intervention is required in the execution process

(1) Manual testing: testers manually input and execute one by one according to the test cases written in advance to cover the requirements of the software under test according to the test steps and methods described in the test outline, including interacting with the software under test (such as inputting test data, recording test results, etc.), and then observing the test results to see if there is a problem with the program under test, or whether there will be a problem during execution, which is a relatively primitive but necessary step.

(2) Automated testing: In fact, a large amount of repetitive testing work is handed over to the computer to complete, usually using automated testing tools to simulate manual testing steps and execute a process written in a programming language (automatic testing is It means that in the process of automatic testing, the whole process of testing is automatically completed by the program without manual intervention; semi-automatic testing means that in the process of automatic testing, it is necessary to manually input test cases or select test paths, and then the automatic testing program follows the manual designation. required to complete the automated test)

5. From the perspective of test implementation organization

(1) Development testing: testing performed by developers

(2) User testing: testing conducted by the user side

(3) Third-party testing: different from testing by developers or users, the testing is undertaken by a professional third party to ensure the objectivity of the testing work

6. From the environment of the test

(1) Alpha test: It is a test conducted by a user in the development environment, or it can be a test conducted by users within the company in a simulated actual operating environment

(2) Beta testing: typical end users in all aspects of the user company organization actually use the beta version in their daily work, and require users to report

7. Other test types

(1) Regression testing (regression testing) refers to the use case of repeating the test of the previous version when testing the new version of the software.

(2) Smoke testing (smoke testing) refers to verifying whether the basic functions of the software are realized and whether it is testable before conducting large-scale testing on a new version.

(3) Random testing means that all input data in the test are randomly generated, and its purpose is to simulate the real operation of the user and find some marginal errors.

Practical case

Optical theory is useless, you have to learn to follow along, and you have to do it yourself, so that you can apply what you have learned to practice. At this time, you can learn from some actual combat cases.

If it is helpful to you, please like and collect it to give the author an encouragement. It is also convenient for you to quickly find it next time.

If you don’t understand, please consult the small card below. The blogger also hopes to learn and progress with like-minded testers

At the right age, choose the right position, and try to give full play to your own advantages.

My road of automated test development is inseparable from the plan of each stage along the way, because I like planning and summarizing,

Test and develop video tutorials, study notes and receive portals! ! !

Guess you like

Origin blog.csdn.net/Liuyanan990830/article/details/130251594