BUG LIFE CYCLE

BUG: Bug can be defined as the abnormal behavior of the software. No software exists without a bug. The elimination of bugs from the software depends upon the efficiency of testing done on the software. A bug is a specific concern about the quality of the Application under Test (AUT).
Bug Life Cycle: In software development process, the bug has a life cycle. The bug should go through the life cycle to be closed. A specific life cycle ensures that the process is standardized. The bug attains different states in the life cycle. The life cycle of the bug can be shown diagrammatically as follows:

The different states of a bug can be summarized as follows: 1. New 2. Open 3. Assign 4. Test 5. Verified 6. Deferred 7. Reopened 8. Duplicate 9. Rejected 10. Closed

Description of Various Stages:

  • 1. New: When the bug is posted for the first time, its state will be “NEW”. This means that the bug is not yet approved.
  • 2. Open: After a tester has posted a bug, the lead of the tester approves that the bug is genuine and he changes the state as “OPEN”.
  • 3. Assign: Once the lead changes the state as “OPEN”, he assigns the bug to corresponding developer or developer team. The state of the bug now is changed to “ASSIGN”.
  • 4. Test: Once the developer fixes the bug, he has to assign the bug to the testing team for next round of testing. Before he releases the software with bug fixed, he changes the state of bug to “TEST”. It specifies that the bug has been fixed and is released to testing team.
  • 5. Deferred: The bug, changed to deferred state means the bug is expected to be fixed in next releases. The reasons for changing the bug to this state have many factors. Some of them are priority of the bug may be low, lack of time for the release or the bug may not have major effect on the software.
  • 6. Rejected: If the developer feels that the bug is not genuine, he rejects the bug. Then the state of the bug is changed to “REJECTED”.
  • 7. Duplicate: If the bug is repeated twice or the two bugs mention the same concept of the bug, then one bug status is changed to “DUPLICATE”.
  • 8. Verified: Once the bug is fixed and the status is changed to “TEST”, the tester tests the bug. If the bug is not present in the software, he approves that the bug is fixed and changes the status to “VERIFIED”.
  • 9. Reopened: If the bug still exists even after the bug is fixed by the developer, the tester changes the status to “REOPENED”. The bug traverses the life cycle once again.
  • 10. Closed: Once the bug is fixed, it is tested by the tester. If the tester feels that the bug no longer exists in the software, he changes the status of the bug to “CLOSED”. This state means that the bug is fixed, tested and approved

Guidelines on deciding the Severity of Bug: Indicate the impact each defect has on testing efforts or users and administrators of the application under test. This information is used by developers and management as the basis for assigning priority of work on defects. A sample guideline for assignment of Priority Levels during the product test phase includes: Critical / Show Stopper — An item that prevents further testing of the product or function under test can be classified as Critical Bug. No workaround is possible for such bugs. Examples of this include a missing menu option or security permission required to access a function under test. Major / High — A defect that does not function as expected/designed or cause other functionality to fail to meet requirements can be classified as Major Bug. The workaround can be provided for such bugs. Examples of this include inaccurate calculations; the wrong field being updated, etc. Average / Medium — The defects which do not conform to standards and conventions can be classified as Medium Bugs. Easy workarounds exists to achieve functionality objectives. Examples include matching visual and text links which lead to different end points. Minor / Low — Cosmetic defects which does not affect the functionality of the system can be classified as Minor Bugs.

What should be done after a bug is found? The bug needs to be communicated and assigned to developers that can fix it. After the problem is resolved, fixes should be re-tested, and determinations made regarding requirements for regression testing to check that fixes didn't create problems elsewhere. If a problem-tracking system is in place, it should encapsulate these processes. A variety of commercial problem-tracking/management software tools are available. The following are items to consider in the tracking process:

  • Ø Complete information such that developers can understand the bug, get an idea of it's severity, and reproduce it if necessary.
  • Ø Bug identifier (number, ID, etc.)
  • Ø Current bug status (e.g., 'Released for Retest', 'New', etc.)
  • Ø The application name or identifier and version
  • Ø The function, module, feature, object, screen, etc. where the bug occurred
  • Ø Environment specifics, system, platform, relevant hardware specifics
  • Ø Test case name/number/identifier
  • Ø One-line bug description
  • Ø Full bug description
  • Ø Description of steps needed to reproduce the bug if not covered by a test case or if the developer doesn't have easy access to the test case/test script/test tool
  • Ø Names and/or descriptions of file/data/messages/etc. used in test
  • Ø File excerpts/error messages/log file excerpts/screen shots/test tool logs that would be helpful in finding the cause of the problem
  • Ø Severity estimate (a 5-level range such as 1-5 or 'critical'-to-'low' is common)
  • Ø Was the bug reproducible?
  • Ø Tester name
  • Ø Test date
  • Ø Bug reporting date
  • Ø Name of developer/group/organization the problem is assigned to
  • Ø Description of problem cause
  • Ø Description of fix
  • Ø Code section/file/module/class/method that was fixed
  • Ø Date of fix
  • Ø Application version that contains the fix
  • Ø Tester responsible for retest
  • Ø Retest date
  • Ø Retest results
  • Ø Regression testing requirements
  • Ø Tester responsible for regression tests
  • Ø Regression testing results

2 comments:

Unknown said...

Much helpful,too good creation.

Unknown said...

Hi gargi
Thanks a lot..
Manish