Concevoir et implémenter la traçabilité de la source, des bogues et de la qualité

Effectué

Dans le contexte de DevOps, la traçabilité fait référence à la possibilité de suivre les modifications et les actions tout au long du cycle de vie du développement logiciel. Ce concept s’applique à différents aspects de ce cycle de vie, y compris les modifications apportées au code source, à la résolution des bogues et à la gestion du contrôle de qualité. Sa mise en œuvre est essentielle pour garantir la fiabilité, la maintenance et la satisfaction des clients.

La traçabilité source permet aux développeurs de suivre les modifications de code dans les scénarios de collaboration. La traçabilité des bogues facilite l’identification, la hiérarchisation et la résolution des problèmes liés au code source. La traçabilité de la qualité garantit que les logiciels répondent aux normes de qualité et aux attentes des utilisateurs en liant les activités de test, les métriques et les commentaires aux efforts de développement.

Concevoir

À un niveau élevé, la traçabilité est indépendante des outils, mais la façon de l’aborder dépend de l’aspect du cycle de vie du développement logiciel qu’il est destiné à cibler. De même, les objectifs et les considérations de conception diffèrent entre le code source, le bogue et la traçabilité qualité.

En particulier, la traçabilité source implique le suivi de l’historique des modifications du code, y compris les personnes qui ont apporté les modifications, lorsqu’elles ont été apportées et l’objectif des modifications. Il facilite les révisions de code, le débogage et la compréhension de l’évolution du codebase au fil du temps. Du point de vue de la conception, cette fonctionnalité est étroitement liée à la branchement Git et à la fusion de stratégies qui organisent le travail de développement. Les développeurs créent des branches de fonctionnalités pour le nouveau travail, valident les modifications apportées à leurs branches et soumettent des pull requests pour révision. À ce stade, leurs homologues effectuent des révisions de code et, une fois terminés, approuvent les modifications à fusionner dans la branche principale.

La traçabilité des bogues implique le suivi des bogues ou des défauts signalés pendant les tests ou la production à leur cause racine dans la base de code. Il s’appuie également généralement sur la capture d’informations telles que les détails du rapport de bogues, les étapes de reproduction, les composants affectés et les modifications de code associées. Ses objectifs incluent la hiérarchisation et la résolution efficace des bogues afin de résoudre efficacement les lacunes logicielles.

La traçabilité de la qualité englobe les activités et artefacts liés à la qualité tout au long du processus de développement de logiciels. Cela implique de lier des métriques de qualité, des cas de test, des résultats de test et d’autres activités d’assurance qualité aux exigences, aux récits utilisateur et aux modifications de code. La traçabilité de la qualité permet d’évaluer l’impact des modifications logicielles sur sa qualité et d’identifier les domaines d’amélioration.

Implémentation de la traçabilité

Les détails de l’implémentation de la traçabilité diffèrent dans une certaine mesure en fonction de la plateforme DevOps.

Traçabilité de la source

Étant donné que GitHub et Azure DevOps prennent en charge Git comme mécanisme de contrôle de code source, un certain nombre de techniques de traçabilité source s’appliquent aux deux. Par conséquent, l’implémentation de la traçabilité du code source dans les deux cas implique l’adoption de bonnes pratiques telles que l’écriture de messages de validation descriptifs, l’utilisation d’une stratégie de branchement bien définie et l’exigence de demandes de tirage pour les révisions de code.

Toutefois, il existe également des différences entre eux. L’implémentation de la traçabilité source dans les référentiels GitHub implique généralement l’utilisation de fonctionnalités telles que des règles de protection de branche pour appliquer des processus de révision de code et vérifier que les modifications sont examinées avant la fusion. L’intégration de GitHub aux problèmes permet de lier les modifications de code aux problèmes correspondants, ce qui permet de suivre les modifications de code et les exigences de projet. Azure DevOps propose des stratégies de branche et des stratégies de pull request afin d'appliquer des contrôles qualité sur le code et de lier des modifications aux éléments de travail, ce qui permet d'assurer la traçabilité entre les modifications de code et les récits utilisateurs ou les tâches. En outre, Azure DevOps fournit une intégration plus approfondie à son système de suivi des éléments de travail, ce qui permet une traçabilité et des fonctionnalités de création de rapports plus approfondies par rapport au suivi des problèmes de GitHub.

Traçabilité des bogues

Dans Azure DevOps, la traçabilité des bogues est facilitée via Azure Boards, où les bogues sont suivis en tant qu’éléments de travail et peuvent être liés aux modifications, validations et demandes de tirage de code. Azure Boards permet de créer des flux de travail personnalisés pour la gestion des bogues, en définissant des états tels que New, Active, Resolved et Closed, fournissant une visibilité sur le cycle de vie du bogue. En outre, Azure DevOps offre une intégration riche entre les bogues et d’autres éléments de travail, ce qui permet la traçabilité entre les bogues et les récits utilisateur, les tâches et les épopées.

Dans GitHub, la traçabilité des bogues s’appuie sur l’intégration entre les tickets et les modifications de code, où les bogues signalés comme des tickets peuvent être liés aux validations et aux pull requests. GitHub Actions offre la possibilité d’implémenter des flux de travail personnalisables, y compris ceux liés à la traçabilité des bogues. Avec GitHub Actions, vous pouvez définir des flux de travail qui automatisent les processus déclenchés par des événements dans votre dépôt GitHub, tels que la création ou la modification de problèmes. Cela vous permet de créer des flux de travail personnalisés pour la gestion des bogues, notamment la définition d’états, l’attribution de tâches et l’automatisation des actions en fonction de conditions spécifiques. Efficacement, tandis que GitHub Actions offre une flexibilité dans l’automatisation des flux de travail, elles nécessitent généralement davantage d’efforts et de personnalisation par rapport aux fonctionnalités intégrées d’Azure Boards dans Azure DevOps.

Traçabilité de la qualité

Dans Azure DevOps, la traçabilité qualité peut être gérée à l’aide de plans de test, ce qui permet aux équipes d’organiser, d’exécuter et de suivre les cas de test. Les plans de test fournissent des métriques de qualité complètes, notamment les taux de réussite de cas de test, les résultats de l’exécution des tests et les rapports de couverture des tests. En outre, Azure DevOps offre une intégration avec des outils de couverture de code pour mesurer la couverture des tests et identifier les zones de la base de code qui nécessitent des tests supplémentaires.

GitHub offre des fonctionnalités similaires via GitHub Actions, ce qui permet aux équipes d’automatiser différents types de tests, tels que les tests unitaires, les tests d’intégration et les tests de bout en bout. Ici aussi, GitHub Actions offre une flexibilité dans la configuration des flux de travail de test et l’intégration à des outils de test tiers, mais ils ont tendance à nécessiter une configuration supplémentaire pour atteindre le même niveau de métriques de qualité complètes et de rapports de couverture de test que les plans de test Azure DevOps.