What is a BUG? The life cycle of a bug․․․

The first computer bug was discovered by Grace Murray at Harvard University in 1947, while she was working on the Mark II computer. During the investigation of an issue, an actual moth was found between the contact of the relays. The moth was removed and added to the logbook.
Computer errors are often called bugs. This term is used to describe any incorrect program behavior until the specific nature of the error is determined.
A bug is a deviation of the actual result from the expected result. In any case, when we have an actual result that differs from the expected result, then we have a bug.
Bugs vary in severity and priority. Severity is the feature that characterizes the bug’s impact on system performance. Priority is the attribute that specifies the order of bug elimination. The higher the priority, the faster it should be eliminated.
Bugs can cause a wide variety of issues from small formatting changes in the displayed text, to big issues like the program freezing or crashing, loss of valuable data, and even damage to hardware.
There are many types of bugs that can cause different short-term, as well as ongoing issues. Among the most common issues։
◉ Functional errors
◉ Syntax errors
◉ Logic errors
◉ Data type mismatch
◉ Security errors
◉ Usability errors
◉ Performance errors
◉ Unit level bugs
◉ System-level integration bugs
A defect/bug life cycle is a set of states that a bug goes through during its lifetime․The purpose of Bug life cycle is to easily coordinate and communicate current status of defect which changes to various assignees and make the defect fixing process systematic and efficient. Life cycle states:
◉ New: When a new defect is logged and posted for the first time. It is assigned a status as NEW.
◉ Assigned: Once the bug is posted by the tester, the lead of the tester approves the bug and assigns the bug to the developer team
◉ Open: The developer starts analyzing and works on the defect fix
◉ Fixed: When a developer makes a necessary code change and verifies the change, he or she can make bug status as “Fixed.”
◉ Pending retest: Once the defect is fixed the developer gives a particular code for retesting the code to the tester.
◉ Retest: Tester does the retesting of the code at this stage to check whether the defect is fixed by the developer or not and changes the status to “Re-test.”
◉ Verified: The tester re-tests the bug after it got fixed by the developer. If there is no bug detected in the software, then the bug is fixed and the status assigned is “verified.”
◉ Reopen: If the bug persists even after the developer has fixed the bug, the tester changes the status to “reopened”. Once again the bug goes through the life cycle.
◉ Closed: If the bug is no longer exists then tester assigns the status “Closed.”
◉ Duplicate: If the defect is repeated twice or the defect corresponds to the same concept of the bug, the status is changed to “duplicate.”
◉ Rejected: If the developer feels the defect is not a genuine defect then it changes the defect to “rejected.”
◉ Deferred: If the present bug is not of a prime priority and if it is expected to get fixed in the next release, then status “Deferred” is assigned to such bugs
◉ Not a bug: If it does not affect the functionality of the application then the status assigned to a bug is “Not a bug”.