Chaos testing exercises error paths
Why it matters
Error boundaries, circuit breakers, and retry logic are only as good as the failure scenarios they were written to handle. Without chaos testing, these resilience mechanisms are untested hypotheses. ISO 25010 reliability.fault-tolerance requires demonstrated tolerance, not assumed tolerance. Vibe-coded applications are especially prone to this gap: the happy path is well-exercised, but the circuit breaker has never opened in a real test, and the error boundary's fallback has never rendered in a staged failure. The first time these paths run is in production, during an incident.
Severity rationale
Info severity because the defect is a testing gap, not a runtime defect — but untested error paths are a leading indicator of incidents that take longer to resolve.
Remediation
Add at least one chaos test that deliberately injects a failure and asserts the application degrades gracefully. MSW (Mock Service Worker) is the lowest-friction option for frontend tests.
// tests/chaos/api-failure.test.tsx
import { server } from '../mocks/server'
import { http, HttpResponse } from 'msw'
test('shows error message when dashboard API fails', async () => {
server.use(
http.get('/api/dashboard', () =>
HttpResponse.json({ error: 'service unavailable' }, { status: 503 })
)
)
render(<Dashboard />)
expect(await screen.findByText(/failed to load/i)).toBeVisible()
expect(screen.queryByRole('progressbar')).not.toBeInTheDocument()
})
Document findings from each chaos run — what failed, what recovered correctly, what needed fixing — in docs/chaos-findings.md.
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Error Resilience Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · reliability.fault-tolerance
Taxons
History
- 2026-04-18·v1.0.0·Initial import from error-resilience·automated