5 Min. Lesezeit

Shift Left but Right

Shift Left but Right

In der modernen Softwareentwicklung spielen Testdaten eine zentrale Rolle. Sie ermöglichen es, Datenfehler frühzeitig zu identifizieren und die Qualitätssicherung zu optimieren. Durch den Einsatz von KI und Low-Code-Lösungen wird die Testautomatisierung effizienter gestaltet. Eine enge Zusammenarbeit zwischen IT und Fachabteilung ist entscheidend, um Datenprozesse zu harmonisieren und die Qualität zu steigern.

Podcast zu Daten und Datenprozesse

In dieser Episode habe ich mich mit Joshua und Hermann über Qualität, Testautomatisierung und Agilität unterhalten. Hermann erklärte, wie wichtig es ist, Datenfehler frühzeitig zu erkennen und wie man systematisch Soll-Ergebnisse erzeugen kann, um sie mit Ist-Ergebnissen zu vergleichen. Er betonte, dass es oft an passenden Tools fehlt, um diese Tests effizient durchzuführen. Joshua ergänzte, dass ihre Methoden Unternehmen dabei helfen, Daten aus verschiedenen Systemen zu harmonisieren und zu testen. Wir haben auch über die Rolle von Künstlicher Intelligenz im Testprozess gesprochen und wie sie helfen kann, Vorschläge für Tests zu machen und die Zusammenarbeit zwischen IT und Fachabteilungen zu verbessern. Zum Schluss gab es noch Einblicke in die Herausforderungen und Vorteile der Visualisierung von Datenprozessen, um die Qualitätssicherung zu optimieren.

“Das Problem ist, du hast ja Datenfehler. Das taucht oft viel zu spät auf. D.h. Du möchtest eigentlich auch schon während der Entwicklung Daten testen.” Hermann Friebel

Hermann Friebel, seit 2001 Gründer und Geschäftsführer der FINARIS Financial Software Development GmbH, verfügt über eine fast vier Jahrzehnte umfassende Expertise in der Softwareentwicklung und -testung in den Bereichen Wertpapierhandel, Risiko-Controlling.

Seit seinem Einstieg bei FINARIS im Jahr 2015 hat sich Joshua Claßen als Senior Consultant für Backend-Testautomatisierung komplexer Bankanwendungen etabliert. Durch seine Arbeit mit RapidRep, dem Vorläufer von SQACE, sammelte er umfassende Erfahrungen im automatisierten Testen von Daten und in der Datenqualitätssicherung bei verschiedenen Kunden.

Highlights der Episode

  • Die Herausforderungen bei der Erkennung von Datenfehlern und deren frühzeitiger Test im Entwicklungsprozess sind erheblich.
  • Die Methode der Soll-Datengenerierung deckt häufig nur 70% der Fälle ab, weshalb eine Anreicherung der Testdaten notwendig ist.
  • Die Zusammenarbeit zwischen IT und Fachabteilung ist entscheidend, um Datenprozesse und -qualität zu verbessern.
  • Eine Methodik, die es ermöglicht, Datenprozesse systematisch zu testen, ohne eine Doppelimplementierung vorzunehmen, ist vorteilhaft.
  • Visuelle Darstellungen und Low-Code-Lösungen erleichtern die Zusammenarbeit zwischen Business und IT.

Effiziente Testautomatisierung und Datenqualität

Die Herausforderung der Datenfehler

Datenfehler werden in vielen Unternehmen oft erst spät erkannt. Zwar hat die IT-Abteilung in der Regel den technischen Zugang zu den Daten, jedoch fehlt häufig das nötige Business-Know-how, um Datenfehler frühzeitig zu identifizieren. Meist entwickelt die Fachabteilung spezifische Testfälle und überprüft diese, was jedoch häufig umständlich und ineffizient ist.

Systematische Soll-Ergebnisse als Lösung

Eine vielversprechende Methode zur Lösung dieses Problems besteht darin, systematisch Soll-Ergebnisse zu erzeugen und diese mit den Ist-Ergebnissen zu vergleichen. Diese Technik deckt jedoch oft nur etwa 70% der relevanten Fälle ab. Um eine vollständige Abdeckung zu gewährleisten, sollten die verbleibenden 30% durch generierte Testdaten ergänzt werden. So kann eine nahezu umfassende Abdeckung aller möglichen Szenarien erreicht werden.

Kollaboration zwischen IT und Fachabteilung

Eine enge Zusammenarbeit zwischen IT und Fachabteilung ist essenziell, um die Erkennung von Datenfehlern zu verbessern. Durch den Einsatz spezieller Tools können Mitarbeitende aus der Fachabteilung aktiv an den Datenprozessen arbeiten und deren Weiterentwicklung unterstützen. Diese Zusammenarbeit fördert nicht nur die Qualität der Testergebnisse, sondern auch das gegenseitige Verständnis zwischen IT und Fachbereichen, was langfristig zu besseren Datenprozessen führt.

Nutzen von Low-Code-Komponenten

Der Einsatz von Low-Code-Komponenten trägt zur Vereinfachung des Testprozesses bei. Mit diesen Tools lassen sich viele Aufgaben schneller und ohne tiefgehende technische Kenntnisse umsetzen. Besonders in großen Unternehmen mit vielen Abteilungen, in denen häufig ähnliche Probleme auftreten, helfen Low-Code-Komponenten dabei, redundante Lösungen zu vermeiden und Prozesse effizienter zu gestalten.

Der Einfluss von KI auf die Testautomatisierung

Künstliche Intelligenz (KI) hat das Potenzial, die Testautomatisierung zu revolutionieren. KI kann dazu beitragen, automatisch Vorschläge für Tests zu generieren oder Code zu erstellen, was den Prozess effizienter macht und wertvolle Zeit spart. Dabei bleibt wichtig, realistisch zu bleiben: KI-gestützte Systeme erleichtern die Arbeit und optimieren Abläufe, doch sie übernehmen nicht alle Aufgaben vollständig autonom.

Häufige Fragen zum Thema Testdaten

Wie stellt man sicher, dass Testdaten aktuell und relevant bleiben?

Um sicherzustellen, dass Testdaten aktuell und relevant bleiben, ist regelmäßige Überprüfung und Aktualisierung entscheidend. Dabei sollten Testdaten regelmäßig mit echten Daten abgeglichen und an Änderungen in den Anforderungen oder in der Software angepasst werden. Automatisierte Tests können helfen, die Testdaten dynamisch zu generieren und sicherzustellen, dass sie immer den aktuellen Nutzungsszenarien entsprechen. Eine enge Zusammenarbeit mit den Fachbereichen unterstützt zudem, relevante Testdaten zu identifizieren und zu erstellen. So bleibt die Qualität der Tests gewährleistet.

Wann ist es sinnvoll, auf synthetische Testdaten anstelle von echten Produktionsdaten zurückzugreifen?

Es ist sinnvoll, auf synthetische Testdaten zurückzugreifen, wenn der Schutz der Privatsphäre wichtig ist oder wenn echte Produktionsdaten nicht verfügbar sind. Synthetische Testdaten können auch verwendet werden, um spezifische Szenarien zu testen, die mit echten Daten schwer zu reproduzieren sind. Zudem ermöglichen sie eine kostengünstige und sichere Durchführung von Tests ohne Risiko von Datenlecks oder -missbrauch. Bei der Entwicklung und dem Testen neuer Funktionen sind sie oft flexibler einsetzbar als echte Produktionsdaten.

Was sind die häufigsten Herausforderungen im Testdatenmanagement?

Die häufigsten Herausforderungen im Testdatenmanagement sind die Sicherstellung der Datenqualität und -integrität. Oft fehlt es an realistischen Testdaten, die relevante Szenarien abdecken. Datenschutzvorschriften machen es schwierig, echte Daten zu verwenden, während das Erzeugen von synthetischen Testdaten zeitaufwändig sein kann. Zudem ist die Verwaltung und Bereitstellung der Testdaten für verschiedene Testumgebungen oft unkoordiniert. Letztlich führt ein Mangel an Automatisierung zu ineffizienten Prozessen, die den Testzyklus verlängern.

Welche verschiedenen Typen von Testdaten gibt es und wie werden sie verwendet?

Es gibt verschiedene Typen von Testdaten, die in der Softwareentwicklung verwendet werden. Dazu gehören: 1. Echtzeitdaten: Reale Daten aus der Produktion zur genauen Simulation. 2. Stapel- oder Dummy-Daten: Zufällig generierte Daten für umfangreiche Tests. 3. Grenzwertdaten: Testdaten, die an den Grenzen der Eingabewerte liegen. 4. Positives und negatives Testen: Daten, die korrekte und fehlerhafte Eingaben repräsentieren. Diese Testdaten helfen, die Funktionalität, Sicherheit und Leistung von Softwarelösungen effektiv zu prüfen.

Was versteht man unter der Pseudonymisierung von Testdaten?

Pseudonymisierung von Testdaten bedeutet, personenbezogene Daten so zu verändern, dass sie nicht mehr einer bestimmten Person zugeordnet werden können, ohne zusätzliche Informationen. Bei Testdaten werden Identifikationsmerkmale durch fiktive Werte ersetzt, um den Datenschutz zu gewährleisten. Dadurch können Testergebnisse analysiert werden, ohne die Privatsphäre der betroffenen Personen zu gefährden. Die Pseudonymisierung ist besonders wichtig in der Softwareentwicklung und Datenanalyse, um rechtlichen Vorgaben zu entsprechen.

Was ist Testdatenanonymisierung und warum ist sie wichtig?

Testdatenanonymisierung ist der Prozess, bei dem persönliche oder sensible Informationen in Testdaten maskiert oder verändert werden, um die Identität von Personen zu schützen. Sie ist wichtig, um Datenschutzgesetze einzuhalten und Vertrauen zu schaffen, während Entwickler und Tester realistische Daten verwenden können, ohne die Privatsphäre zu gefährden. Durch die Anonymisierung können Unternehmen sicherer arbeiten und gleichzeitig die Qualität ihrer Software gewährleisten.

Was sind Testdatengeneratoren und wie erstellen sie Testdaten?

Testdatengeneratoren sind Tools, die automatisch Testdaten erstellen, um Softwareanwendungen zu testen. Sie generieren strukturierte Daten in verschiedenen Formaten, basierend auf definierten Regeln oder Vorlagen. Dies ermöglicht es Entwicklern, realistische Szenarien zu simulieren, ohne dass sie manuell Daten eingeben müssen. Testdaten können zufällig oder regelbasiert erzeugt werden, um spezifische Anforderungen zu erfüllen. Dadurch sparen diese Generatoren Zeit und minimieren Fehlerquellen, während sie sicherstellen, dass die getesteten Systeme in Echtzeit funktionieren.

Was versteht man unter synthetischen Testdaten und wie werden sie erstellt?

Synthetische Testdaten sind künstlich generierte Daten, die zur Analyse und Validierung von Softwareanwendungen verwendet werden. Sie imitieren reale Daten, ohne vertrauliche Informationen zu enthalten. Die Erstellung erfolgt durch Algorithmen, die Muster und Strukturen echter Daten nachahmen. Dies kann durch Techniken wie Datenanonymisierung, statistische Modellierung oder Erstellung durch Skripte geschehen. Synthetische Testdaten ermöglichen es, Tests durchzuführen, ohne Datenschutzrisiken einzugehen, und sind besonders nützlich für die Softwareentwicklung und Qualitätssicherung.

Was sind Testdaten und wie werden sie verwendet?

Testdaten sind spezifische Daten, die verwendet werden, um Softwareanwendungen während des Testprozesses zu überprüfen. Sie helfen dabei, die Funktionsweise, Leistung und Sicherheit einer Anwendung zu bewerten. Testdaten werden erstellt, um verschiedene Szenarien abzubilden, einschließlich Normal- und Ausnahmebedingungen. Sie können manuell generiert oder automatisch erstellt werden. Die Verwendung von Testdaten ermöglicht es Testern, Fehler zu identifizieren und sicherzustellen, dass die Software die gewünschten Anforderungen erfüllt, bevor sie veröffentlicht wird.

Business Analyst mit Qualitätsblick

Business Analyst mit Qualitätsblick

Die Integration von Shift Left und Shift Right in den Entwicklungsprozess bietet eine ganzheitliche Qualitätssicherung. Shift Left fördert das...

Weiterlesen
Daten und Datenprozesse testen

Daten und Datenprozesse testen

Die Integration von Qualität in den Softwareentwicklungsprozess sollte von Anfang an Priorität haben. Die Erfahrungen aus dem Testing-Bereich können...

Weiterlesen
Trends im Testing

Trends im Testing

Die Weiterentwicklung des Software-Testings steht zunehmend im Zeichen von Künstlicher Intelligenz (KI). Dabei lassen sich zwei zentrale Bereiche...

Weiterlesen