Pre-Production als Basis für die Testdatenbeschaffung

Best-Practice: Testdatenbeschaffung
im Rahmen kontinuierlicher Software-Entwicklung (TEIL 1/3)

Durch die massive Zunahme datengestützter (Data-Enhanced Business Model) oder auch datengetriebener (Pure Data-Driven Business Model) Geschäftsmodelle spielen die IT und damit insbesondere die Softwareentwicklung eine zentrale Rolle für die Bereitstellung der Produkte und damit den geschäftlichen Erfolg. Die benötigte Software muss dabei regelmäßig an die sich ändernden Anforderungen des Marktes angepasst und auf dem Stand der Technik gehalten werden. Damit ist die Softwareentwicklung zur Daueraufgabe – continuous development – geworden.

Wenn viel entwickelt wird, muss folgerichtig auch viel getestet werden, denn keine Software darf ungetestet zum Einsatz kommen. UBS Hainer konzentriert sich mit seinen Produkten auf diesen Bereich des Software-Testing und hat sich dabei auf die Beschaffung der Testdaten spezialisiert. - Es folgt ein Überblick zur Best-Practice hinsichtlich der Beschaffung optimierter Testdaten für das Software-Testing. The following is an overview of best practice with regard to obtaining optimized test data for software testing.

 

PART 1 – Pre-Production as the basis for test data procurement

Ausgangslage: Das Release Management bestimmt den Zeitplan und die Richtlinien, nach denen produktive Anwendung weiterentwickelt, verbessert, ergänzt oder an neue Anforderungen angepasst werden. Dies ist heute ein kontinuierlicher Entwicklungsprozess. 

Natürlich muss jede Änderung einer Applikation getestet werden. Dies erfolgt verständlicherweise nicht im Live-Betrieb, sondern in einer Testumgebung. Für diese Tests brauchen die Entwickler passende Testdaten. Wenn sich nun mehrere Entwickler eine Testumgebung teilen und dort die gleichen Testdaten nutzen, kann es schnell zu Behinderungen kommen.

Die gegenseitige Beeinflussung der Tests und die Beschädigung und Verfälschung von Testdaten kann zu ineffektivem und damit erfolglosem Testen führen. Diese Situation existiert bis heute noch in erstaunlich vielen Unternehmen. 

Anforderungen: Die Integrität der Testdaten, darf durch die parallele Nutzung auf keinen Fall beschädigt werden, sonst leidet die Qualität der Tests. Das Software Testing muss zudem sicherstellen, dass neu hinzugefügte oder modifizierte Funktionen die bestehenden Features nicht beeinträchtigen oder gar entfernen.

Daher benötigt die Qualitätssicherung beides:

  • möglichst realistische, sprich produktionsnahe Daten
  • spezifische Testfalldaten für die neuen Funktionen.

 

Wie lässt sich diese Herausforderung meistern? Welche Vorgehensweise ist hier – Stand heute – Best-Practice?

Pre-Production als Basis der Testdaten: Die produktive Systemlandschaft besteht in der Regel aus verschiedenen Anwendungen und Datenbanken, oftmals verteilt auf unterschiedliche Plattformen und Architekturen. Um sicherzustellen, dass der neue Release später auch mit produktiven Daten zurechtkommt, empfiehlt sich als Datenbasis eine konsistente Kopie der produktiven Systeme.

Diese Kopie der realen Produktion wird meist Vorproduktion (Pre-Production) genannt. Mit ihrer Hilfe kann der kritische Prozess der Herstellung einer zeitlich und fachlich konsistenten Datenbasis durchgeführt werden. Die Vorproduktion kann auch als Trennung im Testdatenbereitstellungsprozess zwischen anonymisierten und nicht-anonymisierten Daten darstellen. Vor Nutzung der Daten im Testprozess kann hier eine zentrale und konsistente Maskierung durchgeführt werden.

 

Abb – Das produktive System (PROD) wird 1:1 kopiert. Die so entstehende Vorproduktion (PRE-PROD) bietet eine realistische Datenbasis für die Entwicklungsumgebung (DEV) und die Tests (TEST).

Voraussetzung für realitätsnahe Daten ist jedoch, dass diese Datenbasis häufig genug durch die jeweils aktuellen Produktionsdaten ersetzt wird. Wenn sie zum Beispiel wöchentlich oder täglich oder besser nächtlich automatisch aktualisiert wird, kann sie als Datenquelle für alle Test- und Entwicklungsarbeiten dienen. Alle mit dieser regelmäßigen Aktualisierung verbundenen Prozesse können heute konfiguriert und automatisiert durchgeführt werden.

Fazit: 

Die für das kontinuierliche Testen benötigten realitätsnahen Testdaten werden gewonnen, indem die aktuelle Produktion kopiert wird und damit als Datenbasis zur Verfügung steht. Wenn diese sogenannte Pre-Production regelmäßig aktualisiert wird, können Applikationen zu jedem Zeitpunkt realistisch getestet werden, ohne den Live-Betrieb zu beeinträchtigen.

AKTUELLE BEITRÄGE

XDM – Agiles Tool für agile Teams: Was bedeutet das?

Die zunehmende Notwendigkeit für Continuous Deployment rückt auch zwangsläufig das kontinuierliche Testen in den Fokus. Wir fragen Christoph Stock, Manager für Produktentwicklung bei UBS-Hainer: Lässt sich das denn bei den benötigten Datenmengen und -qualitäten überhaupt noch ohne Testdatenautomation umsetzen?

MEHR »

Einführung der Testdatenautomation: Wie man alle Beteiligten ins Boot holt

Ein agiles Tool zur automatisierten Beschaffung von Testdaten tangiert verschiedene Fachbereiche im Unternehmen. Daher müssen im Vorfeld der Implementierung alle Beteiligten vom Nutzen der Maßnahme überzeugt sein. Dies stellt sich zuweilen als komplexe Aufgabe dar. UBS Hainer unterstützt bei der Koordinierung und Beschleunigung dieses Prozesses.

MEHR »

Qualitativ hochwertige Testdaten werden immer wichtiger

Noch vor 20 Jahren arbeitete IT bei der Interaktion mit dem Endverbraucher weitgehend im Hintergrund. Heute hat sich das grundlegend geändert. IT ist viel sichtbarer geworden, und der Umgang mit Benutzeroberflächen gehört inzwischen zum Standardrepertoire jedes Verbrauchers. Was bedeutet das für die Software-Entwicklung?

MEHR »

Grünes Licht für automatisiertes
Testdatenmanagement

Nutzen Sie unsere kostenlose Erstberatung, um schnell und unkompliziert Ihre optimalen und individuellen Optionen zu ermitteln!

Green traffic light