Zheng Renjie takes notes on Software Engineering
Raytheon
Any Engineering Product (note any engineering product) can be tested using either of the following two methods.
Black box testing: the functional design specifications of products are known. You can perform tests to verify that each implemented function meets the requirements.
White-box testing: it is known that the internal working process of the product can be tested to verify whether each internal operation meets the design specifications and whether all internal components are inspected.
The software black box testing means that the testing should be performed at the software interface. This method regards the test object as a black box, And the tester does not consider it at all.ProgramThe internal logic structure and internal features check whether the functions of the program comply with the functional instructions only according to the program requirement specification. Therefore, black box testing is also called function testing or data-driven testing. Black box testing mainly aims to discover the following types of errors:
1. Are there any incorrect or missing functions?
2. Is the input correct on the Interface accepted? Can I output the correct result?
3. Are there any data structure errors or external information (such as data files) access errors?
4. Can the performance meet the requirements?
5. Are there any initialization or termination errors?
The white box test of the software is to carefully check the procedural details of the software. In this way, the test object is regarded as an open box, which allows the tester to design or select a test case to test all the logical paths of the program using the logical structure and related information in the program. Check the program status at different points to check whether the actual status is consistent with the expected status. Therefore, a white-box test is also called a structure test or a logic-driven test. The white box test mainly aims to check the program module as follows:
1. test all independent execution paths of the program module at least once.
2. You can test all logical judgments in either case of true or false.
3. Execute the loop body within the loop boundary and running boundary.
4. test the effectiveness of the internal data structure.
The above facts show that software testing has a fatal defect, that is, the test is incomplete and not thorough. As any program can only perform a limited number of tests (relative to a large number of poor examples), when no error is found, it cannot indicate that there is no error in the program.