Le hasard fait bien les tests
10:35 - 11:20 Conférence / Langages / beginner Salle ChanchardonLe hasard fait bien les choses.
Si on applique cette idée aux tests unitaires ou aux tests d'intégration, on peut rendre nos tests beaucoup plus imprévisibles et du
coup trouver des problèmes que notre esprit n'aurait jamais osé imaginer ! Par exemple, récemment, j'ai découvert dans une
bibliothèque de gestion de configuration, un bug qui se produit lorsque la
Locale est configuré en AZ. 🤦🏼♂️
Un autre exemple encore plus simple :
int input = generateInteger(Integer.MIN_VALUE, Integer.MAX_VALUE);
int output = Math.abs(input);
Peut générer -2147483648… Ce qui est assez inattendu pour une valeur absolue ! 😉
Les tests aléatoires peuvent découvrir ces cas tordus… C'est ce que l'équipe elasticsearch a mis en place depuis plusieurs années à
l'aide du framework RandomizedTesting pour tester tout le code Java.
Ajoutez à ça de vrais tests d'intégration à l'aide de TestContainers et vous aurez une approche complète pour des tests qui échouent régulièrement !
Après cette conférence, vous ne verrez plus jamais la fonction random() comme avant et découvrirez comment la (mal)chance peut
vous aider ! 🍀
