QA
Qualidade
Testes
Desenvolvimento
Software
Processos

Assurance qualité numérique : assurance qualité pour les produits logiciels

Assurance qualité numérique : assurance qualité pour les produits logiciels

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