La qualité n'est pas une phase du projet, c'est une responsabilité continue. L'AQ (Assurance Qualité) englobe les processus, les pratiques et la culture qui garantissent le bon fonctionnement des produits. Ce guide présente comment mettre en œuvre une assurance qualité efficace sur les produits numériques.
Qu'est-ce que l'assurance qualité
Définition
Ensemble d'activités qui garantissent la qualité des logiciels.
### AQ et CQ
L'assurance qualité est un processus (prévention des défauts). QC est une inspection (recherche de défauts).
Portée
Pas seulement des tests. Processus, normes, documentation.
Pourquoi le contrôle qualité est important
Coût des bugs
Les bugs en production coûtent 100 fois plus cher qu’en développement.
Expérience utilisateur
Les erreurs sont frustrantes. Les utilisateurs abandonnent.
Réputation
Les applications buggées reçoivent des critiques négatives.
Confiance
Il est plus sûr de changer de code.
Types de tests
Tests unitaires
Testez les fonctions isolées. Vite, beaucoup.
Tests d'intégration
Testez les composants ensemble. API, banque.
De bout en bout (E2E)
Flux complet en tant qu'utilisateur.
Tests manuels
Les humains explorent le produit.
Tests de fumée
Vérifiez rapidement si la construction fonctionne.
Tests de régression
Assurez-vous que les modifications n’ont pas brisé celles existantes.
Tests de performances
Comportement sous charge.
Tests de sécurité
Vulnérabilités et conformité.
Pyramide de tests
###Concept
Beaucoup de tests unitaires, moins d'intégration, peu d'E2E.
Pourquoi
Les unités sont rapides et bon marché. Les E2E sont lents et fragiles.
Solde
Chaque type a une valeur. N’en négligez aucun.
Automatisation des tests
Pourquoi automatiser
Répétabilité, vitesse, couverture.
Que faut-il automatiser
Cas répétitifs, critiques et stables.
Outils
Jest, Pytest, Cypress, dramaturge, Appium.
Entretien
Les tests automatisés nécessitent des soins continus.
Assurance qualité en Agile
Décaler vers la gauche
La qualité dès le début, pas à la fin.
Tests continus
Les tests sont exécutés à chaque commit.
Définition de Terminé
Comprend des critères de qualité.
Transversal
Assurance qualité intégrée à l'équipe, pas séparée.
Processus d'assurance qualité
Planification des tests
Que tester, comment, quand.
Cas de tests
Documentation du scénario.
Rapport de bugs
Description claire, reproduction, gravité.
Triage
Priorisation des bugs.
Régression
Reteste après les correctifs.
Environnements de test
Développeur
Pour les développeurs. Instable.
Mise en scène
Miroir de production. Assurance qualité complète.
###Production
Toujours stable. Tests limités.
Date
Données de test réalistes mais sûres.
Contrôle qualité mobile
Fragmentation des appareils
De nombreux appareils, versions, tailles.
### Laboratoires sur les appareils
Testez sur de vrais appareils.
Tests cloud
BrowserStack, laboratoire de test Firebase.
Spécifique à la plateforme
iOS et Android ont des bizarreries.
Tests exploratoires
Qu'est-ce que c'est
Tests non scriptés. Enquête.
Quand l'utiliser
Trouvez des bugs inattendus.
Heuristiques
Les techniques guident l’exploration.
###Documentations
Capturez ce que vous découvrez.
## métriques d'assurance qualité
Taux d'évasion des bogues
Bugs qui arrivent en production.
Couverture des tests
Code couvert par les tests.
Densité des défauts
Bogues par taille de code.
Il est temps de réparer
Combien de temps pour réparer.
Taux de réussite aux tests
Pourcentage de tests réussis.
## CI/CD et assurance qualité
Intégration continue
Les tests sont exécutés à chaque fusion.
Porte
Fusion bloquée si les tests échouent.
Déploiement continu
Déploiement automatique si les tests réussissent.
Surveillance
Observabilité en production comme assurance qualité continue.
## Culture de qualité
Responsabilité partagée
La qualité appartient à tout le monde, pas seulement à l'assurance qualité.
Révision du code
Code de révision par les pairs.
Définition de Terminé
Qualité incluse.
Post-mortems irréprochables
Apprenez de vos erreurs, ne blâmez pas.
##Documents
Plans de tests
Stratégie de test pour la fonctionnalité/la version.
Cas de tests
Étapes pour tester les scénarios.
Rapports de bogues
Description complète pour jouer.
### Notes de version
Qu'est-ce qui a changé, que tester.
Erreurs courantes
Contrôle qualité à la fin
Laissez-le jusqu'à la dernière minute. Décalage à gauche.
Manuel uniquement
Les tests manuels ne sont pas évolutifs.
Ignorer les commentaires
Bugs connus non corrigés.
Différents environnements
Des étapes de production très différentes.
Conclusion
L’assurance qualité est un investissement qui évite des coûts beaucoup plus élevés. Automatisez les tâches répétitives, testez tôt, construisez une culture de qualité. Les produits bien testés sont des produits fiables.
##FAQ
1) Le contrôle qualité relève-t-il uniquement de la responsabilité du testeur ? Non. Toute l’équipe est responsable de la qualité.
2) Combien automatiser ? Autant que cela ait du sens. Tests unitaires approfondis, E2E sélectif.
3) Le contrôle qualité retarde-t-il les livraisons ? À court terme peut-être. À long terme, évite les retouches.
4) Ai-je besoin d'un contrôle qualité dédié ? Cela dépend de la taille. Les petites équipes peuvent partager les responsabilités.
5) Comment prioriser les bugs ? Gravité x impact. Les bloqueurs d’abord.
A lire aussi
-Métriques de qualité logicielle : validation et principes fondamentaux -Métriques de qualité logicielle : Guide complet
