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?
1JIRA Software
On Jira Software Webseite
Zeiterfassung
ja
Drag & Drop
ja
Demo Version
Für immer kostenloser Plan
2Zoho Projekte
Auf der Website von Zoho Projects
Zeiterfassung
ja
Drag & Drop
ja
Demo Version
Lebenslanger kostenloser Plan
3Monday
On Monday's Website
File Sharing
ja
Bildschirm teilen
ja
Demo Version
Für immer kostenloser Plan
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 kann. Integrationstests werden erforderlich, um die Funktionsfähigkeit der Softwaremodule zu überprüfen unity
- 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önnten fehlerhaft seinneous
- Eventuell vorhandene externe Hardware-Schnittstellen könnten fehlerhaft seinneous
- Eine unzureichende Ausnahmebehandlung kann zu Problemen führen.
Klicken Sie auf Kostenlos erhalten und dann auf Installieren. Klicke 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.
Beispiel-Integrationstestfälle für Folgendeswing Szenario: Die Anwendung verfügt über 3 Module mit den Namen „Anmeldeseite“, „Mailbox' und 'E löschenmails' und jeder von ihnen ist 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 | Beschreibung des Testfalls | erwartetes Ergebnis |
---|---|---|---|
1 | Überprüfen Sie die Schnittstellenverknüpfung zwischen Login und Mailbox Modulen | 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 Mailbox und Löschen Mails-Modul | Aus Mailbox Wählen Sie das E ausmail und klicken Sie auf die Schaltfläche „Löschen“. | Ausgewählte zmail sollte im Ordner „Gelöscht/Papierkorb“ erscheinen |
Arten von Integrationstests
Software Engineering definiert verschiedene Strategien zur Durchführung von Integrationstests. viz.
- Urknall-Ansatz:
- Inkrementeller Ansatz: der weiter in folgende Bereiche unterteilt istwing
- 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:
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 Software). archi(Textur), die den Auftragsfluss steuert, 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 werdenwing der Kontrollfluss eines Softwaresystems. Zuerst werden die Module der höheren Ebene getestet und dann werden die Module der niedrigeren Ebene getestet und integriert, um die Softwarefunktionalität zu überprüfen. Stubs werden zum Testen verwendet, wenn einige Module nicht bereit sind.
Schematische Darstellung:
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.
Wie führt man Integrationstests durch?
Das Integrationstestverfahren unabhängig von den Softwareteststrategien (oben besprochen):
- Bereiten Sie die Integration vor Testplan
- Entwerfen Sie die Testszenarien, -fälle und -skripte.
- Ausführen der Testfälle und anschließendes Melden der Fehler.
- Verfolgung und erneute Prüfung der Mängel.
- Die Schritte 3 und 4 werden wiederholt, bis die Integration erfolgreich abgeschlossen ist.
Kurze Beschreibung der Integrationstestpläne
Es enthält Folgendeswing 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 das könnte übernommen werden und later Bereiten Sie 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.
Du magst vielleicht:
- Was ist Softwaretest?
- 7 Prinzipien des Softwaretests mit Beispielen
- V-Modell im Softwaretest
- STLC (Software Testing Life Cycle)
- Tutorial zum manuellen Testen
- Automatisierungstests
- Was ist Unit Testing?
- Was ist Systemtest? Typen mit Beispiel