Les tests fonctionnels et les tests d'intégration sont-ils identiques?
Vous commencez vos tests par des tests unitaires, puis après avoir terminé les tests unitaires, vous passez aux tests d'intégration où vous testez le système dans son ensemble. Les tests fonctionnels sont-ils identiques aux tests d'intégration? Vous prenez toujours le système dans son ensemble et le testez pour la conformité des fonctionnalités.
Réponses:
Le test d'intégration consiste à tester plusieurs composants et leur fonctionnement ensemble. Par exemple, comment un autre système interagit avec votre système ou la base de données interagit avec votre couche d'abstraction de données. Cela nécessite généralement un système entièrement installé, bien que dans ses formes les plus pures ce ne soit pas le cas.
Le test fonctionnel consiste à tester le système par rapport aux exigences fonctionnelles du produit. La gestion de produit / projet les écrit généralement et l'assurance qualité formalise le processus de ce qu'un utilisateur devrait voir et expérimenter, et quel devrait être le résultat final de ces processus. Selon le produit, cela peut être automatisé ou non.
la source
Test fonctionnel :
Oui, nous testons le produit ou le logiciel dans son ensemble, qu'il fonctionne correctement ou non (test des boutons, liens, etc.)
Par exemple: page de connexion.
vous fournissez le nom d'utilisateur et le mot de passe, vous testez si cela vous amène à la page d'accueil ou non.
Test d'intégration :
Oui, vous testez uniquement le logiciel intégré, mais vous testez où se déroule le flux de données et y a-t-il des changements dans la base de données.
Par exemple: envoyer un e-mail
Vous envoyez un mail à quelqu'un, il y a un flux de données et également un changement de base de données (la table envoyée augmente la valeur de 1)
N'oubliez pas que cliquer sur des liens et des images ne constitue pas un test d'intégration. J'espère que vous avez compris pourquoi, car il n'y a pas de changement de base de données en cliquant simplement sur un lien.
J'espère que cela vous a aidé.
la source
C'est une distinction importante, mais malheureusement, vous ne trouverez jamais d'accord. Le problème est que la plupart des développeurs les définissent de leur propre point de vue. C'est très similaire au débat sur Pluton. (S'il était plus proche du Soleil, serait-ce une planète?)
Les tests unitaires sont faciles à définir. Il teste le CUT ( Code Under Test ) et rien d'autre. (Enfin, aussi peu que possible.) Cela signifie des moqueries, des contrefaçons et des appareils.
À l'autre extrémité du spectre, il y a ce que beaucoup de gens appellent les tests d'intégration de système . C'est tester autant que possible, mais toujours à la recherche de bogues dans votre propre CUT.
Mais qu'en est-il de la vaste étendue entre les deux?
time()
ourand()
? Ou si vous appelezhttp://google.com
? J'appellerais ça le test du système , mais encore une fois, je suis seul.Pourquoi est-ce important? Parce que les tests système ne sont pas fiables. Ils sont nécessaires, mais ils échoueront parfois pour des raisons indépendantes de votre volonté. D'un autre côté, les tests fonctionnels doivent toujours réussir, et non échouer au hasard; s'ils sont rapides, ils pourraient tout aussi bien être utilisés dès le départ afin d'utiliser le développement piloté par les tests sans écrire trop de tests pour votre implémentation interne. En d'autres termes, je pense que les tests unitaires peuvent être plus problématiques qu'ils n'en valent, et j'ai une bonne compagnie .
J'ai mis des tests sur 3 axes, avec tous leurs zéros aux tests unitaires :
Un test peut facilement être tous les 3, à des degrés divers.
la source
Test fonctionnel: Il s'agit d'un processus de test où chaque composant du module est testé. Par exemple: si une page Web contient un champ de texte, un bouton radio, des boutons et une liste déroulante, etc., les composants doivent être vérifiés.
Test d'intégration: processus où le flux de données entre 2 modules est vérifié.
la source
Je dirais que les deux sont étroitement liés les uns aux autres et qu'il est très difficile de les distinguer. À mon avis, les tests d'intégration sont un sous-ensemble des tests fonctionnels.
Les tests de fonctionnalité sont basés sur les exigences initiales que vous recevez. Vous testerez le comportement de l'application comme prévu avec les exigences.
Quand il s'agit de tests d'intégration, c'est l'interaction entre les modules. Si un module envoie une entrée, le module B peut la traiter ou non.
la source
Test d'intégration - Les tests d'intégration ne sont rien d'autre que le test de différents modules. Vous devez tester la relation entre les modules. Par exemple, vous ouvrez Facebook, puis vous voyez la page de connexion après avoir entré l'identifiant de connexion et le mot de passe, vous pouvez voir la page d'accueil de Facebook, la page de connexion est donc un module et la page d'accueil est un autre module. vous devez vérifier uniquement la relation entre eux signifie que lorsque vous vous êtes connecté, seule la page d'accueil doit être ouverte, pas la boîte de message ou quoi que ce soit d'autre. Il existe 2 principaux types d'approche TOP-DOWN de test d'intégration et d'approche BOTTOM UP.
Tests fonctionnels - Dans les tests fonctionnels, vous ne devez penser qu'aux entrées et aux sorties. Dans ce cas, vous devez penser comme un utilisateur réel. Test de ce que vous avez donné et de ce que vous avez obtenu est un test fonctionnel. vous devez seulement observer la sortie. Lors des tests fonctionnels, vous n'avez pas besoin de tester le codage de l'application ou du logiciel.
la source
Dans un testeur de test fonctionnel se concentre uniquement sur la fonctionnalité et la sous-fonctionnalité de l'application. La fonctionnalité de l'application doit fonctionner correctement ou non.
Dans les tests d'intégration, les testeurs doivent vérifier la dépendance entre les modules ou sous-modules.Exemple pour les enregistrements de modules doivent être récupérés et affichés correctement dans un autre module.
la source
Test d'intégration: - Lorsque les tests unitaires sont effectués et que les problèmes sont résolus pour les composants associés, tous les composants requis doivent s'intégrer sous un seul système afin qu'il puisse effectuer une opération. Après avoir combiné les composants du système, pour vérifier que le système fonctionne correctement ou non, ce type de test est appelé test d'intégration.
Test fonctionnel: - Le test est principalement divisé en deux catégories comme 1. Test fonctionnel 2. Test non fonctionnel ** Test fonctionnel: - Pour tester si le logiciel fonctionne selon les exigences de l'utilisateur ou non. ** Test non fonctionnel: - Pour tester si le logiciel satisfait aux critères de qualité tels que le test de résistance, le test de sécurité, etc.
Habituellement, le client fournira les exigences pour le test fonctionnel uniquement et pour le test non fonctionnel, les exigences ne doivent pas être mentionnées mais l'application exécutera nécessairement ces activités.
la source
Test d'intégration
Test fonctionel
la source
La vérification de la fonctionnalité de l'application est généralement connue sous le nom de test fonctionnel, où le test d'intégration consiste à vérifier le flux de données d'un module à l'autre. Prenons l'exemple de l'application de transfert d'argent.Supposons que nous ayons une page dans laquelle nous entrons toutes les informations d'identification et si nous appuyons sur le bouton de transfert et après cela, si nous obtenons un succès, alors c'est un test fonctionnel. Mais dans le même exemple, si nous vérifions le montant du transfert, il s'agit d'un test d'intégration.
la source
Les auteurs divergent beaucoup à ce sujet. Je ne pense pas qu'il y ait "la" bonne interprétation pour cela. Cela dépend vraiment.
Par exemple: la plupart des développeurs Rails considèrent les tests unitaires comme des tests de modèle, les tests fonctionnels comme des tests de contrôleur et les tests d'intégration comme ceux qui utilisent quelque chose comme Capybara pour explorer l'application du point de vue d'un utilisateur final - c'est-à-dire en naviguant dans le HTML généré de la page, en utilisant le DOM pour vérifier les attentes.
Il existe également des tests d'acceptation, qui sont à leur tour une documentation «en direct» du système (ils utilisent généralement Gherkin pour permettre de les écrire en langage naturel), décrivant toutes les fonctionnalités de l'application à travers plusieurs scénarios, qui sont à leur tour automatisés par un développeur. Ceux-ci, à mon humble avis, pourraient également être considérés comme des tests fonctionnels et des tests d'intégration.
Une fois que vous comprenez le concept clé derrière chacun de ces éléments, vous pouvez être plus flexible en ce qui concerne le bien ou le mal. Donc, encore une fois à mon humble avis, un test fonctionnel pourrait également être considéré comme un test d'intégration. Pour le test d'intégration, selon le type d'intégration qu'il exerce, il peut ne pas être considéré comme un test fonctionnel - mais vous avez généralement certaines exigences à l'esprit lorsque vous écrivez un test d'intégration, donc la plupart du temps, il peut également être considéré comme un test fonctionnel.
la source