The Practical Test Pyramid
Source identity:
ddx:
id: resource.fowler-practical-test-pyramid
authoring:
home: repoThe Practical Test Pyramid
Source
- URL: https://martinfowler.com/articles/practical-test-pyramid.html
- Accessed: 2026-05-12
Summary
The Practical Test Pyramid explains how automated test suites balance many fast, focused tests with fewer broad, slower tests. It frames unit, integration, and end-to-end tests as complementary layers with different costs and confidence tradeoffs.
Relevant Findings
- A healthy test strategy balances feedback speed, confidence, and maintenance cost.
- End-to-end tests should cover critical user paths without becoming the only source of confidence.
- Integration tests are important where components meet, especially around databases, APIs, and external dependencies.
- Test strategy should be grounded in actual product risk, not a generic percentage target alone.
HELIX Usage
This resource informs the Test Plan artifact. HELIX uses it to keep coverage targets risk-based and to prevent project-level plans from overloading slow end-to-end tests.
Authority Boundary
This resource offers a test portfolio model. HELIX still requires traceability from requirements and stories to concrete project test obligations.
Innsigle seal: model-primary by HELIX
The signature covers the markdown source of this page, not these HTML bytes. This page quotes that seal; verify it against the source file.
- Composition
- model-primary
- Issuer
- HELIX
helix - Signing key
ed25519:b0865d76d834a52c48506414d16f4e5a(build key)- Signed source
research/fowler-practical-test-pyramid.md- Signed
- 2026-09-23T14:11:58Z
- Content digest
sha256:1f51d58c…4592fd44
This build key is endorsed by the human key for build signing; the signature is not a detector and not a truth guarantee.
Raw attestation JSON
{
"payload": {
"innsigle": "1",
"type": "https://innsigle.dev/claim/colophon/v1",
"issued_at": "2026-09-23T14:11:58Z",
"issuer": {
"id": "helix",
"name": "HELIX",
"key_id": "ed25519:b0865d76d834a52c48506414d16f4e5a",
"key_url": "https://documentdrivendx.github.io/helix/.well-known/innsigle/keys.json"
},
"subjects": [
{
"uri": "https://documentdrivendx.github.io/helix/research/fowler-practical-test-pyramid/",
"digest": {
"alg": "sha256",
"value": "1f51d58c45d9a5801b5d2fb8dbcfc7cdcfbde445efb0d0529db0e09f4592fd44"
}
}
],
"colophon": {
"schema_version": "1",
"composition": "model-primary",
"ingredients": [
{
"kind": "model",
"name": "Claude",
"role": "draft"
},
{
"kind": "tool",
"name": "sloptimizer",
"role": "rewrite"
},
{
"kind": "human",
"name": "operator",
"role": "structure-edit"
}
],
"notes": null
}
},
"payload_encoding": "json",
"signatures": [
{
"key_id": "ed25519:b0865d76d834a52c48506414d16f4e5a",
"alg": "ed25519",
"sig": "tZEalhxVsNEAg-VD5jFdok99wDVjltGIgTplGHn5yePcKvMmXkmiM3rgyJLd--uMQ6-yAcOFQJpM-bjJtKHAAQ",
"signed_at": "2026-09-23T14:11:58Z"
}
]
}