Test- en validatiebeheer

PayCal beschouwt geautomatiseerde validatie als een vrijgavecontract en niet als een optionele kwaliteitscontrole.

Verificatie-metagegevens

CI/CD Relationship

The testing stack described here is one layer of the broader CI/CD Tooling and Release Governance model, which also covers local hooks, public promotion, release-ledger deployment state, and production receipts.

Release-blokkerende validatiestack

For release hygiene sweeps (including /mis workflow), the following gates are run and treated as blockers:

  • ./vendor/bin/phpunit -c phpunit.xml (backend unit/integration/contract suite)
  • cd html && composer run phpstan:strict (PHPStan Level 9 strict)
  • cd .. && npm run test:js (JS lint + security sink checks)
  • cd .. && npm run test:a11y:all (PHPUnit a11y + Playwright + strict WCAG + contrast + Lightpanda)

Wanneer een poort defect raakt, wordt het vrijgavewerk gepauzeerd totdat de storing is verholpen en de betreffende poort opnieuw wordt gestart.

Huidige testtopologie

Suitecategorie Bestanden Dekkingsfocus
Eenheid 60 Domein- en servicegedrag, beveiligingsinvarianten, helperlogica
Integratie 49 Controller-/API-stromen, authenticatiepaden, gecodeerde levenscyclus, runtime-beveiligingen
Contract 7 Grens- en compatibiliteitscontracten voor kritieke componenten
Handmatig 2 Door een operator aangestuurde oefeningen en gerichte omgevingsverificatie

Recente uitbreiding van de beveiligingstest

  • Levenscyclus van capaciteitstokens en dekking van mismatch-denial.
  • CSP rapporteert opname-eindpuntdekking voor platte en geneste payloadvarianten.
  • De dekking van Guardian-ontsmettingsmiddel is verankerd in runtimeconfiguratie en besturingselementen voor geblokkeerde selecties.
  • Regressies voor het weigeren van mutaties door beheerders voor ontbrekende/ongeldige eenmalige capaciteitstokens.

Openbaar traceerbaarheidsbeleid

Wanneer release-inhoud het gedrag verandert, publiceren we updates in beide:

  • docs/v1.changelog.md (technical release detail)
  • Transparency pages under /transparency/ (public explanation)

Hierdoor blijven implementatiebewijs en publieke toezeggingen gesynchroniseerd.

For npm lockfile policy and CI gate mapping details, see /transparency/dependency-ci/. For the complete CI/CD operating model, see /transparency/ci-cd-tooling-2026-06/.