Testing is not just writing test scripts and executing them. While not usually considered as an official step in the software testing life cycle, test case management is a crucial activity whose presence can be found in almost any stage of the testing process. The simple act of choosing which test case to execute is already test case management. Done right, test case management can make a real difference.
In this article, we’ll walk you through the full concept of Test Case Management, including its definition, how-to, examples, best practices, and tools for it.
Test case management is the systematic process of creating, organizing, executing, documenting, and monitoring test cases in a project.
In a more casual sense, Test Case Management can simply be thought of as the activities you do to keep track of your test cases’ status. At the very moment a test case is created, it is categorized into definitive groups along with a unique Test Case ID. That is exactly where TCM begins. From that point onwards, testers have to continuously update the status of that test case.
Which test suite/test collection should that test case belong to? Should it be chosen for execution in the next run, and if so, on which environment? Should that test case be updated to reflect the latest code change? After execution, what is the result? In the bigger picture, what can we infer about the overall system quality based on the test results? Those are the questions that TCM provides answers to.
QA teams of all scales need test case management. Even the individual developer working on his hobby code project also needs TCM if they want to properly check the system quality.
At a smaller scale, test case management can be achieved quite well with only one spreadsheet where you list down all of the test cases to perform, the corresponding test steps for each, and finally their results.
For larger teams with complex testing projects, a spreadsheet is still a viable option, but of course not the most efficient. Manually updating every cell in the spreadsheet is counterproductive, which is why at a certain point QA teams usually switch to a dedicated test case management system to help them handle this administrative task.
Both manual and automated testing teams need test case management. Automated testing teams can leverage their technical expertise to build their own test case management system that can update test results in real-time.
A test case is a detailed procedure or set of steps to be followed to verify if a particular feature of the system behaves as expected.
But what is a test case, really?
We can think of test cases as a description of what testers are supposed to do for that specific test. For example, here is a sample test case for the Login page:
Valid username and password combination successfully logs the user in.
That is a well-written test case. A tester looking at that test case would immediately know that they should execute it in the following steps:
The test above is only a simple one. You totally have the choice to go granular and include even more information in the test case, providing additional context such as:
Here is the test case above, but written in more detail:
Test Case ID: TC-001
Test Case Description: Verify the login functionality with valid credentials.
Test Steps:
Preconditions:
Postconditions:
Expected Result:
These concepts are sometimes used interchangeably, and while it is acceptable in certain contexts, it is important to distinguish them. These are 3 levels of a test, from the most general to the most specific, in which:
There are 5 stages in the test case management process, aligning with the stages of the standard software testing life cycle:
TCM starts right test planning, where QA teams analyze test requirements and outline the key action items in the test plan document. At this stage, testers think about what area they want to focus on, and what test cases are needed for those areas
Read More: 100+ Test Cases For Login Page (With Template)
Some important questions to ask yourself when crafting the test plan:
To answer these questions is to gradually envision how your test project unfolds, from which you can gradually develop the details of your test cases. When creating a test case, make sure to include all of the test case components as listed above (test case ID, test steps, detailed description, etc.) This is especially important to help you keep track of your progress when you follow the manual testing approach.
Once done, it is time you start creating the test cases and categorize them by folders, and you should be able to update the test results along the way. You can leverage all-purpose task management tools such as Google Sheets, Notion, or Jira for this. If you want a more specialized tool, it’s recommended to go with a dedicated test management tool, such as TestRail, Zephyr, or qTest.
Here is an example of TCM using Jira - a popular ticket-based task management tool. The test case is “Log out Test Case Execution”, and the QA team have custom-built a dropdown for Status field, which is currently in “Unexecuted” status. This status will be updated after the test is successfully executed.
The issue with this approach is that you have to manually update the test results, which will soon grow to be counterproductive when the workload increases.
Specialized test case management tools, on the other hand, usually have a Centralized Test Repository, which is essentially a place to help you organize your test cases in hierarchical folders in one space, giving you a more comprehensive view. These tools may also have Custom Fields feature to help you create fields for your specific needs, such as a Dropdown menu or a Text field to note down your thoughts on the test case after an exploratory testing session.
Read More: What is Exploratory Testing? Everything You Need To Know
The effort dedicated to the Planning phase will definitely pay off once you progress to later stages.
Test case management should be deeply integrated with test case design to improve traceability. Let’s see how a truly “integrated” test creation process should happen in Katalon Studio, an all-in-one automation testing solution that merges all stages of the testing process, including test case management, under one platform:
As you download Katalon Studio and start your free trial, you can launch it and create your new test case immediately by clicking on the icon at the toolbar:
You can name your test case, write a description for it, and assign any tags you like. This is Test Case Management in action: categorizing test cases before the authoring part even begins.
In Katalon Studio, you have 3 test creation modes: No-code, Low-code, and Full-code to give you the full spectrum of flexibility. These test cases are stored in Katalon TestOps. Here is a TestOps dashboard, with detailed information on test case name, Maintainer, Timestamps, No. of Execution, Duration, Flakiness, and Requirements. You can easily group these Test Cases into Test Suites and Test Suites into Test Collections for a better hierarchy.
When it comes to test case organization, we are talking about assigning each test case with tags, which can be roughly classified into 7 major types:
Most test case management tools have Custom Field features to help you create unique tags that suit your specific needs. For example, in Katalon TestOps you can navigate to Configurations > Custom Fields and create a new field with unique key and values. You can then assign new test cases with these tags during test creation in Katalon Studio.
During and after test execution, the role of Test Case Management is to keep track of the test status, as this is when a lot of updating is needed. As you can see here, Katalon TestOps automatically updates the test results upon successful execution, then generates detailed reports with rich analytics about your test runs, taking historical data into account.
Test maintenance is an integral aspect of test automation. As your code changes, the test cases must also be fixed so that they stay relevant with the updates. Learn more about test maintenance in Katalon here.
Testers who have once worked on test maintenance know the struggle. Imagine having hundreds of test cases for a new feature, and having to continuously update your scripts just to keep up with its changes. The more test cases you have, the more effort is needed for maintenance. Many tools introduce the Self-healing mechanism to aid with this.
Katalon is an all-in-one automation testing solution for any AUTs: web, desktop, mobile, or API, with test case management best practices built into all of its features. In other words, you get an automation testing tool for all AUTs with a test case management tool, a reporting tool, and a cross-browser execution tool in one single platform.
Start Katalon Free Trial and Witness its Power in Action