White-Box Test Techniques
- Get link
- X
- Other Apps
White-Box
Test Techniques.
The entire software implementation is taken into account.
There are more rigorous white-box test techniques used in safety-critical, mission-critical, or high-integrity environments. There are also techniques used in higher test levels, such as API testing. These are not discussed in this syllabus.
Statement Testing.
Coverage items are executable statements. The aim is to exercise statements in the code until an acceptable level of coverage is achieved.
Branch Testing.
Coverage items are branches. The aim is to exercise branches (transfers of control) in the code until an acceptable level of coverage is achieved.
Each statement with a defect will be executed.
When 100% statement coverage is achieved, all executable statements in the code have been exercised at least once. This may cause a failure demonstrating the presence of the defect.
However, exercising a statement will not detect defects in all cases. It may not detect data-dependent defects, and it does not ensure that all decision logic has been tested.
Conditional and unconditional branches.
A branch is a transfer of control between two nodes in the control flow graph. Conditional branches typically correspond to a true or false outcome from an "if...then" decision, a switch/case outcome, or a decision to exit or continue in a loop.
Exercising a branch will not detect defects in all cases — for example, defects requiring the execution of a specific path in code.
Entire
implementation
accounted for.
Facilitates defect detection even when the software specification is vague, outdated, or incomplete. The code itself is the source of truth.
Defects
of omission.
If the software does not implement one or more requirements, white-box testing may not detect the resulting missing functionality.
Necessary information to increase confidence.
- Get link
- X
- Other Apps