Software Testing - Dynamic Techniques
Dynamic testing describes those test techniques that operate on software when the software is running. The techniques are often divided into two classes, Whitebox techniques and Blackbox techniques.
The Whitebox techniques are confined to component tests and integration tests in the small. Blackbox techniques are used at all stages of testing.
With Blackbox techniques the tester is not able to see how the software works. He does not examine the source code. This is also known as functional testing and the tests are devised from specifications.
BS7925-2, the standard for component testing, identifies the following Blackbox testing techniques:
- Equivalence Partitioning.
- Boundary Value Analysis.
- State Transition Testing.
- Cause-Effect Graphing.
- Random Testing.
Whitebox techniques require the tester to see into the box. He examines the source code to see how it works. The tests are based on the code and can ensure that as much of the code as possible is exercised. Whitebox testing is sometimes called Glassbox or structural testing.
The standard identifies the following Whitebox techniques:
- Statement Testing.
- Branch/Decision Testing.
- Data Flow Testing.
- Branch Condition Testing.
- Branch Condition Combination Testing.
- Modified Condition Decision Testing.
- Linear Code Sequence and Jump (LCSAJ).