Die Teststufen Tests mit unterschiedlichem Fokus abgestimmt durchführen

Manage­ment-Zusam­men­fas­sung die­ses Bei­trags:
Die Test­stu­fen (engl. Test Levels) des Soft­ware­tests geben vor, auf wel­chem Abs­trak­ti­ons­grad und mit wel­chem Ziel Bün­del von Soft­ware­tests rea­li­siert und durch­ge­führt wer­den.
Die­ser Bei­trag beschreibt die Test­stu­fen des Softwaretests.

Wenn Soft­ware oder soft­ware­na­he Sys­te­me getes­tet wer­den, kom­men in der Regel Test­stu­fen zum Ein­satz. Dies ist gän­gi­ge Pra­xis und auch beim → ISTQB /ISTQB/ ver­an­kert. Jede Test­stu­fe kann für sich betrach­tet und ein­zeln rea­li­siert und durch­ge­führt wer­den (sie­he Stu­fentest­kon­zept), jedoch ist Ver­wen­dung einer zeit­li­chen Abfol­ge sinnvoll. 

1. Einleitung und Grundlagen

1.1 Definition

Beim ISTQB wird die Test­stu­fe fol­gen­der­ma­ßen defi­niert /ISTQB-→ Glos­sar/:
“Eine spe­zi­fi­sche Instan­zi­ie­rung eines Testprozesses.”

Die­se Defi­ni­ti­on ist abs­trakt und zunächst wenig hilf­reich, wenn es um die Umset­zung geht. 

1.2 Die Teststufen und das V‑Modell

Ein → Test­pro­zess kann sich an einem → V‑Modell ori­en­tie­ren (Abbil­dung 1.1). Dadurch sind bereits vier Test­stu­fen vor­ge­ge­ben. Dies sind in die­sem V‑Modell (Beschrei­bung sie­he Kapi­tel “2. Die vier Test­stu­fen des ISTQB”):

Das V-Modell im Software Engineering mit Zuordnung von Tätigkeiten, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 1.1: Das V‑Modell im → Soft­ware Engi­nee­ring mit Zuord­nung von Tätigkeiten

Die­se vier Test­stu­fen wer­den gene­rell beim → Soft­ware­test ver­wen­det. Dabei wird vom rech­ten Arm des Vs auf den lin­ken geschaut und abge­gli­chen: Nur was vor­her spe­zi­fi­ziert wur­de, kann nach­her getes­tet wer­den: Dies bedeu­tet ins­be­son­de­re, dass es kei­ne Anfor­de­run­gen / Requi­re­ments geben darf, die nicht getes­tet wer­den kön­nen. Hier­aus ergibt sich, dass es sinn­voll ist, schon sehr früh­zei­tig — näm­lich bei der Spe­zi­fi­ka­ti­ons­er­stel­lung — Tes­ter hin­zu­zu­zie­hen, damit gewähr­leis­tet wer­den kann, dass für alle Requi­re­ments auch test­bar sind. Die → Test­fall­spe­zi­fi­ka­ti­on soll­te mit der Anfor­de­rungs­be­schrei­bung eng abge­stimmt sein.

Anmer­kung:
In die­ser Abbil­dung wird bei den Tes­t­um­set­zun­gen zwi­schen Vali­die­ren und → Veri­fi­zie­ren unter­schie­den. Dass die bei­den unte­ren Test­stu­fen Kom­po­nen­ten­test und Inte­gra­ti­ons­test nur veri­fi­ziert wer­den kön­nen, ist unstrit­tig. Der Abnah­me­test kann fast nur auf einer Vali­die­rung basie­ren, der Sys­tem­test kann auf Veri­fi­zie­rung und Vali­die­rung beru­hen: Hier muss im Ent­wick­lungs­kon­text betrach­tet wer­den, was sinn­voll mach­bar ist.

2. Die vier Teststufen des ISTQB

Beim ISTQB /ISTQB/ kom­men vier Test­stu­fen zum Ein­satz, die sich einem V‑Modell, wie in Abbil­dungs 1.1 dar­ge­stellt, ori­en­tie­ren. Die­se vier Test­stu­fen sind (→ Abbil­dun­gen 2.1 und 2.2):

  1. Abnah­me­test (engl. accep­tance test­ing): Die obers­te Test­stu­fe, die dazu dient, ein Gesamt­sys­tem abzu­neh­men und damit von der Ent­wick­lung in den Regel­be­trieb überzugehen
  2. Sys­tem­test (engl. sys­tem test­ing): Die zwei­t­obers­te Test­stu­fe, die dazu dient, kom­plet­te Soft­ware­sys­te­me zu → tes­ten
  3. Inte­gra­ti­ons­test (engl. inte­gra­ti­on test­ing): Die zweit­un­ters­te Test­stu­fe, die dazu dient, meh­re­re Soft­ware­kom­po­nen­ten im Ver­bund / Zusam­men­spiel zu testen
  4. Kom­po­nen­ten­test (engl. com­po­nent test­ing): Die unters­te Test­stu­fe, die dazu dient, ein­zel­ne Soft­ware­kom­po­nen­ten zu tes­ten, um so sicher­zu­ge­hen, dass die­se für sich funktionieren
Die vier Teststufen nach ISTQB, (C) Peterjohann Consulting, 2021-2024

Abbil­dung 2.1: Die vier Test­stu­fen nach ISTQB

In der Abbil­dung 2.2 sind die Defi­ni­tio­nen nach ISTQB fest­ge­hal­ten /IST­QB-Glos­s­ar/.

Die vier Teststufen nach ISTQB: Definitionen, (C) Peterjohann Consulting, 2021-2024

Abbil­dung 2.2: Die vier Test­stu­fen nach ISTQB: Definitionen

Anmer­kung:
Ab der Ver­si­on 4.0 des Lehr­plans zum Cer­ti­fied Tes­ter Foun­da­ti­on Level des ISTQB kom­men fünf Stu­fen zum Ein­satz /Spillner24/. Es wird dazu ein Sys­tem­in­te­gra­ti­ons­test zwi­schen dem Sys­tem- und dem Abnah­me­test ein­ge­fügt. Der Sys­tem­in­te­gra­ti­ons­test betrach­tet die Umge­bung des ent­wi­ckel­ten Sys­tems und kann daher als optio­na­le — aber den­noch wich­ti­ge — Test­stu­fe gese­hen werden.

3. Der Einsatz der Teststufen

Die Ein­tei­lung von Soft­ware­tests in die Test­stu­fen hilft dabei, den Gesamt­test so zu struk­tu­rie­ren, dass sich trans­pa­ren­te und ziel­grup­pen­spe­zi­fi­sche Test­ergeb­nis­se erge­ben. In die­sem Kapi­tel wer­den eini­ge Aspek­te des Ein­sat­zes der Test­stu­fen wiedergegeben.

3.1 Typische Tests und Testverfahren in den einzelnen Teststufen

In Abbil­dung 3.1 sind den ein­zel­nen Test­stu­fen mög­li­che Tests und → Test­ver­fah­ren zuge­ord­net. Es müs­sen nicht immer alle Test­ver­fah­ren ein­ge­setzt wer­den, hier gilt es ein Maß zu fin­den, sodass Test­kos­ten und Test­nut­zen in einem guten Ver­hält­nis stehen.

Die Teststufen mit typischen Testverfahren, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 3.1: Die Test­stu­fen mit typi­schen Testverfahren

3.2 Typische Aufwände für die einzelnen Teststufen

In Abbil­dung 3.2 sind den ein­zel­nen Test­stu­fen typi­schen Auf­wän­den bei der Durch­füh­rung zugeordnet.

Die Teststufen mit typischen Aufwänden, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 3.2: Die Test­stu­fen mit typi­schen Aufwänden

Anmer­kung:
In die­ser Betrach­tung fehlt der → Auf­wand zur Erstel­lung der Testfälle. 

3.3 Die Teststufen im zeitlichen Verlauf

Wer­den die Test­stu­fen in einen zeit­li­chen Ver­lauf gebracht, so kön­nen die­se dann mit den Free­zes zur Ent­wick­lungs­steue­rung gekop­pelt wer­den. In Abbil­dung 3.3 ist eine sol­che Kopp­lung für ein Release in einem Soft­ware­ent­wick­lungs­pro­jekt dar­ge­stellt. Der Abstand zwi­schen den Free­zes beträgt zwei Wochen, dadurch sind auch die Test­zeit­räu­me festgelegt.

Die Die Teststufen mit typischen Aufwänden, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 3.3: Die Test­stu­fen mit Free­zes bei Softwarereleases

Anmer­kung:
Die­se Zuord­nung der Free­zes kann je nach Unter­neh­men und Pro­jekt abwei­chen und muss daher indi­vi­du­ell ange­passt / fest­ge­legt werden. 

3.4 Das Stufentestkonzept

Jede Test­stu­fe kann — inso­fern das Gesamt­test­kon­zept ent­spre­chend auf­ge­baut ist — ein­zeln kon­zi­piert wer­den: Hier­zu gibt es ent­spre­chend bis zu vier Stufentestkonzepte.

Im IST­QB-Glos­sar wird defi­niert /ST­QB-Glos­s­ar/:
“Stu­fentest­kon­zept: Ein → Test­kon­zept, das typi­scher­wei­se für genau eine Test­stu­fe gilt.”

Spill­ner schreibt zu den Test­stu­fen und den jewei­li­gen Akti­vi­tä­ten, die ein Stu­fentest­kon­zept berück­sich­ti­gen sol­len /Spillner19/:

  • “In jeder Test­stu­fe wer­den die Test­ak­ti­vi­tä­ten auf ihre stu­fen­spe­zi­fi­schen Test­zie­le hin ausgerichtet
  • Für eine vor­ge­ge­be­ne Test­stu­fe begin­nen Test­ana­ly­se und Test­ent­wurf bereits wäh­rend der zuge­hö­ri­gen Entwicklungsaktivität”

4. Die Visualisierung der Teststufen

Eine Visua­li­sie­rung der Test­stu­fen kann über eine → Test­py­ra­mi­de erfol­gen. In Abbil­dung 4.1 ist eine aus den vier Test­stu­fen nach ISQTB abge­lei­te­te Test­py­ra­mi­de dar­ge­stellt. Der Abnah­me­test steht an der Spit­ze, danach rei­hen sich der Sys­tem- und der Inte­gra­ti­ons­test ein. Der Kom­po­nen­ten­test bil­det den Sockel der Pyramide.

Die Testpyramide (Minimale Darstellung), (C) Peterjohann Consulting, 2022-2024

Abbil­dung 4.1: Die Test­py­ra­mi­de (Mini­ma­le Darstellung)

Der Ein­satz­nut­zen der Test­py­ra­mi­de in der mini­ma­len Dar­stel­lung ist gering. Durch Hin­zu­fü­gen von Attri­bu­ten wer­den eini­ge Unter­schie­de der vier Test­stu­fen deut­lich (Abbil­dung 4.2).

Typi­sche Attri­bu­te sind:

  • fach­lich — tech­nisch: Die Abnah­me­tests sind in ers­ter Linie fach­li­che Tests (zur Vali­die­rung), die Kom­po­nen­ten­tests fast aus­schließ­lich tech­ni­sche Tests
  • lang — schnell: Die Durch­füh­rung ein­zel­ner Abnah­me­tests benö­tigt häu­fig → rela­tiv viel Zeit, die Kom­po­nen­ten­tests sind meis­tens ein­fach und schnell durchführbar
  • teu­er — preis­wert: Die ein­zel­nen Abnah­me­tests sind auf­wen­dig und damit teu­er vor­zu­be­rei­ten und durch­zu­füh­ren, die Kom­po­nen­ten­tests hin­ge­gen benö­ti­gen kaum Ressourcen 
Die Testpyramide mit Ergänzungen, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 4.2: Die Test­py­ra­mi­de mit Ergänzungen

Ein wei­te­res Attri­but, wel­ches häu­fig zu fin­den ist, ist “nicht auto­ma­ti­sier­bar — auto­ma­ti­sier­bar”.
Gene­rell gilt: Je tech­ni­scher und schnel­ler ein Test durch­ge­führt wer­den kann, umso bes­ser lässt er sich auto­ma­ti­sie­ren. Damit gel­ten der Kom­po­nen­ten­test und der Inte­gra­ti­ons­test als gut auto­ma­ti­sier­bar. Es muss jedoch beach­tet wer­den, dass Test­au­to­ma­ti­sie­rung sehr auf­wen­dig und damit teu­er wer­den kann: Es muss daher eine Kos­ten­be­trach­tung erfol­gen, wann sich Test­au­to­ma­ti­sie­rung lohnt.

5. Häufig gestellte Fragen und Antworten (FAQ) zu den Teststufen

Eini­ge Fra­gen zu den Test­stu­fen wer­den häu­fig gestellt – die­se wer­den hier wiedergegeben.

  • F: Muss man immer mit Test­stu­fen arbei­ten?
    A: Ja. Auch wenn man es nicht expli­zit benennt, so wer­den (pro­fes­sio­nel­le) Soft­ware­tests und Soft­ware­tes­ter die Test­stu­fen berücksichtigen.
  • F: Müs­sen immer vier Test­stu­fen vor­ge­se­hen wer­den?
    A: Nein, es kann je nach Ansatz auch mehr oder weni­ger Test­stu­fen geben. Aller­dings hat sich im deutsch­spra­chi­gen Raum die Unter­tei­lung in vier Test­stu­fen nach ISTQB durch­ge­setzt und stellt den De-fac­to-→ Stan­dard dar.
  • F: Kann man auch — bei­spiels­wei­se aus Zeit­grün­den — nur ein­zel­ne Test­stu­fen betrach­ten?
    A: Ja. Wenn bei­spiels­wei­se sowohl auf den Kom­po­nen­ten­test und auf den Inte­gra­ti­ons­test ver­zich­tet wird, so kann ein Sys­tem­test den­noch erfol­gen. Aber: Ein Ver­zicht auf vor­ge­la­ger­te Test­stu­fen erhöht den Auf­wand zur Rea­li­sie­rung und Durch­füh­rung der nach­ge­la­ger­ten Tests. Zudem wird die Feh­ler­ra­te in den nach­ge­la­ger­ten Tests anstei­gen, was zu mas­si­ven Qua­li­täts­pro­ble­men und Feh­ler­kos­ten füh­ren kann.

Haben Sie noch wei­te­re Fra­gen oder möch­ten Sie Ergän­zun­gen an der FAQ vor­neh­men? Am bes­ten schrei­ben Sie mir hier­zu eine E‑Mail an: kontakt@peterjohann-consulting.de.

A. Präsentationen, Literatur und Weblinks

Die Test­stu­fen wer­den in fol­gen­den → Prä­sen­ta­tio­nen beschrieben:

  • -

In fol­gen­den Büchern ist eine Beschrei­bung der Test­stu­fen zu finden:

  • /Spillner19/ Andre­as Spill­ner, Tilo Linz: Basis­wis­sen Soft­ware­test: Aus- und Wei­ter­bil­dung zum Cer­ti­fied Tes­ter – Foun­da­ti­on Level nach IST­QB-Stan­dard, dpunkt, Hei­del­berg 6. Auf­la­ge 2019, ISBN 978–3‑86490–583‑4
  • /Spillner23/ Andre­as Spill­ner: Sys­te­ma­ti­sches Tes­ten von Soft­ware, dpunkt, Hei­del­berg 4. Auf­la­ge 2023, Arti­kel-Nr. 077.95725, kei­ne ISBN
  • /Spillner24/ Andre­as Spill­ner, Tilo Linz: Basis­wis­sen Soft­ware­test. Aus- und Wei­ter­bil­dung zum Cer­ti­fied Tes­ter – Foun­da­ti­on Level nach IST­QB-Stan­dard, dpunkt, Hei­del­berg 7. Auf­la­ge 2024, ISBN 978–3‑98889–005‑4
  • /Witte19/ Frank Wit­te: → Test­ma­nage­ment und Soft­ware­test: Theo­re­ti­sche Grund­la­gen und prak­ti­sche Umset­zung, Sprin­ger Vie­w­eg, Wies­ba­den 2. Auf­la­ge 2019, ISBN 978–3‑658–25086‑7
  • /Witte20/ Frank Wit­te: Stra­te­gie, Pla­nung und Orga­ni­sa­ti­on von Test­pro­zes­sen. Basis für erfolg­rei­che Pro­jekt­ab­wick­lung im Soft­ware­test, Sprin­ger Vie­w­eg, Wies­ba­den 2020, ISBN 978–3‑658–31227‑5

Fol­gen­de Web­links wer­den in die­sem Bei­trag zitiert:

  • /ISTQB/ ISTQB — Inter­na­tio­nal Soft­ware Test­ing Qua­li­fi­ca­ti­ons Board: Web­site
  • /IST­QB-Glos­s­ar/ Das Glos­sar zum Soft­ware­test des ISTQB (Online; deutsch, ande­re Sprachen)

Legen­de zu den Weblinks
/ / Ver­weis auf eine Web­site (all­ge­mein)
/*/ Ver­weis auf eine Web­site, die als Ergän­zung zu einem Buch dient
/#/ Ver­weis auf ein ein­zel­nes The­ma auf einer Website
/#V/ Ver­weis auf ein Video auf einer Website