Although testing involves many different stages, it’s mostly based on preparing and executing successive test cases. Tests have a strong influence on the quality of the final product. This is why it’s so important to pay attention whilst planning the process, and how it’s integrated into the rest of the development lifecycle. To ensure tight integration, we strongly recommend using Jira Software for this purpose. It’s generally known that the Atlassian suite supports managing the workflow even in the case of more complex projects which involve many people’s cooperation. In software development, all the phases are related to each other. It’s a smart idea to catch up with all the connections between the project goals, features, and test cases in order to build a consistent process, understandable for each stakeholder.
Why shouldn’t you separate your test cases?
In favor of keeping your software development process consistent, it’s always better to have all its elements inside one place. When we have to deal with more complex or scattered projects, searching for particular elements takes a lot of time and can be really frustrating. Being able to see all the relations between the objects at a glance can do miracles for the project. You’ll spot the possible defects sooner and will be able to fix them, as well as immediately tell which part of the code or incorrect requirement caused their occurrence. This kind of workflow leads to the earlier release of the final, bug-free product.
What’s more, if testers have their test cases stored in a separate testing tool, a document, or some Excel sheet, the rest of the team usually have problems with accessing it. This makes it difficult to see the context of each test case, as well as complicates the communication inside and across the teams. The consultations and meetings waste time, which could be spent otherwise. When your test cases are managed in the same place as requirements, plans, executions, and defects, the process is logical for each stakeholder every step on the way.
Benefits of using Jira for the whole software project
Test case management in Jira – challenges and advantages
Despite Jira is not a dedicated testing tool, many teams still use it for this purpose. When a company manages projects in the Atlassian suite and storing everything inside one place significantly improves the process. Jira Software simplifies communication between and across teams. When someone modifies a task or issue, all people involved can see it. It’s a dream come true not only for managers who need to control the workflow all the time, but also for various team members who not necessarily like to run from desk to desk every time they have a question.
Nevertheless, when it comes to testing, Jira Software has its limitations. Although it has a few issue types to choose from, like Bugs or Epics, it doesn’t have anything intended strictly for tests. Custom issue types can be created, but it’s always an additional activity, which takes extra time. In this case, an admin has to set up and prepare each issue type by adding custom fields, putting them into screens, and practically built the whole workflow from scratch. Secondly, test cases in Jira once marked Done can’t be used again, which is practically inevitable in software testing. It’s highly probable that a test case will have to be re-executed, for example, whilst verifying if the functionality works in another environment, or in the case of regression testing.
Standalone Jira Software shows direct relations between the issues on the issue screen, but it’s still very easy to get lost in the successive stages, as there isn’t any consolidated view of indirect connections. Checking the requirement-test case-test plan coverage isn’t clear, and presenting your progress or results to the other stakeholders requires meetings and preparing reports, inside or outside the software, so everyone could really understand what’s going on. It seems like Jira constitutes a great foundation for testing, but there’s quite a lot of functionalities missing to execute the complete process.
Jira with a testing extension
Testing extensions for Jira are the solution to all the challenges of software development teams. On the Atlassian Marketplace, there are exactly 123 test management apps to choose from. First of all, we can decide on a separate tool, which integrates with Jira or on an add-on. Both give Jira the functionalities, which make test case management more efficient than in the case of standalone Jira. The right tool will provide its users with the possibility of advanced customization and with features created especially to answer testers’ needs. Moreover, it’s much more convenient for an admin to install the app than to go through the procedure related to adapting plain Jira for tests.
By advanced customization, we understand a couple of things. First of all, apps for test management have built-in issue types for testing objects, such as test cases, test plans, test executions, and defects. Secondly, the relations between the objects are traceable, as the process is consistently executed inside one place. There are tools that include requirements management as well, and this enables performing the whole software project management in Jira from the very beginning. Connecting possible defects to the elements of the initial part of the process may lead to very useful conclusions for the project, such as which of the planned features of our product to-be generate most of the bugs. Designers of testing apps took care of the reporting, too: each app has the reports displaying the current progress and statuses ready to be presented to the stakeholders anytime we want. The great thing about the reports is that they are real-time and update automatically, which means they immediately show all the modifications made by the team.
Test Case screen in Requirements and Test Management for Jira (RTM)
Customizing Jira for tests
The most common way of setting up Jira for tests is by using Stories and Sub-tasks. It’s good for the start or smaller projects because even the beginners will understand how it works without an additional explanation. When you add a test case, in its description list your test steps and indicate what results are expected from every action. Then, it’s time to create sub-tasks for each test run and adequately label them with the outcomes, the versions, and the assignee responsible. This way would require adding a dedicated testing project to your instance by the admin. Otherwise, User Stories generated for tests will affect the developers’ sprint scopes, burndown charts, and other ways to measure their work effectiveness. This is a big flaw in this solution.
If so, you may ask your Jira admin to create a specific issue type for test cases. This might work even inside the development project, where you can exclude it from the sprint scope and reports. However, creating an issue type from scratch implies designing a workflow, adding some custom fields and configuring screens, which isn’t too good for the instance from the admin’s perspective. Using pure Jira means working on a single issue type, too. You won’t tell test cases from test plans and executions at a glance.
Creating a new Jira issue type for testing. Source: TestLodge
If you already use certain apps for Jira, you can try out our Issue Templates or Dynamic Forms apps as a workaround to optimize test case management. Even without custom issue types, Issue Templates for Jira can enable creating reusable test suites. After generating a test plan template and saving it as a User Story with test cases listed as Sub-tasks, you’ll be able to execute them in every other project in Jira. On the other hand, Dynamic Forms for Jira’s feature called Bundled Fields lets you create a transparent table for test steps, which will make the test case view clear and easy to understand.
The fourth option is installing a dedicated testing app from the Atlassian Marketplace. As we know, there are quite a lot of them available on the market, and each one has its pros and cons. The Requirements and Test Management for Jira (RTM) by Deviniti stands out yet at the beginning, as it enables plug-and-play configuration. Not without the cause, it’s known as the most intuitive test management tool. Its friendly UI provides users with a well-known environment to work in, and most importantly, supports bringing the whole software project into one place so that requirements, features, test cases, and defects could be transparently managed altogether.
Good practices in test case documentation
1. Track requirements-test cases-test plans relations
Avoid executing each stage of your process in a separate tool. Many teams make a mistake of excluding their requirements from the rest of the software development. It’s a risky move, as it can cause chaos and makes it practically impossible to fully track the relations between the objects. Only this way we can always make sure if all of the initial expectations are executed, though. If you keep this in mind, you can be sure that not only your customers, business analysts, and testers will appreciate it. The developers’ work will also become much easier, as the total number of omissions and ‘human errors’ will significantly decrease. This means less coding and going back and forth all the time.
It’s just another reason why we recommend using testing apps for Jira so much. They fully support verifying relations, not only these between the requirements and test cases, but also between the test cases and test plans, executions, and defects. RTM for Jira offers two dedicated reports: the Requirement Coverage report and the Traceability Matrix, which help you make sure that all your requirements are covered with related test cases, test cases included in test plans as well as executions, and quickly check which defects result from which actions.
2. Prepare a functional structure
Most people are visualizers. They understand and remember well-illustrated things much better. Structuring tasks also helps organize the workflow and aids an order in successive steps. This is why in RTM for Jira we created a transparent tree structure for all testing objects, including test cases. Thanks to this feature, you can group your test cases per category, assignee, feature, environment, and practically by any parameter that comes to your head. This will make every part of the process clear and easy to divide among the team members.
3. Describe test cases attentively
When describing test cases and test steps, it’s crucial to always have in mind that the better we explain them at the beginning, the more time we save. The time economization usually means also savings in the budget, so this case is really important for the whole company. Attentively explained actions reduce the number of questions, appointments, and e-mails from the others involved in the process. There are some useful tips we should take into consideration if we want to write good test cases for our team:
- always identify the purpose of the feature-to-be;
- define all activities which need to be executed in each test step;
- make your test cases short, and to-the-point;
- indicate the frameworks of your test cases;
- become familiar with the internal software modules.
4. Stay up to date with the progress
Always remember to check the overall progress of your testing and verify the statuses of test case executions every once in a while. Not only will you know the probable time left to complete testing, but also be able to observe which test cases take more time than others, or which assignees are the most efficient in their jobs. The conclusions will help you improve your workflow organization later on, and be more conscious in the meetings whilst planning the process. When it comes to meetings, RTM for Jira supports easy on the eye reporting, which is understandable for all the stakeholders, so you don’t have to worry about the uncomfortable questions anymore. Thanks to the real-time reports, you can be prepared any minute.
If you have your test cases included in the rest of the software development process, it speeds up your testing and increases the chances of releasing a complete, bug-free product. Not only the whole team can work together with one tool, but also, you get maximum traceability of relations between the initial requirements, test cases, and test plans. A great solution is bringing your software development along with tests to the place where you manage your project, divide tasks, and describe issues: Jira Software. Nevertheless, the standalone Jira is usually not enough. This is why we recommend extending it with a dedicated app for test case management, which will open the world of new testing possibilities in front of you. If additionally, you’ll keep in mind some universal rules which concern creating good test cases as such, you’ll benefit from all the advantages of a really high-level testing approach.
If you’ve decided to test our app, RTM for Jira, take a free 30-day trial from the Atlassian Marketplace. You can also book a live demo via Calendly to see the app in action. We also invite you to read more on bringing the test management process inside Jira on Deviniti blog:
Kasia Kornaga is an Atlassian Apps Content Specialist, responsible for writing about requirements and test management on the Deviniti blog. She tries to discover and understand the mysteries of software testing process in order to share the knowledge with the readers interested in the subject. As an SEO enthusiast, most of all she values helpful, unique content where users can find answers to their questions, so she probably knows what you will look for before you even start. When she’s not writing, you can find her at the theatre, at home with a book or passing on city streets on her bike.