The Axiom

Technical QA

39 pages

Start here

Hub

Technical QA Brain

Central hub for all test automation and technical quality engineering knowledge. Every page in the Technical QA brain connects here.

Accessibility Automation

Automated accessibility testing using axe-core and Playwright. Automation catches ~30-40% of WCAG issues; the rest require manual testing and lived experience. Both are required.

accessibilitywcagaxe-corearia

Advanced API Testing

Schema drift detection, fuzz testing, and contract-first workflows for production-grade APIs.

api-testingschema-driftfuzz-testingcontract-first

Advanced pytest Patterns

Beyond basic fixtures and assertions — plugins, custom hooks, fixture architecture, and test organisation at scale.

pytestfixturespluginsparametrize

Apache JMeter

Apache JMeter is the dominant open-source, protocol-agnostic Java load testing tool — the default choice when a client has existing .jmx infrastructure or needs non-HTTP protocol coverage (JDBC, JMS, LDAP).

jmeterperformance-testingload-testingjava

API Contract Testing (Advanced)

Consumer-driven contract testing ensures that services can evolve independently without breaking integrations. The consumer defines what it needs; the provider verifies it can meet that.

contract-testingpactconsumer-drivenprovider

API Performance Testing

Measuring, baselining, and regression-testing API latency and throughput.

api-performancek6latencythroughput

API Testing

Validating HTTP APIs at the integration layer — below the UI, above the database.

api-testingpostmanrest-assuredhttp

Browser Automation Patterns

Advanced Playwright patterns for real-world automation challenges.

browser-automationplaywrightselectorsnetwork-interception

Chaos Engineering

Deliberately injecting failure into a system to verify it behaves correctly under stress — before production does it for you. Chaos is a quality practice, not an ops stunt.

chaos-engineeringresiliencefault-injectiongameday

CI/CD Quality Gates

Automated checkpoints in a delivery pipeline that block promotion when quality thresholds aren't met. Quality gates make "definition of done" machine-enforceable rather than aspirational.

ci-cdquality-gatespipelinecoverage

Contract Testing

Validates that two services (consumer and provider) can communicate correctly. Sits between unit tests and E2E integration tests.

contract-testingpactconsumer-drivenmicroservices

Cypress

JavaScript E2E and component testing framework. Runs in the browser (not via WebDriver). Direct DOM access, automatic waiting, time-travel debugging, built-in screenshot and video recording.

cypresse2ecomponent-testingintercepts

Database Testing

Testing database schema, migrations, constraints, stored procedures, and data integrity — not just whether the application layer works.

database-testingschema-testingmigration-testingdata-integrity

Docker Service Containers for CI Testing

Run ephemeral Docker service containers (Postgres, Redis, WireMock, RabbitMQ) inside CI jobs so every test run starts from a clean, isolated state with no shared infrastructure.

dockerci-cdintegration-testinggithub-actions

E2E Framework Design

Architecting a maintainable E2E test framework — the code behind the tests.

e2e-frameworkpage-objectstest-architecturefixtures

Flaky Test Management

A test that sometimes passes and sometimes fails on the same code is a flaky test. Flaky tests erode trust in the test suite — engineers start re-running failures instead of investigating them.

flaky-teststest-reliabilityquarantineci

GraphQL Testing

Testing GraphQL APIs differs from REST: single endpoint, type system, queries vs mutations vs subscriptions, N+1 loader patterns, and schema-first contracts.

graphqltestingschemaapollo

Infrastructure Testing

Testing infrastructure-as-code before it reaches production: static validation, compliance scanning, and live end-to-end infrastructure tests.

infrastructure-testingterraformcheckovterratest

k6

k6 is a code-first load testing tool written in Go, scripted in JavaScript/TypeScript — VU model, threshold-based pass/fail, native WebSocket support, and first-class CI integration via exit codes.

k6load-testingperformance-testingjavascript

Load Testing — Advanced

Performance testing at scale: throughput, latency, saturation, and breakpoints. Goes beyond simple scripts into realistic traffic shaping, SLO validation, and CI integration.

load-testingk6locustperformance

Mock Strategies

Test doubles — mocks, stubs, fakes, spies — are the tool for isolating units from their dependencies. Choosing the wrong double leads to tests that pass but miss real bugs.

mockingstubsfakestest-doubles

Mutation Testing

Automatically introducing bugs (mutations) into source code to verify that tests catch them. A test suite with 100% line coverage can still be useless if it never asserts anything.

mutation-testingmutmutpittest-quality

Parallel Test Execution

Running tests concurrently to compress feedback time — without introducing isolation failures.

parallelismshardingpytest-xdistplaywright-sharding

Performance Testing

Validates that a system behaves acceptably under expected and peak load. Catches performance regressions before they become production incidents.

performance-testingk6jmeterload-testing

Performance Testing Capacity Planning

Consultant playbook for sizing test environments proportionally, deriving load targets from business data, and translating soak test results into procurement recommendations with headroom calculations.

performance-testingcapacity-planninginfrastructureload-testing

Playwright Advanced

Advanced Playwright patterns beyond basic locators and clicks: custom fixtures, API testing, tracing, code generation, CI optimisation, and the Healer agent for self-healing selectors.

playwrightadvancedfixturesapi-testing

Postman and Newman

Postman for API exploration and collection building; Newman for running those collections in CI.

postmannewmanapi-testingcollections

Security Automation

Automating security checks as part of CI/CD — SAST (static analysis), DAST (dynamic scanning), dependency auditing, container scanning, and secrets detection.

security-automationzapsemgreptrivy

Selenium Grid 4

Running Selenium tests across browsers and machines in parallel with Grid 4's router/hub/node architecture.

seleniumgridselenium-grid-4docker

Self-Healing Test Frameworks

Self-healing test frameworks automatically repair broken element locators when the UI changes, reducing maintenance burden. Healenium wraps Selenium with ML-based fallback selectors. Playwright Healer auto-opens a GitHub PR with the fix. Cloud platforms (Mabl, testRigor) remove locators entirely.

test-automationself-healingseleniumplaywright

Test Architecture

Structural patterns for maintainable automation code. Tests are code — they need design, abstraction, and refactoring the same as production code.

test-architecturepage-object-modelscreenplayfixtures

Test Data Generation (Technical)

Advanced patterns for generating test data at scale — deterministic factories, database seeding strategies, and generating data with the right statistical properties for load and edge case testing.

test-datagenerationsynthetic-datafaker

Test Observability

Treating the test suite as a system to be monitored — tracking health, trends, and failure patterns over time.

test-observabilitytest-analyticsflakinessdatadog

Test Reporting and Dashboards

Making test results visible, actionable, and trackable over time.

alluretest-reportingdashboardsslack

Testcontainers

Library that spins up real Docker containers in tests — actual PostgreSQL, Redis, Kafka, etc. instead of mocks. Tests talk to real services; no fakes, no mocks, no in-memory substitutes.

testcontainersintegration-testingdockerpostgresql

Visual Testing

Automated comparison of UI screenshots against approved baselines to catch unintended visual regressions.

visual-testingpercyapplitoolsplaywright

WebSocket Testing

Full testing stack for WebSocket — protocol fundamentals, Playwright functional tests with `page.routeWebSocket()`, k6 load testing with custom metrics, SSE comparison, contract testing, and CI integration patterns.

websocketreal-timetestingk6

WireMock

Service virtualisation tool — stubbing HTTP dependencies so you can test your service without running real downstream services. Available as a Java library, standalone server, and Docker image.

wiremockservice-virtualisationstubsmocking