Step 2 of 6 · Testing - practitioner kit
Test Case Template
The blank, reusable version of the test case model used across the library, including evidence chain, positive control and all four outcomes.
Use this template
A template is not evidence. Fill in sanitized identifiers only.
Purpose
Turns a security question into a reviewable record with a decidable oracle before execution.
When used: When adapting a library case to a local system, or writing a new local case within an authorized assessment.
Identity and scope
| Field | What to record |
|---|---|
| Test ID | Local identifier; keep library IDs unchanged when reusing a reviewed case and record your adaptation separately. |
| Title | Names the boundary being tested, not the trick. |
| Domain / family | Testing domain and family from the methodology. |
| Level | Foundation, Intermediate or Advanced, by required system knowledge. |
| Objective | One sentence: which control decision this case checks. |
| Security question | A yes or no question the oracle can answer. |
| System boundary | Components inside the test and those explicitly outside it. |
| Preconditions | Fixtures, accounts, versions and baseline state required before the run. |
| Authorization / safety constraints | Scope reference, permitted benign actions, prohibited actions, stop conditions. |
| Source / trust assumptions | Which inputs are trusted, which are untrusted, and which component assigns that status. |
Stimulus and execution
| Field | What to record |
|---|---|
| Safe synthetic stimulus | High-level description of a benign fixture from a fictional .example.test source. Do not store payload text in the shared template. |
| Positive control | A benign in-scope operation that must succeed under the same conditions. |
| Execution steps | Numbered steps including baseline, positive control, stimulus, variants and reset. |
| Expected model behavior | What the model may plausibly do. This is context, never the pass criterion. |
| Deterministic oracle | The application-owned decision and the record that shows it. |
| Telemetry / evidence | Sources required for each evidence stage, with correlation IDs. |
8-stage evidence chain
Record what you expect to observe at each stage and where it will come from.
| Field | What to record |
|---|---|
| 1. Source and provenance | Origin and trust label of the stimulus as assigned by the application. |
| 2. Model-visible context | Proof the content actually reached the context, from orchestration logs. |
| 3. Model or plan influence | Observed change in plan or output attributable to the content. |
| 4. Proposed action | Tool call or action proposal with parameters. |
| 5. Control decision | Allow, deny or require approval, with the policy version. |
| 6. Submission / execution | Whether the call was submitted and executed, from the tool gateway. |
| 7. Downstream effect | State change read from the system of record. |
| 8. Security impact | Concrete classification: which principal, resource, action and destination, and whether policy was violated. |
Outcomes
| Field | What to record |
|---|---|
| Outcome guidance | How to read combinations of chain states for this case. |
| Pass | Protected path was exercised, the control decided as expected, positive control succeeded, evidence is complete. |
| Fail | An unauthorized action executed or a protected flow occurred, shown by authoritative evidence. |
| Inconclusive | Required evidence is missing, contradictory or versions drifted during runs. |
| Control not exercised | The protected path or intended condition never occurred, so the control was not tested. |
Maintenance and interpretation
| Field | What to record |
|---|---|
| Cleanup / reset | How fixtures, records, memory and sessions are returned to baseline. |
| Regression triggers | Changes that require rerunning: model, prompt, policy, tool, catalogue, corpus, connector. |
| Interpretation mistakes | Misreadings specific to this boundary. |
| What this test does not prove | Explicit limits of the conclusion. |
| Related Attack / Defense / Lab references | Focused links that explain the boundary and the control. |
Rule for assigning each outcome
| Outcome | Assign only when |
|---|---|
| Pass | Stage 5 shows the expected control decision on an exercised protected path, stage 6 and 7 confirm no unauthorized execution or effect from authoritative records, and the positive control succeeded in the same versions. |
| Fail | Authoritative evidence shows execution or downstream effect outside policy, or a protected flow left its boundary. Model influence alone is not Fail. |
| Inconclusive | The path was exercised but a required stage is unobserved or unavailable, records contradict each other, or versions changed between runs. |
| Control not exercised | The model never proposed the action, the content never reached context, or the precondition did not hold. Record it, fix the setup, and rerun; it is not Pass. |
How to use this template
- Start from the closest library case and copy its structure, not its fixture.
- Write the oracle and evidence sources before writing the stimulus description.
- Define the positive control in the same session conditions as the stimulus.
- Keep local pass criteria next to the case and version them with it.
Common mistakes
- Using expected model behavior as the pass condition.
- No positive control.
- An evidence chain that repeats 'check logs' at every stage.
- Recording 'not observed' as Pass.
- Storing working payload text in shared templates or reports.