Kursinhalt
Einführung in Manuelles Testen & QA in der Webentwicklung
Einführung in Manuelles Testen & QA in der Webentwicklung
Integrationstests
Einführung
Integrationstests sind ein umfassendes Konzept, jedoch werden wir versuchen, alle wichtigen Aspekte der Integrationstests in diesem Kapitel abzudecken.
Integrationstests sind eine Testmethode, die unter Funktionstests kategorisiert wird. Integrationstests sind ein umfassendes Konzept und haben viele verschiedene Typen.
Bei Integrationstests werden einzelne Einheiten oder Module der Software zusammengeführt und getestet, um sicherzustellen, dass sie korrekt zusammenarbeiten, ohne dass es zu Problemen bei ihrer Interaktion kommt.
Deshalb werden Integrationstests normalerweise nach Komponententests durchgeführt. Ein Beispiel für Integrationstests wäre die Überprüfung, ob sich ein Benutzer nach Eingabe korrekter Anmeldedaten korrekt in sein Konto einloggen kann. Wir haben im letzten Abschnitt viele ähnliche Tests durchgeführt. Die meisten, wenn nicht alle, die wir im letzten Abschnitt durchgeführt haben, fallen in die Kategorie der Integrationstests.
In unserer Chat-Anwendung wird das Login-/Registrierungssystem mit mehreren Einheiten aufgebaut. Das Frontend der App, das das Login- oder Registrierungsformular, die Felder und Schaltflächen umfasst, stellt ein separates Modul dar, während das Backend der Anwendung, zum Beispiel die Datenbank, die die Benutzerinformationen speichert, ein anderes Modul darstellt. Diese beiden Module interagieren miteinander, um das Login-/Registrierungssystem zu bilden.
Aktualisierungen in unserer Anwendung
Einige Aktualisierungen wurden an der Chat-Anwendung vorgenommen. Im Folgenden finden Sie eine Zusammenfassung der Aktualisierungen:
- Die Benutzer können keine leeren Nachrichten mehr in den Chat senden.
- Der Chatverlauf wird in der Datenbank gespeichert und den Benutzern angezeigt.
Arten von Integrationstests
Wir werden einige Integrationstests an dieser neueren Version der Anwendung durchführen. Bevor wir jedoch damit beginnen, müssen wir uns die verschiedenen Arten von Integrationstests ansehen.
-
Big Bang Testing: Bei dieser Art von Tests werden alle Module zusammengeführt und gleichzeitig getestet.
-
Top-Down Testing: Bei dieser Art von Tests werden zuerst die höherstufigen Komponenten getestet und dann die niedrigeren Komponenten. Dieser Ansatz hilft, Fehler oder Probleme mit den höherstufigen oder benutzerseitigen Funktionen in einem frühen Stadium der Tests zu finden.
-
Bottom-Up Testing: Bei diesem Ansatz werden die niedrigeren Komponenten oder die Komponenten, die hinter der Abstraktion der Benutzeroberfläche stehen, vor den höherstufigen Komponenten getestet. Die niedrigeren Komponenten sind leichter zu testen, da sie stabiler sind und näher am funktionalen Code der Anwendung liegen.
-
Sandwich Integration Testing: Dieser Ansatz kombiniert sowohl Top-Down- als auch Bottom-Up-Ansätze. Bei diesem Ansatz werden die Tests gleichzeitig von den niedrigsten und höchsten Komponenten oder Modulen gestartet.
-
Incremental Testing: Bei diesem Ansatz wird die Anwendung getestet, während neue Module hinzugefügt werden. Jedes Inkrement wird gründlich getestet, bevor zum nächsten übergegangen wird.
Die Art des Ansatzes, den wir in unseren Tests verwenden sollten, hängt von der Struktur unserer Anwendung und vor allem davon ab, wie der Entwicklungsprozess voranschreitet.
Zum Beispiel, wenn alle Module mit der gleichen Geschwindigkeit voranschreiten oder gleichzeitig fertig sind, ist Big-Bang Testing am besten geeignet, da wir alle Module gleichzeitig testen können.
Wenn die Module von einem niedrigen Niveau aus bearbeitet werden, ist der Bottom-Up-Ansatz am besten geeignet, und wenn die höherstufigen Module fertig sind, bevor die niedrigeren Module abgeschlossen sind, ist der Top-Down-Ansatz besser. Wenn es keine bestimmte Reihenfolge gibt, in der die Module bearbeitet werden, ist inkrementelles Testen geeignet. Da Sandwich-Tests sowohl Top-Down- als auch Bottom-Up-Ansätze kombinieren, ist es geeignet, wenn die Entwicklung sowohl von niedrigem als auch von hohem Niveau gleichzeitig voranschreitet.
In unserer Anwendung haben wir das höherstufige Modul (Benutzeroberfläche) und das niedrigstufige Modul (Datenbank) beide gleichzeitig teilweise abgeschlossen, und es fehlt ein mittleres Modul, das die API ist, die wir ursprünglich geplant hatten. Obwohl die Benutzeroberfläche und die Datenbank ohne die API funktionieren können, können diese beiden Module zusammenarbeiten und daher zusammen getestet werden. Daher wäre in unserem Fall die am besten geeignete Form des Integrationstests Sandwich Integration Testing.
Der erste Schritt beim Schreiben von Testfällen besteht darin, die Anforderungen der Anwendung zu identifizieren. Manchmal gibt es technische Anforderungen oder Einschränkungen, die wichtig sind, wenn die Anwendung auf eine bestimmte Weise entwickelt wird. Zum Beispiel kann die Datenbank unserer Chat-Anwendung einen Benutzernamen speichern, der bis zu 36 Zeichen lang ist. Wir können das wissen, wenn wir den Code betrachten, aber in einigen Fällen hat der Tester keinen Zugriff oder keine Kenntnis des Codes. In solchen Fällen kann der Tester die definierten Projektanforderungen oder Einschränkungen verwenden, falls sie gegeben sind.
Anforderungen an die Registrierungsfunktionalität:
- Der Benutzername darf nicht mehr als 36 Zeichen enthalten.
- Der Benutzername darf keine Sonderzeichen enthalten, außer
! @ # $ % ^ & * ( ) _ - + = { } [ ] : . ? /
. - Das Passwort darf keine Sonderzeichen enthalten, außer
! @ # $ % ^ & * ( ) _ - + = { } [ ] : . ? /
. - Das Passwort sollte mindestens 8 Zeichen lang sein.
Anforderungen an die Chat-Funktionalität:
- Die Chat-Nachrichten sollten in Echtzeit an andere Benutzer gesendet werden.
- Die Anwendung sollte den Chat-Verlauf speichern.
- Die Anwendung sollte den gespeicherten Chat-Verlauf im Chat-Fenster anzeigen.
- Das Chat-Fenster sollte automatisch nach unten scrollen, falls der Inhalt überläuft.
Danke für Ihr Feedback!