Testing1x1 Regressionstest Re-Test

Testing 1×1: Die Rolle von Testdaten im Softwaretest und der damit verbundene Aufwand in Testzyklen

Testdaten und deren wichtige Rolle im SAP-Testing

 

In unserer Rubrik Testing 1×1 wollen wir heute auf die Rolle der Testdaten im Softwaretest und im Speziellen beim Testen von SAP-Systemen eingehen.
Testdaten kommt, neben dem reinen Durchlauf des Testfalles, eine enorm wichtige Rolle zu, welche vor allem im Zusammenhang mit Testautomation oft unterschätzt wird.
Nach einem kurzen Beispiel sollen unterschiedliche Aspekte aufgezeigt werden, die im Zusammenhang mit Testdaten zu berücksichtigen sind.

Überlegungen zu Testdaten und ein Beispiel

Unter Testdaten versteht man im Softwaretest jene Eingaben, welche im Prozess- bzw. Testfalldurchlauf eingegeben werden, um einerseits den Prozess und andererseits die Korrektheit des Durchlaufs sicherstellen zu können.
Dies klingt erstmal einfach, ist bei genauerer Betrachtung aber auch mit weiteren Überlegungen verbunden, auf welche wir gerne im Folgenden an Hand eines Beispiels eingehen möchten.

Beispiel: 
Sie erfassen einen Kundenauftrag für ein Material. Die Testbedingung (legt fest, was getestet werden soll) in unserem Beispiel ist, dass ein Auftrag nur dann erfolgreich durchgeführt werden kann, wenn genügend Material auf Lager und verfügbar ist und die Mindestmenge des Materials bestellt wird.

Wir müssen für unseren Testfall vor der Ausführung also ein Material suchen, welches aktuell auf Lager und verfügbar ist, und zwar in der (Mindest)Menge, die wir für unseren Testfall benötigen.
In der Sprache des Softwaretests gesprochen: die Anforderungen an die Testdaten für unseren Testfall sind:

  1. gültiges Material, welches im System vorhanden ist und
  2. auf Lager liegt
  3. in der Menge, welche ich für meine Testdurchführung vorgesehen habe und zumindest der Mindestmenge entspricht.

Diese Überlegungen zu den jeweiligen Testdatenbedingungen müssen wir für alle Testfälle, welche wir in unserem Testplan durchführen, tätigen.
Tipp: Schreiben Sie diese Anforderungen an die Testdaten möglichst präzise und eindeutig fest. Dies ist für die Dokumentation und Wiederausführung von Testfällen mindestens genauso wichtig wie die Dokumentation des Prozessdurchlaufs, der getestet werden soll.
Die Dokumentation der Testdatenvoraussetzungen hilft Ihnen, Tests möglichst objektiv und vor allem in der Aussagekraft gleichwertig durchzuführen. Kollegen, welche den Testfall zukünftig durchführen, haben damit die Möglichkeit, die Testbedingungen so zu testen wie sie auch bei der Konzeption des Testfalls angedacht waren.

Zurück zu unserem Beispiel:
Wir legen unseren Kundenauftrag im System an, als Material verwenden wir Kopierpapier, welches mit einer Mindestmenge von 30 Kartons im System hinterlegt ist.
Unser Testfall lässt sich erfolgreich durchführen, da im Lager noch 50 Kartons des Kopierpapiers vorhanden waren.

Testdaten altern, verbrauchen sich und beeinflussen sich gegenseitig

Begleiten Sie uns auf eine kleine Zeitreise, die uns drei Monate in die Zukunft führt.
Sie befinden sich in einem Testzyklus, der dazu dienen soll, nach der Einspielung eines Updates Ihr SAP-System auf die weiterhin korrekte Funktionalität zu prüfen.
Seit Ihrem letzten Test blieb das Testsystem unverändert, Sie spielen unseren Beispieltestfall mit dem selben Material nochmals durch und erhalten eine Fehlermeldung, da nicht mehr genügend Kopierpapier auf Lager liegt.
Sie müssen sich ein neues Material suchen, mit welchem Sie Ihren Testfall durchführen können und welches allen Ihren Testdatenvoraussetzungen entspricht.

Unsere Testdaten sind, beim aktuellen Lagerstand, verbraucht, und führen zu einer Fehlermeldung bei der Durchführung des Testfalls, welche auf die Testdaten(qualität) und nicht auf mangelnde Qualität des Testobjekts (Auftrag anlegen) zurückzuführen sind.
Dies führt zu zusätzlichem Aufwand, da wir neue Testdaten suchen und den Testfall wiederholen müssen.
– Testdaten verbrauchen sich

Denken Sie an andere Beispiele: Nehmen wir an, Mitarbeiter, welche länger als 20 Jahre in unserem Unternehmen arbeiten, bekommen eine Mitarbeiterprämie ausbezahlt.
Die gute Testpraxis empfiehlt, Testdaten möglichst am Rande des Intervalls auszusuchen, welches als Testdatenvoraussetzung vorgeschrieben ist.
Wir wollen sowohl den Negativ- als auch den Positivfall des Testfalls verifizieren.
Sie suchen sich also einen Mitarbeiter, der möglichst knapp vor seinem 21. Dienstjahr steht, und einen Mitarbeiter, der erst möglichst wenig Dienstzeit in seinem 21. Dienstjahr absolviert hat.
Ihr Testfall wird, so unser Testobjekt (Regelprüfung der Prämienauszahlung für 20+ Dienstjahre) korrekt funktioniert, einmal die Prämie nicht auszahlen und einmal schon.
Eine weitere Zeitreise, wieder 3 Monate in die Zukunft, könnte bei den selben Testdaten ein komplett anderes Bild zeichnen. Nämlich jenes, dass auch der für die Prämie vermeintlich zu kurz im Unternehmen befindliche Mitarbeiter die Prämie ausbezahlt bekommt.
Das liegt daran, dass der Mitarbeiter nur 3 Monate später, schon sein 21. Dienstjahr begonnen hat und somit korrekterweise die Prämie erhält.
– Testdaten altern

Dem nicht genug, beeinflussen sich Testdaten unterschiedlicher Testfälle natürlich gegenseitig.
Verbraucht oder verändert einer der Testfälle, für welche Sie sich mühsam Testdaten zurechtgelegt haben, im Zuge seiner Durchführung jene Daten eines darauf folgenden Testfalls, kann im schlimmsten Fall die Sucharbeit für Folgetestfälle nochmals nötig werden.
– Testdaten beeinflussen sich gegenseitig

Testdaten – wichtige Überlegungen zusammengefasst

Wie Sie an unseren Beispielen gesehen haben, fließen viele Aspekte in die Korrektheit und Aktualität von Testdaten ein.
Die 5 wichtigsten Überlegungen, welche Sie im Zusammenhang mit der Testdatenbereitstellung treffen sollten:

  1. Sind die Anforderungen an die Testdaten jedes einzelnen Testfalls erfüllt?
  2. Haben sich meine Testdaten seit dem letzten Testlauf verbraucht?
  3. Sind meine Testdaten seit dem letzten Testlauf gealtert und entsprechen somit nicht mehr den Anforderungen?
  4. Befinden sich meine Testdaten möglichst am Rande des Akzeptanz-Intervalls, um eine möglichst hohe Aussagekraft für den Testfall zu erreichen?
  5. Beeinflussen sich die Testdaten meiner Testfälle gegenseitig?

 

Berücksichtigen Sie all diese Aspekte und nehmen Sie einige strukturierende Überlegungen vor, wie zum Beispiel die Testdatenkriterien allgemein für jeden Testfall niederzuschreiben, so können Sie allein mit diesen Schritten im aktuellen als auch in allen folgenden Testzyklen viel manuellen Aufwand sparen, der Ihnen das Testen und die Qualitätssicherung erschwert.