Test management that tells you when you're ready to ship
TestPlum connects requirements, test cases, runs and defects in one place, then turns every recorded result into a clear, explainable release decision.
Manual and automated tests · Light and dark · Works on any screen
- 100,000test cases in one project in our load test
- 6 checksbehind every release readiness verdict
- OpenAPI 3.1REST API, JUnit ingestion and signed webhooks
- WCAG 2.1 AAintent, checked automatically in light and dark
What is TestPlum?
One place for every test, result and release decision
TestPlum is a test management platform for QA teams. It connects requirements, test cases, test runs and defects, and turns recorded results into release readiness, risk and flaky-test reports. Testers execute cases step by step with the keyboard, CI uploads automated results to the same runs, and QA leads see coverage, risk and readiness computed from evidence rather than estimates.
- Structured test cases with versions and diffs
- Run snapshots and append-only result history
- Live requirements traceability matrix
- Release readiness from thresholds you set
- Explainable risk scores and flaky-test detection
- JUnit ingestion, REST API and HMAC-signed webhooks
Product
Everything between “write the test” and “ship the release”
Six connected parts, one data model. A failure in a run updates the requirement, the readiness verdict and the risk score the moment it is recorded.
Test case management
Structured steps, versions with diffs, templates, custom fields, saved views and CSV import/export.
Learn moreTest runs and execution
Run snapshots, assignment, step results with keyboard shortcuts, append-only history, burndown and retests.
Learn moreRequirements and traceability
Requirement coverage, derived status, orphan detection and an exportable traceability matrix.
Learn moreReports and release readiness
Readiness verdicts, explainable risk scores, flaky-test detection, workload and a configurable report builder.
Learn moreDefect tracking
Issues from failures, duplicate suggestions, workflow and history, comments and mentions, GitHub and Jira push.
Learn moreCI, API and webhooks
JUnit XML ingestion with idempotency keys, OpenAPI 3.1 REST API, scoped API keys and signed webhooks.
Learn moreHow it works
Traceability from requirement to defect
Every link is kept, in both directions, so any question about quality can be answered from one screen.
Requirement
Imported with its tracker ID and acceptance criteria.
Test case
Structured steps, linked to one or many requirements.
Execution
Manual or from CI, recorded in an append-only history.
Defect
Filed from the failure with context, synced to Jira or GitHub.
Release readiness
“Are we ready?” answered with six checks, not a gut feeling
Agree the bar once: pass rate, completion, critical failures, open critical issues and verified requirements. TestPlum checks every recorded result against it and shows exactly which numbers hold the release back.
How readiness is calculated- Runs in scope3 runs, 81 executions planned 3 · target ≥ 1
- Execution completion47 of 81 cases have a final status 58% · target 100%
- Pass rate36 passed of 47 executed 76.6% · target ≥ 95%
- Critical cases failing or blocked3 critical cases failing or blocked 3 · target 0
- Open critical issues1 open blocker 1 · target 0
- Requirements verified1 of 8 requirements passing 12.5% · target ≥ 80%
Built for testers
Record a result in one key press
Execution is where testers spend their day, so it is designed for speed: step-level results, keyboard shortcuts, notes and timings, and an issue filed from a failure with the context already filled in.
CI and API
Automated results land next to manual ones
Add one step to any pipeline to upload JUnit XML. Tests are matched to cases by automation ID, missing cases are created, and retries are safe with an idempotency key.
- Versioned REST API described in OpenAPI 3.1
- Organization-scoped, expiring API keys
- HMAC-signed webhooks with retries and a delivery log
Upload JUnit XML from CI
# after your tests run
URL="$TESTPLUM_URL/api/v1/projects/$PROJECT/automation/junit"
curl -X POST "$URL?run_name=build-$BUILD_ID" \
-H "Authorization: Bearer $TESTPLUM_API_KEY" \
-H "Idempotency-Key: $BUILD_ID" \
--data-binary @reports/junit.xml Security
Your test data, isolated and accounted for
Security controls are tested like features. Here is what is in place today.
Tenant isolation
Every query is scoped to your organization and project. Resources from other organizations return “not found”, and tests check it across endpoints and API keys.
Sessions and passwords
Argon2id password hashing, revocable HttpOnly sessions stored only as hashes, brute-force limits and email verification.
Roles and audit
Configurable project roles from 14 permissions, need-to-know testers, an audit log and a recycle bin for deleted work.
Learn
Guides for better testing
Practical, formula-level explanations of the ideas TestPlum is built on.
What is test management?
Test management is how a team plans, writes, runs and reports on software tests. Learn the core building blocks, the metrics that matter and how to choose a tool.
Read the guideRequirements traceability matrix: what it is and how to build one
A requirements traceability matrix maps each requirement to its tests, results and defects. The columns to include, a worked example and how to keep it current.
Read the guideRelease readiness: six checks that tell you if a build can ship
A release readiness checklist for QA teams: scope, completion, pass rate, critical failures, open critical defects and verified requirements.
Read the guideFAQ
Questions teams ask before switching
What is TestPlum?
TestPlum is a test management platform for QA teams. It brings requirements, test cases, test runs and defects together, records manual and automated results in one history, and turns those results into release readiness, risk and flaky-test reports.
Who is TestPlum for?
TestPlum is for software teams that test before they release: QA leads who plan and report on testing, testers who execute cases and file defects, developers who read failures and feed CI results in, and admins who manage members, roles and fields.
Does TestPlum support both manual and automated testing?
Yes. Testers execute manual cases step by step in test runs, and CI pipelines upload JUnit XML results to the same runs, so manual and automated results appear in the same reports.
How does TestPlum decide whether a release is ready?
TestPlum checks recorded results against thresholds you set: runs in scope, execution completion, pass rate, critical cases failing or blocked, open critical issues and passing requirements. The release is ready only when every check passes, and each check shows the numbers behind it.
Can I control who sees and edits what?
Yes. Organizations have owner, admin and member roles, and each project has configurable roles built from 14 permissions. A tester role can be limited to only the run cases assigned to them.
Is my data isolated from other organizations?
Yes. Every query is scoped to your organization and project, resources from other organizations return 'not found', and automated tests check isolation across read and write endpoints and API keys.
Does TestPlum work with Jira and GitHub?
Yes. You can send an issue from TestPlum to GitHub or Jira and keep the link, and signed webhooks let you connect other tools to TestPlum events.
Does TestPlum use AI?
AI is optional. When an administrator enables it, it can draft test cases from a requirement and summarise run failures, with cost controls. Every core feature, including coverage-gap rules, works without it.
Is there a dark mode and is TestPlum accessible?
Yes. TestPlum has light and dark themes, works down to 375-pixel-wide screens and is built to WCAG 2.1 AA intent: keyboard operable, labelled controls, managed focus in dialogs and automated accessibility checks in both themes.
See your release readiness in minutes
Create a workspace, add a project and record your first run. Everything on this site is in the product today.