What is Destructive Testing in Software

What is Destructive Testing?

Destructive Testing is a software testing method to find points of failure in a software program. In this technique, an application is intentionally made to fail to check the robustness and identify the points of failure. Unlike other testing methods that check the application’s function, this technique checks the unpredictable user behavior within the application.

For Destructive Testing method, it is not necessary to have the knowledge of the original requirements of a software product. However, some knowledge could help in developing a good testing strategy.

Destructive Testing

Destructive Testing

Why to do Destructive Testing?

  • It helps to understand predictable software behavior when the software is put under improper usage
  • It helps to check the robustness of a software product.

What you check in Destructive Testing?

In Destructive Testing, you will check for following things

  • Proper software behavior
  • Improper software behavior
  • Improper usage
  • Improper input data
  • Proper output data

How to do Destructive Testing?

Destructive Testing involves many activities like designing a set of test scripts, executing test scripts, raising bugs, closing bugs, and providing the pass or fail metrics to stakeholders at the end of the iteration.

For Destructive Testing, there are numerous ways it can be tested. Let’s see some examples of Destructive Testing-

  • Failure point analysis method: This Destructive Testing example is a walkthrough of the system conducting an assessment of what could go wrong at various points. For this strategy, help from BA (Business Analyst) may be taken.
  • Tester peer review: Get your test cases analyzed or reviewed by a fellow tester, who is less familiar with the system / function
  • Business review of test cases: The end users or experts may think of many valid scenarios which sometimes testers may not have considered or missed as their entire focus will be on testing the requirements
  • Conduct exploratory testing, using run sheets: Exploratory testing using run sheets, will help to determine what was tested, repeat the tests and allows you to control your test coverage.
  • Use other source: You can ask someone to break the software product and analyze for various scenarios.

Destructive Testing Methods

Following are the different Destructive Testing Methods used in Software Engineering:

Destructive Testing Techniques

Below are the Destructive Testing Techniques that can be used with modifications:

While performing Destructive Testing, there are certain testing conditions

  • The software shall never process or accept invalid input data
  • Regardless of the validity or correctness of input data, the software should always produce proper output data

Summary:

  • In this technique, an application is intentionally made to fail the program to check the robustness of the application
  • For Destructive Testing, it is not necessary to have the knowledge of the original requirements of a software product.
  • It helps to understand predictable software behavior when the software is put under improper usage
  • Destructive Testing involves many activities like designing a set of test scripts, executing test scripts, raising bugs, closing bugs, and providing the pass or fail metrics to stakeholders at the end of the iteration.