Skip to main content

Comment écrire des tests unitaires de qualité ? Les principes FIRST

Comment écrire des tests unitaires de qualité ? Les principes FIRST

Comment écrire des tests unitaires de qualité ?

Aidez-vous des principes F.I.R.S.T.

🅵ast

Le développeur ne doit pas hésiter à exécuter les tests unitaires à tout moment de son cycle de développement, même s'il existe des milliers de tests unitaires. Ils devraient fonctionner et montrer la sortie souhaitée en quelques secondes.

🅸ndependent / 🅸solated

  • Pour tout test unitaire donné, pour ses variables d'environnement ou pour sa configuration. Il doit être indépendant de tout le reste afin qu'il ne soit influencé par aucun autre facteur
  • Suivre les 3 A du test : Arrange, Act, Assert (aussi appelé, dans certains ouvrages, "Given, when, then")

🆁epeatable

  • Les tests doivent être répétables et déterministes, leurs valeurs ne doivent pas changer en fonction de leur exécution dans différents environnements.
  • Chaque test doit configurer ses propres données et ne doit dépendre d'aucun facteur externe pour exécuter son test

🆂elf-validating

Les tests ne doivent pas être ambigus, pas sujets à interprétation et ne demandent pas d'action manuelle pour vérifier le résultat.

🆃horough

Les tests unitaires doivent être approfondis :

  • couvrir tous les chemins normaux
  • couvrir tous les cas extrêmes, où l'auteur aurait l'impression que la fonction échouerait.
  • tester les arguments invalides
  • tester la sécurité et d'autres problèmes
  • tester pour les grandes valeurs
  • couvrir tous les scénarios de cas d'utilisation et pas seulement viser une couverture de code à 100 %

🔗 Source

F.I.R.S.T principles of testing
https://medium.com/@tasdikrahman/f-i-r-s-t-principles-of-testing-1a497acda8d6