I've heard a lot about Jira not being optimized for QA as, at its core, it is specifically a Project Management solution, and, therefore, it is not about test management. But let's be honest here, Jira feels unnecessarily complicated when you get started with it, regardless of your position or goals. And given it's the go-to standard for organizing and managing software development projects – of which QA is an integral part – you'll barely have a choice in the matter.
That being said, Jira can (and should) be optimized in a way that is equally efficient for developing new features, testing, and releasing them.
In this article, we talk about the following:
Effective use of Jira in software testing.
Optimizing Jira the QA workflow.
Writing and managing tests in Jira.
Additional tools and Jira plugins that can help your QA process.
Jira for Development vs. Jira for QA
Let's start with the elephant in the room. I've seen a lot of materials stating that Jira is not built with bug tracking in mind and that it is often lacking in "this and that." This statement is true as Jira wasn't built for development, HR, procurement, or marketing specifically. It is a project management system that is designed to help with, well, managing teams.
That being said, the teams themselves will use Jira differently. And some may have an arguably simpler time. Developers, for instance, might not need to spend as much time in Jira as QA engineers due to the fact that they don't need to create their tickets daily: They'll be working on a handful of User Stories per Sprint. You, on the other hand, will have to cover these stories with tests.
The key to striking a delicate balance where everyone can do their job effectively lies in planning your processes in Jira in a way that considers the interests of everyone on the team.
Designing Processes With a Jira QA Workflow in Mind
Let's look at a couple of handy tricks and process improvements that can not only help QA engineers be more effective but improve everyone's work on a software development project.
Include Testers When You Estimate QA Tasks
QA engineers aren't typically responsible for providing estimates. However, this can be a good practice as they have much more hands-on experience and can deliver more accurate estimates for QA tasks.
Allow Testers to Help Set Bug Priorities
As a rule of thumb, QA engineers are quite good at prioritizing bugs thanks to their user experience testing background. Obviously, a project manager can change these priorities based on business needs, but it is beneficial to allow testers to set initial bug priorities.
As a tester, you need to consider the following factors when prioritizing a bug in Jira:
How often does it occur?
What is the severity (how much does it impact the user)?
Is the issue blocking the main functionality or some other features?
What devices/browsers does the bug happen in?
Is the bug impacting the users in a way where they churn or leave negative reviews (have similar bugs caused it before)?
For how long has the bug been happening (death by a thousand papercuts is still a thing)?
What other features are also coming in this sprint, and what are their priorities?
Design Your Board to be More Process-Friendly
The iconic Kanban board is probably the first thing that pops into one's head when thinking about Jira. And if you've worked on several projects, you've probably seen them arranged in a variety of ways. The general approach sorts your issues into several columns that move from "to do" to "in progress" and then to "done." That being said, you are not limited to a specific number of columns. Use this to your advantage.
I'd suggest having more columns that can clearly illustrate the path your issue needs to go through before it can be considered done.
I'd consider having the following columns:
TO DO
Ready for development
In progress
Ready for review
Ready for testing
In testing
Reopened
Ready for release
Released
Having a separate column for every stage may seem overwhelming, but only at first glance. In reality, this array gives everyone a nice high-level view and becomes an asset for the QA team.
QA-Relevant Issue Fields
QA engineers don't typically need too many extra bells and whistles when it comes to issuing fields. In fact, testers will mostly need the default ones with a handful of minor exceptions. However, these tiny changes can make a world of difference in the long run.
Here's an example of issue fields I find to be useful in a QA ticket.
Summary: This field will have a short – usually one-line max summary of the main problem.
Description: This section will be the home to your pre-requisites (if needed), expected and actual results, steps to reproduce, device details, app version, and environment info (unless you have specific fields for this information), and generally any other delta that could help with reproducing the issue withoutasking QA for additional help.
Issue type: This field is typically assigned by the Project Manager. They will decide whether an issue is a Story or something else. That being said, you need to ensure that your QAs have the option to create bug report tickets on their own.
Assignee: Self-explanatory.
Priority: This field is where either the Project Manager or QA engineers themselves set the priority of a bug.
Labels: People often overlook this field. However, I find it to be an exceptionally good way of grouping tickets together.
Environment: This field can add a lot of necessary details, like whether the feature is in dev or staging. You can also specify hardware and software, like using Safari on an iPad Mini.
Affects Version and Fix Version fields: These fields can also add a bit more context by clearly stating the software version. This is handy because the QA engineer can easily understand the version of the app/software that should be used for testing.
Components field: This field can come in handy when you need to specify if the product consists of multiple components.
Attachment field: You can use this field to add screenshots with errors, log files, or even video recordings of an issue.
Linked Issues: This field will help you link bugs to stories or Epics for feature implementation if you know that there's a relation.
Due date: This field is useful for general awareness and understanding of when the issue is planned to be fixed. Do note, however, that this field should not be filed by QAs.
Please keep in mind that this suggested list of fields is what I consider good to have, but they are not a hard requirement. If you feel comfortable that your process can skip some fields and simply hold more info in the description – go for it.
The same can be said about making more fields. Yes, it may seem tempting to formalize everything possible, but you shouldn't go too far. The more fields there are – the more time you'll spend on filling them. This is even more true given the nature of the QA process, as you may need to create dozens at a time.
Cultivate the Right Comments Culture
Comments in tickets can be a gold mine for a QA engineer as detailed and specific notes will help discover a lot about the feature. They can also become a rabbit hole of irrelevant fluff, as reading through dozens of them will take away precious time that could have been better spent elsewhere.
Jira is not Slack, nor should it ever become a messenger. Therefore it's best that your team uses tools that are meant for communication to discuss most details and questions and put the finalized requirements or needed context into tickets.
Tags
Whenever you are adding any details that should be relevant to a certain developer – tag them. Obviously, the same is true for engineers and managers who want a QA person to look at something specific.
Pro tip: You can use a checklist plugin to break down tasks into actionable items. Smart Checklist will allow you to add custom statuses, tag users, and set up deadlines for each item individually.
Comments