Test management is how a software team decides what to test, records what was tested on which build, tracks what failed, and turns that evidence into a release decision. Test management software holds the test cases, plans, runs, results and defect links in one place, so “are we ready to ship?” has an answer based on evidence rather than a feeling.
Good test management is not a final checkpoint after development. It starts with acceptance criteria, runs inside each sprint and ends with release criteria that someone owns. This guide explains the building blocks, a repeatable test cycle, how to handle defects, which metrics help, and what to look for when you choose a tool.
The building blocks of test management
Test case
- What it is
- A condition or set of steps with an expected result
- Example
- Pay with a saved card on iOS; order confirms
Test suite
- What it is
- A group of related cases
- Example
- Checkout regression suite
Test plan
- What it is
- Scope, approach and schedule for a release or feature
- Example
- Release 3.2 test plan
Test run
- What it is
- One execution of selected cases on a specific build and environment
- Example
- Build 3.2.0-rc1 on staging
Result
- What it is
- The outcome of each case in a run
- Example
- Passed, failed, blocked, untested
Defect
- What it is
- Behavior that does not meet expectations
- Example
- Coupon field loses focus on iOS
Coverage
- What it is
- Which requirements or work items have tests
- Example
- Saved-cards epic: 9 of 10 stories covered
Release criteria
- What it is
- Conditions that must be true to ship
- Example
- No open high-severity defects
| Term | What it is | Example |
|---|---|---|
| Test case | A condition or set of steps with an expected result | Pay with a saved card on iOS; order confirms |
| Test suite | A group of related cases | Checkout regression suite |
| Test plan | Scope, approach and schedule for a release or feature | Release 3.2 test plan |
| Test run | One execution of selected cases on a specific build and environment | Build 3.2.0-rc1 on staging |
| Result | The outcome of each case in a run | Passed, failed, blocked, untested |
| Defect | Behavior that does not meet expectations | Coupon field loses focus on iOS |
| Coverage | Which requirements or work items have tests | Saved-cards epic: 9 of 10 stories covered |
| Release criteria | Conditions that must be true to ship | No open high-severity defects |
The value comes from the links between them. A failed result should point to a defect; the defect should point to the story it affects; the story should show which cases cover it. With those links in place, a product manager can see that a release is blocked and why, without asking QA for a spreadsheet.
Start with risk and acceptance criteria
Not every feature deserves the same testing depth. Spend effort where failure would hurt most. A quick way to decide is to rate each feature or change on impact and likelihood of failure.
High impact
- Low likelihood
- Targeted tests plus regression on release
- High likelihood
- Deep testing: edge cases, negative paths, exploratory sessions
Low impact
- Low likelihood
- Light checks or automated smoke tests
- High likelihood
- Automated tests and a quick exploratory pass
| Low likelihood | High likelihood | |
|---|---|---|
| High impact | Targeted tests plus regression on release | Deep testing: edge cases, negative paths, exploratory sessions |
| Low impact | Light checks or automated smoke tests | Automated tests and a quick exploratory pass |
Payments, permissions, data handling, integrations and anything that touches many users usually land in the high-impact row. Define acceptance criteria for these before development starts; they become the first draft of your test cases. In Scrum terms, testing belongs in the definition of done, which the Scrum Guide describes as a formal description of the state of the increment when it meets the quality measures required for the product.
Writing test cases that stay useful
- One purpose per case. “Remove a saved card” and “add a saved card” are two cases, not one.
- A clear, observable expected result. “Works correctly” is not testable; “card no longer appears at checkout” is.
- Preconditions and test data stated up front: account type, feature flags, sample records.
- Steps written for a capable colleague, not for a machine. Detail where it matters, brevity where it doesn’t.
- Tags or fields for component, priority and whether the case is automated.
- An owner and a review date, so obsolete cases get retired instead of rotting.
A practical test case record looks like this:
ID and title
- Example
- TC-117 Apply coupon at checkout on iOS
Linked work item
- Example
- Coupon support story in the checkout epic
Preconditions
- Example
- Logged-in user, cart over the coupon minimum, valid coupon code
Steps
- Example
- Open cart; tap coupon field; enter code; tap Apply
Expected result
- Example
- Discount shown on order summary; field keeps focus while typing
Priority and tags
- Example
- High; checkout, iOS, regression
| Field | Example |
|---|---|
| ID and title | TC-117 Apply coupon at checkout on iOS |
| Linked work item | Coupon support story in the checkout epic |
| Preconditions | Logged-in user, cart over the coupon minimum, valid coupon code |
| Steps | Open cart; tap coupon field; enter code; tap Apply |
| Expected result | Discount shown on order summary; field keeps focus while typing |
| Priority and tags | High; checkout, iOS, regression |
Manual, automated and exploratory testing
Most teams need all three. Automated tests catch regressions cheaply and run on every change. Manual scripted tests suit flows that are hard to automate or change often. Exploratory testing, where a skilled tester investigates without a script within a time box, finds the problems nobody thought to write a case for.
For automation, the test pyramid is a useful default. In The Practical Test Pyramid, Ham Vocke advises pushing tests as far down the pyramid as you can, and writing a lower-level test whenever a higher-level test finds a bug that no lower-level test caught. The result is many fast unit tests, fewer integration tests and a small number of end-to-end tests.
Your test management software should show automated and manual results side by side. Many CI pipelines publish results in the JUnit XML format, so look for a tool that can import those results and match them to cases automatically rather than asking someone to copy them across.
Running a repeatable test cycle
- 1.Define scope. Which features, which suites, which risk areas for this build?
- 2.Identify the build and environment. Every result must be traceable to a specific version on a specific environment.
- 3.Prepare data and access. Test accounts, feature flags and integrations ready before the run starts.
- 4.Create the run. Select cases, assign testers, set a target date.
- 5.Execute and record. Mark each case passed, failed or blocked consistently, with evidence for failures.
- 6.Log defects from failures, linked to the case and the affected work item.
- 7.Retest fixes on a new build and run the regression suite for affected areas.
- 8.Report readiness against the agreed release criteria.
Fit the cycle into your sprint rather than bolting it on at the end. Our sprint planning guide shows how to reserve capacity for testing and defect fixes when you plan.
Managing defects clearly
A defect record should let a developer reproduce the problem without a conversation. Include steps to reproduce, expected and actual results, build and environment, evidence such as screenshots or logs with sensitive data removed, severity, priority and an owner.
Question it answers
- Severity (impact)
- How bad is the effect on users or data?
- Priority (urgency)
- How soon should we fix it?
Who usually sets it
- Severity (impact)
- QA or the reporter
- Priority (urgency)
- Product owner or triage group
Example: typo on the pricing page
- Severity (impact)
- Low
- Priority (urgency)
- High, if a launch campaign points there
Example: crash in an admin report used monthly
- Severity (impact)
- High
- Priority (urgency)
- Medium, if a workaround exists
| Severity (impact) | Priority (urgency) | |
|---|---|---|
| Question it answers | How bad is the effect on users or data? | How soon should we fix it? |
| Who usually sets it | QA or the reporter | Product owner or triage group |
| Example: typo on the pricing page | Low | High, if a launch campaign points there |
| Example: crash in an admin report used monthly | High | Medium, if a workaround exists |
Triage new defects regularly, close them only after verification on a fixed build, and look for patterns. Several defects from the same component or the same kind of missing requirement point to a process fix, not just a code fix.
Setting release criteria
Agree before testing starts what must be true to ship, and who owns the decision. Typical release criteria:
- All critical and high-priority test cases executed and passed.
- No open defects above an agreed severity, or each exception accepted in writing by a named owner.
- Regression suite passed on the release candidate build.
- Automated test pipeline green.
- Security or compliance review complete where required.
- Rollback plan or feature flag in place for risky changes.
Release criteria turn a tense last-day debate into a checklist. When a criterion is not met, the conversation becomes a clear choice: fix, delay or accept the risk explicitly.
Test metrics that help, and ones that mislead
Requirements or stories with test coverage
- Useful for
- Spotting untested work before release
- Watch out for
- Coverage says a test exists, not that it is good
Run progress (passed, failed, blocked, untested)
- Useful for
- Knowing how close a cycle is to done
- Watch out for
- Blocked tests hide risk if nobody chases them
Defects found after release
- Useful for
- Judging how well testing catches real problems
- Watch out for
- Needs consistent severity rules to compare over time
Defect age by severity
- Useful for
- Keeping serious issues from lingering
- Watch out for
- Old low-severity defects may simply need closing
Pass rate
- Useful for
- Trend on a stable suite
- Watch out for
- A high pass rate on weak tests proves little
| Metric | Useful for | Watch out for |
|---|---|---|
| Requirements or stories with test coverage | Spotting untested work before release | Coverage says a test exists, not that it is good |
| Run progress (passed, failed, blocked, untested) | Knowing how close a cycle is to done | Blocked tests hide risk if nobody chases them |
| Defects found after release | Judging how well testing catches real problems | Needs consistent severity rules to compare over time |
| Defect age by severity | Keeping serious issues from lingering | Old low-severity defects may simply need closing |
| Pass rate | Trend on a stable suite | A high pass rate on weak tests proves little |
Avoid treating the number of test cases as a quality measure; more cases often means more maintenance, not more confidence. Our guide to project management KPIs covers how to pick a small set of metrics that drive decisions.
Common test management mistakes
- Leaving testing until the end of a release instead of inside each sprint.
- Running tests without recording the build, so results cannot be trusted later.
- Closing defects without verifying the fix.
- Keeping obsolete test cases that no longer match the product.
- Holding test cases in a spreadsheet nobody links to the work.
- Measuring testers by cases executed or defects logged, which rewards the wrong behavior.
How to choose test management software
Teams usually choose between three shapes: a standalone test management tool, an add-on to their issue tracker, or test management built into their project platform. Each can work; the right one depends on how closely you want testing tied to the work engineers do every day, and on total cost.
Traceability
- What to check
- Can cases link to requirements, runs and defects in both directions?
Case management
- What to check
- Suites, versions, tags, reuse, review or approval of cases
Runs and results
- What to check
- Builds and environments recorded, statuses, evidence attachments
Automation
- What to check
- Import of JUnit XML or similar results, matched to cases
Reporting
- What to check
- Coverage, run progress and release readiness without exports
Access control
- What to check
- Roles and permissions that match your QA and client setup
Cost model
- What to check
- Per-seat for QA only, separate product, or included in a plan
Portability
- What to check
- Export of cases and results if you change tools
| Criterion | What to check |
|---|---|
| Traceability | Can cases link to requirements, runs and defects in both directions? |
| Case management | Suites, versions, tags, reuse, review or approval of cases |
| Runs and results | Builds and environments recorded, statuses, evidence attachments |
| Automation | Import of JUnit XML or similar results, matched to cases |
| Reporting | Coverage, run progress and release readiness without exports |
| Access control | Roles and permissions that match your QA and client setup |
| Cost model | Per-seat for QA only, separate product, or included in a plan |
| Portability | Export of cases and results if you change tools |
On cost, count every seat that needs access, including developers who read results and product managers who check readiness. Jira users often add a marketplace app such as Xray or Zephyr; our QuikProjects vs Jira comparison looks at how bundled and add-on approaches differ. For the wider delivery picture, our guide to project management for software development shows where testing fits in the lifecycle, and the project management pillar guide covers the fundamentals.
Where QuikProjects fits
QuikProjects includes test management on its Pro plan, in the same workspace as sprints, docs and timesheets. Teams write test cases organized with suites, versions, tags and approvals, run them, and link failures straight to bugs. JUnit results are matched to cases automatically, and you can see which work items have test coverage. A Test template is available when you create a space. Pro is $5 per user per month billed annually with a 14-day trial and no credit card; see current plans and what each includes.
In a pilot, test the full loop with a real feature: create cases from acceptance criteria, run them against a named build, log a defect from a failure, retest the fix and check that the release view reflects it.
Frequently asked questions
What is the difference between a test plan and a test run?
A test plan describes the scope, approach and schedule for testing a release or feature. A test run is one execution of selected test cases on a specific build and environment. One plan often contains several runs, for example a first pass and a regression pass on the release candidate.
Do small teams need test management software?
A team with a handful of automated tests and one product may manage with cases in its tracker. Once you have regression suites, several environments, client sign-off or more than one tester, a dedicated structure for cases, runs and defect links saves time and prevents “I thought someone tested that”.
Should automated tests live in test management software?
The tests themselves live in your codebase. Their results belong in your test management software, matched to cases and work items, so manual and automated evidence appear together in release decisions.
Test management works when evidence is connected to the work and the release it validates. Start from risk, keep cases lean, record every run against a build and agree release criteria before you need them. To see cases, runs and defects alongside your sprints, start with QuikProjects free for up to 10 users and trial Pro for 14 days, no credit card.
Sources
See it running on your business.
A walkthrough built around how your team works today.


