Governance di test e convalida

PayCal tratta la convalida automatizzata come un contratto di rilascio, non come un controllo di qualità opzionale.

Metadati di verifica

  • Route: /transparency/testing/
  • Last verified:
  • Next review due:
  • Current suite inventory: 1.212 test elencati in 118 file.

Stack di convalida del blocco del rilascio

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)

Quando un cancello si guasta, il lavoro di rilascio viene sospeso finché il guasto non viene risolto e il cancello interessato viene rieseguito.

Topologia di test attuale

Categoria Suite File Focus sulla copertura
Unità 60 Comportamento di domini e servizi, invarianti di sicurezza, logica di supporto
Integrazione 49 Flussi controller/API, percorsi di autenticazione, ciclo di vita crittografato, protezioni runtime
Contratto 7 Contratti di confine e compatibilità tra componenti critici
Manuale 2 Esercitazioni guidate dall'operatore e verifica ambientale mirata

Recente espansione dei test di sicurezza

  • Ciclo di vita del token di capacità e copertura del rifiuto di mancata corrispondenza.
  • CSP segnala la copertura degli endpoint di inserimento per varianti di payload flat e nidificate.
  • Copertura del disinfettante Guardian ancorata alla configurazione di runtime e ai controlli del selettore bloccato.
  • Regressioni di rifiuto della mutazione amministrativa per token di funzionalità one-shot mancanti/non validi.

Politica di tracciabilità pubblica

Quando il contenuto del rilascio cambia comportamento, pubblichiamo aggiornamenti in entrambi:

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

Ciò mantiene sincronizzati i dati di attuazione e gli impegni pubblici.

For npm lockfile policy and CI gate mapping details, see /transparency/dependency-ci/.