Au travers des articles précédents, je vous ai présenté les concepts qu'il faut garder en tête d'une part lorsque l'on compare les fonctionnalités des automates de test, d'autre part lorsque l'on lance une démarche d'automatisation de la non régression. Lors du choix de votre outil d'automatisation, le mode de construction proposé devra également faire l'objet d'une attention particulière.
Mettez un automate, tout aussi puissant qu'il soit, entre les mains de quelqu'un qui ne sait pas l'exploiter ou qui n'y trouve pas d'intérêt et votre démarche sera un échec. Mais comment choisir ? Certains vous vanteront les bienfaits des outils codeless là où d'autres ne jureront que par des outils de scripting dans des langages tels que Java, C# ou Python (et bien d'autres encore). Qui devez-vous écouter ?
Record & Playback : Retour au basique
C'est quoi ? | Le record and playback, c'est un peu l'équivalent de l'enregistrement d'une macro sous Excel. Vous déroulez votre test manuellement pendant que l’automate se charge de capturer :
|
Avantage |
|
Inconvénient |
|
Quand l'utiliser ? |
|
CodeLess : What you see is what you get
C'est quoi ? | Un éditeur vous permet de composer des scripts en vous cachant le code. Vous disposerez usuellement :
|
Avantage |
|
Inconvénient |
|
Quand l'utiliser ? |
|
Scripting : Avec des vrais morceaux de code dedans
C'est quoi ? | A vous lignes de code et fichiers properties… accompagné de votre plus fidèle environnement de développement (Eclipse, IntelliJ, Visual Studio, …), vous développerez vos scénarios automatisés entièrement à la main. Plus sérieusement, Il s’agit ici d’écrire/intégrer le code permettant tout ou partie des fonctionnalités suivantes :
|
Avantage |
|
Inconvénient |
|
Quand l'utiliser ? |
|
Quelle outil/approche choisir ?
Chaque outil d’automatisation applique une approche spécifique s’appuyant sur une combinaison de ces 3 méthodes. Dans un automate tel que Ranorex, vous aurez notamment accès à ces 3 modes. Ce qui compte est alors de savoir comment ces approches cohabitent dans l'outil. Faire le choix de scripter une étape m'oblige-t-il à scripter l'ensemble de mon Action Word ou pire encore l'ensemble de mon référentiel ? Ne serais-je pas trop limité par un mode Record and Playback ?
Pour choisir un outil d’automatisation, il faut connaitre, avant tout, votre future organisation :
- Maîtriser la testabilité des applications testées.
- Connaitre les personnes qui concevront les scénarios.
- Connaitre les personnes qui implémenteront les scripts automatisés.
- Connaitre les personnes qui exploiteront vos tests (préparation, lancement, analyse, …)
Plus vous êtes dans un contexte de qualité, plus il est simple de se diriger vers une solution Record and Playback ou CodeLess.
A l’inverse, plus votre contexte est incertain, plus il faudra descendre vers une solution codée. Votre automate réclamera alors un plus haut niveau d’expertise.
Sachez également que vos méthodes de travail évolueront avec le temps. Il est probable que vous débutiez votre parcours d'automaticien, par la création de scénario en Record and Playback. Ce faisant rechercherez comment améliorer la pérennité de vos scénarios et glisserez peu à peu vers le mode Codeless. Ceci jusqu'au jour où vous vous direz que votre enregistrement initial n'apporte que peu de valeur ajoutée vu le contenu de votre scénario abouti. Avec un niveau de maîtrise accru, il est fort probable que vous ayez envie de faire faire encore plus de choses à votre automate et développerez alors vos premières fonctions codées "à la main". Dans ce sens, il me semble important de ne pas se fermer trop de routes lorsque l'on choisit sa solution d'automatisation.