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.

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 typeBarMet?
Structural100%
Behavioural refusal100% 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#

NameDate
Tested by
Product owner

Back to Functional Testing