Pas de test, trop de tests, l’équilibre
avatarFrancis Hamel
12 mai 2021

Voici l’une des questions les plus fréquentes lorsqu’on fait du développement front-end: on teste quoi, pourquoi et comment s’assurer de ne pas en faire trop?

Évidemment, les deux extrêmes sont à éviter. Ne pas tester est une très mauvaise idée, par contre, le “over-testing” est aussi un problème auquel on peut faire face lorsque l’on manque d’expériences ou de connaissances.

Pour avoir expérimenté les deux extrêmes, le “over-testing” a été un problème lorsque mon équipe a intégré Cypress pour tester nos interfaces sans savoir ce qu’on devait tester exactement. Ce type de test est très long à exécuter et très lourd à développer.

Les tests trop longs à exécuter ont fini par décourager notre équipe, ou même être ignorés, et créer une dette technique. Mais qui veut rouler 20 minutes de tests pour finalement faire un Commit?

Face à ce problème, on s’est demandé comment on pouvait avoir une bonne couverture de test sans pour autant avoir de lourds tests UI. Il se trouve qu’on utilisait nos tests UI comme des tests d’acceptances, et que par la surutilisation de ce genre de test, nous avons inversé la pyramide de test en ayant beaucoup plus de tests UI que de tests de composants.

Minions Pyramid GIF - Minions Pyramid GIFs
Pyramid Test

Mais comment tester une logique d'affaires déclenchée par une interaction, tel un clic sur un bouton, sans tests UI ?

Avec les frameworks récents comme VueJs et React, nous avons utilisé des technologies comme Jest et Mocha déjà en place pour faire des tests unitaires pour aussi faire des tests acceptances. Ainsi, on peut éviter les tests qui chargent des interfaces avec des tests rapidement exécutables, et ce, à l’aide de tests de composantes. Nous avons appris qu’un type de test ne correspond pas nécessairement à une portée. Dans cette logique, un test d’acceptance peut donc être petit.

Par la suite, les tests UI étaient seulement utilisés pour des cas où on ne pouvait pas tester avec Jest et Mocha. Ainsi, son utilisation a drastiquement diminué, ce qui nous a permis d’être beaucoup plus efficaces sur notre développement.

Et vous, avez-vous déjà fait face à une situation similaire ?

avatarFrancis Hamel
12 mai 2021
2 juin 2022 • Sujet
UX
Le Lean UX, c’est quoi? – partie 2

Vous avez lu la partie 1 et voulez connaître la fin? Voici tout ce qu’il vous reste à savoir pour comprendre le Lean UX et l’essayer dans votre entreprise.

Lire la suite
1 juin 2022 • Sujet
UX
Le Lean UX, c’est quoi? – partie 1

Cette fois-ci, on a décidé d’éplucher en détails le Lean UX pour comprendre ce qui rend cette méthode si populaire. Découvrez ce qu’on a appris.

Lire la suite
Voir tous les articles

Envie de discuter?

Vous avez une idée de projet numérique avec laquelle nous pourrions vous aider? Vous souhaitez simplement discuter ou avez des questions? N’hésitez-pas à nous contacter, il nous fera plaisir de vous répondre!

Nous utilisons des témoins afin d’assurer le bon fonctionnement de notre site Web et à des fins de recherche et développement pour améliorer nos produits et services. En cliquant sur «Accepter tous les cookies» vous consentez à utiliser notre site Web avec les témoins