Management-Zusammenfassung dieses Beitrags:
Die Teststufen (engl. Test Levels) des Softwaretests geben vor, auf welchem Abstraktionsgrad und mit welchem Ziel Bündel von Softwaretests realisiert und durchgeführt werden.
Dieser Beitrag beschreibt die Teststufen des Softwaretests.
Wenn Software oder softwarenahe Systeme getestet werden, kommen in der Regel Teststufen zum Einsatz. Dies ist gängige Praxis und auch beim → ISTQB /ISTQB/ verankert. Jede Teststufe kann für sich betrachtet und einzeln realisiert und durchgeführt werden (siehe Stufentestkonzept), jedoch ist Verwendung einer zeitlichen Abfolge sinnvoll.
1. Einleitung und Grundlagen
1.1 Definition
Beim ISTQB wird die Teststufe folgendermaßen definiert /ISTQB-→ Glossar/:
“Eine spezifische Instanziierung eines Testprozesses.”
Diese Definition ist abstrakt und zunächst wenig hilfreich, wenn es um die Umsetzung geht.
1.2 Die Teststufen und das V‑Modell
Ein → Testprozess kann sich an einem → V‑Modell orientieren (Abbildung 1.1). Dadurch sind bereits vier Teststufen vorgegeben. Dies sind in diesem V‑Modell (Beschreibung siehe Kapitel “2. Die vier Teststufen des ISTQB”):
- → Abnahmetest
- Systemtest
- Integrationstest
- Komponententest
Abbildung 1.1: Das V‑Modell im → Software Engineering mit Zuordnung von Tätigkeiten
Diese vier Teststufen werden generell beim → Softwaretest verwendet. Dabei wird vom rechten Arm des Vs auf den linken geschaut und abgeglichen: Nur was vorher spezifiziert wurde, kann nachher getestet werden: Dies bedeutet insbesondere, dass es keine Anforderungen / Requirements geben darf, die nicht getestet werden können. Hieraus ergibt sich, dass es sinnvoll ist, schon sehr frühzeitig — nämlich bei der Spezifikationserstellung — Tester hinzuzuziehen, damit gewährleistet werden kann, dass für alle Requirements auch testbar sind. Die → Testfallspezifikation sollte mit der Anforderungsbeschreibung eng abgestimmt sein.
Anmerkung:
In dieser Abbildung wird bei den Testumsetzungen zwischen Validieren und → Verifizieren unterschieden. Dass die beiden unteren Teststufen Komponententest und Integrationstest nur verifiziert werden können, ist unstrittig. Der Abnahmetest kann fast nur auf einer Validierung basieren, der Systemtest kann auf Verifizierung und Validierung beruhen: Hier muss im Entwicklungskontext betrachtet werden, was sinnvoll machbar ist.
2. Die vier Teststufen des ISTQB
Beim ISTQB /ISTQB/ kommen vier Teststufen zum Einsatz, die sich einem V‑Modell, wie in Abbildungs 1.1 dargestellt, orientieren. Diese vier Teststufen sind (→ Abbildungen 2.1 und 2.2):
- Abnahmetest (engl. acceptance testing): Die oberste Teststufe, die dazu dient, ein Gesamtsystem abzunehmen und damit von der Entwicklung in den Regelbetrieb überzugehen
- Systemtest (engl. system testing): Die zweitoberste Teststufe, die dazu dient, komplette Softwaresysteme zu → testen
- Integrationstest (engl. integration testing): Die zweitunterste Teststufe, die dazu dient, mehrere Softwarekomponenten im Verbund / Zusammenspiel zu testen
- Komponententest (engl. component testing): Die unterste Teststufe, die dazu dient, einzelne Softwarekomponenten zu testen, um so sicherzugehen, dass diese für sich funktionieren
Abbildung 2.1: Die vier Teststufen nach ISTQB
In der Abbildung 2.2 sind die Definitionen nach ISTQB festgehalten /ISTQB-Glossar/.
Abbildung 2.2: Die vier Teststufen nach ISTQB: Definitionen
Anmerkung:
Ab der Version 4.0 des Lehrplans zum Certified Tester Foundation Level des ISTQB kommen fünf Stufen zum Einsatz /Spillner24/. Es wird dazu ein Systemintegrationstest zwischen dem System- und dem Abnahmetest eingefügt. Der Systemintegrationstest betrachtet die Umgebung des entwickelten Systems und kann daher als optionale — aber dennoch wichtige — Teststufe gesehen werden.
3. Der Einsatz der Teststufen
Die Einteilung von Softwaretests in die Teststufen hilft dabei, den Gesamttest so zu strukturieren, dass sich transparente und zielgruppenspezifische Testergebnisse ergeben. In diesem Kapitel werden einige Aspekte des Einsatzes der Teststufen wiedergegeben.
3.1 Typische Tests und Testverfahren in den einzelnen Teststufen
In Abbildung 3.1 sind den einzelnen Teststufen mögliche Tests und → Testverfahren zugeordnet. Es müssen nicht immer alle Testverfahren eingesetzt werden, hier gilt es ein Maß zu finden, sodass Testkosten und Testnutzen in einem guten Verhältnis stehen.
Abbildung 3.1: Die Teststufen mit typischen Testverfahren
3.2 Typische Aufwände für die einzelnen Teststufen
In Abbildung 3.2 sind den einzelnen Teststufen typischen Aufwänden bei der Durchführung zugeordnet.
Abbildung 3.2: Die Teststufen mit typischen Aufwänden
Anmerkung:
In dieser Betrachtung fehlt der → Aufwand zur Erstellung der Testfälle.
3.3 Die Teststufen im zeitlichen Verlauf
Werden die Teststufen in einen zeitlichen Verlauf gebracht, so können diese dann mit den Freezes zur Entwicklungssteuerung gekoppelt werden. In Abbildung 3.3 ist eine solche Kopplung für ein Release in einem Softwareentwicklungsprojekt dargestellt. Der Abstand zwischen den Freezes beträgt zwei Wochen, dadurch sind auch die Testzeiträume festgelegt.
Abbildung 3.3: Die Teststufen mit Freezes bei Softwarereleases
Anmerkung:
Diese Zuordnung der Freezes kann je nach Unternehmen und Projekt abweichen und muss daher individuell angepasst / festgelegt werden.
3.4 Das Stufentestkonzept
Jede Teststufe kann — insofern das Gesamttestkonzept entsprechend aufgebaut ist — einzeln konzipiert werden: Hierzu gibt es entsprechend bis zu vier Stufentestkonzepte.
Im ISTQB-Glossar wird definiert /STQB-Glossar/:
“Stufentestkonzept: Ein → Testkonzept, das typischerweise für genau eine Teststufe gilt.”
Spillner schreibt zu den Teststufen und den jeweiligen Aktivitäten, die ein Stufentestkonzept berücksichtigen sollen /Spillner19/:
- “In jeder Teststufe werden die Testaktivitäten auf ihre stufenspezifischen Testziele hin ausgerichtet
- Für eine vorgegebene Teststufe beginnen Testanalyse und Testentwurf bereits während der zugehörigen Entwicklungsaktivität”
4. Die Visualisierung der Teststufen
Eine Visualisierung der Teststufen kann über eine → Testpyramide erfolgen. In Abbildung 4.1 ist eine aus den vier Teststufen nach ISQTB abgeleitete Testpyramide dargestellt. Der Abnahmetest steht an der Spitze, danach reihen sich der System- und der Integrationstest ein. Der Komponententest bildet den Sockel der Pyramide.
Abbildung 4.1: Die Testpyramide (Minimale Darstellung)
Der Einsatznutzen der Testpyramide in der minimalen Darstellung ist gering. Durch Hinzufügen von Attributen werden einige Unterschiede der vier Teststufen deutlich (Abbildung 4.2).
Typische Attribute sind:
- fachlich — technisch: Die Abnahmetests sind in erster Linie fachliche Tests (zur Validierung), die Komponententests fast ausschließlich technische Tests
- lang — schnell: Die Durchführung einzelner Abnahmetests benötigt häufig → relativ viel Zeit, die Komponententests sind meistens einfach und schnell durchführbar
- teuer — preiswert: Die einzelnen Abnahmetests sind aufwendig und damit teuer vorzubereiten und durchzuführen, die Komponententests hingegen benötigen kaum Ressourcen
Abbildung 4.2: Die Testpyramide mit Ergänzungen
Ein weiteres Attribut, welches häufig zu finden ist, ist “nicht automatisierbar — automatisierbar”.
Generell gilt: Je technischer und schneller ein Test durchgeführt werden kann, umso besser lässt er sich automatisieren. Damit gelten der Komponententest und der Integrationstest als gut automatisierbar. Es muss jedoch beachtet werden, dass Testautomatisierung sehr aufwendig und damit teuer werden kann: Es muss daher eine Kostenbetrachtung erfolgen, wann sich Testautomatisierung lohnt.
5. Häufig gestellte Fragen und Antworten (FAQ) zu den Teststufen
Einige Fragen zu den Teststufen werden häufig gestellt – diese werden hier wiedergegeben.
- F: Muss man immer mit Teststufen arbeiten?
A: Ja. Auch wenn man es nicht explizit benennt, so werden (professionelle) Softwaretests und Softwaretester die Teststufen berücksichtigen. - F: Müssen immer vier Teststufen vorgesehen werden?
A: Nein, es kann je nach Ansatz auch mehr oder weniger Teststufen geben. Allerdings hat sich im deutschsprachigen Raum die Unterteilung in vier Teststufen nach ISTQB durchgesetzt und stellt den De-facto-→ Standard dar. - F: Kann man auch — beispielsweise aus Zeitgründen — nur einzelne Teststufen betrachten?
A: Ja. Wenn beispielsweise sowohl auf den Komponententest und auf den Integrationstest verzichtet wird, so kann ein Systemtest dennoch erfolgen. Aber: Ein Verzicht auf vorgelagerte Teststufen erhöht den Aufwand zur Realisierung und Durchführung der nachgelagerten Tests. Zudem wird die Fehlerrate in den nachgelagerten Tests ansteigen, was zu massiven Qualitätsproblemen und Fehlerkosten führen kann.
Haben Sie noch weitere Fragen oder möchten Sie Ergänzungen an der FAQ vornehmen? Am besten schreiben Sie mir hierzu eine E‑Mail an: kontakt@peterjohann-consulting.de.
A. Präsentationen, Literatur und Weblinks
Die Teststufen werden in folgenden → Präsentationen beschrieben:
- -
In folgenden Büchern ist eine Beschreibung der Teststufen zu finden:
- /Spillner19/ Andreas Spillner, Tilo Linz: Basiswissen Softwaretest: Aus- und Weiterbildung zum Certified Tester – Foundation Level nach ISTQB-Standard, dpunkt, Heidelberg 6. Auflage 2019, ISBN 978–3‑86490–583‑4
- /Spillner23/ Andreas Spillner: Systematisches Testen von Software, dpunkt, Heidelberg 4. Auflage 2023, Artikel-Nr. 077.95725, keine ISBN
- /Spillner24/ Andreas Spillner, Tilo Linz: Basiswissen Softwaretest. Aus- und Weiterbildung zum Certified Tester – Foundation Level nach ISTQB-Standard, dpunkt, Heidelberg 7. Auflage 2024, ISBN 978–3‑98889–005‑4
- /Witte19/ Frank Witte: → Testmanagement und Softwaretest: Theoretische Grundlagen und praktische Umsetzung, Springer Vieweg, Wiesbaden 2. Auflage 2019, ISBN 978–3‑658–25086‑7
- /Witte20/ Frank Witte: Strategie, Planung und Organisation von Testprozessen. Basis für erfolgreiche Projektabwicklung im Softwaretest, Springer Vieweg, Wiesbaden 2020, ISBN 978–3‑658–31227‑5
Folgende Weblinks werden in diesem Beitrag zitiert:
- /ISTQB/ ISTQB — International Software Testing Qualifications Board: Website
- /ISTQB-Glossar/ Das Glossar zum Softwaretest des ISTQB (Online; deutsch, andere Sprachen)
Legende zu den Weblinks
/ / Verweis auf eine Website (allgemein)
/*/ Verweis auf eine Website, die als Ergänzung zu einem Buch dient
/#/ Verweis auf ein einzelnes Thema auf einer Website
/#V/ Verweis auf ein Video auf einer Website
Letzte Aktualisierung: 04.03.2023 © Peterjohann Consulting, 2005–2024