398 votes

Ce qui ' la différence entre les tests unitaires et des tests d’intégration ?

Quelle est la différence entre les tests unitaires et des tests d’intégration ? Y a-t-il des noms différents pour ces tests (comme certaines personnes appelant des tests unitaires, tests fonctionnels, etc....) ?

630voto

Nathan Hughes Points 30377

Un test unitaire est un essai écrit par le programmeur à vérifier qu'un nombre relativement petit morceau de code est en train de faire ce qu'il veut faire. Elles sont limitées, elles doivent être faciles à écrire et à exécuter, et leur efficacité dépend de ce que le programmeur juge utile. Les tests sont destinés à l'utilisation de la programmation, ils ne sont pas directement utiles à quelqu'un d'autre, cependant, si ils font leur travail, testeurs et utilisateurs en aval devraient bénéficier de la voir de moins en moins de bugs.

La partie d'une unité de test est l'implication que les choses à l'extérieur le code sous test sont moqués ou écrasé. Les tests unitaires ne devrait pas avoir de dépendances sur les systèmes externes. Ils test de cohérence interne, par opposition à la preuve qu'ils jouent bien avec d'autres à l'extérieur du système.

Un test d'intégration est réalisée pour démontrer que les différents éléments du système fonctionnent de concert. Les tests d'intégration couvrir la totalité des demandes, et ils ont besoin de beaucoup plus d'effort à mettre en place. Ils nécessitent généralement des ressources comme des instances de base de données et du matériel qui leur sont affectées. Les tests d'intégration ne plus convaincante de l'emploi de démontrer que le système fonctionne (surtout pour les non-programmeurs) qu'un ensemble de tests unitaires peuvent, au moins dans la mesure où l'intégration de l'environnement de test ressemble à de la production.

En fait le "test d'intégration" est utilisé pour une grande variété de choses, de plein de tests de système dans un environnement fait pour ressembler à la production à toute épreuve qui fait appel à une ressource (comme une base de données ou de la file d'attente) qui n'est pas moqué.

108voto

Dave Points 644

Un test unitaire ne doit avoir aucune dépendance sur le code en dehors de l’appareil testé. Vous décidez ce que l’unité est en recherchant la plus petite partie testable. Où existent des dépendances qu’ils soient remplacés par des fausses objets. Simulacres, talons... Le thread d’exécution de tests commence et se termine dans la plus petite unité testable.

Quand fausses objets sont remplacés par des objets réels, et le thread d’exécution des tests traverse en autres unités testables. vous avez un test d’intégration

46voto

The Communist Duck Points 2700

Un test unitaire se fait en (dans la mesure du possible) total isolement.

Un test d’intégration se fait lorsque l’objet testé ou le module fonctionne comme il devrait être, avec les autres morceaux de code.

18voto

Karl Rosaen Points 2096

Une unité de test les tests de code que vous avez le contrôle complet tandis que d'un test d'intégration tests comment votre code utilise ou "intègre" avec un autre code.

Donc vous écrire des tests unitaires pour s'assurer que votre propre bibliothèques fonctionnent comme prévu, et puis écrire des tests d'intégration pour s'assurer que votre code joue bien avec les autres codes que vous utilisez, par exemple une bibliothèque.

Les tests fonctionnels sont liés à des tests d'intégration, mais se référer plus spécifiquement aux tests test de l'ensemble d'un système ou d'une application avec le code exécuté, presque un super test d'intégration.

13voto

Jeganraj Points 118

Unité de test est habituellement effectué pour une seule fonctionnalité implémentée dans le module du Logiciel. Le champ d'application de test est entièrement à l'intérieur de ce SW module. Unité de test jamais satisfait de la finale des exigences fonctionnelles. Il s'agit, en vertu de la whitebox méthodologie de test..

Alors que l'Intégration test est fait pour assurer les différentes SW module implémentations. Test est habituellement effectué après au niveau du module d'intégration se fait dans le SW de développement.. Ce test permettra de couvrir les besoins fonctionnels, mais pas assez pour s'assurer de la validation du système.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X