In der modernen Softwareentwicklung ist die Qualität der verwendeten Testdaten ein entscheidender Faktor für die Zuverlässigkeit von Anwendungen. Die Python-Bibliothek mock-jutsu adressiert genau diesen Bedarf, indem sie spezialisierte Funktionen für internationale Identifikationsnummern bereitstellt. Eine zentrale Rolle spielt dabei die Funktion se_personnummer, die speziell für die Generierung schwedischer Personennummern entwickelt wurde. Anstatt auf statische oder unsichere Platzhalter zurückzugreifen, ermöglicht dieses Tool die Erstellung von dynamischen Datensätzen, die den strengen formalen Anforderungen des schwedischen Systems entsprechen.
Die von se_personnummer erzeugten Mock-Daten folgen dem offiziellen Standardformat YYYYMMDD-NNNN. Dabei repräsentieren die ersten acht Ziffern das Geburtsdatum, gefolgt von einer vierstelligen Kennziffer. Ein technisches Highlight der Implementierung in mock-jutsu ist die integrierte Validierung nach dem Luhn-Algorithmus. Jede generierte Nummer wird mathematisch so berechnet, dass die Prüfziffer am Ende korrekt ist. Dies ist besonders wichtig für Entwickler, deren Systeme Eingaben bereits auf syntaktische Korrektheit prüfen, bevor sie in der Datenbank verarbeitet werden. Mit se_personnummer lassen sich somit Validierungsprozesse realistisch testen, ohne jemals echte personenbezogene Daten verarbeiten zu müssen.
Die Anwendung der Funktion ist für verschiedene Einsatzszenarien optimiert. Entwickler können die Testdaten direkt über die Kommandozeile mittels mockjutsu generate se_personnummer erzeugen oder die Bibliothek nahtlos in ihre Python-Projekte integrieren, indem sie jutsu.generate('se_personnummer') aufrufen. Auch für Performance-Tests bietet mock-jutsu eine Lösung: Über die JMeter-Integration lassen sich mit dem Ausdruck ${__mockjutsu(se_personnummer,)} tausende valide Identitäten für Lasttests simulieren. Diese Flexibilität macht die Bibliothek zu einem unverzichtbaren Werkzeug in der CI/CD-Pipeline, da sie die automatisierte Erstellung konsistenter Testumgebungen erheblich beschleunigt.
Der Einsatz von se_personnummer bietet zudem signifikante Vorteile im Hinblick auf den Datenschutz und die Einhaltung der DSGVO. Da die generierten Nummern zwar strukturell korrekt, aber rein fiktiv sind, besteht kein Risiko, sensible Informationen realer Personen zu kompromittieren. Dies ist besonders wertvoll bei der Entwicklung von Finanz-Apps, E-Commerce-Plattformen oder Registrierungsportalen für den skandinavischen Markt. Durch die Verwendung präziser Mock-Daten können Grenzfälle, wie etwa die Altersverifikation oder spezifische Datumsformate, sicher abgeprüft werden, was letztlich zu einer robusteren Software und einer schnelleren Marktreife führt.
mockjutsu generate se_personnummermockjutsu bulk se_personnummer --count 10mockjutsu export se_personnummer --count 10 --format jsonmockjutsu export se_personnummer --count 10 --format csvmockjutsu export se_personnummer --count 10 --format sql# --mask: regulation-compliant output (PCI DSS / GDPR / KVKK)mockjutsu generate se_personnummer --maskmockjutsu bulk se_personnummer --count 5 --maskfrom mockjutsu import jutsujutsu.generate('se_personnummer')jutsu.bulk('se_personnummer', count=10)jutsu.template(['se_personnummer'], count=5)# mask=True: regulation-compliant outputjutsu.generate('se_personnummer', mask=True)jutsu.bulk('se_personnummer', count=5, mask=True)${__mockjutsu_intl_ids(se_personnummer)}# JMeter Function: __mockjutsu_intl_ids# Parameter 1: se_personnummer# Parameter 2: (not required for this function)# Add 'mask' keyword to get a regulation-compliant masked value${__mockjutsu_intl_ids(se_personnummer,mask)}GET /generate/se_personnummer# → {"type":"se_personnummer","result":"...","status":"ok"}GET /bulk/se_personnummer?count=10POST /template {"types":["se_personnummer"],"count":1}# mask=true: regulation-compliant outputGET /generate/se_personnummer?mask=trueGET /bulk/se_personnummer?count=5&mask=true| Parameter | Werte | Beschreibung |
|---|---|---|
| --mask | true | false | Return a regulation-compliant masked value (PCI DSS, GDPR, KVKK…) |