Automatisation des tests
Architecture
proof of concept
Detailed User Interface
High Level
Requirement
Prototype
Requirements
Prepare
Testing Lab
&
Estimate testing
schedule
BAT Architecture
Document
Workpackage
Create Test
Case
Script &
scenarios
Data sheet
Implement Test
material
&
Establish test
Planning
Executed
Test Plans
Validation
(Run Test)
Change
Request
Iteration
sequence
Evaluate
&
Present test
results
Test Plans
Test Planning
Delivery Document
Test Report
Sign off
Automatisation
Plan:
Avantages et Inconvnients
Le processus dautomatisation des tests
Exemple de logiciels dautomatisation
Exemple de fonctions
Exemple dautomatisation dun test
Automatisation
Automatisation
Plan:
Avantages et Inconvnients
Le processus dautomatisation des tests
Exemple de logiciels dautomatisation
Exemple de fonctions
Exemple dautomatisation dun test
Automatisation
Automatisation:
Avantages et Inconvnients
Avantages de lautomatisation:
Meilleur couverture de lapplication:
Excution de plus de tests automatiques que manuels en un
mme intervalle de temps.
Minimiser les problmes de non rgression => Focalisation
des tests manuels sur les nouvelles fonctionnalits
Meilleur fiabilit de lapplication
Meilleur couverture
Stabilit du produit
Rsultat rigoureux
Pas dintervention humaine
Automatisation
Automatisation:
Avantages et Inconvnients
Avantages de lautomatisation:
Gain de temps
Excution rapide
Concentration sur lanalyse du problme
Dtection rapide des problmes (bugs)
Gain de temps pour la livraison
Automatisation
Automatisation:
Avantages et Inconvnients
Inconvnients de lautomatisation:
Cot pour la mise en place
Contrainte sur lcriture du test
Le test doit tre robuste => mme aprs une modification de
linterface graphique.
On ne peut automatiser lapplication ds lors quon connait l
interface graphique
=> Plus facile dcrire un test manuel quun test automatique
Automatisation
Automatisation
Plan:
Avantages et Inconvnients
Le processus dautomatisation des tests
Exemple de logiciels dautomatisation
Exemple de fonctions
Exemple dautomatisation dun test
Automatisation
Le processus dautomatisation des tests sinscrit
dans une stratgie qualit denvergure.
Il ncessite une tude pralable et le respect de
diffrentes tapes telles que : lvaluation des
cots et dlais, le choix dun outil du march
ou dun dveloppement interne spcifique, la
conception des scnarii de test, lexcution et
lanalyse des rsultats.
Automatisation
Automatisation
1. Le choix de lautomatisation
Lentreprise doit avant tout trouver son intrt
automatiser le processus de test car cest un
investissement important (Cot, dlais,
ressources). Il faut valuer tous les cots qui
touchent de prs ou de loin sa mise en
place. Il peut sagir de lachat des outils euxmmes, de la formation dispenser ou encore
des connaissances acqurir. Rien ne doit tre
oubli o laiss au hasard.
Automatisation
10
1.1 Dfinition des besoins
Les outils de tests sont nombreux et ne correspondent pas
tous les besoins, cest pourquoi il est important de mettre en
vidence les critres qui vont permettre la slection des
outils utiliser. Toutes les phases du processus de test ne
sont pas toujours automatisables.
La candidate vidente lautomatisation est sans conteste la
phase de non-rgression. Un mme scnario de test pourra
tre rpt autant de fois que ncessaire par les outils
automatiques et assurer la non-rgression dune version
lautre de lapplication. Les autres phases moins prioritaires,
peuvent galement sy prter, partir du moment o elles
remplissent un critre commun : La reproductibilit des
tests.
Les tests alatoires peuvent galement tre automatiss. 11
1.2 Evaluation des cots et dlais
Lutilisation dun outil de test doit tre envisage sur une
priode suffisamment longue pour permettre ce retour sur
investissement. Il ne sagit pas dune opration instantane,
mais dun investissement long terme.
Ces outils sont donc avantageux sur plusieurs cycles. Il est pour
cela ncessaire, lors de la ralisation du budget, de fixer des
objectifs moyen voir long terme en chiffrant avec un
maximum de prcision la partie des tests qui va tre
automatise.
Il apparat dans un premier temps que la mise en place de
telles solutions, cour terme, savre plus coteuse que
le recrutement de testeurs.
Automatisation
12
2. La dmarche de lautomatisation
ATLM (Automated Testing
Life-cycle Methodology)
13
2.1 Construction du test
Il est ncessaire de se fixer des objectifs des tests.
Les objectifs de chaque phase de tests seront identifis et dfinis en
considrant :
Les exigences fonctionnelles et de performance (en tenant compte
aussi des contraintes particulires de lenvironnement final
dutilisation du logiciel), exprimes dans les documents de
spcification / conception du produit logiciel.
Les exigences en matire de qualit et de sret de fonctionnement
(rectitude, robustesse, facilit de maintenance, disponibilit,
scurit, etc., cf. critres de qualit).
Toutes les contraintes denvironnement identifies (utilisation d'une
base de donnes, utilisation des nombres rels, langage de
programmation, logiciel temps rel, etc.).
Les exigences lgales et rglementaires.
14
Les contraintes de cot et de temps de test.
2.2 Lautomatisation du test
La dmarche de test automatique
15
2.2.1 Limplmentation
Limplmentation des cas de test et plus particulirement des
plans de test passe par llaboration de scripts de tests
(suivant les outils), de scenarii (pour les automates), de jeux
dessai et par la collecte des rsultats attendus.
Un script de test se matrialise typiquement par un fichier se
composant dune srie dinstructions dans un langage
formel, qui va tre interprt par un outil de test
automatis. Un mme script de test peut reprsenter une
partie ou la totalit dun plan de test.
Les valeurs dentres dun plan de test sont gnralement
parties intgrantes du script au mme titre que les rsultats
attendus, cependant, il peut arriver que ces valeurs soient
contenues dans un fichier spar.
Automatisation
16
2.2.1 Limplmentation (2)
Les pr-conditions dun test plan doivent galement faire partie
du script de telle manire que le test soit excut dans de
bonnes conditions. Par exemple, si un test ncessite la
prsence dun fichier particulier ou de donnes contenues
dans une base de donnes, il faudra sassurer que ces derniers
sont correctement initialiss pour contenir les informations
dont le test a besoin.
Certains tests ncessitent parfois des configurations matrielles
ou logicielles spciales, par exemple une connexion au rseau
ou une imprimante. Ceci fait galement partie de
lenvironnement de test quil faudra mettre en place avant
que le test automatique soit excut.
Automatisation
17
2.2.1 Limplmentation (fin)
Les rsultats attendus peuvent tre organiss dans un fichier
qui sera en suite utilis par loutil de test automatique.
Cependant, la dtermination des rsultats attendus savre
tre une tache relativement plus complexe que pour les
tests manuels.
En effet, elle ncessite une finesse dans la description bien
plus grande que pour le test manuel, puisquun automate
ne possde pas lintelligence du testeur et donc il faut
dterminer avec prcision les valeurs vrifier sans en
oublier, car il ny aura pas dinitiative de la part de
lautomate pour trouver une erreur qui ntait pas
pralablement spcifie.
Il faudra donc observer la plus grande rigueur lors de cette
18
tape.
2.2.2 Excution du test
Lapplication ou le service informatique sont excuts par
lintermdiaire de loutil de test. Cest donc lui qui va
assigner les valeurs dentre et rcuprer les valeurs de
sortie, quil va mmoriser pour ltape suivante cest dire
la comparaison des rsultats. Il doit galement connatre la
marche suivre en cas danomalie rencontre.
En effet, il peut soit stopper immdiatement aprs avoir
rencontr une anomalie, ou bien poursuivre le test. Tout
dpend des rpercutions dune anomalie sur le reste du
test.
Par exemple si le programme narrive pas se connecter la
base de donnes il est strictement inutile de poursuivre
puisque aucune information ne pourra tre visualise.
Automatisation
19
2.2.3 LAnalyse
L'analyse des comptes rendus (rapports) de tests doit tre
mene de faon systmatique et critique, notamment pour
la qualification des anomalies. En effet, on peut avoir de
fausses anomalies. Aprs l'excution d'un scnario,
l'quipe de test compare le rsultat constat au rsultat
attendu.
Une procdure en chec ne correspond pas forcment une
erreur dans l'application, il peut notamment s'agir :
Des modifications dans l'application (sans modification des
procdures);
Dune erreur dans la configuration de l'environnement;
Dune erreur dans la procdure de test;
Dune erreur de logique du
scnario (script).
Automatisation
20
2.2.3 LAnalyse (2)
Cest toute la diffrence quil y a entre comparer et vrifier,
loutil peut comparer mais rarement vrifier, ce qui reste une
tche gnralement humaine (parce quelle ncessite plus
dintelligence).
De la mme manire, une excution sans erreur ne garantit
pas totalement contre des incidents aprs la mise en
production. Le problme peut provenir d'un manque de
sensibilit de l'outil de test, ou d'une procdure de test pas
assez descriptive. C'est pourquoi il est important de mener
des revues sur les procdures avant de dmarrer
llaboration de scnarii.
L'analyse des rsultats peut confirmer la capacit des
procdures de tests trouver les erreurs.
Automatisation
21
Les mtriques de lautomatisation
L'utilisation de mtriques permet au chef de projet de
disposer d'indicateurs clef en termes de Qualification :
1) Couverture des tests;
2) Progression des tests;
3) Qualit de l'effort de tests.
Il existe de trs nombreuses mtriques, c'est pourquoi il est
important de dterminer celles qui sont importantes par
rapport l'organisation. Cette analyse devant se faire
conjointement l'tude de loutil.
Automatisation
22
1) Mtriques de couverture
Couverture des tests : Nombre total de procdures
de tests / Nombre total d'exigences de tests.
Couverture fonctionnelle : Nombre d'exigences de
tests couvertes par des procdures de test / Nombre
d'exigence de test.
Automatisation
23
2) Mtriques de progression
Statut des Procdures de test : Nombre de procdures de
tests excutes / Nombre total de procdures de test.
Ratio des anomalies par procdure : Nombre danomalies
dcouvertes / le nombre de procdures de tests excutes.
Age des Anomalies : Mesure le temps qui s'coule entre la
dcouverte dune anomalie (CR) et sa correction.
Analyse de l'volution du nombre danomalie : Cette
mtrique permet de suivre la tendance des anomalies par
procdure teste.
Automatisation
24
3) Mtriques Qualit
Taux de succs des tests : Nombre de tests positifs sur le
nombre de tests excuts
Qualit des correctifs : Taux danomalies redcouvert / Taux
danomalies corriges.
Densit d'erreurs : Nombre danomalies dcouvertes /
Nombre de procdures de test excutes pour une
fonctionnalit particulire
Exactitude des tests : Permet de juger de la pertinence des
tests mis en uvre. Une valeur trop faible peut la remettre
en cause. Il est important de solliciter l'intervention des
utilisateurs pour la juger.
Automatisation
25
Lavenir de lautomatisation dans le
gnie logiciel
Cette dmarche a largement t prouve dans de nombreuses
entreprises. Il parat vident que lvolution et lmergence de
solutions professionnelles tend promouvoir le test
automatique et lui prpare un bel avenir.
Cet avenir est tout dabord assur par une communaut
particulirement active.
Pour communiquer sur lactivit du test, un certain nombre
dacteurs, principalement des industriels (Editeurs de logiciels
et SSII) aids par les directions informatiques, veulent
contribuer au dveloppement des activits du test logiciel
(automatique et manuel) ainsi qu ladoption et la
gnralisation de meilleures pratiques (normalisation).
Automatisation
26
Conclusion
Automatisation
27
Automatisation
Plan:
Avantages et Inconvnients
Le processus dautomatisation des tests
Exemple de logiciels dautomatisation
Exemple de fonctions
Exemple dautomatisation dun test
Automatisation
28
Automatisation:
Exemple de logiciels
Logiciels dautomatisation de tests fonctionnels
Editeur Mercury:
WinRunner (langage utilis se rapproche du java)
Quick Test Pro (langage utilis se rapproche du VBScript)
Editeur Seapine Software:
QA Wizard
Editeur Borland:
SilkTest
Automatisation
29
Exemple de logiciels (2)
Selenium
IBM Rational Functional Tester
TestComplete
Testing Anywhere
LaodRunner
Visual Studio Test Professional
WATIR
Automatisation
30
Automatisation
Plan:
Avantages et Inconvnients
Le processus dautomatisation des tests
Exemple de logiciels dautomatisation
Exemple de fonctions
Exemple dautomatisation dun test
Automatisation
31
Automatisation:
Exemple de fonctions
Attendre lapparition dune page
Fonction sync
Browser("Browser").Page("Air France").Sync
Vrifier la prsence dun objet
Fonction exist
QTP:
Browser("Browser").Page("billet avion").WebList("aeroport").Exist
Browser("Browser").Page("billet avion").WebEdit("aeroArr").Exist
Winrunner:
obj_exists (strObjChecked, 10);
Automatisation
32
Automatisation:
Exemple de fonctions
Rcuprer les proprits dun objet
Fonction GetROProperty
Browser("Browser").Page("billet avion").WebList("aeroport")
.GetRoProperty( name")
=> On rcupre le nom de lobjet aeroport
Browser("Browser").Page("billet avion").Link("GoTo")
.GetRoProperty("href")
=> On rcupre la cible du lien GoTo
Browser("Browser").Page("billet avion").WebButton("submit")
.GetRoProperty("value")
=> On rcupre le nom afficher pour le bouton submit
Automatisation
33
Automatisation:
Exemple de fonctions
Condition et boucle
Fonction If
QTP:
If (Browser("Browser").Page("billet avion").Exist) then
Browser("Browser").Page("billet avion").WebButton("valid").Click
else if( )then
else
End if
Winrunner:
if (obj_exists( billet avion ,5)){
web_image_click(" valid ", 1, 1);
else ;
}
Automatisation
34
Automatisation:
Exemple de fonctions
Condition et boucle
Fonction while
QTP:
While(not Browser("Browser").Page("billet avion").Exist and i < 10)
wait(1)
i=i+1
Wend
Winrunner:
while (obj_exists(billet avion)&& i<10){
wait(1);
i ++;}
Automatisation
35
Automatisation:
Exemple de fonctions
Case
Fonction case
QTP:
Dim var
Select Case var
Case rouge Instruction
Case vert Instruction
Case else Instruction
End select
Winrunner:
Switch(var){
case rouge #Instruction
break;
case vert #Instruction
break;
}
Automatisation
36
Automatisation:
Exemple de fonctions
Cration du rapport
Fonction [Link]
[Statut],[StepName],[Detail]
QTP:
If (Browser("Browser").Page("billet avion").Exist) then
[Link] micDone, "Rsa", "OK"
else [Link] micFail, "Rsa", "KO"
End if
Statut peut tre gal "micDone", "micPass", "micFail", "micWarning
Winrunner:
if(obj_exists( billet avion ,5)){
tl_step(Rsa",passed,OK);
Else tl_step ( Rsa ,failed, KO );}
Automatisation
37
Automatisation
Plan:
Avantages et Inconvnients
Le processus dautomatisation des tests
Exemple de logiciels dautomatisation
Exemple de fonctions
Exemple dautomatisation dun test
Automatisation
38
Etapes de cration dun test automatique par le
logiciel Quick Test Pro
1 Ouverture de QTP
1.1 Slection des add-ins
A louverture de QTP il faut slectionner les modules
complmentaires (Add-ins). Ces modules correspondent au
langage de programmation de lapplication tester (.NET,
Java, Oracle, Web,). Il est possible de slectionner
plusieurs add-ins.
1.2 Connexion avec Quality Center
La connexion entre QC et QTP se fait trs simplement
partir de QTP. Il faut cliquer sur licne Quality Center
Connexion et saisir les identifiants utiliss dans QC.
Automatisation
39
Test automatique en QTP (2)
2. Cration dun test automatis
Il existe plusieurs manires de crer un test automatis.
a) Soit partir de QTP en crant un nouveau test. Pour que
ce test se trouve dans QC, au moment de
lenregistrement, il faut slectionner longlet Quality
Center Test Plan .
b) Soit partir de QC :
- En crant un nouveau test de type quicktest_test
dans longlet Test Plan ;
- En slectionnant generate_script dans la partie
Design Steps dun test manuel. Les diffrents Steps
seront alors des commentaires dans le test QTP.
Automatisation
40
Test automatique en QTP (3)
3 Enregistrement dun script
Pour enregistrer un script, il faut tout dabord cliquer sur
Record de loutil QTP.
Une fentre apparait avec diffrents onglets. Ceux-ci sont
les types dapplications disponibles pour le test. Ils se
mettent jour en fonction des modules complmentaires
(add-ins) renseigns louverture de loutil.
Il faut donc choisir le type dapplication tester, indiquer si
lapplication est dj ouverte ou slectionner un fichier
excutable,
Ensuite il faut excuter manuellement le test, pendant ce
temps QTP enregistre les diffrentes actions effectues.
Automatisation
41
Test automatique en QTP (4)
3.1 Lenregistrement en mode normal
Lenregistrement en mode normal est lenregistrement par dfaut.
QTP reconnat les objets dune application prise en charge,
dtermine le type dobjet et leur attribut une classe (Bouton
radio = WinRadioButton, liste droulante = WinComboBox).
Ensuite, il enregistre les actions effectues sur les objets.
La liste des objets et leurs proprits est sauvegarde dans un
Object Repository (rfrentiel dobjets).
Les proprits dun objet sont un ensemble de caractristiques
dfinissant laspect, les valeurs, ltat et lidentit dun objet au
sein dune application. Les proprits dobjet sont directement
extraites de lAPI de lapplication.
Automatisation
42
Le rfrentiel dobjets peut tre utilis pour : modifier les noms
des objets ; ajouter un nouvel objet ; configurer les proprits
utilises pour identifier un objet (ajout/suppression de
proprits).
La figure ci-dessous nous montre comment ajouter des proprits
sur un objet.
Automatisation
43
Test automatique en QTP (5)
3.2 Les vues de lenregistrement
Lenregistrement du script peut tre visualis de diffrentes
manires.
- Vue par objets.
Longlet Keyword View permet de voir lenregistrement en
fonction des objets de lapplication.
Cette vue contient un tableau disposant de plusieurs colonnes :
- Item = nom de lobjet ;
- Operation = action effectue sur lobjet ;
- Value = valeur de lobjet ;
- Documentation : dtail de laction.
Automatisation
44
Test automatique en QTP (6)
Nous pouvons distinguer facilement les diffrents
types dobjet (liste droulante, bouton, ).
Il est galement possible de rajouter, partir de cet
cran, des actions sans passer par lapplication en
cliquant sur Select an item . Il faut choisir un
objet et lui associer une action et une valeur. Si
tous les objets sont enregistrs dans QTP, il nest
plus ncessaire de passer par lapplication pour
scripter un test.
Automatisation
45
Vue par objets de QTP
Automatisation
46
Vue experte de QPT
Pour longlet Expert View , il sagit dafficher
lenregistrement avec le langage Visual Basic
Script.
Automatisation
47
Ecran actif de QTP
Automatisation
48
Test automatique en QTP (7)
3.3 Les enregistrements Low Level et Analog
Si lenregistrement en mode normal de QTP ne permet pas
denregistrer correctement laction, il est possible dutiliser
un des deux modes suivants :
Enregistrement Low level
Ce mode permet denregistrer tous les objets et
oprations laide des coordonnes de lapplication.
Voici un exemple de script gnr par cet enregistrement.
Window("Calculatrice").WinObject("5").Click 13,11
Window("Calculatrice").WinObject("+").Click 20,13
Window("Calculatrice").WinObject("6").Click 18,15
Window("Calculatrice").WinObject("=").Click 15,12
Automatisation
49
3.3 Enregistrement Analog (suit)
Enregistrement Analog
Avec lenregistrement Analog , QTP enregistre avec exactitude tous
les dplacements de souris et entres au clavier lis un cran ou
une fentre.
Il faut slectionner lapplication tester puis effectuer les diffrentes
actions.
Dans ce cas, le script est vu comme une seule action et nest pas
modifiable.
Window("Calculatrice").RunAnalog "Track1
! Ces deux modes sont viter car ils sont facilement obsoltes, soit
suite des modifications dIHM, soit si ils tournent sur un poste
avec une rsolution diffrente. Toutes ces raisons peuvent poser
des problmes lors du re-jeu.
50
4. Les points de contrle
Les points de contrle (checkpoints) permettent de garder en
mmoire les rsultats attendus par lapplication. Ils peuvent tre
insrs soit lenregistrement du script soit partir de lcran
Active Screen .
Il en existe plusieurs sortes sous QTP.
4.1 Standard Checkpoint
Le standard checkpoint est utilis pour vrifier les proprits
dun objet. Il permet galement denregistrer les valeurs dun
tableau se trouvant sur lapplication.
Sur les proprits dun objet
Aprs avoir slectionn ce type de checkpoint, il faut cliquer sur
lobjet que lon souhaite tester.
Automatisation
51
4.1 Standard Checkpoint (suit)
Point de contrle sur un objet
Automatisation
52
4.1 Standard Checkpoint (suit)
Lorsque lon souhaite vrifier les valeurs dun tableau, il faut galement
choisir le checkpoint standard . Aprs avoir slectionn le tableau
tester, lcran suivant souvre.
Il est possible de slectionner
seulement quelques valeurs du
tableau en cochant ou
dcochant certaines cellules.
Point de contrle sur un tableau
Automatisation
53
4.2 Text Checkpoint
Les checkpoints text et text area permettent de
contrler un texte ou un groupe de texte.
En plus de vrifier le texte slectionn, ces checkpoints
peuvent aussi tester les mots qui entourent celui-ci.
4.3 Bitmap Checkpoint
Le Bitmap Checkpoint peut tre utile pour vrifier des
graphiques. Il suffit de slectionner Bitmap Checkpoint
et de cliquer sur une partie de lapplication. Avec
loption Check only selected area, nous pouvons
choisir uniquement une partie de limage.
Automatisation
54
4.4 Database Checkpoint
Pour effectuer une vrification sur la base de donnes, il
faut slectionner Database Checkpoint .
Pour raliser une requte, il y a le choix entre
lutilisation manuelle ou laide de loutil graphique
Microsoft Query. Cet outil permet de slectionner les
tables et les champs que lon souhaite ajouter au
checkpoint. Avec la mthode manuelle, il suffit de saisir
une requte SQL de slection.
Dans les deux cas, il faudra slectionner une source de
donnes ODBC vers la base de donnes de lapplication.
Les proprits de ce checkpoint ressemblent celles
dun tableau. Il est possible de cocher ou dcocher des
Automatisation
55
cellules du tableau.
4.5 Accessibility Checkpoint
Ce checkpoint permet de vrifier quune page Web est conforme
aux rgles du W3C (World Wide Web Consortium). Ce
consortium international a pour but de promouvoir
l'volutivit du Web et de garantir son Interoprabilit.
Pour vrifier que la page Web est bien conforme, il faut
slectionner ce checkpoint, cliquer sur une page Web. Ensuite
QTP coche les lments qui peuvent tre vrifi sur la page.
4.6 XML Checkpoint
Il y a deux manires de vrifier un fichier XML, soit en cliquant sur
un fichier XML dj ouvert, soit en envoyant le chemin du
fichier QTP.
Ensuite, QTP affiche les donnes du fichier. Il est possible de
slectionner les valeurs tester.
Automatisation
56
5. La synchronisation dobjets
La synchronisation consiste ajouter une tape dans un
script de test qui indique QTP dattendre lapparition dun
objet particulier avant de passer ltape suivante.
La synchronisation garantit la russite de la r excution car
le script diffre toute action jusqu ce que lapplication soit
dans ltat adquat pour poursuivre.
Certains objets ncessitent un temps de traitement plus long :
- Une barre de progression doit atteindre 100% ;
- Un message de statut doit apparatre ;
- Un bouton doit tre activ ;
- Une fentre ou un message contextuel doit souvrir.
Automatisation
57
6. Gestion des donnes
QTP propose plusieurs manires de grer les donnes dans les
tests.
6.1 Table de donnes
QTP intgre directement une table de donnes interne ( DataTable
) matrialise sous la forme dune feuille de calcul type Excel
. Cest sur cette feuille quil est possible de stocker les donnes
utiliser dans les tests (donnes dentre et donnes de sortie).
Limportation et lexportation du fichier des donnes est possible
via loutil. Il est galement possible de renommer les colonnes
pour associer une suite de valeurs un champ saisir plusieurs
fois.
Automatisation
58
Chaque ligne de donnes gnre une itration du script. Pour
paramtrer les itrations, il faut aller dans la partie Run du Test
Settings . Il est possible de slectionner le nombre de lignes
excuter.
Pour ajouter un paramtre dentre dans la DataTable , il faut
enregistrer le script de test puis slectionner une des valeurs et
cliquer sur ses options de configuration. Il suffit de slectionner le
paramtre DataTable et donner un nom la variable.
Voici le rsultat de lajout de ces paramtres dans le script QTP :
59
6.2 Variables denvironnement
QTP peut aussi insrer dans le script une valeur provenant de
la liste de variables denvironnement.
Cette liste contient des variables avec un nom et une valeur.
Elle est accessible partir du test en interne ou exporte
partir dun fichier XML.
6.3 Variables alatoires
QTP peut gnrer des chiffres alatoires et les insrer en tant
que valeurs dun paramtre. Il est possible de choisir
lintervalle de ce chiffre et de produire un nouveau chiffre
chaque appel du paramtre, chaque itration ou
chaque excution du test.
Automatisation
60
7. Scnario de reprise
QTP dispose dun gestionnaire de scnarios de reprises qui permet de:
1. Dtecter et grer lapparition dune boite de dialogue derreur
particulire ;
2. Mettre en uvre un scnario de reprise, si une erreur survient,
permettant de poursuivre lexcution du test ;
3. Crer un scnario de reprise laide de lassistant Recovery
Scenario Wizard .
La premire tape est de slectionner lvnement dclenchant
linterruption du test , suivant lvnement dclencheur slectionn,
il faut identifier la pop-up ou le type derreur,
Ensuite, il faut indiquer QTP comment se comporter aprs avoir
dcouvert lvnement dclencheur.
La dernire tape est de prciser QTP ce quil doit faire aprs avoir
surmonter lvnement dclencheur, en indiquant le mode de reprise
souhait.
61
8 Dbogage et excution du test
8.1 Dboguer un script
QTP dispose dun module de dbogage de scripts.
Il est possible dajouter ou de supprimer des points darrt sur
une ligne du script. Un point darrt suspend lexcution du test
lorsque QTP latteint. Il est possible dexcuter le script ligne par
ligne et dafficher la valeur dune variable.
8.2 Excuter un script
Il y a plusieurs paramtres prendre en compte avant dexcuter
pour la premire fois un script QTP.
Il est possible de capturer les crans prsentant des erreurs ou
avertissements lors de lexcution ou denregistrer la vido des
crans prcdant les erreurs ou avertissements survenus lors
de lexcution.
Automatisation
62
8.2 Excuter un script en QTP (fin)
En fin dexcution du script, le fichier des rsultats
daffiche. Ce rapport dtaille lexcution du test et
montre le rsultat des points de contrles. Les
erreurs sont facilement dtectables.
Sil y a une erreur dans un tableau de valeurs, les
cellules errones disposent dune croix rouge.
De plus le rsultat attendu est renseign.
Ce rapport peut tre imprim ou export en fichier
HTML ou PDF.
Automatisation
63
Selenium outils pour tester des
application web
Prsentation:
Selenium est un outil dautomatisation de tests
fonctionnels permettant dexcuter des
scnarios dinteractions utilisateur avec une
application web. Il permet dune part de
valider les fonctionnalits de lapplication, et
dautre part de tester sa compatibilit avec des
environnements client htrognes (browser
et OS sur lequel est utilis le browser).
Automatisation
64
Selenium regroupe plusieurs outils
Selenium Core : coeur de Selenium. Le core doit tre install sur
le serveur sur lequel tourne votre application pour pouvoir les
tester,
Selenium IDE : extension Firefox capable denregistrer et
dexcuter des tests et des Test Suites (via TestRunner,
composant de lIDE capable de jouer des Test Suite),
Selenium Remote Control :
Serveur qui permet dexcuter des tests sur diffrents navigateurs (firefox,
internet explorer, opera, etc) et diffrents systmes dexploitation (MS
Windows, GNU/Linux, Mac OS)
Serveur qui permet dexcuter des Test Suites sur ces diffrents
navigateurs,
Serveur qui permet dexcuter des tests crit dans des languages de script
comme Ruby, Python, Java, .Net et Perl.
Automatisation
65
66
Petit aperu dun test enregistr dans Selenium IDE :
Contrairement Selenium Core,
Selenium RC et Selenium IDE
sinstallent sur le poste du
dveloppeur.
Selenium RC peut aussi
sinstaller sur un serveur
ddi lexcution des tests
si lon souhaite les excuter
de faon automatise.
67
Test enregistr dans Selenium IDE (fin)
Le test consiste :
ouvrir la page [Link],
Taper le mot cl "clever age"
Cliquer sur "Rechercher
Cliquer sur le lien "Clever Age, conseil en architecture technique"
Sur le site de Clever Age, vrifier la prsence du texte "systmes
informatiques flexibles").
Note:
Selenium nest pas fait pour :
Tester des applications non-web : client lourd, service web, etc.
Faire des tests de performance.
68
Test Suite
Nous pouvons voir les Test Suites de deux faons :
Un ensemble de tests individuels que nous voulons
jouer chaque nouvelle version dun projet. Chaque
test correspond un cas dutilisation et permet de
valider le bon fonctionnement de lapplication dans
son ensemble.
Un ensemble de composants qui seront utiliss pour
construire un test.. Ces composants pourront tre
mutualiss entre les diffrents tests.
Automatisation
69
Test Suite (2)
Exemple : le test dune application est souvent compos de
trois tapes : connexion lapplication, action mener
puis dconnexion de lapplication. Il faut crer trois tests :
Un test "connexion" : sa porte se limite aller sur
lcran dauthentification de lapplication, saisir les
identifiants et se connecter.
Un test "action" : le cur du test, il contient la
fonctionnalit tester dans notre scnario
Un test "dconnexion", consiste cliquer sur le lien
"Dconnexion" et vrifier que cela est bien le cas.
Automatisation
70
Comment sintgre Selenium dans un
processus dintgration continue ?
Il "suffit" de sappuyer sur la capacit de Selenium exporter les tests
enregistrs dans Selenium IDE dans un des formats supports par
Selenium RC et adapt votre outil dintgration continue.
Une fois export et intgr votre outil, lors dun commit, une tche
est lance qui consiste :
Lancer une instance du serveur Selenium RC.
Lancer votre test qui se connectera linstance du Selenium RC
et jouera le test.
Rcuprer le fichier de log produit par Selenium RC.
Traiter le fichier de log.
Vous pourriez objecter quil est possible de lancer Selenium RC avec
un test au format HTML. Certes mais dans la mesure o vous allez
vouloir probablement rinitialiser votre application suite votre
71
test, vous serez contraint de passer par un langage de script.
Conclusion
Automatisation
72