Why a good Bug Report?
If your Bug report is effective, then its chances of getting fixed are higher. So fixing a bug depends upon how effectively you report it. Reporting a bug is nothing but a skill and in this tutorial, we will explain how to achieve this skill.
“The point of writing a problem report (bug report) is to get bugs fixed” – By Cem Kaner. If a tester is not reporting a bug correctly, then the programmer will most likely reject this bug stating it as irreproducible.
This can hurt the tester’s morals and sometimes the ego too. (I suggest not keeping any type of ego. ego’s like “I have reported the bug correctly”, “I can reproduce it”, “Why has he/she rejected the bug?”, “It’s not my fault” etc.,).
What You Will Learn:
Qualities of a Good Software Bug Report
Anyone can write a Bug report. But not everyone can write an effective Bug report. You should be able to distinguish between an average bug report and a good bug report.
How to distinguish between a good and bad Bug Report? It’s very simple, apply the following characteristics and techniques to report a bug.
Characteristics and Techniques
#1) Having a clearly specified Bug Number: Always assign a unique number to each bug report. This, in turn, will help you identify the bug record. If you are using any automated bug-reporting tool then this unique number will be generated automatically each time you report a bug.
Note the number and a brief description of each bug that you reported.
#2) Reproducible: If your bug is not reproducible, then it will never get fixed.
You should clearly mention the steps to reproduce the bug. Do not assume or skip any reproducing steps. The bug which is described Step by step is easy to reproduce and fix.
#3) Be Specific: Do not write an essay about the problem.
Be Specific and to the point. Try to summarize the problem in minimum words yet in an effective way. Do not combine multiple problems even if they seem to be similar. Write different reports for each problem.
Effective Bug Reporting
Bug reporting is an important aspect of Software Testing. Effective Bug reports communicate well with the development team to avoid confusion or miscommunication.
A good Bug report should be clear and concise without any missing key points. Any lack of clarity leads to misunderstanding and slows down the development process as well. Defect writing and reporting is one of the most important but neglected areas in the testing life cycle.
Good writing is very important for filing a bug. The most important point that a tester should keep in mind is not to use a commanding tone in the report. This breaks morale and creates an unhealthy work relationship. Use a suggestive tone.
Don’t assume that the developer has made a mistake and hence you can use harsh words. Before reporting, it is equally important to check if the same bug has been reported or not.
A duplicate bug is a burden in the testing cycle. Check out the whole list of known bugs. At times, the developers may be aware of the issue and ignore it for future releases. Tools like Bugzilla, which automatically searches for duplicate bugs, can also be used. However, it is best to manually search for any duplicate bug.
The important information that a bug report must communicate is “How?” and “Where?” The report should clearly answer exactly how the test was performed and where the defect occurred. The reader should easily reproduce the bug and find out where the bug is.
Keep in mind that the objective of writing a Bug report is to enable the developer to visualize the problem. He/She should clearly understand the defect from the Bug report. Remember to provide all the relevant information that the developer is seeking.
Also, bear in mind that a bug report would be preserved for future use and should be well-written with the required information. Use meaningful sentences and simple words to describe your bugs. Don’t use confusing statements that waste the time of the reviewer.
Report each bug as a separate issue. In case of multiple issues in a single Bug report, you can’t close it unless all the issues are resolved.
Hence, it is best to split the issues into separate bugs. This ensures that each bug can be handled separately. A well-written bug report helps a developer to reproduce the bug at their terminal. This will help them diagnose the issue as well.
How To Report A Bug?
Use the following simple Bug report template:
This is a simple Bug report format. It may vary depending on the Bug report tool that you are using. If you are writing a bug report manually then some fields need to be mentioned specifically like the Bug number – which should be assigned manually.
Reporter: Your name and email address.
Product: In which product you found this bug?
Version: The product version, if any.
Component: These are the major sub-modules of the product.
Platform: Mention the hardware platform where you found this bug. The various platforms like ‘PC’, ‘MAC’, ‘HP’, ‘Sun’ etc.
Operating system: Mention all the operating systems where you found the bug. Operating systems like Windows, Linux, Unix, SunOS, and Mac OS. Also, mention the different OS versions like Windows NT, Windows 2000, Windows XP, etc, if applicable.
Priority: When should a bug be fixed? Priority is generally set from P1 to P5. P1 as “fix the bug with the highest priority” and P5 as ” Fix when time permits”.
Severity: This describes the impact of the bug.
Types of Severity:
- Blocker: No further testing work can be done.
- Critical: Application crash, Loss of data.
- Major: Major loss of function.
- Minor: Minor loss of function.
- Trivial: Some UI enhancements.
- Enhancement: Request for a new feature or some enhancement in the existing one.
Status: When you are logging the bug into any bug tracking system then by default the bug status will be ‘New’.
Later on, the bug goes through various stages like Fixed, Verified, Reopened, Won’t Fix, etc.
=> Click here to read more about the detailed Bug Life Cycle.
Assign To: If you know which developer is responsible for that particular module in which the bug occurred, then you can specify the email address of that developer. Else keep it blank as this will assign the bug to the module owner, if not the Manager will assign the bug to the developer. Possibly add the manager’s email address to the CC list.
URL: The page URL on which the bug occurred.
Summary: A brief summary of the bug, mostly within 60 words or below. Make sure your summary is reflecting on what the problem is and where it is.
Description: A detailed description of the bug.
Use the following fields for the description field:
- Reproduce steps: Clearly, mention the steps to reproduce the bug.
- Expected result: How the application should behave on the above-mentioned steps.
- Actual result: What is the actual result of running the above steps i.e. the bug behavior?
These are the important steps in the bug report. You can also add “Report Type” as one more field which will describe the bug type.
Report Types include:
1) Coding error
2) Design error
3) New Suggestion
4) Documentation issue
5) Hardware problem
Important Features in Your Bug Report
Given below are the important features in the Bug report:
#1) Bug Number/id
A Bug number or an identification number (like swb001) makes bug reporting and the process of referring to bugs much easier. The developer can easily check if a particular bug has been fixed or not. It makes the whole testing and retesting process smoother and easier.
#2) Bug Title
Bug titles are read more often than any other part of the bug report. This should explain all about what comes with the bug. The Bug title should be suggestive enough that the reader can understand it. A clear bug title makes it easy to understand and the reader can know if the bug has been reported earlier or has been fixed.
#3) Priority
Based on the severity of the bug, a priority can be set for it. A bug can be a Blocker, Critical, Major, Minor, Trivial, or a suggestion. Bug priorities can be given from P1 to P5 so that the important ones are viewed first.
#4) Platform/Environment
OS and browser configuration is necessary for a clear bug report. It is the best way to communicate how the bug can be reproduced.
Without the exact platform or environment, the application may behave differently and the bug at the tester’s end may not replicate on the developer’s end. So it is best to clearly mention the environment in which the bug was detected.
#5) Description
Bug description helps the developer to understand the bug. It describes the problem encountered. A poor description will create confusion and waste the time of the developers as well as testers.
It is necessary to communicate clearly the effect of the description. It’s always helpful to use complete sentences. It is a good practice to describe each problem separately instead of crumbling them altogether. Don’t use terms like “I think” or “I believe”.
#6) Steps to Reproduce
A good Bug report should clearly mention the steps to reproduce. These steps should include actions that may cause the bug. Don’t make generic statements. Be specific on the steps to follow.
A good example of a well-written procedure is given below
Steps:
- Select product Abc01.
- Click on Add to cart.
- Click Remove to remove the product from the cart.
#7) Expected and Actual Result
A Bug description is incomplete without the Expected and Actual results. It is necessary to outline what the outcome of the test is and what the user should expect. The reader should know what the correct outcome of the test is. Clearly, mention what happened during the test and what the outcome was.
#8) Screenshot
A picture is worth a thousand words. Take a Screenshot of the instance of failure with proper captioning to highlight the defect. Highlight unexpected error messages with light red color. This draws attention to the required area.
Some Bonus Tips To Write A Good Bug Report
Given below are some additional tips on how to write a good Bug report:
#1) Report the problem immediately
If you find any bugs while testing, then you do not need to wait to write a detailed bug report later. Instead, write a bug report immediately. This will ensure a good and reproducible Bug report. If you decide to write the Bug report later on then there is a higher chance to miss the important steps in your report.
#2) Reproduce the bug three times before writing a Bug report
Your bug should be reproducible. Make sure that your steps are robust enough to reproduce the bug without any ambiguity. If your bug is not reproducible every time, then you can still file a bug mentioning the periodic nature of the bug.
#3) Test the same bug occurrence on other similar modules
Sometimes the developer uses the same code for different similar modules. So there is a higher chance for the bug in one module to occur in other similar modules as well. You can even try to find the more severe version of the bug you found.
#4) Write a good bug summary
Bug summary will help the developers to quickly analyze the bug’s nature. A poor-quality report will unnecessarily increase development and testing time. Communicate well with your bug report summary. Keep in mind that the bug summary can be used as a reference to search for the bug in the bug inventory.
#5) Read the Bug report before hitting the Submit button
Read all the sentences, wordings, and steps that are used in the bug report. See if any sentence is creating ambiguity that can lead to misinterpretation. Misleading words or sentences should be avoided in order to have a clear bug report.
#6) Do not use abusive language.
It’s nice that you did good work and found a bug but do not use this credit for criticizing the developer or attacking any individual.
Conclusion
There is no doubt that your bug report should be a high-quality document.
Focus on writing good bug reports and spend some time on this task because this is the main communication point between the tester, developer, and manager. Managers should create an awareness in their team that writing a good Bug report is the primary responsibility of any tester.
Your effort toward writing a good Bug report will not only save the resources of the company but also create a good relationship between you and the developers.
For better productivity write a better Bug report.
Are you an expert in writing a Bug report? Feel free to share your thoughts in the comments section below.
Nice information.
Hi Vijay,
its Really a Very very Good Artical,Quickly every one catch this scenario easy.
Am really Telling When I Join As Qa No one Suggesting how to Handle the Bug But now i can easyly Handling.
Thanks
nice information.
I was making a research about it to write a material for new QAs and I think you article is perfect. Would you mind if I translate it and give you the credits?
Hi, Good article. I will share my thoughts as per in industry standards.
Defect ID, Description, Steps to reproduce, Expected Result, Actual Result, Environment, Test data
These stuffs should be included whenever you prepare a report.
The problem with this is when you have a complicated program that ‘bugs’ at random times, with no way to reproduce it consistently. Then, the only thing you can do is hope to have recorded it on video so the programmers can actually see what you are talking about.
Simply log this kind of bug as low priority. If a bug is not easily reproducible, it’s bottom of the pile. There’s no point in giving it attention if it just happens so infrequently that you can’t even figure out how to reproduce it.
This is exactly my problem right now. As you said; I can’t easily figure out how to reproduce it because it’s really volatile.
So I want to ask you; The problem is that the app shuts itself down after using for a moment or after a certain action and isn’t exactly, constantly reproducing(1-2 days a week or less).
But I’m confused, should one really not pay attention to the app crashing as it doesn’t reproduce often or just take care of it?
Really?
So, if the bug is similar to when Microsoft Windows (10 or 11, I don’t remember) would delete your files in the my documents folder, it is low priority?
It happened rarely, but once it did, your files were all gone.
Is that low priority?
hi I do game testing as part time job I will be more then happy to help with the problems I like you game let me know if you like me to help you
Hi Jason,
I am software tester testing on browsers and interested to learn testing on gaming app and I need your help to learn if you wish to help me, please ping me in ghbharath18@gmail.com
Hi I willing to help I do game testing/ beta testing for work and I sign NDAs so i know how keep info to my self I got discord I more then happy to join you in it to talk about bug reports if that what you would like to do but yes I be will to join you guys for this testing I been testing video games for many years
Hii Jason
I am new to game testing I need your help
ipsitabehera42@gmail.com please ping me
Hi Jason
I want to become a game tester
I need your help
Hii Jason
I am new to testing gaming apps I need your help
manish.goyal117@gmail.com please ping me
Hi Vijay,
I read completed article. And I love it.
I have question, how can I start my cyber security journey. Can you give me some steps that halped me as beginner.
I can’t open some installed app because of bug report. How I overcome this problem? It’s may be my mistakes for lacking of my knowledge. Please help me.
I can’t open some installed app because of bug report. How I overcome this problem? It’s may be my mistakes for lacking of my knowledge. Please help me.
What do you do if the bug is not easily reproducible?
Hey Bungie I want you to let you know that there’s a bug in crucible and me going to the tower
Every time I go to town or try to do crucible
It kicked me and my friend back to orbit
Please look into this bug and please fix it
Play every day and I enjoy destiny and I really appreciate it if you fix the bugs
Thank you for this very well-written article. I have been able to find critical paths when testing and am able to reproduce steps fairly consistently but I was always doubting which information was valuable for the devs and this would sometimes cause either some back and forth because I added so much information that the devs didn’t have the time to read thoroughly or on the opposite end where I didn’t know how to communicate bugs that had high severity but I was unable to reproduce consistently.
Hindi
I’m manual tester and have fifteen month experience.
I don;t no idea this field future please guide me.
I am a new tester. But have been facing quite a few issues recently. need your help
hello, go here to see if you can help me, I’m on an android phone and when I want to log in to the game the screen stays loading but it never lets me play, my phone is compatible, I wanted to see if you can help me solve the problem issue