Ebenen der Softwareprüfung

Ebenen der Softwareprüfung
MIN
28 Juli 2023

Softwaretests können auf verschiedenen Ebenen des Softwareentwicklungsprozesses durchgeführt werden. Die Durchführung von Testaktivitäten auf mehreren Ebenen hilft, Fehler frühzeitig zu erkennen und die Qualität des Softwareprodukts zu verbessern. In diesem Text werden wir verschiedene Ebenen des Testens besprechen, nämlich Einheitstests, Integrationstests, Systemtests und Abnahmetests.

In diesem Abschnitt werden die einzelnen Teststufen kurz beschrieben, und in den folgenden Abschnitten wird jede einzelne Stufe anhand eines Beispiels und einer ausführlichen Erklärung erläutert.

Inhaltsübersicht

Einheitliche Prüfung

  • Unit-Tests sind die erste Teststufe, die in der Regel von Entwicklern durchgeführt wird.
  • Beim Testen wird das Modul oder die Komponente isoliert getestet.
  • Da sich die Prüfung auf ein bestimmtes Modul oder eine bestimmte Komponente beschränkt, ist eine erschöpfende Prüfung möglich.
  • Vorteil – der Fehler kann frühzeitig erkannt werden, was Zeit und Geld bei der Beseitigung spart.
  • Einschränkung – Integrationsprobleme werden in diesem Stadium nicht erkannt, Module können isoliert perfekt funktionieren, aber Probleme bei der Verbindung zwischen den Modulen haben.

Integrationstests

Integrationstests sind die zweite Testebene, auf der wir eine Gruppe von zusammenhängenden Modulen testen.

Sie zielt darauf ab, Probleme mit der Verbindung zwischen den Modulen zu finden, d. h. j. ob die einzelnen Einheiten ordnungsgemäß in das Teilsystem integriert werden können. Es gibt vier Arten: Big-Bang-, Top-Down-, Bottom-Up- und Hybrid-Tests.

  1. Bei der Integration mit Big-Bang-Tests werden alle Module zuerst benötigt und dann integriert. Nach der Integration erfolgt die Prüfung der integrierten Einheit als Ganzes.
  2. Bei Top-Down-Integrationstests beginnt der Testablauf mit den in der Hierarchie höher stehenden Top-Level-Modulen und endet mit den darunter liegenden Modulen, da die Möglichkeit besteht, dass die darunter liegenden Module nicht entwickelt werden. Daher werden in solchen Fällen Plugins (Stubs) verwendet, die nichts anderes als Dummy-Module oder -Funktionen sind, die den Betrieb des Moduls simulieren, indem sie die vom Modul empfangenen Parameter akzeptieren und ein akzeptables Ergebnis liefern.
  3. Bottom-up-Integrationstests basieren ebenfalls auf einem inkrementellen Ansatz, beginnen jedoch mit den Modulen der unteren Ebene und arbeiten sich bis zu den Modulen der höheren Ebene vor. Auch hier ist es möglich, dass die Module der höheren Ebene nicht zu dem Zeitpunkt entwickelt werden, zu dem die Module der unteren Ebene getestet werden. Aus diesem Grund werden in diesen Fällen Fahrer eingesetzt. Diese Treiber simulieren die Funktionalität von Modulen höherer Ebenen, um Module niedrigerer Ebenen zu testen.
  4. Hybride Integrationstests werden auch als Sandwich-Integrationsansatz bezeichnet. Dieser Ansatz ist eine Kombination aus Top-down- und Bottom-up-Integrationstests. In diesem Fall beginnt die Integration in der mittleren Schicht, und die Tests werden in beide Richtungen durchgeführt, wobei gegebenenfalls sowohl Stubs als auch Treiber verwendet werden.

Systemprüfung

  • Die Systemprüfung ist die dritte Stufe der Prüfung.
  • Dies ist die Testebene, auf der die gesamte integrierte Anwendung als Ganzes getestet wird.
  • Damit soll festgestellt werden, ob die Anwendung den geschäftlichen Anforderungen entspricht.
  • Systemtests werden in einer Umgebung durchgeführt, die einer Produktionsumgebung sehr ähnlich ist.

Abnahmetests

  • Abnahmetests sind die letzte und eine der wichtigsten Teststufen, nach deren erfolgreichem Abschluss die Anwendung für die Produktion freigegeben wird.
  • Ziel ist es, sicherzustellen, dass das Produkt die festgelegten geschäftlichen Anforderungen innerhalb eines definierten Qualitätsstandards erfüllt.
  • Es gibt zwei Arten von Akzeptanztests – Alpha-Tests und Beta-Tests.
  • Wenn die Abnahmetests von Testern oder anderen internen Mitarbeitern des Unternehmens beim Entwickler durchgeführt werden, spricht man von Alpha-Tests.
  • Benutzerakzeptanztests, die von Endbenutzern am Arbeitsplatz des Endbenutzers durchgeführt werden, nennt man Betatests.