« Retour

Quand choisir HP UFT plutôt que Selenium ?

Connaissez-vous UFT ? Non ? Qu'à celà ne tienne, en voici une présentation synthétique. Testeur novice ou expert, cet article a pour but de vous aider à comprendre l'outil et à déterminer s'il peut répondre à votre besoin. 

Kesako UFT ?

UFT, pour Unified Functionnal Testing est la réponse d'HP aux besoins croissants des organisations en tests logiciels automatisés. Successeur du célèbre QTP, UFT est donc un outil permettant l'automatisation des tests logiciels de façon simple et intuitive pour un testeur expérimenté comme pour un débutant.

UFT se présente sous la forme d'un environnement complet de développement comportant nativement l'ensemble des outils nécessaires à la conception, à l’exécution et au reporting des tests automatisés. Les scripts de test sont écrits dans le langage Visual Basic, facilitant considérablement l'utilisation de jeux de données au format Excel, et la gestion des objets* se fait de façon très simple grâce à l'outil "Object repository".

*Objet : Toute application comporte des éléments avec lesquels l'utilisateur peut interagir, un bouton, un champ de saisie de texte, un label, etc... Ces éléments sont appelés des objets, et ces objets doivent impérativement être identifiés pour qu'un script de test puisse interagir avec lors de son exécution.

 

"Ok, c'est bien beau tout ça, mais concrètement, pourquoi je choisirais UFT pour automatiser mes tests, alors que tout le monde me parle de Selenium  ?"

me direz-vous. Approfondissons le sujet car la réponse n'est pas si évidente qu'il n'y parait.

Quelle application dois-je tester ?

Une première approche pour apporter un élément de réponse à cet épineux problème est de se poser la question suivante : "Quelle est l'application que je dois tester" ? Selenium est d'une redoutable efficacité en matière de test d'application web mais quid des applications desktop, les clients lourds ? L’avènement des applications web n'est pas parvenu à éradiquer des applications comme Excel, Skype, des IDE comme Eclipse, des progiciel de comptabilité comme Ciel, et bien d'autres... Ces logiciels résistant encore et toujours à l'envahisseur ont également des besoins  en termes de qualité. Et bien pour ceux là, Selenium aura la même utilité qu'un toit ouvrant sur un sous-marin. En effet UFT est un logiciel d'automatisation des tests pour application clients-serveur, il permet donc comme Selenium de tester des applications web, mais également des applications client lourds, et il faut lui reconnaître son talent en la matière.

UFT peut agir sur n'importe quel logiciel, un navigateur internet, un client mail, l'invite de commande, le dernier guide Larousse de cuisine sur CD-ROM, bref tout ce qu'un utilisateur peux effectuer comme action sur une application de type client lourd, UFT peut le faire.

D'autre part, depuis que QTP répond au doux nom d'UFT, il s'est doté des fonctionnalités d'un autre logiciel proposé par HP, "HP Service Test" permettant aux utilisateurs de concevoir et d'exécuter des test de d'API et de webservices. Cerise sur le ponpon, UFT offre également la possibilité de tester ses applications mobiles IOS et Android ( avec toutefois certaines contraintes dont, la nécéssité d'utiliser une solution tierce "M-eux" ainsi que la version des appareils mobiles à tester).

"Ah d'accord, mais ça veut dire que dès que je teste un client lourd je n'ai pas d'autres alternatives qu'UFT ? C'est embêtant, je vais devoir apprendre le Visual Basic alors que je suis un pro du cobol..."

UFT is User-Friendly !

Bien sûr UFT n'est pas le seul à permettre l'automatisation de test d'applications de type client lourd, mais UFT est simple à prendre en main et dispose de nombreux outils permettant de simplifier l'écriture de scripts. Aucun besoin d'être un développeur confirmé pour écrire un scénario en VB. Quelques notions simples en informatique, les boucles, les conditions, etc.. couplées à vos talents de testeurs suffiront amplement à rédiger vos tests automatiques.

Auto-complétion

L’auto-complétion prévue par l'IDE est très confortable et vous indiquera la syntaxe des boucles, des conditions si vous ne les connaissez pas en VB.

Built-in functions

Le framework UFT comporte des fonctions pré-conçues permettant d’effectuer des actions comme des clics, ou la saisie d'un texte dans un champ en 1 ligne de code. Il comporte également une fonction appelée "point de contrôle de fichier". Cette dernière, tenant encore sur une unique ligne de code, permet de comparer des fichiers générés ou modifiés lors de l’exécution d'un scénario, à un fichier de référence défini lors de l'écriture du scénario. Les paramètres de comparaison sont définis dans une interface dédiée pour laquelle aucune connaissance d'un langage informatique n'est requis. Cette fonctionnalité est particulièrement pratique et utile par exemple pour valider le format et l'impression de factures lors des tests d'application front office.

Identification d'objets

Selenium a ses sélecteurs JQuery, UFT quand à lui possède son object repository ! La sélection et la gestion des objets dans UFT est grandement facilitée par 2 outils intégrés que sont l'object spy et l'object repository.

Grâce à l'object spy, aucune connaissance du code source de l’application n'est requise pour identifier un objet (champs texte, bouton, menu déroulant,...). Il suffit de lancer l'application à tester, de démarrer l'object spy puis de cliquer sur l'objet sur lequel on souhaite pouvoir effectuer des actions automatiques dans son scénario, et le tour est joué ! L'objet de test est identifié et peut être enregistré dans l'object repository.

L'object repository vous l'aurez compris, est donc la bibliothèque d'objets de vos scénarios (N.B. : C'est également lui qui contient les différents points de contrôle de fichier que vous aurez définis).

Ainsi, lors de la rédaction d'un scénario dans UFT votre liste d'objets est pré-définie et il ne vous reste plus qu'à l'appeler dans votre scénario pour lui faire subir les pires épreuves qu'un testeur peut infliger à une application !

Jeux de données

Un scénario de test automatisé, c'est un script, c'est à dire une série d'actions, que l'on applique à différents objets d'une application. Mais comment indiquer à ce script combien de fois cliquer sur l'objet X ou quel texte saisir dans le champ Y ? C'est le rôle du jeu de données.

Le jeu de données d'un scénario est une liste des valeurs que le scénario peut prendre comme paramètre. Prenons un exemple :

Je dois tester une application affichant "personne majeure" si le champ de saisie contient une valeur supérieure à 18, et "personne mineure" dans le cas contraire.

Pour réaliser ce test, j'aurais besoin :

  • d'un script : permettant la saisie d'un valeur dans le champ de l'application, puis de lire le texte affiché.
  • de 2 objets : La champs de saisie de l'application et le texte affiché
  • d'un jeu de données : comportant 2 couples de valeurs : {un nombre < 18 ; "personne mineure"} et {un nombre >= 18 ; "personne majeure"} 

Pratique non ? Grâce à mon jeu de données, à partir d'un unique script décrivant le comportement d'un scénario, je peux jouer une multitude de cas de test.

UFT permet une gestion enfantine des jeux de données en s'appuyant sur l'utilisation de fichiers Excel. Il est donc très simple de remplir les cellules de son fichier Excel avec les paramètres de ses cas de test, puis d'exploiter ses données dans son scénario via le langage Visual Basic qui, étant le langage d'écriture des macros de la suite Microsoft Office, comporte d'origine toutes les fonctions nécessaires à la lecture/écriture de fichiers Excel.

Execution et reporting

Côté Exécution et reporting, aucun outil externe n'est à prévoir. La suite UFT contient tout ce dont vous avez besoin. Les campagnes de test peuvent en effet être lancées directement depuis l'IDE en constituant des suites de test. La suite logicielle met également à disposition des utilisateurs un planificateur de test, le Test Batch Runner, permettant de créer des campagnes de test ordonnancées, planifiées, et de les sauvegarder pour les ré-exécuter ultérieurement.

Ces deux modes de lancement génèrent automatiquement à l'issue des campagnes, un rapport de tests indiquant pour chaque exécution, le statut OK/KO des tests ainsi que le détail de chaque étape.

Documentation

UFT est intuitif, simple à prendre en main. Il contient même un tutoriel constitué d'une petite application et  d'exemples de scénarios associés pour pratiquer et vous faire la main. Mais si cela ne s’avérait pas suffisant, sachez qu'UFT est très bien documenté et que l'on trouve facilement de l'aide sur les forums orientés autour du test logiciel.

Bon ça va, t'as gagné, ce logiciel à l'air vraiment génial, mais... attends... que lis-je ? Une licence ?

Personne n'est parfait...

Malgré tous ses atouts, UFT présente néanmoins quelques inconvénients qu'il convient de citer.

Premier de la liste, son prix ! UFT est commercialisé sous license renouvelable par trimestre et par utilisateur.

Autre inconvénient il ne peut être installé que sous Microsoft Windows, or dans un contexte ou la tendance est à la réduction des coûts et où les organisations tentent l’expérience open source avec des OS gratuits comme Linux, il peut s'agir là d'un obstacle à l'utilisation de cette solution d'automatisation.

Sur le plan technique, UFT étant assez gourmand en ressources système, il nécessitera une machine puissante pour s’exécuter et l’exécution d'une campagne de test sera donc plus lente, à ressources égales, qu'avec un outil comme Selenium. D'autre part, UFT ne peut exécuter qu'un test sur une application à la fois quand Selenium offre la possibilité de paralléliser l'exécution des test grâce à son plugin Selenium grid.

Bon, alors je prends UFT ou je prends pas UFT ?

Adapter l'outil au contexte et au besoin.

Pour conclure sur la question du choix d'UFT pour automatiser ses tests logiciels le schéma ci-dessous illustre, selon nous comment raisonner. Gardez toutefois à l'esprit qu'UFT et Selenium ne sont pas incompatibles, et que la solution à votre besoin en test peut résider dans l'utilisation conjointe de ces deux outils.


Quelle différence entre UFT et QTP ?

[Partie ajoutée le 03/04/2018 pour clarification suite à certaines questions]

Vous avez peut-être remarqué que sur certaines sources, les noms "UFT" et "QTP" sont interchangeables. A sa création en 1998, le logiciel s'appelait Astra Quicktest. En 2003, il a pris un autre nom : QTP, qui signifie "QuickTest Professionnal". Ce n'est qu'en 2012 que QTP est devenu UFT. C'est pourquoi on trouve toujours, sur les forums ou sur StackOverflow, des personnes qui parlent de QTP.

Un avis ? Un commentaire ?

Cet espace est pour vous.



1 commentaire(s)

  • Bravo pour l'article ! je ne savais pas qu'avant il s'appelait Astra Quick Test. j'en apprend ;-)