Ubuntu – What constitutes a bug

bug-reporting

Actually what is a bug ? any predefined rules?

Best Answer

A bug is:

A software bug is the common term used to describe 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. (From Wikipedia)

Here is another good definition of what constitutes a bug. Either:

  1. The program did not behave according to the programmer’s intentions. or
  2. The programmer’s intentions did not fulfill common and reasonable user expectations.

Ubuntu community has a excellent definition for bug in this wiki, especially highlighting the difference between bug and missing features:

A software bug is an error or fault in a computer program which makes it fail to work as it's supposed to. This could be as simple as failing to work at all, or as complicated as a subtly incorrect result [...] Some things aren't bugs, but are missing features that should be reasonably included. Missing features shouldn't be reported as bugs, instead FeatureSpecifications should be written for them.

While it is hard to draw a line separating the two definitions and answer the question is it bugs or missing features?, it is possible to give some guidelines:

  • if it's a problem that would have many details to address, it's likely to be a feature. For example, the inability to write files safely to a modern Windows partition is a missing feature.
  • The inability to write files safely to a ReiserFS partition would be a bug.

The difference between the two assertions is: the first is more widespread (support modern windows FS) and thus can be view as Missing Feature, while the other emphasizes a unique problem (can't write into ReiserFS) - a specific bug.

If you are interested, I recommends you to take a look at the BugSquad team wiki. Fighting bugs is one of the most interesting activities involved in software development cycle, besides being a great learning opportunity :-)

Thanks!

Related Question