Home > Ask the Software Quality Experts > Software Testing and Quality Assurance Questions & Answers > Software bugs, errors and defects: What's the difference?
Ask The Software Quality Expert: Questions & Answers
EMAIL THIS

Software bugs, errors and defects: What's the difference?

>
QUESTION:
What's the exact difference between an error, a defect and a bug?


RELATED CONTENT
Software Testing and Quality Assurance
How do I create a test case based on requirements documents for user acceptance testing?
Resolving issues in baseline, load and stress testing
Why do performance testers write new scripts so often?
How to create performance testing workload models
Fixing Web application performance troubleshooting problems
Expert advises on implementation of Selenium IDE for effective software testing
When should regression testing occur in an automated test plan?
Achieving peak performance in integration testing
Getting answers about OpenSTA script problems
Defining core software regression tests

Software testing and quality assurance (QA) fundamentals
Variants between software quality assurance and software testing
Nine ways to evaluate automated software testing tools
Manipulating Business Intelligence to solve dense data warehouse testing issues
How to deal with iteration issues in Agile
Five steps to fostering better software tester and QA results
Software Testing: New software testing technologies bring new challenges
Testing strategies for complex environments
Astronaut's STPCon advice: Teamwork delivers "The Right Stuff"
How to make your software tamperproof
Software consortium seeks standard quality metrics

Software testing tools and frameworks
Sauce Labs adds business value to Selenium testing with IDE
Testing rich Web services with soapUI
Resolving issues in baseline, load and stress testing
Performance testing tools - Commercial, less expensive and free
Software Testing Ezines
New IBM Rational, Tivoli integrated tools pair development with IT
STPCon: Do reality checks on performance test products, panelists advise
Demo: Using WebGoat, a free software testing tool
Getting answers about OpenSTA script problems
Defining core software regression tests

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
build  (SearchSoftwareQuality.com)
code review  (SearchSoftwareQuality.com)
conformance testing  (SearchSoftwareQuality.com)
error handling  (SearchSoftwareQuality.com)
garbage in, garbage out  (SearchSoftwareQuality.com)
load testing  (SearchSoftwareQuality.com)
NUnit  (SearchSoftwareQuality.com)
quality assurance  (SearchSoftwareQuality.com)
stress testing  (SearchSoftwareQuality.com)
white box  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


Mike Kelly EXPERT RESPONSE FROM: Mike Kelly

Pose a Question
Other Software Quality Categories
Meet all Software Quality Experts
Become an Expert for this site
ANSWERED March 2007:

In their Black Box Software Testing course, Kaner and Bach define the following in their session on Bug Advocacy:

"An error (or fault) is a design flaw or a deviation from a desired or intended state. An error won't yield a failure without the conditions that trigger it. Example, if the program yields 2+2=5 on the 10th time you use it, you won't see the error before or after the 10th use. The failure is the program's actual incorrect or missing behavior under the error-triggering conditions. A symptom might be a characteristic of a failure that helps you recognize that the program has failed. Defect might refer to the failure or to the underlying error." (Text formatting is the authors, not mine.)

That seems as about as useful a definition as I've seen for an error and a defect. It's what came to mind when I read the question. However, I find I don't use the terms error and defect much when I talk about testing. When I do use the term defect, I'm normally referring to a record in a defect tracking tool like ClearQuest or Bugzilla. I normally just call everything a bug.

I like James Bach's and Michael Bolton's definition of a bug:

"A bug is something that bugs somebody who matters."

I find I use this definition for many reasons:

  1. It's easy to remember: I don't have to go look it up in a slide I saw six months ago (like I did with the above definitions). I can remember it and explain it to someone off the top of my head, with little to no effort and with no appeal to authority. I don't even need to attribute it to James and Michael if it's a hallway conversation with a programmer or manager.


  2. It's consistent with my experience: I find that this definition has applied to every project I've worked on. I've logged deviations from requirements that were closed as functions as designed. Those weren't bugs. I've logged inconsistencies in implementation that were closed as functions as designed. Those weren't bugs. I've even logged a security issue that allowed me to log into the production environment of a very large company without a user id or password. But that wasn't a bug either. None of those bugged the people who mattered. They only bugged me.


  3. It's simple to explain: When I tell someone a bug is something that bugs somebody who matters, about the only follow up question I get is "Well, who matters?" Everyone seems to intuitively understand that this definition has a ring of truth. I find that it keeps me out of debates on word definitions and spares me from appealing to authorities that no one agrees on.

Of course, this question might also be one of the most universally asked questions on software testing Web sites. A Google search returns tons of answers, citing everything from Wikipedia to British norm BS 7925-1. My advice is to talk to the people you work with to understand how they use the terms. If they use them differently then me (or British norm BS 7925-1), theirs is probably the opinion that matters.

More information:




Search and Browse the Expert Answer Center
Search and browse more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
Browse our Expert Advice



Software Quality - Software Maintenance, Software Requirements, Software Standards
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2010, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts