Automatisez le processus de qualification des outils pour les logiciels critiques pour la sécurité

Par Marc Lambert

24 Avril 2018

5  min lire

Automatisez le processus de qualification des outils pour réduire le temps et les efforts nécessaires, afin que vous puissiez vous concentrer sur le développement de logiciels de haute qualité.

Les normes de développement de logiciels critiques pour la sécurité, telles que DO178B / C (aérospatiale), ISO 26262 (automobile), EN-50128 (ferroviaire) et CEI 61508 (sécurité fonctionnelle), exigent que les fabricants prouvent que les outils qu'ils utilisent pour développer leur logiciel fournit des résultats corrects et prévisibles. Le processus de fourniture de telles preuves est connu sous le nom de qualification des outils et, bien qu'il s'agisse d'un processus nécessaire, la qualification des outils est souvent une activité fastidieuse et chronophage que de nombreuses organisations ne planifient pas.

Le livrable final est une preuve sous forme de documentation, mais le processus de qualification va au-delà de la simple fourniture d'une grande quantité de documentation statique. Dans cet article, je vais vous montrer comment utiliser le nouveau Kits de qualification pour le test C / C ++, qui incluent un assistant d'outil pratique qui apporte l'automatisation dans l'image et réduit le temps et l'effort requis pour la qualification des outils.

Tout d'abord: assurez-vous que l'outil que vous utilisez est certifié

La qualification des outils doit commencer par la sélection des outils, en s'assurant que vous utilisez un outil de développement certifié par une organisation telle que TÜV SÜD. Cela réduira considérablement l'effort de qualification des outils. Parasoft C / C ++test  est certifié par TÜV SÜD pour la sécurité fonctionnelle selon les normes CEI 61508 et ISO 26262 pour les applications cibles basées sur l'hôte et embarquées - ouvrant la voie à une qualification rationalisée de l'analyse statique, des tests unitaires et des exigences de couverture pour les normes critiques pour la sécurité.

Deuxièmement: réduire l'effort manuel de qualification des outils

Traditionnellement, la qualification des outils impliquait des quantités importantes de travail manuel, de tests et de documentation des outils de développement pour satisfaire un audit de certification. Mais ce processus lourd en documentation nécessite une interprétation et un achèvement manuels et, en tant que tel, prend du temps et est sujet à l'erreur humaine.

Nous résolvons ce problème en automatisant ce processus avec nos kits de qualification. Augmenter la productivité et réduire les erreurs humaines grâce à l'automatisation a toujours été au cœur de ce que nous faisons chez Parasoft, nous avons donc appliqué cette même mission au processus de qualification des outils pour le test Parasoft C / C ++. Nos kits de qualification guident l'utilisateur à travers un flux de travail intuitif pour réduire considérablement l'effort requis.

Les avantages de l'utilisation des kits de qualification incluent:

  • Réduire automatiquement la portée de la qualification aux seules parties de l'outil en cours d'utilisation
  • Automatiser au maximum les tests requis pour la qualification
  • Gérer les tests manuels de manière aussi éloquente que possible et intégrer les résultats aux côtés des tests automatisés
  • Générer automatiquement une documentation prête pour l'audit qui rapporte exactement ce qui est qualifié, pas plus (ou moins!)

Ne qualifiez que ce que vous utilisez

Pourquoi obliger les développeurs à passer au crible le matériel de qualification pour DO-178B / C lorsqu'ils réalisent un projet automobile nécessitant la norme ISO 26262? Que se passe-t-il si vous n'utilisez que des parties de notre suite d'outils? Il ne devrait pas être nécessaire de faire un travail supplémentaire pour les capacités de qualification non utilisées dans vos produits de développement. La réduction de la portée des tests, des rapports et de la documentation est un moyen clé de réduire la charge de travail de qualification.

L'exemple ci-dessous montre un utilisateur sélectionnant le seul cas d'utilisation du test C / C ++ utilisé (analyse statique) pour vérifier la conformité à la norme MISRA C 2012, dans le cadre de la qualification ISO 26262. L'outil sélectionne alors uniquement les parties de la suite de qualification nécessaires à cette fonction.

 

Les utilisateurs peuvent désélectionner des options pour réduire davantage la portée selon les besoins de leur projet. Lors de la sélection, seuls les tests et la documentation sont utilisés et fournis à partir de maintenant.

Kit de qualification - Exemple 2

Tirez parti de l'automatisation et de l'analyse des tests

S'il y a un avantage à qualifier les outils d'automatisation de test… c'est que les outils peuvent être utilisés pour automatiser leurs propres tests! La qualification de l'outil nécessite que des tests soient exécutés et les résultats vérifiés comme indiqué dans les kits de qualification que nous fournissons. Automatiser autant que possible cela est essentiel pour le rendre aussi indolore que possible. Même les tests manuels, qui sont inévitables pour tout outil de développement, sont traités aussi efficacement que possible - des instructions pas à pas sont fournies et les résultats sont saisis et stockés dans le dossier de qualification.

Le test Parasoft C / C ++ collecte et stocke tous les résultats des tests de chaque build, et les tests s'exécutent comme ils le font pour tout type de projet. Ces résultats sont introduits dans l'assistant d'état du test dans les kits de qualification Parasoft pour fournir un aperçu complet des résultats:

La centralisation, l'agrégation et l'automatisation du processus de qualification réduisent considérablement le suivi manuel des progrès de la conformité.

Qu'en est-il des défauts connus?

Chaque outil de développement a des bogues connus et tout fournisseur qui ne les documente pas ne rend pas service à vos efforts de conformité. Mais il y a plus à traiter avec les défauts connus que de simplement les documenter. La qualification des outils nécessite que vous fournissiez la preuve que ces défauts n'affectent pas les résultats utilisés dans le projet. Pour chaque défaut connu, vous devez fournir une atténuation pour chacun et le documenter à la satisfaction de l'auditeur certificateur.

Il incombe au fournisseur d'outils d'automatiser autant que possible la gestion des défauts connus. Après tout, nous demandons aux clients de gérer nos bugs dans le cadre de leur charge de travail! Les kits de qualification de test Parasoft C / C ++ incluent un assistant pour automatiser l'enregistrement de l'atténuation des défauts connus, comme indiqué ci-dessous:

Automatisez la documentation dont vous avez besoin

Le résultat final de la qualification des outils est la documentation, et une grande partie de celle-ci. Chaque test exécuté avec des résultats, chaque défaut connu avec atténuation, les résultats des tests manuels et les exceptions sont tous enregistrés et signalés. Les kits de qualification d'autres fournisseurs peuvent n'être que de la documentation, et sans automatisation, documenter la conformité est très fastidieux.

Au lieu de cela, à l'aide des kits de qualification pour le test C / C ++, les documents critiques sont générés pour vous dans le cadre du flux de travail:

  • Rapport de classification des outils (détermine la qualification nécessaire et présente la classification du niveau de sécurité maximal pour le test C / C ++ en fonction des cas d'utilisation sélectionnés par l'utilisateur)
  • Plan de qualification des outils (décrit comment le test C / C ++ sera qualifié pour une utilisation dans un projet de développement lié à la sécurité)
  • Rapport de qualification d'outil (démontre que le test C / C ++ a été qualifié selon le plan de qualification de l'outil)
  • Manuel de sécurité des outils (décrit comment le test C / C ++ doit être utilisé en toute sécurité, c'est-à-dire conforme aux normes de sécurité telles que ISO 26262, CEI 61508, etc. dans les projets critiques pour la sécurité)

Dans chacun de ces documents, seule la documentation requise pour les fonctionnalités de l'outil en cours d'utilisation est générée, puisque la portée de la qualification a été réduite au début du projet. L'automatisation et la réduction de la portée de la qualification réduisent considérablement le fardeau de la documentation.

Conclusion

La qualification des outils pour les projets logiciels critiques pour la sécurité dans les secteurs de l'automobile, de l'aérospatiale, des chemins de fer et de la sécurité fonctionnelle est un processus fastidieux. Réduire la portée de la qualification et automatiser autant que possible le processus est essentiel pour réduire la charge de travail et l'ennui de la qualification. Les kits de qualification Parasoft pour le test C / C ++ le rendent aussi indolore et efficace que possible, afin de réduire considérablement le fardeau de nos clients, afin qu'ils puissent recommencer à livrer des produits de haute qualité à leurs clients.

Nouvelle incitation à l'action

Par Marc Lambert

Vice-président des produits chez Parasoft, Mark est chargé de s'assurer que les solutions Parasoft apportent une valeur réelle aux organisations qui les adoptent. Mark travaille chez Parasoft depuis 2004, travaillant avec un large éventail de clients de Global 2000, des implémentations technologiques spécifiques aux initiatives plus larges d'amélioration des processus SDLC.

Recevez les dernières nouvelles et ressources sur les tests de logiciels dans votre boîte de réception.