teststreamBetaRequest a demo

Write tests much faster.

Describe what should happen in a sentence. Teststream writes the test, runs it in a real browser and checks it again on every pull request.

You write

Removing an item from the cart updates the badge

Write with AI
Teststream writes SAUCEM-5
  1. GIVENthe cart contains Sauce Labs Backpack
  2. WHENI open the cart
  3. ANDI click "Remove" on Sauce Labs Backpack
  4. THENSauce Labs Backpack is no longer listed in the cart
  5. ANDthe cart badge is not shown
First run
with AI, recorded
Every run after
0.8 s · $0 replay
Tests from our demo project
A run in Teststream: two tests passed by replaying their recordings, each step in plain language with what was observed
  1. 1

    Each step, and what the browser did

  2. 2

    A replay: no AI, about a second

  3. 3

    It tells you what it changed

  4. 4

    New tests wait for your review

01 How it works

It helps your QA team. It doesn't replace it.

Teststream does the repetitive work. Your team reviews it and makes the decisions.

WhenTeststream Your team
A new featureWrites a test from a sentenceReviews it and keeps it
A pull requestRuns the tests the change touchesSees the result in the pull request
The UI changedFinishes the broken step with AI and records it againApproves the new recording
A test failsExplains why, with screenshotsFixes the app or the test
Before a releaseClicks through the app and reproduces each bug it findsDecides what matters
Something new about the appSuggests what it learnedApproves it

02 Pull requests

Runs on every pull request.

One command in your GitHub or GitLab pipeline. You get a status check and a comment on the pull request.

$ npx @teststream/cli run --project SHOP --env Preview \
    --base-url "$PREVIEW_URL" --mr auto --affected --wait
Merge request acme/shop!214
Tests picked: 6 of 41 tests: the changed files touch /cart,
  /checkout-step-two, plus the 2 critical test(s).
MR !214 cart-redesign: completed · 5/6 passed (1 with heal,
  review them) · 1 failed · est. $0.09
  HEAL SHOP-12: The AI passed it from step 3, so the app most
  likely changed. The new recording waits for review.
  FAIL SHOP-31: Step 4: the Total is $29.99 after removing an
  item; expected Item total plus Tax.
teststreamcommented on !214

Teststream: MR !214 cart-redesign

5/6 passed · 1 with heal (review) · 1 failed · environment Preview · est. cost $0.09

TestResultWhy
SHOP-12 Checkout shows the shipping optionspassed with healThe AI passed it from step 3, so the app most likely changed. The new recording waits for review on the test case.
SHOP-31 Total includes tax after removing an itemfailedregression (high), next: fix the app. The Total keeps the removed item's price until the page reloads.

Open the run in Teststream for steps, screenshots, video and traces.

Teststream1 of 6 failed
Example comment

Only the tests that matter

It matches the changed files to the screens it has seen. When it isn't sure, it runs everything.

A redesign doesn't break everything

If a step no longer fits, AI finishes the test and you approve the new recording.

Cheap to run

Replays don't use AI. Only new tests and broken steps do. In our demo shop a first run cost $0.13 and a replay $0.

03 Product

Plain English, not code.

A test is a few given / when / then steps. Anyone on the team can read it and change it. Log in once per role and reuse steps you repeat.

The test editor: YAML on the left, the same test as given / when / then steps on the right

It learns your app.

Which accounts to use, what never to click, what things are called. Write it down once and every test and bug bash uses it. It also suggests things it learns along the way.

KnowledgeSauce Demo
  • rule
    Bug bashes

    Sauce Demo is a public demo shop: orders are fake, but never finish an order in a bug bash unless the brief asks for it.

  • account
    Demo accounts

    standard_user is a regular shopper. locked_out_user cannot log in. problem_user and error_user have deliberate defects.

  • term
    Inventory

    The product list after login is called Products (inventory.html).

  • suggested
    Your Information

    The first checkout step is called Your Information (checkout-step-one.html).

    AcceptDismiss
From our demo project. The last one is an example.

A bug bash with AI.

Tell it what changed. A few AI explorers click through the app, and every bug they report is reproduced in a clean browser first. If they need a decision, they ask.

RunningBug bash · Checkout after the cart redesign
Explorer 1 · cartExplorer 2 · checkoutExplorer 3 · account
  • Bug · high
    Total keeps a removed item until the page reloads Reproduced in a clean browser · 5 steps
  • Suspected
    Zip code field accepts letters Reproducing…
  • Needs you
    May the explorers place a real order?Answer in the app and the bug bash goes on
Illustration

Works with your coding agent.

Claude Code, Cursor, Codex, Copilot and OpenCode can find tests, run them step by step and propose new ones. Every proposal waits for a person.

› Add a coupon field to checkout, with a test.

  tests_search "coupon"        no tests yet
  tests_propose new test       SHOP-42, waits for review
  session_start SHOP-42        browser on the preview
  session_run_all              5 of 5 steps passed
  session_keep                 recorded

04 Video

See it in action.

Video coming soon

Book a live demo

05 Beta

We're in beta.

Here's what works today and what we're building next.

Today

  • Plain-English tests, written with AI
  • AI on the first run, free replays after
  • Self-healing, with your approval
  • Explanations for failed tests
  • AI bug bash
  • GitHub and GitLab checks
  • CLI and MCP for coding agents
  • Teams, roles and permissions

Next

  • New test ideas from every pull request
  • Record a test by clicking, no AI
  • Slack notifications
  • Jira, GitHub and GitLab issues from findings
  • Scheduled runs
  • Self-hosting

No dates yet. Beta teams help us pick the order.

06 Demo

Want to see it on your app?

Tell us a bit about your app. We'll set up a call and show you Teststream live.

app.teststream.ai · run
A run in Teststream: every step with what the browser did, and tabs for the video, API calls and console
A real run from our demo project.Request a demo