Error, bug, and defects all are very common terms and very much relatable to each other. There is a minor difference between these terms. The person who enters newly in software quality assurance industry, can get confused with these terms very easily. I will describe these terms so that everyone understand, and can differentiate between them easily.
First of all, What is Error?
Error is a mistake done by development team in coding during development of software at many web development company in USA. It can be syntax error, logical error, or semantic error. Error can be misunderstanding too If developer uses incorrect symbols or variable name. Developer can’t compile the program if there is an error present in code.
Now, What is Defect?
An error, which is found by testing team in testing phase is known as defect. It can be missing requirement, or if the actual result does not meet expected result, or if there is some technical issue. If any error or mistake found in post production, it is also known as defect. Tester reports the defects via bug tracking tool like JIRA and BUGZILLA.
Now, What is Bug?
When the defect is accepted by development team it is known as bug. Development team fixes the bug according to priority and severity of bug, and then assigns it back to testing team for retesting. Testing team will check if the bug is fixed or not. If the bug is fixed then tester will close the bug, but if it is not fixed then tester will be reopen it.
Bug/ Defects Life Cycle
Like software development life cycle and software testing life cycle, there is life cycle of bugs or defects too. Defects life cycle is started when the defect is found and it’s ended when the defect is fixed. The states of defects are as follows:
- New – When a bug is found and logged for the first time, its status will be new
- Assigned – When bug is posted by the tester and assigned to the development team after approved by the team lead, its status will be assigned
- Open – When development team start analyzing the bug, its status will be open
- Fixed – When bug is solved by the development team, the status of the bug will be fixed
- Pending retest – After fixing the bug when development team give code to tester, it will be in pending retest status
- Retest – When tester will start retest the code to check whether the bug is fixed or not, its status will be retest
- Verified – When the bug is retested by the tester, its status will be verified
- Reopened – If the bug is still present after testing, tester will change its status into reopened
- Duplicate – If the bug is repeated, its status will be duplicate
- Rejected – If the development team or lead of tester team feels it is not a bug, ,its status will be rejected
- Deferred – If the bug is not of higher priority or it will be fixed in next release then its status will be deferred
- Not a bug – If the bug does not affects any functionality then its status will be not a bug
- Closed – If the bug is fixed then its status will be closed