In der modernen Softwareentwicklung ist die Qualität der Testdaten entscheidend für den Erfolg und die Zuverlässigkeit eines Projekts. Die Python-Bibliothek mock-jutsu bietet hierfür spezialisierte Werkzeuge an, um hochgradig realistische Datensätze für verschiedene internationale Standards zu erzeugen. Eine besonders wichtige Funktion innerhalb der Kategorie IntlIDs ist es_dni, die speziell für die Generierung spanischer Identifikationsnummern, dem sogenannten Documento Nacional de Identidad (DNI), entwickelt wurde. Diese Funktion ermöglicht es Entwicklern und QS-Ingenieuren, synthetische, aber formal absolut korrekte Identitätsdaten zu erstellen, ohne dabei auf echte personenbezogene Informationen zurückgreifen zu müssen.
Die Funktion es_dni folgt strikt den offiziellen spanischen Spezifikationen für Identifikationsdokumente. Ein valider DNI besteht strukturell aus acht zufälligen Ziffern, gefolgt von einem Kontrollbuchstaben, der zur Verifizierung der Nummer dient. Die Berechnung dieses Buchstabens basiert auf dem MOD-23-Algorithmus. Hierbei wird die achtstellige Zahl durch 23 dividiert, wobei der verbleibende Rest einem spezifischen Buchstaben aus einer genormten Tabelle zugeordnet wird. Durch die Verwendung von mock-jutsu wird sichergestellt, dass jede generierte es_dni diesen mathematischen Validierungsprozess fehlerfrei besteht. Dies ist besonders wertvoll beim Testen von Systemen, die über eine integrierte Prüfsummenvalidierung für Eingabefelder verfügen und fehlerhafte Formate sofort ablehnen würden.
Die Integration der Funktion in bestehende Workflows ist denkbar einfach und flexibel gestaltet. Softwareentwickler können die Mock-Daten direkt in ihren Python-Skripten über den Befehl jutsu.generate('es_dni') aufrufen, um Variablen für Unit-Tests zu befüllen. Für schnelle manuelle Tests oder das Befüllen von Textdateien auf der Kommandozeile steht der CLI-Befehl mockjutsu generate es_dni zur Verfügung. Auch für umfangreiche Last- und Performance-Tests ist die Bibliothek bestens gerüstet: In Apache JMeter lassen sich die Testdaten nahtlos über den Ausdruck ${__mockjutsu(es_dni,)} einbinden, um tausende Anfragen mit validen Identitätsnummern zu simulieren.
Der Einsatz von mock-jutsu zur Erstellung von Testdaten bietet erhebliche Vorteile in Bezug auf Datenschutz und Effizienz. Da die Funktion rein algorithmisch arbeitet, werden keine realen Datensätze gefährdet, was die Einhaltung der DSGVO-Richtlinien bei internationalen Softwareprojekten massiv vereinfacht. Typische Einsatzszenarien für die es_dni Funktion umfassen das automatisierte Seeding von Datenbanken, das Testen von Registrierungsformularen für den spanischen Markt sowie die Validierung von API-Endpunkten. Durch die Bereitstellung formal korrekter Mock-Daten lassen sich komplexe Validierungslogiken bereits früh im Entwicklungszyklus zuverlässig prüfen, was die Robustheit und Fehlerresistenz der gesamten Anwendung nachhaltig steigert.
mockjutsu generate es_dnimockjutsu bulk es_dni --count 10mockjutsu export es_dni --count 10 --format jsonmockjutsu export es_dni --count 10 --format csvmockjutsu export es_dni --count 10 --format sql# --mask: regulation-compliant output (PCI DSS / GDPR / KVKK)mockjutsu generate es_dni --maskmockjutsu bulk es_dni --count 5 --maskfrom mockjutsu import jutsujutsu.generate('es_dni')jutsu.bulk('es_dni', count=10)jutsu.template(['es_dni'], count=5)# mask=True: regulation-compliant outputjutsu.generate('es_dni', mask=True)jutsu.bulk('es_dni', count=5, mask=True)${__mockjutsu_intl_ids(es_dni)}# JMeter Function: __mockjutsu_intl_ids# Parameter 1: es_dni# Parameter 2: (not required for this function)# Add 'mask' keyword to get a regulation-compliant masked value${__mockjutsu_intl_ids(es_dni,mask)}GET /generate/es_dni# → {"type":"es_dni","result":"...","status":"ok"}GET /bulk/es_dni?count=10POST /template {"types":["es_dni"],"count":1}# mask=true: regulation-compliant outputGET /generate/es_dni?mask=trueGET /bulk/es_dni?count=5&mask=true| Parameter | Werte | Beschreibung |
|---|---|---|
| --mask | true | false | Return a regulation-compliant masked value (PCI DSS, GDPR, KVKK…) |