articleJanuary 2, 2026

The Testing Pyramid is Dead

Mike Cohn's 2009 testing pyramid no longer fits modern web development—teams should design their own testing strategy based on tooling, architecture, and risk tolerance.

Core Argument

The testing pyramid was designed for C++ and Java in 2009. Modern JavaScript tooling has changed the equation:

  1. E2E tests got faster and more reliable. Playwright and Cypress use WebDriver Protocol and Chrome DevTools Protocol with built-in waiting and retries. The "slow, flaky e2e" assumption no longer holds.
  2. TypeScript reduces unit test needs. Static typing catches bugs that once required defensive unit tests. Kent C. Dodds observed this shift years ago.
  3. No universal testing strategy exists. Unlike version control (where Git won), testing approaches should fit the project—like city planning, not one-size-fits-all.

The Alternative

Draw your own testing shape. Consider:

  • Team size and structure
  • Architecture (monolith vs. microservices)
  • Risk tolerance
  • Project-specific constraints

Connections

Builds on write-tests-not-too-many-mostly-integration—Dodds' "testing trophy" was an early challenge to pyramid orthodoxy. See also vue3-testing-pyramid-vitest-browser-mode for a practical Vue testing setup using modern tooling.

Connections (9)