La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Outils dautomatisation de tests dinterfaces Web David GERBAULT Ingénieurs 2000 Xposé 2010-2011 1.

Présentations similaires


Présentation au sujet: "Outils dautomatisation de tests dinterfaces Web David GERBAULT Ingénieurs 2000 Xposé 2010-2011 1."— Transcription de la présentation:

1 Outils dautomatisation de tests dinterfaces Web David GERBAULT Ingénieurs 2000 Xposé

2 2 W EBOGRAPHIE

3 Pourquoi ce sujet? 3

4 4 1. Présentation 2. Selenium 3. Watir 4. Conclusion P LAN

5 5 Souvent : tests du Contrôleur (code) Rarement : tests de la Vue (Interface Web) C ONSTAT ! 1. Présentation

6 6 Simuler linteraction de(s) lutilisateur(s) au travers de tests fonctionnels O BJECTIF 1. Présentation

7 7 Automatisation de tests Selenium / CubicTest / Watir / AutoIT / Canoo / WebTest Gestion des tests Selenium / Outils borland / Salome / TestLink / Fitnesse / Outil HP / Twist Tests de charge Grinder / OpenSta / JMeter Model Checking NModel / Smart testing / MaTeLo Quest ce que cest ? : Vérification algorithmique dun modèle donné, du système lui-même ou dune abstraction du système, pour savoir si il satisfait une spécification, souvent formulée en termes de logique temporelle. = = > Curieux? Google it ! LES TESTS Présentation

8 8 Analystes programmeur Conformité des développements par rapport aux besoins exprimés Développeurs et équipes dassurance qualité Valider le bon fonctionnement de lapplication et le passage en production. Q UI ? 1. Présentation

9 9 Le test doit être joué plus dune fois. & Le test peut être automatisé de bout en bout. Q UAND ? 1. Présentation

10 10 1. Lecture des besoins & spécifications. 2. Définition du périmètre de test. 3. Rédaction des cas de tests. 4. Enregistrement des tests dans loutil. 5. Exécution des tests. C OMMENT ? 1. Présentation

11 11 Tests de non régressions fréquents Retour rapide aux développeurs pendant la phase de développement Cas de tests « illimités » Rapports personnalisés Convient aux développements Agile et deXtreme Programming Documentation rigoureuse des cas de tests Suppression des erreurs des tests manuels C ONSÉQUENCES ? 1. Présentation

12 12 I NTÉGRATION CONTINUE Ecrire des tests dans le format voulu et adapté à loutil dintégration continue. Exemple Selenium – Java (Junit) – Eclipse – Hudson Exemple avec ant + Selenium + Hudson 1. Présentation

13 13 P ROBLÈMATIQUES Ce qu'il faut tester Contenus Liens Fonctions Eléments dynamiques Ajax Résultats Assert vs Verify AssertTextPresent vs AssertElementPresent vs AssertText Localisation ID, name attribute, Xpath statement, Document Object Model Findbugs Objets dynamiques AJAX (attente d'éléments) 1. Présentation

14 SELENIUM Selenium

15 SELENIUM 15 Distribué par OpenQA licence libre Apache logiciels : 2. Selenium

16 SELENIUM IDE Selenium

17 SELENIUM IDE Selenium

18 SELENIUM IDE Selenium

19 SELENIUM IDE Selenium

20 SELENIUM IDE 20 Sélection intelligente des champs 2. Selenium

21 SELENIUM IDE 21 Démonstration 2. Selenium

22 SELENIUM IDE 22 Bilan selenium IDE Enregistrement / Lecture des tests 3 Méthodes de constructions de tests Enregistrement Ajout de vérifications (assert) Edition 2. Selenium

23 SELENIUM IDE 23 Debug / Point darrêt Sauvegarder/Exporter HTML, Java, Php, Perl, Python, C#... Plugins 2. Selenium

24 SELENIUM C ORE Selenium Framework dexécution de tests DHTML Moteur de Selenium IDE Selenium Remote Control Déploiement possible sur serveur dapplication

25 SELENIUM R EMOTE C ONTROL 25 Selenium IDE+ Core 2. Selenium

26 SELENIUM R EMOTE C ONTROL 26 Navigateur Firefox 2 IE 6 Safari 2 Opera 8 ChromeSELENIUM IDE Enregistre et lance les tests Exécution via RC SELENIUM RC Démarre le navigateur & lance les tests OS Windows, Linux, Mac WindowsMac Windows, Linux, Mac Windows 2. Selenium

27 SELENIUM R EMOTE C ONTROL Selenium.jar JRE

28 SELENIUM R EMOTE C ONTROL 28 Condition / Itérations Dépendance de cas de test Historisation des résultats des tests (Framework) Gestion des erreurs Re-exécution des tests qui ont échoué Capture d'écran des tests qui ont échoués Tests de Base de Données 2. Selenium

29 SELENIUM R EMOTE C ONTROL Selenium

30 30 C# 2. Selenium

31 31 2. Selenium Java

32 32 2. Selenium Perl

33 33 2. Selenium Php

34 34 2. Selenium Python

35 35 2. Selenium Ruby

36 SELENIUM R EMOTE C ONTROL 36 Options du serveur : Configurer le proxy Mode Mono/Multi fenêtre(s) Choix du profil Firefox Exécuter directement du HTML Récupérer les logs directement Chemin absolu vers le navigateur (ex : si plusieurs versions) Mode interactif Plus doptions en tapant : java -jar selenium-server.jar –h 2. Selenium

37 SELENIUM G RID Selenium Limitations de RC : Tests concurrents limités ( <6 conseillé / RC) Si trop rapide : Goulot détranglement Selenium RC navigateur Tests différentes versions des navigateurs & OS. Architecture compliqué et non maintenable

38 SELENIUM G RID Selenium

39 SELENIUM G RID Selenium

40 SELENIUM G RID Selenium

41 SELENIUM G RID Selenium Avantages : Améliorations des performances Limitation de lutilisation de chaque RC Choix du RC transparent (hub) Tests multi navigateurs & multi OS faciles Exemple en java new DefaultSelenium("localhost", 4444, **'*firefox'**, 'http://www.google.fr'); devient new DefaultSelenium(hub", 4444, **Chrome on Ubuntu'**, '); new DefaultSelenium("hub", 4444, ** IE 7 on Chinese locale '**, '); new DefaultSelenium("hub", 4444, ** Safari on Quadri-processor '**, ');

42 SELENIUM ON R UBY & ON R AILS Selenium

43 C UBIC T EST ( POUR E CLIPSE ) Selenium

44 C UBIC T EST ( POUR E CLIPSE ) Selenium

45 C UBIC T EST ( POUR E CLIPSE ) Selenium

46 C UBIC T EST ( POUR E CLIPSE ) Selenium

47 C UBIC T EST ( POUR E CLIPSE ) Selenium

48 C UBIC T EST ( POUR E CLIPSE ) Selenium Fonctionnalités de IDE + Core + RC (php et java) Couche Graphique Watir ?? (Partie 3)

49 B ROMINE Selenium

50 B ROMINE 50 Reporting : utiliser des Frameworks Java JUnit Report TestNG Report ReportNG TestNG-xslt Python HTMLTestRunner Ruby RSpec Report Ou : utiliser Bromine ! 2. Selenium

51 B ROMINE Selenium Application under tests Managers Définissent les tests requis et les scénarios de tests Consultent les résultats Testers Upload et lancent les tests Consultent les résultats

52 B ROMINE Selenium Tests en Java et Php Enregistrement possible avec IDE Upload de tests Tests multi navigateurs & OS en un click RCs sous forme de Nodes (sans GRID) Logs des résultats Groupes Projets Plugins

53 SELENIUM : B ILAN Selenium

54 SELENIUM : B ILAN Selenium Fonctions de bases Tests multi plateformes/OS Approche projet Couche graphique Utilisateurs de Ruby

55 W ATIR Watir Open source Communauté active et grandissante Ruby Multi plateforme / OS "Powerfull" "easy to use" "beautifully lightweight"

56 W ATIR Watir Automated testing that doesnt hurt sudo gem install

57 W ATIR Watir #sudo gem install xxxxxxxx

58 58 C ONCLUSION 1/2 Nouvelle approche des tests dinterface web Mon choix : Selenium Adapté à différents niveaux de besoins Multi langages Mon avis : Watir Adapté à un seul un seul niveau de besoin « La terre ne sest pas faite en un jour »

59 59 C ONCLUSION 2/2 Selenium : Compatible avec Spring Roo Des betas coté Selenium… Tests sous Android Selenium Standalone (RC + WebDriver en un jar) Selenium 2 (WebDriver)

60 60 Le Chat de Philippe Geluck Q UESTIONS ?


Télécharger ppt "Outils dautomatisation de tests dinterfaces Web David GERBAULT Ingénieurs 2000 Xposé 2010-2011 1."

Présentations similaires


Annonces Google