AI test planning for QA and product teams

Turn product requirements into test cases your team can run.

Paste or upload a PRD, or import GitHub and Linear issues. Provo splits it into requirements, drafts test cases with steps, expected results, preconditions and priority, each quoting the exact requirement it came from, and lists gaps in the spec as questions. Review, run and export.

Free to try: paste a short spec or pick a sample. Plans from $29/month with a 7-day free trial.

Example

A spec excerpt in, traced test cases out

Lines 16 to 23 of a sample spec, and three of the cases drafted from it. Each case names its requirement and quotes it; the backoff interval isn't in the spec, so it's a question, not a guess.

Spec · webhooks.md

## Delivery
- Each event is sent as a JSON POST with the header Ledgerly-Signature, an HMAC-SHA256 of the raw body using the endpoint's signing secret.
- A delivery succeeds when the endpoint answers with any 2xx status within 10 seconds.
- Events for the same object are delivered in the order they happened.
 
## Retries
- A failed delivery is retried up to 5 times with exponential backoff.
- After the last retry fails, the event is marked failed and can be replayed with POST /v1/events/{id}/replay.
- Replaying an event that was already delivered returns 409.

Drafted test cases

Edge caseHigh

TC-1 An answer after 10 seconds counts as a failed delivery

  1. Trigger an event → The delivery isn't counted as a success
“any 2xx status within 10 seconds”Traced to R7 · line 17

Edge caseHigh

TC-2 Retries stop after 5 attempts and the event is marked failed

  1. Trigger an event and record each delivery attempt → 1 original attempt and 5 retries, with growing gaps
  2. Look up the event → It is marked failed
“A failed delivery is retried up to 5 times with exponential backoff.”Traced to R9 · line 21

NegativeMedium

TC-3 Replaying a delivered event returns 409

  1. POST /v1/events/{id}/replay → 409
“Replaying an event that was already delivered returns 409.”Traced to R11 · line 23

Open question

What are the first retry delay and the maximum delay? The tests can only check that gaps grow without them.

“with exponential backoff”R9 · line 21

Sample data

Webhook delivery and retries (API): a synthetic sample spec for a fictional API. The cases are from its precomputed example suite, the same one the app shows on /try when AI generation is off.

The same cases, exported as webhooks.feature

Feature: Webhook delivery and retries

  @tc-1 @r7 @edge @priority-high @webhooks @timeouts
  # Source: R7 (Webhook delivery and retries > Delivery · line 17): "any 2xx status within 10 seconds"
  Scenario: TC-1 An answer after 10 seconds counts as a failed delivery
    Given An endpoint that waits 11 seconds before answering 200
    When Trigger an event
    Then The delivery isn't counted as a success
    And The delivery is treated as failed and retried.

  @tc-2 @r11 @negative @priority-medium @webhooks @replay
  # Source: R11 (Webhook delivery and retries > Retries · line 23): "Replaying an event that was already delivered returns 409."
  Scenario: TC-2 Replaying a delivered event returns 409
    Given An event that was delivered successfully
    When POST /v1/events/{id}/replay
    Then 409
    And No duplicate delivery.

How it works

From a spec to a suite you can run, in four steps

  1. Bring the spec in

    Paste text, upload Markdown, text, PDF or Word, or import a GitHub issue, pull request description or Linear issue.

  2. Split into requirements

    Provo's own code (not the AI) splits the spec into requirements: list items, table rows and paragraphs under headings, each with its exact words and line numbers.

  3. Draft traced cases and questions

    The AI drafts functional, edge, negative and regression cases and acceptance criteria. Each one must quote its requirement word for word; Provo checks every quote and drops cases it can't trace. Gaps become questions.

  4. Review, run and export

    Edit, approve, reject or regenerate any case. Organize with folders, tags and priorities. Run them with pass, fail, blocked or skipped. Export CSV, Markdown, Gherkin or JSON.

Use cases

For teams whose tests start from a spec

  • Product teams shipping web apps

    Turn each PRD into a reviewed suite before the sprint starts, and keep it current as the PRD changes.

  • API teams

    Status codes, error codes, auth, retries and ordering, drafted only from what the API spec states.

  • Mobile teams

    Offline behavior, interruptions and supported OS versions, from the spec, with gaps flagged as questions.

  • Regression when a spec changes

    Add the new version: see the diff, keep cases for unchanged requirements, and get cases traced to changed ones marked for review.

Straight answers

What Provo does, and what it won't

  • It never invents behavior. When the spec doesn't say what should happen (a limit, an error, a time), Provo lists a question instead of writing an expected result the spec doesn't support.
  • Every case cites its source. A generated case carries the requirement key, the quoted words and the line numbers. A case whose quote isn't in the spec is dropped before you see it.
  • Nothing goes to GitHub on its own. Issues for failed cases and run summaries on pull requests are posted only after a person sees the exact text and confirms.
  • Your suite isn't locked in. Export everything as CSV, Markdown, Gherkin .feature or JSON at any time, and the whole workspace as JSON.
  • Limits are written down. A spec generation counts each time Provo sends a spec (or one requirement, or one case to regenerate) to the AI. Splitting a spec into requirements, editing, runs and exports never count. At a limit Provo stops and says so: no overage charges. Generations come back at the start of the next billing period, or choose a bigger plan.
  • Your data stays yours. Specs are sent to the AI provider (Anthropic) only to generate; providers don't train on it. The no-account sample deletes what you paste after 24 hours. GitHub and Linear credentials are stored encrypted.

Pricing

Simple monthly plans

Every plan has every feature. Plans differ by projects, seats and spec generations a month.

  • Starter

    $29/month

    For one product and a small team.

    • 1 project
    • 3 seats
    • 50 spec generations a month
    Start the free trial
  • Team

    $59/month

    For a QA team covering several products.

    • 5 projects
    • 10 seats
    • 250 spec generations a month
    Start the free trial
  • Business

    $99/month

    For larger teams with many products and specs.

    • Unlimited projects
    • 25 seats
    • 1,000 spec generations a month
    Start the free trial

Every plan starts with a 7-day free trial. Checkout asks for a card; nothing is charged until the trial ends. Cancel any time. A spec generation counts each time Provo sends a spec (or one requirement, or one case to regenerate) to the AI. Splitting a spec into requirements, editing, runs and exports never count. At a limit Provo stops and says so: no overage charges. Generations come back at the start of the next billing period, or choose a bigger plan.

Full plan details →

Questions teams ask

How does Provo turn a PRD into test cases?

Provo turns a product spec into test cases a QA team can run. You paste or upload a PRD, or import GitHub or Linear issues; Provo splits it into requirements, drafts test cases with steps, expected results, preconditions and priority, traces each one to the exact requirement text, lists gaps as questions, and lets you run and export the suite.

Does the AI make up behavior that isn't in the spec?

It's told not to, and code checks it. Every generated case must quote the requirement it came from word for word; Provo checks each quote against your spec and drops any case it can't trace. When the spec doesn't say what should happen, Provo lists an open question instead of an expected result.

Can I try it without an account?

Yes. On app.provo.new-odyssey.com/try you can paste a short spec (up to 6,000 characters) or pick a synthetic sample, edit the suite and export it. Limits apply per network per day, and what you paste is deleted after 24 hours. Create an account to save the suite.

Which file formats and sources can it read?

Pasted text, Markdown, plain text, PDF and Word (.docx) files up to 10 MB, GitHub issues and pull request descriptions, and Linear issues. Scanned PDFs without a text layer can't be read; export them with text or paste the text.

What can I export?

CSV, Markdown, Gherkin .feature and JSON. Every format includes each case's trace (requirement, quoted words and location) and the spec's open questions. The traceability matrix exports as CSV, and the whole workspace as JSON.

Does Provo post to GitHub on its own?

No. Creating an issue for a failed case and posting a run summary to a pull request both show you the exact text first, and happen only when you press the confirm button. Provo never writes to Linear.

What happens when a spec changes?

Add the new version (or fetch it again from GitHub or Linear). Provo shows a line diff, marks requirements new, changed or removed, keeps cases traced to unchanged requirements, and marks cases traced to changed or removed requirements for review with the reason. You can then generate cases for only the new and changed requirements.

How much does it cost, and what are the limits?

Starter $29/month (1 project, 3 seats, 50 spec generations), Team $59 (5 projects, 10 seats, 250), Business $99 (unlimited projects, 25 seats, 1,000). 7-day free trial. At a limit Provo stops; there are no overage charges.

What happens to my specs?

They're stored for your workspace only. To generate, the requirements are sent to Anthropic, the AI provider, which doesn't train on them. You can export or delete everything; GitHub and Linear credentials are stored encrypted and deleted when you disconnect.

Is Provo a replacement for TestRail?

For teams whose main job is turning specs into reviewed, traceable cases and running them, it can be. TestRail has more depth in test management (automation reporting, Jira integration, on-premise hosting). See the comparison page for a dated, sourced side by side.

Who's behind Provo?

Provo is made by New Odyssey. Questions: clio@new-odyssey.com.

See your own spec as test cases.

Paste a short spec or pick a sample. No account, nothing kept after 24 hours.

Part of the New Odyssey suite

Six tools for the work around your clients, from being found to packaging what you know. Each one works on its own.

  1. KleosGets you found
  2. OndaAnswers the inquiry
  3. BookaraQualifies and books
  4. AccordSends the proposal
  5. TallynOnboards the client
  6. AulaPackages your expertise