Está en la página 1de 72

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 Reporter.ReportEvent
[Statut],[StepName],[Detail]
QTP:
If (Browser("Browser").Page("billet avion").Exist) then
Reporter.ReportEvent micDone, "Rsa", "OK"
else Reporter.ReportEvent 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 Google.fr,


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

También podría gustarte