Tech Tree · Engineering
Testing & QA Maturity
Advance your testing practice from manual verification to AI-assisted predictive quality engineering. Each node represents a concrete capability with realistic effort estimates and cross-discipline dependencies.
Maturity tiers
Manual
Testing is performed by humans on an ad-hoc or scheduled basis. Slow feedback, high defect escape rate.
Automated
Core test suites run automatically on each commit. Feedback arrives in minutes, not days.
Continuous
Testing is fully integrated into the delivery pipeline. Quality gates block bad code from reaching production.
Predictive
Advanced techniques (mutation testing, chaos, AI) predict defects before they occur and optimise the test suite continuously.
Tracks
Unit
Tests that verify individual functions, classes, or modules in isolation.
Integration
Tests that verify interactions between services, databases, and external APIs.
E2E
Tests that simulate real user journeys through the full application stack.
Performance
Tests that measure throughput, latency, and resilience under realistic and extreme load.
All capabilities (17)
Manual
API Manual Testing
Engineers use tools like Postman or Insomnia to manually verify API contracts, edge cases, and error responses before shipping new endpoints.
api-testing · postman · integration
Exploratory Testing
QA engineers perform structured exploratory sessions on new features, documenting findings and edge cases. Session notes feed into the regression suite.
exploratory-testing · qa · ux
Performance Baseline
Response times and throughput are measured for key endpoints, establishing a baseline that can detect regressions before users complain.
performance · baseline · latency
Written Test Cases
Critical application flows are documented as step-by-step test cases with expected outcomes. Testers execute them before each release to verify no regressions.
manual-testing · test-cases · qa
Automated
API Contract Tests
Provider-driven contract tests (Pact, OpenAPI schema validation) verify that API changes do not break consumers, enabling independent service deployments.
contract-testing · pact · openapi · integration
Automated Load Testing
Load tests written in k6 or Locust run against staging on a schedule, verifying that the system meets throughput and latency targets before production releases.
load-testing · k6 · locust · performance
Browser Automation
Critical user journeys are automated with Playwright or Cypress, running against staging environments to catch UI regressions before production deployments.
e2e · playwright · cypress · automation
Mocking & Stubs
External dependencies (databases, third-party APIs, message queues) are replaced with fakes or mocks in unit and integration tests, enabling fast, deterministic test runs.
mocking · unit-testing · test-doubles
Unit Test Framework
A test framework (Jest, pytest, JUnit, Go test) is adopted across all services. Engineers write unit tests for all new functions and critical existing code.
unit-testing · jest · pytest · coverage
Continuous
Coverage Gates in CI
CI pipelines enforce minimum coverage thresholds per service. Pull requests that reduce coverage below the threshold are blocked until tests are added.
coverage · ci · quality-gates
Ephemeral Integration Environments
Each PR gets an isolated environment with all dependent services spun up automatically, enabling integration tests to run against real dependencies without environment conflicts.
ephemeral-environments · integration · ci · docker
Stress & Spike Testing
The system is tested at 2-5x expected peak load and with sudden traffic spikes to expose resource exhaustion, connection pool limits, and cascading failures before they hit production.
stress-testing · spike-testing · performance · resilience
Visual Regression Testing
Screenshot comparison tools (Percy, Chromatic, Playwright snapshots) detect unintended UI changes across components and full pages on every PR.
visual-regression · percy · chromatic · ui
Predictive
AI-assisted Test Generation
AI tools (GitHub Copilot, Diffblue, Codium) analyse code changes and suggest missing test cases, while ML models trained on past defects prioritise which tests to run first.
ai-testing · test-generation · ml · developer-productivity
Automated Schema Evolution
Schema registries (Confluent Schema Registry, Buf) enforce backward-compatible API and event schema evolution, automatically blocking breaking changes before they are merged.
schema-evolution · contract-testing · api-governance
Chaos Engineering
Controlled experiments (Chaos Monkey, LitmusChaos, Gremlin) inject faults — network latency, pod kills, disk failures — into staging and production to find weaknesses proactively.
chaos-engineering · resilience · litmus · gremlin
Mutation Testing
Mutation testing tools (Stryker, PITest) inject deliberate code faults and verify that the test suite catches them, exposing tests that pass without actually verifying behaviour.
mutation-testing · stryker · test-quality · predictive