La plupart du temps nous écrivons nos tests unitaires ou fonctionnels en hardcodant les valeurs qui passent à travers notre code. Dans certains cas cela peut être suffisant, mais ce genre de test ne permet de valider notre code que pour les cas auxquel on a pensé. Le problème est que le monde dans lequel notre application va évoluer est chaotique, il est humainement impossible de prévoir toutes les formes que pourront prendre les données entrant notre système. Ayant pris connaissance de cette problématique on a commencé à utiliser des librairies comme Faker pour générer les données à notre place. Cependant cette solution ne permet de tester qu’un jeu de données à la fois. Entre alors en jeu le Property Based Testing. Celui-ci nous permet de valider un comportement en utilisant toutes les combinaisons possible des données d’entrée.

Comments

Please login to leave a comment

Xavier Besson at 12:41 on 24 Jun 2020

Super découverte, merci Baptiste

Intéressant, un outil de plus dans la batterie !

Très technique / didacticiel, ça aurait été bien d'avoir plus d'explication sur les points que l'outil cherche à résoudre (la répétition de code pour faire les uses cases ne dérange pas tout le monde), et expliquer les limitations vues en Q&A (idempotence).

Les quelques questions/réponses à la fin étaient aussi enrichissantes, et donnent envie de contribuer (dataset ou use case dumper pour répéter les cas systématiquement ?).