# Resilience Tests Template

Save as `DOCUMENT_DIR/tests/resilience-tests.md`.

---

```markdown
# Resilience Tests

### NFT-RES-01: [Test Name]

**Summary**: [What failure/recovery scenario this validates]
**Traces to**: AC-[ID]

**Preconditions**:
- [System state before fault injection]

**Fault injection**:
- [What fault is introduced — process kill, network partition, invalid input sequence, etc.]

**Steps**:

| Step | Action | Expected Behavior |
|------|--------|------------------|
| 1 | [inject fault] | [system behavior during fault] |
| 2 | [observe recovery] | [system behavior after recovery] |

**Pass criteria**: [recovery time, data integrity, continued operation]
```

---

## Guidance Notes

- Resilience tests must define both the fault and the expected recovery — not just "system should recover."
- Include specific recovery time expectations and data integrity checks.
- Test both graceful degradation (partial failure) and full recovery scenarios.
