End-to-end testing for your critical user flows, against your real stack.
Kerno maps your critical user flows from your code with your agent. Pick any flow and Kerno tests it end to end against your live services, reading the outcome back from your system.
Faster merges, with every critical flow verified.
6×
Faster merges for PRs tested by Kerno
72%
Of planted runtime bugs caught across real open-source backends
11 of 14
Critical-severity bugs caught across 7 open-source backends
6 of 7
Access-control bugs caught, from broken auth to cross-tenant reads
Agents and engineers at these companies use Kerno
Kerno was up and running in minutes with no manual work, and it made our API migration so much smoother. We could instantly validate that every change made by Cursor worked the way we expected, and now it’s a core part of how we build.
Misch StrotzCo-Founder & CEOUsing Kerno with Claude Code has been a game changer. You get quick feedback with no manual effort, and it saves you a lot of time and hassle debugging integration issues post-merge.
Jonathan BernalesCTOKerno saves us a lot of manual work and helps us catch side effects and issues that would definitely break our projects’ backends. Our engineering team loves it.
Santiago J. VallsCo-Founder & CTORegressions have always been a huge bottleneck for our team. Kerno has been a force multiplier helping us ship releases much faster without the manual overhead of QA.
Ronan HigginsCTOEvery flow test follows the journey your users take, step by step.
Maps your flows from your code
Right after setup, your agent proposes the journeys that matter from your README, data model and the routes that write. Kerno records each one you confirm, with the endpoints it crosses in order.
Carries state between steps
Each flow is one TypeScript test with ordered steps. A cookie session or bearer token carries across every request, and ids returned by one step feed the next.
Proves the outcome
The final step reads the business result back through your APIs. Kerno reads your database only when no endpoint can show the result.
Passes twice before it counts
Flow tests run at high effort, so each one must pass two consecutive runs against your live services.
Cleans up every run
Every step registers its own teardown. Kerno runs them in reverse order after the flow ends, including when a step fails midway.
Shows the step that broke
Every request is tagged with the step that sent it. The run report shows each step’s request and response, and a failure before the step under test reads as a setup failure.
Covers the journeys that make your product work, and every entry point behind them.
Money movement
Checkout, refunds, subscriptions and payouts, with the final step reading back the charge, refund or balance your system recorded.
Onboarding
Signup, verification and first-run setup, run as one continuous session from the first request to the first real action.
Core product actions
Create, edit and archive, with the record’s final state read back from your API after the last write.
Integrations
A step posts the webhook or callback payload to your endpoint, and the next step reads back the record it updated.
Faster pull request reviews
Before you open a pull request, Kerno re-runs every saved flow your change reaches. On the pull request, the Kerno GitHub Action replays your committed tests, flows included, and posts one comment with the results.
Entry points behind the flow
Background consumers on SQS, Celery and Redis, and the tools your MCP server exposes, each get their own tests against your running app.
Pick a flow. Kerno runs every step and shows the one that broke.
FLOW · checkout“A customer checks out and is charged exactly once.”
- Step 01passPOST /signupreturns session
- Step 02passPOST /cartreturns cart_id
- Step 03diffPOST /paymentscharged twice
- Step 04passGET /orders/{id}reads back paid
- Step 01MapKerno maps your critical flows with your agent during setup and saves each one with its ordered endpoints.
- Step 02TestKerno plans the test from the handler behind each step, you approve the plan, and every step runs against your live services.
- Step 03Re-runEach change re-runs the saved flows it reaches, before the pull request and again in CI.
- Step 04PinpointThe report names the step that broke, with its request, its response and the outcome the user expected.
TypeScript
JavaScript
Python
Java
Kotlin
Go
Ruby
PHP
C#
Rust
C
PostgreSQL
MySQL
MariaDB
MongoDB
Redis
Kafka
RabbitMQ
AWS
Azure
ClickHouse
Google Cloud
Kerno applies your rules and standards to every test it writes and runs.
Reads your rules and standards in plain English
Write a rule the way you would explain it to a new engineer, and scope it to the repositories and paths it applies to. Kerno applies it to every flow it plans.
Works from the context your team already wrote
Agent instruction files, service READMEs and the docs in your repository shape how every test gets planned, alongside the code behind each step.
Gets more accurate with every run you review
Kerno learns from calibration, each run and the feedback you give it, and recalls those lessons when it plans the next flow.
01What is end-to-end backend testing?
It tests a whole user journey through your backend, such as signup to first purchase. Each step calls your APIs in order, carries the session forward, and the test ends by reading the business outcome back from your system.
02How does Kerno find my user flows?
During setup, Kerno maps your critical user flows with your coding agent, suggesting journeys from your README, data model and routes. You confirm the ones that matter, then ask Kerno to test any flow, in chat or from the portal.
03How does Kerno fit with Playwright or Cypress?
Kerno tests the backend journey behind every screen, against your live services. It runs alongside your browser tests and covers the state, side effects and edge cases your UI suite leaves to the backend.
04What does a flow test check?
Every step’s response, the values passed between steps, and a final business outcome read back from your APIs. Database reads are used only when no endpoint can show the result.
05How does Kerno speed up pull request reviews?
Reviewers start from evidence. Before the pull request opens, Kerno re-runs every saved flow the change reaches, with a report link for each. On the pull request, the Kerno GitHub Action replays your committed tests, flows included, against your running app, fails the check when a test fails, and posts one comment with the totals.
06What happens when a flow fails?
The run report shows the exact step, its request and response, and the outcome the user expected.
07Which languages and frameworks does Kerno support?
Kerno reads every major backend language, from TypeScript and Python to Go, Rust, Ruby, PHP, C#, Java, Kotlin, and Scala, and resolves each framework's own routing on top of that.