Testdaten aus Produktion: Für und Wider
Wenn eine Software-Applikation getestet werden soll, braucht man in der Regel zuverlässige Testdaten. In jedem Projekt kommt, spätestens bei der Frage welche Testdaten für die Testfälle zur Verfügung stehen, die Idee auf, diese aus der Produktion zu nehmen. Dieser Artikel erzählt, woran Sie denken sollten, wenn Sie zum Testen Daten aus der Produktion nehmen wollen bzw. sollen. Die Grundlage stammt nicht aus dem akademischen Bereich, sondern aus meiner 30-jährigen Erfahrung im Testmanagement aus real existierenden Projekten und Wartungsmaßnahmen.
Vorteile der Produktionsdaten für Tests
Es gibt unverkennbare Vorteile, wenn man Daten aus der Produktion nimmt:
- Sie existieren
- Sie sind realistisch
- Sie sind konsistent (obwohl manchmal die Relationen zwischen den Daten nicht bekannt sind)
- Es gibt Historien (Daten im Zeitverlauf)
Nachteile bei der Verwendung von Produktionsdaten
Nun muss man die Nachteile dagegenhalten:
Fehlende Zuordnung von Daten zum Testfall
Zu viele/zu wenige Daten vorhanden
Wenn es zu viele Daten aus dem Produktivsystem gibt, kann die Testumgebung u.U. mit diesen nicht zurechtkommen, da die Testumgebung anders, meistens schwächer, ausgelegt ist.
Bei neuen Produkten könnten aus der Produktion zu wenig Daten kommen, um alle Testszenarien abdecken zu können.
Zu viele gleiche Daten
Datenschutz
Zur Einhaltung des Datenschutzes (DSGVO) können Daten aus produktiven Beständen unter Zuhilfenahme von Pseudonymisierung, oder der Anonymisierung der Daten, verwendet werden.
a) Wenn zu wenige Attribute anonymisiert werden, können die zur Nutzung vorgesehenen, personenbezogenen Daten über weitere vorhandene Attribute schnell identifiziert werden.
b) Wenn zu viele Attribute anonymisiert werden, kann der gewünschte Datensatz unbrauchbar werden, z. B. der Ort kann für die Berechnung einer Versicherungsprämie entscheidend sein.
c) Wenn das Format der Rohdaten keine eindeutige Anonymisierung zulässt kann ein Buchstaben-/Zahlensalat entstehen. In diesem Fall verzichtet man am besten auf Produktionsdaten und nimmt automatisch/synthetisch erzeugte Daten für die Testfalldurchführung.
Das richtige Gleichgewicht von (a) und (b) findet man in der Literatur z. B. unter dem Stichwort k-Anonymität (ein formelles Datenschutzmodell). Auf alle Fälle ist die Daten-Anonymisierung zur datenschutzkonformen Weiterverwendung in Softwaretests mit Aufwand verbunden, der berücksichtigt werden muss.
d) Für die Pseudonymisierung und Anonymisierung muss bei allen Datenquellen der gleiche Algorithmus verwendet werden, sonst entstehen Inkonsistenzen.
Übertragen aus der Produktion
Daten aus allen beteiligten Systemen
Für neue Anforderung keine Daten
"Leichen"/"Zombies" (z.B. 4-stellige PLZ, Missbrauch von Datenfeldeingaben)
Kostenpflichtige Produktionsdaten
Spezialfall KI: Daten schon bekannt
Was muss weiter beachtet werden
Fazit: Wenn Daten aus der Produktion genommen werden sollen, muss man sich den genauen Nutzen und den zu erwartenden Aufwand in die Überlegung einfließen lassen.
Autor: Wolfgang Schmidt
Bild: Lars Kienle, Unsplash