Types, methods and applications of testing
Component/unit test (Unit Test): mainly tests whether the internal code of each unit of the system is correct.
Integration test (integration testing): mainly tests the interaction between units, whether the interface is correct, and the compatibility between units.
System test (system testing): mainly tests whether the system assembled by all units meets customer requirements and related machine design requirements.
Acceptance test: usually on the client side, the customer conducts a test to see if the product meets the customer's needs.
Test procedure: Component test à Integration test à System test à Acceptance test
Regression test (regression testing): if you find bug in the above process test, you need to change the relevant module code. In this process, there is a potential risk of improving the original bug, but along with the new bug, so in order to verify whether the modification of a bug affects other related modules and functions, you need to conduct regression testing, that is, to run again with the original test case.
OWhile box test (white box testing): a test that understands the internal code and the logical structure of the code, usually used in unit testing and integration testing, because this part of the test requires knowledge of modules and unit code in order to test more effectively.
OBlack box test (black box testing): a test that does not care about internal code and code structure, and is usually used for system testing and acceptance testing, because this part of testing focuses on verifying whether the system meets the design requirements and implements related functions, so it should be the test case written by the design specification, rather than how the internal code of the system is implemented.
Function test (functional testing): verify that the relevant requirements and functions meet the requirements.
Non-function test (non-functional testing): verify some requirements in addition to functional requirements, such as: stress test (stress testing), business processing speed, etc.