How to create a bug ticket (for a web project)

Do you know what's the worst about the bug ticket? No information that will help to fix the problem quickly.

I've seen a lot. Tickets with it does not work or without description at all. Tickets with incorrect information that made finding the problem difficult. Tickets that are not bugs but it's hard to tell from the description.

Bugs happen. There are many ways to help a programmer fix them faster. Very often it takes longer to find a problem than to fix it.

How can this be improved?

# It’s not enough to write “it does not work”, please write what exactly does not work

A programmer is not a sorcerer and has no magic ball. We need to know what does not work. The more accurate the information, the faster the problem will be found. If we have all the information we need, we won't have to ask additionally. Sure, it's nice to talk to you, but it will save us time and we won't have to bother you at work.

# Please add reproduction path, we don't have time to look for and guess where the problem is

We have a lot of work and looking for a way to reproduce the issue is not what we want to spend time on. It's your work, my dear QA. Show me exactly what I should fix. Please write instruction for me, step by step. You've spent some time to find this problem, it's a waste of time for us to look for it again.

# Please attach a screenshot or a screen recording

Sometimes an image or a video tells more than a description. It's useful for me when I can exactly see what's happening.

# Please give us the credentials to the test account where the issue occurs

It happens that bug is related to one or more accounts. It may not exist in the accounts that we use. It's much faster when you give us your account details and we'll be able to log in and check it out exactly.

I hope you don’t use the same credentials as for your bank account.

# Please tell us the time when this problem occurred

If we know when the issue occurred, we can go to the logs and find the stack trace easier. We don't have to search through a lot of logs. We can narrow down the search and find the information we need faster.

# Please attach a copy/screenshot/video from API response

It happens that the issue occurs on the API side. We have all the logs but it will be faster to find the issue with your help. You can go to the browser console, copy the text, create a screenshot or video from API response. We would like to know the HTTP response code, API response and sometimes even headers. This information will help us a lot in solving the problem.

# Please attach a copy/screenshot/video from the web console

It happens that the issue occurs on the client-side. Usually, it's a Javascript issue. Like for the API, we should have all the logs but it's easier to provide information straight from your browser. Open the web console, copy the error log, create a screenshot or video.

# Please provide the correct environment name

We need to know where the problem occurred. Usually, we have more than one environment. Production, staging, development, multiple clients, white-label apps. It's a big waste of time when a developer tries to find a bug in the wrong environment. Please provide information about the environment, client, anything to help us locate the problem faster.

# Do not try to guess what’s wrong when you have no idea how it works

I know it does not sound good. Let me explain. It happened to me that QA described why the issue occurred and before I started working on it, the information has been forwarded to PM, PO and the client. I've got many questions about why it does not work and why it was implemented incorrectly. It turned out that the issue was totally different and the fix took 30 minutes. On the one hand, it's nice that QA tried to help but it caused a lot of fuss. In my opinion, every problem should be described by the programmer (after an investigation) and after that this information can be forwarded to people who are interested.

# Try to reproduce the bug on multiple environments

If the issue occurs in all environments, it can be an issue in the code. If the issue occurs in a single environment, it can be an issue with the environment or application settings. This is just an example, there can be many reasons for this but this information can help a lot.

# Please provide information about OS, web browser, display resolution, etc

It's important. The website may behave differently on different systems, browsers and even browser versions. It's is not always necessary, but sometimes it`s useful.

# Write an automated test

That would be great! Write a test that we can run and which will pass when we fix the bug.

# Summary

We are a team. Let's help each other. Let's cooperate. QA position is not only about finding bugs, drawing another line on the wall and spreading the word that a programmer has made a mistake. It's about finding bugs so they don't go into production, helping to provide a better quality product and solving problems more quickly. It's the responsibility of the entire team to deliver the product as fast as possible without bugs. Every bug is the fault of the whole team, as it is a long time to fix it. Good cooperation between programmers and QA can bring good results.