CSE 270: Software Testing - Reading Material

3.3 Defect Reporting

Overview

A key component of any tester’s job is to effectively communicate findings to the development team. In the course of testing, it is inevitable that a defect will be found. The development team needs to know what went wrong so they can diagnose and correct the problem. In most instances, testers can assist the development team by sharing vital clues about what went wrong by being complete in their description of the inputs and outputs.

A Good Defect Report

Effectively reporting defects is a crucial aspect of the testing process. Clear and comprehensive defect reports not only facilitate efficient defect resolution but also contribute to overall project communication.

Defect Report Essentials

Visual Aids and Attachments

Additional Context

Example Defect Report

Below is an example of a defect report that puts this all together. It should be noted that many modern bug tracking systems will have fields for you to input this information in.

Title: Dropdown Menu Selection Issue

Summary:

The dropdown menu on the Settings page does not display the selected option correctly, leading to a user interface inconsistency.

Steps to Reproduce:

Expected Results:

The selected option should be displayed visibly in the dropdown menu, providing clear feedback to the user.

Actual Results:

The selected option is not displayed correctly in the dropdown menu. It appears as if no option is selected, causing confusion for users.

Environment:

Severity: Major

Priority: High

Visual Aids and Attachments:

Chrome browser menu highting Settings option.

Additional Context:

Browser Console Output (if applicable):

User Impact:

Bug Life Cycle

The bug life cycle is a structured process that defines the stages a defect goes through from identification to resolution. Understanding the bug life cycle is helpful for effective defect management and collaboration between testers and developers. The typical bug life cycle consists of the following stages:

Flowchart showing the lifecycle of a bug,  Starting at Open through Assigned, In-Progress, Test and Closed. With loops back for Deferred and Not fixed.
Bug Life Cycle Diagram

Understanding the bug life cycle ensures a systematic and organized approach to defect resolution. Effective communication between testers and developers at each stage is essential for a streamlined bug resolution process, leading to the delivery of high-quality software.

When To Not Fix Bugs

Surprisingly, not every bug that is found is treated equally. Some bugs never make it all the way to the closed state. Bugs may be marked as Deferred or Won't Fix; for various reasons, and the decision is often influenced by project priorities, resource constraints, and strategic considerations.

Here are common reasons for marking bugs as deferred or not fixable:

The decision to defer or mark a bug as Won't Fix is often made collaboratively by project stakeholders, including product managers, developers, and quality assurance personnel. It involves a careful evaluation of priorities, available resources, and the long-term strategic goals of the software development project.