Testdatenautomatisierung
Testdatenmanagement in DevOps
Herausforderungen
Anwendungen und Datenbanken haben ihre eigene Logik und einzigartigen Eigenschaften. Damit Testdaten in diesen Kontexten nützlich sind, müssen sie Produktionsmerkmale widerspiegeln, wie z.B:
- Auswahlbedingungen (Geschäftsregeln)
- Spaltenattribute und Transformationen
- Inter-Feld/Schlüssel-Beziehungen (referentielle Integrität)
- Wertebereiche und spaltenübergreifende Berechnungen
Auch Testdaten zur Produktionsqualität müssen diese Attribute aufweisen:
- Typ - korrekte Spalten-/Feldwerte und Formate
- Breite - Werte mit aktuellen (und zukünftigen) Bereichen
- Häufigkeit - realistische Muster des Auftretens von Werten
- Tiefe - Volumina, die Skalierbarkeitsprobleme ansprechen
In einer schnelllebigen DevOps- und Continuous Integration (CI)/ Continuous Deployment (CD)-Umgebung kann die Fähigkeit, konsistente und realistische Testsätze zu generieren und zu automatisieren, die in Format und Umfang sehr unterschiedlich sein können, eine große Herausforderung darstellen und Programmierer mit engen Lieferfristen ablenken.
Lösungen
Anwendungen, die mit realistischen Datenformaten und -mengen entwickelt werden, haben in der Produktion eher Aussicht auf Erfolg. Das IRI RowGen-Paket zur Erstellung von Testdaten verwendet Produktions-Metadaten, um benutzerdefinierte Testsätze mit zufällig generierten Daten und/oder zufällig ausgewählten Daten aus Produktionsquellen zu synthetisieren. Die Datenmaskierungssoftware IRI FieldShield und IRI DarkShield kann auch verwendet werden, um sensible Daten in der Produktion zu finden und zu maskieren und maßgeschneiderte Ziele in niedrigere Testumgebungen zu verschieben.
Um die richtigen Werte und Wertebereiche zu erzeugen, verwendet RowGen bedingte Auswahl- und Formatierungsparameter. RowGen erhöht die Realitätsnähe der Testdaten durch referenzielle Integrität, Häufigkeitsverteilungen und integrierte Transformations- und Formatierungsfunktionen. So können Sie beispielsweise Daten nach dem Zufallsprinzip auswählen und Bereiche aus Pools echter Daten bzw. gewichteter Zahlen festlegen.