Have you ever received a ticket that was unclear so you had to ask a lot of questions before you could start tackling the issue? Maybe the assigned ticket was difficult to read or confusing. Well, fear not! I have found life's secret to writing tickets that are bulletproof to the usual questions like: Where did you find this? Can I see this issue? and What is this ticket talking about?

After experiencing similar questions early on in my QA career, I decided to devise a better process for writing tickets. I started to think about the best details to include. Then something hit me like an apple from a tree: what if I included everything in the title?!

This is when I developed what I call “the breadcrumb method” for my ticket writing. Usually, when issues are found on a website, the first thing testers do is to replicate how they found the bug; this means going to the location and repeating the same behavior that was done when the bug was discovered.

By describing this in the ticket title, we provide developers and engineers with the location of the issue.

Think of ticket writing like writing a short story except this story is focused on the found bug.

For example, let's pretend you found an issue using UIlicious on the “Homepage” of the demo PHP Travels website:

On the PHP Travels website, I have an automated test running through UIlicious that caught an error where the testing website went down. The report gave me this information.

Now if this were a real test instead of a mock test, I would be able to alert the team of this critical issue as would UIlicious, which would save us time and money thanks to the automated monitoring capabilities the tool offers.

It is time to begin writing our bug ticket!

First, let us examine what would a bug ticket containing an inadequate amount of information would look like. Tickets like these can leave the team flummoxed on what the issue is.

❌ This is what can be considered a “bad” ticket:

Title: The PHPTravels page is not loading
Details: The page is not loading when I go to it. I don’t know why.
Results: The page is not loading can someone look at this?
Steps to Reproduce:
1/ Go to the page
2/ It won't load

This ticket has several issues. The most glaring issue is the title does not give enough information to the reader. What specific page on the PHPTravels website is not loading? The details do not provide further information on what specific page is not loading. The Results, which are not only unclear, but they are missing the Expected and Actual Results. It is important to include these results since this gives the Developer insight on what is expected and what is actually happening with the results.

✔️ This is what can be considered a “good” ticket:

The first step in making a good ticket is to take the URL from the page to compose the title of the ticket. In this example the URL is: https://www.phptravels.net/

The URL will be used for our breadcrumb that we will include in the title along with the issue:

Safari - iOS 14 - iPhone 13 - PHP Travels - Homepage - The site is down due to no response from the API Server

This ticket title already gives an adequate amount of information for the assignee to understand and know where the issue is occurring and what the issue is. It is always important to include the browser, version, and platform since this is helpful information that provides additional insight on where the issue was found.

If there were additional pages such as: https://www.phptravels.net/Flights/Bookings/Errorpage

The ticket title would have the pages included from the URL.

With our breadcrumb in place, the rest of the ticket will be easier to write including the Details since we can add information from the title.

Details: When navigating to the PHPTravels site a No Response from API Server message is received
Steps to Reproduce:
1/ Navigate to the PHP Travels website (https://www.phptravels.net/)
2/ Observe the message received when navigating to the site.
Results: When navigating to the PHPTravels site a No Response from API Server message is received.
Expected Results: The PHPTravels website needs to be running instead of at all times.
Include a screenshot of the issue such as the example from earlier.**

Because we have included a screenshot, we have given the assignee a visual example to understand what the issue is.

Now, you know the secret, which I suppose is no longer a secret. :)

Happy Testing!