Unit04 Ste (22518)
Unit04 Ste (22518)
DEFECT MANAGEMENT
Defect
1. Definition and Explanation
A defect is an error, flaw, or imperfection in a software product that causes it to perform
unexpectedly or incorrectly.
It occurs when the actual result deviates from the expected result during testing.
2. Real-World Examples
Example 1: A payment gateway fails to process credit card payments correctly.
Example 2: The app crashes when trying to upload a profile picture.
3. Advantages
1. Helps identify areas where the software can be improved.
2. Provides insights into the development process's quality.
3. Ensures better software performance after fixing.
4. Disadvantages
1. Detecting defects late increases project costs.
2. Not all defects are easy to identify.
3. Tracking and managing defects in large systems can be challenging.
5. Insufficient Testing
Failure to adequately test all scenarios, including edge cases.
Example: Skipping validation tests for rare user inputs.
Defect Attributes
1. Defect ID
A unique identifier assigned to each defect for easy tracking and reference.
Example: Defect-101.
2. Defect Description
A brief but clear explanation of the defect, including what went wrong.
3. Severity
4. Priority
Example: A typo on a webpage might have low severity but high priority during a
release.
5. Steps to Reproduce
Example:
6. Status
Defect Classification
1. Definition
Defect classification categorizes defects based on the stage of the software development
life cycle (SDLC) where they occur.
It helps in identifying root causes, improving processes, and reducing defects in future
projects.
Classification Categories:
1. Requirement Defect
Explanation
1. Functional Defect
2. Interface Defect
o Example: Missing API details for integration between a frontend app and
backend server.
Real-World Examples
2. Misinterpreting a requirement, like developing a mobile app for Android only when both
iOS and Android were required.
Disadvantages
Additional Points
2. Design Defect
Explanation
Arises from flaws in the software's architecture or design phase, such as improper
system structure or integration logic.
1. Algorithm Defect
2. Interface Defect
o Example: Designing a frontend that does not handle backend API responses
properly.
Real-World Examples
Disadvantages
Additional Points
3. Coding Defect
Explanation
Real-World Examples
Disadvantages
Additional Points
4. Testing Defect
Explanation
Defects introduced during the testing phase, often due to inadequate test coverage or
incorrect test case design.
o Problems with the tools used for testing, such as incorrect configurations or
limitations.
Real-World Examples
1. Missing critical test scenarios, such as stress testing for high-load situations.
Disadvantages
Additional Points
Prevention: Improve test planning, use updated test data, and focus on comprehensive
test cases.
3. The process involves monitoring and improving defect handling strategies for continuous
improvement.
1. Defect Prevention
Explanation
Focuses on identifying potential defect sources and taking proactive measures to prevent
defects from occurring.
Includes techniques like training, code reviews, and robust design practices.
Examples/Implementation
Additional Points
2. Deliverable Baseline
Explanation
Examples/Implementation
Additional Points
3. Defect Discovery
Explanation
Involves identifying defects through various techniques, such as testing, peer reviews,
and user feedback.
Examples/Implementation
Additional Points
4. Defect Resolution
Explanation
Focuses on analyzing, fixing, and verifying defects to ensure they are fully resolved.
Examples/Implementation
Developers use the debugging process to identify and fix code defects.
Additional Points
5. Process Improvement
Explanation
Uses insights gained from defect management to enhance processes and reduce future
defects.
Examples/Implementation
Additional Points
4. Fixed
o After resolving the defect, the developer marks it as "Fixed" and sends it back to
the testing team for verification.
o Example: The developer fixes the login issue and marks the defect as "Fixed" in
the tracking system.
5. Retest
o The testing team tests the fixed defect to confirm it is resolved and has not
caused any new issues.
o Example: The tester re-tests the login functionality to ensure the bug is fixed and
users can log in successfully.
6. Closed
o If the tester verifies that the defect is resolved and no further issues are found,
the defect status is marked as "Closed."
o Example: After confirming that the login issue is fixed, the tester closes the
defect in the tracking system.
7. Reopen
o If the defect is still present or new issues arise, the tester reopens the defect and
assigns it back to the developer.
o Example: During retesting, if the login issue persists, the tester reopens the
defect for further analysis and fixing.
8. Deferred
o If a defect is low priority or does not impact the current release, it can be
deferred for future releases.
o Example: A minor UI defect in the settings page might be deferred until the next
version, as it doesn’t affect major functionality.
9. Rejected
o If the reported defect is not valid or does not need fixing, it is marked as
"Rejected."
o Example: A tester reports an issue that turns out to be expected behavior. The
developer rejects the defect.
10. Duplicate
o If the defect has already been reported or logged, it is marked as "Duplicate."
o Example: A tester logs a new defect that describes the same issue as an existing
defect, so it is marked as duplicate.
Diagram Explanation
New to Assigned: Defect is identified and assigned to a developer.
Deferred: If the defect is not critical for the current release, it may be deferred for future
consideration.
Rejected: If the defect is invalid or not a true defect, it is rejected and removed from the
lifecycle.
o The developer marks it as "Open" and works on fixing the database query.
o Once fixed, it is sent for "Retest" and eventually "Closed" when confirmed
resolved.
2. Example 2:
o The developer decides to "Defer" it as it doesn’t impact the functionality for the
current release.
2. Improves Communication
3. Prioritization of Defects
o Managing the defect life cycle can become complicated in large projects with
many stakeholders.
3. Resource Intensive
Defect Template
Definition and Explanation
It captures key information like defect ID, description, severity, steps to reproduce, and
more, ensuring consistent and complete documentation.
1. Defect ID
o Example: DEF12345
2. Defect Name
3. Project Name
o Definition: The name of the project where the defect was found.
4. Module Name
o Definition: The specific module or feature within the project where the defect
exists.
5. Phase Introduced
o Definition: The phase during development where the defect was initially
introduced.
6. Phase Found
o Definition: The phase during development or testing where the defect was
identified.
7. Defect Type
8. Defect Severity
o Definition: Indicates the impact level of the defect on the system’s functionality.
9. Priority
10. Summary
o Example: "The login button is unresponsive, preventing users from logging into
the system."
11. Status
o Definition: The current state of the defect in the defect life cycle.
12. Reported By
o Definition: The name of the person or team who reported the defect.
13. Assigned To
Simplifies Tracking: Easy to track defect status, ownership, and history for better process
management.
Time-Consuming to Fill Out: Requires detailed entry, which can be time-intensive for
testers.
Can Be Overwhelming for Small Defects: The extensive format may feel excessive for
minor issues.
The primary defect-finding techniques are Static, Dynamic, and Operational, each
offering unique approaches to identify different types of defects.
1) Static Technique
Explanation:
o This approach focuses on finding defects early through document reviews, code
inspections, and walkthroughs.
o It helps identify issues related to coding standards, design flaws, and missing
requirements.
Examples:
1. Code Review: Developers review code to catch syntax errors, logic flaws, or style
violations before execution.
Additional Points:
1. Formal Inspection: Structured and formal review meetings where every line of
code or documentation is checked thoroughly.
2. Pair Programming: Developers work in pairs to write and review code in real-
time, minimizing errors immediately.
Advantages:
1. Catches defects early, reducing the cost and time required for fixing later issues.
3. Can be used on both code and non-code artifacts (e.g., design or requirements
documents).
Disadvantages:
2) Dynamic Technique
Explanation:
Examples:
2. Load Testing: Testing how the software performs under high user load,
identifying any scalability issues.
Additional Points:
Advantages:
1. Identifies defects that occur during actual software execution, which static
techniques may miss.
3. Helps verify that all components and modules integrate and function as
expected.
Disadvantages:
3. May miss defects that are not covered by predefined test scenarios.
3) Operational Technique
Explanation:
o These tests focus on real-world usage scenarios and assess how the software
behaves under actual operating conditions.
o Examples include beta testing, field testing, and usability testing to gather end-
user feedback.
Examples:
1. Beta Testing: Releasing a beta version to a small group of users for feedback on
functionality and performance.
2. Usability Testing: Observing how end-users interact with the software to identify
any issues in user experience.
Additional Points:
1. Field Testing: Conducting tests directly in the user’s environment to capture any
issues that may arise in specific conditions.
Advantages:
2. Helps identify usability issues and ensures the software meets user expectations.
Disadvantages:
1. Defects discovered at this stage may be costly to fix, especially if close to release.
2. Testing in live environments can expose users to potential bugs and defects.
Reporting a Defect
Definition and Explanation
Reporting a defect is the process of documenting and communicating a defect (also
known as a bug or issue) found during testing.
A defect report provides details about the problem, its impact, how to reproduce it, and
the environment where it was found. It is a vital part of the software testing process and
helps development teams fix issues promptly.
A clear and well-organized defect report ensures that developers understand the issue
quickly and can prioritize its resolution.
6. Actual Result
o What actually happened when the defect was encountered.
o Example: “The login button remains unresponsive, and the user stays on the
login screen.”
7. Severity
o The impact of the defect on the software’s functionality. It can be categorized as:
Critical: Stops the system from working; high-priority bug.
Major: A significant issue, but the system still works.
Minor: A cosmetic or less severe issue.
Trivial: A very minor issue, not affecting functionality.
8. Priority
o How soon the defect should be fixed, based on business needs or project
timelines.
High: Needs immediate attention.
Medium: Should be fixed soon.
Low: Can be addressed later.
9. Environment
o The software version, hardware, and operating system where the defect was
found.
o Example: “Android version 10, App version 2.3.5.”
10. Attachments
o Screenshots, videos, or logs that help demonstrate the defect.
o Example: A screenshot showing the unresponsive button or a log file that
provides more details.
11. Status
o The current state of the defect, such as:
Open: The defect has been reported but not fixed yet.
In Progress: The defect is being worked on by the development team.
Resolved: The defect has been fixed, but it is not yet verified.
Closed: The defect has been fixed and verified.
12. Assigned To
o The developer or team responsible for fixing the defect.
Winter 2019
1. Define Defect (2marks)
2. Enlist different techniques for finding defects and describe any one technique with an example.
(4marks)
3. Draw a diagram for defect life cycle and write example for defect template. (6marks)
Summer 2022
1. State any four defect reporting guidelines. (2marks)
2. Draw defect prevention process cycle. State working of each phase.(4marks)
Winter 2022
1. Give the defect classification and its meaning. (2marks)
Summer 2023
1. State any four attributes of defect. (2marks)
2. Describe detect management process with neat diagram (4marks)
Winter 2023
1. Write any two root causes of defect. (2marks)
2. Enlist any four attributes of defect. Describe them with suitable example. (4marks)
3. Explain defect management process with suitable diagram. (4marks)
4. Describe defect life cycle with neat diagram. (6marks)
Summer 2024
1. State the classification of defects. (2marks)
2. Describe detect management process with neat diagram. (4marks)
3. Draw a diagram for defect life cycle and write example for defect template. (6marks)