65 terms from the practice curriculum β each with a short definition and a direct link to the lab where the concept is explored in depth. Searchable; use it as a reference while reading other labs.
65 of 65 terms
A
A11y
Accessibility
Short for 'accessibility' β 11 letters between A and Y. Umbrella for making UIs usable by people with disabilities (visual, motor, cognitive, auditory). Governed by WCAG.
Three-phase structure for a single test: Arrange (set up fixtures + state), Act (perform the operation under test), Assert (verify the outcome). Keeping phases visually separate makes tests readable at a glance.
ATDD
Acceptance Test-Driven Development
Tests derived from acceptance criteria, written BEFORE implementation. Similar to TDD but from user/business perspective. Often pairs with BDD syntax.
axe-core
Automated a11y rule engine
Deque's open-source accessibility testing library. Runs in browser or Node, detects WCAG violations by rule. Covers ~30 % of a11y issues; the rest requires manual testing.
When producer is faster than consumer. Options: buffer (memory grows), drop (data lost), pause producer (flow control). Critical for WebSocket and streaming APIs.
Baseline
Recorded expected state
The 'known good' artifact (screenshot, JSON, performance metric) that future runs are compared to. Baselines require governance β auto-update = auto-approve bugs.
Style of expressing tests as Given/When/Then narratives, readable by non-engineers. Tools: Cucumber, SpecFlow. Not a testing technique β a documentation format.
Blast radius
Scope of a change's impact
How many systems/users a test or experiment can affect if it misfires. Bounded = one service; cascading = dependent services; systemic = whole platform. Central to chaos engineering.
Test design technique: for each valid range, probe the min, min+1, max, max-1 plus just-outside values. Bugs cluster at boundaries; BVA finds them cheaply.
Chainable API for creating complex test objects. `new OrderBuilder().forUser(u).withItem(s, 1).build()`. Reads like a spec; better than deeply-nested factory arguments.
Deploy to 1-5 % of traffic first, measure health, progressively increase. Catches bugs that only show up under real load or with real user data.
Chaos engineering
Controlled failure experiments
Deliberately inject faults (latency, errors, crashes) to verify system resilience. Hypothesis-driven: 'if X fails, Y must still work'. Different from load testing.
East Asian scripts with variable (typically 2Γ) character width. Layouts tuned for Latin word-wrapping often break on CJK. Requires specific testing strategy.
Unicode's canonical database of locale information: plural rules, date formats, number formats, calendars. `Intl.PluralRules`, `Intl.NumberFormat` read from CLDR.
Client clock differs from server by minutes/hours. Breaks JWT validation, TOTP, signature expiry. Defense: generous server-side leeway window (30-60 s), reject beyond.
Contract test
Boundary shape verification
Tests that the shape of data crossing a service boundary matches the agreed contract. Consumer-driven (Pact) or provider-driven (Schemathesis). Faster than E2E, catches breaking changes.
Unique ID (UUID, ULID) attached to a request at entry, propagated through every service, logged on every line. Lets you reconstruct the full call graph from one ID.
Attacker submits authenticated request from victim's browser by tricking them into visiting a malicious site. Defense: anti-CSRF tokens + SameSite cookies + Origin validation.
Enumerate every combination of N boolean conditions β 2^N rows of expected outcomes. Comprehensive coverage for rule-based logic (discounts, permissions, pricing).
Services (BrowserStack, SauceLabs, Firebase Test Lab) that let you run tests on real iOS / Android devices per-minute. Necessary for iOS Safari coverage outside macOS.
Drives the real application through the UI (or public API) against a real deployed stack. Highest coverage per test; highest cost per test; most flaky.
Mission-driven testing without predefined scripts. Session has a charter (what to investigate) + time-box + notes. Finds bugs scripted tests don't anticipate.
OS setting that replaces all colors with system-defined high-contrast palette. Background images, SVG fills, subtle borders disappear. Test via `page.emulateMedia({ forcedColors: 'active' })`.
Google's RPC framework using HTTP/2 + Protocol Buffers. Four stream types (unary, server, client, bidi). Status codes distinct from HTTP.
H
HATEOAS
Hypermedia as Engine of Application State
REST principle: responses include links to next valid actions. Client navigates via links, never constructs URLs. Decouples client from server URL structure.
18 letters between i and n. Designing software to support multiple locales without code changes. Paired with L10n (localization) β actually translating / formatting.
Small random component added to retry backoff to prevent thundering herd. `delay = base * 2^attempt + random(0, base)`. Standard in production retry logic.
JWT
JSON Web Token
Compact signed token (header.payload.signature). Common auth token. Attacks: `alg: none`, algorithm confusion, missing `exp` check.
10 letters between L and n. Actually translating strings + formatting dates/numbers/currency for a locale. Done in libraries like next-intl, react-intl.
Extra auth factor β 6-digit code from authenticator app, valid for 30 s window. HMAC-SHA1 of (secret, current counter). Test Β±1 window for clock skew.
Move flaky tests to a separate suite that doesn't gate merges but still surfaces for review. Requires an SLA ('fix or delete in N days') β otherwise becomes dead weight.
Three health signals per endpoint: requests per second, error ratio, latency distribution. Simpler than USE (Utilization/Saturation/Errors), more service-focused.
Cap on retry attempts with exponential backoff + jitter. Infinite retries amplify outages (thundering herd). Rule of thumb: 3 attempts, 30 s total wall time.
RTL
Right-to-Left script
Writing systems read right-to-left: Arabic, Hebrew, Farsi, Urdu. Full UI layout mirrors β navigation, icons, scrollbars, directional chevrons.
Severity = how bad (data loss? crash?). Priority = how urgent (blocking release? small user?). Orthogonal β low-severity can be high-priority before a regulated launch.
What the test compares actual against: spec doc, existing system (regression), reference implementation, heuristic. A test without an oracle is just a smoke test.
Toxiproxy
TCP proxy for chaos
Shopify's chaos tool: inject latency, packet loss, connection resets at proxy layer. Zero app-code changes. Sidecars for language-agnostic chaos.