Lecture 7 Sqa
Lecture 7 Sqa
Lecture 7 Sqa
- Debugging
- Bug Management
- Reporting
- Bug/Defect Types
- Defect Report
- Methods of Debugging
Debugging
TESTING DEBUGGING
There are so many reasons that can cause a bug some of them
can be:
New: When the bug is posted for the first time, its state will be NEW.
This means that the bug is not yet approved.
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.
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”.
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.
Logic bugs
Infinite loops and infinite recursion
Syntax bugs
Use of the wrong operator, such as performing assignment instead
of equality
Resource bugs
Using an un-initialized variable
Resource leaks, where a finite system resource such as memory or
file handles are exhausted by repeated allocation without release.
Buffer overflow, in which a program tries to store data past the end
of allocated storage.
Non critical (N): All defects that are not in the X or C category
are deemed to be in the N category. These are also the defects
that could potentially be resolved via documentation and user
training. These can be GUI defects.
Defect Report
Particulars that have to be filled by a tester are:
Status:New,Open,Assign,Test,Verified,Deferred,Reopened,Reje
cted,Close
Test Case Reference No: The number of the test case which
resulted in the defect
Defect Report
Provide Screenshots
Methods of Debugging
2. Debugging by Induction
3. Debugging by Deduction
4. Debugging by Backtracking
5. Debugging by Testing
Debugging by Brute Force
2. Organize the data. Remember that induction implies that you’re processing
from the particulars to the general, so the second step is to structure the
pertinent data to let you observe the patterns.
3. Devise a hypothesis. Next, study the relationships among the clues and
devise, using the patterns that might be visible in the structure of the clues,
one or more hypotheses about the cause of the error.
4. Prove the hypothesis. A major mistake at this point, given the pressures
under which debugging usually is performed, is skipping this step and jumping
to conclusions to fix the problem. However, it is vital to prove the
reasonableness of the hypothesis before you proceed. If you skip this step,
you’ll probably succeed in correcting only the problem symptom, not the
problem itself.
5. Fix the Error. If hypothesis is proved successfully then go on to fix the error
else repeat steps 3 and 4
Debugging by Deduction