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
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 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.
Guidelines on writing Bug Description:
Bug can be expressed as
“Result followed by the action”. That means, the unexpected behavior occurring
when a particular action takes place can be given as bug description.
1.
Be specific. State the expected behavior which did not
occur - such as after pop-up did not appear and the behavior which occurred
instead.
2.
Use present tense.
3.
Don’t use unnecessary words.
4.
Don’t add exclamation points. End sentences with a period.
5.
DON’T USE ALL CAPS. Format words in upper and lower case (mixed
case).
6.
Mention steps to reproduce the bug compulsorily.
1) Severity:
It is the extent to
which the defect can affect the software. In other words
it defines the impact that a given defect has on the system. For
example: If an application or web page crashes when a remote link is
clicked, in this case clicking the remote link by an user is rare but the
impact of application crashing is severe. So the severity is high but
priority is low.
Severity can be of
following types:
§ Critical: The defect that results in the termination of
the complete system or one or more component of the system and causes extensive
corruption of the data. The failed function is unusable and there is no
acceptable alternative method to achieve the required results then the severity
will be stated as critical.
§ Major: The defect that results in the termination of
the complete system or one or more component of the system and causes extensive
corruption of the data. The failed function is unusable but there exists an
acceptable alternative method to achieve the required results then the severity
will be stated as major.
§ Moderate: The defect that does not result in the
termination, but causes the system to produce incorrect, incomplete or
inconsistent results then the severity will be stated as moderate.
§ Minor: The defect that does not result in the
termination and does not damage the usability of the system and the desired
results can be easily obtained by working around the defects then the severity
is stated as minor.
§ Cosmetic: The defect that is related to the enhancement
of the system where the changes are related to the look and field of the
application then the severity is stated as cosmetic.
2) Priority:
Priority defines the
order in which we should resolve a defect. Should we fix it now, or
can it wait? This priority status is set by the tester to the developer
mentioning the time frame to fix the defect. If high priority is mentioned then
the developer has to fix it at the earliest. The priority status is set based
on the customer requirements. For example: If the company name
is misspelled in the home page of the website, then the priority is high and
severity is low to fix it.
Priority can be of
following types:
§ Low: The defect is an irritant which should be
repaired, but repair can be deferred until after more serious defect have been
fixed.
§ Medium: The defect should be resolved in the normal
course of development activities. It can wait until a new build or version is
created.
§ High: The defect must be resolved as soon as
possible because the defect is affecting the application or the product
severely. The system cannot be used until the repair has been done.
Few very important
scenarios related to the severity and priority which are asked during the interview:
High Priority &
High Severity: An error which
occurs on the basic functionality of the application and will not allow the
user to use the system. (Eg. A site maintaining the student details, on saving
record if it, doesn’t allow to save the record then this is high priority and
high severity bug.)
High Priority &
Low Severity: The spelling
mistakes that happens on the cover page or heading or title of an application.
High Severity &
Low Priority: An error which
occurs on the functionality of the application (for which there is no
workaround) and will not allow the user to use the system but on click of link
which is rarely used by the end user.
Low Priority and Low
Severity: Any cosmetic or
spelling issues which is within a paragraph or in the report (Not on cover
page, heading, title).
No comments:
Post a Comment