Was ist Integrationstest? (Beispiel)

Was ist Integrationstest?

Integrationstests ist definiert als eine Testart, bei der Softwaremodule logisch integriert und als Gruppe getestet werden. Ein typisches Softwareprojekt besteht aus mehreren Softwaremodulen, die von verschiedenen Programmierern programmiert werden. Der Zweck dieser Testebene besteht darin, Fehler in der Interaktion zwischen diesen Softwaremodulen aufzudecken, wenn sie integriert werden

Integrationstests konzentrieren sich auf die Überprüfung der Datenkommunikation zwischen diesen Modulen. Daher wird es auch als bezeichnet 'ES' (Integration und Test), „String-Test“ und manchmal „Thread-Test“.

Warum Integrationstests durchführen?

Integrationstests

Obwohl jedes Softwaremodul einem Unit-Test unterzogen wird, bestehen aus verschiedenen Gründen immer noch Fehler, z

  • Ein Modul wird im Allgemeinen von einem einzelnen Softwareentwickler entworfen, dessen Verständnis und Programmierlogik sich von denen anderer Programmierer unterscheiden können. Integrationstests werden notwendig, um zu überprüfen, ob die Softwaremodule einheitlich funktionieren.
  • Zum Zeitpunkt der Modulentwicklung besteht eine hohe Wahrscheinlichkeit, dass sich die Anforderungen der Kunden ändern. Diese neuen Anforderungen werden möglicherweise nicht in Einheiten getestet und daher sind Systemintegrationstests erforderlich.
  • Schnittstellen der Softwaremodule zur Datenbank können fehlerhaft sein
  • Externe Hardwareschnittstellen, falls vorhanden, könnten fehlerhaft sein
  • Eine unzureichende Ausnahmebehandlung kann zu Problemen führen.

Klicken Sie HIER wenn das Video nicht zugänglich ist

Beispiel für einen Integrationstestfall

Integration Testfall unterscheidet sich darin von anderen Testfällen konzentriert sich hauptsächlich auf die Schnittstellen und den Daten-/Informationsfluss zwischen den Modulen. Hier ist der Vorrang zu geben Links integrieren und nicht die bereits getesteten Gerätefunktionen.

Beispiele für Integrationstestfälle für das folgende Szenario: Die Anwendung hat 3 Module, z. B. „Anmeldeseite“, „MailPostfach“ und „E-Mails löschen“ und sind jeweils logisch integriert.

Konzentrieren Sie sich hier nicht zu sehr auf das Testen der Anmeldeseite, da dies bereits durchgeführt wurde Unit Tests. Aber prüfen Sie, wie es mit dem verknüpft ist Mail Box Seite.

Ähnlich Mail Box: Überprüfen Sie die Integration in die Löschfunktion Mails-Modul.

Testfall-ID Testfallziel Testfall DescriptIon erwartetes Ergebnis
1 Überprüfen Sie die Schnittstellenverknüpfung zwischen Login und MailBox-Modul Geben Sie Ihre Anmeldedaten ein und klicken Sie auf die Schaltfläche „Anmelden“. Zur Weiterleitung an die Mail Box
2 Überprüfen Sie die Schnittstellenverbindung zwischen Mailund Löschen Mails-Modul Ab MailWählen Sie im Feld die E-Mail aus und klicken Sie auf die Schaltfläche „Löschen“. Ausgewählte E-Mails sollten im Ordner „Gelöscht“/„Papierkorb“ angezeigt werden.

Arten von Integrationstests

Die Softwareentwicklung definiert verschiedene Strategien zur Durchführung von Integrationstests, nämlich:

  • Urknall-Ansatz:
  • Inkrementeller Ansatz: Dieser ist weiter unterteilt in die folgenden
    • Top-Down-Ansatz
    • Bottom-Up-Ansatz
    • Sandwich-Ansatz – Kombination aus Top Down und Bottom Up

Nachfolgend sind die verschiedenen Strategien, die Art und Weise ihrer Ausführung sowie ihre Einschränkungen und Vorteile aufgeführt.

Urknalltests

Urknalltests ist ein Integrationstestansatz, bei dem alle Komponenten oder Module auf einmal integriert und dann als Einheit getestet werden. Dieser kombinierte Satz von Komponenten wird beim Testen als eine Einheit betrachtet. Wenn nicht alle Komponenten in der Einheit fertiggestellt sind, wird der Integrationsprozess nicht ausgeführt.

Vorteile:

  • Praktisch für kleine Systeme.

Nachteile:

  • Die Fehlerlokalisierung ist schwierig.
  • Angesichts der schieren Anzahl der Schnittstellen, die bei diesem Ansatz getestet werden müssen, könnten einige zu testende Schnittstellenlinks leicht übersehen werden.
  • Da die Integrationstests erst beginnen können, nachdem „alle“ Module entworfen wurden, hat das Testteam weniger Zeit für die Ausführung in der Testphase.
  • Da alle Module gleichzeitig getestet werden, werden kritische Module mit hohem Risiko nicht isoliert und vorrangig getestet. Auch Peripheriemodule, die sich mit Benutzeroberflächen befassen, werden nicht isoliert und vorrangig getestet.

Inkrementelles Testen

Im Inkrementelles Testen Bei diesem Ansatz erfolgt das Testen durch die Integration von zwei oder mehr Modulen, die logisch miteinander verknüpft sind, und wird dann auf die ordnungsgemäße Funktion der Anwendung getestet. Dann werden die anderen zugehörigen Module inkrementell integriert und der Prozess wird fortgesetzt, bis alle logisch verbundenen Module integriert und erfolgreich getestet wurden.

Der inkrementelle Ansatz wiederum wird mit zwei verschiedenen Methoden durchgeführt:

  • Prost
  • Top Down

Stubs und Treiber

Stubs und Treiber sind die Dummy-Programme beim Integrationstest, die zur Erleichterung des Tests verwendet werden Softwaretest Aktivität. Diese Programme dienen als Ersatz für die fehlenden Modelle im Test. Sie implementieren nicht die gesamte Programmierlogik des Softwaremoduls, sondern simulieren beim Testen die Datenkommunikation mit dem aufrufenden Modul.

Stummel: Wird vom zu testenden Modul aufgerufen.

LED Treiber: Ruft das zu testende Modul auf.

Bottom-up-Integrationstests

Bottom-up-Integrationstests ist eine Strategie, bei der die Module der unteren Ebene zuerst getestet werden. Diese getesteten Module werden dann weiter verwendet, um das Testen von Modulen höherer Ebene zu erleichtern. Der Prozess wird fortgesetzt, bis alle Module auf der obersten Ebene getestet sind. Sobald die Module der unteren Ebene getestet und integriert sind, wird die nächste Modulebene gebildet.

Diagrammatische Darstellung:

Bottom-up-Integrationstests

Vorteile:

  • Die Fehlerlokalisierung ist einfacher.
  • Im Gegensatz zum Big-Bang-Ansatz wird keine Zeit damit verschwendet, darauf zu warten, dass alle Module entwickelt sind

Nachteile:

  • Kritische Module (auf der obersten Ebene der Softwarearchitektur), die den Anwendungsfluss steuern, werden zuletzt getestet und können fehleranfällig sein.
  • Ein früher Prototyp ist nicht möglich

Top-Down-Integrationstests

Top-Down-Integrationstests ist eine Methode, bei der Integrationstests von oben nach unten durchgeführt werden, wobei dem Kontrollfluss des Softwaresystems gefolgt wird. Zuerst werden die Module auf höherer Ebene getestet und dann werden Module auf niedrigerer Ebene getestet und integriert, um die Funktionalität der Software zu prüfen. Stubs werden zum Testen verwendet, wenn einige Module nicht bereit sind.

Schematische Darstellung:

Top-Down-Integrationstests

Vorteile:

  • Die Fehlerlokalisierung ist einfacher.
  • Möglichkeit, einen frühen Prototyp zu erhalten.
  • Kritische Module werden nach Priorität getestet; Größere Konstruktionsfehler konnten zunächst gefunden und behoben werden.

Nachteile:

  • Benötigt viele Stubs.
  • Module auf einem niedrigeren Niveau werden unzureichend getestet.

Sandwichtest

Sandwichtest ist eine Strategie, bei der Module der obersten Ebene mit Modulen der unteren Ebene getestet werden, während gleichzeitig untere Module mit Modulen der oberen Ebene integriert und als System getestet werden. Es handelt sich um eine Kombination aus Top-down- und Bottom-up-Ansätzen, daher der Name Testen der hybriden Integration. Es nutzt sowohl Stubs als auch Treiber.

Sandwichtest

Wie führt man Integrationstests durch?

Das Integrationstestverfahren unabhängig von den Softwareteststrategien (oben besprochen):

  1. Bereiten Sie die Integration vor Testplan
  2. Entwerfen Sie die Testszenarien, -fälle und -skripte.
  3. Ausführen der Testfälle und anschließendes Melden der Fehler.
  4. Verfolgung und erneute Prüfung der Mängel.
  5. Die Schritte 3 und 4 werden wiederholt, bis die Integration erfolgreich abgeschlossen ist.

Kurz Description von Integrationstestplänen

Es umfasst die folgenden Attribute:

  • Methoden/Ansätze zum Testen (wie oben besprochen).
  • Bereiche und Elemente außerhalb des Bereichs von Integrationstests.
  • Rollen und Verantwortlichkeiten.
  • Voraussetzungen für Integrationstests.
  • Testumgebung.
  • Risiko- und Minderungspläne.

Ein- und Ausstiegskriterien für Integrationstests

Eintritts- und Austrittskriterien für die Integrationstestphase in jedem Softwareentwicklungsmodell

Eintrittskriterien:

  • Unit-getestete Komponenten/Module
  • Alle Fehler mit hoher Priorität wurden behoben und geschlossen
  • Alle Module müssen erfolgreich codiert und integriert werden.
  • Integrationstests Plan, Testfall, abzuzeichnende und zu dokumentierende Szenarien.
  • Erforderlich Test Umgebung für Integrationstests einzurichten

Ausgangskriterien:

  • Erfolgreiches Testen der integrierten Anwendung.
  • Ausgeführte Testfälle werden dokumentiert
  • Alle Fehler mit hoher Priorität wurden behoben und geschlossen
  • Einzureichende technische Dokumente, gefolgt von Versionshinweisen.

Best Practices/Richtlinien für Integrationstests

  • Bestimmen Sie zunächst die Integration Teststrategie die übernommen werden könnten, und bereiten Sie später die Testfälle und Testdaten entsprechend vor.
  • Studiere die ArchiStrukturdesign der Anwendung und Identifizierung der kritischen Module. Diese müssen vorrangig getestet werden.
  • Erhalten Sie die Schnittstellendesigns von der ArchiWir arbeiten mit dem technischen Team zusammen und erstellen Testfälle, um alle Schnittstellen im Detail zu überprüfen. Schnittstelle zur Datenbank/externe Hardware/Softwareanwendung muss im Detail getestet werden.
  • Nach den Testfällen spielen die Testdaten die entscheidende Rolle.
  • Halten Sie vor der Ausführung immer die Scheindaten bereit. Wählen Sie beim Ausführen der Testfälle keine Testdaten aus.