Analytics that admit things
Pass-rate trends, execution time, coverage by project — and a flaky-test leaderboard that names the tests wasting your time.
QAMind reads your requirement docs and browser recordings, drafts structured test cases, writes Playwright & Selenium scripts, tracks every run — and files the bugs when something breaks. One workspace for the whole testing lifecycle.
Playwright & Selenium 5 script languages Chrome recorder v2.5.1 Jira · GitHub · Slack
Users can request a reset link by email.
Links expire after 30 minutes.
Expired or reused tokens must show an error.
Unknown emails get a generic response.
Waiting for input
A simulation of the real Design Test Cases flow — upload a PRD, PDF, spreadsheet or screenshot and QAMind drafts structured, editable cases into your suite.
The loop
Follow a single line of a PRD through QAMind — from words in a document to a filed bug and a coverage report. This is the actual shape of the product.
▤ password-reset-prd.docx · 214 KB
4.2 Password reset
Users can request a reset link by email.
REQ-002 Links expire after 30 minutes.
Expired or reused tokens must show an error.
text extracted — ready to generate
Link expires at the 30-minute boundary
1 · Request reset for a valid account
2 · Wait until minute 29 — open link
3 · Wait until minute 31 — open link again
Expected: first link opens the form; second shows “link expired”.
↳ linked to REQ-002
reset-link-expiry.spec.ts · Playwright · TS
test('reset link expires at 30 min', async ({ page }) => {
await page.goto(BASE_URL + '/auth/reset');
await requestResetLink(page, user.email);
await clock.fastForward('31:00');
await expect(page.getByText(
'link expired')).toBeVisible();
});✗ expected “link expired” — got form at 00:31:07
Reset link accepted after 30-minute expiry
Traceability — Auth module
⚠ REQ-004 has no coverage — surfaced before the run
in hand: a 214 KB Word doc, read & parsed
REQUIREMENTS
Upload the PRD as a PDF, Word doc, spreadsheet or even a screenshot — QAMind extracts the text and reads it. No spec handy? Record the flow in Chrome instead and start from real clicks.
password-reset-prd.docx→REQ-002
▤ password-reset-prd.docx · 214 KB
4.2 Password reset
Users can request a reset link by email.
REQ-002 Links expire after 30 minutes.
Expired or reused tokens must show an error.
text extracted — ready to generate
DESIGN
Structured test cases land as editable rows — title, steps, expected result, priority, requirement ID. Nothing is final until you approve it: every case moves Draft → Ready → Approved.
REQ-002→TC-042 · approved
Link expires at the 30-minute boundary
1 · Request reset for a valid account
2 · Wait until minute 29 — open link
3 · Wait until minute 31 — open link again
Expected: first link opens the form; second shows “link expired”.
↳ linked to REQ-002
AUTOMATE
One click turns an approved case into a Playwright or Selenium script — TypeScript, JavaScript, Python, Java or C#. Ground it in a browser recording and the selectors come from real interactions.
TC-042→reset-link-expiry.spec.ts
reset-link-expiry.spec.ts · Playwright · TS
test('reset link expires at 30 min', async ({ page }) => {
await page.goto(BASE_URL + '/auth/reset');
await requestResetLink(page, user.email);
await clock.fastForward('31:00');
await expect(page.getByText(
'link expired')).toBeVisible();
});EXECUTE
Execute through the local Playwright runner on your own machine. Each run logs per-case pass, fail or skip with duration and full error output — searchable history, not a disappearing terminal.
spec.ts→run #58 · 1 failed
✗ expected “link expired” — got form at 00:31:07
DEFECTS
“Record as Bug” files a tracked defect straight from the failed result — linked to the test case and the exact run that caught it. Severity, status, assignee: the whole trail in one place.
run #58→BUG-118 · critical
Reset link accepted after 30-minute expiry
CLOSURE
The traceability matrix assembles from requirement IDs and shows coverage gaps before anyone asks. Export executive summaries, execution reports and bug lists to Excel, CSV, PDF or Word.
REQ → TC → RUN → BUG→traceability matrix
Traceability — Auth module
⚠ REQ-004 has no coverage — surfaced before the run
Chrome recorder
This little login page is live. Click around, type something, sign in — the recorder logs your real actions exactly like the QAMind Chrome extension does. Then convert your session into a test case.
Free / Chrome / v2.5.1 — records clicks, inputs, navigation and assertions from real sessions, captures each action exactly once with a verified Playwright locator, and imports everything into your workspace. A compact on-page panel shows the latest step and stays out of your way.
Sign in to Acme
… waiting for you. Try the form ☝
Automate scripts
Approved test cases compile to automation code in the framework your team already runs. Pick a combination — the script rewrites itself.
Run scripts on your own machine through the local Playwright runner, copy them to your repo, or download the file — .spec.ts, .py, .java, .cs.
1import { test, expect } from '@playwright/test';23test('login rejects wrong password', async ({ page }) => {4await page.goto(BASE_URL + '/login');5await page.fill('#email', user.email);6await page.fill('#password', 'wrong-password');7await page.click('button#sign-in');8await expect(page.locator('.error'))9.toHaveText('Invalid credentials');10});
The workspace
Everything after the test exists too — QAMind keeps runs, defects, coverage and reporting in the same workspace. Hover around.
Pass-rate trends, execution time, coverage by project — and a flaky-test leaderboard that names the tests wasting your time.
Slow, inconsistent cases surface automatically from run history — fix the test or fix the app, but stop re-running and hoping.
Tag cases with requirement IDs and the matrix builds itself — gaps show up before the release meeting, not during it.
“Record as Bug” turns a failed result into a tracked defect — severity, status, assignee, and the exact run that caught it.
Draft a structured plan — objectives, in/out of scope, risk table, pass criteria — then edit inline and export to Excel or PDF.
The GPT console chats over your uploaded PDFs and specs — organised by project, inside your workspace login.
Integrations
Four connections are wired end-to-end today; the rest ship with the config UI in place while OAuth wiring rolls out. Every one is built to the same rule: results go where your team already looks.
Project management
Sync failed test cases into Jira as tickets — severity, steps and run evidence attached — and import Jira projects back into your workspace.
CI/CD & code
PR webhooks trigger test runs automatically, and results post back onto the pull request as comments — coverage status where the merge decision happens.
Communication
Real-time run results, bug alerts and workspace invites pushed to the channels you choose. Point it at a webhook and the noise finds you.
Communication
The same real-time run results and bug alerts as Slack, for teams on self-hosted Mattermost — webhook in, notifications out.
CI/CD & code
Trigger QAMind test executions from merge requests, so every MR carries its own verdict before review starts.
CI/CD & code
Automated testing checklists attached to pull requests — reviewers see what was covered without leaving the diff.
CI/CD & code
Hook QAMind runs into Azure Pipelines so test generation and execution slot into the release flow you already operate.
Test management
Link QAMind test cases to Zephyr entries inside Jira, keeping both systems pointing at the same truth.
Test management
Synchronise test runs and metrics with TestRail — migrate gradually instead of betting the quarter on a cutover.
Automation
Upload Cypress recordings for analysis and fold their results into the same run history as everything else.
Automation
Sync E2E test definitions with your existing Playwright repo — generated and hand-written specs, one inventory.
CI/CD & code
Hook test generation and execution into freestyle builds or declarative pipelines — QAMind as a stage, not a detour.
Who it's for
QA ENGINEER
Drafts arrive structured; you approve, sharpen, and hunt the edge cases only a human smells.
DEVELOPER
Scripts in your language, runs on your machine, failures filed with the error output attached.
MANAGER
Pass rate, open bugs, traceability gaps and exportable reports — without chasing anyone.
Pricing
Pricing scales with AI usage, not headcount. Viewing, editing, running and bug tracking never cost tokens.
How many AI actions does your team run a day?
Generating cases, scripts, or a GPT answer = 5 tokens each.
Questions
Structured test cases (title, steps, expected result, priority, requirement link) from documents, screenshots or browser recordings — and executable Playwright or Selenium scripts in TypeScript, JavaScript, Python, Java or C#. Everything lands as an editable draft; nothing is final until you approve it.
By default, reasoning (test-case drafting) runs on OpenAI GPT-4.1-mini and code generation on Anthropic Claude — with automatic fallbacks. If your specs can't leave the building, there's a self-hosted mode that runs on local models instead.
A unit of AI usage. Each AI action — generating test cases, generating a script, a GPT console message — costs 5 tokens. The Standard plan refills 100 tokens daily at midnight; Premium is uncapped. Non-AI work (viewing, editing, running, bug tracking) is always free.
No — you can start from documents alone. The extension (free, v2.5.1) adds the recording path: it captures clicks, plaintext inputs, navigation and assertions from a real session — each action exactly once, with a Playwright locator verified as unique on the live page — which both generates test cases and grounds script selectors in reality.
Through the local Playwright runner — a small Node process on your machine that executes generated scripts and streams results back into the workspace. The browser opens sized to your screen, a step banner shows which step is running, and the element being acted on is highlighted live. Every run keeps per-case pass/fail/skip, duration and full error output.
One workspace, four roles — Owner, Admin, Editor, Viewer. Invite by email or share a workspace key. Pricing is per workspace, not per seat: Standard includes up to 4 members, Premium removes the cap.
The part where you try it
Open a workspace, upload the messiest spec you have, and watch it become a test suite.
Free to start No per-seat fees Bugs found before users find them