If you work in software development, customers support, or QA, you must know how to write a detailed software defect report. Every report should be complete, and easy to understand. When you provide development team members with well-researched defect reports that clearly explain what is going wrong, with context, you make it easier to resolve that issue.
Learn to do this, and you will earn the respect of your peers. The best way is to adopt a methodical approach and follow the four tips below.
Software Defect Report: Required Elements
Every defect report should be based on the following actions:
Defining the Defect
- Determine the platform and software version.
- Sign in as the user note pertinent information (user ID, Program, menu option).
- Write down anything outside the normal configuration.
- Detail the workflow up to the point of encountering the defect.
Conducting Research To Identify Underlying Causes
- Work through the scenario until you can list the exact steps to recreate the error on demand. Use these tips for ‘not reproducible’ defects.
- Identify who reported the defect, what they were doing, where it first occurred, and how it was reported to you/how you uncovered it.
- Query the database to find related file data.
- Review error logs for relevant information.
- Indicate whether the defect is constant or occurs intermittently.
Gather and Organize Documentation
- Record and prepare video or screen captures.
- Print out or save results from queries.
- Highlight relevant error log data.
- Capture file data as you can during the process.
Make the Report Easy To Read
Software defects create work for developers. Your defect report shouldn’t make it worse. Write and format for readability, emphasize brevity. Include only relevant facts. Use bullet lists. Share only facts, leave out assumptions, suggestions, or opinions.
How To Create a Software Defect Report
Now, let’s dig a little deeper into each of these four necessary elements. Follow these guidelines to ensure that the software defect report you create is clear and actionable.
1. How To Define the Defect
Never assume that the person assigned to investigate a defect is going to be familiar with all aspects of the software. In fact, many developers are only aware of the specific part of the software that they work on. After all, the software could involve thousands of screens and functions.
Be prepared to write down exactly where the problem occurs, the steps to recreate the error, and why it is noted as a problem. This can help someone who receives the report determine how to prioritize the report and know where in the code they should begin looking.
2. Communicate the Research You Have Done
The developer will have a better time knowing where to start if they know what you’ve done to research the problem. For example, if a user cannot access a screen in order to do their job, you may include that you’ve already verified that her user ID is set up properly and that their security settings are normal. Then, the developer who receives the error can work from data instead of assumptions.
It’s important to be very clear here. Good technical writing is key. So is adequate proofreading and editing. Anyone working on a high-priority software project may wish to get some professional help.
3. Attach Supporting Documents
Anything that you can capture relating to the defect is going to be helpful to the developer. That includes screenshots, before and after snapshots of files, keystrokes, and error logs. Don’t forget to send over copies of configurations that are not standard as well. Keep in mind that it is better to have something dismissed as being irrelevant than to omit an important piece of documentation.
4. Writing the Report for Readability
If you format your report for readability, you increase the chances of it being accepted and reviewed appropriately. Consider creating or finding a software defect report template. This will ensure that every report is uniform. You can also involve all stakeholders in the design of the template to ensure it works for everyone. However, most defect reports will contain the following:
- Title and Brief Summary
- Description of The Error
- How to Reproduce
- Correct results
- Error Results
- Description of Research Done
- Attached Documents
Of course, the length and complexity of the information in each category are going to vary.
When writing the instructions on reproducing the error, be detailed. The person working on the defect may not be the original developer. Assume the person who will be fixing the issue needs to be told explicitly how to navigate to that point.
Example Defect Report
Here’s a brief example of a complete software defect report.
Invalid email address error not clearing, preventing users from completing the registration process.
When the user enters an invalid email address on page one of the registration screen, they receive an error as expected. When the user then corrects the error by entering a valid email address, the error remains on the screen. The customer is unable to progress to the next step in the registration process.
The error occurs on both desktop and mobile sites. It appears to be browser-independent. No error is occurring on any version of the app.
How to Reproduce
- Select ‘Create an Account’ from the upper left menu bar, or tap the hamburger menu on the mobile site.
- Enter in name and date of birth correctly.
- Enter an invalid email address (e.g. missing the @)
- Click or tap the right-facing arrow at the bottom of the screen to continue.
- Note that the email field is outlined in red, and the invalid email message appears.
- Correct the email address.
- Hit enter or click the bottom arrow again.
- The error continues to display, and the software doesn’t allow the user to progress to the next screen.
Once the email error is corrected, the user progresses to the next screen.
The error message continues to display, and the user cannot continue to register.
Description of Research
QA testers attempted to complete the registration process on Microsoft Edge, IE, Chrome, and Safari. The desktop, mobile site, and app were also tested. Several cases were created and run, including deliberately generating other errors, then forcing the invalid email error. Failure to clear an error message appears to only impact the customer email field.
See attached screenshots for more information.
Developers need reliable defect reports to produce better software. That means that QA testers, developers, even customer support team members must know how to describe software defects effectively. Use the tips here to ensure that defects are better understood, and fixed in a timely manner.