Was ist Komponententest? Techniken, Beispieltestfälle
Was ist Komponententest?
Komponententests sind eine Art von Softwaretests, bei denen die Tests für jede einzelne Komponente separat und ohne Integration mit anderen Komponenten durchgeführt werden. Aus der Architekturperspektive betrachtet, werden sie auch als Modultests bezeichnet. Komponententests werden auch als Unittests, Programmtests oder Modultests bezeichnet.
Im Allgemeinen besteht jede Software als Ganzes aus mehreren Komponenten. Beim Testen auf Komponentenebene geht es darum, diese Komponenten einzeln zu testen.
Es handelt sich um eine der am häufigsten durchgeführten Blackbox-Testarten, die vom QA-Team durchgeführt wird.
Gemäß dem folgenden Diagramm gibt es eine Teststrategie und einen Testplan für Komponententests. Dabei wird jeder einzelne Teil der Software oder Anwendung einzeln betrachtet. Für jede dieser Komponenten a Testszenario Es wird eine Definition vorgenommen, die 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 vom Rest anderer Komponenten in der Software oder Anwendung.
Wie wir den Lebenszyklus von Softwaretests kennen ArchiDie Struktur verfügt über viele Testartefakte (erstellte Dokumente, die während der Testaktivitäten verwendet werden). Unter vielen Testartefakten sind es die Testrichtlinie und die Teststrategie, die die Testarten und die Testtiefe definieren, 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, bei denen sie die einzelnen Funktionen oder Prozeduren testen. Nach Unit Tests durchgeführt wird, ist der nächste Test der Komponententest. Die Komponentenprüfung erfolgt durch die Tester.
Wann sollten Komponententests durchgeführt werden?
Komponententests werden durchgeführt, kurz nachdem die Unit-Tests von den Entwicklern durchgeführt wurden und der Build für das Testteam freigegeben wurde. Dieser Build wird als UT-Build (Unit Testing Build) bezeichnet. In dieser Phase werden die Hauptfunktionen aller Komponenten getestet.
Zulassungskriterien für Komponententests
- Die Mindestanzahl der in die UT aufzunehmenden Komponenten sollte entwickelt und in Einheiten getestet werden.
Beendigungskriterien für Komponententests
- Die Funktionalität aller Komponenten sollte einwandfrei funktionieren.
- Es sollten keine Fehler vom Typ „Kritisch“ oder „Hoher oder Mittlerer Schweregrad und Priorität“ vorliegen Defekt Log.
Komponententesttechniken
Basierend auf der Tiefe der Teststufen können Komponententests in folgende Kategorien eingeteilt werden:
- CTIS – Komponententests im Kleinen
- CTIL – Komponententests im Großen
CTIS – Komponententest im Kleinen
Komponententests können mit oder ohne Isolierung der übrigen anderen Komponenten in der zu testenden Software oder Anwendung durchgeführt werden. Wenn es unter Isolierung einer anderen Komponente durchgeführt wird, wird es in Small als Komponententest bezeichnet.
Beispiel 1: Stellen Sie sich eine Website vor, die über 5 verschiedene Webseiten verfügt, und testen Sie dann jede Webseite einzeln und mit der Isolierung anderer Komponenten. Dies wird in Small als Komponententest bezeichnet.
Beispiel 2: Betrachten Sie die Homepage der Website guru99.com, die viele Komponenten wie z
Startseite, Testen, SAP, Web, Muss man lernen!, Big Data, Live-Projekte, Blog usw.
Ebenso besteht jede Software aus vielen Komponenten und jede Komponente hat ihre eigenen Unterkomponenten. Das separate Testen aller in Beispiel 2 genannten Module ohne Berücksichtigung der Integration mit anderen Komponenten wird als bezeichnet Komponententests im Kleinformat.
Klicken Sie auf das Dropdown-Menü „Testen“, wie in der folgenden Snap-Show gezeigt, und sehen Sie sich verschiedene an „Unterkomponenten“ der Testkomponente. Die angezeigten Unterkomponenten sind also Manuelle Prüfung, SOAPUI, QTP, JUnit, Selenium, Testmanagement, Selenium, Mobil Testen usw.
Hinweis: Die Unterkomponenten werden im folgenden Schnappschuss mit rot hervorgehobener Farbe erwähnt.
CTIL – Komponententests im Großen
Komponententests, die ohne Isolierung anderer Komponenten in der zu testenden Software oder Anwendung durchgeführt werden, werden als Component Testing Large bezeichnet.
Nehmen wir ein Beispiel, um es besser zu verstehen. Angenommen, es gibt eine Anwendung, die beispielsweise aus drei Komponenten besteht Komponente A, Komponente B, und Komponente C.
Der Entwickler hat die Komponente B entwickelt und möchte sie testen. Aber um uneingeschränkt Wenn Sie die Komponente B testen, hängen einige ihrer Funktionalitäten von Komponente A und nur wenige von Komponente C ab.
Funktionsablauf: A -> B -> C Dies bedeutet, dass eine Abhängigkeit zu B von A und C besteht, wie im Diagrammstummel angegeben namens Funktion, und der Fahrer ist der aufrufende Funktion.
Die Komponenten A und C sind jedoch noch nicht entwickelt. Um die Komponente B vollständig zu testen, können wir in diesem Fall die Komponenten A und C nach Bedarf durch Stubs und Treiber ersetzen. Grundsätzlich werden die Komponenten A und C durch Stubs und Treiber ersetzt, die als Dummy-Objekt fungieren, bis sie tatsächlich entwickelt werden.
- Stummel: Ein Stub wird von der zu testenden Softwarekomponente aufgerufen, wie im folgenden Diagramm dargestellt. „Stub“ wird von Komponente A aufgerufen.
- Treiber: Ein Treiber ruft die zu testende Komponente auf, wie im Diagramm unten dargestellt. „Komponente B“ wird vom Treiber aufgerufen.
Beispieltestfälle für Komponententests
Betrachten Sie zwei Webseiten gemäß den unten aufgeführten Diagrammen. Hier sind beide Webseiten aus funktionaler Sicht miteinander verknüpft.
- Webseite 1 ist die Anmeldeseite für demo.guru99.com
Wenn der Benutzer eine gültige Benutzer-ID und ein gültiges Passwort in das Textfeld eingegeben und auf die Schaltfläche „Senden“ geklickt hat, navigiert die Webseite zur Startseite der Guru99-Demobank-Website.
- Webseite 2 ist die Homepage von Guru99.com
Hier ist die Anmeldeseite also eine Komponente und die Startseite eine andere. Nun heißt es, die Funktionalität einzelner Seiten separat zu testen Komponententests.
Komponententestszenarien auf Webseite1 –
- Geben Sie eine ungültige Benutzer-ID ein und prüfen Sie, ob dem Endbenutzer ein benutzerfreundliches Warn-Popup angezeigt wird.
- Geben Sie eine ungültige Benutzer-ID und ein ungültiges Passwort ein, klicken Sie auf „Zurücksetzen“ und überprüfen Sie, ob die in den Textfeldern Benutzer-ID und Passwort eingegebenen Daten gelöscht wurden.
- Geben Sie den gültigen Benutzernamen und das Passwort ein und klicken Sie auf die Schaltfläche „Anmelden“.
Komponententestszenarien auf Webseite2 –
- Überprüfen Sie, ob auf der Startseite die Meldung „Willkommen auf der Managerseite der Guru99 Bank“ 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 anhand des Diagramms, ob die drei verschiedenen Bilder auf der Startseite vorhanden sind.
Unit-Tests vs. Komponententests
Unit Tests | Komponententest |
---|---|
Das Testen einzelner Programme und Module, um zu zeigen, dass das Programm gemäß der Spezifikation ausgeführt wird, wird aufgerufen Unit Tests | Man nennt es das separate Testen jedes Objekts oder Teils der Software mit oder ohne Isolierung anderer Objekte Komponententest |
Es ist anhand von Designdokumenten validiert | Es ist anhand von Testanforderungen und Anwendungsfällen validiert |
Unit-Tests werden von Entwicklern durchgeführt | Komponententests werden von Testern durchgeführt |
Zuerst werden Unit-Tests durchgeführt | Komponententests werden durchgeführt, nachdem die Komponententests auf Entwicklerseite abgeschlossen sind. |
Zusammenfassung
In Software Engineering, Komponententests spielen eine entscheidende Rolle bei der Fehlersuche. Bevor wir beginnen Integrationstests Nach dem Komponententest und dem Integrationstest folgt der Komponententest.
Komponententests werden in einigen Referenzen auch als Modultests bezeichnet.