We Deleted 612 Redundant Tests and Caught More Bugs
How we used per-test coverage overlap and mutation testing to delete redundant tests from a 2,140-test suite: the criteria, the dead ends, and the politics.
Read the storyI'm Halmurat T. — senior SDET writing about test automation at enterprise scale. Fifteen years debugging production systems at Fortune 500 telecom, insurance, retail, and financial services. The kind of scars you can't read about in documentation.
This blog is opinionated by design. Playwright vs Selenium isn't a tie. Page Object Model is overengineered. Your flaky test isn't flaky — it's broken. If that sounds useful, stick around.
ship/ StepScout — IntelliJ plugin for Cucumber step navigation →
ship/ Rally Work Items — Rally tickets inside your JetBrains IDE →
Subscribe to get updates straight to your inbox.

No spam · Unsubscribe anytime
How we used per-test coverage overlap and mutation testing to delete redundant tests from a 2,140-test suite: the criteria, the dead ends, and the politics.
Read the story →Playwright test locks only coordinate tests inside one run. Each CI shard is its own run, so 8 of 12 locked tests failed in my demo. Pin them to one job.
Chatbot confidence score always high, even on nonsense? That's a bug, not a strong model. How to measure calibration, fix it, route on it, and test it in CI.
Test failure triage starts with one question: did the app change, or the test? A 2-step isolation and last-known-good protocol classifies every red test fast.
Playwright 1.64 breaking changes can turn red tests green. Pin the exact version, run each release in a canary lane, and promote once failures are explained.
AI agents navigate to hallucinated domains when nobody gives them a URL. In my tests, Playwright MCP's --allowed-origins still let Chrome connect first.
Search is not available in dev mode.
Run npm run build then
npm run preview:local to test search locally.