Software Bug Life Cycle

  • Upload
    anoopch

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

  • 8/9/2019 Software Bug Life Cycle

    1/8

    Software Bug Life-Cycle

    Defect Life Cycle is the Cycle thru which a defect goes starts when defect found & ends when defect is

    closed after ensuring its not reproduced. Defect Life cycle is related to Bug found during testing so it

    doest depend on Manual & Automated Testing.

    Or

    The time span between the first time bug is found by the tester the Bug status is New

    and closed successfully with status is Closed in between the bug travelled with different

    stages like open, assign, rejected, fixed is called Bug Life Cycle.

    Introduction:

    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:

  • 8/9/2019 Software Bug Life Cycle

    2/8

  • 8/9/2019 Software Bug Life Cycle

    3/8

    The different states of a bug can be summarized as follows:

    1. New 5. Verified 9. Rejected 13.Testers Error

    2. Open 6. Deferred 10. Closed

    3. Assign 7. Reopened 11. As Per Design

    4. Test 8. Duplicate 12.Hold

    Description of Various Stages:

    1. New:When the bug is posted for the first time by the testers, 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 or not

    and he changes the state as OPEN.

  • 8/9/2019 Software Bug Life Cycle

    4/8

    3. Assign:Once the lead changes the state as OPEN, he assigns the bug to corresponding developer or

    developer lead. The state of the bug now is changed to ASSIGN.

    6. Rejected:If the test lead/developer feels that the bug is not genuine, he rejects the bug. Then the state

    of the bug is changed to REJECTED.

    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. Re-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 Re-Test. It

    specifies that the bug has been fixed and is released to testing team.

    7. 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.

    8. 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 Re-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.

    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.

    11) Hold:Whenever the defect is raised, that is associated with lack of information; usually such defectsare not accepted by the developers. It is because with existing information, one can neither call it as

    defect nor not a defect. In this situation the developer assigns the status known as'Hold'.

    12) As Per Design:In case the hasty implementation of the requirements without the intimation of Test

    Engineer there is always a possibility that the Expected Value will not match the Actual Value. Obviously,

    Test Engineer raises a defect which is not at all accepted by developer as the implementation is done as

  • 8/9/2019 Software Bug Life Cycle

    5/8

    per the requirements of the customer. Hence he will assign the status known as'As Per Design',

    indicating the functionality is as per the requirements.

    13)Tester's Error:In case the Test Engineer does not understand the requirement properly, here is a

    possibility of creating wrong test case to perform wrong testing and there by result is wrong defect. These

    wrong defects are not accepted by the developer and he will assign a status known as'Tester's Error',

    indicating testing is not done properly.

    While defect prevention is much more effective and efficient in reducing the number of defects, most

    organization conducts defect discovery and removal. Discovering and removing defects is an expensive

    and inefficient process. It is much more efficient for an organization to conduct activities that prevent

    defects.

    'BUG LIFE-CYCLE'has the following statuses of defect.

    a)New:Whenever a defect is raised by the Test Engineer for the first time, he will always give the status as

    'New/Open'indicating is raised afresh, is not yet dealt with developer.

    b)Fixed For Rectification:Once the developer accepts the defect, he will rectify it and once the defect is

    rectified, he will give the status to the defect as'Fixed for Verification', indicating the defect is rectified

    and ready for verification.

    c) Closed:Once the Fixed for Verification is sent to Test Engineer, on verification, if the Test Engineer

    realized that the defect is really rectified by the developer, he will assign the status as'Closed', indicating

    that this defect is not at all present in the product.

    d) Re-Open:On verification the Test Engineer realizes that the defect is not really rectified properly, he

    will always assign the status as'Re-Open', indicating that the defect is still there in the product in spite

    of developers effort for rectifying it.

    e) Hold:Whenever the defect is raised, that is associated with lack of information; usually such defects

    are not accepted by the developers. It is because with existing information, one can neither call it as

    defect nor not a defect. In this situation the developer assigns the status known as'Hold'.

    f)As Per Design:In case the hasty implementation of the requirements without the intimation of Test

    Engineer there is always a possibility that the Expected Value will not match the Actual Value. Obviously,

    Test Engineer raises a defect which is not at all accepted by developer as the implementation is done as

  • 8/9/2019 Software Bug Life Cycle

    6/8

    per the requirements of the customer. Hence he will assign the status known as'As Per Design',

    indicating the functionality is as per the requirements.

    g)Tester's Error:In case the Test Engineer does not understand the requirement properly, here is a

    possibility of creating wrong test case to perform wrong testing and there by result is wrong defect. These

    wrong defects are not accepted by the developer and he will assign a status known as'Tester's Error',

    indicating testing is not done properly.

    Statuses associated with the Bug:

    New:

    When a bug is found/revealed for the first time, the software tester communicates it to his/her team

    leader (Test Leader) in order to confirm if that is a valid bug. After getting confirmation from the Test Lead,

    the software tester logs the bug and the status of New is assigned to the bug.

    Assigned:

    After the bug is reported as New, it comes to the Development Team. The development team verifies if the

    bug is valid. If the bug is valid, development leader assigns it to a developer to fix it and a status of

    Assigned is assigned to it.

    Open:

    Once the developer starts working on the bug, he/she changes the status of the bug to Open to indicate

    that he/she is working on it to find a solution.

    Fixed:

    Once the developer makes necessary changes in the code and verifies the code, he/she marks the bug as

    Fixed and passes it over to the Development Lead in order to pass it to the Testing team.

    Pending:

    After the bug is fixed, it is passed back to the testing team to get retested and the status of Pending

    Retest is assigned to it.

    Retest:

    The testing team leader changes the status of the bug, which is previously marked with Pending Retest to

    Retest and assigns it to a tester for retesting.

    Closed:

    After the bug is assigned a status of Retest, it is again tested. If the problem is solved, the tester closes it

  • 8/9/2019 Software Bug Life Cycle

    7/8

    and marks it with Closed status.

    Reopen:

    If after retesting the software for the bug opened, if the system behaves in the same way or same bug

    arises once again, then the tester reopens the bug and again sends it back to the developer marking its

    status as Reopen.

    Pending Reject:

    If the developers think that a particular behavior of the system, which the tester reports as a bug has to

    be same and the bug is invalid, in that case, the bug is rejected and marked as Pending Reject.

    Rejected:

    If the Testing Leader finds that the system is working according to the specifications or the bug is invalid

    as per the explanation from the development, he/she rejects the bug and marks its status as Rejected.

    Postponed:

    Sometimes, testing of a particular bug has to be postponed for an indefinite period. This situation may

    occur because of many reasons, such as unavailability of Test data, unavailability of particular

    functionality etc. That time, the bug is marked with Postponed status.

    Deferred:

    In some cases a particular bug stands no importance and is needed to be/can be avoided, that time it is

    marked with Deferred status.

    Guidelines on deciding the Severity of Bug:

    i)Fatal Defects:If at all the defects are associated with navigational blockages and non-availability of

    important features/objects/application windows are known as Fatal Defects. Example:- 404 Page not

    Found Error

    ii) Major Defects:If the defects are associated with wrong functionalities, such defects are known as

    Major Defects. Example: - Wrong Calculations

    iii)Minor Defects :In case the defects are associated with inconsistency, alignments, spelling issues and

    look & feel issues, such defects are known as Minor Defects. Spelling mistakes, improper alignment of the

    objects

  • 8/9/2019 Software Bug Life Cycle

    8/8

    IV) Suggestion:Strictly speaking, suggestion is not a defect. In fact it is a note given by testers to the

    developers in order to add value for the application. Example:- Suggestion for the modification of Error

    Messages

    Guidelines on deciding the Severity of Bug:

    Indicate theimpacteach defect has ontesting effortsor users and administrators of the application

    under test. This information is used by developers and management as thebasisfor assigningpriorityof

    work on defects.

    A sample guideline for assignment of Priority Levels during the product test phase includes:

    1. 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.

    .

    2. 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.

    .

    3.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.

    .

    4. Minor / Low Cosmetic defects which does not affect the functionality of the system can be

    classified as Minor Bugs.

    Priority -i) Critical ii) High iii) Medium iv) Low