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.