Gründe, warum Testdatenmanagement (TDM) wichtig ist

IBM Hub für Big Data und Analytics Website zitierte eine Fallstudie, in der ein US-Versicherungsunternehmen schätzte, dass 15 % seines Testaufwands lediglich auf die Sammlung von Testdaten für das Backend- und das Frontend-System bestanden.

Um die Studie zu zitieren: „Für jede Lieferung von 14 Millionen US-Dollar durch das Softwareentwicklungs- und QA-Team wurden versteckte 3 Millionen US-Dollar für das Datenmanagement ausgegeben. Alle Datenverwaltungsaufgaben umfassten das Verschieben von Daten aus Back-End-Systemen zur Identifizierung von Testdaten, Datenmaskierung sensibler Daten, übersprungene Produktionsfehler aufgrund der Nichtverfügbarkeit korrekter Testdaten, Manipulation von Daten für verschiedene Szenarien, Speicherung von Testdaten.“

Das Testdatenmanagement für das Unternehmen war zu einem großen Problem geworden und musste gelöst werden. So wurde der komplette Prozess überprüft und bewertet. Schließlich wurde ein Prozess für das Testdatenmanagement implementiert. Dies half der Versicherungsgesellschaft, jährlich 400.000 USD an Testkosten einzusparen.

Das obige Beispiel zeigt deutlich die Bedeutung und Notwendigkeit eines ordnungsgemäßen Testdatenmanagements (TDM), auch bekannt als Software-Testdatenmanagement.

Was sind Testdaten?

Durch Wikipedia– „Testdaten sind Daten, die speziell für die Verwendung in Tests identifiziert wurden, typischerweise von einem Computerprogramm.“

Die Testdaten, die das Testteam zum Testen einer Anwendung benötigt, können zweierlei Art sein:

1. Statische Daten- Dies sind die Daten, die sich nach der Aufzeichnung nicht ändern und in der Regel nicht sensible Daten wie Stadtname, PIN-Code usw. enthalten.

2. Dynamische Daten (Transaktionsdaten)- Diese Daten können sich nach der Erfassung ändern und umfassen in der Regel sensible Daten wie die Krankengeschichte des Kunden, Anzahl der Mitarbeiter etc.

Für Testzwecke wird normalerweise eine Mischung aus statischen und dynamischen Daten benötigt. Daten können in unterschiedlichen Formaten, unterschiedlichen Datenbanken und unterschiedlichen Typen vorliegen. Das Testen kann Daten aus verschiedenen Quellen gemäß einer bestimmten Anforderung der zu testenden Anwendung (AUT) erfordern.

Meistens handelt es sich bei den zum Testen verwendeten Daten um Produktionsdaten, da sie alle Arten unterschiedlicher Daten abdecken, denen eine Anwendung in einer Live-Umgebung begegnen kann.

Stellen Sie sich nun ein Szenario vor, in dem die Transaktionsdaten mit Kreditkartennummer, Handynummer und Bankanmeldedaten dem Testteam zu Testzwecken zur Verfügung gestellt werden.

Im Falle einer missbräuchlichen Verwendung solcher kritischen und risikoreichen Daten sind rechtliche Schritte durch die Kunden unumgänglich. Dieser Verstoß wird nicht nur zu finanziellen Verlusten führen, sondern auch das Vertrauen der Kunden wird verloren gehen, was schließlich zu katastrophalen Schäden für das Geschäft der Bank führen wird.

Wie also testet man in einem solchen Fall eine geschäftskritische Bankanwendung ohne Produktionsdaten, wenn falsche Daten zu entmutigenden Produktionsfehlern führen?
Die Antwort ist Datenmaskierung.

Wir werden die Produktionsdaten verwenden, nachdem wir die sensiblen Informationen maskiert oder ausgeblendet haben. Diese Maskierung fällt unter TDM (Test Data Management), wo wir beabsichtigen, die sensiblen Produktionsdaten von den Testdaten getrennt zu halten.

Lassen Sie uns etwas mehr über Testdatenmanagement (TDM) verstehen.

Was ist Testdatenmanagement?

An Informatikfinden wir die Definition von TDM als „die Erstellung von Nicht-Produktionsdatensätzen, die die tatsächlichen Daten einer Organisation zuverlässig nachahmen, damit System- und Anwendungsentwickler strenge und gültige Systemtests durchführen können.“

Einfach ausgedrückt ist Testdatenmanagement (TDM) ein Prozess, der Managementplanung, Design, Speicherung und Abruf von Testdaten umfasst. TDM stellt sicher, dass die Testdaten von hoher Qualität, angemessener Menge und ordnungsgemäßem Format sind, und erfüllt die Anforderung, Daten zeitnah zu testen.

Um Testdaten zu erstellen, gibt es drei Ansätze:

1. Produktionsdaten kopieren

ich. Die eigentlichen Produktionsdatenbanken werden bei diesem Ansatz kopiert oder geklont.

ii. Aufgrund der Größe der Produktionsdatenbank ist dies ein zeitaufwändiger Prozess.

iii. Dadurch entsteht eine Abhängigkeit von der Produktionsumgebung, das Test- und Entwicklungsteam kann die Testdaten nicht selbst erstellen.

iv. Es ist ein Prozess mit hohem Risiko, da die sensiblen Daten der Kunden auf dem Spiel stehen. Wenn es zu einer Datenschutzverletzung kommt, können rechtliche Verfahren das Geschäft stark behindern.

2. Erzeugung synthetischer Testdaten

ich. Ein Datenbankadministrator (DBA) erstellt und führt SQL-Abfragen für die Datenbanktabellen aus, um die erforderlichen Testdaten zu sammeln.

ii. Das Fachwissen des DBA ist entscheidend, umfassende Kenntnisse des Schemas, der Beziehungen und der Datenbank sind erforderlich.

iii. Es ist zeitaufwändig, da das Schreiben und Ausführen von Abfragen in DB einige Zeit in Anspruch nehmen kann.

iv. DBA muss alle Negativ- und Grenzwertbedingungen auch in Testdaten zum Testen hinzufügen.

3. Erstellung von Datenteilmengen

ich. Anders als beim Klonen von Daten werden verschiedene Teilmengen der Produktionsdatenbank kopiert und nicht die gesamte Datenbank.

ii. Dieser Ansatz ist zeiteffizient, da eine Teilmenge kopiert wird, sodass nicht die gesamte Datenbank involviert ist.

iii. Fachkundige Personen müssen entscheiden, welche Daten kopiert werden sollen.

iv. Die Datenmaskierung ist ein wichtiger Schritt bei der Erstellung von Datenteilmengen. Die sensiblen Daten werden maskiert, um Datenmissbrauch auszuschließen.

v. Die Erstellung von Datenteilmengen ist der am häufigsten verwendete Datenerstellungsansatz im Testdatenverwaltungsprozess. Die anderen beiden Ansätze werden normalerweise aufgrund der damit verbundenen Kosten und der Datensensibilität vermieden.

Schritte zum Testdatenmanagement

1. Analyse des Datenbedarfs

Diese Testdaten könnten auf verschiedenen Schnittstellen der Anwendung benötigt werden. Auch Format und Art der Daten können auf diesen Schnittstellen unterschiedlich sein.

Der erste Schritt besteht also darin, die Datenanforderungen der Organisation anhand der auszuführenden Testfälle zu verstehen. Dies erfordert Kenntnisse der Domäne, des Geschäfts und aller Anwendungen, die am gesamten End-to-End-Prozess beteiligt sind.

Beispiel – ein Banksystem, es wird ein CRM-System haben, eine Finanzanwendung für Transaktionen, die mit Messaging-Systemen für SMS und OTP gekoppelt wird. Hier sollte die Person, die die Testdatenanforderungen analysiert, über Fachkenntnisse in den Bereichen Banking, CRM und Finanzanwendungen und auch über Messagingsysteme verfügen.

2. Erstellung von Datenteilmengen

Wie wir oben gesehen haben, ist dies die am weitesten verbreitete Datenerstellungstechnik. Die realen Produktionsdaten werden kopiert, um verschiedene Teilmengen bereitzustellen, die alle Testdatenanforderungen erfüllen.

Die Genauigkeit, Eindeutigkeit, Konsistenz, referenzielle Integrität all dieser Merkmale der Testdaten sollte beim Kopieren der Daten beachtet werden. Daten für Grenzwert- und Negativtests werden auch erstellt, indem die Teilmengen modifiziert oder einige Daten hinzugefügt werden.

3. Datenmaskierung

Wir haben es mit sensiblen Produktionsdaten zu tun, es ist wirklich wichtig, Kundendaten wie Krankengeschichte, Bank-Login-Informationen, Telefonnummer, Kredit-/Debitkarteninformationen usw. zu verbergen. Jedes Versäumnis, sensible Daten zu schützen, kann zu Compliance- und regulatorischen Problemen führen.

4. Automatisierung und Werkzeuge

Bei TDM kann die Automatisierung verwendet werden, um die oben genannten Aufgaben des Datenklonens, der Datengenerierung und der Datenmaskierung durchzuführen. Wenn alle diese Schritte manuell durchgeführt werden, sind sie sehr zeitaufwändig und fehleranfällig, da wir mit riesigen Datenmengen arbeiten.

Es können Automatisierungsskripte erstellt oder lizenzierte Testdatenmanagement-Tools wie Informatica, Delphix DATPROF etc. verwendet werden. Fortschrittliche Tools helfen auch bei der Berichterstellung, damit die Organisation bessere Entscheidungen über Testdaten treffen kann.

5. Wartung und Aktualisierung

Es gibt ein zentrales Repository der Testdaten, das Zugriffsregeln und Berechtigungen enthält. Die Testdaten müssen regelmäßig aktualisiert werden, um die neuesten und relevantesten Testdaten widerzuspiegeln. Wenn mehrere Module in einem Projekt dasselbe Testdaten-Repository verwenden, ist ein ordnungsgemäß verwalteter Aktualisierungszyklus eine Notwendigkeit.

Neben der Datenaktualisierung ist auch die Pflege des Repositorys sehr wichtig. Im Laufe der Zeit können die Testdaten veraltet oder überflüssig werden. Die Testdaten müssen ordnungsgemäß gepflegt werden, damit sie im Laufe der Zeit konsistent, korrekt und verfügbar bleiben.

Andernfalls belegen solche Daten unnötigen Speicherplatz im Repository und die Suche nach relevanten Testdaten kann länger dauern als erwartet.

Warum Testdatenmanagement so wichtig ist

Ein dediziertes Testdatenmanagementteam und ein systematischer TDM-Prozess haben immense Vorteile für das Unternehmen und den Kunden.

Nachfolgend sind die Punkte aufgeführt, die die Bedeutung von TDM verdeutlichen.

1. Erhöhte Testdatenabdeckung: TDM hilft bei der Rückverfolgbarkeit der Testdaten zu Testfällen und dann zu Anforderungen. Dies bietet eine Vogelperspektive der Testdatenabdeckung und der Fehlermuster.

2. Kostenreduzierung durch frühzeitiges Finden der Fehler: Wie im vorherigen Punkt zu sehen ist, gibt es eine bessere Testdatenabdeckung und die Rückverfolgbarkeit liefert ein klareres Bild. Dies hilft, die Fehler frühzeitig zu finden, und die Kosten für Produktionskorrekturen werden reduziert.

3. Daten werden basierend auf dem Testtyp bereitgestellt: Ein einzigartiges Merkmal, das ein TDM-Prozess bietet, ist, dass die Daten an einem Ort verwaltet werden. Aus demselben Repository können geeignete Daten für verschiedene Testtypen bereitgestellt werden – Funktional, Integration, Leistung usw. Dies reduziert redundante Datenkopien und somit die Speicherkosten.

4. Datenkonformität und -sicherheit: Es gibt strenge Vorschriften und Compliance-Regeln durch die Regierung. und Behörden und diese müssen von allen befolgt werden. Data Masking ist fester Bestandteil eines TDM-Prozesses, Datensicherheit und Compliance haben höchste Priorität.

5. Wiederverwendbarkeit von Daten: Die Wiederverwendbarkeit ist das wertvollste Merkmal des TDM, da dies zu einer weiteren Reduzierung der Kosten beiträgt. Die wiederverwendbaren Daten werden aussortiert und in einem zentralen Repository für die zukünftige Verwendung archiviert. Wann immer der Bedarf nach wiederverwendbaren Daten entsteht, können die Tester auf die archivierten Daten zurückgreifen.

6. Um Kopien der Daten zu reduzieren: In einem Projekt können mehrere Teams mehrere Kopien derselben Produktionsdaten für ihre eigene Verwendung erstellen. Dadurch werden redundante Kopien derselben Daten und Speicherplatz missbraucht. Wenn ein TDM verwendet wird, wird das gleiche Repository von allen Teams verwendet und daher wird der Speicherplatz sorgfältig genutzt.

7. Vertrauen des Kunden: Wesentliche Vorteile des TDM-Verfahrens sind die Datenqualität und die sehr gute Datenabdeckung. Mit diesen Qualitäten, die während der Testphase vorhanden sind, werden die Fehler frühzeitig aufgedeckt. Das Ergebnis ist eine stabile und qualitativ hochwertige Anwendung, die minimale Produktionsmängel aufweist. Das Vertrauen des Kunden in die Organisation steigt, wenn ein Kunde solch verlockende Ergebnisse der Einführung eines TDM-Prozesses sieht.

Fazit

Die Testdatenerstellung wird vom Testteam durchgeführt, normalerweise hat das Testteam keinen direkten Zugriff auf die Produktionsdaten. Auch wenn die Produktionsdaten bereitgestellt werden, handelt es sich um einen großen Teil der Rohdaten. Diese Rohdaten können nicht direkt für Testzwecke verwendet werden, es ist ein erheblicher Aufwand erforderlich, um die Daten für die Verwendung zu sortieren, zu verwalten und anzupassen.

Qualitativ hochwertige Daten sind die Grundvoraussetzung, wenn wir qualitativ hochwertige Softwaretests planen. Eine durchschnittliche Datenqualität liefert nach dem Test nur mittelmäßige Ergebnisse, und das will niemand. Um all diese Probleme zu lösen, ist Testdatenmanagement die beste Lösung.

Mit Agile und DevOps werden die Testzyklen immer kleiner. Innerhalb dieses Zyklus qualitativ hochwertige Daten zu erstellen und gleichzeitig Softwaretests durchzuführen, kann sehr komplex werden. Um Kosten, Zeit und Aufwand im Testzyklus zu reduzieren, scheint das Testdatenmanagement eine ideale Lösung mit sichtbaren Ergebnissen zu sein. Dies schafft ein Gefühl der Zufriedenheit und des Vertrauens beim Kunden, und bessere Geschäfte sind das Ergebnis.

Schauen Sie sich ein führen über das Was, Wie und Warum von datengetriebenem Testen im Detail.

Similar Posts

Leave a Reply

Your email address will not be published.