At the moment, Jira is probably the most used tool for software project management, especially in teams that work with Agile frameworks such as Scrum or Kanban. But did you know you can also use Jira for test case management?
There are two ways to do that. The first one is to write the tests directly in Jira by creating a new issue type for test cases. The second is to use a test case management tool integrated with Jira.
Of course, both methods above have their own advantages and disadvantages. Let’s discuss them a bit, and based on them, you can decide what works best for you, your team, and your testing efforts.
The Pros & Cons of Using Jira For Test Case Management
Let’s start with using Jira as a standalone app. And before we do that, I just need to mention that Jira is not designed as a testing tool, but as an issue-tracking tool.
Jira Test Case Management - Pros
- If you’re already using Jira as an issue tracker or project management tool, using it for test case design means you don’t need to add another tool to your testing tech stack.
- The learning curve is smooth if your team is already familiar with Jira.
- Linking tests to user stories, bugs, or other types of issues in Jira is really simple because the functionality is already there.
- It allows some form of customization, just like for all issue types in Jira.
Jira Test Case Management - Cons
- Since it’s not designed for testing, Jira doesn’t offer proper execution functionality.
- There is no integration with automated tools for automatic test results updates.
- Test reporting is limited - most dedicated test management tools offer better reporting for test execution.
When it comes to using other tools, the pros and cons vary depending on the selected tools. But we will focus on what most of these tools have in common.
Using Test Management Integrated Tools - Pros
- Tools designed specifically for test management offer better test reporting and metrics.
- The tests can be reused in multiple testing plans and can have multiple test runs and executions.
- Some tools offer integration with test automation tools, so the test results are updated after each automated test run.
Using Test Management Integrated Tools - Cons
- These tools are usually commercial, so they have additional costs.
- The team needs to familiarize themselves with the tool before being able to use it efficiently.
How To Create Tests In Jira
Before you write test cases in Jira, you must create a new issue type. You can call it Test, or Test Case, it’s really your choice. All that matters is that the whole team is aware and uses it properly.
To demonstrate, I’m using a Kanban project template in Jira. You will need administrator permission on the project to create a new issue type in Jira, which needs to be done only once. New issue types in Jira can be stand-alone or sub-tasks. Let’s take a look at both.
Standard issue type
To create a new issue type in Jira, you can go to the settings and navigate to Issue types. Here, you will have the option to create a new type. I named my new issue type “Test case”:
Then, you have to add it to the project. Alternatively, you can create the new type directly on the project, unless you plan on using it on multiple projects.
From the project settings, you can also add new statuses. I added Passed and Failed:
From the Issue features menu - Issue linking, you can also add a new way to display how the items are linked together. I added a new way of linking tests because I want my test cases to be linked with the user stories or bugs they are testing:
After the type is created, you can select it from the New issue window:
Jira is a very customizable tool so that you can define specific statuses for the issue types. For testing purposes, you can add statuses matching test results, such as Passed, Failed, and Blocked.
The benefits of using this approach are:
- Test cases can be linked to multiple user stories/bug/issues in Jira, therefor existing test cases can be reused.
- Test case creation is easy - the test cases are just like any other Jira issue.
However, there are some disadvantages, too:
- After the test execution, the status of the test changes, and the previous status is not tracked anymore.
- Test steps don’t have dedicated fields, so you can’t add individual test step results.
- You can’t create a test suite or a test plan for the test execution.
Sub-task issue type
Sub-tasks issues in Jira are created in the same way, but the difference is that sub-tasks are created as children of other existing issues. Using this approach for test cases, the tests are created under the user story or task that is being tested. This approach is useful when the test cases are only to be run once.
Advantages of using tests as sub-tasks:
- The tests are created in direct correlation to what they are testing.
Disadvantages of this approach include:
- The test cases cannot be reused.
- All the disadvantages of the above approach apply here too.
Both approaches are better fit for manual testing because automation testing would require integration between the tools, which is not something the Jira software provides.
Tools to Help With Jira Test Case Management
A different approach is the one where you use a test management tool that can integrate with Jira. These tools are designed specifically for test case management and usually provide a lot of features that can help in the testing process, such as:
- Tools integration - and I don’t mean only integration with Jira, but also with test automation tools, communication tools (such as Slack, Microsoft Teams, etc.), email, and so on.
There are a lot of test tools that integrate well with Jira, among which I will name Zephyr Squad, TestRail, XRay - but the list can go on.
Test Case Writing Best Practices
Whether you are using Jira or another test management tool, it’s a good idea to follow some guidelines when writing test cases.
- Before you start creating them, it’s important to identify the requirements that are being tested - both functional and non-functional.
- Next, decide which testing techniques are applicable to the given requirements. For black-box testing, the most common techniques are:
- Boundary value analysis
- Equivalence class partitioning
- Decision table
- State transition
- Pairwise testing
- Consider performing exploratory testing, too, even if this kind of testing is not usually scripted and test cases are not explicitly created for it.
- When it comes to the actual content of the test cases, make sure that the description is clear and concise - you want it to be easily understood what the purpose of the test case is.
- The test steps should be easy to follow, write them in a way that makes them easy to follow even by people who are not familiar with the application or with the functionality.
- Try not to test too many things at once - ideally, each test case should focus on a very specific behavior of the application and not address multiple features at the same time.
- Write explicit expected results - do not let other testers guess what the correct behavior is.
- Include both positive and negative scenarios in your test cases.
- Maintain the test cases - if a functionality changes, make sure that the test cases that test it reflect that change.
Jira can be a very useful tool in the software development process, and while it’s not specifically a test management solution, it can aid in that direction - either standalone, as discussed above, or by integrations with other tools.
If you found this article useful, why not subscribe to the QA Lead newsletter? You’ll be up to date with testing-related news, tools, and best practices.