Redaktionell geprüft: · Quellen und Geltungsbereich unten
In der Kundendatenbank wurde aus original-a@example.invalid die Adresse customer-1@example.invalid. Der Bestellservice hat für dieselbe Person customer-87@example.invalid erzeugt. Die Anwendung verbindet beide Systeme über diese Adresse. Jede Datenbank ist für sich konsistent. Der gemeinsame Ablauf ist kaputt.
Dieses Szenario ist ein konstruiertes Engineering-Beispiel. Es zeigt, warum Testdaten-Anonymisierung beim Verhalten der Anwendung anfangen muss. Welche Information braucht der Test? Welche Beziehung hält den Ablauf zusammen? Welche Originalwerte können verschwinden?
Wir verfolgen den Fall durch die Aufbereitung bis zur Abnahme. Am Ende soll Kunde 1 seine zwei bezahlten Bestellungen über zusammen 30.000 Cent sehen. Die ursprüngliche E-Mail-Adresse und persönliche Notizen braucht dieser Test dafür nicht.
Die Beziehung, die im Schema fehlt
Ein Foreign Key zwischen zwei Tabellen lässt sich im Datenbankmodell finden. Eine Verknüpfung zwischen Kundenservice und Bestellservice kann ausschließlich im Anwendungscode stehen. Auch ein externer Schlüssel in einem JSON-Feld gehört dann zur Testvorbereitung.
Tonic beschreibt solche Beziehungen ausdrücklich, einschließlich nicht deklarierter Schlüssel und Beziehungen über Datenbankgrenzen. Daraus folgt für unseren Fall eine konkrete Aufgabe. Der gleiche Kunde braucht in beiden Systemen denselben Ersatzwert. Die Konsistenz muss für die verwendeten Felder und Läufe konfiguriert und geprüft werden. [5]
Für unseren kleinen Prüffall legen wir die Zuordnung vorab fest. Kunde 1 bekommt in beiden Systemen customer-1@example.invalid. Die Zuordnung gilt für den gesamten Testbestand. Bei echten Daten muss außerdem geprüft werden, welche zusätzliche Verknüpfbarkeit diese Stabilität schafft.
Was bedeutet Anonymisierung bei Testdaten?
Maskierung beschreibt Verfahren, mit denen Werte verändert oder verborgen werden. Anonymisierung betrifft die Frage, ob Personen anhand der verbleibenden Informationen noch identifizierbar sind. Pseudonymisierung ersetzt oder trennt identifizierende Informationen, kann aber eine Zuordnung mithilfe zusätzlicher Informationen weiterhin ermöglichen.
Eine ersetzte E-Mail-Adresse reicht deshalb als Nachweis für einen anonymen Datensatz nicht aus. Auch Bestellverläufe, seltene Merkmalskombinationen und Freitext können Informationen über Personen enthalten. Die Bewertung muss den konkreten Datensatz und seinen Verwendungskontext berücksichtigen. [1]
Welche Methode passt zu deiner Testumgebung?
| Verfahren | Was passiert? | Typischer Einsatz | Was du prüfen solltest |
|---|---|---|---|
| Statische Maskierung | Veränderte Werte werden im Zieldatensatz gespeichert | Wiederverwendbare Testdatenbank | Welche Originalwerte bleiben in Ziel, Exporten oder Zwischenspeichern? |
| Dynamische Maskierung | Die sichtbaren Werte hängen von Abfrage oder Berechtigung ab | Eingeschränkte Einsicht in bestehende Daten | Welche Rollen sehen weiterhin Originalwerte? |
| Transformation bei der Übertragung | Werte werden auf dem Weg ins Ziel verändert | Regelmäßige Testdatenbereitstellung | Können Originalwerte in Staging oder Logs gelangen? |
| Regelbasierte Generierung | Neue Datensätze entstehen aus festgelegten Regeln | Definierte Grenzfälle und Tests ohne Produktionszeilen | Stimmen Beziehungen, Constraints und erwartetes Verhalten? |
Diese Ansätze können sich ergänzen. Beispielsweise kann eine maskierte Teilmenge einen realen Fehlerfall abdecken, während generierte Datensätze gezielt fehlende Grenzfälle ergänzen. [2]
Ein Beispiel mit Kunden und Bestellungen
Angenommen, dein Test soll bezahlte Bestellungen je Kunde anzeigen. Er benötigt Kundenbeziehungen, Status und Beträge. Die Original-E-Mail und interne Gesprächsnotizen werden für diese Prüfung nicht gebraucht.
Die folgenden Werte sind vollständig erfunden.
| Feld | Ausgangswert | Wert im Testziel | Begründung |
|---|---|---|---|
| Kunden-ID | 1 |
1 |
Verknüpft den erfundenen Kunden mit seinen Bestellungen |
| Name | Demo Person A |
Testkunde 1 |
Der Test braucht einen darstellbaren Namen |
original-a@example.invalid |
customer-1@example.invalid |
Ein eindeutiger Ersatzwert genügt | |
| Interne Notiz | Erfundene persönliche Notiz A |
NULL |
Für diesen Test ohne Funktion |
| Bestellstatus | paid |
paid |
Steuert die fachliche Auswahl |
| Betrag in Cent | 10000 |
10000 |
Wird für die erwartete Summe benötigt |
Bei echten Produktionsdaten kann bereits eine unveränderte Kunden-ID eine Verbindung zu anderen Systemen ermöglichen. Falls IDs ersetzt werden, muss dieselbe Zuordnung in allen benötigten Beziehungen gelten. Ebenso ist zu prüfen, ob exakte Beträge oder Verläufe für den vorgesehenen Empfängerkreis zu viel Information erhalten. Das Beispiel zeigt die Abwägung zwischen Testzweck und Datenminimierung.
In fünf Schritten zum prüfbaren Ergebnis
1. Den Testfall festlegen. Schreibe vor der Transformation auf, welche fachliche Abfrage erfolgreich sein muss. Beispielsweise soll Kunde 1 genau zwei bezahlte Bestellungen mit insgesamt 30.000 Cent besitzen.
2. Den benötigten Ausschnitt bestimmen. Wähle die relevanten Kunden und Bestellungen einschließlich erforderlicher abhängiger Datensätze. Eine zufällige Auswahl einzelner Tabellen kann Beziehungen zerstören.
3. Felder und Inhalte inventarisieren. Prüfe auch JSON-Felder, Notizen, Anhänge und technische Protokolle. Eine Liste offensichtlicher Spaltennamen erfasst den Inhalt einer Datenbank nur teilweise.
4. Transformationen ausführen. Halte fest, welche Regel zu welchem Feld gehört. Berücksichtige Eindeutigkeit, Nullwerte, Feldlängen und Beziehungen. Die Testumgebung bekommt erst nach den vereinbarten Prüfungen Zugriff auf das Ergebnis.
5. Den bereitgestellten Bestand prüfen. Führe die Prüfungen nach dem Import ins endgültige Ziel erneut aus. Damit erfasst du auch Fehler beim Export und Restore.
Was muss die Abnahme zeigen?
| Prüfung | Erwartung im Beispiel |
|---|---|
| Anzahl Kunden und Bestellungen | Entspricht dem festgelegten Ausschnitt |
| Beziehungen | Jede Bestellung gehört zu einem vorhandenen Kunden |
| E-Mail-Adressen | Alle entsprechen der definierten Ersatzregel |
| Freitext | Die ausgeschlossenen Notizen sind leer |
| Fachliches Ergebnis | Kunde 1 hat zwei bezahlte Bestellungen über zusammen 30.000 Cent |
| Bereitstellungsweg | Zielzugriff, Zwischenablagen und Artefakte entsprechen dem vorgesehenen Verfahren |
Diese Checks prüfen konkrete Anforderungen. Zusätzlich braucht ein realer Datensatz eine Bewertung der verbleibenden Identifizierbarkeit. Ein fehlerfrei beendeter Transformationsjob beantwortet diese Frage allein nicht. [1]
Welche Tools kommen infrage?
Die vier Anbieter beschreiben überlappende Fähigkeiten. Für die Auswahl lohnt sich deshalb ein Blick auf den konkreten Ablauf und seine Grenzen. Die folgende Einordnung basiert auf den verlinkten Herstellerquellen, geprüft am 4. November 2026. Praktische Produktmessungen liegen für diesen Artikel noch nicht vor.
| Anbieter | Was die Quelle für diesen Zusammenhang beschreibt | Was unser Prüffall klären muss |
|---|---|---|
| DATAMIMIC | De-Identifizierungsablauf von Quellmetadaten über geprüfte Feldzuordnungen und ein editierbares Modell bis zur Ausführung | Sind die relevanten Felder erkannt und überprüft, und bleibt die Zuordnung desselben Kunden über beide Ziele erhalten? |
| Delphix | Maskierung und Bereitstellung virtueller Datenkopien, einschließlich Refresh und Rewind | Bleiben die zusammengehörenden Datenstände und Maskierungsregeln nach einem Refresh konsistent? |
| GenRocket | Synthetische Generierung sowie Transformation bestehender Daten, darunter angekündigtes In-Place Masking | Unterstützt die verfügbare Version unseren Datenbanktyp und die benötigten Transformationen? |
| Tonic Structural | Konsistente Transformationen, verknüpfte Generatoren und virtuelle Fremdschlüssel | Sind auch die Beziehungen erfasst, die ausschließlich im Anwendungscode bestehen? |
Quellen zu den vier Einordnungen stehen unter [5–8]. Die GenRocket-Ankündigung vom Januar 2026 nennt Oracle und SQL Server für den ersten Release. PostgreSQL wurde dort als geplant aufgeführt. Daraus lässt sich seine heutige Verfügbarkeit nicht ableiten. [7]
Prüfe für jeden Kandidaten die dokumentierten Schritte, benötigten Connectoren und die verfügbare Edition anhand derselben Anforderungen.
Nutze dafür die Vergleichszentrale und gib jedem Kandidaten denselben kleinen Prüfauftrag. Halte den Aufwand bis zum ersten fachlich korrekten Ergebnis fest. Ergänze anschließend eine geänderte Regel und einen Wiederholungslauf.
Der zweite Fehler fehlt in der Produktionskopie
Nachdem die Übersicht wieder funktioniert, ergänzt das Team einen Regressionstest. Was passiert, wenn dieselbe Bestellung zweimal eingeht? In unserem Ausschnitt existiert dieser Fall nicht. Eine größere Kopie würde ihn ebenfalls nur dann liefern, wenn er dort bereits vorkommt.
Jetzt lässt sich der Fall gezielt ergänzen. Zwei Nachrichten tragen dieselbe Bestell-ID. Die Anwendung soll eine Bestellung erzeugen und den zweiten Eingang nach der vereinbarten Regel behandeln. Das erwartete Ergebnis wird vor der Datenerzeugung festgelegt.
Damit entstehen zwei nachvollziehbare Entscheidungen. Für die Untersuchung eines bestehenden Fehlers kann ein aufbereiteter Ausschnitt sinnvoll sein. Für einen genau beschriebenen Grenzfall kann ein generierter Datensatz genügen. DATAMIMIC und GenRocket greifen die Abhängigkeit von Produktionsdaten in ihren Beiträgen auf. Ihre Produktdarstellungen ersetzen die Prüfung des konkreten Szenarios nicht. [7–8]
Was nach dem nächsten Refresh noch stimmen muss
Ein weiterer Export soll denselben Regressionstest ermöglichen. Prüfe deshalb nach jeder Bereitstellung erneut die Zuordnungen, die benötigten Datensätze und die fachliche Abfrage. Delphix macht Refresh und Rewind zu einem Teil seiner Darstellung des gesamten Bereitstellungsablaufs. Für den Leser folgt daraus eine praktische Frage. Wie kommt das Team nach einer Änderung wieder zu einem bekannten, geprüften Testzustand? [6]
Unser Fall endet mit einer eindeutigen Erwartung. Kunde 1 sieht genau die Bestellungen 101 und 102 mit insgesamt 30.000 Cent. Die ursprüngliche E-Mail und die Notiz sind entfernt. Der zusätzlich definierte Duplikatfall hat ein eigenes erwartetes Ergebnis. Diese Anforderungen kannst du einem Anbieter geben und anschließend selbst prüfen.
Weiterführend helfen der Ratgeber zu Testdaten ohne Produktionsdaten, der PoC-Prüfauftrag und der PostgreSQL-Praxisartikel.
Quellen zum Artikel
- BfDI — Kurzposition zu Testdaten, Stiftung Datenschutz — Praxisleitfaden zur Anonymisierung.
-
ISO — Data masking, Greenmask — Dokumentation, bestehender Masking-Ratgeber mit produktspezifischen Quellen.
-
Tonic — Maintaining relationships and referential integrity.
- Perforce Delphix — Test data management.
- GenRocket — In-Place Masking, Ankündigung vom 14. Januar 2026.
- DATAMIMIC — De-identification workflow, DATAMIMIC — Masking, anonymization and synthetic data.
Wähle den nächsten Schritt
- PostgreSQL-Datenbank für Tests maskieren und das Ergebnis prüfen
- Testdaten-Plattform: Kriterien und Tools im Vergleich
- Anforderungen und Proof of Concept festlegen
- Was sind Testdaten? Arten, Beispiele und Abnahmeprüfungen
- Synthetische Testdaten: Regeln, gelernte Muster und hybride Abläufe
- Sichere Testdaten-Workflows: Zugriff, Verschlüsselung und Abhängigkeiten
- Informatica oder CA TDM ablösen: Migrationsplan
- Testdaten ohne Produktionsdaten: Verfahren und Datenschutz