Destructive Testing in software testing

Destructive Testing is a testing technique in which the application is made to fail in an uncontrolled manner to test the robustness of the application and also to find the point of failure.

Destructive testing is performed under the most severe operating conditions and it is continued until the application breaks. The main purpose of destructive testing is not only to determine the design weaknesses if any which may not show up under normal working conditions but also to determine the service life of the product.

Why Destructive Software Testing is required?

It's a common fact that most of the customers are prone to mismanage the software application either by executing inappropriate operations or feeding invalid inputs, which may eventually lead to crash or failure of the software application. The task of DST is to detect these points of failures in the software program, which may occur due to improper handling of the software by the user.

How Destructive Testing Helps?

  • 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 can check in Destructive Testing?

In Destructive Testing, you will check for following things:

  1. Proper input data.
  2. Proper output data.
  3. Improper input data.
  4. Proper software behavior.
  5. Improper software behavior.
  6. Improper usage.

Types of Testing to perform DST

Given below are some of the testing strategies that may proves to be effective for executing DST.

  • Top-Down Testing.
  • Black-Box Testing.
  • Acceptance Testing.
  • Loop Testing.
  • Boundary Value Testing (BVA)
  • Stress Testing.
  • Interface Testing.
  • Beta Testing.
  • Regression Testing.
  • System Testing.

Key Points of Destructive Software Testing

  • DST is an alternative approach to CST (Conventional type Software Testing) but not its replacement.

  • Effective to carry out, in addition to the CST.

  • It is carried under rigorous working conditions and environment until the software application breaks down.

  • Although, DST does not require knowledge of any kind of requirements, but it is still advisable to have little knowledge of the requirements in order to build good and effective test strategy.

  • Discovers points of failure in the event of inappropriate or misuse of the software application.

  • Guarantees the uninterrupted working of software application, even on feeding invalid inputs.

  • Ensures the robustness quality and lifespan of the software.

  • Generally, it is performed by QA team.

  • Verification and Validation types of testing are ineffective as they work on functional requirements whereas DST is nearly based on non-functional requirements.

Destructive testing is a useful testing approach to explore weak spots of failure that could not be traced using conventional software testing approach, and it is preferred to conduct destructive testing of the system along with the execution of conventional software testing methodologies.




All Rights Reserved

Let's register a Viblo Account to get more interesting posts.