Test management most commonly refers to the activity of managing the computer software testing process. A test management tool is software used to manage tests (automated or manual) that have been previously specified by a test procedure. It is often associated with automation software. Test management tools often include requirement and/or specification management modules that allow automatic generation of the requirement test matrix (RTM), which is one of the main metrics to indicate functional coverage of a system under test (SUT).
Creating tests definitions in a database
Test definition includes: test plan, association with product requirements and specifications. Eventually, some relationship can be set between tests so that precedences can be established. E.g. if test A is parent of test B and if test A is failing, then it may be useless to perform test B. Tests should also be associated with priorities. Every change on a test must be versioned so that the QA team has a comprehensive view of the history of the test.
Preparing test campaigns
This includes building some bundles of test cases and execute them (or scheduling their execution). Execution can be either manual or automatic.
- Manual execution
The user will have to perform all the test steps manually and inform the system of the result. Some test management tools includes a framework to interface the user with the test plan to facilitate this task. There are several ways to run tests. The simplest way to run a test is to run a test case. The test case can be associated with other test artifacts such as test plans, test scripts, test environments, test case execution records, and test suites.
- Automatic execution
There are numerous ways of implementing automated tests. Automatic execution requires the test management tool to be compatible with the tests themselves. To do so, test management tools may propose proprietary automation frameworks or APIs to interface with third-party or proprietary automated tests.
Generating reports and metrics
The ultimate goal of test management tools is to deliver sensitive metrics that will help the QA manager in evaluating the quality of the system under test before releasing. Metrics are generally presented as graphics and tables indicating success rates, progression/regression and much other sensitive data.
Eventually, test management tools can integrate bug tracking features or at least interface with well-known dedicated bug tracking solutions (such as Bugzilla or Mantis) efficiently link a test failure with a bug.
Planning test activities
Test management tools may also integrate (or interface with third-party) project management functionalities to help the QA manager planning activities ahead of time.
Test management tools
There are several commercial and open source test management tools available in the market today. Most test management tools are web-served applications that need to be installed in-house, while others can be accessed as software as a service.