Kosten-/Nutzenaspekt beim Einsatz von Testfällen als Methode zur Qualitätssicherung von Anforderungen

Anforderungsanalyse beim Software-Test

6. Oktober 2009, 18:25 Uhr |
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Anforderungsanalyse beim Software-Test

Der Zusammenhang von Anforderung und Testfall

passend zum Thema

Eine grundlegende und wichtige Erfahrung aus vielen Projekten lautet: Testfälle müssen stets inhaltlich vollständig gegenüber der Anforderung sein. Dies bedeutet, dass mit dem Testfall bzw. den Testfällen genau die Erfüllung der Anforderung verifiziert werden kann (Bild 1). Dies ist wichtig, weil während eines Tests nur selten das Anforderungsdokument zu Hilfe genommen wird. Daher dürfen Testfälle keine weiteren versteckten Anforderungen aufweisen, die in den ursprünglichen Anforderungen nicht erwähnt wurden. Genauso wenig sollten Details aus Anforderungen in den Testfällen ausgelassen werden. Vor diesem Hintergrund werden typischerweise mehrere Testfälle für eine Anforderung formuliert und deren Inhalte während der Erstellung der Testfälle gegeneinander abgeglichen. Nur so ist es möglich, spätere kostenträchtige Nachentwicklungen zu minimieren.

Es existieren mehrere Möglichkeiten, Testfälle zu klassifizieren. Eine typische ist die Unterscheidung nach der Art ihrer Darstellung – natürlichsprachlich oder formalisiert – und ihrem Abstraktionsgrad – inklusive Testdaten für die Prüfung oder abstrakt ohne konkrete Werte. Auf Basis dieser Klassifikation ergeben sich vier unterschiedliche Arten der Testfalldokumentation, die in Bild 2 dargestellt sind.

9200201_af_02.jpg
Bild 1. Es ist wichtig, dass Testfälle und Anforderungen sich eindeutig zuordnen lassen. Meist werden zu einer Anforderung mehrere Testfälle formuliert. Diese Testfälle sollten sich möglichst wenig überschneiden.

Meist werden Testfälle lediglich als Basis für den Test angesehen. Sie stellen jedoch in unseren Projekten seit Jahren ein effizientes Qualitätssicherungswerkzeug dar, um Anforderungen zu verbessern. Die notwendigen Überarbeitungen betreffen bis zu 50 % aller Anforderungen. Vor allem in der Kombination von abstrakten, formalisierten und konkreten, natürlichsprachlichen Testfällen werden viele Anforderungslücken oder -fehler entdeckt.

Die Ersparnis während des Gesamtprojekts lässt sich leider nicht konkret beziffern. Durch die qualitativ hochwertigeren Anforderungen werden aber definitiv Folgekosten eingespart, da die folgenden Tätigkeiten auf vollständigeren und korrekteren Anforderung beruhen und später weniger Überarbeitungsbedarf am Produkt besteht. Vor dem Hintergrund, dass im Projekt spät entdeckte Fehler teurer zu beheben sind als früh entdeckte, entstehen daher weniger Fehlerbehebungskosten im Projektverlauf.

Zudem wird das Zusammenspiel zwischen Anforderungen und den zugehörigen Testfällen optimiert und daher die Anforderungen passender voneinander abgegrenzt (siehe Bild 3). Diese Überarbeitung führt zu weniger überlappenden Testfällen, die ansonsten zu höheren Testkosten aufgrund redundanter Testdurchführung führen würden.

9200202_af_02.jpg
Bild 2. Testfälle können in natürlicher Sprache oder formal formuliert sein. In beiden Fällen lassen sie sich mit konkreten Werten oder abstrakt überprüfen. So ergeben sich diese vier Klassen von Testfällen.

  1. Anforderungsanalyse beim Software-Test
  2. Anforderungsanalyse beim Software-Test
  3. Anforderungsanalyse beim Software-Test
  4. Anforderungsanalyse beim Software-Test

Jetzt kostenfreie Newsletter bestellen!