Was ist Komponententest?
Komponententests werden als Software-Testtypen definiert, bei denen die Tests für jede einzelne Komponente separat durchgeführt werden, ohne in andere Komponenten integriert zu werden. Es wird auch als Modultest bezeichnet, wenn es aus einer Architekturperspektive betrachtet wird. Komponententests werden auch als Komponententests, Programmtests oder Modultests bezeichnet.
Im Allgemeinen besteht jede Software als Ganzes aus mehreren Komponenten. Beim Testen auf Komponentenebene werden diese Komponenten einzeln getestet.
Dies ist einer der häufigsten Black-Box-Testtypen, die vom QA-Team durchgeführt werden.
Gemäß dem folgenden Diagramm gibt es eine Teststrategie und einen Testplan für die Komponententests. Wo jeder Teil der Software oder Anwendung einzeln betrachtet wird. Für jede dieser Komponenten wird ein Testszenario definiert, das weiter in Testfälle auf hoher Ebene -> detaillierte Testfälle auf niedriger Ebene mit Voraussetzungen unterteilt wird.
Die Verwendung des Begriffs " Komponententest " variiert von Domäne zu Domäne und von Organisation zu Organisation.
Der häufigste Grund für die unterschiedliche Wahrnehmung von Komponententests ist
- Art des gewählten Entwicklungslebenszyklusmodells
- Komplexität der zu testenden Software oder Anwendung
- Testen mit oder ohne Isolierung von anderen Komponenten in Software oder Anwendung.
Wie wir wissen, weist die Software Test Life Cycle Architecture viele Testartefakte auf (erstellte Dokumente, die während der Testaktivitäten verwendet werden). Unter vielen Tests - Artefakten - ist es die Testrichtlinie und Teststrategie, die die Testtypen und die Testtiefe definiert, die in einem bestimmten Projekt durchgeführt werden sollen.
Wer führt Komponententests durch?
Komponententests werden von Testern durchgeführt. 'Unit Testing' wird von den Entwicklern durchgeführt, wo sie die einzelnen Funktionen oder Verfahren testen. Nach dem Unit-Test ist der nächste Test der Komponententest. Die Komponententests werden von den Testern durchgeführt.
Wann sind Komponententests durchzuführen?
Komponententests werden kurz nach dem Unit-Test durch die Entwickler durchgeführt und der Build für das Testteam freigegeben. Dieser Build wird als UT-Build (Unit Testing Build) bezeichnet. In dieser Phase werden die Hauptfunktionen aller Komponenten getestet.
Einstiegskriterien für Komponententests
- Die Mindestanzahl der Komponenten, die in die UT aufgenommen werden sollen, sollte entwickelt und auf Einheit getestet werden.
Beendigungskriterien für Komponententests
- Die Funktionalität aller Komponenten sollte einwandfrei funktionieren.
- Es sollten keine kritischen oder Fehler mit hohem oder mittlerem Schweregrad und Priorität vorhanden sein. Fehlerprotokoll.
Komponententesttechniken
Basierend auf der Tiefe der Teststufen können Komponententests als kategorisiert werden
- CTIS - Komponententest in kleinen
- CTIL - Komponententest im großen Stil
CTIS - Komponententest in kleinen
Komponententests können mit oder ohne Isolierung der übrigen anderen Komponenten in der zu testenden Software oder Anwendung durchgeführt werden. Wenn es mit der Isolierung einer anderen Komponente durchgeführt wird, wird es als Komponententest in Small bezeichnet.
Beispiel 1: Stellen Sie sich eine Website mit 5 verschiedenen Webseiten vor und testen Sie dann jede Webseite separat. Die Isolierung anderer Komponenten wird als Komponententest in Small bezeichnet.
Beispiel 2: Betrachten Sie die Homepage der Website guru99.com, die viele Komponenten wie enthält
Home, Testen, SAP, Web, Must Learn!, Big Data, Live-Projekte, Blog usw.
Ebenso besteht jede Software aus vielen Komponenten und jede Komponente hat ihre eigenen Unterkomponenten. Das separate Testen jedes in Beispiel 2 genannten Moduls ohne Berücksichtigung der Integration mit anderen Komponenten wird als Komponententest in Small bezeichnet.
Klicken Sie auf das Dropdown-Menü Testen gemäß der folgenden Snap-Show und sehen Sie verschiedene "Unterkomponenten" der Testkomponente. Die angezeigten Unterkomponenten sind also Manuelles Testen, SOAPUI, QTP, JUnit, Selen, Testmanagement, Selen, Mobiles Testen usw.
Hinweis: Die Unterkomponente wird im folgenden Schnappschuss mit rot hervorgehobener Farbe erwähnt.
CTIS - Komponententest in kleinen
Komponententests, die ohne Isolierung anderer Komponenten in der zu testenden Software oder Anwendung durchgeführt werden, werden als Komponententests groß bezeichnet.
Nehmen wir ein Beispiel, um es besser zu verstehen. Angenommen , es ist eine Anwendung , die aus drei Komponenten sagt Komponente A , Komponente B und Komponente C .
Der Entwickler hat die Komponente B entwickelt und möchte, dass sie getestet wird. Um die Komponente B vollständig zu testen, hängen jedoch nur wenige ihrer Funktionen von Komponente A und wenige von Komponente C ab.
Funktionsablauf: A -> B -> C, was bedeutet, dass sowohl von A als auch von C eine Abhängigkeit von B besteht, da der Diagrammstub die aufgerufene Funktion und der Treiber die aufrufende Funktion ist .
Die Komponenten A und C wurden jedoch noch nicht entwickelt. In diesem Fall können wir die Komponente A und die Komponente C nach Bedarf durch Stub und Treiber ersetzen, um die Komponente B vollständig zu testen. Im Grunde genommen werden die Komponenten A & C durch Stub & Driver ersetzt, die als Dummy-Objekt fungieren, bis sie tatsächlich entwickelt werden.
- Stub: Ein Stub wird von der zu testenden Softwarekomponente aufgerufen, wie in der folgenden Abbildung gezeigt. 'Stub' wird von Komponente A aufgerufen.
- Treiber: Ein Treiber ruft die zu testende Komponente auf, wie in der folgenden Abbildung gezeigt. 'Komponente B' wird vom Treiber aufgerufen.
Beispiel Testfälle für Komponententests
Betrachten Sie 2 Webseiten gemäß den unten genannten Diagrammen. Hier sind beide Webseiten unter dem Gesichtspunkt der Funktionalität miteinander verbunden.
- Webseite 1 ist die Anmeldeseite von demo.guru99.com
Wenn der Benutzer eine gültige Benutzer-ID und ein gültiges Kennwort in das Textfeld eingegeben und auf die Schaltfläche "Senden" geklickt hat, navigiert die Webseite zur Startseite der Website der guru99-Demobank.
- Webseite 2 ist die Homepage von Guru99.com
Hier ist die Anmeldeseite eine Komponente und die Startseite eine andere. Das separate Testen der Funktionalität einzelner Seiten wird nun als Komponententest bezeichnet .
Komponententestszenarien auf Webseite1 -
- Geben Sie eine ungültige Benutzer-ID ein und überprüfen Sie, ob dem Endbenutzer eine benutzerfreundliche Warnung angezeigt wird.
- Geben Sie eine ungültige Benutzer-ID und ein ungültiges Kennwort ein, klicken Sie auf "Zurücksetzen" und überprüfen Sie, ob die in den Textfeldern Benutzer-ID und Kennwort eingegebenen Daten gelöscht wurden.
- Geben Sie den gültigen Benutzernamen und das Passwort ein und klicken Sie auf "Anmelden".
Komponententestszenarien auf Webseite2 -
- Überprüfen Sie, ob die Meldung "Willkommen auf der Managerseite der Guru99-Bank" auf der Startseite angezeigt wird.
- Überprüfen Sie, ob alle Links auf der linken Seite der Webseite anklickbar sind.
- Überprüfen Sie, ob die Manager-ID in der Mitte der Startseite angezeigt wird.
- Überprüfen Sie das Vorhandensein der 3 verschiedenen Bilder auf der Startseite gemäß dem Diagramm.
Unit Testing Vs Component Testing
Unit Testing | Komponententest |
---|---|
|
|
|
|
|
|
|
|
Zusammenfassung:
In der Softwareentwicklung spielt das Testen von Komponenten eine entscheidende Rolle beim Auffinden der Fehler. Bevor wir mit dem Integrationstest beginnen, wird immer empfohlen, den Komponententest durchzuführen, um sicherzustellen, dass jede Komponente einer Anwendung effektiv funktioniert.
Auf den Integrationstest folgt der Komponententest. Komponententests werden in einigen Referenzen auch als Modultests bezeichnet.