Guide d'utilisation de l'outil: Implémentation des tests développeur à l'aide de Rational Test RealTime
Ce guide d'utilisation de l'outil explique comment implémenter des tests à l'aide de Rational Test RealTime.
Outil: Rational Test RealTime
Relations
Description principale

Présentation

Test RealTime intègre trois outils de test :

  • Unit Testing automatise le test de composant des logiciels écrits en C et en Ada.
  • Object Testing est une approche orientée objet au test de comportement du code C++.
  • System Testing est un environnement puissant permettant de tester les applications qui utilisent des messages.

Le choix de l'outil de test à utiliser avec votre application dépend de l'environnement de développement et de la nature de l'application. Pour chaque outil de test, vous devez développer un script de test dédié.

Lorsque vous utilisez Test RealTime, avant d'écrire les tests réels pour votre application, vous devez créer un projet de test et relier ce projet à l'application testée.

Etapes outil

Pour créer un script de test dans Test RealTime, effectuez les actions suivantes :

  1. Exécuter l'assistant de test de composant
  2. Saisir les données de test et les résultats attendus
  3. Modifier le comportement du module de remplacement

1. Exécuter l'assistant de test de composant

Test RealTime est livré avec un assistant de test de composant qui, lorsqu'il est exécuté, analyse le code source spécifié et génère une routine de test entièrement exécutable. Pour s'assurer que le code cible est testé comme prévu, le développeur n'a plus qu'à entrer les données de test et les résultats attendus (deuxième étape outil) et à définir le comportement du module de remplacement (troisième étape outil).

REMARQUE : l'utilisation de l'assistant de test de composant n'est pas obligatoire. Tous les fichiers et le code nécessaires à la réalisation d'un test peuvent être générés manuellement. Cependant, l'assistant peut permettre un gain d'efforts considérable. Dans les deux cas, l'exécution du test et la génération de rapport sont automatisées.

Il existe deux moyens d'accéder à l'assistant de test de composant. Les deux méthodes considèrent qu'un projet Test RealTime a déjà été ouvert.

  • Sélectionnez le lien Activities (Activités), situé à gauche dans la page d'accueil de Test RealTime. Cette sélection fait apparaître une liste dans laquelle le développeur peut choisir trois activités principales. Pour réaliser le test de composant, il doit alors sélectionner le lien Component Testing (Test de composant).

  • Effectuez un clic droit sur n'importe quel fichier source de classe/méthode/fonction/procédure dans le navigateur Asset (Actif) de la fenêtre du projet, situé à droite dans Test RealTime. La sélection de l'option Test... dans le menu en incrustation fait apparaître l'assistant de test de composant.

La principale différence entre ces deux méthodes de lancement de l'assistant de test de composant est la suivante : tandis que dans la première option, l'assistant demande à l'utilisateur de sélectionner le(s) fichier(s) source contenant les fonctions/méthodes/procédures à tester, dans la seconde, il sait déjà quel(s) sera(ont) ce(s) fichier(s) source et passe les premières étapes.

Dans les deux cas, le développeur sera invité à sélectionner un mode de test : Typical (Courant) ou Expert. La différence est liée au comportement souhaité du module de remplacement. Rappelons qu'un module de remplacement est "un composant doté d'une fonctionnalité à des fins de test", c'est-à-dire un composant dont le comportement est prédéfini de manière à faciliter le test de certains autres composants système. En mode Typical (Courant), Test RealTime générera automatiquement un canevas de module de remplacement pour toute fonction/méthode/procédure explicitement référencée dans le(s) fichier(s) source sélectionné(s). Le mode Expert, lui, vous permet de sélectionner des composants supplémentaires non explicitement référencés dans le(s) fichier(s) source choisi(s). Dans les deux cas, la fonctionnalité réelle de ces modules de remplacement est définie plus tard (voir la troisième étape outil ci-dessous).

Au terme de l'exécution de l'assistant, Test RealTime crée un noeud dans le projet actif. Ce noeud contient une référence au(x) fichier(s) source sélectionné(s), ainsi qu'aux fichiers nécessaires à la création de la routine de test. Ces fichiers supplémentaires doivent être modifiés pour :

  • définir le comportement du module de remplacement
  • spécifier les données utilisées pour piloter les fonctions/méthodes/procédures testées
  • spécifier les résultats attendus pour chaque ensemble de données d'entrée

Concernant C, C++ et Ada, Rational Software a construit la routine de test, les modules de remplacement pour le test et les langages de script de test pour prendre en charge les complexités de ces langages. Concernant Java, Test RealTime utilise Java en tant que langage de script de test et fonde sa routine de test et ses infrastructures de module de remplacement sur l'infrastructure préfabriquée JUnit (http://www.junit.org).

manuel d'aide Pour des informations plus détaillées, consultez le chapitre Graphical User Interface->Activity Wizards->Component Testing Wizard (Interface utilisateur graphique > Assistants Activités > Assistant Test de composant) du Rational Test RealTime User Guide (Guide d'utilisation de Rational Test RealTime).

2. Saisir les données de test et les résultats attendus

Les scripts de test générés par l'assistant de test de composant peuvent être exécutés immédiatement. Cependant, tant que le développeur n'a pas spécifié les données réelles avec lesquelles piloter le composant testé, ainsi que les valeurs de sortie attendues, le test ne sera ni très utile, ni informatif.

Chaque langage pris en charge par Test RealTime facilite la création du test de différentes manières ; chaque approche a été optimisée en fonction des caractéristiques uniques de chaque langage. C++ est particulièrement unique, car il permet non seulement de générer et d'exécuter des tests standard, mais également d'effectuer des vérifications de contrat facultatives. Les vérifications de contrat agissent comme des assertions : elles permettent de vérifier des éléments tels que des pré/postconditions et des invariants.

manuel d'aide Pour des informations plus détaillées sur les langages C et Ada, consultez les chapitres suivants du Rational Test RealTime User Guide (Guide d'utilisation de Rational Test RealTime) :

  • Automated Testing->Component Testing for C and Ada->C and Ada Test Script->Overview->Test Script Structure (Tests automatisés > Test de composant pour les langages C et Ada > Script de test C et Ada > Structure du script de test)
  • Automated Testing->Component Testing for C and Ada->C and Ada Test Script->Ada (Tests automatisés > Test de composant pour les langages C et Ada > Script de test C et Ada)

    manuel d'aide Consultez également les chapitres suivants du Rational Test RealTime Reference Guide (Guide de référence de Rational Test RealTime)

  • Component Testing Scripting Languages->C Test Script Language->C Test Script Language Keywords (Langages de script de test de composant > Langage de script de test C > Mots-clés du langage du script de test C) ->ELEMENT...END ELEMENT
  • Component Testing Scripting Languages->C Test Script Language->C Test Script Language Keywords (Langages de script de test de composant > Langage de script de test C > Mots-clés du langage du script de test C) ->ENVIRONMENT...END ENVIRONMENT
  • Component Testing Scripting Languages->Ada Test Script Language->Ada Test Script Language Keywords (Langages de script de test de composant > Langage de script de test Ada > Mots-clés du langage du script de test Ada) ->ELEMENT...END ELEMENT
  • Component Testing Scripting Languages->Ada Test Script Language->Ada Test Script Language Keywords (Langages de script de test de composant > Langage de script de test Ada > Mots-clés du langage du script de test Ada) ->ENVIRONMENT...END ENVIRONMENT

manuel d'aide Pour des informations plus détaillées sur le langage C++, consultez les chapitres suivants du Rational Test RealTime User Guide (Guide d'utilisation de Rational Test RealTime) :

  • Automated Testing->Component Testing for C++->C++ Testing Overview (Tests automatisés > Test de composant pour le langage C++ > Présentation du test C++)

    manuel d'aide Consultez également les chapitres suivants du Rational Test RealTime Reference Guide (Guide de référence de Rational Test RealTime)

  • Component Testing Scripting Languages->C++ Test Script Language->C++ Test Driver Scripts (Langages de script de test de composant > Langage de script de test C++ > Scripts de pilote de test C++)

manuel d'aide Pour des informations plus détaillées sur le langage Java, consultez les chapitres suivants du Rational Test RealTime User Guide (Guide d'utilisation de Rational Test RealTime) :

  • Automated Testing->Component Testing for Java->Java Testing Overview->About JUnit (Tests automatisés > Test de composant pour le langage Java > Présentation du test Java)

    manuel d'aide Consultez également les chapitres suivants du Rational Test RealTime Reference Guide (Guide de référence de Rational Test RealTime)

  • Component Testing Scripting Languages->Java Test Primitives (Langages de script de test de composant > Primitives du test Java)

3. Modifier le comportement du module de remplacement

Les composants sont conçus pour agir d'une manière particulière. Indépendamment de leur niveau de granularité, ces composants doivent répondre à un certain ensemble d'entrées en produisant un certain ensemble de sorties qui peut être prédéfini. L'expression "qui peut être prédéfini" signifie que les résultats peuvent être spécifiés, de manière explicite ou algorithmique, avant l'exécution du test.

Très souvent, les composants requièrent l'aide d'autres composants dans le système pour accomplir leur fonctionnalité. Ces autres composants peuvent être très simples, comme une fonction supplémentaire, ou immensément complexes, comme un sous-système entier situé ailleurs dans le système. Dans les deux cas, il n'est pas rare qu'un développeur découvre que les efforts mis en oeuvre pour le test de composant soient entravés par l'absence ou le mauvais fonctionnement temporaires des composants sur lesquels repose leur code. La réalisation de modules de remplacement pallie cette difficulté. (En fait, elle peut être utilisée pour garantir le bon fonctionnement d'un composant en évitant qu'il repose sur un code de tiers.)

Le développeur est responsable de la simulation correcte des composants sur lesquels repose le composant testé. Une simulation correcte signifie que la fonctionnalité simulée doit être suffisamment précise pour garantir que la réussite ou la défaillance du composant testé provient vraiment de ce composant, et non des informations incorrectes fournies par les modules de remplacement.

Rational Test RealTime facilite la création de modules de remplacement par le biais des langages de script de test pris en charge. Pour obtenir plus d'informations sur la création de modules de remplacement pour les tests :

manuel d'aide Pour des informations plus détaillées sur les langages C et Ada, consultez les chapitres suivants du Rational Test RealTime User Guide (Guide d'utilisation de Rational Test RealTime) :

  • Automated Testing->Component Testing for C and Ada->C and Ada Test Script->Simulations->Stub Simulation Overview (Tests automatisés > Test de composant pour les langages C et Ada > Script de test C et Ada > Simulations > Présentation de la simulation du module de remplacement)

    manuel d'aide Consultez également les chapitres suivants du Rational Test RealTime Reference Guide (Guide de référence de Rational Test RealTime)

  • Component Testing Scripting Languages->C Test Script Language->C Test Script Language Keywords (Langages de script de test de composant > Langage de script de test C > Mots-clés du langage de script de test C) ->STUB
  • Component Testing Scripting Languages->Ada Test Script Language->Ada Test Script Language Keywords (Langages de script de test de composant > Langage de script de test Ada > Mots-clés du langage de script de test Ada) ->STUB

manuel d'aide Pour des informations plus détaillées sur le langage C++, consultez les chapitres suivants du Rational Test RealTime User Guide (Guide d'utilisation de Rational Test RealTime) :

  • Automated Testing->Component Testing for C++->C++ Testing Overview->C++ Test Driver Script (Tests automatisés > Test de composant pour le langage C++ > Présentation du test C++ > Script de pilote de test C++)

    manuel d'aide Consultez également les chapitres suivants du Rational Test RealTime Reference Guide (Guide de référence de Rational Test RealTime)

  • Component Testing Scripting Languages->C++ Test Script Language->C++ Test Script Keywords (Langages de script de test de composant > Langage de script de test C++ > Mots-clés du script de test C++) ->STUB

manuel d'aide Pour des informations plus détaillées sur le langage Java, consultez les chapitres suivants du Rational Test RealTime User Guide (Guide d'utilisation de Rational Test RealTime) :

  • Automated Testing->Component Testing for Java->Java Testing Overview->Java Stub Harness (Tests automatisés > Test de composant pour le langage Java > Présentation du test Java > Routine de test du module de remplacement Java)

Pour plus d'informations

Pour des informations plus détaillées sur l'exécution de la campagne de tests, reportez-vous au guide d'utilisation de l'outil intitulé Exécution des tests à l'aide de Rational Test RealTime.