Black box white box? So what difference does it make?

First look at the definition of the concept

White box:
refers to structural testing, refers to actually run the program under test, a test by the program source code without using the user interface.
Black Box Testing:
Also known as functional testing, black box testing focuses on the function of the tested software implementation, rather than focus on internal logic.

Let's look at the difference

A difference: not the same test as the
black-box testing is mainly targeted function, and purpose of white-box testing is whether unanimously adopted at different points in the state inspection procedures, to determine the actual state with the expected state, regardless of its function.
Difference between the two: the test method is not the same as
a black box: equivalence partitioning, boundary value analysis, error analysis, cause and effect diagram method
test method are white box: code checking method, process variations, static structural analysis, static quality metric method, test symbols, logical overlay method, field testing, Z path coverage testing method and the basic path

Finally, look at the advantages and disadvantages

White box advantages:
1. The software implementation can be contemplated
2. Each branch path and a detectable code
3. disclosed hidden in the code error
test 4. code more thorough
white box disadvantages:
1 . expensive
2. missed tag can not be detected and the sensitivity of the data error path
3. the specification does not verify the correctness

Black box advantages:
1. For subsystems even higher system efficiency than the white box
2 testers not need to know implementation details (specific programming language)
3. Test independently of each other and programmers
4. From the user's perspective testing is easy to understand and accept
5. contribute exposed inconsistent specifications or ambiguous question
6. the test may be performed immediately after the completion of specification
disadvantages black box:
1. only a small part of the input to be tested, be test every possible input is almost impossible.
2. No 2. No clear and concise specifications, test cases difficult to design.
3. If the tester is not informed of the developer used in Example had been performed, there will be unnecessary duplication on the test data.
4. There are many program path is not tested.
5. can not directly test for a particular block, and these blocks can be complex, there may be hidden more problems.
6. Most of the relevant research and tests are directed at white-box testing.

Published 48 original articles · won praise 5 · Views 2146

Guess you like

Origin blog.csdn.net/chris__x/article/details/104622075