Découvrez comment intégrer facilement l'analyse statique, les tests unitaires et d'autres méthodes de test de logiciels C et C++ dans votre pipeline CI/CD. Inscrivez-vous pour la démo >>

Satisfaire la traçabilité des exigences Jama aux tests et au code

Par Ricardo Camacho

24 juin 2021

5  min lire

Jama est le logiciel de gestion des exigences leader de l'industrie. Cependant, la vérification et la validation des exigences Jama peuvent poser de nombreux défis aux développeurs. Voici comment la solution de test logiciel automatisé de Parasoft peut vous aider à le faire.

Il est étonnant de voir combien de planification, de considérations juridiques, de connaissances techniques et de coûts sont nécessaires pour développer et fournir des systèmes logiciels. Il existe des activités ou des sous-couches de pratique, telles que la gestion des exigences, les tests ou la vérification et la validation des exigences, qui ne sont que quelques-unes des phases du cycle de vie du développement logiciel (SDLC).

De plus, le développement de systèmes critiques pour la sécurité et la sûreté augmente encore la main-d'œuvre et les coûts tout au long de chaque phase du SDLC en raison des besoins de conformité et de certification. Par conséquent, l'intégration d'une solution de gestion du cycle de vie des applications (ALM) est essentielle à la réussite d'un projet.

Les solutions ALM, comme Connexion Jama, sont conçus pour s'adapter à toutes les méthodologies SDLC courantes, notamment Waterfall, Spiral, Agile ou votre propre technique de développement personnalisée. Quel que soit le SDLC en place, les solutions ALM abordent les phases générales suivantes du développement logiciel :

  • Gestion des exigences
  • Conception de logiciels
  • Développement de logiciels
  • Tests logiciels

Ces phases englobent trois fonctionnalités de workflow clés que les outils ALM tels que Jama fournissent.

  1. Collaboration et alignement entre équipes.
  2. Gestion des risques tout au long du cycle de développement.
  3. La gestion des tests complétée et réalisée par des solutions de test.

Capture d'écran d'un projet Jama Connect

Les solutions de tests automatisés, comme celles proposées par Parasoft, donnent des commentaires critiques sur l'exhaustivité et la rigueur du processus de test pour développer et fournir des logiciels conformes et de haute qualité.

Gestion des exigences

La gestion des exigences est un processus ou une technique pour documenter toutes les exigences collectées, convenir des exigences, puis les analyser, les décomposer et les hiérarchiser. Les équipes d'ingénierie peuvent ensuite concevoir et développer selon les exigences actuelles et approuvées.

Pendant que les exigences sont décomposées, la traçabilité doit être maintenue tout au long des phases de développement, car les exigences des clients se décomposent en exigences système, de haut niveau et de bas niveau. La phase de codage ou de mise en œuvre réalise les exigences de bas niveau. Considérez le diagramme en V typique du logiciel.

Le diagramme en V montre la traçabilité bidirectionnelle à travers chaque phase de développement

Chaque phase entraîne la phase suivante. À leur tour, les éléments de travail ou les exigences affinées de chaque phase doivent satisfaire aux exigences de la phase précédente. Les exigences architecturales qui ont été créées ou décomposées à partir de la conception du système doivent satisfaire la conception/les exigences du système, et ainsi de suite.

Satisfaire les exigences de Jama à chaque phase

La traçabilité prouve que chaque phase satisfait aux exigences Jama de chaque phase suivante. Les développeurs écrivent du code qui implémente ou réalise chaque exigence et pour les applications critiques pour la sécurité, des liens de traçabilité aux cas de test et jusqu'au code sont établis. Par conséquent, si une exigence client change ou est supprimée, l'équipe sait ce qu'elle impacte sur toute la ligne, jusqu'au code et aux tests qui valident les exigences.

Mieux ensemble : amplifiez votre solution de gestion des exigences

Les normes de l'industrie telles que DO-178B/C, ISO 26262, IEC 62304, IEC 61508, EN 50128 et d'autres exigent la construction d'un matrice de traçabilité pour l'identification de toute lacune dans la conception et la vérification des exigences. Cela permet d'atteindre l'objectif ultime de construire le bon produit. Plus que cela, il s'agit de s'assurer que le produit a la qualité, la sûreté et la sécurité pour s'assurer qu'il reste le bon produit.

Capture d'écran de l'intégration de Jama avec Parasoft C/C++test : Traçabilité des exigences Jama Connect répertoriant tous les fichiers à examiner.

Vérification et validation des exigences

La vérification est la partie du SDLC qui garantit que le travail est correct. La vérification du logiciel comprend généralement :

  • Conformité aux normes de l'industrie, garantissant que le processus et les artefacts respectent les directives.
  • Examens, procédures pas à pas, inspections.
  • Analyse statique et autres activités sur les artefacts produits pendant le développement.
  • Application des normes d'architecture, de conception et de codage.
  • Garantir l'absence de lacunes dans la matrice de traçabilité.

La validation démontre que le produit final répond à ses exigences. Ces exigences englobent la fonctionnalité ainsi que la fiabilité, les performances, la sûreté et la sécurité. De plus, la validation indique de voir, d'essayer et de tester le produit. Il consiste en l'exécution du logiciel et la démonstration de son fonctionnement, et implique généralement :

  • Exécution de code pour démontrer la fonctionnalité correcte
  • Exécution dans des environnements cibles
  • Stress, performances, pénétration et autres tests non fonctionnels
  • Tests d'acceptation aux clients

Accélération de la vérification et de la validation

Les outils d'automatisation des tests logiciels de Parasoft accélèrent la vérification et la validation des exigences en automatisant les nombreux aspects fastidieux de la tenue des dossiers, de la documentation, des rapports, de l'analyse, des tests unitaires, des tests d'intégration, des tests système, de la couverture du code structurel et bien plus encore.

Optimisation des tests unitaires et de régression pour les systèmes embarqués

Voici des stratégies pour accélérer efficacement les processus de vérification et de validation.

  • Utilisez l'analyse statique le plus tôt possible pour garantir la qualité et la sécurité lorsque les développeurs écrivent du code. En outre, l'analyse statique empêche les bogues et vulnérabilités futurs, réduisant ainsi l'impact en aval des bogues manqués lors des inspections et des tests.
  • Automatiser la conformité aux normes de codage pour réduire l'effort manuel et accélérer les inspections de code.
  • Fournir une traçabilité bidirectionnelle pour tous les artefacts pour s'assurer que les exigences ont un code et des tests pour prouver qu'elles sont remplies. Les métriques, les résultats de test et les résultats d'analyse statique sont liés aux exigences et vice versa.
  • Exécuter le code et tester la couverture pour s'assurer que toutes les exigences sont mises en œuvre et pour s'assurer que la mise en œuvre est testée selon les besoins.
  • Tableau de bord d'analyse d'offres pour aider à la prise de décision et suivre les progrès. La prise de décision doit être basée sur les données collectées à partir des processus automatisés.
  • Automatisez la génération de la documentation pour soutenir la conformité des processus et des normes.
  • Automatiser la conformité aux normes pour réduire les frais généraux et la complexité en automatisant les processus les plus répétitifs et les plus fastidieux. De plus, les outils peuvent suivre l'historique du projet et relier les résultats aux exigences, aux composants logiciels, aux tests et aux écarts enregistrés.
  • Automatisez toutes les suites de tests pour minimiser les tests manuels et réduire le goulot d'étranglement des tests dû à la disponibilité limitée du matériel.
  • Exécuter des tests cibles et basés sur l'hôte pour prendre en charge différentes techniques de validation selon les besoins.
  • Commencez les tests de décalage à gauche dès que les équipes développent le code. Il s'appuie cadres de tests unitaires et génère automatiquement des harnais à tester dès que le code est prêt. La prise en charge du développement piloté par les tests et des tests continus est disponible à mesure que le processus d'une organisation mûrit.
  • Gérez le changement avec une exécution de test intelligente pour se concentrer sur les tests uniquement pour le code qui a changé et les dépendants concernés.

Image du modèle V montrant les logos Jama, DTP et TUV à gauche avec les logos Parasoft à droite en ligne avec le stade approprié du SDLC dans lequel ils sont utilisés.

Automatiser le SDLC

L'intégration entre Jama Connect et Parasoft est plus que complémentaire. La combinaison automatise et aide à accomplir les tâches requises pour chacune des phases SDLC. Au cœur de chaque projet logiciel, vous trouverez les exigences qui définissent le comportement fonctionnel et non fonctionnel du système.

Pour s'assurer que le système répond à ses attentes, les exigences Jama sont décomposées. Des liens de traçabilité sont établis entre les artefacts qui les affinent ou les satisfont. Les solutions de test de logiciels automatisés de Parasoft aident ensuite à vérifier et à valider les exigences de Jama, répondant ainsi aux obligations de conformité et de certification logicielle des industries, comme l'automobile, avionique, médical, industriel et Schiene.

En savoir plus sur l'intégration entre les exigences Jama et la vérification et la validation des tests avec Parasoft.

Par Ricardo Camacho

Responsable principal du marketing produit technique pour les solutions de test embarquées de Parasoft, Ricardo possède une expertise dans le SDLC et l'automatisation des tests des applications embarquées en temps réel, critiques de sécurité et de sécurité, ainsi que la conformité des logiciels aux normes de l'industrie.

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