0% found this document useful (0 votes)
80 views12 pages

Defect Management Process Overview

The document discusses defect management process in software testing. It defines a bug as an outcome of a coding fault. It also defines a defect as a variation from requirements or unexpected results. The defect management process involves discovering defects, categorizing them by priority, resolving them by assigning to developers, verifying fixes, and closing defects. Key metrics for evaluating test quality are defect rejection ratio and defect leakage ratio, with lower percentages indicating better quality.

Uploaded by

Aamir Afzal
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views12 pages

Defect Management Process Overview

The document discusses defect management process in software testing. It defines a bug as an outcome of a coding fault. It also defines a defect as a variation from requirements or unexpected results. The defect management process involves discovering defects, categorizing them by priority, resolving them by assigning to developers, verifying fixes, and closing defects. Key metrics for evaluating test quality are defect rejection ratio and defect leakage ratio, with lower percentages indicating better quality.

Uploaded by

Aamir Afzal
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Defect Management Process in Software

Testing (Bug Report Template)

What is Bug?
A bug is the consequence/outcome of a coding fault.

Defect in Software Testing


A Defect in Software Testing is a variation or deviation of the software application
from end user’s requirements or original business requirements. A software defect
is an error in coding which causes incorrect or unexpected results from a software
program which does not meet actual requirements. Testers might come across
such defects while executing the test cases.
These two terms have very thin line of difference, In the Industry both are faults
that need to be fixed and so interchangeably used by some of the Testing teams.

When testers execute the test cases, they might come across such test results
which are contradictory to expected results. This variation in test results is referred
to as a Software Defect. These defects or variations are referred by different names
in different organizations like issues, problems, bugs or incidents.

Bug Report in Software Testing


A Bug Report in Software Testing is a detailed document about bugs found in the
software application. Bug report contains each detail about bugs like description,
date when bug was found, name of tester who found it, name of developer who
fixed it, etc. Bug report helps to identify similar bugs in future so it can be avoided.
While reporting the bug to developer, your Bug Report should contain the
following information

 Defect_ID – Unique identification number for the defect.


 Defect Description – Detailed description of the Defect including
information about the module in which Defect was found.
 Version – Version of the application in which defect was found.
 Steps – Detailed steps along with screenshots with which the developer can
reproduce the defects.
 Date Raised – Date when the defect is raised
 Reference– where in you Provide reference to the documents like .
requirements, design, architecture or maybe even screenshots of the error to
help understand the defect
 Detected By – Name/ID of the tester who raised the defect
 Status – Status of the defect , more on this later
 Fixed by – Name/ID of the developer who fixed it
 Date Closed – Date when the defect is closed
 Severity which describes the impact of the defect on the application
 Priority which is related to defect fixing urgency. Severity Priority could be
High/Medium/Low based on the impact urgency at which the defect should
be fixed respectively

esources

Download a sample Defect Reporting Template

Consider the following as a Test Manager


Your team found bugs while testing the Guru99 Banking project.
After a week the developer responds –

In next week the tester responds

As in the above case, if the defect communication is done verbally, soon things
become very complicated. To control and effectively manage bugs you need a
defect lifecycle.
What is Defect Management Process?
Defect Management is a systematic process to identify and fix bugs. A defect
management cycle contains the following stages 1) Discovery of Defect, 2) Defect
Categorization 3) Fixing of Defect by developers 4) Verification by Testers, 5) Defect
Closure 6) Defect Reports at the end of project
This topic will guide you on how to apply the defect management process to the
project Guru99 Bank website. You can follow the below steps to manage defects.

Discovery
In the discovery phase, the project teams have to discover as many defects
as possible, before the end customer can discover it. A defect is said to be
discovered and change to status accepted when it is acknowledged and accepted
by the developers

In the above scenario, the testers discovered 84 defects in the website Guru99.
Let’s have a look at the following scenario; your testing team discovered some
issues in the Guru99 Bank website. They consider them as defects and reported to
the development team, but there is a conflict –

In such case, as a Test Manager, what will you do?

 A) Agree With the test team that its a defect

 B) Test Manager takes the role of judge to decide whether the problem is
defect or not

 C) Agree with the development team that is not a defect


In such case, a resolution process should be applied to solve the conflict, you take
the role as a judge to decide whether the website problem is a defect or not.
Categorization
Defect categorization help the software developers to prioritize their tasks. That
means that this kind of priority helps the developers in fixing those defects first
that are highly crucial.

Defects are usually categorized by the Test Manager –

Let’s do a small exercise as following

Drag & Drop the Defect Priority Below

 Critical
 High

 Medium
 Low
1) The website performance is too slow

2) The login function of the website does not work properly

3) The GUI of the website does not display correctly on Mobile devices

4) The website could not remember the user login session

5) Some links doesn’t work

Here are the recommended answers

No. Description Priority Explanation

The website performance is The performance bug can cause huge incon
1 High
too slow user.
The login function of the
Login is one of the main function of the ban
2 website does not work Critical
this feature does not work, it is serious bugs
properly
The GUI of the website
The defect affects the user who use Smartph
3 does not display correctly Medium
the website.
on mobile devices
The website could not
This is a serious issue since the user will be a
4 remember the user login High
but not be able to perform any further trans
session
This is an easy fix for development guys and
5 Some links doesn’t work Low
still access the site without these links

Defect Resolution
Defect Resolution in software testing is a step by step process of fixing the defects.
Defect resolution process starts with assigning defects to developers, then
developers schedule the defect to be fixed as per priority, then defects are fixed
and finally developers send a report of resolution to the test manager. This process
helps to fix and track defects easily.
You can follow the following steps to fix the defect.
 Assignment: Assigned to a developer or other technician to fix, and changed
the status to Responding.
 Schedule fixing: The developer side take charge in this phase. They will
create a schedule to fix these defects, depend on the defect priority.
 Fix the defect: While the development team is fixing the defects, the Test
Manager tracks the process of fixing defect compare to the above schedule.
 Report the resolution: Get a report of the resolution from developers when
defects are fixed.

Verification
After the development team fixed and reported the defect, the testing
team verifies that the defects are actually resolved.

For example, in the above scenario, when the development team reported that
they already fixed 61 defects, your team would test again to verify these defects
were actually fixed or not.
Closure
Once a defect has been resolved and verified, the defect is changed status
as closed. If not, you have send a notice to the development to check the defect
again.

Defect Reporting
Defect Reporting in software testing is a process in which test managers prepare
and send the defect report to the management team for feedback on defect
management process and defects’ status. Then the management team checks the
defect report and sends feedback or provides further support if needed. Defect
reporting helps to better communicate, track and explain defects in detail.
The management board has right to know the defect status. They must understand
the defect management process to support you in this project. Therefore, you must
report them the current defect situation to get feedback from them.

Important Defect Metrics


Back the above scenario. The developer and test teams have reviews the defects
reported. Here is the result of that discussion
How to measure and evaluate the quality of the test execution?

This is a question which every Test Manager wants to know. There are 2 parameters
which you can consider as following
In the above scenario, you can calculate the defection rejection ratio (DRR)
is 20/84 = 0.238 (23.8 %).

Another example, supposed the Guru99 Bank website has total 64 defects, but your
testing team only detect 44 defects i.e. they missed 20 defects. Therefore, you can
calculate the defect leakage ratio (DLR) is 20/64 = 0.312 (31.2 %).

Conclusion, the quality of test execution is evaluated via following two parameters

The smaller value of DRR and DLR is, the better quality of test execution is. What is
the ratio range which is acceptable? This range could be defined and accepted
base in the project target or you may refer the metrics of similar projects.

In this project, the recommended value of acceptable ratio is 5 ~ 10%. It means the
quality of test execution is low. You should find countermeasure to reduce these
ratios such as

 Improve the testing skills of member.


 Spend more time for testing execution, especially for reviewing the test
execution results.

Common questions

Powered by AI

Verbal defect communication, as seen in the Guru99 Banking project, can lead to complications such as miscommunication, lack of precise records, and potential conflicts between development and testing teams. Without documented communication, tracking the lifecycle of defect resolutions becomes difficult, leading to inefficiencies and misunderstandings. A structured defect management process, which includes properly documented bug reports, helps mitigate these issues by ensuring clear communication, accurate tracking, and accountability throughout the defect resolution process .

Proper defect categorization impacts the priority of defect resolution by enabling developers to address the most critical issues first, ensuring that the software remains functional and user-friendly. For instance, in the provided scenario, a non-functional login feature is categorized as 'Critical' because it is foundational to the banking application, while the issue of non-working links is 'Low' priority since users can still access the site without them. This structured prioritization ensures efficient allocation of resources toward defects that most significantly affect user experience and business functionality .

Severity and priority directly influence scheduling and resource allocation during the defect resolution phase, as they determine the urgency and order in which defects should be addressed. Severe and high-priority defects, such as those that are critical to the application's core functionalities (like the login feature in the Guru99 Bank project), require immediate attention and more resources to minimize their impact on the system. Conversely, low-priority defects, such as minor GUI issues, can be scheduled for resolution at a later date, allowing for optimal use of development resources .

The defect management process improves the efficiency of software testing by providing a structured approach to handling defects. In the Guru99 Bank project, this includes identifying, categorizing, assigning priority, fixing, and verifying defects systematically. This process ensures that critical defects are prioritized and addressed first, minimizing their impact on software functionality. It also facilitates clear communication between testers and developers, avoiding complications from verbal exchanges, and allows for the continuous monitoring and resolution of issues, ultimately leading to a more reliable software product .

Defect reporting contributes significantly to risk management in software development by providing a structured mechanism to document, monitor, and address defects. Detailed bug reports facilitate the identification of potential problem areas, enabling proactive measures to mitigate risks. They also provide insights into defect trends, helping project managers allocate resources effectively and prioritize critical issues. This preemptive approach to defect management reduces the likelihood of costly post-release fixes and enhances overall project stability .

Defect verification by testers post-resolution is crucial to ensure that resolved defects are indeed fixed and do not reoccur. It serves as a quality check to validate the effectiveness of the solution provided by the developers. Without verification, there's a risk of defects lingering in the system, potentially affecting user experience and system functionality. This step helps maintain the integrity and reliability of the software before it is delivered to the end-users .

A software defect is a deviation from the original business or end-user requirements of a software application, leading to incorrect or unexpected results. In contrast, a bug is specifically a consequence of a coding fault. While both terms are often used interchangeably, identifying them distinctly helps in understanding their root cause and in ensuring accurate testing and reporting. Precise identification aids in developing a focused strategy to prevent future issues and improves the overall software quality by aligning the testing process with business requirements .

A test manager may act as an arbitrator in disputes over defect identification to ensure objectivity and maintain focus on the project's quality goals. By serving as an impartial judge, the test manager can facilitate communication between developers and testers, resolve conflicts, and make informed decisions on whether an issue qualifies as a defect. This role supports the defect management process by fostering cooperation, improving defect handling efficiency, and ensuring that all reported issues align with the project’s objectives and priorities .

Defect metrics like the Defection Rejection Ratio (DRR) and Defect Leakage Ratio (DLR) are crucial for assessing test execution quality. DRR indicates the percentage of reported defects that are dismissed and DLR measures defects that escape the testing phase. In the Guru99 Bank project, the DRR was 23.8% and DLR was 31.2%, both above the recommended range of 5-10% . High values suggest a need to improve testing precision and thoroughness, possibly by enhancing tester skills or dedicating more time for execution. These metrics provide insight into the effectiveness of testing efforts and guide improvements to reduce defect occurrence .

A well-documented bug report is essential in the software defect management process as it provides a comprehensive record of the defects, including key details such as defect ID, description, severity, priority, and steps for reproduction. This documentation standardizes communication between testers and developers, helps prioritize defect resolution, and enables tracking over time. In doing so, it prevents repetitive issues by serving as a reference for similar future defects, thus enhancing the overall software testing efficiency and quality .

You might also like