By Munish Garg
The main objective of software testing of an application is to search the bugs in it and make efforts to make the software testing bug free. When a bug is found have a conversation with a developer. Prior to report the bug, assure that the bug is well documented with the phases to repro, situations under which this bug is happening, how many times it happens and the projected outcome of the bug.
The bug report must be complete and correct so that the developer can know the exact reason for failure. As a result, the developer gets the correct idea of issue faced by the user and it helps in resolving the issue accurately. To expedite this task, the tester must repro the bug and confirm that this is a bug and add similar repro stages with instance and attach screenshots which proves that a bug is encountered. Also, attach the associated logs that provide the activities regarding the time of bug occurrence.
At the time of reporting the bug, it must be allocated into different classifications, such as Business or Functional, that will help to classify the bugs in the bug management.
The method of the tester will help a lot in getting the bug fixed accurately and quickly. Prior to adding a bug assures that you don’t add any duplicate bug that is already logged. Most of the bugs tracking systems identify or prevent to add duplicate bug if any that restricts adding unnecessary bugs that will help in reducing the rework in the event of bug management.
[Recommended Read: Top Defect/Issue Tracking Tools of 2018 ]
Together with a bug report, adding a little additional information would help the developer in getting the exact steps or scenarios for understanding the issue such as environment configuration, versions (like Browser name and version), types of hardware and software and setup, etc.
Different fields in which you can see the bug:
- Bug Title: It helps in identifying the bug in one-liner explanation.
- Bug Identifier: It is auto produced unique ID for identifying the bug. This field is auto-populated in the Bug Tracking Tool.
- Description: This covers the description of bug together with the precise stages to reproduce, estimated result and actual result.
- Status: This field specifies the exact status of the bug in the Bug life cycle.
- Bug Assignee: This is the developer name that is accountable for resolving the bug.
- Bug Cc: This adds the manager and indicates the email address in the CC list. It is auto-populated based on the configuration in the Bug Tracking Tool.
- Reported On: This specifies the date on which the bug is occurred and reported.
- Browser: This field specifies which version and browser this problem has occurred.
- Bug Type: The bug is classification into different classifications, such as Navigational, Functional, GUI, etc.
- Environment: This indicates on which OS platform this bug has occurred.
- Component: This field specifies the sub-modules of the product.
- Priority: The priority is set up as P1 to P5, where P1 implies ‘first fix this bug’, which means priority is highest and P5 implies ‘no urgent’; when you get the time fix it.
- Severity: This signifies regarding the influence of the bug.
- Reproduces: This section indicates that you have options like Sometimes and Always.
- URL: The URL indicates the page on which the bug has occurred.
- Build Number: This field defines the number of Builds on which the Bug is found.
Create a Bug Report and Resolve the Issues
- Report the Problem As Early As Possible
At the time of automation software testing, if you detect any bug, then immediately add this bug in the Bug Tracking Tool. Avoid waiting for writing the bug in detail later. If you think to report the bug afterward, then there is a possibility that you may miss some essential reproduce stages. Immediately reporting the bug will help in writing a good bug report that helps the developer in getting a precise idea of issue faced by the user. - Double Cross Check the Bug Prior to Reporting the Bug
The bug must be reproducible by using additional ‘stages to reproduce’ in the bug report. If you think that the bug does not reproduce continually, then it must be reported in the bug using the field ‘Reproduces: Sometimes’ field in the bug report.[Related Read: How to Reproduce a Non Reproducible Bug] - Check if the Same Bug is Occurring in Some Other Related Module
Most of the time a similar problem might occur in the different module of the project as well. So, there is a possibility that happening of a similar problem in a different module. Carefully check this prior to filing a bug and if is occurring then this must be added in the bug report. - Write a Good Bug Summary
Built on the bug summary the developers are able to identify the nature of the bug. If the summary of bug is not that good, so because of bad quality bugs will unnecessary rise in the bug cycle. The summary of a bug must be good enough and well communicated so that the developer must understand the particular issue. - Avoid Using Aggressive Language in Bug
Finding bug is good but this doesn’t mean that will use aggressive language in bug as against developer or any person or must not blame the developer. - Review the Bug Report before Clicking Submit Button
This is a good practice for reading the bug prior reporting it. You must check the Title, Stages, and Summary to repro in the bug report. Once again check the use of aggressive language in the bug report. You can add screenshots that help to prove that a bug is encountered.
Conclusion
The Bug Report is the communicator between the manager, developer, tester and lead regarding the bugs in the system. So, it is the bug quality document report that must be high. A good bug report saves the time of tester and developer. Therefore, while automation software testing takes the proper time and resolves all the issues.
About the Author
Munish Garg is a Senior Coordinator QA Engineer & Editor associated with Bugraptors. His passion for helping people in all aspects of software testing flows through in the expert industry coverage he provides. In addition to writing for Software testing, he expands his knowledge and tacts for decoding all the critical issues while doing software testing several domains.