Als Ihr Schweizer Spezialist für Testautomation, Testdatenmanagement und Künstliche Intelligenz lieben wir es, uns mit den neusten Technologien und Möglichkeiten zu befassen. Eine dieser neuen Möglichkeiten ist die Generierung von synthetischen Testdaten mit der Power von generativer Künstlicher Intelligenz (Generative AI). Unsere Infometis-Communities investieren proaktiv viel Zeit in zukunftsweisende Trends und Technologien, weshalb wir das Thema an einem gemeinsamen Hack-Day als Team detaillierter analysiert haben.
Wenn wir über Testing sprechen, sei es automatisiert oder manuell, müssen wir unweigerlich auch über das Testdaten-Management sprechen. Denn effizientes Testing ist nur mit den dazugehörigen Testdaten möglich. Die rasche Bereitstellung adäquater Testdaten somit ein essentieller Erfolgsfaktor für sämtliche Testaktivitäten.
Insbesondere im komplexen Enterprise-Umfeld ist die Bereitstellung von Testdaten, bzw. das Auffinden passender Datenkonstellationen für Unternehmen eine enorme Herausforderung und oft ein schwierig zu durchdringender Dschungel von Abhängigkeiten, Ausnahmen und Altlasten.
Beim Durchschreiten dieses Dschungels stellen sich oft Schlingen in den Weg:
Aktuelle Lösungen für diese Herausforderungen sind:
Diese Herangehensweisen bergen folgende Risiken und Nachteile:
Datenschutzrisiken und Cyberkriminalität: Mit der zunehmenden Regulierung im Datenschutz ist die Zweckgebundenheit und die Zugriffsbeschränkung, insbesondere von PII - Personal Identifiable Information ein grosses Thema. Die Verwendung von produktiven Daten zu Testzwecken, auch maskiert oder anonymisiert, bergen ein grosses Datenschutz-Risiko und erhöhen die Angriffsfläche für cyberkriminelle Angriffe.
Unzuverlässigkeit der Daten: Die effiziente Durchführung von Regressionstests, egal ob funktional oder nicht-funktional, basiert auf verlässlichen Testdaten. Auf produktiven Beständen basierende Daten können ungewollte Konstellationen beinhalten, welche die Testergebnisse negativ beeinflussen. Die damit verbundene Fehleranalyse kann vom eigentlichen Testzweck abweichen. Zudem reduziert sich mit höherem Anonymisierungsgrad die Eignung für breitere Testkampagnen.
Struktur: Um Edge-Cases zu identifiziere und realistische Szenarien beim Load- und Performancetesting abzubilden ist es wichtig, dass die Struktur der Daten und auch Zeitreihen und Transaktion möglichst den produktiven Daten entsprechen. Wenn wir Daten anonymisieren oder Mock-Daten generieren wird die Struktur verändert oder nicht in ihrer Vielfalt abgebildet. Dieser Nachteil ist auch beim Trainieren von unternehmenseigenen KI-Modellen von entscheidender Bedeutung.
Hoher manueller Aufwand: Der Aufwand zur Bereitstellung anonymer Datenbestände ist meist sehr hoch. Dieser bindet Ressourcen und reduziert die Verfügbarkeit der Testsysteme. Bei unregelmässiger Bereitsstellung “veralten” die Testumgebungen zudem rasch und die Datenqualität nimmt zusätzlich ab.
Synthetische Testdaten, die künstliche Nachbildung von realen Daten, bieten den grossen Vorteil der vollständigen Entkopplung von produktiven Daten bei gleichzeitigem Erhalt komplexer Datenbeziehungen. Sie wirken dadurch den Nachteilen im Datenschutz und in der Abbildung der Struktur von herkömmlichen Testdaten entgegen.
Tools wie iSynth unterstützen dabei, synthetische Testdaten as Code zu definieren und zu pflegen und in beliebiger Varianz und Menge konsistent in Testumgebungen zu deployen.
Plattformen wie Tonic.ai oder k2view bieten eine Menge toller Werkzeuge, um PII von produktiven Datenquellen automatisiert zu identifizieren, transformieren und synthetische Daten zu generieren.
Automation-Framworks wie Tosca, TAMI oder GenRocket profitieren von den Fähigkeiten einer Organisation zur Erstellung und Pflege automatisierter Regressionstests inkl. benötigter Datenkonstellationen.
Was jedoch bleibt ist der Aufwand für die Analyse und Pflege der Struktur der realen Daten, die Ableitung der Regeln und Algorithmen sowie deren Implementierung.
Der Durchbruch von künstlicher Intelligenz und im Besonderen von Generativer KI könnte uns in genau diesem Bereich unterstützen.
KI Tools und Plattformen für die Erzeugung von synthetischen Testdaten nutzen die Möglichkeiten von Generativer KI, um die Struktur und Zusammenhänge von produktiven Daten zu lernen und mit dem daraus resultierenden Modell synthetische Testdaten zu erzeugen.
Dadurch wird die zeitraubende Tätigkeit der Analyse und Dokumentation der Strukturen und Abhängigkeiten an die KI delegiert und in einem datenspezifischen KI-Modell festgehalten. Anhand dieses vollständig anonymen Modells kann dann die KI in einem zweiten Schritt on-demand die gewünschte Menge an synthetischen Daten auf der gewünschten Umgebung generieren.
Bei Infometis beobachten wir kontinuierlich den Markt, analysieren neue Entwicklungen, setzen uns aktiv mit innovativen sowie marktführenden Technologien auseinander und gehen aktiv in den Austausch mit den Herstellern. So stellen wir sicher, dass wir unseren Kunden immer die besten Lösungen bieten können.
Für die Generierung von synthetischen Testdaten mit KI haben wir die zwei folgenden Plattformen näher angeschaut. Sie sind explizit darauf spezialisieren, mit Generativer AI synthetische Testdaten zu generieren.
Ziel war es ein Gefühl dafür zu entwickeln, wo wir aktuell stehen und wohin die Reise gehen könnte.
Im Zentrum von Mostly AI stehen die Generatoren. Diese können mittels Konnektoren oder durch Fileupload mit Daten gefüttert werden. Im nächsten Schritt kann ein auf den Daten basierendes AI Model trainiert werden, welches wiederum die Basis bildet, um synthetische Daten zu generieren.
Mittels eines Assistenten (GPT) kann mit einem Generator gechattet und zum Beispiel die Datentabellen genauer analysiert werden. Es ist auch möglich unabhängig von den Generatoren on-demand Testdaten mittels eines Prompts zu generieren oder ein Datenfile zu analysieren.
Mostly AI überzeugt mit geringen Einstiegshürden. Mit wenigen Klicks kann aus einer CSV Datei mit Daten ein KI Modell und daraus synthetische Daten generiert werden. Wer möchte, kann aber auch eine umfassende Einsicht in die Statistik der Daten gewinnen.
Weiter bietet Mostly eine Python CLI (Command Line Interface) und ist damit auch integrierbar in CI/CD Workflows und anderen Automationen. Dadurch lassen sich beispielsweise on-demand Daten für automatisierte Tests generieren und bereitstellen. Sämtliche, in der Cloud aufgesetzte Generatoren, können auch als Python Code dargestellt werden.
Gretel ist in Projekten organisiert. Innerhalb eines Projekts kann ich mehrere Modelle mit unterschiedlichen Daten trainieren. Dafür stellt Gretel sogenannte Blueprints für unterschiedliche Anwendungsfälle zur Verfügung.
Der Navigator bietet mir die Möglichkeit, ähnlich zum Assistenten in Mostly AI, on-demand Testdaten mittels eines Prompts zu generieren. Zudem kann ich zu bestehenden Tabellen Spalten nach gewissen Regeln hinzufügen.
Mit Gretel ist es sehr schnell möglich, erste Resultate zu erzielen. Mit Blueprints können unterschiedliche Anwendungsfälle auf die Source-Daten angewendet werden. Ich kann entweder ein Model trainieren, welches syntetische Testdaten generiert oder eines, welches meine Daten nach PII klassifiziert.
Für jedes Model generiert Gretel einen Quality Report mit einer Vielzahl von Informationen. Und auch Gretel bietet eine Python CLI. Genauer gesagt sogar zwei. Eine low-level und ein high-level Gretel SDK.
Erwähnenswert ist Gretels Workflow Feature. Damit lassen sich eigene Automationen konfigurieren wie zum Beispiel die Erstellung von 500 Testrecords jede Woche am Freitag um 08:00.
Wir haben beide Tools in der Cloud mit den im Free Modell zur Verfügung stehenden Credits ausprobiert. In einem Unternehmen ist es für die meisten Anwendungsfälle wichtig, dass die produktiven Daten den Unternehmenskontext nicht verlassen.
Beide Tools bieten daher die Möglichkeit, sie in ein Kubernetes Cluster zu deployen, welches unter Kontrolle des Unternehmens ist. Damit lässt sich das Training des KI Models mit den produktiven Daten im eigenen Kontext durchführen.
⚠️ Das trainierte KI Model hat bei beiden Tools keinen Bezug mehr zu den ursprünglichen Daten. Es kann somit für die Generierung von synthetischen Daten in der Cloud angewendet werden.
Gretel ist dabei noch eingeschränkt auf die drei grossen Cloud-Provider, während Mostly AI auch ein Helm-Chart für das Deployment in eine self-hosted Umgebung anbietet.
Testdaten waren schon immer eine der grossen Herausforderungen für effizientes Testing. Gestiegene Anforderungen an Datenschutz, wachsende Cyberkriminalität und zunehmende Branchenregulierungen erhöhen die Komplexität zusätzlich.
Das Testdatenmanagement und im Besonderen die Bereitstellung synthetischer Testdaten wird in naher Zukunft noch wichtiger, als es heute bereits ist. Auch die Technologie schreitet in grossen Schritten voran.
Die wachsenden Möglichkeiten von KI-Lösungen zur Erstellung synthetischer Daten kommen hier gerade rechtzeitig. Die grossen Herausforderungen zur Bereitstellung adäquater Testdaten werden dadurch jedoch noch nicht in einem Wisch gelöst. Der Aufbau von KI-Kompetenzen und die Einschätzung des technologischen Fortschritts liegen unser Erachtens im Zentrum für nachhaltige und sichere Strategien zur Bereitstellung von Testdaten.
Als Ihr Schweizer Partner für Softwarequalität und Automation sind wir stets am Puls der neuesten Markttrends und lassen unsere Erkenntnisse laufend in unsere Beratung und Unterstützung einfliessen.
Sie möchten ihr Testdatenmanagement auf den neusten Stand bringen? Wir freuen uns auf einen ersten Austausch.
Sie möchten unsere Expertise nutzen und technologische Innovationen umsetzen?
Haben Sie eine Frage oder suchen Sie weitere Informationen? Geben Sie Ihre Kontaktinformationen an und wir rufen Sie zurück.