Blog
Blog
Each article takes a position and links the sources behind every number.
All articles
Agent-first engineering
A test automation strategy for teams using AI coding agents
Give coding agents a test format and a command to run, gate merges on end-to-end checks, and keep people in charge of coverage and behaviour decisions.
AI testing
AI will not replace QA testers: how the job changes
AI tools take over repetitive QA work like fixing selectors and sorting failures. Judgment stays human. What changes for testers and how to plan for it.
Agent-first engineering
Code review is the bottleneck for teams using AI coding agents
AI coding agents raise the number of changes, and review becomes the slow step. Move the question of whether it works into automated checks before review.
End-to-end testing practice
E2E test maintenance cost: where it comes from and how to cut it
The cost of maintaining end-to-end tests comes from interface churn, flaky failures and triage time. Cut it with a focused suite and clear failure types.
End-to-end testing practice
End-to-end testing vs integration testing: where each belongs
Integration tests check that two parts of a system work together at one boundary. End-to-end tests check a user journey. Use integration tests for most logic.
End-to-end testing practice
How many E2E tests do you need: one per critical user flow
You need one end-to-end test per user flow whose failure would cost revenue, data or trust. Start with a handful and push every other check down the pyramid.
CI and CD
How to detect flaky tests in CI from per-test history
Detect flaky tests in CI by keeping per-test results for every run, rerunning each failure once on the same commit, and flagging tests whose outcome flips.
Flaky tests
How to fix flaky tests in Playwright without hiding them
Fix flaky Playwright tests by removing fixed waits, using role-based locators and isolating state. Why retries should report flakiness instead of hiding it.
Flaky tests
How to reduce flaky tests: measure, quarantine, fix causes
Flaky tests cost real engineering time. A four-step method to reduce them: measure flakiness, quarantine with an owner, fix async waits, remove shared state.
Agent-first engineering
How to test a vibe coded app, starting with the critical flows
Vibe coding testing starts small: write one end-to-end test per flow that must not break, run it on every preview deployment, and add a test per escaped bug.
Agent-first engineering
How to test AI-generated code by checking what it does
Test AI-generated code by its behaviour: write acceptance steps first, run end-to-end checks on every pull request, and keep people on behaviour changes.
Flaky tests
Retry or quarantine flaky tests: use both, with rules
Retries and quarantine solve different problems. Retry once to learn if a failure reproduces, then quarantine confirmed flaky tests with an owner and a date.
CI and CD
Run E2E tests on every pull request, starting with smoke
Run a small, tagged smoke suite of end-to-end tests on every pull request, the full suite after merge, and make it a required check only once it is stable.
CI and CD
Run E2E tests on Vercel preview deployments, per pull request
Run end-to-end smoke tests against each Vercel preview deployment once it is ready, pass the preview URL to the runner, and triage environment failures apart.
Flaky tests
What causes flaky tests and how to tell the causes apart
A flaky test passes and fails on the same code. The main causes are async waits, concurrency, test order and environment. How to recognise each one.
AI testing
What is agentic testing and where it needs human review
Agentic testing lets an AI agent write, run and update tests in a loop. How it works, why coding agents need it, and the review gates that keep it honest.
AI testing
What is AI testing: a working definition for engineers
AI testing uses a model to write, run, repair and sort software tests. What it covers, where its limits are, and how to judge a tool before you adopt it.
End-to-end testing practice
Who should write end-to-end tests: the author of the change
The engineer or coding agent that changes a flow should update its end-to-end test in the same pull request. QA owns the flow list, review and exploratory work.
Request early access
Early access: prices are the planned list prices. Billing starts when the platform enters beta; early-access use is not charged. We reply within 24 hours on business days.