Guide d'utilisation de l'outil: Exécution des suites de tests à l'aide des outils Rational PurifyPlus (Windows et UNIX)
Ce guide d'utilisation de l'outil décrit l'utilisation des outils Rational PurifyPlus dans les suites de test afin de détecter des fuites ou erreurs de mémoire potentiellement dommageables afin de s'assurer que vos tests atteignent un niveau acceptable de taux de couverture du code et de soumettre à votre attention des problèmes de performance.
Outil: Rational PurifyPlus
Relations
Description principale

Ce guide d'utilisation de l'outil est applicable avec les systèmes Microsoft Windows et UNIX.

Les outils PurifyPlus comprennent Rational Purify, Rational PureCoverage et Rational Quantify.

icône d'aide Pour en savoir plus sur les outils PurifyPlus, lisez le manuel Guide d'initiation de PurifyPlus (version Windows ou UNIX).

icône livre d'aide Pour obtenir des informations détaillées sur l'utilisation des outils PurifyPlus, référez-vous à l'aide en ligne de l'outil.

Vous pouvez utiliser les outils PurifyPlus dans les cas suivants :

  • Détecter des fuites et erreurs de mémoire (programmes C/C++ sous Windows et UNIX). Utilisez Purify pour détecter les erreurs et les fuites dans l'application testée.
  • Surveiller le taux de couverture du code (Windows et UNIX). Utilisez PureCoverage pour afficher vos écarts dans votre test et pour vous alerter pour les régressions.
  • Profiler les performances (Windows et UNIX). Utilisez Quantify pour vous avertir si de nouveaux archivages dégradent les performances.

L'exécution des suites de test avec les outils PurifyPlus se traduit par un code fiable et sans erreurs pour une efficacité maximale.


Etapes outil

Pour implémenter des tests à l'aide des outils PurifyPlus :

1. Exécuter le programme sous Purify afin de rassembler les données de fuite d'erreur (programmes C/C++ uniquement) 

Purify détecte les erreurs d'exécution, y compris les fuites de mémoire, dans l'application testée et dans les composants utilisés. Il génère des rapports sur des erreurs de mémoire comme des erreurs de limites de tableau, un accès via des pointeurs ambigus, des lectures de mémoire non initialisées, des erreurs d'affectation de mémoire et des fuites de mémoire afin qu'elles soient résolues avant de provoquer des dégâts.  

Commencez par intégrer Purify dans vos scripts Perl, vos fichiers de traitement par lots et vos fichiers makefile.

  • Sous Windows , modifiez les lignes de commande qui exécutent votre programme <ProgramName>.exe
     
    Purify /SaveTextData <ProgramName>.exe
     

  •  
  • Sous UNIX, modifiez la ligne de lien et de compilation :
     
    % purify -logfile=<filename> cc -g <program_name>.c

L'utilisation de l'option /SaveTextData -logfile sous UNIX aura pour conséquence de faire fonctionner Purify sans l'interface utilisateur, et, lorsque vous exécutez le programme à partir de votre script, d'envoyer les données d'erreur et de fuite dans un fichier de sortie texte lorsque votre programme se termine.

Examinez vous-même ce fichier de sortie ou écrivez des scripts pour l'analyser. Vous pouvez utiliser les messages d'erreur et d'avertissement dans le fichier comme critères supplémentaires pour vos résultats de test.

Vous pouvez regrouper les données de couverture pour les mêmes exécutions, si vous avez installé PureCoverage, en ajoutant l'option /Coverage (Windows) ou en ajoutant purecov purify (UNIX). A l'aide des données de couverture, vous pouvez également trouver les parties de votre code pour lesquelles la présence d'erreurs n'a pas été vérifiée. Pour plus d'informations sur l'utilisation des données de couverture, voir l'étape 2 de ce guide d'utilisation de l'outil.

Remarques :

  • Utilisez l'API Purify afin de contrôler le regroupement des données à partir de votre programme.
  • Purify possède également des options de ligne de commande vous permettant d'enregistrer des données de test en tant que fichiers binaires que vous pouvez examiner à l'aide de l'interface utilisateur graphique de Purify ; ce sujet est abordé dans le guide d'utilisation de l'outil "Analyse des performances d'exécution à l'aide des outils Rational PurifyPlus."

icône livre d'aide Pour plus d'informations, reportez-vous aux rubriques suivantes dans l'index de l'aide en ligne de Purify :

  • exécution de programmes
  • messages d'erreur
  • options
  • fonctions d'API
  • enregistrement des données

2. Exécuter le programme sous PureCoverage afin de contrôler le taux de couverture du code. 

PureCoverage fournit des informations relatives au taux de couverture du code pertinentes au niveau de la fonction et de la ligne. Utilisez PureCoverage pour vos tests réalisés pendant la nuit afin de vous assurer que les tests suivent le rythme du développement du code.

Commencez par intégrer PureCoverage dans vos scripts Perl, vos fichiers de traitement par lots et vos fichiers makefile existants.

  • Sous Windows, modifiez les lignes de commande qui exécutent votre programme ou le fichier de classe Java, le fichier .jar ou l'applet pour inclure PureCoverage:
     
    Pour les programmes C/C++ : Coverage /SaveTextData <ProgramName>.exe
    Pour les fichiers de classe Java : Coverage /SaveTextData /Java Java.exe <ClassName>.class
    Pour les programmes de code gérés par .NET : Coverage /SaveTextData /Net <ProgramName>.exe
     
    L'utilisation de l'option /SaveTextData aura pour conséquence de faire fonctionner PureCoverage sans l'interface utilisateur, et, lorsque vous exécutez le programme à partir de votre script, d'envoyer les données dans un fichier de sortie texte lorsque votre programme se termine.

  •  
  • Sous UNIX, modifiez la ligne de lien et de compilation :
     
    Pour les programmes C/C++ : % purecov cc -g <program_name>.c
    Pour les fichiers de classe Java : % purecov -java java <class_name>
     
    Utilisez l'option -export de PureCoverage après avoir quitté le programme afin d'écrire les données de couverture dans un fichier de sortie texte.

Au fur et à mesure que vous essayez votre code, PureCoverage enregistre les données concernant les lignes et les fonctions utilisées. Vous pouvez appeler des fonctions d'API PureCoverage à partir de votre programme afin d'enregistrer des données à des points spécifiques de votre code ou de collecter des données pour certaines routines. Lorsque vous quittez le programme, vous disposez d'un ensemble de données précis vous indiquant les lignes et les fonctions qui ont été ou non couvertes par votre test.

Vous pouvez fusionner des données de couverture à partir de plusieurs exécutions ou les conserver dans des fichiers séparés afin d'analyser des changements de taux de couverture.

Utilisez des scripts pour comparer des données actuelles avec des données collectées auparavant. Si le taux de couverture est en baisse, il est possible que vos tests ne puissent pas essayer un nouveau code ou que le nouveau code ait introduit un incident se traduisant par l'impossibilité de tester une grande partie du code. Utilisez un outil de test comme Rational Robot ou Rational Visual Test pour écrire des cas de test qui mettent en pratique le nouveau code.

Remarque : vous pouvez examiner des fichiers de données de couverture binaires à l'aide de l'interface utilisateur graphique de PureCoverage.

icône livre d'aide Pour plus d'informations, référez-vous aux rubriques suivantes de l'index de l'aide en ligne de PureCoverage :

  • exécution de programmes
  • options
  • fonctions d'API
  • enregistrement des données
  • comparaison des données

3. Exécuter le programme sous Quantify pour profiler les performances  

Quantify fournit un ensemble complet et précis de données de performance pour votre programme et ses composants afin que vous puissiez contrôler les performances et identifier les régressions de manière précoce dans le cycle de test et de développement. 

Commencez par intégrer Quantify dans vos scripts Perl, vos fichiers de traitement par lots et vos fichiers makefile existants.

  • Sous Windows, modifiez les lignes de commande qui exécutent votre programme ou le fichier de classe, le fichier .jar ou l'applet pour inclure Quantify:
     
    Pour les programmes C/C++ : Quantify /SaveTextData <ProgramName>.exe
    Pour les fichiers de classe Java : Quantify /SaveTextData /Java Java.exe <ClassName>.class
    Pour les programmes de code gérés par .NET : Quantify /SaveTextData /Net <ProgramName>.exe
     
    L'utilisation de l'option /SaveTextData aura pour conséquence de faire fonctionner Quantify sans l'interface utilisateur, et, lorsque vous exécutez le programme à partir de votre script, d'envoyer les données dans un fichier de sortie texte lorsque votre programme se termine.

  •  
  • Sous UNIX, modifiez la ligne de lien et de compilation :
     
    Pour les programmes C/C++ : % quantify cc -g <program_name>.c
    Pour les fichiers de classe Java : % quantify -java java <class_name>
     
    Utilisez l'option -export de Quantify après avoir quitté le programme afin d'écrire les données de performance dans un fichier de sortie texte.

Lorsque vous mettez votre code en pratique, Quantify enregistre des données sur les performances de votre programme. Vous pouvez utiliser des fonctions d'API pour suspendre et synthétiser l'enregistrement de données à tout moment et limiter ainsi le profilage à des parties de code spécifiques. Vous pouvez également enregistrer des données à des points spécifiques de l'exécution de votre code ou collecter des données de performance uniquement pour des routines spécifiques. Lorsque vous quittez votre programme, Quantify dispose d'un profil précis de ses performances.

Vous pouvez écrire des scripts qui comparent des ensembles de données et génèrent des rapports sur des changements de performance :

  • Les dégradations de performance peuvent indiquer que le code le plus récemment archivé a ralenti le programme. Analysez les données que vous avez collectées pour trouver les sections du programme ayant des performances non acceptables.
  • Les améliorations marquées peuvent indiquer que les développeurs ont amélioré leur code ou que vos tests ont cessé de mettre en pratique de larges sections de code. Vérifiez vos données de couverture afin de vous assurer que vous atteignez toujours les niveaux de couverture précédents.

Remarque :Quantify peut également enregistrer des données de test en tant que fichiers binaires que vous pouvez examiner à l'aide de l'interface utilisateur graphique Quantify ; ce sujet est abordé dans le guide d'utilisation de l'outil "Analyse des performances d'exécution à l'aide des outils Rational PurifyPlus."

Pour plus d'informations, référez-vous aux rubriques suivantes de l'index de l'aide en ligne de Quantify :

  • exécution de programmes
  • options
  • fonctions d'API
  • enregistrement des données
  • comparaison des données