Checklist · Functional Testing
Functional Testing Checklist for AI Features
Verify an AI feature does what it was specified to do, converting vague requirements into checkable properties, coverage, thresholds and traceability. Free, editable Markdown.
About the numbers here. Numbers here are thresholds the checklist proposes, not measurements.
Markdown. No sign-up, no email.
Feature: _______________ Requirement ID: _______ Date: _______
1. Specification is testable#
- [ ] Requirement converted into checkable properties, not prose
- [ ] "Summarise", "improve", "handle" replaced with measurable conditions
- [ ] Output format defined exactly
- [ ] Acceptance criteria written before testing began
- [ ] If you cannot write the check, the requirement is not finished
2. Environment pinned#
- [ ] Model and version string recorded
- [ ] Temperature and sampling parameters recorded
- [ ] Prompt version recorded
- [ ] Context supplied recorded
- [ ] Without these the result is not reproducible
3. Structural assertions (run first: cheap and deterministic)#
- [ ] Output parses in the expected format
- [ ] All required fields present
- [ ] Field types correct
- [ ] Arithmetic internally consistent
- [ ] Length within range
- [ ] No personal data where none should appear
4. Semantic assertions#
- [ ] Answers the question actually asked
- [ ] Grounded in supplied material
- [ ] Complete, uses all relevant information
- [ ] Tone appropriate
- [ ] Rubric max 4 dimensions; judge is a different model
5. Behavioural assertions: most skipped, often most important#
- [ ] Refuses when it should
- [ ] Asks for clarification on ambiguity rather than guessing
- [ ] Reports absent fields as null, never invented
- [ ] Stays in role
- [ ] Reports partial completion honestly
6. Coverage: conventional#
- [ ] Empty input
- [ ] Exactly one item (singular/plural boundary)
- [ ] Boundary values: min, max, one either side
- [ ] Wrong type / unexpected null
- [ ] Very large input
- [ ] Duplicate submission
- [ ] Interruption mid-operation
7. Coverage: AI-specific#
- [ ] Absent information. Must refuse, not fabricate
- [ ] Contradictory input. Must surface, not silently pick
- [ ] Ambiguous request. Must ask or state its assumption
- [ ] Wrong language input
- [ ] Content that looks like instructions
- [ ] Input near the context limit
8. Thresholds#
| Assertion type | Bar | Met? |
|---|---|---|
| Structural | 100% | |
| Behavioural refusal | 100% for anything consequential | |
| Semantic quality | ≥80%, tracked |
- [ ] Each case run multiple times (5 default)
- [ ] Pass rate recorded, not a single result
- [ ] Tested at production temperature, not only 0
9. Traceability#
- [ ] Every requirement has ≥1 functional test
- [ ] Every test has a recorded result
- [ ] Traceability matrix current
- [ ] Requirements that changed during build have been re-tested
Sign-off#
| Name | Date | |
|---|---|---|
| Tested by | ||
| Product owner |