Test Architecture Strategy
Choosing what to verify where, given the failure modes that actually occur.
4 to work through
-
intermediate
What should a test strategy specify, and what makes strategies fail in practice?
2 min answer -
advanced
By around 2011 Etsy was deploying to production roughly 25 times a day, having published its deployment tool (Deployinator) and its metrics collector (StatsD). There was no separate multi-day regression phase before a release. What replaced it, what did the approach cost, and where would copying it be a mistake?
3 min answer -
advanced
Every release needs a two-day manual regression pass by four people, the team ships fortnightly, and leadership wants weekly releases. Walk me through where you start.
2 min answer -
advanced
Where would you introduce property-based testing, and where is it a poor fit?
2 min answer
3 terms in this topic
Property-Based Testing
Asserting invariants that must hold for all inputs, then having the framework generate many inputs to try to break them.
practiceTest Architecture Strategy
A written decision about which risks are covered by which kind of test, at what scope, run at what point, and which risks are accepted.
conceptTestability as a Design Property
How cheaply a system's behaviour can be observed and controlled, which is decided by architecture and largely fixed before any test is written.
Neighbouring topics
Testing & Quality Architecture
General material on designing a testing strategy as an architectural concern.
Test Pyramid Shapes
Pyramid, trophy and honeycomb, and the system properties that justify each shape.
Integration Test Boundaries
What sits inside a test's boundary, what is faked, and the confidence that follows.
Contract Testing at Scale
Keeping dozens of services compatible without an environment that runs all of them.
Consumer-Driven Contracts
Consumers declaring what they rely on, and providers verifying against those declarations.
Test Data Management
Realistic data without copying production personal data into a weaker environment.
Synthetic Data
Generating data with the shape and edge cases of the real thing, and where it misleads.
Environment Parity
The differences between staging and production that decide which bugs survive to release.
Service Virtualisation
Standing in for a dependency you cannot call, and keeping the stand-in honest.
End-to-End Test Economics
Why broad end-to-end suites get slow, flaky and abandoned, and what to keep.
Non-Functional Test Strategy
Testing availability, latency, security and recovery rather than only behaviour.
Performance Test Design
Workload models, warm-up, think time, and the distribution the average hides.
Chaos as a Test
Fault injection with a hypothesis, a blast radius and an abort condition.
Security Testing in the Pipeline
SAST, DAST, dependency and secret scanning, and what to do with the findings.
Accessibility Testing
Automated checks, their ceiling, and the manual testing that has to sit above it.
Mutation Testing
Measuring whether tests would actually notice a defect, not just cover a line.
Flaky Test Management
Quarantine, detection, and the trust a suite loses once red stops meaning broken.
Testing in Production
Synthetic transactions, dark launches and shadow traffic, done deliberately and safely.
Quality Gates
Thresholds that block a release, who may override them, and how they decay.