Aller au contenu principal

Stratégie QA & Tests

La qualité n'est pas un accident. Nous adhérons à une stratégie de test stricte pour prévenir les régressions dans ce projet EIP.

La Pyramide de Tests

  1. Analyse Statique (Automatisé)

    • Outils : SonarQube & ESLint.
    • Quand : À chaque push de commit (CI).
    • Vérifications : Code smell, Complexité Cognitive, Bugs, Hotspots de Sécurité.
  2. Tests Unitaires (Backend)

    • Outil : Japa (Testeur natif AdonisJS).
    • Portée : Services et Helpers avec logique complexe.
    • Commande : node ace test
  3. Tests de Bout-en-Bout (E2E)

    • Portée : Flux Utilisateurs Critiques (Connexion -> Voir Caméra -> Recevoir Alerte).
    • Méthode : Vérification manuelle en utilisant l'Environnement de Staging.

Standards de Code

Linting

Nous utilisons eslint et prettier pour renforcer le style.

  • Règle : Pas de any en TypeScript.
  • Règle : Les composants doivent faire moins de 200 lignes.

Commits

Suivez les Conventional Commits pour un historique propre :

  • feat: add camera support
  • fix: resolve websocket connection drop
  • docs: update architecture diagram

Intégration Continue (CI)

Notre workflow GitHub Actions impose :

  1. Build Pass : Le code doit compiler.
  2. Lint Pass : Pas d'erreurs de formatage.
  3. Sonar Quality Gate :
    • 0 Bugs Critiques.
    • < 3% Duplication.
    • Maintenabilité grade A.