septembre
2009
C’est décidé vous voulez automatiser vos tests d’interface (trop long, trop ennuyeux). Mais quel outil choisir et comment le choisir?
Si vous avez calculé votre Retour sur Investissement vous avez certainement pris en compte les paramètres suivants:
– Apprentissage de l’outil (langage utilisé, ergonomie …)
– Mise en place de l’outil (intégration avec d’autre outils, codage d’un framework …)
– Maintenance (mise à jour des scripts pour l’itération suivante).
Par exemple selenium (libre) permet de coder des scripts dans différents langague (java, python …) très largement utilisés, QTP (HP) utilise uniquement VB script.
QTP offre de nombreuse facilités pour coder rapidement des scripts de test (drag and drop d’objets graphiques, complétion …), avec Sélénium tout est à faire manuellement.
D’autres paramètres sont à prendre en compte:
– Quel est le niveau technique des utilisateurs de l’outil?
– Y-a-t-il une communauté conséquente et active qui utilise l’outil (forum, formation …)?
– L’outil est-il maintenu?
– L’outil s’intégre-t-il facilement avec d’autres outils utilisés par votre société?
– Répond-il à vos objectifs d’automatisation? Supporte-t-il les technologies que vous utilisez?
– Le prix mais est-ce vraiment un critère (un outil cher mais qui se déploie et s’utilise facilement n’est pas plus rentable qu’un outil du libre qui peut coûter cher à mettre en place)
Avec ces premières questions vous aurez réduit votre choix à deux ou trois outils.
Avant de vous engager le mieux est de mettre en place une évaluation comparative des outils avec des critères de type:
– techniques (capacité à résoudre vos principales difficultés techniques)
– facilité d’utilisation (va-t-il être adopté facilement par votre organisation?)
– facilité d’intégration avec des outils déjà existants.
> peut on tester un site asp.net avec sélénium ?
Normalement, sans pb:
http://www.targetprocess.com/blog/2007/04/selenium-usage-in-real-life-aspnet-20.html
http://www.stevetrefethen.com/blog/AutomatedtestingofASPNETwebapplicationsusingSelenium.aspx
Tiens, d’ailleurs, ca me fait penser que je devrais peut-être essayer de le mettre en place aussi
je souhaite tester un site asp.net sur un sous domaine du web test.alloprojet.org depuis chez moi. je m’oriente vers selenium qui est gratuit.
peut on tester un site asp.net avec sélénium ?
Il y a deux aspects pour les données : le contexte du test et les valeurs testées.
Dans notre cas, vu que nous sommes dans notre environnement habituel, on a, spécifiquement sur la machine de recettage, la possibilité de réinitialiser les données applicatives de test (créations des utilisateurs et de leurs profils par exemple).
Concernant les valeurs testées, nous faisons assez light pour l’instant, avec en général que peu de variations (on fait des tests d’intégration, les variations sur des valeurs sont plutôt côté tests unitaires). Du coup le jeu de test en tant que tel n’est pas trop d’actualité. Toutefois, la bonne nouvelle, c’est qu’on est toujours « totalement » dans notre contexte : de l’excel est possible, mais aussi de passer par une DB dédiée, des fichiers XML, des propriétés… Au demeurant, il se peut que des collègues aient déjà développés des jeux de données à la demande de product owner sans que je le sache…
La gestion des jeux d’essais avec QTP se fait via des fichiers excel assez simplement.
Pour des formations j’ai utilisé Sélénium avec python et j’ai géré les jeux d’essais avec XML via python.
De votre coté comment gérez-vous les jeux d’essais avec Selenium et junit?
On sent une légère inclinaison pour QTP là
Histoire de faire « contre poids », nous on utilise Selenium avec grand bonheur. La réalisation des scripts via le plugin firefox marche bien, puis pouvoir générer la chose dans le langage de son choix pour ensuite optimiser la bête est vraiment tip top.
Côté poste du développeur, cela donne une classe de test jUnit spécifique qui s’occupe de lancer un serveur web sur un port libre, ainsi que l’environnement Selenium requis (server + remote control). Cela s’intègre donc dans eclipse comme un charme, ce dernier considérant ces tests comme n’importe quel test jUnit (même si dans ce cas il ne s’agit pas de tests unitaires, cela aide tout de même à l’utilisation).
Ensuite ces tests d’UI en Java sont lancés automatiquement (intégration continue) via hudson, ce petit bijou permettant d’avoir les différents environnements (windows/linux) lancés en parallèle de façon « transparente ».
Concernant le prix, et dans une certaine mesure l’aspect open source, je pense que cela a son importance : un produit propriétaire ne sera que peu intégré dans des produits tiers, d’autant plus s’il est cher.
De plus, le prix est une barrière à l’adoption/démocratisation de tels produits, alors qu’ils devraient être communs en informatique.
Enfin, comme avec nombre de produits open source, l’intégration de Selenium s’est avérée des plus aisées et souples.
Concernant QTP, je n’ai que participé à une étude préliminaire en vue de sa mise en pratique dans une grande banque française (je ne connais pas les raisons de ce choix de produit), mais l’impression qui s’en dégageait était une certaine lourdeur, notamment pour utiliser des jeux de données pour les tests.
Maintenant je ne suis pas allé plus loin sur ce projet : je vais voir si je peux avoir des retours d’expérience pour ceux qui ont dû le mettre en pratique.
++
Chez mon client actuel, ils sont partis sur QTP pour les raisons suivantes :
– population d’utilisateurs (testeurs et qualiticiens) peu techniques
– facilité de mise en place de campagnes de tests (en général, les produits ont droit quatre ou cinq campagnes qui testent des aspects différents)
– partenariat existant avec HP
Mais c’est clair que ces questions sont nécessaires, et ce quel que soit l’outil
(au fait, il manque un espace dans ton titre )