Qu'est-ce que le test d'intégration

Avec les progrès dans le domaine des technologies de l'information, les choses deviennent beaucoup plus faciles pour nous, les humains et littéralement, tout peut être fait en un clin d'œil. Mais avant cela, tout peut être fait beaucoup de travail acharné et le plus important de tous "LOGIC" est mis derrière. Maintenant, parfois, nous avons vu que certaines fonctions ne fonctionnent pas exactement selon les attentes ou que les résultats dérivés du logiciel ne correspondent pas à nos attentes, c'est là que les tests de logiciels jouent un rôle important. Pour corriger les défauts dans les systèmes, afin d'obtenir les résultats corrects / attendus, c'est un test logiciel.

Pour comprendre ce que signifie le test d'intégration, nous devons d'abord comprendre ce que signifie le test de logiciel! Le test de logiciel est une activité permettant de vérifier si la sortie / le résultat d'un test est équivalent à la sortie / le résultat attendu, ce qui signifie que le logiciel fonctionne correctement. Le résultat obtenu après l'exécution de certains logiciels / systèmes doit correspondre au résultat attendu en tant que sortie du logiciel / système; s'il ne le fait pas, le logiciel doit être réécrit ou certaines modifications doivent être effectuées dans le code écrit.

Les tests logiciels d'un système logiciel se font à différents niveaux. Les niveaux de test sont décrits comme suit:

Chronologiquement, les tests d'intégration sont effectués après la première étape, «Test unitaire». Comme son nom l'indique, la définition textuelle des tests d'intégration est «Les modules logiciels individuels sont combinés et testés ensemble, comme un groupe». Cela signifie que, dans le logiciel, il existe de nombreux composants. Ces nombreux composants réunis forment un système logiciel. Ce système logiciel est testé ensemble et le niveau de test auquel il est testé est appelé test d'intégration. Ainsi, lorsque ces modules sont combinés, le résultat qui en est obtenu doit être équivalent au résultat attendu, c'est là que les tests d'intégration entrent en jeu. L'objectif principal des tests d'intégration est de vérifier si les modules individuels fonctionnent correctement ensemble lorsqu'ils sont combinés.

Également connu sous le nom d'I & T (intégration et test), il peut aider à tester un individu ainsi qu'à tester un module complet. Il est inclus dans les tests Black Box et White Box. La plupart des organisations ne testent leurs logiciels qu'en utilisant les méthodologies de tests unitaires et de tests fonctionnels.

Types et approches

Il existe quatre types et approches de tests d'intégration, mentionnés ci-dessous:

  1. Approche Big Bang
  2. Une approche en profondeur
  3. Approche descendante
  4. Hybride / Sandwich

1. Approche du Big Bang:

Les modules / composants développés des systèmes logiciels sont couplés ensemble. Ces modules individuels sont testés ensemble lorsqu'ils sont couplés. Après les tests unitaires, ces modules sont testés ensemble qui forment un système logiciel. Mais certains d'entre nous peuvent se poser la question suivante: en quoi les tests du système logiciel dans leur ensemble et les tests d'intégration sont-ils différents? La principale chose que nous comprenons ici est que, dans les tests d'intégration, les tests sont effectués pour les modules individuels sont combinés ensemble, après les tests unitaires sont effectués; et dans les tests de système logiciel, l'ensemble du système est testé avec tous les paramètres pris en considération.

Le diagramme suivant illustre exactement ce que signifie l'approche Big Bang des tests d'intégration:

Avec l'approche Big Bang, certains avantages et inconvénients sont associés:

Avantages:

  • Il est très pratique d'approcher si les systèmes sont petits. Le temps nécessaire à cette approche étant plus long, les gros systèmes peuvent entraîner une plus grande consommation de temps.
  • La détection des défauts est très facile avec cela, compte tenu des petits systèmes

Désavantages:

  • Étant donné que tous les modules sont couplés, si un défaut survient dans les systèmes, il est difficile de le repérer.
  • Certains modules sont très importants et doivent être testés. Ces modules doivent être testés avant d'être utilisés dans le système. Mais pendant les tests d'intégration, ces modules peuvent ne pas être testés efficacement, car tous les modules sont couplés ensemble.
  • Le temps pris par l'ensemble du système logiciel est bien plus que les autres approches de test d'intégration.
  • Le couplage des modules peut prendre un certain temps, ce qui peut entraîner un temps de traitement total du système logiciel.
  • Le temps nécessaire pour cette approche est plus long, car de nombreux modules sont couplés ensemble et tester chaque module prendra plus de temps.

2. Approche ascendante

Dans cette approche, les modules de bas niveau sont testés d'abord, ensemble et individuellement. Tous les modules de niveau inférieur sont intégrés, ce qui inclut les fonctions et les procédures et tout est couplé et testé. Cela aide à tester les modules de niveau supérieur, car il constitue une base pour cela. Cette procédure est répétée pour tous les modules du niveau inférieur au module de niveau supérieur qui sont testés minutieusement. En termes simples, les tests commencent, à partir des modules internes et les plus en bas et se dirigent progressivement vers le haut. Maintenant, comme indiqué dans le diagramme, l'aide d'un pilote est prise en le faisant. Alors, qu'est-ce qu'un pilote et comment est-ce utile? Comme le flux le suggère, les modules de niveau supérieur ne peuvent pas être intégrés dans le système tant que les tests de module de niveau inférieur ne sont pas effectués et couplés. Ainsi, le pilote aide ici à coupler les modules de niveau inférieur et de niveau supérieur et fonctionne comme un moyen ou, dans un terme technique, comme une fonction d'appel.

Avantages:

  • Le développement de modules individuels peut être effectué pendant que l'approche ascendante des tests d'intégration est utilisée, car les tests de couplage et d'intégration sont effectués après que les modules de niveau inférieur sont testés en premier.
  • Si une erreur existe / survient, elle peut être corrigée en même temps et au même niveau. L'identification et la correction des erreurs sont beaucoup plus faciles que d'autres approches.
  • Le temps requis pour l'identification et la correction des erreurs est beaucoup moins important que pour les autres approches.
  • Les erreurs peuvent être résolues au même niveau inférieur d'instance ou au niveau supérieur.

Désavantages:

  • Le temps pris pour l'ensemble du processus est plus, le processus de test ne se termine que lorsque tous les modules des deux niveaux supérieur et inférieur sont inclus et testés.
  • Les pilotes sont nécessaires pour appeler les modules de haut niveau
  • Si le système logiciel contient des modules de plus en plus petits mais complexes, cela peut prendre plus de temps pour terminer le processus de test logiciel.

3. Approche descendante

Cette approche va exactement à l'opposé de l'approche ascendante. Les modules de niveau supérieur sont testés initialement, puis simultanément d'autres modules de niveau inférieur sont testés. Les modules supérieurs sont d'abord testés individuellement comme des tests unitaires spécialisés sont exécutés pour le module supérieur et, éventuellement, d'autres modules sont pris en considération et testés. L'approche descendante nécessite une fonction d'appel tout comme une approche ascendante appelée Stubs. Les stubs sont des instructions logiques de shortcode qui sont utilisées pour accepter les entrées des modules de niveau supérieur et éventuellement appeler des modules de niveau inférieur pour l'intégration et les tests.

Avantages:

  • Des défauts ou des erreurs peuvent être facilement détectés dans cette approche.
  • Les modules cruciaux sont testés de manière approfondie et avant les autres modules.
  • Les tests d'intégration de systèmes logiciels peuvent être effectués en moins de temps que par rapport à d'autres approches.

Désavantages:

  • Les modules de niveau inférieur peuvent ne pas être testés au niveau attendu ou ne pas être testés conformément aux exigences.
  • Des talons sont nécessaires et sont nécessaires pour que le processus de test progresse davantage.

4. Approche hybride / sandwich

Également connu sous le nom de tests d'intégration mixtes. L'approche ascendante et l'approche descendante sont combinées dans cette approche. D'où l'approche de test d'intégration hybride ou sandwich ou mixte. Cette approche est utilisée pour couvrir les retombées des deux approches individuelles. Le module supérieur est testé à l'unité et en même temps, les modules de niveau inférieur sont intégrés et testés avec les modules de niveau supérieur.

Avantages:

  • Généralement utilisé pour les grands projets et qui nécessitent beaucoup de temps pour l'achèvement.

Désavantages:

  • Les coûts de ce type de test sont assez élevés car les deux approches sont utilisées pour terminer les tests.

Avantages des tests d'intégration

  1. Le test d'intégration de différents modules en même temps est facile.
  2. Peut être utilisé aussi bien au début qu'au stade ultérieur du processus de test.
  3. La couverture de la longueur du code est plus comparable à celle d'autres techniques de test de logiciels que les deux approches ascendantes et descendantes peuvent être utilisées.
  4. Selon l'évolution des exigences, le développement varie, de sorte que les tests de modules à différents niveaux deviennent importants, pour lesquels les tests d'intégration peuvent être utilisés facilement.

Pourquoi les tests d'intégration sont utilisés

  • Les personnes qui ont été dans l'industrie informatique pourraient être au courant des changements constants qui se produisent. Chaque jour, selon les exigences, la nécessité de développer un certain système logiciel change, de sorte que chaque jour de nouveaux correctifs de code sont développés. Maintenant, lorsque ces correctifs sont couplés pour former un seul logiciel. Donc, pour vérifier cela, les tests d'intégration et ses approches sont un must.
  • Lorsqu'un logiciel complexe ou énorme est codé ou construit, il est classé en modules séparés. Beaucoup de gens travaillent sur ces modules en même temps, mais lorsque ces modules sont intégrés, les tests sont terminés. Dans la plupart des cas, l'intégration des modules nécessite que des tests d'intégration y soient effectués avant de poursuivre leur traitement.
  • La plupart des applications logicielles nécessitent, certaines bibliothèques de support pour fonctionner. Les tests d'intégration sont effectués lorsque ces bibliothèques sont utilisées avec le code développé.
  • L'intégration devient un must lors du développement du logiciel, car les erreurs peuvent être corrigées au niveau stipulé. Maintenant, comme nous le savons sur les approches, l'une des approches peut être utilisée pour cela.

Cas de test d'intégration

Considérez que nous créons un logiciel de gestion des employés. Ce logiciel a trois aspects principaux:

  1. Connexion des employés
  2. Rapport des employés
  3. Page de désignation du salaire des employés et niveau de salaire

Maintenant, compte tenu du cas ci-dessus, le logiciel est d'abord développé et le flux doit être l'enregistrement des employés (saisie des valeurs, par exemple: ID de l'employé, nom, numéro de téléphone, etc.). Après les entrées correctes, il doit rediriger vers la page Internet cette page de rapport d'employé. Maintenant, si ici l'employé n'est pas dirigé vers la page des rapports et directement dirigé vers la page d'informations sur le salaire, alors c'est une erreur. Donc, pour rectifier cela, le flux, la séquence des activités, les tests d'intégration sont effectués.

Un autre exemple de test d'intégration serait:

Nous vérifions quotidiennement nos e-mails. Tous les fournisseurs de services de messagerie nous fournissent les mêmes fonctionnalités.

Login-> Inbox->Send / Delete Mail-> Logout

Maintenant, ici, lorsque nous nous connectons à leurs serveurs, les valeurs sont d'abord vérifiées pour l'exactitude, c'est-à-dire les tests unitaires. Donc, maintenant, après la correspondance des informations d'identification, la page de connexion devrait nous transférer sur la page de la boîte de réception. Voilà le résultat escompté. S'il ne nous transfère pas sur la page Boîte de réception au lieu de nous transférer dans un dossier indésirable, cela devient un cas de test d'intégration. Il en va de même pour l'envoi et la suppression des e-mails.

D'autres cas peuvent être:

  • Après une inscription réussie sur toute application en ligne / hors ligne, un message d'affichage doit apparaître devant l'utilisateur.
  • Les applications bancaires doivent diriger les utilisateurs vers la page de résumé du compte qui est requise.
  • Après une connexion réussie aux applications de médias sociaux, la page par défaut, par exemple: Accueil / Profil pour Facebook, devrait apparaître.

Conclusion

Avec autant d'avancées dans le domaine de l'informatique, au jour le jour, et autant de développeurs assis à différents endroits travaillant sur le même logiciel, les tests d'intégration sont devenus un must. Avec ses approches, les tests d'intégration peuvent être utilisés avec des applications logicielles petites et grandes. Les tests d'intégration, étant au milieu des niveaux de test des logiciels et ayant tant d'avantages, deviennent de plus en plus importants pour les clients de niveau commercial et un contrôle régulier permet de garder le logiciel intact.

Articles recommandés

Cela a été un guide pour les tests d'intégration. Ici, nous avons discuté de certains concepts de base, définition, types et approche avec leurs avantages et leurs inconvénients. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -

  1. Carrières dans les tests de logiciels
  2. Carrières pour les développeurs de logiciels
  3. Qu'est-ce que le Black Box Testing
  4. Carrières utiles en tant qu'ingénieur logiciel