Documente Academic
Documente Profesional
Documente Cultură
OUTLINE
What is a Software Error?
Finding, Reproducing and Analyzing a Software Error
Reporting a Software Error
A Common Bug Life
WHAT
IS A
SOFTWARE ERROR?
13 COMMON TYPES OF
SOFTWARE ERRORS
1/ User Interface
2/ Error Handling
3/ Boundary-Related
4/ Calculation
5/ Initial and Later States
6/ Control Flow
7/ Handling or Interpreting Data
8/ Race Conditions
9/ Load Conditions
10/ Hardware/Environment Compatibility
11/ Source, Version, and ID Control
12/Testing
13/ Documentation
5
OUTLINE
What is a Software Error?
Finding, Reproducing and Analyzing a Software Error
Reporting a Software Error
A Common Bug Life
BUG
1.
2.
3.
WHAT TO DO IN A
FINDING PROCESS?
REPRODUCING
SOFTWARE ERROR
Some bugs are always reproducible, but some are just sometimes
or even rarely.
Bugs dont just miraculously happen and then go away. If a bug
happens intermittently, it might be under some certain
conditions.
We hypothesize the cause, then we try to re-create the conditions
that make the error visible.
If the bug is non-reproducible, you should always report it, but
describe your steps and observations precisely. Programmers will
often figure them out.
8
HARD
WHY IS A BUG
TO REPRODUCE?
Memory dependent
Memory corruption
Configuration dependent
Software
Hardware
Timing related
Initialization
Data flow dependent
Control flow dependent
Error condition dependent
Multi-threading dependent
Special cases
Algorithm
Dates
10
12
OUTLINE
What is a Software Error?
Finding, Reproducing and Analyzing a Software Error
Reporting a Software Error
A Common Bug Life
13
HOW TO REPORT
SOFTWARE ERROR
14
Written
Uniquely numbered (ID required)
Simple (non-compound - one bug per report)
Understandable
Reproducible
Non-judgmental
15
REPORT CONTENT
Summary
Description
Steps to Reproduce including expected
behavior and observed behavior
Reproducible
Severity
Frequency
Priority
Keyword (Functional Area)
Resolution
16
BUG SUMMARY
17
BUG SUMMARY
Some good examples of Bug Summary:
1.
2.
3.
4.
18
BUG SUMMARY
Some not-so-good examples of Bug Summary:
1.
2.
3.
4.
Software fails
Can't install
Back button does not work
My browser crashed. I think I was on www.foo.com. I play golf
with Bill Gates, so you better fix this problem, or I'll report you
to him. By the way, your Back icon looks like a squashed
rodent. Too ugly. And my grandmother's home page is all
messed up in your browser.
19
AND
BUG DESCRIPTION
STEPS TO REPRODUCE
First, describe the problem. What is the bug? Dont rely on the
summary to do this a short line sometimes cannot state all
what you want to say.
Next, go through the steps that you use to recreate this bug.
Start from a known place (e.g. boot the program) and then
describe each step until you hit the bug.
20
IMPROVE
THE
BUG REPORT
2)
21
1.
22
2. SPLIT
THE
REPORT
IN
TWO
23
25
REPRODUCIBLE
SEVERITY
27
FREQUENCY
1 - Always
2 - Often
3 - Seldom
28
PRIORITY
29
KEYWORD
(FUNCTIONAL AREA)
You may have to categorize the bug according to
its functional area.
The tracking system should include a list of the
possible keywords.
It is important to categorize these bugs
consistently. Burying a bug in the wrong category
can lead to its never getting fixed.
If youre creating the list of functional areas, keep
it short, perhaps 20 areas.
30
RESOLUTION
The project manager has the privilege to assign most of the resolutions in
this field.
Common resolutions include:
New: The newly submitted bug
To Be Distributed: The bug is waiting to be distributed
To Be Fixed: The bug is being fixed.
QA Info Request: The bug needs more clarification from Tester.
Developer Info Request: The bug needs more clarification from
Developer.
Not Reproducible: The bug cannot be reproduced.
Fixed: The bug is fixed.
Not a Problem: The application works as it is supposed to.
Duplicate: The bug is just a repeat of another bug.
Deferred: The bug will be fixed in a later release.
Feature Limitation: There is some feature limitations that do not
allow to fix the bug.
31
32
OUTLINE
What is a Software Error?
Finding, Reproducing and Analyzing a Software Error
Reporting a Software Error
A Common Bug Life
33
34
Q&A
35