To put it simply, software testing can be divided into two main categories: black-box and white-box testing.
White Box testing: It is through the program's source code to test without using the user interface, this type of test needs to find the internal code from the code syntax in the algorithm, overflow, path, conditions and so on
Defects or errors, and then fix them.
Black box testing: Also known as functional testing, data-driven testing, or specification-based testing, is rigorously tested by using the entire software or some kind of software feature, without checking
The source code of the program or very clearly understand how the software's source code program is specifically designed.
The approximate principle is as follows:
A few simple comparisons between black-box and white-box testing, as shown in the following table, are the main differences:
Black box testing focuses on testing the functional requirements of the software, mainly trying to find the following types of errors:
1. Incorrect function or omission; 2. interface error; 3. input and output errors; 4. Database access error; 5. Performance error; 6. Initialization and termination errors, and so on.
Test principle:
in theory, black-box testing only uses exhaustive input tests to consider all possible inputs as test cases in order to detect all errors in the program. In fact, there are an infinite number of test cases where people are not only testing all legitimate inputs, but also testing for illegal but possible inputs. In this sense, complete testing is not possible, so we have to conduct targeted testing, through the development of test cases to guide the implementation of the test, to ensure that the software testing organized, steps, and planned. Black-Box test behavior must be quantifiable to truly guarantee software quality, and test cases are one of the methods of quantifying test behavior. Specific black box test case design methods include: 1. Equivalence class partitioning method; 2. Boundary value analysis method; 3. a false conjecture; a 4. Causal diagram method; 5. Decision table driving method; 6. Orthogonal test design method; 7. function diagram method; 8. Scene method, and so on. The approximate flow of black box testing: 1. Test Plan First, according to the user needs report on the functional requirements and performance indicators of the specification, define the corresponding test requirements report, that is, the development of the highest standards of black box testing, all the testing work will be around the test needs to be carried out, The application that meets the test requirement is qualified, the reverse is unqualified, at the same time, it is necessary to select the test content appropriately, arrange the test personnel, test time and test resources reasonably. 2. Test design decomposition of test requirements developed during the test planning phase, refinement into several executable test procedures, and selection of appropriate test cases for each test process (the quality of test case selection will directly affect the effectiveness of the test results). 3. Test development BUILD reusable automated testing processes. 4. Test Execution Execute the automated test process established during the test development phase, and track and manage the identified defects. Test execution is generally composed of unit test, combination test, integration test, System interlock and regression test and so on, the test personnel should be in a scientific and responsible manner, step by step test. 5. Test evaluation combination of quantitative test coverage and bug tracking reports, for the quality of application software and development team work progress and productivity intoComprehensive evaluation of the line.
Flaws in black box testing:
If the external characteristics of the design of the problem or specification is wrong, the black box test method is not found.
A glimpse of the black box test of software testing