A look at the basics of software testing

test subject stage

1. Requirements analysis stage: various requirements specifications

2. Software architecture design: API interface document (interface test)

3. Coding implementation stage: source code (white box testing, unit testing)

4. System function use: software function subject (the most widely used test in the current industry)

test level

The development of software will be based on the corresponding development model, and the test level refers to the development steps defined by us in this model. Among them, our most common level classification for testing is as follows:

1. Unit test [UT unit test]: In software testing, unit testing refers to the smallest underlying code structure that makes up the software, generally classes, functions, and components (the current software testing industry does not deliberately require testers to check the source code. carry out testing).

2. Integration test (IT system ingertaion test): Combine multiple unit modules together, and then verify whether the "bridge" they communicated before can work normally (interface test)

3. System test (ST system test): This is the most widely used test in the current industry. Testers act as users and then test the functional subjects of the software.

4. Acceptance test:
1. α test - internal test
2. β test - public test
3. UAT test - test - the customer sends personnel who are very proficient in the business to use the software, so as to function to test.
4. The core of acceptance testing is to let users "pay" for the current software

System Test Classification

1. Functional test: verify whether the current software main function is available

2. Compatibility test: verify whether the current software can still be used in different environments

3. Security test: verify whether the software can only provide functions for authorized users

4. Performance testing: its output capability relative to the resources consumed by the current software

Principles of testing

The so-called testing principles refer to some rules that we must abide by when testing our work.

1. The test proves that the software is flawed: no matter what kind of test operation is performed, it can prove that the current software is flawed.

2. Exhaustive tests cannot be performed: some functions cannot logically list all the test situations, so any test operation has an end time.

3. Defects are clustered: for software functions, core functions account for 20% and non-core functions account for 80%. In actual work, we will focus on testing 20% ​​of the core functions, so the probability of finding defects in this part will be higher than 80%,
so we will encounter the phenomenon that defects are concentrated in 20% of the functional modules.

4. Some tests need to rely on special environments

5. Testing should be involved as early as possible: in order to discover more and better solve defects in the software, we pursue that testing should be carried out as early as possible

6. Insecticide phenomenon: The same test case cannot be executed repeatedly, because the software will be immune to it.

7. There is no defect fallacy: no software can be perfect

Common System Testing Methods

1. Classification according to test objects

1. White box testing: The main body of this kind of testing is the underlying code of the software. It does not care whether the external interface is OK or not. It only requires the underlying functions to be implemented and the logic to be correct.

2. Black box testing: This kind of testing refers to testing whether the main functions outside the software are available.

3. Gray box testing: between the two (interface testing)

4. The "box" in the above three methods refers to the measured object

2. According to whether the test object is classified

1. Static testing: refers to the fact that the test is not executed

2. Dynamic testing: run the software in a real environment for testing

3. Classification according to test methods

1. Manual test: the tester manually verifies the test object, the advantage is that the test operation and environment can be changed flexibly

2. Automated testing: The so-called automation mainly has two forms, one is to write test scripts by yourself, and the other is to test the tested object through third-party tools: the advantage is that it can efficiently execute some tasks that cannot be achieved manually operate

Guess you like

Origin blog.csdn.net/qq_50377269/article/details/132304122