Drucken

Die Bereitstellung von Testdaten ist für viele Unternehmen ein Dauerproblem. Einerseits brauchen Entwickler und Tester realistische Daten, um Software zuverlässig zu prüfen. Andererseits müssen personenbezogene Informationen zwingend anonymisiert werden – Stichwort DSGVO.

Viele Firmen greifen auf Standardsoftware zurück, die oft teuer ist und in der Praxis an Grenzen stößt: mangelnde Flexibilität, schwierige Integration in bestehende Systeme, hoher Anpassungsaufwand.

Meine Lösung aus der Praxis

In meinem Berufsalltag als Datenbankspezialist habe ich genau diese Herausforderung erlebt. Deshalb habe ich ein Framework in Python entwickelt, das Testdatenmanagement (TDM) einfacher, schneller und flexibler macht.

Die wichtigsten Merkmale:

Der Nutzen für Unternehmen

Fazit

Das Framework vereint Performance, Flexibilität und Compliance. Es ist ein praxisnaher Ansatz für Unternehmen, die ihre Testdatenbereitstellung modernisieren wollen – ohne sich in teure und starre Lösungen zu verstricken.

Ich freue mich über Austausch mit allen, die in diesem Bereich aktiv sind – und zeige die Lösung gerne in einem Proof-of-Concept.

 

Beispiel

from BaseClasses import AnonymizerClasses as ac
from Shared import vornamen_nachnamen as names
import pandas as pd
import settings
from datetime import datetime

# row function for table fiktive_daten_rows_10000
def row_function_fiktive_daten_rows_10000(zeile):
    vorname = names.verfremden_vorname(zeile['vorname'], zeile['geschlecht'])
    nachname = names.verfremden_nachname(zeile['nachname']) 

    retval = pd.Series({
                      'vorname': vorname,
                      'nachname': nachname,
                      'email': names.verfremden_email(vorname, nachname),
                      # Die Datentypen müssen übereinstimmen!!
                      #'geburtsdatum': names.generieren_date(1950, 2002),
                      'geburtsdatum': datetime.strptime(names.generieren_date(1950, 2002),"%Y-%m-%d").date(),
                      'telefonnummer': names.verfredmen_telefonnummer(zeile['telefonnummer']),
                      'geschlecht' : zeile['geschlecht']
                          })
    return retval

# Objekt zur Verfremdung von Datenbank Tabellen
ac_fiktive_daten_rows_10000 = ac.TDM_RelTable_DataAnonymizer(
    schema_name='tdm_poc',
    table_name='fiktive_daten_rows_10000',
    column_list=['vorname', 'nachname', 'email', 'geburtsdatum', 'telefonnummer', 'geschlecht'],
    engine_url=settings.ora_connectstr,
    row_function=row_function_fiktive_daten_rows_10000,
    UpdateLevel = ac.NoWrite,
    app_name=settings.app_name)

# Infos zur Datenbank und zu den Spalten ausgeben
ac_fiktive_daten_rows_10000.getColumn_Types()

# Vorschau anzeigen
ac_fiktive_daten_rows_10000.table_function([100,119])

Ausgabe im Jupyter Notebook

 

👉 Kontaktieren Sie mich gerne über LinkedIn oder direkt über meine Webseite markus-tischler.com

Kategorie: Uncategorised
Zugriffe: 993