Arunkumar Khannur's Software Testing Knowledge Center

5.3 Bugs and Defects

Errors are classified as bugs and defects based on severity of the error, impact of severity on behavior of system, damage caused by it. Some practitioners use source of origin as a basis to classify errors as bugs and defects. In this criteria, if error occurs in an on-going phase then it is referred to as a bug, on the other hand if source of origin of the error is its earlier phase, then it is termed as defect. In case of defects, rework effort and cost to fix are higher.

The severity of bug is a subjective measure depending on the software and the system. However following classes for severity are common in practice:
  • Catastrophic: Errors that can cause very serious effects with serious consequences in terms cost and customer satisfaction (system crash or show stoppers, security breaches resulting in access to classified and confidential data etc.)
  • Major: Errors that could cause malfunctioning of the system with manageable costs and user satisfaction (losing some important data, slow performance of the system than required, etc)
  • Minor: Errors that can cause small or negligible consequences for the system. (round-off and truncation errors, inconsistency in look and feel, etc)
  • Cosmetic: Errors that do not have any effect on system’s operation and performance. (differing alignments, typographic errors, etc)

Following sections discuss on bugs and defects.

5.3.1 Bugs
Bug is referred to as fault. According to IEEE standards, a ‘bug’ is an incorrect step, instruction or data in a program. A failure is caused because of a bug and may alter the external behavior of the program.

Bug is an error with major, minor, or cosmetic severity resulting in malfunctioning of system or non-alignment or typographical error that may cause nuisance to user and damages are manageable. Bug creates nuisance to user and there is no major implication on business continuity with client.

For some practitioners, an error is a bug if its source of its origin is current phase in progress in development. For example, if currently, design phase is in progress and an error is reported. Following analysis it is found that the error is caused because of a mistake in design phase itself of software development, then error reported is termed as a bug.

5.3.2. Defects
Defect is also referred to as failure. Defect is an error with catastrophic severity resulting in system crash or show stoppers that may cause loss of human life or damages to the extent of asset of the organization. Defect result in customer unhappiness and major implications on business continuity.

Some practitioners define an error as a defect if its source of its origin is earlier phases. For example, if currently, design phase is in progress and an error is reported. Following analysis it is found that the error is caused because of a mistake in earlier phases of software development like requirements specification or functional specification. Under such a case, error reported is termed as a defect.

Low defect content is an essential prerequisite to a quality software process. To manage defects, each software engineer must address defects where they are injected by removing them, by determining their causes and also learning to prevent them
Khannur's Book
Arunkumar Khannur, Software Testing - Techniques and Applications, Published by Pearson Publications, 2011 (ISBN:978-81-317-5836-6; Pages:341 + xxii)
Follow Khannur
Khannur's Company
ISQT Process & Consulting Services Pvt. Ltd., Bangalore, INDIA
Khannur's Software Testing Forum
 Contact Khannur
ISQT Process & Consulting Services Pvt. Ltd.
#732, 1st Floor, 12th Main,
3rd Block, Rajajinagar,
Bangalore - 560010, INDIA
Phone: +91 80 23012511
Skype: arun.isqt