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-Testdatengenerierungstool verwendet Produktionsmetadaten, um benutzerdefinierte Testsätze mit zufällig generierten Daten und/oder zufällig ausgewählten Daten aus Produktionsquellen zu synthetisieren. Die Datenmaskierungstools IRI FieldShield und IRI DarkShield können auch zum Auffinden und Maskieren von PII und anderen sensiblen Daten in der Produktion verwendet werden, um sichere Ziele in niedrigeren Testumgebungen zu erstellen.
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.