72
Automatisation des tests 1 Workpackage Prepare Testing Lab & Estimate testing schedule Architecture proof of concept High Level Requirements BAT Architecture Document Create Test Case Detailed Requirement User Interface Prototype Implement Test material & Establish test Planning Test Plans Data sheet Script & scenarios Test Planning Validation (Run Test) Delivery Document Change Request Executed Test Plans Evaluate & Present test results Test Report Sign off Iteration sequence

6 Automatisation

Embed Size (px)

DESCRIPTION

Testation de la produit.

Citation preview

  • Automatisation des tests

    1

    Workpackage

    Prepare Testing Lab

    & Estimate testing

    schedule

    Architectureproof of concept

    High Level Requirements

    BAT ArchitectureDocument

    Create Test Case

    Detailed Requirement

    User Interface Prototype

    Implement Testmaterial

    &Establish test

    Planning

    Test Plans

    Data sheetScript & scenarios

    Test Planning

    Validation(Run Test)

    Delivery Document

    Change Request

    Executed Test Plans

    Evaluate &

    Present test results

    Test Report Sign off

    Iterationsequence

  • Automatisation

    Automatisation 2

    Plan:

    Avantages et Inconvnients

    Le processus dautomatisation des tests

    Exemple de logiciels dautomatisation

    Exemple de fonctions

    Exemple dautomatisation dun test

  • Automatisation

    Automatisation 3

    Plan:

    Avantages et Inconvnients

    Le processus dautomatisation des tests

    Exemple de logiciels dautomatisation

    Exemple de fonctions

    Exemple dautomatisation dun test

  • Automatisation:Avantages et Inconvnients

    Automatisation 4

    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:Avantages et Inconvnients

    Automatisation 5

    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:Avantages et Inconvnients

    Automatisation 6

    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 7

    Plan:

    Avantages et Inconvnients

    Le processus dautomatisation des tests

    Exemple de logiciels dautomatisation

    Exemple de fonctions

    Exemple dautomatisation dun test

  • 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 8

  • Automatisation 9

  • 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 eux-mmes, 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 dlaisLutilisation 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

    13

    ATLM (Automated Testing Life-cycle Methodology)

  • 2.1 Construction du testIl 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. Les contraintes de cot et de temps de test. 14

  • 15La dmarche de test automatique

    2.2 Lautomatisation du test

  • 2.2.1 LimplmentationLimplmentation 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 tape. 18

  • 2.2.2 Excution du testLapplication 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 LAnalyseL'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

    Automatisation 28

    Plan:

    Avantages et Inconvnients

    Le processus dautomatisation des tests

    Exemple de logiciels dautomatisation

    Exemple de fonctions

    Exemple dautomatisation dun test

  • Automatisation:Exemple de logiciels

    Automatisation 29

    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

  • Exemple de logiciels (2) Selenium IBM Rational Functional Tester TestComplete Testing Anywhere LaodRunner Visual Studio Test Professional WATIR

    Automatisation 30

  • Automatisation

    Automatisation 31

    Plan:

    Avantages et Inconvnients

    Le processus dautomatisation des tests

    Exemple de logiciels dautomatisation

    Exemple de fonctions

    Exemple dautomatisation dun test

  • Automatisation:Exemple de fonctions

    Automatisation 32

    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").ExistBrowser("Browser").Page("billet avion").WebEdit("aeroArr").Exist

    Winrunner:obj_exists (strObjChecked, 10);

  • Automatisation:Exemple de fonctions

    Automatisation 33

    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:Exemple de fonctions

    Automatisation 34

    Condition et boucle

    Fonction If QTP:If (Browser("Browser").Page("billet avion").Exist) then

    Browser("Browser").Page("billet avion").WebButton("valid").Clickelse if( )thenelse End ifWinrunner:if (obj_exists( billet avion ,5)){web_image_click(" valid ", 1, 1);else ;}

  • Automatisation:Exemple de fonctions

    Automatisation 35

    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

  • Automatisation:Exemple de fonctions

    Automatisation 36

    Case

    Fonction case QTP:Dim varSelect Case var

    Case rouge InstructionCase vert Instruction Case else Instruction

    End select Winrunner:Switch(var){

    case rouge #Instructionbreak;case vert #Instruction break;

    }

  • Automatisation:Exemple de fonctions

    Automatisation 37

    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

    Automatisation 38

    Plan:

    Avantages et Inconvnients

    Le processus dautomatisation des tests

    Exemple de logiciels dautomatisation

    Exemple de fonctions

    Exemple dautomatisation dun test

  • Etapes de cration dun test automatique par le logiciel Quick Test Pro

    Automatisation 39

    1 Ouverture de QTP1.1 Slection des add-insA 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 CenterLa 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.

  • Test automatique en QTP (2)2. Cration dun test automatisIl 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 normalLenregistrement 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 lenregistrementLenregistrement 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

  • 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

    Test automatique en QTP (6)

  • Automatisation 46

    Vue par objets de QTP

  • 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.

    Automatisation 49

    Window("Calculatrice").WinObject("5").Click 13,11Window("Calculatrice").WinObject("+").Click 20,13Window("Calculatrice").WinObject("6").Click 18,15Window("Calculatrice").WinObject("=").Click 15,12

  • 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.

    ! 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

    Window("Calculatrice").RunAnalog "Track1

  • 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 CheckpointLe 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 objetAprs avoir slectionn ce type de checkpoint, il faut cliquer sur lobjet que lon souhaite tester.

    Automatisation 51

  • 4.1 Standard Checkpoint (suit)

    Automatisation 52

    Point de contrle sur un objet

  • Lorsque lon souhaite vrifier les valeurs dun tableau, il faut galement choisir le checkpoint standard . Aprs avoir slectionn le tableau tester, lcran suivant souvre.

    Automatisation53

    4.1 Standard Checkpoint (suit)

    Il est possible de slectionner seulement quelques valeurs du tableau en cochant ou dcochant certaines cellules.

    Point de contrle sur un tableau

  • 4.2 Text CheckpointLes 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 cellules du tableau. Automatisation 55

  • 4.5 Accessibility CheckpointCe 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 CheckpointIl 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 donnesQTP propose plusieurs manires de grer les donnes dans les

    tests.

    6.1 Table de donnesQTP 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 repriseQTP 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 test8.1 Dboguer un scriptQTP 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 scriptIl 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

  • 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

    Petit aperu dun test enregistr dans Selenium IDE :

  • 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 test, vous serez contraint de passer par un langage de script. 71

  • Conclusion

    Automatisation 72