In der modernen Softwareentwicklung ist die Qualität der verwendeten Testdaten ein entscheidender Faktor für die Stabilität und Sicherheit von Anwendungen. Die Python-Bibliothek mock-jutsu bietet Entwicklern eine effiziente Lösung, um realistische Datensätze zu generieren, ohne dabei auf echte personenbezogene Informationen zurückgreifen zu müssen. Eine besonders wichtige Funktion in der Kategorie der internationalen Identifikationsnummern ist ro_cnp. Diese Funktion wurde speziell entwickelt, um die rumänische Identifikationsnummer, den sogenannten Cod Numeric Personal (CNP), synthetisch zu erzeugen. Da der CNP in Rumänien für nahezu alle administrativen Prozesse und digitalen Dienste erforderlich ist, stellt die korrekte Simulation dieser Daten eine Grundvoraussetzung für das Testen von Systemen im osteuropäischen Raum dar.
Die Funktion ro_cnp erzeugt eine 13-stellige Ziffernfolge, die exakt den offiziellen mathematischen Standards entspricht. Ein valider CNP enthält verschlüsselte Informationen über das Geschlecht, das Geburtsjahrhundert, das Geburtsdatum sowie den Geburtsort einer Person. Das kritischste Element ist jedoch die 13. Stelle, die Prüfziffer. Diese wird bei mock-jutsu präzise über den MOD-11-Algorithmus berechnet. Dabei wird jede der ersten zwölf Stellen mit einem spezifischen Gewichtungsfaktor multipliziert und die Summe anschließend validiert. Durch diese mathematische Genauigkeit stellt mock-jutsu sicher, dass die generierten Mock-Daten von jedem Backend-Validierungssystem als formal korrekt akzeptiert werden, was die Fehlerquote in automatisierten Testumgebungen massiv senkt.
Die Integration von ro_cnp in den Entwicklungsworkflow ist denkbar einfach und flexibel gestaltet. Für schnelle manuelle Abfragen oder zum Befüllen von Datenbanken über Skripte kann das Kommandozeilen-Interface mit dem Befehl "mockjutsu generate ro_cnp" genutzt werden. Python-Entwickler binden die Funktion direkt über "jutsu.generate('ro_cnp')" in ihre Unit-Tests oder Data-Farming-Skripte ein. Auch für Performance-Tests bietet die Bibliothek eine Lösung: In Apache JMeter lassen sich die Testdaten über den Ausdruck "${__mockjutsu(ro_cnp,)}" dynamisch generieren. Dieser Cross-Plattform-Ansatz macht mock-jutsu zu einem vielseitigen Werkzeug für QA-Ingenieure und Softwarearchitekten gleichermaßen.
Die Vorteile beim Einsatz dieser synthetischen Testdaten liegen auf der Hand. Entwickler können komplexe Registrierungsprozesse, KYC-Verfahren (Know Your Customer) oder Finanztransaktionen testen, ohne Datenschutzrisiken einzugehen oder gegen die DSGVO zu verstoßen. Da die Funktion ro_cnp stets plausible und algorithmisch korrekte Ergebnisse liefert, lassen sich sowohl positive Validierungstests als auch Grenzfallanalysen effizient durchführen. Letztlich trägt mock-jutsu dazu bei, die Time-to-Market zu verkürzen, indem es die mühsame manuelle Erstellung von Testdatensätzen durch eine automatisierte, standardkonforme Generierung ersetzt.
mockjutsu generate ro_cnpmockjutsu bulk ro_cnp --count 10mockjutsu export ro_cnp --count 10 --format jsonmockjutsu export ro_cnp --count 10 --format csvmockjutsu export ro_cnp --count 10 --format sql# --mask: regulation-compliant output (PCI DSS / GDPR / KVKK)mockjutsu generate ro_cnp --maskmockjutsu bulk ro_cnp --count 5 --maskfrom mockjutsu import jutsujutsu.generate('ro_cnp')jutsu.bulk('ro_cnp', count=10)jutsu.template(['ro_cnp'], count=5)# mask=True: regulation-compliant outputjutsu.generate('ro_cnp', mask=True)jutsu.bulk('ro_cnp', count=5, mask=True)${__mockjutsu_intl_ids(ro_cnp)}# JMeter Function: __mockjutsu_intl_ids# Parameter 1: ro_cnp# Parameter 2: (not required for this function)# Add 'mask' keyword to get a regulation-compliant masked value${__mockjutsu_intl_ids(ro_cnp,mask)}GET /generate/ro_cnp# → {"type":"ro_cnp","result":"...","status":"ok"}GET /bulk/ro_cnp?count=10POST /template {"types":["ro_cnp"],"count":1}# mask=true: regulation-compliant outputGET /generate/ro_cnp?mask=trueGET /bulk/ro_cnp?count=5&mask=true| Parameter | Werte | Beschreibung |
|---|---|---|
| --mask | true | false | Return a regulation-compliant masked value (PCI DSS, GDPR, KVKK…) |