Iris Classon
Iris Classon - In Love with Code

Stupid Question 154: Bug, issue or defect? What is the correct term?

[To celebrate my first year of programming I will ask a ‘stupid’ questions daily on my blog for a year, to make sure I learn at least 365 new things during my second year as a developer]

Bug, issue or defect?

“At Autonomy, the word ‘bug’ is banned. No developer is allowed to use it. The tracking system does not have that word. Bugs are referred to as ‘Issues’. This is so that the customer cannot claim that things should be fixed during the warranty period since they aren’t recognized as bugs.” I got this comment on my last question , and it got me thinking.

I must get my words right, sometimes I say issue, but most of the time I say bug. I’ve never said defect. But what is the correct word, and is there a difference between the three words?

Definitions first:

Bug (software)

Wikipedia: “A software bug is an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways”

Issue

Wikipedia: “In computing, the term issue is a unit of work to accomplish an improvement in a system. An issue could be a bug, a requested feature, task, missing documentation, and so forth. The word “issue” should not be misunderstood as just a synonym for “problem,” as in other English usage.”

Issues are divided into four general severity levels, high, medium, low or cosmetic.

Defect
Webster:
1
a : an imperfection that impairs worth or utility : shortcoming b : an imperfection (as a vacancy or an unlike atom) in a crystal lattice
2
[Latin defectus] : a lack of something necessary for completeness, adequacy, or perfection : deficiency

I’ve heard that defect and bug are sometimes used interchangeable, but from the the two definitions above I reckon there seems to be a difference, some more searching led me to this quite good blog post on quality assurance:Defects vs. Bugs; Are They Different?. But the more I look around, the more confused I get. There seems to be a disagreement whether or not defect and bug is the same thing. And same goes for issue and bug: StackOverflow discussion: What’s the difference between a bug tracking and an issue tracking system?

But this is how I understand it:

An issue can be a bug or a defect. The term issue is often used with clients to indicate that the problem not necessarily is faulty code. A defect can also be a bug, but for me a defect is a piece of code that works- but doesn’t do what it is expected to do. A bug is more mysterious, I’m not quite sure what is going on and thus I refer to is as an insect as the only thing I know is that it is something annoying and unwelcome.

So, tell, do I have this right?

  • I’m hoping for some testers to contribute here :)

    Comments

    Leave a comment below, or by email.
    srinivas kadiyala
    2/20/2013 10:12:51 PM
    Thanks for the post.
    
    I really liked the way u mentioned.
    
    I am a Tester and here in the post u have given clear description. 
    WillW
    2/20/2013 9:53:08 AM
    This is the most common way I've seen these terms used - I'm not saying that this is "correct usage" and other usages are incorrect, just that this is my experience.
    
    A bug is where software doesn't do what was intended. Usually people use this word for when software doesn't do what was intended by the person who deems it to be a bug. For this reason, what is and what is not a bug may differ between development, QA, and product management.
    
    A defect is where the system doesn't do what was intended, but usually includes others' viewpoints. A developer probably won't consider their software to contain a bug if it does exactly what the specification says, even if it is not what the product manager nor the end-user actually wants it to do, but the developer may agree that it is a defect - just not in their work.
    
    An issue is a very broad term that encompasses bugs and defects, but also things such as new feature requests. It's a work item or an action item. 
    Jon Friesen
    2/20/2013 9:58:10 AM
    I'm a tester, I'd say you have a pretty good handle on the definitions from your post.
    In our practice an issue is very broad. I'd classify an issue as anything from a missing prerequisite, to a bug, and in some cases user error.
    While we don't use bug or defect specifically, I feel that it our uses trend towards a bug is a mistake in the code, while a defect is an issue in the use of the code. A defect can contain a bug, but a bug (by our definition) can not be a defect. 
    Bil Simser
    2/20/2013 10:23:01 AM
    IANAT but here's my take on things. Defect is something in software that's defective and not "as designed". An example would be click button A and show dialog H but the actual result is dialog C is displayed. A bug is something that happens where you didn't expect it to. Continuing the example, click button A and "sometimes" dialog C is displayed, sometimes nothing (and other times dialog H). It can be the same and to each their own. Some people will use the term interchangably, I just prefer to say a bug is a defect of undetermined cause. As for an issue, it's like "click button A and display a dialog but maybe we should be sending an email too". Something the powers that be have to figure out, modify behavior, etc. and maybe either change software, change the business process, or both (or neither). As always, YMMV. 
    Erik
    2/20/2013 10:35:25 AM
    Some companies don't like using "bug" for whatever reason. Perhaps they don't like the word, or what it implies, maybe just to use a broad generic word. I know that Canon always uses the word "phenomenon" in their press releases when issuing new camera firmware that resolves bugs people report.
    
    From my testing experience, a bug is when a program does something incorrect or unexpected. An issue can literally be anything, including a "bug" if that's your company's nomenclature.
    
    YMMV. 
    Lamin Sanneh
    2/20/2013 10:48:03 AM
    Well, having worked with testers for a while, the only word I hear them say when they found a problem in the devs code is "bug". Now , having read your post, I must say, issue is probably the right word to use on a normal( non serious but casual) case but if specifics are required, I then say yes, you absolutely have the right to say "bug". The reason I say this is because, just saying issue in this case might become ambiguous as the reason for the issue might have been a mistake, hence has to be called a bug or it may have been intentional but the product fails to satisfy end users, in which case, it should be called a defect. Mind you, I'm just explaining from what I understand from your post, correct me if I'm wrong. 
    Tony
    2/20/2013 11:03:52 AM
    They are not bugs, issues, or defects! They are opportunities! Opportunities to be better, make better software, and impress the client/user. 
    
    While I am joking, somewhat, this did stem from a previous job I had. We had so many issues with our internal legecy software (written in house) (15+ years old) and the business did like all the bug reports or talk about bugs. The business also would not allow time or money to address the bugs, so we switched to calling them opportunities. 
    fFred Daley
    2/20/2013 1:16:05 PM
    I like "issue" just because it sounds more positive than "bug".  Never used "defect". 
    FFraFFrahttp://en.wikipedia.org/wiki/HeisenbugFranZone
    2/21/2013 12:49:53 AM
    http://en.wikipedia.org/wiki/Heisenbug 
    PolymorphicNinja
    2/22/2013 9:26:00 AM
    This is how I've defined them when I run a software project:
    
    Generally when a problem is reported, it's not always readily apparent that it is a bug or a defect.  Especially if a non-programmer is given the ability to submit reports.  So just to get the report into the database, they're often categorized as an issue.  Once investigated, it can be re-categorized as a bug or a defect.
    
    I think most everyone has a handle on what a bug is:  A mistake in the code that goes against the application's design.
    
    I classify a defect as a mistake in how the problem is solved.  Or, in other words, the business THOUGHT that's how the process should work, but over time and usage discovered that it is problematic.  This isn't really a bug, because the application is behaving as designed.  But it's not really a feature (which is a status you didn't include) since it re-addresses a badly designed element of the app. 
    Johan
    2/25/2013 5:03:19 AM
    Regarding the original comment, do the company think bugs do not exist if you just call them something else?
    In the words of Morbo: "WINDMILLS DO NOT WORK THAT WAY!!!"
    (In other words, they are deluding themselves.) 
    Jay
    3/6/2013 2:18:57 PM
    The correct term is always 'brukerfeil' 
    Tracy Sells
    3/12/2013 8:57:15 PM
    I think it really depends on your organization classifies them.  At the end of the day the useris affected (bug / defect / issue) and inconvenienced. The software or feature is NOT working as the user expected it to work (bad thing).  This can be a break down in the training / documentation (issue), defect in the system (design flaw / bad requirements / misinterpretation), or just a plain ole bug (developer didn't get enough sleep, bad tests, no code reviews, etc.).  Regardless of how it's classified we still failed the user.  The way we classify internally can be valuable (if used correctly) to show trends and areas of improvement to help and try to prevent / limit these "bad things" from occurring. 
    Bug Issue Tracking Software
    8/16/2013 3:57:42 AM
    A web application or a software development process always has bugs which is very normal in a hundreds of lines of code. The important part is tracking & fixing them. Whether you are a one-person-army or have teammates, it is a big time-saver to use bug tracking software. 
    Quality Analyst
    11/7/2016 10:58:22 PM
    The main thing is that, nobody none any developer or team lead matters what you are saying to the issue whether its bug, issue or defect.
    
    They all need to know what the problem is regardless the term used by tester and aims to deliver project on time not to mess up with these terms (bug, defect , issue)
    
    S 

Last modified on 2013-02-19

comments powered by Disqus