xhub.io
A Digital Service by BeeBack UG
ServicesLösungenKI-StrategieProdukteBlogÜber unsKontakt
Zurück zum Blog
Softwareentwicklung

Nanook: Open-Source Testdaten-Generierung mit Äquivalenzklassen

Manuelle Testdaten kosten Zeit und Nerven. Nanook generiert systematische Testdaten aus Excel-Tabellen — Open Source, CI/CD-ready und bei der Deutschen Bahn im Einsatz.

Autor
xhub.io Team
Datum
10. April 2026
Lesezeit
7 Min. Lesezeit
Nanook: Open-Source Testdaten-Generierung mit Äquivalenzklassen

Das Problem: Testdaten sind der blinde Fleck der Softwareentwicklung

Jeder Entwickler kennt es. Das Feature ist fertig, die Unit-Tests laufen, alles grün. Dann geht es in die Produktion — und es knallt. Nicht weil der Code falsch war, sondern weil niemand an den einen Grenzfall gedacht hat. Die Bestellung mit negativer Menge. Das Datum im Februar mit 29 Tagen. Der Kundenname mit Sonderzeichen.

Das Problem liegt selten am Code. Es liegt an den Testdaten. Oder genauer: am Fehlen systematischer Testdaten.

Die meisten Teams erstellen Testdaten manuell. Ein paar Standardfälle, die offensichtlichen Fehlerfälle, und dann hoffen wir, dass es reicht. Spoiler: Es reicht nie.

Die Methode: Äquivalenzklassen-Tabellen

Bevor wir über das Tool reden, reden wir über die Methode. Denn Nanook ist nicht einfach ein weiterer Daten-Generator wie Faker.js. Es ist die Implementierung einer bewährten Testmethodik.

Äquivalenzklassenbildung ist ein Verfahren aus dem systematischen Software-Test. Die Idee: Statt jeden möglichen Eingabewert zu testen (unmöglich), teilen wir die Eingabewerte in Klassen ein. Werte innerhalb einer Klasse verhalten sich gleich — wenn einer funktioniert, funktionieren alle.

Ein Beispiel. Ein Alter-Feld akzeptiert Werte von 0 bis 150:

KlasseWerteErwartung
Gültig0–150Akzeptiert
Ungültig (zu klein)< 0Abgelehnt
Ungültig (zu groß)> 150Abgelehnt
Ungültig (kein Zahl)"abc"Abgelehnt
Grenzwert0, 150Akzeptiert

Statt 150 Werte zu testen, testen wir 5. Systematisch. Vollständig. Nachvollziehbar.

Das Problem: Diese Tabellen zu erstellen ist einfach. Die passenden Testdaten daraus zu generieren ist mühsam. Genau hier setzt Nanook an.

Was Nanook macht

Nanook verbindet zwei Dinge, die bisher getrennt waren: die Planung von Testfällen und die Generierung von Testdaten.

Schritt 1: Testfälle planen — im Spreadsheet

Sie definieren Ihre Äquivalenzklassen in einer ganz normalen Tabelle. Excel, LibreOffice, Google Sheets — was Sie bevorzugen. Keine neue Software lernen, keine spezielle Syntax. Einfach Zeilen und Spalten.

Jede Spalte ist ein Eingabefeld. Jede Zeile definiert eine Klasse von Werten. Nanook versteht die Struktur und weiß, welche Kombinationen getestet werden müssen.

Schritt 2: Datengeneratoren zuweisen

Für jede Äquivalenzklasse definieren Sie, wie die konkreten Testdaten erzeugt werden sollen. Nanook bringt Generatoren für gängige Datentypen mit:

  • E-Mail-Adressen (gültige und ungültige)
  • Namen (verschiedene Zeichensätze und Längen)
  • Datumsangaben (mit Grenzwerten und Formaten)
  • Zahlen (Bereiche, Dezimalstellen, Vorzeichen)

Brauchen Sie etwas Spezielles? Kein Problem. Eigene Generatoren schreiben Sie in JavaScript. Ein IBAN-Generator, ein Artikelnummer-Generator nach Ihrem internen Schema, ein Generator für Ihre Domain-spezifischen Codes — alles möglich.

Schritt 3: Generieren und exportieren

Ein Befehl. Nanook liest die Tabelle, kombiniert die Äquivalenzklassen, ruft die Generatoren auf und schreibt die Ergebnisse. Wahlweise als JSON, CSV oder in ein eigenes Format über einen pluggable Writer.

npm install @xhubio/nanook-table

Das Ergebnis: Ein vollständiger Satz Testdaten, der systematisch alle relevanten Äquivalenzklassen abdeckt. Reproduzierbar. Versionierbar. CI/CD-fähig.

Warum nicht einfach Faker.js?

Faker.js ist großartig für das, was es tut: realistische Zufallsdaten erzeugen. Aber Faker.js löst ein anderes Problem.

Faker.jsNanook
AnsatzZufällige DatenSystematische Daten
GrundlageKeine MethodikÄquivalenzklassen
ZielRealistische Dummy-DatenVollständige Testabdeckung
GrenzwerteZufällig, wenn überhauptExplizit definiert
ReproduzierbarNur mit SeedImmer
PlanungIm CodeIm Spreadsheet

Faker.js füllt eine Datenbank mit Testdaten. Nanook stellt sicher, dass die richtigen Testfälle existieren. Beides hat seinen Platz — aber sie lösen unterschiedliche Probleme.

Im Einsatz: Deutsche Bahn

Nanook ist kein Hobbyprojekt. Das Toolkit wird bei der Deutschen Bahn eingesetzt, wo systematisches Testen keine Option, sondern eine Notwendigkeit ist. Wenn Buchungssysteme, Fahrplandaten und Kundeninformationen zusammenspielen müssen, reichen zufällige Testdaten nicht.

Die Kombination aus strukturierter Testplanung im Spreadsheet und automatisierter Datengenerierung hat sich in einem der komplexesten IT-Umgebungen Deutschlands bewährt.

CI/CD-Integration

Nanook ist ein Node.js-Modul. Das bedeutet: Es läuft überall, wo Node.js läuft. In Ihrer Pipeline, in Ihrem Pre-Commit-Hook, in Ihrem Nightly Build.

# In der CI-Pipeline
npx nanook generate --input tests/equivalence-tables/ --output tests/data/

Die generierten Testdaten werden Teil Ihres Repos. Änderungen an den Äquivalenzklassen-Tabellen erzeugen automatisch aktualisierte Testdaten. Keine manuellen Schritte. Keine vergessenen Updates.

Open Source und MIT-Lizenz

Nanook ist MIT-lizenziert. Kostenlos für persönliche und kommerzielle Nutzung. Keine versteckten Kosten, keine Enterprise-Tier-Einschränkungen.

Der komplette Quellcode liegt auf GitHub. Sie können es forken, erweitern, eigene Generatoren beitragen oder es einfach nutzen.

Für wen ist Nanook?

  • QA-Teams, die systematische Testabdeckung brauchen, nicht nur Stichproben
  • Entwickler, die Testdaten als Teil der CI/CD-Pipeline generieren wollen
  • Testmanager, die Testfälle in einer verständlichen Form planen wollen (Spreadsheet statt Code)
  • Enterprise-Teams, die nachweisbare, reproduzierbare Testabdeckung dokumentieren müssen

Jetzt ausprobieren

Nanook ist in wenigen Minuten einsatzbereit:

npm install @xhubio/nanook-table

Die vollständige Dokumentation, Tutorials und API-Referenz finden Sie auf nanook.xhub.io.

Der Quellcode auf GitHub.


Sie haben Fragen zum Einsatz von Nanook in Ihrem Projekt? Sprechen Sie mit uns — wir beraten Sie gerne, auch wenn Sie das Toolkit kostenlos nutzen.

xhub.io

Digitale Innovation seit 25 Jahren

in𝕏⌗

Services

  • KI-Strategie
  • Custom Development
  • SaaS Solutions
  • IT Consulting
  • Digital Strategy
  • Cloud Migration

Produkte

  • invoice.xhub.io
  • invoice-api.xhub.io
  • tempus.xhub.io
  • cv.xhub.io
  • nanook.xhub.io

Unternehmen

  • Über uns
  • Blog
#Testing#Open Source#QA#Testdaten#Automatisierung
Artikel teilen

Newsletter abonnieren

Erhalten Sie monatlich praxisnahe Tipps zur Digitalisierung

Wir respektieren Ihre Privatsphäre. Jederzeit abbestellbar.

Inhalt

  • Das Problem: Testdaten sind der blinde Fleck der Softwareentwicklung
  • Die Methode: Äquivalenzklassen-Tabellen
  • Was Nanook macht
  • Schritt 1: Testfälle planen — im Spreadsheet
  • Schritt 2: Datengeneratoren zuweisen
  • Schritt 3: Generieren und exportieren
  • Warum nicht einfach Faker.js?
  • Im Einsatz: Deutsche Bahn
  • CI/CD-Integration
  • Open Source und MIT-Lizenz
  • Für wen ist Nanook?
  • Jetzt ausprobieren
Kontakt

Rechtliches

  • Impressum
  • Datenschutzerklärung
  • AGB

© 2026 xhub.io is a A Digital Service by BeeBack UG. All rights reserved.