Webinaire en vedette : Tests d'API améliorés par l'IA : une approche de test sans code | Voir le séminaire
Exigences et matrice de traçabilité
Dans la norme ISO 26262, la gestion des exigences est une partie obligatoire du processus de développement logiciel et la traçabilité de ces exigences jusqu'à la mise en œuvre doit être assurée. Par la suite, la preuve d'une mise en œuvre correcte doit être garantie.
La traçabilité des exigences est définie comme « la capacité de décrire et de suivre la vie d'une exigence, à la fois en avant et en arrière (c'est-à-dire depuis ses origines, en passant par son développement et sa spécification, jusqu'à son déploiement et son utilisation ultérieurs, et à travers des périodes de perfectionnement et d'itération continus dans chacune de ces phases) ».1
Dans le sens le plus simple, la traçabilité des exigences est nécessaire pour garder une trace exacte de ce que vous construisez lorsque vous écrivez un logiciel. Elle est utilisée pour vérifier les exigences, ce qui signifie vérifier la documentation et les spécifications de conception par rapport aux exigences pour garantir 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.
Il est important de comprendre que de nombreuses exigences en matière de 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 bien sûr remplir les fonctions prévues, mais il doit également atténuer les risques afin de réduire considérablement les risques de blessures. De plus, pour documenter et prouver que ces fonctions de sécurité sont mises en œuvre et testées de manière complète et correcte, la traçabilité est essentielle.
Le traçage des exigences ne consiste pas simplement à relier 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 d'un logiciel.
La gestion de la traçabilité des exigences (RTM) prouve que chaque phase satisfait aux exigences de chaque phase suivante. Cependant, ce n'est qu'une partie du tableau. Aucune de ces traçabilités ne démontre que les exigences sont respectées. Cela nécessite des tests jusqu'à l'exécution pour valider les exigences.
- Les tests d’acceptation valident les exigences du client.
- Les tests système valident les exigences du système.
- Les tests d’intégration valident la conception de l’architecture.
- Les tests unitaires valident la conception du module.
Le développement de logiciels à une échelle raisonnable, moyenne ou grande, impliquera 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 la traçabilité pour les certifications et les audits.
Matrice de traçabilité des exigences
A 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 présenté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 à l'aide d'outils de gestion des exigences avec la possibilité de les afficher visuellement sous de nombreuses formes et même sur papier, si nécessaire.
Vous trouverez ci-dessous un exemple de matrice de traçabilité des exigences de PTC Codebeamer. Il montre les exigences au niveau du système décomposées en exigences de haut et de bas niveau, ainsi que les cas de test qui vérifient chacune d'elles.
Automatiser la traçabilité bidirectionnelle
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 Agile leaders du marché tels que PTC Codebeamer, Polarion de Siemens, Jama Connect, Atlassian Jira et Azure DevOps Requirements.
Comme le montre l'image ci-dessous, chacun des outils d'automatisation des tests de Parasoft, C/C++test, C/C++test CT, Jtest, dotTEST, SOAtest et Selenic, prend en charge l'association des tests avec les éléments de travail définis dans ces systèmes, tels que les exigences, les histoires, les défauts et les définitions de cas de test. La traçabilité est gérée via le tableau de bord central de reporting et d'analyse, Parasoft DTP.
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.
Les rapports de traçabilité dans Parasoft DTP sont hautement personnalisables. L'image suivante montre un modèle de matrice de traçabilité des exigences avec des exigences créées dans Polarion qui remontent aux cas de test, aux résultats de l'analyse statique, aux fichiers de code source et aux révisions manuelles du code.
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. DTP ajoute un test et analyse de la couverture du code pour évaluer l'exhaustivité des tests. Le maintien de cette corrélation bidirectionnelle entre les exigences, les tests et les artefacts qui les mettent en œuvre est un élément essentiel de la traçabilité.
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 automatisation pour étendre la traçabilité des exigencesLes 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.
1Gotel OCZ et Finkelstein ACW, « Une analyse du problème de traçabilité des exigences », dans Actes de l'ICRE94, 1ère Conférence internationale sur l'ingénierie des exigences, Colorado Springs, Co, IEEE CS Press, 1994
Améliorez vos tests logiciels avec les solutions Parasoft.
Explorez les chapitres
- Introduction "
- 1. Aperçu »
- 2. Analyse statique »
- 3. MISRA »
- 4. AUTOSAR C++ 14 »
- 5. SEI/CERT »
- 6. CWE »
- 7. Tests unitaires »
- 8. Tests de régression »
- 9. Tests d'intégration de logiciels »
- 10. Test du système logiciel »
- 11. Couverture du code structurel »
- 12. Matrice de traçabilité des exigences »
- 13. Qualification des outils »
- 14. Rapports et analyses »