Suchen

Tokenisierten Datenbanken Böse Überraschungen mit Testdaten vermeiden

| Autor / Redakteur: Elmar Eperiesi-Beck / Peter Schmitz

Wer Anwendungen entwickelt oder mit Datenbanken arbeitet, muss seine Ergebnisse ausreichend testen. Dazu werden valide Testdaten benötigt. Da liegt es nahe, die bereits bestehenden Produktivdaten zu kopieren und für den Test einzusetzen. Das klingt simpel und auch gar nicht unlauter, kann jedoch zu einem rechtlichen Problem mit beträchtlichen finanziellen Schäden werden.

Firmen zum Thema

Ein nachlässiger Umgang mit realen Daten für Testzwecke kann schwerwiegende Konsequenzen haben. Unternehmen, die sich mit der Entwicklung von Anwendungen oder Datenbanken beschäftigen sollten eine entsprechende Software für Testdatengenerierung haben.
Ein nachlässiger Umgang mit realen Daten für Testzwecke kann schwerwiegende Konsequenzen haben. Unternehmen, die sich mit der Entwicklung von Anwendungen oder Datenbanken beschäftigen sollten eine entsprechende Software für Testdatengenerierung haben.
(Bild: gemeinfrei / Pixabay )

Die Datenschutz-Grundverordnung (DSGVO) schreibt eine strenge Handhabung personengebundener Daten vor. Es ist demnach verboten, Daten für Zwecke zu verwenden, für die sie ursprünglich nicht erhoben wurden. Zuwiderhandlungen können hohe Strafen nach sich ziehen. Wirkte die DSGVO zeitweise wie ein Hund, der bellt aber nicht beißt, schlugen die Behörden in jüngster Zeit mit großer Härte zu. Mehr als 200 Millionen Euro soll die Fluglinie British Airways zahlen, und das Bußgeld für die Hotelkette Marriott beträgt 123 Millionen Euro. Zwar können die Unternehmen noch Einspruch einlegen, doch die Botschaft ist eindeutig: Wenn die DSGVO greift, tut sie es richtig.

Nutzung personenbezogener Daten ist riskanter Prozess

Neben der gesetzlichen Anforderungen zur Datenverwendung gibt es weitere Gründe für die ausschließliche Nutzung synthetischer Daten zu Testzwecken. Viele Unternehmen betreiben die Tests von Anwendungen im Outsourcing mit spezialisierten Firmen sowie ausländischen Unternehmen. Beide Vorgehensweisen sind im Umgang mit personenbezogenen Daten problematisch. Auch wenn Verträge geschlossen werden, die vermeintlich den Datenschutz sicherstellen, reicht das nicht aus. Neben dem Reputationsschaden für das beauftragende Unternehmen, das bei einem Datenleck allen betroffenen Kunden innerhalb von 72 Stunden informieren muss, ist der Transfer von Kundendaten ins Ausland auch starken gesetzlichen Regeln unterworfen, die auch für Testdaten gelten.

Ein weiterer Grund ist, dass Testumgebungen durchaus instabil sein können, wodurch sich die Gefahr eines Datenlecks erhöht. Auch werden Entwicklungsarbeiten oft an externe Experten ausgelagert. Mit dem zu bearbeitenden Quellcode verlassen dann auch Daten das eigene Unternehmen. Auch wenn die Daten innerhalb der eigenen IT-Infrastruktur sicher sind, für fremde Umgebungen kann ein IT-Verantwortlicher natürlich nicht mehr die Hand ins Feuer legen. Daten werden dann kopiert und weitergegeben, doch die Hauptverantwortung bleibt beim ursprünglichen Anwender. Anders ausgedrückt: Wird der Schutz personenbezogener Daten verletzt, haften das Unternehmen bzw. das Management, welches originär die Verantwortung für die sensiblen Informationen übernommen hat.

Ganz ohne Daten geht es nicht

Nun benötigen Entwickler aber valide Daten für ihre Tests. Eine Testdatenbank mit typkonformen Feldinhalten selbst zu erstellen ist ein mühseliges und zeitaufwändiges Unterfangen. Außerdem entspricht sie oft nicht den flexiblen Anforderungen der Tester und ist letztendlich – wie fast jeder manuelle Prozess - fehleranfälliger. Hierfür bietet sich eine technische Lösung an: die Tokenisierung. Im Gegensatz zur Verschlüsselung, bei der die Daten in eine Reihe von scheinbar zufälligen Zeichen umgewandelt wurden, entstehen bei der Tokenisierung real aussehende, aber nicht echte Werte. So wird beispielsweise aus einer E-Mail-Adresse „meier@firma.com“ die nicht reale „xysy@abxxiidh.com“. Somit haben die Daten zwar keine Bedeutung mehr, aber das richtige Format und können in der Anwendung oder Datenbank getestet werden.

In wenigen Schritten erledigt

Die Erzeugung einer tokenisierten Datenbank geht in nur wenigen Schritten mittels eines Testdatengenerators einfach vonstatten. Zunächst muss die Quelle (z.B. eine Datenbank) bestimmt werden, die personenbezogene Daten enthält. Dann muss das gewünschte Format gewählt werden – also ob es sich um eine Mail-Adresse, Telefonnummer oder ähnliches handelt. Nach erfolgter Tokenisierung steht die Quelle mit Dummy-Daten zur Verfügung.

Vorteile der typkonformen Testdatengenerierung

Die Vorteile bei der Testdatengenerierung liegen auf der Hand. Mit dem Verzicht auf reale Daten werden sämtliche Risiken eliminiert, gegen Datenschutzbestimmungen zu verstoßen. So können Unternehmen einfach regulatorische Compliance-Anforderungen einhalten, denn die Testdaten lassen eine rückwärtige Umwandlung in die Originaldaten nicht mehr zu. Daneben lässt sich der Generator über API steuern und somit in eigene Test-Werkzeuge integrieren. Außerdem bietet er konsistente Testdaten in allen Systemen, wie in Datenbanken, Apps, Dateien und Schnittstellen. Dies ist gerade für Integrationstests unabdingbar, bei denen es bei komplexen Systemumgebungen darum geht, in so vielen Systemen wie möglich konsistente Daten zu haben, um das korrekte Zusammenspiel der Systeme im Test zu validieren.

Was häufig vergessen wird: Testdatengenerierung ist kein einmaliger Prozess, sondern muss sich auf die Anforderungen der Anwendung und der Tests flexibel zeigen. Je nach Testszenario werden unterschiedliche Daten benötigt, welche bei Massentests auch zahlreich vorhanden sein müssen.

Zudem zeichnet sich ein guter Generator durch eine hohe Performance aus, auch weil der Prozess der Testdatengenerierung parallelisiert werden kann. Er tokenisiert nur sensible Daten und reduziert damit den Verwaltungsaufwand. Einschließlich des Erhalts von Proportionen und Logik muss er vollständig konfigurierbar sein.

Anforderungen an das Management von Testdaten

Um die diese Vorteile nutzen zu können, müssen Unternehmen bei der Wahl eines entsprechenden Tools darauf achten, dass dieses mit verschiedenen Formaten umgehen kann – also nicht nur der aktuell genutzten Datenbank, sondern beispielsweise auch Daten in Dateien und Applikationen. Und das konsistent über alle Plattformen. Insbesondere, wenn die zu testende Systeme im Datenaustausch mit anderen stehen. Daneben sollte die automatische Zuweisung von passenden Token-Profilen für Datenbankspalten erfolgen, um ein individuelles Token-Profil zu gestatten. Des Weiteren sollte der Generator die Option bieten, die Token auf Wunsch als aussprechbare Zeichenketten zu generieren, um den Testern die Benutzbarkeit zu erleichtern.

Und natürlich muss die Qualität der Testdaten stimmen, denn die Anforderungen der zu testenden Systeme müssen erfüllt werden. Für manche Anwendungen reicht beispielsweise eine Kreditkartennummer als zufällige 16-stellige Zahl, in anderen Anwendungen muss es eine gültige Kreditkartennummer mit korrekten Prüf-Ziffern – erzeugt mit dem LUHN-Algorithmus – sein. Mal reicht ein fiktiver Straßenname, mal muss der Ersatzwert eine gültige Adresse mit ähnlicher demographischer Struktur sein. Hier sollte die Testdaten-Management-Anwendung auch in der Lage sein, mit eigenem Programmcode die Definition der gültigen Wertebereiche der Ersatzwerte vorzunehmen.

Und wie immer bei Anwendungen gilt, die Einfachheit der Nutzung ist entscheidend. Also, wie leicht lässt sich die Definition der Token durchführen? Muss eine eigene Sprache gelehrt werden? Oder unterstützt die Anwendung gängige Definitionsmöglichkeiten wie beispielsweise reguläre Ausdrücke?

Risiken vermeiden

In Anbetracht der Konsequenzen, die ein nachlässiger Umgang mit realen Daten für Testzwecke zur Folge haben kann, sollte sich jedes Unternehmen, das sich mit der Entwicklung von Anwendungen oder Datenbanken beschäftigt, um die entsprechende Software für Testdatengenerierung kümmern. Studien haben gezeigt, dass viele Unternehmen gar keine Übersicht darüber haben, welche Abteilungen Echtdaten für Tests einsetzen. Eine solche Datenklassifikation und Erhebung des Dateneinsatzes ist auch nach DSGVO zwingend vorgeschrieben. Die Anschaffung eines solchen Systems ist ein einfacher Prozess – die Generierung der Testdaten ebenso. Und Unternehmen sollten nicht nur an die aktuellen Anforderungen denken, sondern auch an die zunehmende Anzahl von Systemen on-premises oder in der Cloud, welche mit zunehmend schnelleren Release-Zyklen aufwarten. Möchte ein Unternehmen also bei der Anwendungs- oder Datenbankentwicklung auf Nummer sicher gehen, führt an der Implementierung eines professionellen Testdatengenerators kein Weg vorbei.

Über den Autor: Elmar Eperiesi-Beck ist CEO und Gründer der eperi GmbH.

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de (ID: 46391800)