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

Temps de lecture: 8 minutes

Aperçu

Smiths Medical est l'un des principaux fabricants mondiaux de dispositifs médicaux spécialisés qui fournit des solutions innovantes et vitales aux marchés mondiaux de la santé. La société est spécialisée dans la thérapie par perfusion, l'accès vasculaire et les soins vitaux. Ses produits se trouvent dans les environnements hospitaliers, d'urgence, à domicile et de soins spécialisés et sont utilisés pendant les soins critiques et intensifs, la chirurgie, les soins postopératoires et pour le soutien à la gestion des maladies chroniques.

Il est impératif de fournir des logiciels sûrs et de haute qualité pour leurs dispositifs médicaux. Pour cette raison, Smiths Medical construit ses dispositifs médicaux critiques pour la sécurité avec un processus d'ingénierie rigoureux où les tests logiciels jouent un rôle essentiel pour la vérification et la validation.

Regardez un aperçu de la présentation de Smiths Medical au Sommet de test et de conformité des logiciels embarqués 2021. Découvrez comment ils ont fait évoluer leurs tests de logiciels vers un développement piloté par les tests pour atteindre une couverture de code de plus de 70 %.

PRÉSENTATION COMPLÈTE DISPONIBLE ICI >>

Les défis

Le développement de logiciels pour dispositifs médicaux est difficile en raison des exigences de sûreté et de sécurité. La vérification et la validation du logiciel jouent un rôle important pour prouver que la fonctionnalité prévue a été mise en œuvre et que la sécurité et la sûreté ont été intégrées aux produits.

L'automatisation des tests est un fondement important de l'approche de test de Smiths Medical. Les tentatives précédentes d'adoption d'outils n'ont pas été pleinement couronnées de succès. L'équipe de développement recherchait une solution pour soutenir l'ensemble de leurs efforts de test avec une nouvelle approche et un nouvel état d'esprit de développement piloté par les tests (TDD).

La pyramide d'automatisation des tests.
La pyramide des tests

Voici quelques-uns des défis auxquels l'équipe a été confrontée.

Échec précédent des outils d'automatisation des tests. L'équipe de développement logiciel a déjà essayé d'autres outils d'automatisation des tests. Ils ont échoué pour diverses raisons. L'automatisation des tests était essentielle pour passer au développement piloté par les tests. L'équipe a cherché une solution pour répondre à leurs besoins avec un processus d'évaluation approfondi.

Trouver la bonne solution pour leurs besoins et leur processus. L'équipe de développement a poursuivi une évaluation approfondie des solutions commerciales et open source pour s'assurer que leur prochaine tentative d'automatisation des tests réussirait. Ils avaient besoin d'outils pour répondre à leurs exigences techniques et d'une solution adaptée à leur processus. L'équipe voulait des solutions avec une présence substantielle sur le marché et une courbe d'apprentissage raisonnable, mais a évité le verrouillage du fournisseur.

Transition de l'équipe logicielle vers de nouveaux outils et TDD. Smiths Medical s'est fixé pour objectif de déplacer l'ensemble de l'équipe logicielle vers TDD afin que les tests fassent partie intégrante de leur processus de développement et de leur pipeline de logiciels. Pour y parvenir, il leur fallait plus que des tests automatisés et des outils. Ils avaient besoin d'un état d'esprit différent. L'entreprise recherchait un changement dans sa culture de développement qui augmenterait la qualité, la sécurité et la sûreté de ses produits grâce à des tests de meilleure qualité et plus complets sans impact sur les calendriers de livraison et les budgets.

L'approche

La recherche approfondie d'une solution de test intégrée répondant aux exigences de Smiths Medical comprenait des évaluations d'options commerciales et open source.

Recherche d'une solution d'automatisation des tests

L'évaluation des outils comprenait sept fournisseurs commerciaux et une sélection d'outils open source. Les exigences de Smiths Medical comprenaient la prise en charge des tests de bas en haut de la pyramide des tests :

Comparaison des fournisseurs de Smiths Medical

FonctionnalitéConcurrent AParasoftOpen source
Test ManagerYYY
Test unitaireYYY
Bout d'essai / maquetteYYY
Test d'intégrationYYY
Couverture de codeYY-
Analyse statiqueYY-
CCMYY-
Génération de rapportsYY-
Intégration CIYYY
Intégration IDE-YY
Exécuter sur la cibleYY-
Prise en charge de Linux-YY
Kit de qualification-Y-

Parasoft a répondu à ces exigences et a été sélectionné comme fournisseur pour aider l'équipe à atteindre ses objectifs de test.

« L'un des grands domaines qui représentaient un défi dans le passé était la courbe d'apprentissage des produits. Les outils que nous avions utilisés dans le passé étaient trop compliqués pour répondre aux besoins de l'équipe », a déclaré Bill Schiller, architecte logiciel principal senior chez Smiths Medical.

« Un autre critère important pour nous est la présence sur le marché. Nous voulons un partenaire qui va rester avec nous sur le long terme. Cependant, le côté opposé de cette pièce est un verrouillage du fournisseur. L'une des choses que nous contestons en tant que décideurs dans notre organisation est « quelles sont les alternatives ? » Allons-nous être enfermés dans cette solution pour toujours ? Nous avons pensé que c'était moins un problème pour nous avec Parasoft.

Évoluer vers TDD

Smiths Medical a reconnu qu'ils devaient aller plus loin que simplement adopter l'automatisation des tests unitaires. Leur plan était de déplacer l'équipe vers le développement piloté par les tests où la conception/le refactoring et les tests sont étroitement imbriqués. Les tests sont écrits comme une description de la fonctionnalité de l'unité attendue et le code est écrit et factorisé pour s'assurer que les tests réussissent.

Image du cycle TDD.
Le cycle TDD

Bien que le passage à TDD puisse entraîner des coûts initiaux, il existe des avantages significatifs en aval en termes de taux de défauts inférieurs, notamment :

  • Une boucle de rétroaction rapide pour les développeurs.
  • Moins de temps passé au débogage.
  • Construire un code « solide » avec des interfaces propres.

Une partie importante du passage à TDD a été l'automatisation des tests et les outils qui prennent en charge ce processus. Parasoft C / C ++test contribue à rendre les tests plus précieux en termes de relation et de traçabilité aux exigences, à la couverture du code, aux éléments de travail, aux builds et à d'autres artefacts. C/C++test facilite également le développement de tests unitaires avec la création et l'exécution de tests automatisés et une maintenance de test beaucoup plus simple.

Exécution de tests d'hôte, de simulateur et de cible

En raison de la nature de leurs produits, Smiths Medical avait besoin d'une solution de test prenant en charge son environnement de développement intégré basé sur ARM. Ils ont pu générer et exécuter des tests sur leur environnement hôte, un simulateur cible et un périphérique cible réel à l'aide de Parasoft C/C++test.

Image de l'environnement de test Smiths Medical avec les plates-formes hôte, émulateur et cible.
Environnement de test Smiths Medical avec plateformes hôte, émulateur et cible

Un aspect essentiel de leur solution était la capacité de s'intégrer à leur environnement de développement et à leur pipeline CI ainsi qu'à la chaîne d'outils intégrée. De plus, leur processus de développement nécessitait la collecte de résultats de test et de métriques telles que la couverture de code directement à partir de l'appareil cible.

Collecte de la couverture du code et des métriques

Le développement de logiciels critiques pour la sécurité, comme celui réalisé chez Smiths Medical, doit garantir des tests approfondis. Le code qui n'est pas testé ne peut pas être validé ou confirmé pour des raisons de sûreté ou de sécurité.

De plus, les exigences doivent être validées avec des tests et une traçabilité est nécessaire entre les exigences, le code et les tests. La collecte du code et la couverture des tests (sur l'hôte et la cible) étaient essentielles au processus de développement logiciel de l'équipe, ainsi que des rapports de haut niveau avec analyse et tendances.

Les avantages de la solution

Après avoir envisagé une variété d'options de support d'outils pour leur évolution vers TDD, y compris des solutions open source, Smiths Medical a choisi Parasoft C/C++test pour de nombreuses raisons.

Prise en charge complète des exigences. Les exigences techniques et commerciales sont importantes lors de l'évaluation et de la sélection du bon outil. Pour Smiths Medical, une faible courbe d'apprentissage, une présence sur le marché des fournisseurs, des coûts d'adoption globalement réduits et une intégration transparente dans leur pipeline CI figuraient en tête de liste. Le test Parasoft C/C++ a coché toutes les cases.

Coûts de maintenance réduits par rapport aux solutions open source. Bien que fervent partisan de l'open source, Smiths Medical s'est rendu compte que l'adoption d'une solution entièrement open source signifiait consacrer des ressources à la formation, à la maintenance et à l'utilisation des outils. On estime que cela représente au moins 25 % de la charge de travail d'un développeur à temps plein sur une base continue.

Qualification d'outils pour les applications critiques pour la sécurité. Un critère souvent négligé pour les outils de développement logiciel est la qualification et la disponibilité des kits de qualification. Les kits de qualification d'outils pour Parasoft C/C++test automatisent le processus de création de la documentation de support requise pour la qualification d'outils d'analyse statique, de tests unitaires et d'exigences de couverture. Ces kits réduisent le risque d'erreur humaine et réduisent le temps nécessaire pour effectuer la qualification des outils.

Automatisation des tests avec prise en charge flexible des tests basés sur l'hôte et la cible. La capacité d'exécution, d'analyse et de couverture de code basée sur l'hôte et la cible était essentielle pour prendre en charge l'environnement de test de Smiths Medical. En raison de la nature de leur développement de produits, ils devaient valider sur les systèmes hôtes et cibles et Parasoft C/C++test intégré dans leur environnement de test et pipeline CI/CD existants.

Reporting centralisé pour suivre les progrès et le succès. La mesure du succès est vitale dans tout projet et Smiths Medical a utilisé Parasoft DTP pour suivre leurs progrès sur des métriques telles que la complexité et la couverture du code. Leur philosophie était de surveiller la tendance dans le sens positif par rapport à la valeur de la métrique elle-même.

Les Résultats

Smiths Medical a fait évoluer ses tests vers un développement piloté par les tests et a constaté de nombreux résultats positifs de son acquisition et de son adoption du test Parasoft C/C++ pour son développement de logiciels critiques pour la sécurité, notamment :

Formation réussie de l'équipe et intégration des outils. Changer l'état d'esprit des développeurs faisait partie de l'objectif de Smiths Medical. Cela nécessitait une formation (y compris une formation sur les produits de Parasoft) et un dépassement de la courbe d'apprentissage pour les outils et les nouveaux processus. L'équipe a adopté une approche progressive. Parasoft a assuré la formation initiale et le conseil pour les outils et les nouveaux processus. Une autre phase de formation est intervenue après que l'équipe de développement de Smiths Medical a mis les outils à profit dans son pipeline d'IC ​​et dans son développement quotidien.

Ils ont réussi à adopter TDD et à intégrer l'automatisation des tests dans leur processus de développement. Le passage à l'automatisation et au TDD ont permis d'améliorer l'efficacité et les résultats des tests.

Amélioration de la stabilité des tests. Les tests unitaires sont du code. Comme tout code, ils sont sujets aux erreurs et aux bogues et nécessitent une maintenance. Smiths Medical était aux prises avec des échecs de test qui nécessitaient trop de temps de débogage pour déterminer si l'unité testée était cassée ou s'il s'agissait du test lui-même. Une fois qu'ils sont passés au TDD et à l'automatisation avec Parasoft C/C++test, leur stabilité de test a considérablement augmenté. La maintenance des tests a été plus facile et les échecs de tests ont diminué en général.

Meilleure couverture du code et réduction de la complexité du code. L'augmentation de la couverture du code était essentielle pour Smiths Medical en raison de l'aspect sécurité de leurs produits. Ils devaient faire preuve de diligence raisonnable dans les tests de leurs logiciels et démontrer une couverture de code appropriée en fait partie. À cette fin, ils ont utilisé Parasoft C/C++test pour instrumenter le code et capturer leur couverture de code, et Parasoft DTP pour suivre la couverture du code et les métriques de complexité du code. Dans les deux cas, les tendances se sont améliorées au fil du temps. La couverture du code est maintenant supérieure à 70 %. La complexité du code a diminué en dessous de 15 sur la base des mesures de complexité cyclomatique de McCabe. En fait, il était désormais plus facile que jamais d'augmenter la couverture grâce à la génération, l'exécution et la collecte des résultats de tests automatisés.

Ratio de défauts ouverts à fermés tendant vers zéro. Smiths Medical a observé que le nombre de tests augmentait en raison des efforts déployés pour obtenir une meilleure couverture de code, ce qui était directement attribué à leurs nouveaux processus et à leur automatisation. Cependant, au lieu que les échecs de test augmentent parallèlement à l'augmentation des tests, ils diminuent. De plus, le rapport des défauts ouverts aux défauts fermés tendait vers zéro. Cela signifiait que la qualité des cas de test s'améliorait en termes de clarté et de résultats de test attendus correctement définis. Il y avait plus de tests et plus de tests réussis. Il y avait également une réduction du travail manuel nécessaire pour corriger les défauts ou les tests eux-mêmes.

Image de la tendance des résultats des tests de Smiths Medical au fil du temps. Le nombre total de tests augmente mais le taux d'échecs diminue.
Tendance des résultats des tests de Smiths Medical au fil du temps. Le nombre total de tests augmente mais le taux d'échecs diminue.

Qualification d'outil simplifiée. Les kits de qualification de Parasoft couvrent toutes les capacités de Parasoft C/C++test pour répondre en même temps aux exigences d'analyse statique, de tests unitaires et de couverture de code pour les logiciels critiques pour la sécurité. Sans cela, Smiths Medical serait tenu de qualifier individuellement plusieurs outils dans sa chaîne d'outils, ce qui entraînerait une duplication importante des efforts.

Découvrez comment votre organisation peut surmonter les défis du développement de logiciels de dispositifs médicaux à l'aide d'une approche SDLC intégrée.

  • Industrie: Dispositifs médicaux
  • Taille de l'entreprise: 7,500
  • Emplacement : San Clemente, en Californie
  • Solution: Test C / C ++