Testdatengenerator für ETL-Tests
Der Markt hält viele Testdatengeneratoren für Namen, Adressen oder Kreditkartendaten bereit. Um jedoch für technische Tests von ETL-Prozessen Testdaten für unterschiedliche Äquivalenzklassen und Grenzwerte für jedes einzelne Feld mit seinem entsprechenden Datentyp zu generieren, habe ich einen Testdatengenerator entwickelt, der eine Data Definition Language (DDL) mit CREATE-TABLE-Anweisungen analysiert und daraus einen passenden Satz von Testdaten als INSERT-INTO-Anweisungen oder tabulatorgetrennte Werte erstellt.
Der Testdatengenerator wurde als Webanwendung entwickelt und kann ohne lokale Installation Testdaten für die Datentypen gängiger Datenbankmanagementsysteme (derzeit Oracle, DB2 und MySQL/MariaDB) generieren. Weitere Datenbankmanagementsysteme und Testdatenklassen können grundsätzlich ergänzt werden.
Als Beispiel sind in der folgenden Liste die implementierten Testdatenklassen für den Datentyp VARCHAR aufgeführt:
- Gültiger Wert: Jede Zeichenfolge mit einer Länge zwischen 1 und der maximalen Zeichenfolgenlänge mit Zeichen, die nicht Whitespaces und nicht der Standardzeichenfolge entsprechen (falls verfügbar);
- Minimalwert: Expliziter Wert “ (leere Zeichenfolge);
- Maximalwert: Jede Zeichenfolge der maximalen Zeichenfolgenlänge mit Zeichen, die nicht Whitespaces entsprechen;
- NULL: Expliziter Wert NULL (wenn die bestimmte Spalte nullwertfähig ist);
- Sonderzeichen: Beliebige Zeichenfolge mit Sonderzeichen (z. B. Umlaute, Zeichen mit Diakritika);
- Steuerzeichen: Beliebige Zeichenfolge mit Steuerzeichen (z. B. Seitenvorschub, Wagenrücklauf, Escape);
- Nur Whitespaces: Jede Zeichenfolge, die nur aus Whitespaces (z. B. Leerzeichen, Tabulator) besteht;
- Führende und nachfolgende Whitespaces: Alle Teilzeichenfolgen mit Zeichen, die nicht Whitespaces entsprechen und führende sowie nachfolgende Whitespaces aufweisen;
- Maskierungszeichen: Beliebige Zeichenfolge mit Maskierungszeichen (z. B. Anführungszeichen, einfaches Anführungszeichen, Backslash);
- Syntaxspezifische Zeichen: Beliebige Zeichenfolge mit syntaxspezifischen Zeichen (z. B. für XML-Syntax: <, >, &, Anführungszeichen, Apostroph);