How to Write and Manage Test Cases in Jira

How to Write and Manage Test Cases in Jira

Creating and managing Jira test cases is a great way to consolidate your software development process and testing in one place.

You probably know Jira as one of (if not) the best project management software. But did you know that when set up properly, Jira can be a powerful test management tool? This is great news if you already manage your software development project on this platform. 

You can write and manage your test cases on Jira as well and avoid the hassle of using different tools for testing and project management. In this post, we’ll go over everything you need to know to get started with managing test cases in Jira.

But before we get to that, let’s first understand what test cases are so we are on the same page from the get-go.

What are test cases?

Simply put, test cases are a set of actions you perform on a piece of software or a new feature in an existing software. Their purpose is to evaluate if a piece of software satisfies requirements and functions correctly – in other words, to see if everything works as it should.

What are test cases

Members of your quality assurance (QA) team typically create test cases whenever developers finish a system feature or a set of features. This could be something as simple as implementing signup functionality or more complex like a database migration.

Test cases will define how to test these features and provide information on whether they serve the purpose for which they were implemented.

There are different types of test cases for different purposes. These types include:

  • Functionality – these test if the app’s interface works with the rest of the system.
  • Performance – confirm the overall efficiency of the system.
  • Unit – which analyzes the smallest testable elements, for example, blocks of code (functions, methods, etc).
  • Security – which ensures the system restricts actions and permissions when necessary to protect data.

What does a test case look like?

Test cases can have different components depending on the requirements or the app’s features. Usually, they have a test name followed by an ID and description. Then:

  • Prerequisites 
  • Setup
  • Steps
  • Expected results/Pass or fail criteria.
  • Actual results

In some scenarios, your QA team could go as far as to include post-conditions – what steps to take if the test passes or fails. With that in mind, what exactly is test case management?

What is test case management?

Test case management refers to organizing, documenting, and tracking these test cases. Like most workflows, test cases have planning, creation, execution, and analysis phases. Different teams comprising testers, developers, and stakeholders are all involved in these phases. Which is why you’ll need a tool to help you manage your test cases, and Jira is perfect for this.

What Makes Jira Suitable for Writing and Managing Test Cases?

Although Jira is built primarily for issue tracking, you can extend its capabilities to all project management tasks. Test case creation and management included. This is because:

Jira is highly customizable

It is the most flexible project management software out there. You can repurpose its native features for test case management. Jira allows you to create test cases as custom issues to be used globally or for specific projects. Then you can track and update them like you would for any task, story, bug, or epic.

Jira is highly customizable

Also, you can create a custom workflow to represent the status of your test cases during different stages of their life cycles (for example, passed, failed, skipped, etc).

Jira is extensible

Customizing the default Jira setup to suit test case management could take up a lot of your time. That’s not all, while Jira is great for basic test management, it might not have the features you need for your specific test cases.

Jira is extensible

Thankfully, Jira is extensible and you can integrate it with a dedicated software testing app from the Atlassian Marketplace. This allows you to extend Jira’s functionalities to manage your test cases better.

Other benefits of using Jira for test case management

Flexibility and extensibility aside, there are several inherent benefits of using Jira for test case management.

It’s cost-effective

If you already own a Jira license, you don’t need to purchase another tool to manage your test cases. Provided you’re well versed with customizing Jira, you can do everything without an additional cost.

You’ll break silos between your development and QA teams

Your development and QA teams managing their work on different platforms can lead to siloed communication and workflows. It can be difficult to track progress and dependencies across these teams and the communication between them could be delayed and inefficient.

Jira allows you to bring the work these teams do together to break down these silos. You can manage everything on a single platform.

Seeing as everything is well-connected (issues, requirements, and test cases), your teams will have an easier time collaborating. With all the definitions and reasons for using Jira for test case management out of the way, it’s time to get practical and see how to use Atlassian’s flagship product to write, organize, and track test cases.

How to Write and Manage Test Cases in Jira (Plus Best Practices and Tools)

There are two main options for using Jira for test case management:

  • Using Jira’s default features to monitor testing tasks.
  • Use Jira test case management tools from the Atlassian Marketplace.

We’ll go over both options, starting with using Jira’s built-in features to monitor testing tasks.

Writing test cases with Jira’s built-in features

As mentioned earlier, you’ll need to repurpose Jira’s native features before using this platform to manage test cases. To repurpose Jira for writing and managing test cases, you’ll first want to create a custom workflow to reflect the different statuses of your test cases.You can do this by going to the project for which you want to add test cases and selecting the Manage workflow

Manage workflow in Jira

Here you’ll find ‘To Do’, ‘In Progress’, and ‘Done’ as the default status types. You can use the options at the top to add your custom test case statuses, for example, ‘Pass’, ‘Failed’, ‘Blocked’, ‘Skipped’, and so on, like below:

Click Update workflow once you’re done. Now your issues will have these custom statuses.

Create test cases as Jira issues

To track your test cases, you’ll need to create them as issues. Jira doesn’t have test cases as an issue type by default. So you’ll need to create a custom issue type and name it ‘Test Cases’.You can do this easily from your project’s screen. Go to Project settings > Issue type > Add issue type on the left side menu. Add a name and description, and select an icon (optional, but recommended).

Next, you’ll add custom fields to represent the different components of the test case such as test ID, description, steps, expected results, and actual results.

Once you click Save Changes, this Test Case will appear as an issue type.

You can now proceed to create test cases for a specific project as issues and link these issues to an Epic, Story, or Task. Here is a Jira test case example if you create it using Jira’s default features.

Jira’s default features are okay if you run simple test cases with straightforward steps and expected results. But Jira’s default setup won’t cut it for complex test cases, say end-to-end ecommerce checkout flow testing. This test, for example:

  • Is data driven.
  • Requires extensive reporting.
  • Relies on external dependencies.

If you work out a way to integrate tests as issues in your workflow, it will leave your Jira dashboard cluttered. Fortunately, you can find tons of test case management apps on the Atlassian Marketplace that can help you manage complex test cases.

Managing test cases using test management apps for Jira

If you want your QA teams to have an easier time creating and managing complex test cases, you must dig into the Atlassian Marketplace for test case management apps. These plugins allow you to extend Jira’s functionalities to be more suited to test case management. Straight to it, here are some of the best test case management tools for Jira.

X-ray Test Management for Jira

X-ray is a software testing app that leverages Jira issues to make testing easier for your QA teams. With X-ray, you can use issues to specify, organize, plan, and execute your tests.

X-ray Test Management for Jira
Source: Atlassian Marketplace/Xray Test Management

You can use this tool to integrate testing into your workflows in Jira – to find bugs sooner and mitigate the cost of discovering them at a later stage. X-ray has ‘tests’ as native issue types, so you don’t have to create a custom issue type for this. Once you create your test issues, you can easily associate them with other issues (tasks, bugs, epics, etc).

 integrate testing into your workflows in Jira
Source: Atlassian Marketplace/Xray Test Management

It supports BDD (Behavior-Driven-Development) methodology and integrates with testing frameworks like JUnit, Cucumber, TestNG, and NUnit. You can also organize your test in folders and subfolders. 

With this plugin, you can choose to run your tests manually or automate them to save time.

Zephyr Scale 

Zephyr Scale is built for large-scale testing operations for complex projects. One of its standout features is cross-project reporting. This means you can manage test cases that span across multiple projects.

Zephyr Scale

With this plugin, you can configure global or project-specific test cases without involving a Jira admin. Like Xray, you can manually manage your test cases or automate them to save time. Also, it integrates with popular testing frameworks like TestNG.

It generates reports to support complex test cases. It allows you to tweak these reports with filters to see the details you need.

AIO Tests

AIO Tests is a comprehensive testing platform that combines easy test writing, execution, management, and traceability. It has a dashboard with line graphs that gives an overview of the number of test cases written and executed in your projects.

AIO Tests
Source: AIO Tests/ Atlassian Marketplace

AIO Tests makes writing test cases in Jira easy with its AI-assisted test creation capabilities. You can write test cases, link requirements and parent issues, and create custom fields to suit specific test cases on a single screen. This is its Jira test case template.

It generates traceability reports that allow you to keep tabs on your tests. Regarding automation, supports BDD and even has a Jenkins plugin to help automate tests. In essence, this is a great tool for smaller QA teams who are just starting out and larger, more mature teams that want to scale test case management.

Requirements and Test Management for Jira (RTM)

RTM is built for managing requirements and test cases. It has a folder and sub-folder system for grouping related test cases together to organize your testing process. Like the other tools in this list, RTM allows you to use Jira issues to create and track test cases.

Requirements and Test Management for Jira (RTM)
Source: RTM/Atlassian Marketplace

One of its key features is that it generates reports that you can download and share with teams or stakeholders during meetings. RTM is primarily an entry-level test case management app as it lacks the advanced features the other three have.

Selecting the right tool for your test cases is as simple as understanding what your test cases need and then looking through the features of these apps. If you want a complex tool with more features then X-ray might be the tool for you. But if you’re getting started, RTM is a good shout.

Now that you have your tools in place, let’s go over some best practices you can implement to get the best out of test case management in Jira.

Best practices for writing and managing test cases in Jira

If you’re going to manage test cases in Jira, here are some best practices you should apply.

1: Create global test case custom issue types

Earlier on we walked you through how to create project-specific test case issue types. Although this is the fastest way to create test cases as custom issue types, it limits this issue type to the specific project.

So if you want to track test cases in another project, you’ll have to go through the process of creating the test case custom issue type all over again. To make your test case reusable, you’ll need to create global test cases.

To do this go to Settings > Issues > Issue Types and click on Add Issue Type.

Create global test case custom issue types

You’ll add the name, description, and the custom fields we discussed earlier. Next, you’ll need to create an Issue Type Scheme. You can do this from the Screens menu. After creating the issue type scheme for this custom issue, it is available across different projects.

create an Issue Type Screen Scheme

If you want to use it in a different project you simply have to associate the issue type scheme with the project.

2: Create sub-tasks for large test cases

If you have a large test case, for instance, the end-to-end e-commerce checkout example we discussed, lumping the entire process on a single issue won’t cut it. It can easily get messy with all the updates, comments, deadline changes, reworks, etc. To mitigate this, you can break down the issue into sub-tasks.

Create sub-tasks for large test cases

For instance, you can create sub-tasks for the following functionalities: payment gateway integration, shipping information inputs, and billing address inputs. This makes it easier to organize test cases and track them.  

3: Use labels for traceability

Once you attach a label to your test case, you can search for it easily by label. This ensures that your test cases won’t be difficult to find. Labels are available as a field in Jira issues by default.

Use labels for traceability

So when creating a test case as an issue you can simply type it in the field and press Enter to save it.

4: Integrate testing methodologies and frameworks

Some of the test management tools we’ve covered in this guide allow you to integrate testing methodologies (BDD) and frameworks (TestNG, Cucumber, etc). These allow you to automate your testing process and give more structure to your tests.

Leveraging these frameworks frees up your development and QA teams to focus on more strategic work, instead of repetitive tasks.

5: Create a clear and concise structure

Consider leveraging custom fields to outline your test case structure like we discussed. This is to say that you should use different custom fields for each component of your test case. Trying to fit each component under the description field will make your test cases difficult to read through.

Consider leveraging custom fields to outline your test case structure

That aside, you should also organize your test cases in folders, especially when they’re complex. This is a great way to group tests that are dependent on each other together.

Summary and Key Takeaways

Using Jira for test case management is a great way to consolidate the work your development and QA teams do in one place. Jira’s customizability allows you to repurpose this work management tool for test case writing and management. However, by default, Jira is only suitable for basic test case management.

For more complex test cases, you can extend Jira’s functionalities with apps from the Atlassian Marketplace. This allows you to utilize advanced features like reports, AI-powered test creation, and organizing test cases in folders.