Rev 1.0Kerno v1 is liveSee what's new →
X-01EnterpriseP-01Pricing
SolutionsAsync & worker testing

Continuous testing for every background job you run.

Kerno triggers each task through your own broker, the way your app does, and verifies what it changed.

DWG S-06Kerno solutions · Async & worker testing
Rev2026.10
Scale1 : 1
Sheet6 of 6
Run reportrun complete
TASK orders.send_receipt
RAN AGAINSTYOUR APPSUT:8080
DEPENDENCIESkafkabrokerpostgresdb
✓dispatched through the brokerpass
✓writes the receipt rowpass
△queued payload changeddiff
-"template": "receipt_v1"
+"template": "receipt_v2"
✓a failed send ends in a failed taskpass
✓a repeat run stays idempotentpass
12 scenarios · 11 pass · 1 diff

Faster merges, with every background job verified.

Counter A

6×

Faster merges for PRs tested by Kerno

Counter B

72%

Of planted runtime bugs caught across real open-source backends

Counter C

11 of 14

Critical-severity bugs caught across 7 open-source backends

Counter D

11 of 14

State bugs caught, from dropped fields to dead reset links

Bug figures from the Kerno benchmark, September 2026 

Agents and engineers at these companies use Kerno

Field report · 01On the line
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 & CEO
LetzAIVerified customer
Field report · 02On the line
Using 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 BernalesCTO
GermenVerified customer
Field report · 03On the line
Kerno 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 & CTO
BewiseVerified customer
Field report · 04On the line
Regressions 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 HigginsCTO
VeritageVerified customer
1 of 4
Built from your code

Kerno triggers async work the way your app does, then verifies what it changed.

Analysis 01

Consumer discovery

Celery tasks, Graphile Worker jobs and scheduled work each become their own subject, with their own scenarios.

Analysis 02

Dispatch through your broker

Kerno publishes to Redis, RabbitMQ or your own Postgres job queue, the same path your application uses.

Analysis 03

Unresolved wiring reporting

A dynamic task name or a queue resolved at deploy time is reported with the reason, and never guessed.

Analysis 04

Store and message assertions

Kerno reads the rows a job wrote and subscribes to what it published, then checks both against the run.

Analysis 05

Per-run data isolation

Each scenario arranges its own rows and its own correlation id, so a scheduler firing mid-run cannot skew it.

Analysis 06

Job behavior drift

The assertions from the last run are the baseline, so a changed outcome or payload shows up as a diff.

Full coverage

Catches failed jobs, missing writes and payload drift across every worker.

Coverage 01

Task execution

Terminal state, task outcome, and the work a job actually did.

Coverage 02

Queue messages

Consumer handling, message payloads, and chained task dispatch.

Coverage 03

Scheduled jobs

Beat entries, cron registrations, and the task behind each one.

Coverage 04

Store writes

Rows created, updated and removed, checked against your own schema.

Coverage 05

Published messages

Payloads a job emits, the queues it lands on, and their shape.

Coverage 06

Idempotency

A repeat dispatch, and whether the same effect lands twice.

Triggers through your own broker
Languages
  • Python
  • TypeScript
  • JavaScript
Dependencies
  • Redis
  • RabbitMQ
  • AWS
  • Azure
  • PostgreSQL
  • MongoDB
Learns your standards

Kerno applies your rules and standards to every job it plans and tests.

Standard 01

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.

Standard 02

Works from the context your team already wrote

Agent instruction files, service READMEs and the docs in your repository shape how every job gets tested.

Standard 03

Gets more accurate with every run you review

Kerno learns from each run and the feedback you give it, and carries what it learns into the tests that follow.

Kerno operator manual · FAQ6 questions
FAQ

FAQs

Got any extra questions? Reach out on our community channel and we'll be happy to help.

01How does Kerno test a Celery task?

Kerno discovers the task, triggers it by publishing to the broker the way your app does, and verifies the rows it wrote and the messages it published.

02Does Kerno test queue consumers?

Yes. Kerno discovers queue consumers and tests how they handle messages, including the rows and messages they produce.

03Can Kerno test scheduled or cron jobs?

Yes. Kerno reads your beat entries and cron registrations, then tests the task behind each one by dispatching it the way the scheduler would.

04How does Kerno trigger a background job?

By publishing to the broker, the same path your application uses, so the job runs the way it does in production.

05Which task frameworks does Kerno support?

Celery on Python and Graphile Worker on TypeScript and JavaScript, each triggered through your own broker. SQS handlers declared in a serverless manifest are discovered with their queue and arguments.

06Does async testing run in CI?

Yes. Committed scenarios replay in CI on every change.