|
| 1 | +# Glossary (Quick, Practical) |
| 2 | + |
| 3 | +> Short, practitioner-friendly definitions you can use during design reviews and when writing cases. |
| 4 | +> Tip: skim this once; link back when terms pop up in playbooks or checklists. |
| 5 | +
|
| 6 | +--- |
| 7 | + |
| 8 | +## Notation & Abbreviations |
| 9 | +- **MAE** — Main / Alternative / Exception (scenario families). |
| 10 | +- **MECE** — Mutually Exclusive, Collectively Exhaustive (no overlap, no gaps). |
| 11 | +- **SUT** — System Under Test. |
| 12 | +- **I/O** — Input / Output. |
| 13 | +- **RACI** — Responsible, Accountable, Consulted, Informed (ownership). |
| 14 | + |
| 15 | +--- |
| 16 | + |
| 17 | +## Core Test-Design Concepts |
| 18 | +- **Coverage thinking** — Structuring the space of behaviors so tests are *representative* and *sufficient* (not every permutation). |
| 19 | +- **Equivalence classes** — Group inputs that should behave the same; test one per group + boundaries. |
| 20 | +- **Boundary value analysis** — Hit “just in / just out” values around each limit (e.g., −1, 0, 1). |
| 21 | +- **Decision table** — Tabular rules: conditions × actions. Ensures no conflicting or missing rules. |
| 22 | +- **State model** — Valid states + transitions + guards; tests verify allowed/blocked moves and side-effects. |
| 23 | +- **Pairwise testing** — Cover all pairs across factors; reduces explosion while catching many interaction bugs. |
| 24 | +- **CRUD grid** — For each resource: Create/Read/Update/Delete × roles × constraints. |
| 25 | +- **Oracle (test oracle)** — Mechanism to decide pass/fail (calc, invariant, golden file, service contract). |
| 26 | +- **Traceability** — Links across Requirement ↔ Scenario ↔ Case ↔ Evidence; often a matrix (RTM). |
| 27 | +- **Risk-based prioritization** — Test higher business/technical risk first (impact × likelihood). |
| 28 | + |
| 29 | +--- |
| 30 | + |
| 31 | +## Scenario & Workflow |
| 32 | +- **Main/Alt/Exception flows (MAE)** — Happy path, common variations, and error/edge paths. |
| 33 | +- **Invariants** — Conditions that must always hold (e.g., sum of line items = order total). |
| 34 | +- **Idempotent action** — Safe to repeat: same key/request ⇒ same outcome (e.g., retry POST with idempotency key). |
| 35 | +- **Race condition** — Outcome depends on timing/order of concurrent events. |
| 36 | +- **Idempotent consumer** — Consumer deduplicates replays, guaranteeing single-effect processing. |
| 37 | + |
| 38 | +--- |
| 39 | + |
| 40 | +## API & Data Contracts |
| 41 | +- **Contract test** — Verify provider/consumer agree on schema, types, required fields, and error shapes. |
| 42 | +- **Schema validation** — Enforce structure (e.g., JSON Schema/OpenAPI) before deeper checks. |
| 43 | +- **Pagination (offset vs cursor)** — Offset is page index; cursor is opaque pointer for stable traversal. |
| 44 | +- **Consistency guarantees** — Strong / Read-after-write / Eventual; dictates assertion timing. |
| 45 | +- **Idempotency key** — Client-generated token to dedupe retried operations. |
| 46 | +- **Error taxonomy** — Canonical set of errors (auth, validation, rate-limit, transient) mapped to UX messages. |
| 47 | +- **HTTP semantics** — Safe (GET), idempotent (PUT/DELETE), unsafe (POST) per RFC intent. |
| 48 | +- **ETag / If-Match / If-None-Match** — Conditional requests for concurrency control & caching. |
| 49 | +- **Pagination invariants** — Sorting stability or cursor monotonicity to avoid skips/dupes across pages. |
| 50 | + |
| 51 | +--- |
| 52 | + |
| 53 | +## Non-Functional (Perf, Resilience, Compatibility, A11y) |
| 54 | +- **p95 / p99** — 95th/99th percentile latency; budgets set expectations beyond average. |
| 55 | +- **TTFB / TTI** — Time to First Byte / Time to Interactive (web UX timing signals). |
| 56 | +- **SLO / SLI / SLA** — Objective / Indicator / Agreement for reliability commitments. |
| 57 | +- **Budget** — Agreed threshold (e.g., p95 ≤ 500 ms) used as an acceptance criterion. |
| 58 | +- **Retry w/ backoff** — Reattempt with increasing delay; add jitter to avoid thundering herds. |
| 59 | +- **Circuit breaker** — Stop calling a failing dependency until it recovers to protect the system. |
| 60 | +- **Graceful degradation** — Reduced functionality with clear UX when dependencies fail. |
| 61 | +- **Compatibility matrix** — Supported OS/Browser/Device/App versions and features. |
| 62 | +- **Internationalization (i18n) / Localization (l10n)** — Build for multiple locales / adapt strings, formats, rules. |
| 63 | + |
| 64 | +--- |
| 65 | + |
| 66 | +## Observability & Evidence |
| 67 | +- **Structured logs** — Key-value logs parsable by machines (include correlation/trace IDs). |
| 68 | +- **Metrics** — Numeric time-series (counters, gauges, histograms) for SLOs and budgets. |
| 69 | +- **Tracing** — End-to-end spans for a request; proves where time/errors occur. |
| 70 | +- **Correlation ID** — ID that ties logs/metrics/traces for a single workflow. |
| 71 | +- **Evidence artifact** — Saved proof: log snippet, screenshot, export, API transcript validating the expected result. |
| 72 | + |
| 73 | +--- |
| 74 | + |
| 75 | +## Security & Privacy |
| 76 | +- **Authentication vs Authorization** — Who you are vs what you may do. |
| 77 | +- **Least privilege** — Grant minimal permissions needed for a task. |
| 78 | +- **Input validation & encoding** — Validate on trust boundary; encode at sink (HTML/SQL/OS). |
| 79 | +- **Secret handling** — No secrets in logs; use vaults/kms; rotate regularly. |
| 80 | +- **PII / Data minimization** — Store the least personal data necessary; mask in lower environments. |
| 81 | +- **Audit trail** — Tamper-evident record of who did what, when, and why. |
| 82 | + |
| 83 | +--- |
| 84 | + |
| 85 | +## Accessibility (WCAG) |
| 86 | +- **POUR** — Perceivable, Operable, Understandable, Robust (WCAG principles). |
| 87 | +- **Keyboard accessibility** — Full operation without a mouse (focus order, visible focus). |
| 88 | +- **ARIA semantics** — Roles/states to aid assistive tech (use sparingly and correctly). |
| 89 | +- **Color contrast** — Sufficient luminance difference for text/UI elements. |
| 90 | +- **Alt text & labels** — Programmatic names for images, inputs, controls. |
| 91 | + |
| 92 | +--- |
| 93 | + |
| 94 | +## AI-Augmented Test Design (Optional) |
| 95 | +- **Grounding (explicit-only)** — Use *only* provided requirements/artifacts as sources; no outside guessing. |
| 96 | +- **Schema discipline** — Outputs adhere to a specified JSON/CSV/Markdown schema. |
| 97 | +- **Deduplication** — Avoid semantic or structural duplicates in generated scenarios/cases. |
| 98 | +- **Human-in-the-loop** — Reviewer notes → regenerate loop to refine outputs. |
| 99 | +- **Hallucination** — Fabricated content not present in sources; must be prevented by guardrails. |
| 100 | + |
| 101 | +--- |
| 102 | + |
| 103 | +## Review Gates & Quality Signals |
| 104 | +- **Gate** — A checklist or automated criterion that must pass before merging/releasing. |
| 105 | +- **Defect leakage** — Escaped defects per release; track ↓ as design quality ↑. |
| 106 | +- **Case effectiveness** — Share of defects caught by designed tests vs ad-hoc discovery. |
| 107 | +- **Coverage diff** — Change in scenario/case coverage between versions (what’s new or removed). |
| 108 | + |
| 109 | +--- |
| 110 | + |
| 111 | +## Tiny Examples (copy-pasteable) |
| 112 | + |
| 113 | +- **Boundary set (inclusive 0–100):** `-1, 0, 1, 99, 100, 101` |
| 114 | +- **Idempotency test:** Send POST `/payments` with `Idempotency-Key: K1` twice → **same** result; with `K2` → new payment. |
| 115 | +- **Retry/backoff:** `100ms, 200ms, 400ms (+ jitter)`; abort after N attempts or on non-retryable errors. |
| 116 | +- **Error taxonomy → UX:** `VALIDATION_ERROR.amount.invalid` ⇒ “Enter a whole number between 0 and 10,000.” |
| 117 | + |
| 118 | +--- |
| 119 | + |
| 120 | +## See Also |
| 121 | +- `10-fundamentals/*` for deeper theory |
| 122 | +- `20-techniques/*` for playbooks |
| 123 | +- `60-checklists/*` for gates |
| 124 | +- `65-review-gates-metrics-traceability/*` for metrics & traceability |
0 commit comments