What is the classification of software testing? How is it classified?


关注我,每天分享软件测试技术干货、面试经验,想要领取测试资料、进入软件测试学习交流群的可以直接私信我哦~~

In the actual project testing process, selecting and determining the test model is only the first step for us to implement the test. In addition, we must figure out what types of tests need to be done during the entire test process, and perform corresponding tests according to different test types, such as our familiar function tests, performance tests, etc., so that our test work can be carried out effectively. . So what is the classification of software testing? How is it classified? Simply put, software testing can be classified according to the four directions of development stage, whether to view the code, whether to run, and whether to manually operate.

Software testing classification

1. Classified according to the development stage

(1) Unit test

Unit testing can also be called module testing-testing the components of the software in order to verify the correctness of the basic components of the software. The object of the test is the smallest unit of software testing: the module. Unit tests are generally tested by developers or professional white box testers (these require deep research on the code).

(2) Integration test

A unit test is a test inside a module. When multiple individual module tests are completed, we need to put these modules together for an overall test. This test is called an integration test. Integration testing is also called joint debugging testing and assembly testing, which means that the program modules are assembled using appropriate integration strategies to test the correctness of system interfaces and integrated functions. Integration testing mainly focuses on modules that are more complex in association and prone to errors. Integration testing is to test between modules (at least two), and assemble 2 or more modules.

(3) System test

System testing refers to verifying whether the complete program system can run correctly under the environment of real or simulated system operation and meet the functional requirements of users. Here, the complete program system can be understood as treating the entire software system as a whole. Including software and hardware. For example, the company is currently developing a new payment system, and the testing team is required to perform system testing on it. Then our test purpose is to build and run all the various functional modules, and conduct overall functional testing, safety testing, performance testing, etc. to verify whether its functions, safety, performance and other aspects are satisfactory. User needs.

(4) Acceptance test

Acceptance testing is the last stage of technical testing, also known as delivery testing. Acceptance testing is the final testing phase before deploying the software. The purpose of acceptance testing is to ensure that the software is ready and to show the software purchaser that the software system can meet the needs of users. It is generally a user-oriented test. There are two commonly used strategies for acceptance testing, formal acceptance and informal acceptance.

2. According to whether to view the code classification

(1) Black box test

We don't need to care about the structure and implementation logic of the software under test. We only need to pay attention to what the input data of the test software is and whether the output results meet expectations. Such testing is called black box testing. Black box testing is also called data-driven testing, which only checks whether the program can receive input data and generate correct output information.

(2) Functional test

Functional testing is mainly to check whether the actual function meets the needs of the user, so most of the work of the test is also carried out around the function of the software. Functional testing can be further subdivided into interface testing, logic function testing, usability testing, installation testing, compatibility testing, etc. The purpose and complexity of each test are different.

(3) Performance test

The performance test is taken apart from the perspective of performance and testing. Software performance includes many aspects, mainly time performance and space performance. Performance testing is to simulate a variety of normal, abnormal, or extreme conditions through automated testing tools, testing for various performance indicators of the system to verify whether the software performance meets the requirements.

(4) White box testing

White box testing is just the opposite of black box testing. It does not pay attention to the outside and only focuses on the inside, which means that the box is transparent. We can clearly see the inside of the box and the internal operation logic, as well as the testing for the internal logic.

(5) Gray box test

Gray box testing is a test between white box testing and black box testing. It focuses on both internal and external verification.

3. According to whether to run classification

(1) Dynamic test

Dynamic testing refers to verifying whether the running result is consistent with the expected result by running the program under test and inputting the corresponding test data. At present, dynamic testing is also the main way for enterprises to implement project testing. According to the stage and role of dynamic testing in the software development process, we can divide it into the following steps: unit testing, system testing, integration testing and acceptance testing.

(2) Static test

Static testing is the process of statically checking the program code, interface, or documentation for possible errors without actually running the software under test. The test content is mainly three aspects: code test, interface test and document test

4. According to whether manual operation is classified

(1) Manual test

Manual testing refers to executing the written test cases one by one by hand. Enter some content by manually operating the keyboard and mouse. For example, when testing the login function, manually enter the user name/password according to the use case, click the button, etc. After the function is executed, check the returned result to verify whether it meets the expected result.

(2) Automated testing

The purpose of automated testing is to improve testing efficiency and transform human-driven testing behaviors into a process that is executed by machines. Use tools or codes to implement manual operations.

At this level, we divide the tests into static tests and dynamic tests according to whether the software is running or not. We also divide the tests into manual tests and automated tests based on whether the software is operated manually. In addition, there are smoke tests, regression tests, and safety tests, etc. Wait. Through learning, we can know that each test has its own characteristics and applicable scenarios. Through such a system, we learn to understand the method and meaning of each test, so that we can know it. This is important for our follow-up testing technology learning and actual testing. Work has a far-reaching guiding role.


If you

① Engaged in functional testing and want to advance automated testing

②I have been in the testing industry for one or two years, but still can’t type code

③ Interviews with big companies but repeatedly bumped into walls

I invite you to join the group! Come on~~Tester,313782132(There are technical experts in the Q group to communicate and share together, the value of learning resources depends on your actions, don’t be a "collector") Get more technology and interview materials from major factories


Golden nine silver ten interview season, job-hopping season. The information compiled for everyone is organized around [software testing]. The main content includes: python automation test exclusive video, Python automation details, a full set of interview questions and other knowledge content.May you and I meet and you will find something! Follow me to receive~

If the article is helpful to you, please reach out to make a fortune and give me a like. Thank you for your support. Your likes are my motivation for continuous updating.

Recommended reading:

What kind of person is suitable for software testing?

Talking about starting from a small company to a big factory, what did I do right?

Want to switch to software testing? Come and see if you are suitable

From self-study to work in software testing, how should software testing learning be carried out?

How to write a software test engineer resume project experience?-1,000 software test engineer resume templates (real resume) that have been successfully recruited

Guess you like

Origin blog.csdn.net/weixin_50271247/article/details/115099929