Parasoft C/C++test 2022.2 unterstützt das neue MISRA C:2012 Amendment 3 und eine Entwurfsversion von MISRA C++ 202x. Erfahren Sie mehr >>

Was ist Testdatenmanagement?

Von Jeffrey Peeples

30. Juni 2022

7  min lesen

Testdatenmanagement (TDM) ist die Funktion, die Testdaten erstellt, verwaltet und an Anwendungsteams liefert. Hier lernen Sie bemerkenswerte Arten von Testdaten und Best Practices für TDM kennen.

Überblick

Testdatenmanagement (TDM) ist ein integraler Bestandteil des modernen DevOps-Lebenszyklus. Aber die Umstellung auf agile Methoden nach links ist die neue Normalität in der heutigen Entwicklungsumgebung. Das bedeutet, weg von traditionellen Tools hin zu Lösungen, die sensible Daten schützen, Prozesse optimieren und die Fehlererkennung beschleunigen und rationalisieren.

Is Ihre Testdaten-Management-Strategie Entwicklungsrückstand? Vielleicht wird Ihre Markteinführungszeit durch die Anforderung sehr spezialisierter Fähigkeiten behindert, die nicht alle Mitglieder Ihres Entwicklungsteams verfeinert haben. Die zeitaufwändige Natur von TDM macht seine Modernisierung im heutigen, auf Testautomatisierung ausgerichteten Softwareentwicklungslebenszyklus so entscheidend.

Lassen Sie uns die Vor- und Nachteile von TDM-Prozessen, Best Practices, Herausforderungen, die besten Tools für den Job behandeln und wie automatisiertes Testen Ihre Softwaretests für bessere Produkte, zufriedenere Entwicklungsteams, verbesserte Testlebenszyklen und niedrigere Kosten optimieren kann.

Dieser Blog beantwortet die folgenden Fragen und mehr.

  1. Was ist Testdatenmanagement?
  2. Wie verwalten Sie Testdaten?
  3. Warum ist Testdatenmanagement wichtig?
  4. Was ist der Lebenszyklus des Testdatenmanagements?
  5. Was ist TDM und TEM?
  6. Was sind TDM Best Practices?
  7. Was sind die besten TDM-Tools?

Bild von zwei Programmierern an einem Computer, die an TDM-Prozessen arbeiten.

Alles über Testdaten-Management-Strategie

Durch die Verschiebung nach links wird der Fokus immer mehr auf die Verkürzung der Markteinführungszeit, die Senkung der Kosten, die Datensicherheit, den Datenschutz und die schnellere Betriebszeit von Anwendungen gelegt. Beginnen wir also mit den Grundlagen: Was ist Testdatenmanagement?

Mit TDM erstellen, verwalten und implementieren Entwickler und Tester Testdaten für Anwendungsteams. Qualitativ hochwertige Testfälle, Testabdeckung und Testdatenmanagementprozesse können zur agilen Entwicklung beitragen. Darüber hinaus können Automatisierungstools Ihrem Team dabei helfen, die Anforderungen an Testdaten zu erfüllen.

Schnellere Bereitstellung hochwertiger Software mit simulierten Diensten und Testdatenmanagement.

Wie verwalten Sie Testdaten?

Die Verwaltung von Testdaten erfordert drei Kernelemente in Ihrem Ansatz.

  1. Ausreichend verfügbare Testdaten für die Testautomatisierung
  2. Verfügbare Bandbreite, um die Entwicklungsteams für automatisierte Testlösungen nicht einzuschränken
  3. Möglichkeit, Testdaten bei Bedarf für die Testdatenautomatisierung zu erfassen

Was ist der Lebenszyklus des Testdatenmanagements?

Der Lebenszyklus eines jeden Testdatenmanagementprozesses umfasst 5 Hauptschritte:

  1. Plan. Die Teams stellen Testlisten zusammen, identifizieren Datenanforderungen, ihre Herangehensweise an Testdaten und koordinieren die Dokumentation.
  2. Analysieren. Teams konsolidieren Anforderungen und treffen Entscheidungen darüber, wie Datenerstellung gespeichert, gesichert und abgerufen werden soll.
  3. Design In der letzten Phase vor der Bereitstellung außerhalb der Produktion legen die Teams Datenvorbereitungsstrategien wie synthetische Datengenerierung, Klonen, Datenuntergruppen usw. fest.
  4. Entwickeln. Während der Aufbauphase können Teams ihre Strategien umsetzen und bei Bedarf Datenmaskierung durchführen.
  5. Pflegen. Teams müssen die Testdaten pflegen, um Fehlerbehebungen und Korrekturen zu ermöglichen, während sie auf Anfragen reagieren und Aktualisierungen durchführen.

TDM vs. TEM

Der Begriff TEM steht für Testumgebungsmanagement, beschäftigt sich also mit den Bereichen, in denen Testdaten leben. Die Umgebung sollte stabil, validiert und in der Lage sein, für Fehlerreplikation und Testsituationen verwendet zu werden.

So erstellen Sie eine bessere Testumgebung

Bild der Hände einer Person, die ein Mobiltelefon in der Nähe eines Laptops hält, mit einer digitalen Überlagerung aus einem Schloss, einer Wolke und einem Globus.

Gängige Arten von Testdaten

Es gibt vier Haupttypen von Testdaten, und Entwickler müssen eine Reihe von Strategien und Tools entwickeln, die alle Datentypen berücksichtigen. Die Art der Testdaten, auf die Teams stoßen, fällt normalerweise in eine der folgenden Kategorien.

  • Synthetische Daten. Diese Art von Daten ist hilfreich für Tests neuer Funktionen und stammt aus manuellen Tests. Während es Sicherheitsbedenken zerstreut, fällt es menschlichem Versagen zum Opfer. Es erfordert auch mehr Wissen seitens des Testers in Bezug auf die Testumgebung, Datenbeziehungen und die Daten selbst.
  • Produktionsdaten. Für eine vollständigere Testabdeckung sind Produktionsdaten die beste Option. Dies kann jedoch zu Verletzungen vertraulicher Informationen, höheren Speicherkosten und verringerter Agilität führen. Und es muss während des Testprozesses vor unbeabsichtigten Änderungen geschützt werden.
  • Maskierte Produktionsdaten. Die Datenmaskierung erfordert eine Staging-Umgebung mit ausreichend Speicherplatz, um die referenzielle Integrität nach jeder Art von Datentransformation aufrechtzuerhalten. Dies verlängert die Umgebungsbereitstellung, ermöglicht es aber auch Entwicklungsteams, echte Daten ohne Risiko zu nutzen. Maskierungsdaten stammen aus Nulling, Anagrammierung, Verschlüsselung oder Substitution.
  • Teilmengen von Produktionsdaten. Diese Segmente ermöglichen mehr Agilität, geringere Hardwareanforderungen und niedrigere Kosten. Sie bieten im Vergleich zu vollständigen Kopien keine so umfassende Testabdeckung und können dennoch riskieren, vertrauliche Daten offenzulegen.

Schnellere Bereitstellung hochwertiger Software mit simulierten Diensten und Testdatenmanagement.

Bild von zwei Entwicklern als Tisch mit Computern, die mit Testdatenverwaltungstools arbeiten.

Beste Testdaten-Management-Tools

Datentests erfordern die besten Testdaten-Management-Tools für den Job. Um das beste für Ihre Bedürfnisse zu finden, kommt es auf einige Kriterien an, wie zum Beispiel:

  • Verwendbarkeit
  • Wertversprechen
  • Intuitive Benutzeroberfläche
  • Verfügbare Integrationen
  • Datenwiederverwendbarkeit
  • Datenmaskierung
  • Gezielte Tests und Datensatzgrößen

Traditionelle Tools vs. moderne Lösungen

Herkömmliche TDM-Tools und Testansätze erfordern das Klonen einer Produktionsbasis (einschließlich oder ohne Teilmengen). Dies gefährdet jedoch die Datensicherheit und den Datenschutz, es fehlt an Parallelität und Datenkollisionen, berücksichtigt keine Infrastrukturkosten wie Datenarchivierung oder Komplexität und erfordert immer noch eine Menge spezialisiertes Fachwissen oder Skripting mit synthetischer Datengenerierung.

Stattdessen beseitigt die Nutzung der Datensimulation mit Tools wie Parasoft Virtualize gemeinsame Abhängigkeiten und reduziert so die Komplexität. Es verbessert auch die Fähigkeit eines Teams, seltene Anwendungsfälle und isolierte Testsuiten zu adressieren. Du kannst Lesen Sie mehr über moderne TDM-Ansätze und Datenvirtualisierung in diesem Blog.

Bild einer Person hinter einem digitalen Overlay mit Zahnrädern, Sternen, einem Daumen nach oben, einem Band sowie einem Bleistift und Papier.

TDM Best Practices

Unabhängig von den Datenquellen müssen gute Testdaten bei Bedarf verfügbar, von guter Qualität, konform und realistisch sein. Die Validierung der Datenqualität und mehr geht bei der besten Datenstrategie über die erwarteten Ergebnisse hinaus.

Schreiben Sie ausführliche, hochwertige Testfälle und Code

Während dies selbstverständlich sein mag, je hochwertigere Zutaten Sie verwenden, desto besser wird Ihre Mahlzeit zum Abendessen, oder? Das Gleiche gilt für Testfälle, Code und Tests. Darüber hinaus verbessert das parallelisierende Testen die Geschwindigkeit. Das Erzielen qualitativ hochwertigerer Testergebnisse aus qualitativ hochwertigeren Testdaten ist bei agilen Methoden von entscheidender Bedeutung.

Planung, Wartung und Sicherheit

Die Aufrechterhaltung der Sicherheit von Testdaten ist heutzutage ebenso wichtig wie das Erzielen umsetzbarer Ergebnisse, insbesondere wenn es um die Einhaltung gesetzlicher Vorschriften geht. Die DSGVO schreibt vor, dass Sie keine echten Daten zum Testen verwenden können, weshalb die Datenmaskierung zu einer Schlüsselstrategie geworden ist. Die Planung Ihrer Testumgebung, Teststandardisierung und Datensicherheit verbessert die Projektgeschwindigkeit und -qualität.

Aber Sie können diese Dynamik nicht ohne die richtige Lagerung und Wartung nutzen. Testdatenprüfungen müssen häufig durchgeführt werden, um Genauigkeit, Sicherheit und Datenintegrität zu gewährleisten.

Datenrelevanz und Aktualisierung

Die Nutzung der Daten, die Sie wirklich benötigen, ist entscheidend, wenn es um ein agiles TDM geht. Stellen Sie sich das so vor: Wenn Sie einfach Kleidung aus Ihrem Schrank holen und in Ihren Koffer packen, haben Sie möglicherweise nicht die Artikel, die Sie für Ihre Reise nach Chicago im Dezember benötigen. Auf die gleiche Weise ist es beim Erstellen von Testfällen wichtig zu bestimmen, welche Art von und wie viele Daten Sie für Ihren Testprozess benötigen.

Die Durchführung einer Datenaktualisierung wirkt sich jedoch auch auf deren Relevanz aus. Sie müssen zwar wann immer möglich wiederverwenden, müssen aber keine veralteten oder veralteten Daten aufbewahren, die Sie nicht mehr verwenden können. Löschen Sie irrelevante Daten, um Platz für neue Daten zu schaffen, die weitere Erkenntnisse liefern können.

Automatisierung implementieren

Der Testprozess muss keine lange, mühsame Plackerei sein. Die Automatisierung sich wiederholender Prozesse kann den Entwicklungsdruck mindern und Zeit gewinnen, um sich auf andere Projekte zu konzentrieren. Durch den Einsatz automatisierter Tests können Sie Daten schneller bereitstellen, menschliche Fehler reduzieren, in Continuous Integration/Continuous Delivery-Pipelines (CI/CD) integrieren und vieles mehr.

Die Automatisierung von Regressionstests ist ein einfacher erster Schritt im Automatisierungsprozess. Aber Testteams können auch versuchen, Dinge wie die Testdatenproduktion zu automatisieren. Ganz gleich, was Ihre Datenanforderungen oder Testzwecke sein mögen, automatisierte Lösungen für Funktionstests, Leistungstests und mehr sind Must-Haves in Ihren Testprozessen.

Bild von zwei Personen an einem Computerbildschirm, die an TDM arbeiten.

Häufige TDM-Herausforderungen

Häufige Herausforderungen beim Testdatenmanagement betreffen in der Regel die gleichen Dinge wie:

  • Verlassen Sie sich auf veraltete oder irrelevante Daten.
  • Nur Nutzung vollständiger Produktionsdatenbanken und ihrer Kopien vs. Nutzung relevanter oder kritischer Segmente.
  • Sicherheitsverletzungen riskieren, indem sensible Informationen nicht gehasht oder maskiert werden.
  • Starke Abhängigkeit von Daten während des gesamten Tests.

Möglichkeiten zur Bekämpfung häufiger Fallstricke

  1. Verwenden Sie simulierte Produktionsumgebungen, die Testdaten mit kontrollierten Eingaben isolieren, die die erwarteten Ergebnisse liefern. Diese Daten können dann mit tatsächlichen Ausgaben verglichen werden.
  2. Verbessern Sie die Verfügbarkeit von Testdaten mit Teilmengen der vollständigen Produktionsdaten.
  3. Verringern Sie bei Bedarf, wie sehr sich Ihr Team auf Testdaten verlässt.
  4. Nutzen Sie unabhängige Unit-Tests, die sich nicht auf externe Daten stützen.
  5. Reduzieren Sie die Abhängigkeit Ihres Teams von Datenbanktestdaten. Wenn Sie dies nicht tun, treten Leistungseinbußen wie verringerte Geschwindigkeit sowie eine schwierigere Testisolierung auf.

Service-Virtualisierung mit TDM: The Perfect Match

Parasoft Virtualize konzentriert sich auf A, B, C und D der Destabilisierer von Testumgebungen. A ist Verfügbarkeit, B ist Verhalten, C sind Kosten und D sind Daten. Das Erreichen von Konsistenz in diesen Bereichen ist beim Shift-Left-Ansatz von entscheidender Bedeutung. Aber viele Probleme mit TDM beziehen sich darauf, wie zeitaufwändig und wissensintensiv es sein kann.

Erfahren Sie, wie Sie mit Virtualize Assets erstellen, Testdaten verwalten und Testumgebungen überwachen.

Automatisierung kann menschliches Fachwissen nicht ersetzen, aber die Einführung eines Proxys zwischen dem Backend und jeder zu testenden Anwendung ermöglicht es dem Proxy, als Verkehrspolizist zu fungieren. Darüber hinaus macht unsere benutzerfreundliche Benutzeroberfläche die Verwaltung der Testumgebung zu einer weniger entmutigenden Aufgabe. Die Continuous Testing Platform (CTP) arbeitet mit Test Data Manager zusammen, um die Daten zugänglicher zu visualisieren. Sie können sogar mit Schlüsselwörtern suchen und Ergebnisse in textbasiertem oder tabellarischem Format anzeigen. Im Wesentlichen kann die Service-Virtualisierung ein Optimierer für den gesamten Workflow sein.

TDM for the Win: Wie Testdatenmanagement Continuous Testing ermöglicht

Von Jeffrey Peeples

Jeff Peeples ist Senior Product Manager bei Parasoft und leitet die funktionale Plattformausrichtung für SOAtest, Virtualize und CTP. Jeff verfügt über umfangreiche Erfahrung in der Definition von Lösungen und der Entwicklung von Roadmaps für Unternehmensbranchen wie Energie, Finanztechnologien und Reise-/Gastgewerbe.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.