Software-Test / Testmanagement

Feine Klinge oder grobe Keule – welche Granularität Testfälle haben sollten

Wie meine Projekte immer wieder zeigen, gibt es häufig Diskussionen, in welcher Granularität Testfälle ge- und beschrieben werden sollen. Grund genug, einen genaueren Blick auf die Granularität von Testfällen zu werfen.

Sand_Granulat

 

Die Granularität von Testfällen

Die Granularität von Testfällen – also wie genau und detailliert sie beschrieben werden – hat einerseits Einfluss auf zahlreiche Folgeaktivitäten, andererseits wird die Granularität auch von zahlreichen Faktoren aus dem Projektumfeld beeinflusst.

Ein zentraler Faktor, der bei der Entscheidung ob grob- oder feingranulare Testfälle erstellt werden, ist das Wissen – die Erfahrung – der Tester einerseits bezüglich Test Know-how andererseits des Testobjektes betreffend. In der Freedom Scale zum Explorativen Test von James und Jon Bach wird dies schön veranschaulicht:

 

FreedomScale

 

Der blaue Balken zeigt die Formalisierung der Testfälle – also in welchem Detailierungsgrad sie beschrieben werden. Dies reicht von automatisierten Testfällen, bei denen jede Aktion eindeutig beschrieben werden muss auf der einen Seite der Scala bis zum Freestyle Explorativen Test gänzlich ohne Testfälle auf der anderen Seite. Je mehr der Formalisierungsgrad abnimmt, desto mehr muss die Erfahrung der involvierten Tester (grüner Balken) zunehmen, um vergleichbar verlässliche Ergebnisse aus der Testdurchführung zu erreichen.

 

Grobgranulare Testfälle

In der Terminologie von ISTQB® wären die grobgranularen Testfälle zwischen Testidee und logischen Testfällen anzusiedeln. Wir sehen also: Sind im Projekt erfahrene Teste involviert, können Testfälle grobgranular gehalten werden.

Weitere Vorteile von grobgranularen Testfällen sind:

  • Wartungsaufwand wird reduziert
  • Mehr Freiheit der Tester, damit können ggf. mehr Fehler gefunden werden
  • Mehr Flexibilität bei der Auswahl von Testdaten (oft bei Fehlernachtest und Regressionstest relevant)
  • Kreativität bei der Testfalldurchführung wird nicht eigeschränkt
  • Gibt dennoch ein relativ hohes Mass an Sicherheit: Wenn der Testfall „passed“ gesetzt wurde, wurde die Variante auch getestet.

Was diese Grafik aber auch zeigt: Erfahrung wird in jedem Fall vorausgesetzt – sie verlagert sich unter Umständen nur vom Testfalldesign hin zur Durchführung.

 

Feingranulare Testfälle

Werden etwa sehr feingranulare Testfälle erstellt, können sie auch von unerfahrenen Testern verlässlich durchgeführt werden. Dennoch wird Erfahrung  seitens des Testfallerstellers benötigt.

Werden Testfälle grobgranular beschrieben, wandert die benötigte Erfahrung vom Testfalldesigner graduell zum Durchführer.

Haben die Tester keine Erfahrung (z.B. wenn regelmäßig erfahrene Tester durch Neue ersetzt werden), sind die Testfälle feingranularer zu gestalten.

Vorteile von feingranularen Testfällen sind:

  • Sie können leichter als Basis für die Automatisierung dienen.
  • Sicherheit bei Nachweispflichten.
  • Schwierige Testdaten/Ergebnisdaten-Konstellationen. Es kann vorkommen, dass die Ermittlung von Testdaten und Ergebnisse erst bei der Testdurchführung zu spät ist, da keine Zeit mehr bleibt die Testdaten vorzubereiten.
  • Feingranulare Testfälle dienen auch als Wissensdatenbank für neue Tester.
  • Wenn es keine ordentliche Anforderungsdokumentation gibt, ist das Wissen über das Sollverhalten oft nur in den feingranularen Testfällen vollständig beschrieben

 

Welche Granularität in den einzelnen Projekten zu bevorzugen ist, hängt von den beschriebenen Faktoren ab. Ist man sich unsicher, sollte man lieber mit feingranularen Testfällen anfangen und sich gegebenenfalls an grobgranulare Testfälle herantasten.

 

Passende Artikel

Antwort schreiben

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*