What is black box testing and white box testing?
Any engineering product (note is any engineering product) can be tested using one of the following two methods.
black Box test: The functional design specifications of a known product can be tested to verify that each implemented function meets the requirements.
White Box testing: The internal working process of a known product can be tested to prove that each internal operation complies with the design specifications and that all internal components are inspected.
black box Test
the black box test of the software means that the test should be done at the interface of the software. This method is to see the test object as a black box, the tester does not consider the internal logic structure and internal characteristics of the program, only according to the requirements of the program specification, check the function of the program is consistent with its function description. So black-box testing is also called functional testing or data-driven testing. The black box test is mainly to find the following types of errors:
1. Are there any features that are incorrect or missing?
2, on the interface, the input can be correctly accepted? Can I output the correct results?
3. Are there any data structure errors or external information (such as data file) access errors?
4, performance can meet the requirements?
5. Are there any initialization or termination errors?
White Box Test
the software's white-box test is a detailed examination of the procedural details of the software. This approach is to think of the test object as an open box, which allows the tester to design or select test Cases and test all the logical paths of the program, using the logical structure within the program and related information. Determine whether the actual state is consistent with the expected state by checking the program state at different points. So white-box testing is also known as structural testing or logic-driven testing. White box testing is mainly to the program module to check the following:
1, test all the independent execution path of the program module at least once.
2, to all the logical judgment, take "true" and take "false" two cases can be measured at least once.
3. The loop body is executed within the boundaries of the loop and the boundary of the operation.
4, test the effectiveness of internal data structure, and so on.
The above facts show that software testing has a fatal flaw, that is, the test is incomplete, not thorough. Since any program can only perform a limited number of tests (in terms of the large amount of exhaustive), it cannot be stated that there are no errors in the program when no errors are found.
Black box test and white box test