Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Architecture
proof of concept
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
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
Automatisation
Automatisation
Plan:
Avantages et Inconvnients
Le processus dautomatisation des tests
Exemple de logiciels dautomatisation
Exemple de fonctions
Exemple dautomatisation dun test
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
12
2. La dmarche de lautomatisation
ATLM (Automated Testing
Life-cycle Methodology)
13
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
17
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
21
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
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
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
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
39
40
Automatisation
41
42
Automatisation
43
44
45
Automatisation
46
Automatisation
47
Automatisation
48
49
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
51
52
Automatisation
53
Automatisation
54
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
Automatisation
58
59
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
62
63
64
65
66
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
70
Conclusion
Automatisation
72