Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>

Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>
Aller à la section
La principale préoccupation de la gestion des exigences est de s'assurer que les objectifs fixés pour le développement de produits sont atteints. Cependant, il peut être difficile d'atteindre ces objectifs fixés sans traçabilité. Cet article vous apprend tout ce que vous devez savoir sur la gestion de la traçabilité des exigences.
Aller à la section
Aller à la section
La pierre angulaire d'un processus de développement logiciel rigoureux est la gestion des exigences et la traçabilité de ces exigences à la mise en œuvre et, par la suite, la preuve d'une mise en œuvre correcte.
La traçabilité des exigences est définie par les auteurs, Gotel et Finkelstein, comme « la capacité de décrire et de suivre la vie d'une exigence, à la fois en avant et en arrière (c. et l'itération dans l'une de ces phases).
Le traçage des exigences ne consiste pas simplement à lier un paragraphe d'un document à une section de code ou à un test. La traçabilité doit être maintenue tout au long des phases de développement, à mesure que les exigences se manifestent dans la conception, l'architecture et la mise en œuvre. Considérez le diagramme en « V » typique du logiciel.
Figure 1: Le diagramme en V classique montre comment la traçabilité avance et recule à chaque phase de développement.
Chaque phase entraîne la phase suivante. À leur tour, les éléments de travail de ces phases doivent répondre aux exigences de la phase précédente. La conception du système est basée sur les exigences. La conception du système répond aux exigences, etc.
La gestion de la traçabilité des exigences (RTM) prouve que chaque phase satisfait aux exigences de chaque phase suivante. Cependant, ce n'est que la moitié de l'image. Aucune de cette traçabilité ne démontre que les exigences sont satisfaites. Cela nécessite des tests.
Figure 2: L'autre partie importante de la traçabilité des exigences est la vérification et les tests de validation pour prouver la mise en œuvre de la spécification à partir de la phase de conception correspondante. La validation a généralement lieu à la fin du cycle de développement lors du test d'acceptation final avec le client.
Dans le diagramme en V illustré à la figure 2, chaque phase de test vérifie la satisfaction des spécifications associées à la phase de conception / mise en œuvre correspondante. Dans l'exemple, les tests d'acceptation valident les exigences, les tests d'intégration vérifient la conception de l'architecture, les tests unitaires vérifient la conception des modules, etc. La validation a généralement lieu à la fin du cycle de vie du développement lors des tests d'acceptation avec le client.
La traçabilité des exigences nécessite à la fois le lien vers l'implémentation et la vérification, ainsi que tous les artefacts associés du processus de développement. Le développement de logiciels à n'importe quelle échelle réaliste aura de nombreuses exigences, une conception et une architecture complexes, et éventuellement des milliers d'unités et de tests unitaires. L'automatisation du RTM dans les tests est nécessaire, en particulier pour les logiciels critiques pour la sécurité qui nécessitent une documentation de traçabilité pour les certifications et les audits.
Une matrice de traçabilité des exigences est un document qui illustre la satisfaction des exigences avec un élément de travail correspondant, comme un test unitaire, un code source de module, un élément de conception d'architecture, etc. La matrice est souvent affichée sous forme de tableau, qui montre comment chaque exigence est «cochée» par une partie correspondante du produit. La création et la maintenance de ces matrices sont souvent automatisées avec des outils de gestion des exigences avec la possibilité de les afficher visuellement sous de nombreuses formes et même sur papier si nécessaire.
Voici une exemple de matrice de traçabilité des exigences de Intland codeBeamer. Il montre les exigences au niveau du système décomposées en exigences de haut et de bas niveau et les cas de test qui vérifient chacune d'elles.
Figure 3: Exemple de matrice de traçabilité des exigences dans Intland codeBeamer.
Dans le sens le plus simple, la traçabilité des exigences est nécessaire pour suivre exactement ce que vous créez lors de l'écriture d'un logiciel. Cela signifie s'assurer que le logiciel fait ce qu'il est censé faire et que vous ne construisez que ce qui est nécessaire.
La traçabilité fonctionne à la fois pour prouver que vous répondez aux exigences et pour identifier ce qui ne l'est pas. S'il y a des éléments architecturaux ou du code source qui ne peuvent pas être attribués à une exigence, alors c'est un risque et ne devrait pas être là. Les avantages vont au-delà de la preuve de la mise en œuvre. Une traçabilité disciplinée est une visibilité importante sur l'avancement du développement.
La traçabilité n'est pas nécessairement stricte dans les applications logicielles d'entreprise, bien que ce soit certainement en train de s'améliorer. Cependant, il s'agit d'une activité obligatoire dans le domaine des logiciels de sécurité et critiques.
Les exigences relatives aux logiciels critiques pour la sécurité sont le principal moteur de la conception et du développement des produits. Ces exigences comprennent la sécurité fonctionnelle, les exigences d'application et les exigences non fonctionnelles qui définissent entièrement le produit. Cette dépendance aux exigences documentées est une bénédiction mitigée, car de mauvaises exigences sont l'une des causes critiques des incidents de sécurité dans les logiciels. En d'autres termes, la mise en œuvre n'était pas en faute, mais les exigences médiocres ou manquantes l'étaient.
Il est important de réaliser que de nombreuses exigences relatives aux logiciels critiques pour la sécurité découlent de l'analyse de la sécurité et de la gestion des risques. Le système doit remplir les fonctions prévues, bien sûr, mais il doit également atténuer les risques afin de réduire considérablement les risques de blessures. De plus, afin de documenter et de prouver que ces fonctions de sécurité sont pleinement et correctement mises en œuvre et testées, la traçabilité est essentielle.
La conservation des enregistrements de traçabilité sur n'importe quel type d'échelle nécessite une automatisation. Les outils de gestion du cycle de vie des applications incluent des capacités de gestion des exigences qui sont matures et qui ont tendance à être la plaque tournante de la traçabilité. Des outils de test logiciels intégrés tels que Parasoft complètent la vérification et la validation des exigences en fournissant une traçabilité bidirectionnelle automatisée au scénario de test exécutable, qui comprend le résultat de réussite ou d'échec et des traces jusqu'au code source qui met en œuvre l'exigence.
Parasoft s'intègre aux systèmes de gestion des exigences et de planification agiles de pointe tels que Intland codeBeamer, Polarion de Siemens, Atlassian Jira, CollabNet VersionOne et TeamForge.
Comme le montre l'image ci-dessous, chacun des outils d'automatisation de test de Parasoft (Test C / C ++, Jtest, pointTEST, SOAtest et Sélénique) prennent en charge l'association de tests avec des éléments de travail définis dans ces systèmes (tels que des exigences, des histoires, des défauts, des définitions de cas de test). La traçabilité est gérée par Parasoft tableau de bord centralisé de reporting et d'analyse (PAO Parasoft).
Figure 4 : Parasoft fournit une traçabilité bidirectionnelle des éléments de travail aux cas de test et aux résultats des tests, affichant à la fois des rapports de traçabilité avec Parasoft DTP et renvoyant les résultats au système de gestion des exigences.
Parasoft DTP met en corrélation les identifiants uniques du système de gestion avec les résultats de l'analyse statique, la couverture du code et les résultats des tests des tests unitaires, d'intégration et fonctionnels. Les résultats sont affichés dans les rapports de traçabilité de Parasoft DTP et renvoyés au système de gestion des exigences. Ils fournissent une traçabilité bidirectionnelle complète et des rapports dans le cadre de la matrice de traçabilité du système.
Le reporting de traçabilité dans Parasoft DTP est hautement personnalisable. L'image suivante montre un modèle de matrice de traçabilité des exigences pour les récits créés dans Jira qui retracent les cas de test, les résultats d'analyse statique, les fichiers de code source et les révisions de code manuelles.
Figure 5: Modèle de matrice de traçabilité des exigences de Parasoft DTP intégré à Altassian Jira.
La corrélation bidirectionnelle entre les résultats des tests et les éléments de travail constitue la base de la traçabilité des exigences. Parasoft DTP ajoute une analyse de couverture de test et de code pour évaluer l'exhaustivité des tests. Le maintien de cette corrélation bidirectionnelle entre les exigences, les tests et les artefacts qui les implémentent est un élément essentiel de la traçabilité.
La traçabilité automatisée offre plusieurs avantages aux équipes de développement logiciel. Vous trouverez ci-dessous un examen plus approfondi de la manière dont l'automatisation peut améliorer la traçabilité dans le développement de logiciels.
De plus, la traçabilité automatisée permet une analyse d'impact efficace, permettant aux parties prenantes de comprendre les implications des modifications apportées aux exigences et de prendre des décisions éclairées.
De plus, la traçabilité automatisée identifie les dépendances et les impacts entre les différents composants du logiciel. Par conséquent, lorsque des modifications sont apportées à un composant, la traçabilité permet aux parties prenantes d'identifier rapidement les exigences associées, les décisions de conception et les tests qui peuvent être affectés. Cette connaissance des dépendances et des impacts favorise la collaboration en garantissant que toutes les parties concernées sont conscientes des conséquences potentielles des changements.
Avec des cas de test générés automatiquement en fonction des exigences tracées, cela réduit le risque de scénarios de test manquants, ce qui est souvent le cas lorsque les cas de test sont créés manuellement. Mais avec la traçabilité automatisée, tous les scénarios de test nécessaires sont directement dérivés des exigences, ce qui réduit le risque de manquer des scénarios de test.
De plus, la traçabilité automatisée aide également à documenter les étapes de résolution, facilitant la maintenance future et réduisant les risques de problèmes récurrents.
La traçabilité automatisée fournit une piste d'audit claire des décisions, actions et modifications apportées au cours du processus de développement logiciel. Cela rend les audits de conformité plus fluides et plus simples, car toutes les informations nécessaires sont facilement disponibles et traçables.
Plusieurs outils sont disponibles pour faciliter la traçabilité des exigences, offrant des fonctionnalités de liaison, de suivi, de gestion et d'analyse des relations entre les exigences. Certains outils populaires pour la traçabilité des exigences incluent les suivants.
De plus, Parasoft peut automatiser la création de défauts, ce qui contribue à établir une boucle de rétroaction complète au sein de votre workflow de développement. Il contribue également à la conformité réglementaire avec des normes telles que ISO 26262, DO-178C, IEC 62304, IEC 61508 et EN 50716/EN 50128.
Parasoft DTP aide également à trier la création de défauts et de problèmes en nouveaux éléments de travail. L'automatisation des tests et l'analyse statique produisent beaucoup de données à consommer. Les outils qui aident à gérer ces données sont importants pour hiérarchiser les éléments de travail et éviter que les outils ne submergent l'équipe.
À l'aide des explorateurs de violations et de tests dans Parasoft DTP, illustrés ci-dessous, l'équipe peut créer efficacement de nouveaux éléments de travail après le triage des échecs de test et des violations de l'analyse statique. La combinaison de la traçabilité et de la création triée des problèmes / défauts fournit une boucle de rétroaction complète pour un flux de travail.
Figure 6: Création d'un nouveau défaut dans VersionOne lors du tri des échecs de test dans Parasoft DTP.
La traçabilité des exigences est un élément clé de la gestion des exigences dans le développement de logiciels. Le niveau de formalité de la traçabilité varie selon le type d'application, mais la pratique est absolument nécessaire dans les logiciels critiques pour la sécurité.
La traçabilité bidirectionnelle est importante pour que les outils de gestion des exigences et autres outils du cycle de vie puissent corréler les résultats et les aligner sur les exigences et les éléments de travail associés.
La complexité des projets logiciels modernes nécessite une automatisation pour adapter la traçabilité des exigences. Les outils Parasoft sont conçus pour s'intégrer aux meilleurs outils de gestion des exigences afin de faciliter la traçabilité des résultats d'automatisation des tests et de compléter la vérification des tests logiciels et la validation des exigences.