Destructive testing is used to cause the program to purposely fail to test its robustness. Destructive testing is not carried out to test the functionalities of a system. Instead, it is used to test how a system responds to unusual and bottleneck scenarios. This helps to discover points of failure for a system as well.
Reasons for destructive testing
Destructive testing is carried out for the following reasons:
- It helps identify bottlenecks of the system and points of failure.
- It helps identify unpredictable behavior that can occur within a system.
Carrying out destructive testing
Destructive testing can be carried out using several strategies:
- Failure point analysis: Testing is done at different stages and functional elements of the system to understand where a point of failure may occur.
- Tester peer review: The system is tested and analyzed by a second tester who may not be familiar with the functionality to a great extent.
- Business review: An expert may think of scenarios that can arise. These may be possibilities that a tester might have missed.
- External sources: Asking external sources to break the system.
The illustration below gives an idea of destructive testing: