Comparisons·14 June 2026 · 6 min read
The pyramid says most tests should be unit tests; the trophy says integration deserves the bulk. They're really arguing about where bugs hide in modern apps. Let the shape follow your real escapes, not whose diagram you saw first.
automationtest-strategytest-pyramidcomparison
Case studies·13 June 2026 · 8 min read
A case study: a scheduling bug that stayed invisible until the clocks changed — and the test scenarios that would have caught it.
case-studytime-datebugs
Case studies·13 June 2026 · 7 min read
A single intermittent test trained a team to re-run, then ignore, then merge through every red build — until two real regressions slipped through.
case-studyflaky-testsautomationci
QA trends·13 June 2026 · 9 min read
A dated June 2026 landscape: web E2E consolidated, API stayed code-first+GUI, performance went lightweight, mobile stayed fragmented, and AI became an authoring feature not a category.
qa-trendsautomationtoolingopinion
Tutorials·10 May 2026 · 7 min read
Most teams over-abstract too early. Four custom commands are worth writing on every Cypress project — login, seed, intercept, visit. The rest can wait.
cypresstypescriptpatterns
Deep dives·2 May 2026 · 10 min read
Cypress retries commands until they pass or time out — but only some commands, and only some of the time. Understanding which is the difference between solid tests and flaky ones.
cypressinternalsflaky-tests
Opinions·24 April 2026 · 6 min read
POM was a Selenium-era solution to a Selenium-era problem. In modern Cypress and Playwright, custom commands and locator helpers cover 90% of what POM was supposed to give you.
patternspage-object-modelcypress
Comparisons·15 April 2026 · 9 min read
After shipping production suites in both, here's the honest breakdown — where Playwright pulls ahead, where Cypress still wins, and the single factor that should actually decide it.
playwrightcypresscomparison
Field notes·28 March 2026 · 8 min read
Our CI was failing 18% of runs to flakes we'd stopped looking at. One week, four changes, no new tests. Here's what we actually did.
flaky-testscypressci-cd
Deep dives·27 February 2026 · 9 min read
Cypress has three features that look similar but solve completely different problems. Fixtures are static data. Tasks are Node-side escape hatches. Intercepts are network shape. Here's the boundary.
cypresstypescriptfixtures
Tutorials·24 February 2026 · 8 min read
cy.intercept is the most powerful command in Cypress and the one teams most often misuse. Here's the playbook: when to alias, when to stub, when to spy, and the race-condition-shaped bug that intercepts usually catch.
cypresstypescriptapi-testing
Deep dives·20 February 2026 · 9 min read
The Playwright trace viewer is the single feature most arguments for Playwright should lead with. Most teams use 10% of it. Here are the five patterns to look for in every trace.
playwrightdebuggingtooling
Tutorials·17 February 2026 · 9 min read
Most explanations of Playwright fixtures lean on React-hook metaphors that miss the point. Fixtures are scoped factories. Here's what to do with them and the three every project should have.
playwrighttypescriptfixtures
Deep dives·10 February 2026 · 10 min read
Cypress retries commands; Playwright auto-waits on actionability. Same problem, different solution. Here's what Playwright is actually doing when you call .click().
playwrightinternalsflaky-tests
Opinions·6 February 2026 · 7 min read
Cucumber and Gherkin make sense when non-technical stakeholders write tests. They don't make sense when engineers write tests for engineers. Here's the pragmatic test: who actually reads your tests?
bddcucumberpatterns
Opinions·3 February 2026 · 7 min read
There's a take going around that data-testid 'couples tests to implementation.' It's exactly backwards — data-testid is the only selector explicitly decoupled from implementation.
cypressplaywrightselectors
Comparisons·30 January 2026 · 8 min read
The unit-test-runner version of the Playwright vs Cypress post. I've shipped both in production. If I were starting fresh today, Vitest. Here's why, with real numbers.
vitestjestunit-testing
Opinions·27 January 2026 · 8 min read
Flaky tests don't cost you in CI minutes. They cost you in developer trust. And the compounding interest on lost trust is the most expensive tax in engineering.
flaky-testsci-cdculture
Comparisons·23 January 2026 · 9 min read
I've run production Cypress and Playwright suites in both GitHub Actions and CircleCI for the last year. Here's where each one pulls ahead, where each one tripped me up, and the single factor that should decide it.
github-actionscirclecici-cd
Comparisons·18 November 2025 · 9 min read
Four contenders for visual regression in 2026. The dollar cost is easy to compare; the review-fatigue cost is the one no one warns you about. Here's the comparison and the pick.
visual-regressionpercychromaticargos