Files
acdl/skills/testing.md
T
Jon Chery 2c08c778a9 docs(P4): Atelier skills mapping — 9 skill files + index + BA.A extension (REQ-221, REQ-222)
REQ-221: skills/ directory with 9 Atelier-derived skill files mapped to the
BA.A citizen-developer catalog: api, security, data, testing, observability,
errors, devops, infrastructure-as-code, compliance. Each names the Atelier
source path, distills first-principles to the citizen-dev-relevant subset,
links to agent-checklist triggers, maps to BA.A 5-skill catalog.

REQ-222: docs/skills.md index (9-skill table, Atelier provenance, 8 core
principles C1-C8, consumption instructions, reference-only domains, excluded
domains). PROJECT.md BA.A decision extended with the Atelier-derived skill
catalog reference.

---ci---
project: acdl
phase: 4
milestone: v1.18
status: execute
requirements:
  covered: [REQ-221, REQ-222]
  partial: []
---/ci---
2026-08-06 15:11:12 +00:00

1.6 KiB

Skill: Testing

Atelier source: domains/testing/ (first-principles + pyramid, fixtures) Core principles: C1 Correctness, C5 Reversibility BA.A mapping: UAT is the citizen developer's RACI responsibility Consumer: read this before submitting for UAT.

First Principles (citizen-developer-relevant subset)

  • Tests are independent. Order doesn't matter; one test's setup doesn't break another's.
  • Tests are deterministic. No Date.now(), no random(), no network calls in unit tests.
  • Edge cases are covered. Empty, single, max, invalid — not just the happy path.
  • A failing test names the problem. The assertion message explains what failed and why, not just "assertion failed".
  • The pyramid: unit → integration → e2e. Most tests are unit; few are e2e; the middle is integration. Don't invert the pyramid.

Agent-Checklist Triggers (§ Testing)

  • Tests are independent (order doesn't matter)
  • Tests are deterministic (no Date.now(), no random())
  • Edge cases are covered (empty, single, max, invalid)
  • A failing test names the problem specifically

How Nova Uses This

Per the RACI matrix (docs/raci.md), the Citizen Developer is Responsible for User Acceptance Testing (UAT). The platform provides the QA checks (policy, confidence, schema); you provide the UAT. The testing skill ensures your UAT meets production-grade standards. The W3.E per-env mandatory table requires validation.e2eSuite + validation.loadTest for qa environment submissions — the submission-readiness gate enforces this.