Gouvernance des tests et de la validation

PayCal traite la validation automatisée comme un contrat de version et non comme un contrôle de qualité facultatif.

Métadonnées de vérification

  • Route: /transparency/testing/
  • Last verified:
  • Next review due:
  • Current suite inventory: 1 212 tests répertoriés dans 118 fichiers.

Pile de validation de blocage de version

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)

Lorsqu'une porte tombe en panne, le travail de libération est interrompu jusqu'à ce que la défaillance soit corrigée et que la porte concernée soit réexécutée.

Topologie de test actuelle

Catégorie de suite Fichiers Objectif de la couverture
Unité 60 Comportement des domaines et des services, invariants de sécurité, logique d'assistance
Intégration 49 Flux de contrôleur/API, chemins d'authentification, cycle de vie chiffré, protections d'exécution
Contrat 7 Contrats de limites et de compatibilité entre les composants critiques
Manuel 2 Exercices dirigés par l'opérateur et vérification ciblée de l'environnement

Extension récente des tests de sécurité

  • Cycle de vie des jetons de capacité et couverture en cas de non-concordance.
  • Couverture des points de terminaison d'ingestion de rapport CSP pour les variantes de charge utile plates et imbriquées.
  • Couverture du désinfectant Guardian ancrée à la configuration d’exécution et aux contrôles de sélecteur bloqué.
  • Régressions de refus de mutation par l'administrateur pour les jetons de capacité ponctuelle manquants/invalides.

Politique publique de traçabilité

Lorsque le comportement du contenu d'une version change, nous publions des mises à jour dans les deux cas :

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

Cela permet de synchroniser les preuves de mise en œuvre et les engagements publics.

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