Software Testing Unit 4
Software Testing Unit 4
UNIT IV
Defect Management
Presented by
M S RATHOD
LIF, GPA
Unit Outcomes
Classify defects on the basis estimated
impact.
Prepare defect template on the given
application.
Apply defect management process on the
given application.
Write procedure to find defect using the
given technique.
Overview
Defect Classification
Defect Management Process.
Defect Life Cycle, Defect Template
Estimate Expected Impact of a Defect,
Techniques for Finding Defects
Reporting a Defect.
Defect Classification
Defects are classified using two different
perspective.
from the QA team perspective
as Priority
from the development perspective
as Severity (complexity of code to fix it).
Defect Classification
What is Priority?
Priority is defined as the order in which the
defects should be resolved.
The priority status is usually set by the QA team
while raising the defect against the dev team
mentioning the timeframe to fix the defect.
The Priority status is set based on the
requirements of the end users.
For example, if the company logo is incorrectly
placed in the company's web page then the
priority is high but it is of low severity.
Priority Listing
A Priority can be categorized in the following ways −
Low − This defect can be fixed after the critical ones are
fixed.
Medium − The defect should be resolved in the
subsequent builds.
High − The defect must be resolved immediately because
the defect affects the application to a considerable extent
and the relevant modules cannot be used until it is fixed.
Urgent − The defect must be resolved immediately
because the defect affects the application or the product
severely and the product cannot be used until it has been
fixed.
What is Severity?
5) Defect Closure
6) Defect Reports at the end of project
Defect Management Process: Discovery
N
o Description Priority Explanation
.
The website performance The performance bug can cause huge
1 High
is too slow inconvenience to user.
The login function of the Login is one of the main function of the banking
2 website does not work Critical website if this feature does not work, it is serious
properly bugs
The website could not This is a serious issue since the user will be able to
4 remember the user login High login but not be able to perform any further
session transactions
E = P * I,
where: P= probability of the risk becoming a problem
and I= Impact in dollars if the risk becomes a problem.
Estimation of expected impact of defect
Once the expected impact of each risk is
identified, the risks should be prioritized
by the expected impact and the degree to
which the expected impact can be
reduced.
What will be important is to identify the
risk, and determine the risk's order of
magnitude.
Techniques to find defects
a) Quick Attacks:
The quick-attacks technique allows you to perform a
cursory analysis of a system in a very compressed
timeframe.
Even without a specification, you know a little bit about
the software, so the time spent is also time invested in
developing expertise.
b) Equivalence and Boundary Conditions:
Boundaries and equivalence classes give us a technique
to reduce an infinite test set into something manageable.
They also provide a mechanism for us to show that the
requirements are "covered".
Techniques to find defects
c) Common Failure Modes:
The heart of this method is to figure out what failures
are common for the platform, the project, or the team;
then try that test again on this build.
If your team is new, or you haven't previously tracked
bugs, you can still write down defects that "feel"
recurring as they occur—and start checking for them.
The more your team stretches itself (using a new
database, new programming language, new team
members, etc.), riskier the project will be—and, at the
same time, the less valuable this technique will be.
Techniques to find defects
d) Use Cases:
Use cases and scenarios focus on software in its role to enable
a human being to do something.
Use cases and scenarios tend to resonate with business
customers, and if done as part of the requirement process, they
sort of magically generate test cases from the requirements.
e) Code-Based Coverage Models:
Imagine that you have a black-box recorder that writes down
every single line of code as it executes. Programmers prefer
code coverage.
It allows them to attach a number— an actual, hard, real
number, such as 75%—to the performance of their unit tests,
and they can challenge themselves to improve the score.
Techniques to find defects
Customer-level coverage tools are expensive, programmer-
level tools that tend to assume the team is doing automated
unit testing and has a continuous-integration server and a fair
bit of discipline.
After installing the tool, most people tend to focus on
statement coverage—the least powerful of the measures.
Steps to Replicate Step by step description of the way to reproduce the defect. Number the steps.
Actual Result The actual result you received when you followed the steps.
Expected Results The expected results.
Attachments Attach any additional information like screenshots and logs.
Remarks Any additional comments on the defect.
Defect Probability Probability of the Defect. (See Defect Probability)