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 >>

Le test C / C ++, Jtest, dotTEST 10.3.2 et la version 5.3.2 de Development Testing Platform

Par Marc Lambert

20 juin 2017

5  min lire

Avec la sortie de cette semaine de Parasoft C / C ++ test, Jtest, dotTEST 10.3.2 et Parasoft DTP 5.3.2, nous fournissons de nombreuses améliorations pour améliorer l'efficacité du SDLC sur les thèmes suivants:

  1. Construire une pyramide de test solide
  2. Gérer le risque de changement
  3. Réduire le fardeau de la conformité

Dans cet article, je vais développer ce que cela signifie à un niveau plus exploitable. Plutôt regarder que lire? Ici, je l'ai expliqué dans une courte vidéo:

1. Construire une pyramide de test solide

Lorsque vous évaluez la meilleure façon de valider et de tester les exigences de votre application, vous allez généralement utiliser une ou plusieurs techniques de test, allant des tests unitaires aux tests manuels ou exploratoires. Les meilleures pratiques de test agile et continu recommandent d'appliquer ces techniques dans une pyramide, en se concentrant sur un ensemble solide de tests unitaires à la base et un ensemble minimal de tests manuels au sommet. Le raisonnement en est simple: les tests unitaires peuvent être facilement automatisés, rapides à exécuter et les exigences environnementales sont simples, par rapport aux tests fonctionnels, dans lesquels les exigences environnementales les rendent difficiles à configurer et à exécuter en continu.

Cependant, le défi est que les tests unitaires sont notoirement difficiles à créer par rapport aux tests manuels faciles à définir et à exécuter (même si vous devez attendre que l'application soit complètement assemblée avant de pouvoir effectuer des tests manuels). La réalité est que les organisations se retrouvent avec un Cornet de glace pas un pyramide et retarder les tests complets jusqu'à la fin d'un sprint ou même à la fin d'un cycle de publication.

La clé d'une pratique de test réussie est de viser la pyramide tout en combinant ces techniques pour fournir le meilleur retour sur investissement pour l'équipe - où l'investissement est le temps et le retour est la qualité - c'est là que la suite d'outils de test de développement de Parasoft peut vous aider.

L'approche de Parasoft est de prendre ce que vous avez «aujourd'hui» et de vous donner une visibilité de haut en bas de la pyramide. En agrégeant les données de couverture granulaires par cas de test non seulement pour les tests unitaires, mais aussi pour les tests fonctionnels automatisés et manuels à l'aide de nos moteurs de couverture, DTP est en mesure de fusionner toutes les informations de couverture en une seule vue pour une compréhension complète de la couverture de test. en bas de la pyramide - permettant aux équipes de choisir la meilleure technique de test ou de maximiser leur retour sur investissement.

Dans cette version, nous nous sommes concentrés sur l'activation de la base de test unitaire de la pyramide.

  • Pour les développeurs C / C ++, cette version présente le Test C / C ++ 10.3 Desktop. Il tire toute la puissance des capacités de test unitaire de C / C ++ test 9.6, y compris une approche de création de test basée sur l'interface utilisateur, un cadre d'isolation de code, des techniques avancées de couverture de code et un flux de travail rationalisé pour les périphériques embarqués, et le combine avec le moteur d'analyse statique amélioré et traçabilité de la couverture améliorée de l'architecture 10.x.
  • Pour les développeurs Java, cette version apporte des améliorations significatives à la Assistant de test d'unité Jtest y compris la possibilité de créer en bloc des cas de test au niveau du package / projet pour la création de tests évolutifs, d'appliquer la mutation des données lors de la création de tests de paramétrage pour une couverture étendue et des conditions aux limites de test, et la simplification de la création de tests pour les contrôleurs Spring WebMVC complexes.

2. Gérer le risque de changement

Les modifications apportées au code existant / hérité sont la principale raison de l'introduction de nouveaux défauts dans la base de code; la résolution d'un problème a souvent des conséquences inattendues et introduit plusieurs autres défauts. Comprendre la portée du changement et son impact sur la qualité globale est essentiel pour déterminer les actions à entreprendre pour atténuer ce risque.

Parasoft aide à répondre à la question "quel est l'impact du changement?" En analysant les changements entre les versions, le DTP est capable non seulement de déterminer les changements dans les ressources (c'est-à-dire les «fichiers»), mais aussi les changements dans les données de qualité (par exemple les résultats de l'analyse statique) et de les corréler pour fournir une visibilité de l'impact. Dans la nouvelle version, le Changer d'explorateur permet aux utilisateurs de comprendre les changements dans les résultats d'analyse statique mappés aux changements dans les ressources. Tous les problèmes identifiés lors de l'examen peuvent être enregistrés, assignés à des fins de correction et suivis directement à partir de l'interface Web de DTP.

Une autre question clé que nous aidons à résoudre est la suivante: «Que dois-je faire pour atténuer le risque?» C'est là que les analyses intelligentes fournies par le Moteur d'intelligence de processus (PIE) dans DTP fournit des informations précieuses. Dans cette version, plusieurs améliorations ont été apportées aux analyses suivantes dans PIE:

  • Test basé sur le changement - Pourquoi tout retester à chaque sprint? Les tests basés sur les changements vous permettent d'accélérer l'agilité en identifiant le sous-ensemble de tests qui doivent être réexécutés pour valider les modifications de code.
  • Couverture du code modifié - Imaginez que vous ayez un million de lignes de code hérité avec seulement 20% de couverture de code. Vous changez maintenant 100 lignes de code - comment savoir si votre couverture est suffisante? Cela vous permet de gagner du temps et de vous concentrer sur la création de nouveaux tests pour vous assurer que vous testez la bonne partie de la base de code.
  • Changements de code risqués - Quel est le risque associé au code que vous venez de modifier? Dans quelle mesure les changements ont-ils été testés? Dans quelle mesure sont-ils bien construits? Quel est le montant de la dette qualité existante associée au code modifié? Cela permet de répondre à ces questions afin que l'équipe de développement puisse prendre des décisions éclairées sur la meilleure façon d'atténuer le risque.
  • Score de stabilité du test - Cet échec de test signifiait-il quelque chose ou est-ce toujours le cas? Où sont les vraies régressions? La notation de la stabilité des tests vous aide à comprendre (1) les échecs importants et (2) les tests dont vous avez besoin pour stabiliser afin qu'ils puissent fournir des informations précieuses.

3. Réduire le fardeau de la conformité

Développé à l'origine pour l'industrie automobile, MISRA est devenu la norme de facto dans tous les secteurs (par exemple, le médical, l'automatisation industrielle) pour les équipes d'ingénierie logicielle embarquée axées sur le développement de dispositifs fiables, prévisibles et sécurisés. En 2016, MISRA a lancé la publication Conformité MISRA: 2016 - Atteindre la conformité avec les directives de codage MISRA, un ensemble de procédures et d'exigences de rapport pour démontrer la conformité aux normes MISRA.

Le test Parasoft C / C ++ prend en charge MISRA C: 2012, y compris les consignes de sécurité supplémentaires de l'amendement 1. Dans cette version, nous introduisons un nouveau Pack de conformité MISRA pour Parasoft DTP qui rationalise la création de tous les artefacts requis pour démontrer la conformité.

Comme nous l'avons vu avec les extensions de MISRA (c'est-à-dire MISRA C: 2012 Amendment 1), l'accent est mis sur l'application des meilleures pratiques de sécurité aux logiciels embarqués, en partie par l'explosion de la fourniture de systèmes centrés sur l'IoT. Dans cette version, nous avons également étendu l'analyse de sécurité effectuée par le test Parasoft C / C ++ pour inclure plusieurs nouvelles règles pour la norme de sécurité CERT C.

Il y a beaucoup de détails derrière ces améliorations de la suite Parasoft d'outils de test de développement que vous pouvez lire dans les notes de version complètes.

Si vous êtes un client existant, vous pouvez consulter le Parasoft Portail Clients pour accéder aux notes de version et télécharger les derniers programmes d'installation pour les dernières fonctionnalités. Si vous êtes nouveau sur Parasoft, veuillez demander une démo et l'un de nos experts en solutions se fera un plaisir de répondre aux questions et de vous donner une présentation plus détaillée.

« MISRA », « MISRA C » et le logo triangulaire sont des marques déposées de The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Tous droits réservés.

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.