Après le déploiement d'une nouvelle version dans l'environnement d'assurance qualité (QA), les nouvelles fonctionnalités sont testées. Jusqu'à présent, seul un test d'unité et d'intégration automatisé était effectué au sein de la construction, ce qui garantissait l'absence d'erreurs techniques par rapport à une unité ou l'intégration des modules entre eux. Dans le contexte du DevOps, on parle également de tests continus, qui prévoient le processus d'exécution de tests automatisés dans le cadre du pipeline de déploiement.
En plus des tests automatisés, il est souvent nécessaire de tester manuellement le professionnalisme des fonctions et des caractéristiques. C'est le cas, par exemple, lorsque l'automatisation des cas d'essai entraîne des coûts élevés. Dans ces cas, une gestion structurée des tests est utile. La gestion des tests est une mesure d'accompagnement qui couvre l'ensemble du processus de test. Elle comprend la planification, le suivi et le contrôle des activités de toutes les étapes de test. Garder une vue d'ensemble de toutes les activités, données et statuts est l'art d'une bonne gestion des tests. C'est pourquoi, dans la pratique, la gestion des tests est idéalement toujours soutenue par des outils, car c'est la seule façon de garantir un flux d'informations complet entre tous les participants au projet.
En général, les tests suivent les étapes suivantes :
- Après la planification du sprint, l'équipe transfère les exigences/récits des utilisateurs dans le Sprintbacklog.
- Un développeur extrait une exigence / une User story / un bug.
- Il discute les détails avec le testeur responsable et / ou décrit les détails dans le work item.
- Le testeur crée des cas de test pour l'exigence respective sur la base de l'élément de travail et des détails (développement piloté par les tests).
- Le développeur implémente l'exigence / la correction de bug et teste brièvement la fonctionnalité implémentée (également en consultation avec le testeur, si nécessaire, ou sur la base des cas de test créés).
- Le testeur commence son test de l'exigence. En cas d'erreur, un bug est publié et attribué au développeur. Dans certains cas, les détails peuvent être discutés avec le développeur.
- La régression ou le re-test d'erreur valide la correction et met le statut du bug sur Terminé.
- Si tous les tests d'une exigence ont été effectués avec succès, l'exigence est acceptée par le propriétaire.
- Ce dernier met alors la demande en Closed après une acceptation réussie.
Le statut d'un bug, de l'identification à la résolution, peut être cartographié dans Azure DevOps comme suit :