Webinaire en vedette : Tests d'API améliorés par l'IA : une approche de test sans code | Voir le séminaire

Conformité des logiciels ISO 26262 dans l'industrie automobile

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.

Graphique montrant comment la traçabilité évolue en avant et en arrière à chaque phase de développement.
Le diagramme en V classique montre comment la traçabilité progresse en avant et en arrière à travers chaque phase de développement.
Chaque phase détermine la phase suivante. À leur tour, les éléments de travail de ces phases doivent satisfaire aux exigences de la phase précédente. La conception du système est déterminée par les exigences. La conception du système satisfait les exigences, et ainsi de suite.

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.

Graphique de validation du modèle en V entre chaque phase de développement et de test.
Différents niveaux d’exigences sont validés à différentes phases de développement à l’aide de différentes méthodes de test.
Dans le diagramme en V ci-dessus, chaque phase de test valide les exigences associées à la phase de conception/mise en œuvre correspondante. Dans l'exemple, vous voyez :
  • 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.

Instantané d'une matrice de traçabilité Codebeamer
Exemple de matrice de traçabilité des exigences dans PTC Codebeamer.

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.

Infographie des outils Parasoft et de leur traçabilité bidirectionnelle des exigences avec les systèmes de gestion des exigences par voie PAO.
Parasoft fournit une traçabilité bidirectionnelle des éléments de travail aux cas de test et aux résultats de test, en affichant des rapports de traçabilité avec Parasoft DTP et en rapportant 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.

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.

Capture d'écran de DTP montrant le tableau de bord de conformité à la norme ISO 26262
Modèle de matrice de traçabilité des exigences de Parasoft DTP intégré à Polarion ALM.

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

Bannière bleu foncé avec l'image d'un homme parlant à une femme tenant une tablette à la main dans une salle de serveurs.
Image d'un homme et d'une femme avec une tablette à la main en train de discuter dans une salle de serveurs.

Améliorez vos tests logiciels avec les solutions Parasoft.