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 :
-
Exécuter l'assistant de test de composant
-
Saisir les données de test et les résultats attendus
-
Modifier le comportement du module de remplacement
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).
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).
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.
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) :
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) :
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) :
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 :
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) :
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) :
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.
|