web-dev-qa-db-fra.com

"Test de l'unité" tombe-t-il sous une boîte blanche ou un test de boîte noire?

"Test de l'unité" tombe-t-il sous une boîte blanche ou un test de boîte noire? Ou est-ce totalement un type de test séparé que les deux autres?

24
Manish

Je pense que cela Article de Kent Beck Enregistrement davantage à TDD et à un test unitaire résume de manière assez bonne. Fondamentalement, cela dépend de la façon dont vous écrivez réellement les tests *. Voici un autre article sur le sujet qui pourrait aider à clarifier les choses.

* Si vous testez à partir de votre application, il est BlancBox. Si vous le testez, comme un étranger apporterait les appels à l'API de votre public, alors c'est Blackbox.

25
Justin Pihony

Les critères habituels pour les tests de boîte à blanc sont la sensibilisation du chemin d'exécution et de la structure de données. Celles-ci sont parfois appelées "test de la branche", "Test de chemin", "Test de flux de données". Voir Wikipedia sur les tests de boîte à blanc.

C'est-à-dire que le test unitaire fait référence au niveau à laquelle le test a lieu dans la structure du système, alors que le test de la boîte à blanc et blanche se rapportent si, à n'importe quel niveau, l'approche de test est basée sur la conception interne ou uniquement sur la spécification externe de l'unité.

Donc, si votre appareil-test sensibilise toutes les chemins d'exécution et les structures de données de l'unité que vous testez, il s'agit d'un test de boîte blanche. Toutefois, si votre appareil ne peut pas sensibiliser la plupart des chemins et des structures de données de l'appareil, il ne peut pas prétendre être un test de boîte à blanc.

Soyez informé que, dans certaines organisations, les tests unitaires sont appelés tests sur la boîte à blanc, que l'unité-test est basée sur la conception de l'unité plutôt que de son API. Mieux ne pas discuter avec votre patron sur ce point.

12
Eli Rosencruft