Est-ce une méthode de test ou une technique de test ?
Les tests unitaires sont plus qu'une simple technique de test. Il s'agit d'une méthode de test pour tester des unités individuelles de code source qui fournit un excellent moyen de démontrer le comportement correct du logiciel.
Les tests unitaires sont importants car ils identifient les régressions au stade le plus précoce du développement logiciel, où il est le moins cher et le moins oppressant à corriger. Les tests unitaires sont petits et chaque cas de test teste une petite étendue de code, ce qui permet d'identifier facilement et rapidement le problème lors de l'examen des échecs de test.
Les tests unitaires utilisent la moquerie et le stub pour isoler des dépendances externes, ce qui signifie qu'ils sont simples et rapides à exécuter et à fournir rapidement des commentaires à l'équipe. De plus, cela facilite également l'automatisation complète de l'exécution des tests unitaires dans une version CI.
Il y a aussi des avantages moins évidents à une pratique de test unitaire. Les développeurs qui testent de manière proactive les unités tout en écrivant du code se donnent la perspective de regarder le code qu'ils ont écrit sous un angle différent. Essentiellement, l'acte de test unitaire peut être comme une révision de code supplémentaire pour s'assurer que le code a été écrit correctement et de manière robuste la première fois.
Lire le livre blanc : Bien faire les tests unitaires : Les meilleurs conseils pour les développeurs Java
Les développeurs qui réfléchissent à la façon dont l'interface de leur code sera utilisée par d'autres composants, puis écrivent des tests unitaires pour ces scénarios, sont moins susceptibles d'ignorer les chemins malheureux qui pourraient être exposés dans les étapes ultérieures des tests logiciels, ou pire, en production.
Une étude bien connue de Capers Jones sur l'économie de la qualité des logiciels montre que plus un défaut est détecté tôt dans le cycle de développement, moins il est coûteux à corriger, ce qui contraste fortement avec l'augmentation exponentielle des coûts de détection des défauts plus tard dans le cycle.
En conséquence, il y a un retour sur investissement pour investir dans une suite de tests unitaires de régression robuste. Le retour sur investissement des tests unitaires peut également être ressenti par la réduction des retouches résultant de la mise en œuvre correcte des exigences du premier coup.