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?

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


Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


>
QUESTION POSED ON: 22 March 2007
What's the exact difference between an error, a defect and a bug?


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


RELATED CONTENT
Software Testing and Quality Assurance
What are the top free and not-free automated test tools?
Test case preparation for a Web-based application
The difference between functional testing and regression testing
Free load/performance testing tools for Java-based Web applications
Mapping results in test environment to production environment
What are some debugging shortcuts to reduce frequent debugging?
How to get a software testing job in a recession
How to write a test strategy document
What are the risks in using open source test automation tools?
What is system integration testing?

Software testing and quality assurance (QA) fundamentals
Five roles test managers play in agile development: Tutorial, part one
Three software regression testing steps can perfect defect fixes
Software Testing: Assessing risk and scope
Software Testing: How to know you're ready to start testing
Quality assurance (QA) and testing's role in requirements
Test case preparation for a Web-based application
The difference between functional testing and regression testing
Mapping results in test environment to production environment
Agile software development tutorial: Agile testing
Creating strong QA and testing strategies in a changing world

Software testing tools and frameworks
How test managers can shine in agile development: Tutorial, part two
VMLogix adds support for testing in the cloud
PushToTest taps into the cloud
Exploring mobile layout testing, emulators and goals
Liz Andrews, Marketing Manager, Altova
New tools target software QA, testing: Spring roundup
Coverity introduces build analysis tool, new Integrity Center
Agile software development tutorial: Agile project management, tools
The benefits of exploratory testing in agile environments
How to write a test strategy document

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


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 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts