Test Levels & Types
Classify each scenario by its test level (what's being tested and at what scope) and its test type (what objective it pursues). The two axes are independent of each other.
A developer runs unit tests on the `calculateDiscount()` function in isolation, with stubs for the pricing service.
Level
Type
A QA team verifies that the payments service and the invoicing service correctly exchange transaction data over their API contract, without test doubles for either side.
Level
Type
The performance team runs a load test with 5,000 concurrent users against the complete system deployed in staging, measuring response times under stress.
Level
Type
Before go-live, business representatives run through the complete purchase flow following the agreed acceptance criteria, to decide whether the system is ready for production.
Level
Type
After applying a hotfix in production, the team re-runs the exact test case that previously failed, against the complete deployed system, to confirm the defect has been fixed.
Level
Type
A developer writes tests based on a module's internal structure, designed to exercise every branch of its decisions (branch coverage), with direct access to the source code.
Level
Type
A UX team conducts an end-to-end usability testing session on the complete product, measuring how easily participants complete typical tasks.
Level
Type
After the backend team changes a payload's structure, contract tests are run between the mobile app and its backend to confirm the interface between them still works after the change.
Level
Type
A group of real customers tests a beta version of the product in their own everyday environment, evaluating whether the software meets their needs before general release.
Level
Type
A security specialist performs a penetration test on the complete, already-deployed application, looking for exploitable vulnerabilities across the system as a whole.
Level
Type
After refactoring the internal messaging bus, the team runs a regression suite focused on the boundaries between the modules that communicate through it, to detect side effects of the change.
Level
Type
A developer runs a performance micro-benchmark on an isolated parsing function, measuring whether its execution time stays within a defined budget.
Level
Type