what is system integration testing
Was ist Systemintegrationstest?
System Integration Testing (SIT) ist der Gesamttest des gesamten Systems, der aus vielen Subsystemen besteht. Das Hauptziel von SIT besteht darin, sicherzustellen, dass alle Softwaremodulabhängigkeiten ordnungsgemäß funktionieren und die Datenintegrität zwischen verschiedenen Modulen des gesamten Systems erhalten bleibt.
SUT (System Under Test) kann aus Hardware, Datenbank, Software, einer Kombination aus Hardware und Software oder einem System bestehen, das menschliche Interaktion erfordert (HITL - Human in the Loop Testing).
Im Kontext von Softwareentwicklung und Softwaretests kann SIT als Testprozess betrachtet werden, der das gleichzeitige Auftreten des Softwaresystems mit anderen überprüft.
SIT hat eine Voraussetzung, bei der mehrere zugrunde liegende integrierte Systeme bereits Systemtests unterzogen und bestanden haben. SIT testet dann die erforderlichen Wechselwirkungen zwischen diesen Systemen als Ganzes. Die Ergebnisse von SIT werden an die UAT (User Acceptance Testing) übergeben.
Was du lernen wirst:
- Notwendigkeit eines Systemintegrationstests
- Die Granularität von SIT
- Wie führe ich Systemintegrationstests durch?
- Systemtest gegen Systemintegrationstest
- Systemintegrationstest gegen Benutzerakzeptanztest
- SIT Beispiel
- SIT-Techniken
- Fazit
- Literatur-Empfehlungen
Notwendigkeit eines Systemintegrationstests
Die Hauptfunktion von SIT besteht darin, Testabhängigkeiten zwischen verschiedenen Systemkomponenten durchzuführen. Daher ist das Regressionstest ein wichtiger Bestandteil von SIT.
Für Verbundprojekte ist SIT Teil des STLC (Software Testing Lifecycle). In der Regel führt der Softwareanbieter eine Pre-SIT-Runde durch, bevor der Kunde seine eigenen SIT-Testfälle ausführt.
In den meisten Organisationen, die in IT-Projekten nach dem Agile-Sprint-Modell arbeiten, führt das QA-Team vor jeder Veröffentlichung eine SIT-Runde durch. Die in der SIT gefundenen Fehler werden an das Entwicklungsteam zurückgesendet und arbeiten an den Korrekturen.
Die MVP-Veröffentlichung (Minimum Viable Product) aus dem Sprint wird nur ausgeführt, wenn sie durch SIT geleitet wird.
SIT ist erforderlich, um die Fehler aufzudecken, die bei der Interaktion zwischen den integrierten Subsystemen auftreten.
Im System werden mehrere Komponenten verwendet, die nicht einzeln getestet werden können. Selbst wenn das Gerät einzeln getestet wird, besteht auch die Möglichkeit, dass es bei Kombination im System ausfällt, da bei der Interaktion von Subsystemen viele Probleme auftreten.
Daher ist SIT dringend erforderlich, um die Fehler aufzudecken und zu beheben, bevor das System am Ende des Benutzers bereitgestellt wird. SIT erkennt die Mängel frühzeitig und spart so Zeit und Kosten für die spätere Behebung. Es hilft Ihnen auch, früheres Feedback zur Akzeptanz des Moduls zu erhalten.
Die Granularität von SIT
SIT kann auf drei verschiedenen Granularitätsstufen durchgeführt werden:
(i) Systeminterne Tests: Dies ist ein geringer Grad an Integrationstests, der darauf abzielt, die Module zu einem einheitlichen System zusammenzuführen.
(ii) Systemübergreifende Tests: Hierbei handelt es sich um Tests auf hoher Ebene, bei denen unabhängig getestete Systeme miteinander verbunden werden müssen.
(iii) Paarweises Testen: Hier werden jeweils nur zwei miteinander verbundene Subsysteme im gesamten System getestet. Damit soll sichergestellt werden, dass die beiden Teilsysteme in Kombination gut funktionieren, vorausgesetzt, die anderen Teilsysteme funktionieren bereits einwandfrei.
Wie führe ich Systemintegrationstests durch?
Der einfachste Weg, eine SIT durchzuführen, ist die datengesteuerte Methode. Es erfordert eine minimale Verwendung von Softwaretest-Tools.
Was ist die beste Idee für Python?
Zunächst erfolgt der Datenaustausch (Datenimport und Datenexport) zwischen den Systemkomponenten und anschließend wird das Verhalten jedes Datenfelds innerhalb der einzelnen Schicht untersucht.
Sobald die Software integriert ist, gibt es drei Hauptzustände des Datenflusses, wie unten erwähnt:
# 1) Datenstatus innerhalb der Integrationsschicht
Die Integrationsschicht fungiert als Schnittstelle zwischen Datenimport und -export. Das Ausführen von SIT auf dieser Ebene erfordert einige Grundkenntnisse in bestimmten Technologien wie Schema (XSD), XML, WSDL, DTD und EDI.
Die Leistung des Datenaustauschs kann auf dieser Ebene durch die folgenden Schritte untersucht werden:
- Überprüfen Sie die Dateneigenschaften innerhalb dieser Schicht anhand von BRD / FRD / TRD (Geschäftsanforderungsdokument / Funktionsanforderungsdokument / Technisches Anforderungsdokument).
- Überprüfen Sie die Webdienstanforderung mithilfe von XSD und WSDL.
- Führen Sie einige Komponententests durch und überprüfen Sie die Datenzuordnungen und -anforderungen.
- Überprüfen Sie die Middleware-Protokolle.
# 2) Datenstatus innerhalb der Datenbankebene
Das Ausführen von SIT auf dieser Ebene erfordert Grundkenntnisse in SQL und gespeicherten Prozeduren.
Die Leistung des Datenaustauschs auf dieser Ebene kann durch die folgenden Schritte untersucht werden:
- Überprüfen Sie, ob alle Daten aus der Integrationsschicht auf der Datenbankebene erfolgreich erreicht und festgeschrieben wurden.
- Überprüfen Sie die Tabellen- und Spalteneigenschaften anhand von BRD / FRD / TRD.
- Überprüfen Sie die in der Datenbank angewendeten Einschränkungen und Datenüberprüfungsregeln gemäß den Geschäftsspezifikationen.
- Überprüfen Sie die gespeicherten Prozeduren auf Verarbeitungsdaten.
- Überprüfen Sie die Serverprotokolle.
# 3) Datenstatus innerhalb der Anwendungsschicht
SIT kann auf dieser Ebene durch die folgenden Schritte durchgeführt werden:
- Überprüfen Sie, ob alle erforderlichen Felder in der Benutzeroberfläche sichtbar sind.
- Führen Sie einige positive und negative Testfälle aus und überprüfen Sie die Dateneigenschaften.
Hinweis: Es kann viele Kombinationen geben, die dem Datenimport und dem Datenexport entsprechen. Sie müssen SIT ausführen, um die besten Kombinationen unter Berücksichtigung der Ihnen zur Verfügung stehenden Zeit zu erzielen.
Systemtest gegen Systemintegrationstest
Unterschiede zwischen Systemtest und SIT:
SIT (System Integration Testing) | Systemtests |
---|---|
SIT wird hauptsächlich durchgeführt, um zu überprüfen, wie einzelne Module bei der Integration in ein Gesamtsystem miteinander interagieren. | Systemtests werden hauptsächlich durchgeführt, um zu überprüfen, ob das gesamte System unter Berücksichtigung der angegebenen Anforderungen wie erwartet funktioniert. |
Es wird nach dem Unit-Test durchgeführt und jedes Mal durchgeführt, wenn dem System ein neues Modul hinzugefügt wird. | Es wird auf der letzten Ebene durchgeführt, d. H. Nach Abschluss des Integrationstests und unmittelbar vor der Lieferung des Systems für UAT. |
Es ist ein Low-Level-Test. | Es ist ein Test auf hohem Niveau. |
SIT-Testfälle konzentrieren sich auf die Schnittstelle zwischen den Systemkomponenten. | In diesem Fall konzentrieren sich Testfälle auf die Simulation der realen Szenarien. |
Systemintegrationstest gegen Benutzerakzeptanztest
Hier ist der Unterschied zwischen SIT und UAT:
SIT (System Integration Testing) | UAT (User Acceptance Testing) |
---|---|
Diese Prüfung erfolgt unter dem Gesichtspunkt der Schnittstelle zwischen Modulen. | Diese Prüfung erfolgt aus Sicht der Benutzeranforderungen. |
SIT wird von Entwicklern und Testern durchgeführt. | UAT wird von Kunden und Endbenutzern durchgeführt. |
Fertig nach dem Unit-Test und vor dem Systemtest. | Dies ist die letzte Teststufe und wird nach dem Systemtest durchgeführt. |
Im Allgemeinen hängen die in SIT festgestellten Probleme mit dem Datenfluss, dem Kontrollfluss usw. zusammen. | Die in UAT auftretenden Probleme entsprechen im Allgemeinen den Funktionen, die nicht den Benutzeranforderungen entsprechen. |
Das folgende Bild zu den Teststufen würde Ihnen den Ablauf von Unit-Tests zu UAT verdeutlichen:
SIT Beispiel
Nehmen wir an, dass ein Unternehmen Software zum Speichern der Kundendaten verwendet.
Diese Software verfügt über zwei Bildschirme in der Benutzeroberfläche - Bildschirm 1 und Bildschirm 2 - und eine Datenbank. Die in Bildschirm 1 und Bildschirm 2 eingegebenen Details werden in die Datenbank eingegeben. Ab sofort ist das Unternehmen mit dieser Software zufrieden.
Einige Jahre später stellt das Unternehmen jedoch fest, dass die Software die Anforderungen nicht erfüllt und Verbesserungsbedarf besteht. Daher entwickelten sie einen Screen 3 und eine Datenbank. Dieses System mit Bildschirm 3 und einer Datenbank ist jetzt in die ältere / vorhandene Software integriert.
Jetzt wird der Test, der nach der Integration auf dem gesamten System durchgeführt wird, als Systemintegrationstest bezeichnet. Hier wird die Koexistenz eines neuen Systems mit einem bestehenden System getestet, um sicherzustellen, dass das gesamte integrierte System einwandfrei funktioniert.
MP3-Musik-Downloader-App für Android
SIT-Techniken
Hauptsächlich gibt es 4 Ansätze für SIT:
- Top-Down-Ansatz
- Bottom-up-Ansatz
- Sandwich-Ansatz
- Urknall-Ansatz
Der Top-Down-Ansatz und der Bottom-Up-Ansatz sind eine Art inkrementeller Ansätze. Beginnen wir die Diskussion zunächst mit dem Top-Down-Ansatz.
# 1) Top-Down-Ansatz:
Darunter beginnt der Test nur mit dem obersten Modul einer Anwendung, d. H. Der Benutzeroberfläche, die wir als Testtreiber aufrufen.
Die Funktionalität der zugrunde liegenden Module wird mit Stubs simuliert. Das obere Modul wird nacheinander in den Modulstub der unteren Ebene integriert, und später wird die Funktionalität getestet.
Sobald jeder Test abgeschlossen ist, wird der Stub durch das echte Modul ersetzt. Die Module können entweder in der Breite zuerst oder in der Tiefe zuerst integriert werden. Der Test wird fortgesetzt, bis die gesamte Anwendung erstellt wurde.
Der Vorteil dieses Ansatzes besteht darin, dass keine Treiber erforderlich sind und die Testfälle hinsichtlich der Funktionalität des Systems spezifiziert werden können.
Die Hauptherausforderung bei dieser Art von Ansatz ist die Abhängigkeit von der Verfügbarkeit von Modulfunktionen auf niedrigerer Ebene. Bei Tests kann es zu Verzögerungen kommen, bis die realen Module durch Stubs ersetzt werden. Das Schreiben von Stubs ist ebenfalls schwierig.
# 2) Bottom-up-Ansatz:
Es beseitigt die Einschränkungen des Top-Down-Ansatzes.
Bei dieser Methode werden zunächst die Module der untersten Ebene zu Clustern zusammengesetzt. Diese Cluster dienen als Unterfunktion der Anwendung. Anschließend wird ein Treiber erstellt, um die Eingabe und Ausgabe des Testfalls zu verwalten. Danach wird der Cluster getestet.
Sobald der Cluster getestet wurde, wird der Treiber entfernt und der Cluster mit der nächsthöheren Ebene kombiniert. Dieser Prozess wird fortgesetzt, bis die gesamte Anwendungsstruktur erreicht ist.
Bei diesem Ansatz sind keine Stichleitungen erforderlich. Es wird vereinfacht, wenn die Verarbeitung nach oben geht und der Bedarf an Treibern verringert wird. Dieser Ansatz ist ratsam, um SIT für objektorientierte Systeme, Echtzeitsysteme und Systeme mit strengen Leistungsanforderungen durchzuführen.
Die Einschränkung dieses Ansatzes ist jedoch das wichtigste Subsystem, d. H. Die Benutzeroberfläche wird zuletzt getestet.
# 3) Sandwich-Ansatz:
Hier werden die oben diskutierten Top-Down- und Bottom-Up-Ansätze miteinander kombiniert.
So öffnen Sie eine Datendatei auf einem Mac
Das System hat drei Schichten - die mittlere Schicht, die die Zielschicht ist, eine Schicht über dem Ziel und eine Schicht unter dem Ziel. Die Tests werden in beide Richtungen durchgeführt und versammeln sich auf der Zielschicht in der Mitte. Dies ist im folgenden Bild dargestellt.
Sandwich-Teststrategie
Ein Vorteil dieses Ansatzes besteht darin, dass die obere Schicht und die untere Schicht des Systems parallel getestet werden können. Die Einschränkung dieses Ansatzes besteht jedoch darin, dass die einzelnen Subsysteme vor der Integration nicht vollständig getestet werden.
Um diese Einschränkung zu beseitigen, haben wir Sandwich-Tests modifiziert, bei denen die Integration der oberen, mittleren und unteren Schicht parallel mit Stubs und Treibern getestet wird.
# 4) Urknall-Ansatz:
Bei diesem Ansatz erfolgt die Integration, sobald alle Module der Anwendung vollständig bereit sind. Nach der Integration aller Module wird getestet, ob das integrierte System funktioniert oder nicht.
Es ist schwierig, die Hauptursache des Problems in diesem Ansatz zu finden, da im Gegensatz zu inkrementellen Tests alles auf einmal integriert ist. Dieser Ansatz wird im Allgemeinen angewendet, wenn nur eine Runde SIT erforderlich ist.
Fazit
In diesem Artikel haben wir erfahren, was System Integration Testing (SIT) ist und warum es wichtig ist, es durchzuführen.
Wir haben die Kernkonzepte, -techniken, -ansätze und -methoden für die Durchführung der SIT verstanden. Wir haben auch erklärt, wie sich SIT von UAT- und Systemtests unterscheidet.
Ich hoffe, Ihnen hat dieser hervorragende Artikel gefallen!
Literatur-Empfehlungen
- Was ist Komponententest oder Modultest (Lernen Sie mit Beispielen)
- Was ist ein Vergleichstest (Lernen mit Beispielen)
- Was ist Integrationstest (Tutorial mit Beispiel für Integrationstests)
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Die Unterschiede zwischen Unit Testing, Integration Testing und Functional Testing
- Funktionstests gegen nichtfunktionale Tests
- Integration von Selen mit JMeter
- Spock für Integration und Funktionstests mit Selen