A software bug is an error, flaw, failure or fault in a computer program or system that causes it to produce an incorrect or unexpected result, or to behave in unintended ways.It’s an error that prevents the application from functioning as it should.
There are many reasons for software bugs. Most common reason is human mistakes in software design and coding.Once you know the causes for software defects it will be easier for you to take corrective actions to minimize these defects.
When actual result deviates from the expected result while testing a software application or product then it results into a defect.
Hence, any deviation from the specification mentioned in the product functional specification document is a bug.
The main reasons why bugs should be fixed are mentioned below :
1) Unfixed bugs camouflage other bugs
2) Unfixed bugs suggest quality isn’t important
3) Unfixed bugs leads to duplicate efforts
4) Unfixed bugs lead to unreliable metrics
5) Unfixed bugs distract the entire team
6) Unfixed bugs leads to inaccurate estimates
7) Unfixed bugs hinder short notice releases
8) Fixing familiar code is easy than unfamiliar code
9) Fixing a bugs today costs less than tomorrow
10) Discussion on unfixed bugs later is waste of time