Analyse d'impact dans les tests de logiciels
⚡ Résumé intelligent
L'analyse d'impact dans les tests logiciels évalue comment une modification proposée se répercute sur les exigences, la conception, le code, les tests et le calendrier de livraison.ping Les équipes évaluent les efforts, priorisent la couverture des régressions et préviennent les défauts non intentionnels avant la mise en production.
Qu'est-ce que l'analyse d'impact ?
L'analyse d'impact est le processus qui consiste à analyser les conséquences des modifications apportées à un produit ou une application déployée. Elle identifie les zones du système susceptibles d'être affectées lorsqu'une section ou une fonctionnalité particulière de l'application est modifiée.
L'impact est évalué à travers les exigences, la conception et Archistructure, tests et calendrier de livraison.
Lorsqu'on ajoute de nouvelles fonctionnalités à une application ou un produit, il est impératif de vérifier l'impact de ces modifications sur les performances et la stabilité du système. C'est pourquoi on effectue une analyse d'impact.
Pourquoi réalise-t-on une analyse d'impact du changement ?
- Pour comprendre les conséquences possibles de la mise en œuvre de ce changement. Ajouter trop de fonctionnalités à un produit peut en réduire les performances globales.
- Afin d'identifier tous les fichiers, documents et modèles susceptibles de devoir être modifiés si l'équipe décide de mettre en œuvre le changement.
- Pour estimer l'effort nécessaire à la mise en œuvre du changement.
- Identifier les tâches nécessaires à la mise en œuvre du changement.
- Pour lister les dépendances de l'élément spécifique modifié.
Qu’est-ce qu’un document d’analyse d’impact ?
Un document d'analyse d'impact peut servir de liste de contrôle pour évaluer une demande de changement avant que l'équipe ne commence à travailler dessus. Ce document doit notamment recenser les éléments suivants :
- Une brève description du problème.
- Une explication ou un exemple de la manière dont le défaut provoque une défaillance ou une inefficacité.
- Une estimation de la complexité.
- Une estimation du coût et du délai de réparation.
- La fonctionnalité à tester.
- Les nouveaux cas de test créés pour cette modification.
- Documents de référence tels que les spécifications techniques ou les notes de conception associées.
Exemple :
Document d'analyse d'impact.
- ID de demande de modification :
- Titre:
- Description :
- Date de préparation :
- Estimation de la priorisation :
- Avantage relatif
- Pénalité relative
- Coût relatif
- Risque relatif
- Durée totale estimée : ______ heures
- Temps perdu estimé : ______ heures
- Impact estimé sur le calendrier : ______ jours
- Qualité impactée :
- Autres exigences concernées :
- Autres tâches concernées :
- Problèmes d'intégration :
Comment présenter le niveau d'influence de l'analyse d'impact
L'analyse d'impact peut être représentée par un code couleur indiquant la criticité des modifications sur le système. Un exemple de code couleur courant est présenté ci-dessous :
- Rouge — Impact fort
- Jaune — Impact modéré
- Vert — Faible impact
Le tableau ci-dessus explique l'impact des changements mis en œuvre :
- Les éléments marqués en rouge sont les principaux éléments modifiés. Les éléments en jaune sont moins affectés par la modification. Les éléments en vert sont les moins affectés.
- Les fonctionnalités listées verticalement sont celles qui sont modifiées. Celles listées horizontalement sont celles que la modification peut influencer. Dans l'exemple ci-dessus, une modification de la fonctionnalité 1 influence la fonctionnalité 3.
- Dans le cadre d'un projet de grande envergure comportant de nombreuses fonctionnalités, le tableau ci-dessus peut s'avérer peu pratique. Dans ce cas, une autre approche est adoptée : le développeur indique directement le niveau d'influence des modifications apportées aux fonctionnalités principales, comme illustré ci-dessous, où l'impact de la fonctionnalité principale est indiqué pour chaque sous-fonctionnalité.
Exemples de questions à aborder lors de la réalisation d'une analyse d'impact :
- Quels sont les effets secondaires indésirables ou les risques liés au changement proposé ?
- Faut-il acquérir de nouveaux outils pour mettre en œuvre et tester ce changement ?
- Si le changement est accepté, quelle part des efforts déjà investis sera perdue ?
- Les modifications proposées ont-elles un impact négatif sur les exigences de performance ?
- Des informations supplémentaires de l'utilisateur sont-elles nécessaires pour vérifier la modification proposée ?
- Le changement augmente-t-il le coût du produit ?
- Le personnel actuel possède-t-il les connaissances et les compétences nécessaires pour mettre en œuvre le changement proposé ?
- Le changement proposé impose-t-il une demande inacceptable à une ressource informatique ?
Meilleures pratiques pour l’analyse d’impact du changement
- Avant de commencer l'analyse d'impact, assurez-vous que la demande de test identifie chaque partie du projet qui est influencée par les changements.
- Une communication continue entre le développeur et le testeur est indispensable pour qu'aucune modification requise dans le produit final ne soit omise.
- Identifier si des modifications, suppressions ou ajouts à l'interface utilisateur sont nécessaires.
- Estimez le nombre de cas de tests d'acceptation, de système et d'intégration qui seront nécessaires.
- Identifier tout impact de la modification proposée sur le plan de projet, le plan de gestion de la configuration ou le plan d'assurance qualité.
Types d'analyse d'impact dans les tests logiciels
L'analyse d'impact du changement n'est pas une technique unique. Les praticiens utilisent généralement l'un des trois types complémentaires pour répondre aux différentes questions relatives à un changement proposé.
- TracAnalyse d'impact sur les capacités : Utilise les exigences TracLa matrice de capacités et les liens de conception permettent d'associer chaque exigence aux modules, tests et documents qui la mettent en œuvre. Lorsqu'une exigence change, la matrice révèle tous les artefacts en aval qui doivent être mis à jour ou testés à nouveau.
- Analyse d'impact de la dépendance : Étudie les graphes d'appels, les flux de données et les interfaces.tracts dans le code source. Une modification apportée à un module est tracvia des appelants directs, des appelants indirects et des structures de données partagées afin que les effets d'entraînement cachés soient mis en évidence avant le déploiement de la modification.
- Analyse d'impact expérimentale (historique) : L'outil analyse l'historique des modifications (anomalies passées, sprints avortés et régressions) pour prédire le comportement de la modification actuelle. Les outils modernes combinent l'exploration de l'historique de gestion des versions avec des modèles statistiques ou d'apprentissage automatique afin d'évaluer le risque de chaque modification.
La plupart des équipes combinent au moins deux de ces types. TracL'analyse de compatibilité vous indique quels documents sont concernés, l'analyse des dépendances vous indique quel code est concerné et l'analyse historique vous indique le niveau de risque probable de la modification.
Outils populaires pour l'analyse d'impact du changement
L'analyse d'impact des changements modernes est rarement réalisée dans un tableur. Les équipes associent un outil de gestion des exigences à un outil d'analyse de code et à un outil de gestion des tests qui partagent une plateforme commune. traccolonne vertébrale de capacité.
- Jama Connect, IBM PORTES, Modern Requirements, et exigences Visure : Recueillir les exigences, maintenir les référentiels et générer des rapports d'impact sur les exigences, les tests et les risques liés lorsqu'un changement est proposé.
- Atlassian Jira avec Xray ou Zéphyr : Track récits utilisateurs, anomalies et cas de test. Les rapports d'impact affichent chaque récit et test concerné par une modification proposée au sein d'un sprint ou d'un train de livraison.
- SonarQube, Comprendre avec SciTools et Structure101 : Analyser les dépendances du code source et produire des graphes d'appels et des rapports de couplage afin que l'ingénieur puisse voir le code en aval affecté par une modification.
- Lanceable, Testim Auto-guérison et TestGrid: Utilisez l'apprentissage automatique pour prédire quels tests sont les plus susceptibles de détecter les défauts introduits par une modification, permettant ainsi une sélection intelligente des tests et des cycles de régression plus rapides.
- Microsoft Excel ou Google Feuilles: Encore largement utilisé pour le document initial d'analyse d'impact, le tableau d'influence à code couleur et le registre des demandes de modification sur les projets de plus petite envergure.
La combinaison optimale dépend de la taille du code source, du contexte réglementaire et du mode de déploiement. Les secteurs réglementés privilégient Jama ou DOORS pour l'auditabilité. traccapacité, tandis que les équipes de produits agiles s'appuient sur Jira, SonarQubeet un outil d'évaluation de l'impact des tests.



