"Test failed" is where the work starts. What a team needs next is why it failed, whether it's really a bug, and enough detail for a developer to fix it without guessing.
This post follows one flow through TestWise, from its description to the bug report. The store is Acme, a sample shop we use for examples, and the screenshots are TestWise's own report and replay views.
It starts as three sentences
Acme wants to know that customers can pay with a gift card. Here's the flow, as written:
- Add any item to the cart. Expected: the cart shows 1 item.
- Go to checkout and choose Gift card. Expected: a gift card field appears.
- Apply code TEST-1234. Expected: the total is reduced.
There are no selectors and no script. Each step says what a person would do, and each expected result says what a person would check. You can write flows like this yourself, or describe them to us and we'll write them with you. When a flow really changes, we update it with you.
An AI agent runs it in real browsers
The agent reads one step at a time and works the page the way a person would. To add an item, it looks for the button that says "Add to bag", not for a CSS class that the next redesign will rename. That's why small UI changes don't break a flow.
Each flow runs in Chrome, Firefox and Safari's WebKit engine, at desktop and phone sizes. Every run is recorded: a video, plus the page at each step with its console and every network request.
Step 2 fails
On Chrome at desktop size, the payment step lists card, bank transfer and instalments. There's no gift card option, so the agent can't choose one. It marks step 2 as failed and says why in plain words.

That tells you what went wrong. The recording tells you why.

When the payment page loaded, it asked the server for the list of payment methods, and the server answered with a 500 error. The page's script then tried to read the gift card setting from a response that didn't have one, logged a TypeError, and fell back to a built-in list: card, bank transfer, instalments.
So the page didn't crash. It quietly showed less. Bugs like this are easy to miss: there's no error page for a customer to report, and a screenshot looks fine. Only the customer who wanted to pay with a gift card notices, and they rarely write in. They leave.
A person reviews every failure
Before anything reaches you, someone on our team watches the recording and decides one thing: is this the app or the test?
Plenty of failures are the test's fault:
- a cookie banner or a promotion popup covering the button
- a step that can be read two ways
- a page that was slow on one run, where the agent gave up too early
- a test account that expired or got locked
We fix those ourselves, and you never hear about them. This one is the app: the payment methods request fails, so gift cards can't be used at checkout. It becomes a bug, filed with the steps, the video and the technical details.
Why a person? Because a check that's often wrong gets ignored. Once a team learns that red usually means the test, it stops looking, and the real bug lands in a channel nobody reads. Review is what keeps a red result worth reading.
What you get
A report link that needs no login. For each flow, it shows whether the flow passed, where it failed and why, and a recording of the run. Under each failure are the technical findings: console errors and failed or slow requests, each with the step it happened at. Developers usually start there.

On Release QA, the bugs go into TestWise, shared with your team, and your flows run again on every release, or nightly.
What the agent can't do on its own
An AI agent isn't a tester with years on your product, and we don't pretend it is.
- Vague steps get vague results. "Check the total" can mean several things, so we rewrite steps like that with you until each has one clear expected result.
- Some doors need a key. CAPTCHAs, one-time codes and email confirmations stop the agent, as they're meant to. A dedicated test account with those checks turned off usually solves it.
- It tests flows, not load or security. We don't load-test your servers or try to break in.
That's the other reason a person reviews every failure. The agent is fast and never gets bored; a person knows when it's wrong.
Try it on your app
Pick up to five flows that matter, such as sign-up, checkout and search, and get a free QA report. The report link arrives within 48 hours, and we never need your code.