What is Test Case Management? A Complete Guide
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.
What is Test Case Management?
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.
Who Needs Test Case Management?
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.
Understanding Test Cases
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:
- Go to the Login page
- Type in a valid Username
- Type in a valid Password
- Click the Login button
- Observe the response
Components of a Test Case
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:
- Test Case ID
- Detailed Test Steps (if the test is complex or step-sensitive)
- Required data (include attachments if necessary)
- Pre-conditions (any requirements that must be met before execution)
- Post-condition (expected system condition after the test)
- Expected result (the outcome once all steps have been successfully executed)
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:
- Navigate to the login page of the web application.
- Enter a valid username in the username field.
- Enter a valid password in the password field.
- Click on the "Login" button.
- Wait for the system to process the login request.
Preconditions:
- The web application is accessible.
- A valid user account with the specified username and password exists.
Postconditions:
- The user is redirected to the home page after successful login.
- The user's session is established, and they have access to authorized resources.
- User information, such as name and profile picture, is displayed on the home page.
Expected Result:
- The login process should be successful without any errors.
- The home page should be displayed with the correct user information.
- The user should have access to the features and resources allowed for their role.
- The system should generate a session token for the user.
Test Scenario vs Test Case vs Test Script
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:
- Test scenario is a high-level description of what needs to be tested. Test scenario is quite general, specifying only the area to be tested. For example, on an eCommerce website, a possible test scenario would be “Testing the user checkout process”.
- Test case is a more detailed description of what is being tested and the steps needed to do that. Taking the same example, a test case for the aforementioned test scenario would be "Verify that a registered user can successfully add items to the cart, enter shipping information, and complete the checkout process."
- Test script is the code to automate a test case. With the eCommerce checkout process test case above, a manual tester with no test script would have to manually perform those steps, while an automation tester can simply write some code to automatically execute those steps in the system.
Test Case Management Process
There are 5 stages in the test case management process, aligning with the stages of the standard software testing life cycle:
- Test Planning
- Test Case Design
- Test Case Organization
- Test Execution
- Test Case Maintenance
How To Do Test Case Management?
1. Planning
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:
- What is the goal of this testing project? Is it to check the functionality, performance, usability, or security?
- What approach will be used? Is it Waterfall or Agile?
- What is the scope? What features in particular will be targeted?
- What is the method used to test the items as defined in the test scope?
- What are the dependencies?
- What test environments are used?
- What are the key milestones and due dates?
- Who is responsible for specific types of tests? Who will be in charge of the manual testing? Who will be in charge of automation testing?
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.
2. Test Case Design
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.
3. Test Case Organization
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:
- Severity (High - Medium - Low impact to system performance/security)
- Priority (High - Medium - Low urgency)
- Reproducibility (Reproducible, Intermittent, Non-Reproducible, or Cannot Reproduce)
- Root Cause (Coding Error, Design Flaw, Configuration Issue, or User Error, etc.)
- Test Type (Functional Bugs, Performance Issues, Usability Problems, Security Vulnerabilities, Compatibility Errors, etc.)
- Areas of Impact
- Frequency of Occurrence
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.
4. Test Execution
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.
5. Test Maintenance
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.
Best Practices For Effective Test Case Management
- Have a good naming convention for your test case. This can be seen as the first step to good test case management.
- Organize your test cases based on specific logic, such as Priority, Testing Types, or Modules.
- Apply version control system to track test cases changes.
- Automate your test case management to streamline the entire process
Katalon For Test Case Management
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