IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Test Discussion :

Choix d'un outil de tests fonctionnels pour une application J2EE


Sujet :

Test

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 34
    Points
    34
    Par défaut Choix d'un outil de tests fonctionnels pour une application J2EE
    Bonjour,

    Dans le cadre d'un stage, je dois réaliser une étude comparative des outils d'automatisation des tests fonctionnels pour une application Java/J2EE.

    Il s'agit d'une application d'une grande envergure et je dois écrire les tests moi même en Java.

    J'ai beaucoup cherché sur le net et je vous avoue que je suis un petit peu perdue.

    Je trouve pas mal d'outils que ça soit en open source ou payant mais j'arrive pas à trancher.

    Pour les critères, il faut que cela soit multi-plateformes (Firefox, Opera, IE ... etc), multi-OS (Windows, Linux, Mac Os), ne pose pas de problèmes avec Ajax, GWT, Maven, Spring à titre d'exemple. Et que cela soit assez aisé à mettre en oeuvre et à utiliser sans oublier bien sûr la qualité des résultats.

    Lors de mes recherches, j'ai trouvé pas mal de choses sur Selenium et je pense qu'il est bien mais je ne sais pas s'il est adapté à mon besoin ou devrais-je chercher un autre.

    Merci d'avance,

  2. #2
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut
    Autrement dit tu cherche un outil de test parfait

    Les choix vont dépendre des plateforme à tester.

    Dans les outils commerciaux :
    Le plus fiable et le plus polyvalent est QuicktestProfessionnal (ou HP Fonctionnal testing) qui peut automatiser quaisment tout type d'application que ce soit Web, mainframe ou application windows mais celui-ci n'est pas compatible avec linux mais c'est aussi le plus onéreux(entre 8000 et 17000 € selon le type de licence)
    Aprés tu as les équivalent chez microsoft ou IBM moins fiable et polyvalent mais aussi bcp moins onéreux.

    Au niveau de tes besoins le plus adapté serait Selenium ou Watir. mais tu seras de toutes façon face a des incompatibilités, mais c'est incontournable dans le test, aprés tu pourras trouver peut être des moyens de contourner ces problémes. L'avantage de selenium est qu'il est polyvalent entre linux et windows et qu'il est facilement adaptable au différent navigateur.

    Tout dépend ensuite du budget que l'on attribut au test.

    Petit conseil, utilise un référentiel de test :
    Tu peux t'orienté vers SalomeTMF qui a mon avis reste le référentiel le mieux adapté pour selenium.
    Bromine est relativement complexe (pas très faible) et a trop la philosophie intégration continu à mon gout.

    Pour l'install de salome je peux t'aider, n'hésite pas à poster sur le fil si tu as des question sur ce sujet. de même que pour Selenium même si je l'ai un peu lâcher cette dernière année.

    NB: salometmf est compatible Selenium1 et pas selenium2 (du moins j'ai jamais tester... mais ce serait intéressant de le faire)
    J'suis loin d'être un expert, seulement un passionné.
    L'humanité de l'homme ne reside que dans son intelligence. Certains l'on compris. D'autres ne le comprendront jamais... (Histrat)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 34
    Points
    34
    Par défaut
    Je vous remercie pour votre réponse et je vous tiendrais au courant de l'avancement du projet si vous me le permettez (des problèmes rencontrés bien sûr).

    Vous avez parlé d'incompatibilités de Selenium, qu'est ce vous entendez par ça?
    Et à votre avis, quels sont les inconvénients de Selenium? (ça va m'être utile pour mon rapport).

    Et la même chose pour les autres outils, si vous voulez bien me dire votre retour d'expérience.

    Je vous en remercie d'avance.

  4. #4
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut
    Les incompatibilités sont liés au techno utilisé pour créer les pages a tester.

    Par exemple certaines application développer en .net peuvent parfois n'être compatible qu'avec IE6.
    Il devient donc difficile de pouvoir automatiser ce genre de page avec selenium. Mais attention, je ne dis pas que c'est impossible.
    tu trouvera d'autre techno comme le siebel aussi qui peut poser problème.
    Sachant qu'il faut toujours avoir a l'esprit que selenium ets fait pour controlé un navigateur Web et donc des pages internet. je n'ai jamais été confronté a des applets java importé dans du IE ou FF mais je ne pense pas que ce soit possible avec selenium ou watir. à tester

    Après, il ne faut pas oublier de prendre en compte ce qu'on appel l'effort de maintenabilité.
    En gros, il consiste a faire évoluer le test en fonction des évolutions fonctionnelles apportées à l'application testé. c'est une sorte de mise à jour.
    pour t'expliquer :

    pour automatiser une action, il faut pouvoir décrire l’élément fonctionnelle que tu va utilisé, cela peut être avec l'élément name, l'id , la classe, etc... (directement lié au HTML)
    En dernier recours il reste le Xpath qui correspond a l'arborescence HTML de ton élément.

    Si la page vient trop facilement a bouger, il y de bonne chance pour ton lien Xpath bouge aussi.
    Au final, ton cas de test ne fonctionnera plus.

    tu sera obliger de revenir dessus pour le rendre de nouveau fonctionnel


    Il ne faut évidement pas que l'effort de maintenabilité deviennent trop important car sinon celui-ci ne devient plus rentable.
    Tu passeras plus de temps à l'automatiser qu'a l’exécuter donc il n'y a plus aucun intérêt.
    La rentabilité est plus ou moins calculé en fonction du temps passé pour exécuter un test en manuel multiplier par le nombre de fois qu'il est exécuté. dans un cas auto tu passe plus de temps a le créer mais en théorie tu en reviens plus dessus. et donc il a un cout quasi fixe (car son cout d’exécution est quasi nul) tandis que ton cas manuel a un cout linéaire.

    Conclusion :
    Il faut bien comprendre qu'une étude préliminaire est importante avant toute automatisation. Il faut à l'avance pouvoir estimer le temps qu'il faudra pour automatiser un périmètre donné sur l'application.
    Pour diminuer ce temps, le conseil est de faire apparaitre les éléments descriptif dans les spécifications de l'application, cela permettra de faire gagner pas mal de temps au recetteur ET développeur.
    Je ne conseil jamais d'automatiser la totalité des tests... car on multiple le risque de maintenabilité, et le temps d'automatisation n’est donc plus forcément rentable. Par contre les cas critique doivent toujours l'être et exécuté à chaque livraison (et périodiquement... utile pour savoir si un service a planté).

    Je ne sais pas trop si j'ai répondu au question, n'hésites pas si j'ai répondu a coté (je me suis emballé dans mes explications )
    J'suis loin d'être un expert, seulement un passionné.
    L'humanité de l'homme ne reside que dans son intelligence. Certains l'on compris. D'autres ne le comprendront jamais... (Histrat)

  5. #5
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut
    un comparatif que j'avais déjà fais mais tu devras le retravailler en fonction.


    Attention mon étude était orienté Dotnet, il faut donc que tu fasses la même avec Watij et non Watin mais le fonctionnement reste assez identique.
    Les critéres doivent être aussi remodelé.
    Images attachées Images attachées  
    J'suis loin d'être un expert, seulement un passionné.
    L'humanité de l'homme ne reside que dans son intelligence. Certains l'on compris. D'autres ne le comprendront jamais... (Histrat)

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 34
    Points
    34
    Par défaut
    Je vous remercie pour vos réponses même si j'ai pas tout compris mais je pense que c'est tout à fait normale puisque je débute dans le domaine et avec le temps ça ira mieux.

    Par contre l'image que vous venez de m'envoyer me sera très utile et je vous en remercie également.

    Je me permets de vous déranger de temps à autre par des petites questions ou demandes d'aide si vous n'avez rien contre.

    En fait, je vous ai également envoyé un mail ce matin mais je ne sais pas si vous l'avez reçu ou pas.

  7. #7
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut
    Je ne vais pas voir souvent ma boite associé au compte Developpez.com, et je préfère les messages Privé. ou directement sur le fil pour faire profiter à tous.

    Le test est un métier à part entière. c'est normal d'être un peu perdu

    n'hésitez pas à postez sur le fil de discutions.
    J'suis loin d'être un expert, seulement un passionné.
    L'humanité de l'homme ne reside que dans son intelligence. Certains l'on compris. D'autres ne le comprendront jamais... (Histrat)

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 34
    Points
    34
    Par défaut
    En fait, pourquoi devrais-je opter pour Selenium et non Watij?

    J'ai fait une étude comparative pour 6 outils: QTP de HP, Rational Functional Tester d'IBM, SilkTest de Borland, Selenium, Watij et canoo WebTest.

    Pour les autres c'est un peu clair, soit le langage de scripts n'est pas Java soit limitations au niveau des plateformes et navigateurs supportés ou côut cher.

    Mais pour watij je ne sais pas à vrai dire pourquoi ne pas se lancer avec?

    Surtout que y a presque rien de concret le concernant et les informations sont très rares en fait (je me dis que c'est l'un des inconvénients).

  9. #9
    Membre actif
    Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2006
    Messages
    240
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2006
    Messages : 240
    Points : 275
    Points
    275
    Par défaut
    là c'est a toi de voir selon tes préférences.

    Si tu utilise le recorder il faut voir la lisibilité du code :
    Lisibilité du code produit

    SELENIUM :

    Selenium est orienté commande :

    selenium.Open("/mutuelle-sante/tarif-mutuelle-sante/tarif.aspx");
    selenium.Click("//input[@name='reponseCibleDemandeTarif']");
    selenium.Type("//input[@name='reponseDateEffetGarantie']", "03/06/2010");
    selenium.Click("//input[@name='reponseClient']");
    selenium.Click("//input[@name='reponseClient' and @value='15']");

    La difficulté principale étant la lecture des sélecteurs qui sont formulés en XPATH.

    WATIN :

    Watin est orienté modèle :

    // Windows
    WatiN.Core.IE window = new WatiN.Core.IE();

    // Frames

    // Model
    RadioButton rbn_reponseCibleDemandeTarif_2______ = window.RadioButton(Find.ByName("reponseCibleDemandeTarif"));
    TextField txt_reponseDateEffetGarantie = window.TextField(Find.ByName("reponseDateEffetGarantie"));
    Div div______ = window.Div(Find.ByText("") && Find.ByStyle("") && Find.ByValue("") && Find.ById("") && Find.BySrc("") && Find.ByUrl(""));

    // Code
    window.GoTo("http://devladeveze/mutuelle-sante/tarif-mutuelle-sante/tarif.aspx");
    rbn_reponseCibleDemandeTarif_2______.Checked = true;
    txt_reponseDateEffetGarantie.Click();
    txt_reponseDateEffetGarantie.AppendText("03divide06divide2010");
    div______.Click();
    System.Windows.Forms.SendKeys.SendWait("{TAB}");
    System.Windows.Forms.SendKeys.SendWait("{DOWN}");
    txt_reponseDateEffetGarantie.Click();
    txt_reponseDateEffetGarantie.AppendText("home");
    Assert.That(window.TextField(Find.ByName("reponse")).GetAttributeValue(""),Is.Equal("03/06/2010"));

    * Les noms générés par le recorder sont illisibles

    * Les paramètres recherches ne sont pas toujours judicieuses
    * Le modèle objet peut être moins lisible pour un non-développeur
    * Le code produit par Watin test recorder est propre pour IE
    Pour moi le selenum est plus lisible.
    J'suis loin d'être un expert, seulement un passionné.
    L'humanité de l'homme ne reside que dans son intelligence. Certains l'on compris. D'autres ne le comprendront jamais... (Histrat)

Discussions similaires

  1. Test automatisé pour une application Windows Forms
    Par Mat_76 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 07/08/2009, 15h37
  2. Outil de test fonctionnel pour MAC
    Par fildentaire dans le forum Outils
    Réponses: 2
    Dernier message: 03/11/2008, 14h25
  3. [Outils] Quels sont ceux dédiés à des tests automatisés pour une application WPF ?
    Par rsiwpf dans le forum Windows Presentation Foundation
    Réponses: 1
    Dernier message: 23/09/2008, 17h21
  4. [AJAX] Choix du framework AJAX pour une application J2EE?
    Par rades2006 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 25/01/2008, 11h15
  5. Réponses: 5
    Dernier message: 09/02/2007, 09h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo