Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Design for Testability (DFT) in Software Testing

  • Last Updated : 27 Oct, 2021

Design for testability (DFT) is a procedure that is used to set the development process for maximum effectiveness under either a resource-limited or reliability-driven scheme. A resource-limited process uses a testing approach to get the results that a pre-release reliability goal has been met. This process views testing as a way to delete as many rough edges from a system as time or money permits. The testability is significant either to reduce cost in a reliability-driven process. and also to increase reliability in a resource-limited process.

Software testability is a result of many factors and some of them are given below :

  1. The characteristics of the representation.
  2. The characteristics of the implementation.
  3. The Built-in test capabilities.
  4. Test-suite.
  5. Test support environment.
  6. The software process in which testing is conducted.

Now, let’s see the fishbone chart for considering testability relationships.

1. Representation : 
The existence and usefulness of a representation in test development is a critical testability factor because of the following reasons:

  • a. If you are testing without a representation is like experimenting with a prototype.
  • b. The representation cannot decide that a test has been passed or failed without any explicit statement of the expected result.
  • c. It may also force the production of a partial representation as part of the testing plan.

In representations, there are various approaches to develop object-oriented representations like object-oriented analysis (OOA) or object-oriented design (OOD).
 

2. Implementation :
An object-oriented program that complies with generally accepted principles of OOP poses the fewest obstacles to testing. Structural testability can be assessed by a few simple metrics. A metric may indicate testability, the scope of testing, or both. For example, with high coupling among classes, it is typically more difficult to control the class-under-test (CUT), thus reducing testability. The effect of all intrinsic testability metrics is the same:

  • a. relatively high value = decreased testability.
  • b. relatively low value = increased testability.

Scope metrics indicate that the number of tests is proportional to the value of the metric.
 

3. Built-in-Test :
It provides explicit separation of test and application functionality. The built-in test has some features that are given below:

  • a. The assertions in built-n-test automate the basic checking and provide “set and forget” runtime checking of basic conditions for correct execution of the program.
  • b. The Set or Reset helps in controllability.
  • c. The reporters help in observability.
  • d. A test suite is a collection of test cases and plan to use them and it defines the general contents of a test plan.
  • e. The test tools require automation and without automation, there will be less testing, more costs will be incurred to achieve a given reliability goal.

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!