Plan de Tests Global
La solution de cashback nouvelle génération
INTRODUCTION ET OBJECTIFS
1.1 Présentation du Document
Ce document constitue le plan de tests global de la plateforme REWAPP. Il définit la stratégie de tests, les méthodologies employées, la couverture attendue et les critères d'acceptation pour garantir la qualité de l'ensemble de l'écosystème.
IMPORTANCE DE LA QUALITÉ
La qualité est un pilier fondamental de REWAPP, compte tenu de la nature critique des fonctionnalités : transactions financières, gestion de points de fidélité et données bancaires sensibles.
1.2 Objectifs de Qualité
Objectifs Qualité REWAPP
| Objectif | Description | Cible |
|---|---|---|
| Fiabilité | Garantir le bon fonctionnement de toutes les fonctionnalités | < 0.1% d'erreurs |
| Performance | Assurer des temps de réponse optimaux | API < 200ms, UI < 3s |
| Sécurité | Protéger les données utilisateurs et transactions | 0 vulnérabilité critique |
| Compatibilité | Supporter les plateformes cibles | iOS 14+, Android 10+ |
| Utilisabilité | Offrir une expérience utilisateur fluide | Taux complétion > 95% |
1.3 Périmètre des Tests
Les tests couvrent l'ensemble de l'écosystème REWAPP :
1.4 Références Documentaires
- 1.2 Cahier des Charges Fonctionnel : Exigences fonctionnelles de référence
- 1.4 Règles Métier de Fidélité : Règles de calcul des points et paliers
- 4.5 Stack Technique Détaillé : Technologies et outils de test
- 6.1 Document de Sécurité : Exigences de sécurité à valider
- 7.1 Documentation API : Spécifications des endpoints à tester
STRATÉGIE DE TESTS
2.1 Approche Globale - Pyramide des Tests
La stratégie de tests REWAPP repose sur une approche pyramidale multi-niveaux avec automatisation maximale des tests répétitifs et tests manuels pour les scénarios exploratoires et UX.
Pyramide des Tests
| Niveau | Type | Couverture | Automatisation |
|---|---|---|---|
| Base | Tests Unitaires | 80%+ du code |
100% automatisés |
| Intermédiaire | Tests d'Intégration | 60%+ des endpoints |
100% automatisés |
| Supérieur | Tests Système (E2E) | Scénarios critiques | 80% automatisés |
| Sommet | Tests Acceptation | Validation métier | 30% automatisés |
2.2 Principes Directeurs
-
Shift-Left Testing
Détection précoce des défauts dès le développement
-
Test Driven Development (TDD)
Tests écrits avant le code pour les composants critiques
-
Continuous Testing
Intégration des tests dans le pipeline CI/CD
-
Risk-Based Testing
Priorisation des tests selon le niveau de risque
-
Data-Driven Testing
Utilisation de jeux de données variés et réalistes
2.3 Critères d'Entrée et de Sortie
2.3.1 Critères d'Entrée (Test Readiness)
- Code source disponible et documenté
- Environnement de test configuré et accessible
- Données de test préparées
- Critères d'acceptation définis
- Dépendances externes mockées ou disponibles
2.3.2 Critères de Sortie (Done Definition)
DEFINITION OF DONE
- 100% des tests planifiés exécutés
- 95% des tests passent avec succès
- 0 défaut bloquant (P1) ouvert
- < 3 défauts majeurs (P2) ouverts
- Couverture de code ≥ 80%
- Documentation de test à jour
TYPES DE TESTS ET MÉTHODOLOGIES
3.1 Tests Unitaires
Objectif : Valider le comportement individuel de chaque fonction, méthode et composant isolément.
Outils de Tests Unitaires
| Technologie | Outil | Version |
|---|---|---|
| JavaScript/TypeScript | Jest |
29.x |
| Angular Components | Angular Testing |
14.x |
| NestJS Services | Jest + @nestjs/testing |
29.x |
Métriques Cibles
Bonnes Pratiques
- Pattern AAA : Arrange, Act, Assert
- Isolation complète : Mock des dépendances externes
- Nommage explicite : describe/it décrivant le comportement attendu
- Un test = un comportement testé
3.2 Tests d'Intégration
Objectif : Valider l'interaction correcte entre les composants et services du système.
Outils de Tests d'Intégration
| Périmètre | Outil | Usage |
|---|---|---|
| API Backend | Supertest + Jest |
Tests HTTP endpoints |
| Base de données | Jest + Prisma |
Tests avec DB réelle (conteneur) |
| Services externes | nock / msw |
Mock des API tierces |
Scénarios d'Intégration Prioritaires
-
1
Inscription utilisateur
Création compte → Envoi email de confirmation
-
2
Liaison carte bancaire
Appel API Budget Insight → Stockage token
-
3
Transaction détectée
Calcul points → Crédit compte utilisateur
-
4
Génération QR code
Scan partenaire → Débit points → Notification
-
5
Demande virement
Vérification solde → Initiation SEPA → Mise à jour statut
3.3 Tests End-to-End (E2E)
Objectif : Valider les parcours utilisateurs complets de bout en bout dans des conditions réelles.
Outils E2E
| Plateforme | Outil | Version |
|---|---|---|
| Web (Dashboards, Vitrine) | Cypress |
13.x |
| Mobile iOS/Android | Detox |
20.x |
| API (scénarios complets) | Postman/Newman |
10.x |
Scénarios E2E Critiques
| ID | Scénario | Priorité |
|---|---|---|
E2E-001 |
Inscription complète + liaison carte | Critique |
E2E-002 |
Achat → Détection → Crédit points | Critique |
E2E-003 |
Génération QR code → Scan → Débit | Critique |
E2E-004 |
Demande virement bancaire | Critique |
E2E-005 |
Inscription partenaire → Validation admin | Élevée |
E2E-006 |
Configuration taux cashback partenaire | Élevée |
E2E-007 |
Consultation statistiques partenaire | Moyenne |
E2E-008 |
Gestion utilisateur par admin | Moyenne |
3.4 Tests de Performance
Objectif : Valider les temps de réponse, la capacité de charge et la stabilité sous stress.
Outils de Performance
| Type | Outil | Version |
|---|---|---|
| Load Testing | k6 |
0.50.x |
| Stress Testing | k6 |
0.50.x |
| API Performance | Artillery |
2.x |
| Frontend Performance | Lighthouse |
11.x |
Scénarios de Performance
| Type | Description | Métriques Cibles |
|---|---|---|
| Test de charge | 1000 utilisateurs simultanés | Temps < 200ms, 0 erreur |
| Test de stress | Montée progressive jusqu'à 5000 utilisateurs | Identifier point de rupture |
| Test d'endurance | Charge constante 24h | Stabilité mémoire, pas de dégradation |
| Test de pic | Simulation flash sale (pic soudain) | Temps < 500ms sous pic |
Seuils de Performance
| Métrique | Seuil Acceptable | Seuil Optimal |
|---|---|---|
| Temps réponse API (P95) | < 500ms | < 200ms |
| Temps réponse API (P99) | < 1000ms | < 400ms |
| Throughput API | > 500 req/s | > 1000 req/s |
| Temps chargement page | < 3s | < 1.5s |
| LCP (Largest Contentful Paint) | < 2.5s | < 1.5s |
| FID (First Input Delay) | < 100ms | < 50ms |
3.5 Tests de Sécurité
Objectif : Identifier et corriger les vulnérabilités de sécurité avant la mise en production.
Outils de Sécurité
| Type | Outil | Fréquence |
|---|---|---|
| SAST (analyse statique) | SonarQube, ESLint security |
Chaque commit |
| DAST (analyse dynamique) | OWASP ZAP |
Hebdomadaire |
| Scan dépendances | npm audit, Snyk |
Chaque build |
| Pentest manuel | Prestataire externe | Annuel |
Scénarios de Sécurité Prioritaires
| ID | Scénario | Priorité | Risque |
|---|---|---|---|
SEC-001 |
Injection SQL sur tous les endpoints | Critique | Vol de données |
SEC-002 |
Tentatives XSS sur formulaires | Critique | Compromission compte |
SEC-003 |
Bruteforce authentification | Critique | Accès non autorisé |
SEC-004 |
Manipulation QR code (replay, falsification) | Critique | Fraude financière |
SEC-005 |
IDOR (accès données autres utilisateurs) | Critique | Fuite de données |
SEC-006 |
Bypass rate limiting | Élevé | DDoS applicatif |
SEC-007 |
Escalation de privilèges | Critique | Accès admin non autorisé |
SEC-008 |
Fuite de tokens JWT | Critique | Usurpation d'identité |
3.6 Tests d'Acceptation Utilisateur (UAT)
Objectif : Valider que le système répond aux besoins métier et aux attentes des utilisateurs finaux.
Méthodologie
- Tests manuels par l'équipe produit et utilisateurs pilotes
- Scénarios basés sur les user stories du cahier des charges
- Feedback qualitatif sur l'expérience utilisateur
- Validation des règles métier avec données réelles
RÈGLES MÉTIER CRITIQUES À VALIDER
- 1 point = 0,10€ (ratio de base vérifié)
- Cashback bancaire : 10 points = 0,95€ (-5%)
- Cashback commerçant : 10 points = 1,05€ (+5%)
- QR code : validité 60 secondes, usage UNIQUE
- Seuil minimum virement : 100 points (= 9,50€)
- Délai virement : 2-3 semaines maximum
- Points : expiration 12 mois, méthode FIFO
- Paliers : calcul sur 12 mois glissants par commerçant
COUVERTURE ET PRIORITÉS
4.1 Classification par Priorité
Niveaux de Priorité des Défauts
| Priorité | Niveau Risque | Description | Exemples |
|---|---|---|---|
| P1 - Critique | Bloquant | Fonctionnalité essentielle non fonctionnelle, risque financier ou sécuritaire | Paiement KO, fuite données, QR code défaillant |
| P2 - Majeur | Élevé | Fonctionnalité dégradée, impact utilisateur significatif | Calcul points incorrect, notification KO |
| P3 - Mineur | Moyen | Fonctionnalité secondaire impactée, contournement possible | Erreur d'affichage, tri incorrect |
| P4 - Cosmétique | Faible | Défaut visuel ou textuel sans impact fonctionnel | Faute d'orthographe, alignement CSS |
4.2 Matrice de Couverture par Fonctionnalité
4.2.1 Application Mobile - Fonctionnalités Critiques
Couverture App Mobile
| Fonctionnalité | Unitaires | Intégration | E2E | Sécurité |
|---|---|---|---|---|
| Inscription / Authentification | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire |
| Liaison carte bancaire | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire |
| Génération QR code | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire |
| Consultation solde | ✓ Obligatoire | ✓ Obligatoire | ✓ Recommandé | ✓ Recommandé |
| Historique transactions | ✓ Obligatoire | ✓ Recommandé | ✓ Recommandé | ✓ Recommandé |
| Demande virement | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire |
| Notifications push | ✓ Recommandé | ✓ Obligatoire | ✓ Recommandé | ✓ Recommandé |
4.2.2 Dashboard Partenaire - Fonctionnalités Critiques
Couverture Dashboard Partenaire
| Fonctionnalité | Unitaires | Intégration | E2E | Sécurité |
|---|---|---|---|---|
| Inscription partenaire | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire |
| Scan QR code | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire |
| Configuration cashback | ✓ Obligatoire | ✓ Obligatoire | ✓ Recommandé | ✓ Recommandé |
| Statistiques et reporting | ✓ Recommandé | ✓ Recommandé | ✓ Recommandé | ✓ Recommandé |
| Gestion abonnement premium | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire |
4.2.3 Dashboard Admin - Fonctionnalités Critiques
Couverture Dashboard Admin
| Fonctionnalité | Unitaires | Intégration | E2E | Sécurité |
|---|---|---|---|---|
| Authentification 2FA | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire |
| Validation partenaires | ✓ Obligatoire | ✓ Obligatoire | ✓ Obligatoire | ✓ Recommandé |
| Gestion utilisateurs | ✓ Obligatoire | ✓ Obligatoire | ✓ Recommandé | ✓ Obligatoire |
| Gestion transactions | ✓ Obligatoire | ✓ Obligatoire | ✓ Recommandé | ✓ Obligatoire |
| Reporting et KPIs | ✓ Recommandé | ✓ Recommandé | ✓ Recommandé | ✓ Recommandé |
| Modération et support | ✓ Obligatoire | ✓ Recommandé | ✓ Recommandé | ✓ Recommandé |
4.2.4 API Backend - Endpoints Critiques
Couverture API Backend
| Endpoint | Unitaires | Intégration | Perf | Sécurité |
|---|---|---|---|---|
POST /auth/register |
100% | 100% | ✓ Obligatoire | ✓ Obligatoire |
POST /auth/login |
100% | 100% | ✓ Obligatoire | ✓ Obligatoire |
POST /cards/link |
100% | 100% | ✓ Recommandé | ✓ Obligatoire |
POST /qrcode/generate |
100% | 100% | ✓ Obligatoire | ✓ Obligatoire |
POST /qrcode/scan |
100% | 100% | ✓ Obligatoire | ✓ Obligatoire |
POST /withdrawals/request |
100% | 100% | ✓ Recommandé | ✓ Obligatoire |
GET /users/:id/balance |
100% | 100% | ✓ Obligatoire | ✓ Obligatoire |
GET /transactions |
100% | 100% | ✓ Obligatoire | ✓ Recommandé |
PLAN DE TESTS PAR COMPOSANTE
5.1 Application Mobile
5.1.1 Tests d'Inscription et Authentification
Cas de Test - Inscription/Auth
| Cas de Test | Priorité | Actions | Résultat Attendu |
|---|---|---|---|
TC-M001 Inscription réussie |
Critique | Saisir email, mdp valide, accepter CGU | Compte créé, email de confirmation envoyé |
TC-M002 Email existant |
Critique | Saisir email déjà utilisé | Erreur "Email déjà utilisé" |
TC-M003 Mot de passe faible |
Majeur | Saisir mdp < 8 caractères | Erreur validation, critères affichés |
TC-M004 Connexion réussie |
Critique | Saisir credentials valides | Connexion, redirection dashboard |
TC-M005 Échec 5 tentatives |
Critique | 5 tentatives avec mdp incorrect | Compte bloqué temporairement 1h |
TC-M006 Biométrie |
Majeur | Authentification FaceID/TouchID | Connexion rapide sans mot de passe |
TC-M007 Reset mot de passe |
Majeur | Demander reset via email | Email reçu avec lien de réinitialisation |
5.1.2 Tests de Liaison Carte Bancaire
Cas de Test - Liaison Carte
| Cas de Test | Priorité | Actions | Résultat Attendu |
|---|---|---|---|
TC-M010 Liaison réussie |
Critique | Parcours Budget Insight complet | Carte liée, token stocké, confirmation affichée |
TC-M011 Échec connexion bancaire |
Majeur | Erreur lors de l'auth bancaire | Message d'erreur explicatif, possibilité de réessayer |
TC-M012 Carte déjà existante |
Majeur | Tenter liaison nouvelle carte | Ancienne carte remplacée après confirmation |
TC-M013 Annulation liaison |
Mineur | Annuler avant la fin | Retour à l'écran précédent, aucune carte liée |
5.1.3 Tests de Génération QR Code
Cas de Test - QR Code
| Cas de Test | Priorité | Actions | Résultat Attendu |
|---|---|---|---|
TC-M020 Génération réussie |
Critique | Saisir 100 points, générer QR | QR affiché, compteur 60s démarre, points bloqués |
TC-M021 Solde insuffisant |
Critique | Saisir plus de points que disponibles | Erreur "Solde insuffisant" |
TC-M022 Expiration QR |
Critique | Attendre 60 secondes | QR invalide, points débloqués automatiquement |
TC-M023 Annulation avant scan |
Majeur | Fermer écran QR avant scan | Points débloqués, QR invalidé |
TC-M024 Minimum 10 pts |
Majeur | Saisir 10 points | QR généré, valeur = 1,05€ |
TC-M025 Rate limit |
Majeur | 10 QR générés en 5 min, tenter 11ème | Erreur rate limit, attendre 5 minutes |
5.1.4 Tests de Demande de Virement
Cas de Test - Virement
| Cas de Test | Priorité | Actions | Résultat Attendu |
|---|---|---|---|
TC-M030 Virement réussi |
Critique | Demander conversion 500 points | Demande créée, 500 pts bloqués, montant = 47,50€ |
TC-M031 Seuil non atteint |
Critique | Tenter demande < 100 points | Erreur "Minimum 100 points requis" |
TC-M032 Annulation demande |
Majeur | Annuler demande "En attente" | Points débloqués, demande annulée |
TC-M033 Annulation impossible |
Majeur | Tenter annuler demande "En cours" | Message "Annulation impossible" |
TC-M034 Conversion partielle |
Majeur | Demander 500/1000 points | 500 pts bloqués, 500 pts disponibles restants |
5.2 Dashboard Partenaire
5.2.1 Tests de Scan QR Code
Cas de Test - Scan Partenaire
| Cas de Test | Priorité | Actions | Résultat Attendu |
|---|---|---|---|
TC-P001 Scan QR valide |
Critique | Scanner QR valide affiché par client | Débit instantané, confirmation sonore et visuelle |
TC-P002 Scan QR expiré |
Critique | Scanner QR généré > 60s | Erreur "QR code expiré" |
TC-P003 Scan QR déjà utilisé |
Critique | Rescanner le même QR | Erreur "QR code déjà utilisé" |
TC-P004 Scan QR falsifié |
Critique | Scanner QR avec signature invalide | Erreur "QR code invalide" |
TC-P005 Connexion instable |
Majeur | Scanner QR avec connexion faible | Retry automatique ou erreur réseau explicite |
5.2.2 Tests de Configuration Cashback
Cas de Test - Configuration
| Cas de Test | Priorité | Actions | Résultat Attendu |
|---|---|---|---|
TC-P010 Modifier taux |
Majeur | Changer taux de 4% à 5% | Nouveau taux appliqué immédiatement |
TC-P011 Taux invalide |
Mineur | Saisir taux > 100% ou négatif | Erreur validation |
TC-P012 Config paliers |
Majeur | Définir seuils Silver/Gold/Platine | Paliers enregistrés, recalcul J+1 |
5.3 Dashboard Admin
5.3.1 Tests d'Authentification Renforcée
Cas de Test - Auth Admin
| Cas de Test | Priorité | Actions | Résultat Attendu |
|---|---|---|---|
TC-A001 Connexion avec 2FA |
Critique | Login + code TOTP | Accès accordé au dashboard |
TC-A002 Code 2FA invalide |
Critique | Login + code TOTP incorrect | Accès refusé, tentative loggée |
TC-A003 Timeout session |
Majeur | Inactivité 4 heures | Déconnexion automatique |
TC-A004 Accès Super Admin |
Critique | Accès configuration système | Accès complet accordé |
TC-A005 Accès Support limité |
Majeur | Tenter suppression utilisateur | Accès refusé, action non autorisée |
5.3.2 Tests de Validation Partenaires
Cas de Test - Validation
| Cas de Test | Priorité | Actions | Résultat Attendu |
|---|---|---|---|
TC-A010 Valider partenaire |
Critique | Valider demande en attente | Partenaire activé, email confirmation envoyé |
TC-A011 Rejeter partenaire |
Majeur | Rejeter avec motif | Demande rejetée, email avec motif envoyé |
TC-A012 Suspendre partenaire |
Majeur | Suspendre le compte | Partenaire désactivé, scan QR impossible |
5.4 API Backend
5.4.1 Tests de Calcul de Points
Cas de Test - Calcul Points
| Cas de Test | Priorité | Actions | Résultat Attendu |
|---|---|---|---|
TC-API001 Crédit correct |
Critique | Transaction 100€, cashback 4% | 400 points crédités (100 × 4% × 10) |
TC-API002 Crédit avec palier |
Critique | Utilisateur Silver (+5%), 100€, 4% | 420 points (100 × 4% × 1.05 × 10) |
TC-API003 Arrondi inférieur |
Majeur | Transaction 23,47€, cashback 4% | 93 points (23,47 × 4% × 10 = 93,88 → 93) |
TC-API004 Expiration FIFO |
Critique | Lot 1 expire dans 30 jours | Notification envoyée |
TC-API005 Méthode FIFO |
Critique | Lot1: 200pts, Lot2: 300pts, dépenser 250 | Lot1 débité (200), Lot2 partiellement (50) |
5.4.2 Tests de Sécurité API
Cas de Test - Sécurité API
| Cas de Test | Priorité | Actions | Résultat Attendu |
|---|---|---|---|
TC-API010 Injection SQL |
Critique | Injecter payload SQL | Requête rejetée, pas d'exécution SQL |
TC-API011 Token expiré |
Critique | Appel API avec token > 15 min | 401 Unauthorized |
TC-API012 IDOR |
Critique | User A → GET /users/B/balance | 403 Forbidden |
TC-API013 Rate limiting |
Majeur | 100+ requêtes en 1 minute | 429 Too Many Requests |
MATRICE DE TRAÇABILITÉ
6.1 Exigences Fonctionnelles vs Tests
Traçabilité Exigences → Tests
| Exigence | Description | Cas de Test Associés |
|---|---|---|
EF-001 |
Inscription utilisateur gratuite | TC-M001, TC-M002, TC-M003 |
EF-002 |
Liaison carte bancaire unique | TC-M010, TC-M011, TC-M012 |
EF-003 |
Génération QR code 60s usage unique | TC-M020 à TC-M025, TC-P001 à TC-P005 |
EF-004 |
Conversion bancaire 10 pts = 0,95€ | TC-M030 à TC-M034 |
EF-005 |
Conversion commerçant 10 pts = 1,05€ | TC-M020, TC-M024 |
EF-006 |
Paliers fidélité par commerçant | TC-P012, TC-API002 |
EF-007 |
Validation partenaire obligatoire | TC-A010, TC-A011, TC-A012 |
EF-008 |
Authentification 2FA admin | TC-A001, TC-A002 |
6.2 Règles Métier vs Tests
Traçabilité Règles Métier → Tests
| Règle Métier | Description | Cas de Test Associés |
|---|---|---|
RM-001 |
1 point = 0,10€ | TC-API001, TC-API002, TC-API003 |
RM-002 |
Cashback bancaire -5% | TC-M030, TC-M031 |
RM-003 |
Cashback commerçant +5% | TC-M024 |
RM-004 |
QR code 60 secondes | TC-M022, TC-P002 |
RM-005 |
QR code usage unique | TC-P003 |
RM-006 |
Minimum virement 100 points | TC-M031 |
RM-007 |
Expiration points 12 mois | TC-API004 |
RM-008 |
Méthode FIFO dépense | TC-API005 |
ENVIRONNEMENTS DE TESTS
7.1 Description des Environnements
Environnements Disponibles
| Environnement | URL | Description | Données |
|---|---|---|---|
| Développement | localhost:3000 |
Environnement local développeur | Mock data |
| Staging | staging.rewapp.fr |
Pré-production, intégrations réelles | Données anonymisées |
| Production | api.rewapp.fr |
Environnement live | Données réelles (tests limités) |
7.2 Configuration par Environnement
Configuration Technique
| Paramètre | Développement | Staging | Production |
|---|---|---|---|
| Base de données | PostgreSQL local | RDS staging | RDS Multi-AZ |
| Solution bancaire | Mock API | Sandbox Budget Insight | API Production |
| Notifications | Console logs | Firebase staging | Firebase production |
| Rate limiting | Désactivé | Limites élevées | Limites strictes |
7.3 Données de Test
7.3.1 Jeux de Données Standards
- Utilisateurs : 100 comptes test avec profils variés (Bronze à Diamant)
- Partenaires : 50 partenaires test avec configurations cashback variées
- Transactions : 10 000 transactions historiques pour tests analytics
- QR codes : Générateur de QR codes valides et invalides
RÈGLE DONNÉES SENSIBLES
Aucune donnée de production utilisée en environnement de test
- Emails : Format test+XXX@rewapp.fr
- IBAN : IBAN de test (sandbox bancaire)
- Cartes : Numéros de carte de test (tokenisés)
CRITÈRES D'ACCEPTATION
8.1 Critères Globaux
Seuils de Qualité
| Critère | Seuil Minimum | Seuil Optimal |
|---|---|---|
| Couverture tests unitaires | ≥ 80% | ≥ 90% |
| Couverture tests intégration | ≥ 60% | ≥ 80% |
| Taux de réussite des tests | ≥ 95% | 100% |
| Défauts P1 ouverts | 0 | 0 |
| Défauts P2 ouverts | < 3 | 0 |
| Performance API (P95) | < 500ms | < 200ms |
| Disponibilité | 99.5% | 99.9% |
8.2 Critères par Release
RELEASE MAJEURE (vX.0)
- 100% des tests de régression passent
- 0 défaut P1 ou P2 ouvert
- Pentest de sécurité validé
- Tests de performance validés
- Documentation à jour
RELEASE MINEURE (vX.Y)
- 100% des tests de régression passent
- 0 défaut P1 ouvert
- < 2 défauts P2 ouverts avec workaround documenté
HOTFIX (vX.Y.Z)
- Tests ciblés sur la correction
- Pas de régression introduite
- 0 défaut P1 ouvert
GESTION DES DÉFAUTS
9.1 Cycle de Vie des Défauts
Nouveau
Défaut détecté et rapporté
Assigné
Attribué à un développeur
En cours
Correction en développement
Résolu
Fix déployé en environnement de test
Vérifié
Validé par QA
Fermé
Défaut clôturé définitivement
États supplémentaires : Rejeté, Différé, Dupliqué
9.2 Template de Rapport de Défaut
• ID : Identifiant unique (BUG-XXXX)
• Titre : Description courte et explicite
• Priorité : P1 / P2 / P3 / P4
• Sévérité : Critique / Majeur / Mineur / Cosmétique
• Composant : Mobile / Admin / Partenaire / API / Infrastructure
• Version : Version où le défaut a été trouvé
• Environnement : Dev / Staging / Production
• Étapes de reproduction : Pas à pas détaillé
• Résultat attendu : Comportement normal
• Résultat observé : Comportement constaté
• Captures d'écran/Logs : Preuves visuelles
9.3 SLA de Résolution
Temps de Résolution par Priorité
| Priorité | Temps de Réponse | Temps de Résolution |
|---|---|---|
| P1 - Critique | < 1 heure | < 4 heures |
| P2 - Majeur | < 4 heures | < 24 heures |
| P3 - Mineur | < 24 heures | < 1 semaine |
| P4 - Cosmétique | < 48 heures | Prochaine release |
PLANNING ET RESSOURCES
10.1 Planning des Tests par Phase
Planning par Phase
| Phase | Activités de Test | Durée | Responsable |
|---|---|---|---|
| Développement | Tests unitaires, revue de code | Continue | Développeurs |
| Sprint | Tests intégration, tests fonctionnels | 2 jours/sprint | QA Engineer |
| Pré-release | Tests E2E, tests performance | 1 semaine | QA Team |
| Release | Tests acceptation, smoke tests prod | 2 jours | QA + Product |
| Post-release | Monitoring, tests de non-régression | Continue | Ops + QA |
10.2 Ressources Humaines
Équipe de Test
| Rôle | Responsabilités | Charge Estimée |
|---|---|---|
| QA Lead | Stratégie, coordination, reporting | 100% |
| QA Engineer | Exécution tests, automatisation | 100% |
| Développeurs | Tests unitaires, correction défauts | 20% (tests) |
| DevOps | Infrastructure test, CI/CD | 10% (tests) |
| Product Owner | Validation métier, UAT | 10% (tests) |
10.3 Infrastructure de Tests
Ressources Techniques
| Ressource | Quantité | Usage |
|---|---|---|
| Environnement Staging | 1 (miroir prod) | Tests intégration, E2E |
| Serveur CI/CD | 1 (GitHub Actions) | Automatisation continue |
| Appareils physiques iOS | 2 (iPhone 12, 15) | Tests manuels iOS |
| Appareils physiques Android | 2 (Samsung, Pixel) | Tests manuels Android |
| Licences outils | Cypress, k6 Cloud | Tests automatisés |
MÉTRIQUES ET REPORTING
11.1 Métriques de Qualité
KPIs Qualité
| Métrique | Description | Fréquence | Cible |
|---|---|---|---|
| Couverture de code | % du code couvert par tests | Continue | ≥ 80% |
| Taux de réussite | % tests passants | Par build | ≥ 95% |
| Défauts trouvés | Nombre de défauts par sprint | Hebdomadaire | Tendance ↓ |
| Défauts résolus | Nombre de corrections | Hebdomadaire | = Défauts trouvés |
| MTTR | Temps moyen de résolution | Par release | < 24h (P2) |
| Vélocité tests | Nombre de tests exécutés/jour | Quotidien | > 1000 |
11.2 Tableaux de Bord
DASHBOARD QUALITÉ (Quotidien)
- Statut du build CI/CD
- Couverture de code actuelle
- Tests en échec avec détails
- Défauts ouverts par priorité
DASHBOARD RELEASE (Par Release)
- Progression des tests planifiés
- Courbe de découverte/résolution des défauts
- Tendances de qualité
- Risques identifiés
11.3 Rapports de Tests
Types de Rapports
| Type | Contenu | Destinataires | Fréquence |
|---|---|---|---|
| Rapport quotidien | Résultats CI/CD, tests en échec | Équipe technique | Automatique |
| Rapport de sprint | Couverture, défauts, métriques | Équipe projet | Fin de sprint |
| Rapport de release | Synthèse qualité, GO/NO-GO | Direction, stakeholders | Avant release |
| Post-mortem | Analyse incidents production | Équipe technique | Après incident |
CONCLUSION
12.1 Récapitulatif
Le plan de tests global REWAPP définit une stratégie complète et multi-niveaux pour garantir la qualité de l'ensemble de l'écosystème. Les principes clés sont :
-
Approche pyramidale
Tests unitaires (base) → Intégration → E2E → Acceptation (sommet)
-
Automatisation maximale
80%+ des tests automatisés dans le pipeline CI/CD
-
Priorisation par risque
Focus sur les fonctionnalités critiques (transactions, QR code, sécurité)
-
Couverture des règles métier
Validation stricte des ratios de conversion et délais
-
Tests de sécurité intégrés
SAST/DAST automatisés + pentests annuels
12.2 Points Clés à Retenir
12.3 Prochaines Étapes
-
1
Phase 1 : Infrastructure
Mise en place de l'infrastructure de tests automatisés
-
2
Phase 2 : Scénarios
Rédaction des scénarios de tests détaillés (document 8.2)
-
3
Phase 3 : Performance
Implémentation des tests de performance (document 8.3)
-
4
Phase 4 : Sécurité
Exécution du plan de tests de sécurité (document 8.4)
12.4 Documents Connexes
- 8.2 Scénarios de Tests Fonctionnels : Cas de test détaillés par fonctionnalité
- 8.3 Plan de Tests de Performance : Stratégie de tests de charge et stress
- 8.4 Plan de Tests de Sécurité : Tests OWASP et pentests