Pourquoi automatisons-nous ?

L’automatisation semble nécessaire!

On parle toujours plus d’automatisation des tests et plus particulièrement de leur exécution. Les outils d’automatisation de test n’ont jamais été aussi nombreux (ce n’est pas pour rien qu’une majorité des article de la série « Outil de test » traite d’outil d’automatisation). Une conclusion semble donc s’imposer, il faut automatiser!

Mais, vous êtes vous déjà demandé pourquoi il fallait automatiser, et dans notre exemple automatiser l’exécution des tests ? Cette question mérite d’être posée d’autant plus que l’automatisation n’est pas simple, que les projets d’automatisation sont souvent en échec (article à venir) et que le retour sur investissement n’est pas toujours en rendez-vous pour différentes raisons.

Il est vrai que je parle brièvement d’une raison pour laquelle il faut automatiser l’exécution dans l’article du livre du CFTL sur l’intégration continue, on avance aussi souvent le retour sur investissement ou de gain de temps. Est-ce les seules raisons ? Mais surtout, est-ce les vraies raisons ? Ou si j’osais le dire, est-ce les causes racines de l’automatisation ?

Pourquoi l’automatisation semble-t-elle si nécessaire ? Pourquoi prônons-nous l’importance d’automatiser l’exécution des tests ? Faut-il uniquement automatiser l’exécution des tests ?

Pour quelle raison l’automatisation est-elle nécessaire ?

Pour répondre à cette question il faut se pencher sur le cerveau humain et nos « réflexes naturels ». Je vous propose donc l’étude du comportement des enfants! N’ayant pas d’enfants à disposition pour ma démonstration je vais vous parler de mon expérience personnelle et de ma première automatisation qui se trouve être comparable à celle de nombreux enfants!

Étant petit (et parfaitement sage, cela va de soi) il m’arrivait d’être punit (injustement, cela va de soi).

Les punitions étaient rarement très imaginatives, c’est normal on va pas demander à un enfant de faire quelque chose d’intéressant lors d’une punition sinon ça ne serait pas une punition! Elles consistaient souvent dans l’écriture de lignes comme écrire 50 fois la phrase « Je ne mettrai plus de pièces en plastique dans le magnétoscope pour faire comme dans la pub« .

Je commençais alors à écrire les lignes et très vite, généralement avant la fin de la première ligne, je m’ennuyais et cherchais un moyen de minimiser le temps de cette tâche particulièrement, excusez-moi du mot, chiante. Je commençais alors à prendre 2, puis 3, puis 4 stylos pour écrire plusieurs lignes en même temps! C’était ma première automatisation! =)

Il semble donc qu’une des raisons de l’automatisation est la répétitivité d’une action!

Étant un peu plus grand, arrivé au collège, je n’étais plus punit mais avait des problèmes de mathématiques à résoudre ou tout simplement calculer mes moyennes (car c’est important sa moyenne au collège! :o).

Les problèmes de mathématiques étaient souvent liés à des calculs, comme additionner un ensemble de nombre assez important. Les résultats de ces calculs était assez aléatoire car les chiffres étaient nombreux et il m’arrivait fréquemment d’en oublier un ou d’en compter un autre en double. Afin d’éviter cela j’utilisais la factorisation afin d’avoir beaucoup moins de calcul à faire comme avec l’exemple ci-dessous:

3 + 2 + 3 + 4 + 2 + 4 + 2 + 3 + 2 + 4 = 3*3 + 2*4 + 3*4 = 9 + 8 12 = 29.

Pour les moyennes les nombres à additionner étaient souvent très grands la somme devenait compliquée. Je décidais donc de remplacer toutes mes notes par une note à laquelle je soustrayais la moyenne (10). Ma moyenne effective devenais plus facile à calculer car les nombres à manipuler étaient petits comme on peut le voir avec l’exemple ci dessous:

Notes: 12; 14; 8: 13; 15 donne (2 + 4 – 2 + 3 + 5)/5 + 10 = 12/5 + 10 = 12,4 de moyenne

Dans ce cas je me retrouvais à automatiser des tâches qui n’étaient pas répétitives mais des tâches fastidieuses avec un fort taux d’erreur.

Une autre raison de l’automatisation est la probabilité d’échec d’une action… et donc la probabilité de devoir la refaire ou tout simplement ne pas la juger fiable.

Conclusion

L’automatisation est un comportement humain. C’est un réflexe inné que l’on met instinctivement en place lors de notre enfance. La cause racine de l’automatisation ne vient pas de chiffres savants ou d’indicateurs. La vraie raison pour laquelle nous automatisons est encrée plus profondément au fond de notre cerveau et c’est ce qui fait que nous, humain, évoluons. Cette cause c’est l’ennui! Nous automatisons ce qui nous ennuie, ce qui est… « Chiant »!

Une action peut être « chiante », comme on l’a vu dans l’article, pour plusieurs raisons comme une répétitivité avec une faible valeur ajoutée ou quelque chose de simple mais avec un fort taux d’erreur.

Savoir cela permet de se poser une autre question: que devons-nous automatiser dans nos activités de test ? Mais ceci est le sujet d’un autre article!

Pensez à rejoindre le groupe « Le métier du test » si vous souhaitez échanger sur le test

Merci à tous ceux qui mettent « j’aime », partagent ou commentent mes articles

N’hésitez pas à faire vos propres retours d’expérience en commentaire.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Bilan

Crowdtesting (3/3): les résultats de la campagne

Point de vue testeur : Comme déjà vu dans l’article précédent (lien), en tant que testeur on obtient plusieurs résultats comme : Un paiement qui arrive rapidement (20€ pour la campagne qui a été bloquée, 19€ sur l’autre) Une bonne visibilité de notre performance Nombre de bugs trouvés/acceptés Nombre d’aller – retours

Lire la suite »
Automatisation

REX : Mise en place d’une solution d’automatisation des tests – Cathy Blache

 Retour d’expérience : Mise en place d’une solution d’automatisation des tests de régression sur des applications métiers : Robot-Framework interfacée avec SquashTM & Autom Après une analyse préalable et l’étude des différents types d’automatisations, en tenant compte de la complexité de nos applications à tester, nous avons choisi une approche d’automatisation

Lire la suite »
Agilité

Les Tests Exploratoires, Une obligation dans l’agilité ??

Introduction : Les Tests Exploratoires sont devenus un incontournable des méthodes Agiles pour plusieurs raisons : C’est une méthode complémentaires aux Tests classiques, qui ne perturbe donc pas le déroulement d’un ‘Sprint’ ; Elle correspond aux principes agiles car elle ne demande pas une spécification lourde des Tests, en cela elle favorise le

Lire la suite »