Defect and Failure

In the field of software testing, the terminologies 'defect' and 'failure are used to measure the quality of the software product. Number of defects found in the software product imparts its poor quality, which may be controlled and resolve whereas, the failure of the software product throws light on its degraded quality which may not be controlled, now.

What is called defects?

Defects may be seen as the elements, introduce in the software product through various entry points, which may obstruct its proper and desired working. Here, entry points may comprise of following

  • Coding error by the programmers,
  • Incorrect specifications.
  • Non-compliance of the requirements,
  • Miscommunication or lack of communication among the teams,
  • Misinterpretation,
  • Faulty designs,
  • Improper implementation and many other tangible and intangible things.

Any type of deviation occurring in the actual results from the expected or desired results reflects the presence of defect(s) in the software product. If these are not fixed or removed, they may catalyse the process of quality degradation, and ultimately, may result into failure.

Defects are occurred on the development site, generally prior and during the software development, and may be corrected on their itself before releasing it to the client or customer.

To identify and remove defects and other potential issues, testing team is being deployed by the organizations, so as to attain the maximum quality in the released software product.

What is failure?

In general, the term failure, perceives as an inability or incompetency of the human being or the machines or the software to perform and execute the given task.

In context of software engineering, the word 'failure' may be defined as the inefficiency of the software product, to exhibit its expected & desired functioning, for which it is developed, in order to satisfy the needs of the customers or end users.

Generally, failure of the software product occurs on the client or customer site, which may not be corrected. Thus, it may be inferred that the failure is the 'defect' explored by the users.

Relationship between defects and failures

It may now be understood from the concept of defect and failure that the defects in the software product are responsible for its failure. However, it is, pertinent to mention that defects causes failure, but all failures are not based on the defects.

The reasons for the failure of the software product, other than the defects, may comprise of the following factors

  • Environmental conditions or factors, which may not be supportive for the software's proper functioning.
  • Non-availability of the hardware or software, which required in the functioning of the software, such as graphics card or drivers.
  • User based mistakes such as mismanaging or mishandling the software product or continuously feeding it with invalid inputs.
  • Deliberately and intentionally breaking the system may also leads to crashes and breakdown of the software product.

Until the defects are inactive and not brought to the execution, they are unable to produce failure. Further, it is noteworthy to state that the expenditure incurred in the removal of the defects from the software is much lesser than its cost of failure.