sblc

7
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: 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 and 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

Upload: sabari-nathan

Post on 10-Sep-2015

224 views

Category:

Documents


2 download

DESCRIPTION

SDLC

TRANSCRIPT

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:The different states of a bug can be summarized as follows:1. New2. Open3. Assign4. Test5. Verified6. Deferred7. Reopened8. Duplicate9. Rejected and10. ClosedDescription 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.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.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: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.

FIELDS IN BUG TRACKING TOOL:1. Bug ID.2. Bug summary.3. Bug description.4. Assigned to5. Severity.6. Priority.7. Status.8. CC List.9. Attachments.10. Comments.BUG ID:? A unique id is given for every bug.BUG SUMMARY:? Single line explanation about the bug.BUG DESCRIPTION:? The details about bug.ASSIGNED TO:? To whom the bug is assigned.SEVERITY:? Impact of the bug based on the application.PRIORITY:? How important the bug has to be fixed.STATUS:1. New2. Deffered3. Rejected4. Duplicate5. Answer only6. Open7. Fixed8. Resolved9. Verify and Close10. Failed.NEW:? When the test engineers identify the bug he set the status as NEW.DEFFERED:? In some cases the bug is not important for the current release then the status will be DEFFERED.REJECTED:? When the bug is invalid then the developer will change the status of the bug to REJECTED.DUPLICATE:? When the test engineer identifies the bug if the same bug has been fixed already by another test engineer then the status will be DUPLICATE.ANSWER ONLY:? If the bug is due to environmental issues and not code error then he changes the status to ANSWER ONLY.OPEN:? Development lead will see the bug. If it is valid then he change the status to OPEN.FIXED:? After fixing the bug by developer he change the status to FIXED.RESOLVED:? After fixing the bug by developer the new build has been created then the developer will change status RESOLVED.VERIFY AND CLOSE:? After the bug resolved then the test engineer will re-execute the test cases when there is no mismatch in the test cases then test engineer will change the status to VERIFY and then CLOSE.FAILED:? If the mismatch occurs in the test cases means then the tester will change the status to FAILED.CC LIST:? Complete list of e-mail ids we want to sent.ATTACHMENTS:? If any bug is identified then the details of the bug has been attached.COMMENTS:? If any bug is modified then the tester will add the commands about the bug.

What is Bug/Defect?Simple Wikipedia definition of Bug is:A computer bug is an error, flaw, mistake, failure, or fault in a computer program that prevents it from working correctly or produces an incorrect result. Bugs arise from mistakes and errors, made by people, in either a programs source code or its design.Other definitions can be:An unwanted and unintended property of a program or piece of hardware, especially one that causes it to malfunction.orA fault in a program, which causes the program to perform in an unintended or unanticipated manner.Lastly the general definition of bug is: failure to conform to specifications.If you want to detect and resolve the defect in early development stage, defect tracking and software development phases should start simultaneously.We will discuss more on Writing effective bug report in another article. Lets concentrate here on bug/defect life cycle.Life cycle of Bug:1) Log new defectWhen tester logs any new bug themandatory fieldsare:Build version, Submit On, Product, Module, Severity, Synopsis and Description to ReproduceIn above list you can add someoptional fieldsif you are using manual Bug submission template:These Optional Fields are: Customer name, Browser, Operating system, File Attachments or screenshots.The following fields remain either specified or blank:If you have authority to add bug Status, Priority and Assigned to fields them you can specify these fields. Otherwise Test manager will set status, Bug priority and assign the bug to respective module owner.Look at the following Bug life cycle:

[Click on the image to view full size] Ref: Bugzilla bug life cycleThe figure is quite complicated but when you consider the significant steps in bug life cycle you will get quick idea of bug life.On successful logging the bug is reviewed by Development or Test manager. Test manager can set the bug status as Open, can Assign the bug to developer or bug may be deferred until next release.When bug gets assigned to developer and can start working on it. Developer can set bug status as wont fix, Couldnt reproduce, Need more information or Fixed.If the bug status set by developer is either Need more info or Fixed then QA responds with specific action. If bug is fixed then QA verifies the bug and can set the bug status as verified closed or Reopen.Bug status description:These are various stages of bug life cycle. The status caption may vary depending on the bug tracking system you are using.1) New:When QA files new bug.2) Deferred:If the bug is not related to current build or can not be fixed in this release or bug is not important to fix immediately then the project manager can set the bug status as deferred.3) Assigned:Assigned to field is set by project lead or manager and assigns bug to developer.4) Resolved/Fixed:When developer makes necessary code changes and verifies the changes then he/she can make bug status as Fixed and the bug is passed to testing team.5) Could not reproduce:If developer is not able to reproduce the bug by the steps given in bug report by QA then developer can mark the bug as CNR. QA needs action to check if bug is reproduced and can assign to developer with detailed reproducing steps.6) Need more information:If developer is not clear about the bug reproduce steps provided by QA to reproduce the bug, then he/she can mark it as Need more information. In this case QA needs to add detailed reproducing steps and assign bug back to dev for fix.7) Reopen:If QA is not satisfy with the fix and if bug is still reproducible even after fix then QA can mark it as Reopen so that developer can take appropriate action.8 ) Closed:If bug is verified by the QA team and if the fix is ok and problem is solved then QA can mark bug as Closed.9) Rejected/Invalid:Some times developer or team lead can mark the bug as Rejected or invalid if the system is working according to specifications and bug is just due to some misinterpretation.