2010-03-16 13 views
21

Il y a tellement d'écrits sur les tests unitaires mais j'ai à peine trouvé de livres/blogs sur les tests d'intégration? Pourriez-vous me suggérer quelque chose à lire sur ce sujet? Quels tests écrire lors des tests d'intégration?Comment faire des tests d'intégration?

Qu'est-ce qui fait un bon test d'intégration? etc etc

Merci

Répondre

4

Peut-être qu'il est généralement plus difficile de trouver des informations sur les tests d'intégration, car il est beaucoup plus spécifique à l'application effective et de son utilisation commerciale. Néanmoins, voici mon point de vue. Ce qui s'applique aux tests unitaires s'applique également aux tests d'intégration: les modules doivent avoir un moyen facile de se moquer de leurs entrées externes (fichiers, DB, temps ...), de sorte qu'ils puissent être testés avec l'autre unité. tests. Mais ce que j'ai trouvé extrêmement utile, au moins pour les applications orientées données, est de pouvoir créer une version "console" de l'application qui prend des fichiers d'entrée qui déterminent complètement son état (pas de dépendance aux bases de données, ressources réseau ...) et génère le résultat sous la forme d'un autre fichier. On peut alors maintenir des paires de fichiers d'entrées/résultats attendus, et tester des régressions dans le cadre de builds nocturnes, par exemple. Avoir cette version de la console facilite les scripts et facilite le débogage, car on peut compter sur un environnement très stable, où il est facile de reproduire des bogues et d'exécuter le débogueur.

5

Tout ce qui est écrit par Kent Beck, père de JUnit et de SUnit, est un excellent point de départ (pour les tests unitaires/l'écriture de test en général). Je suppose que vous ne voulez pas dire «intégration continue», qui est une approche de construction basée sur les processus (très cool, quand vous le faites fonctionner). Dans ma propre expérience, les tests d'intégration ressemblent beaucoup aux tests unitaires réguliers, tout simplement à un niveau supérieur. Plus d'objets simulés. Plus d'initialisation d'état. Je crois que les tests d'intégration sont comme les oignons. Ils ont des couches.

Certaines personnes préfèrent "intégrer" tous leurs composants et tester le produit "entier" comme le test "d'intégration". Vous pouvez certainement le faire, mais je préfère une approche plus progressive. Si vous démarrez de bas niveau et que vous continuez à tester sur des couches de composition supérieures, vous réaliserez des tests d'intégration.

Questions connexes