Janet Albrecht-Zölch ist seit 2007 in verschiedenen Positionen im Bereich Softwaretest und Testmanagement tätig. Neben ihrer beruflichen Tätigkeit schloss sie 2014 den Masterstudiengang Informatik an der Fernuniversität in Hagen ab. Frau Albrecht-Zölch ist ISTQB® Certified Tester Advanced Level – Testmanagement und seit 2015 Mitglied des Conference Board des German Testing Day sowie des Local Board der German Testing Night. Ihre besonderen Interessen liegen in den Bereichen Qualitätssicherung, Testprozessverbesserung und Testdatenmanagement.
Zu diesem Buch – sowie zu vielen weiteren dpunkt.büchern – können Sie auch das entsprechende E-Book im PDF-Format herunterladen. Werden Sie dazu einfach Mitglied bei dpunkt.plus+: www.dpunkt.plus |
Vorgehen, Methoden und Praxis
Janet Albrecht-Zölch, testdatenmanagement@web.de
Lektorat: Christa Preisendanz
Copy-Editing: Ursula Zimpfer, Herrenberg
Satz: III-satz, www.drei-satz.de
Herstellung: Susanne Bröckelmann
Umschlaggestaltung: Helmut Kraus, www.exclam.de
Druck und Bindung: M.P. Media-Print Informationstechnologie GmbH, 33100 Paderborn
Bibliografische Information der Deutschen Nationalbibliothek
Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.d-nb.de abrufbar.
ISBN:
Buch978-3-86490-468-8
PDF978-3-96088-192-6
ePub978-3-96088-193-3
mobi978-3-96088-194-0
1. Auflage 2018
Copyright © 2018 dpunkt.verlag GmbH
Wieblinger Weg 17
69123 Heidelberg
Die vorliegende Publikation ist urheberrechtlich geschützt. Alle Rechte vorbehalten. Die Verwendung der Texte und Abbildungen, auch auszugsweise, ist ohne die schriftliche Zustimmung des Verlags urheberrechtswidrig und daher strafbar. Dies gilt insbesondere für die Vervielfältigung, Übersetzung oder die Verwendung in elektronischen Systemen.
Es wird darauf hingewiesen, dass die im Buch verwendeten Soft- und Hardware-Bezeichnungen sowie Markennamen und Produktbezeichnungen der jeweiligen Firmen im Allgemeinen warenzeichen-, marken- oder patentrechtlichem Schutz unterliegen.
Alle Angaben und Programme in diesem Buch wurden mit größter Sorgfalt kontrolliert. Weder Autor noch Verlag können jedoch für Schäden haftbar gemacht werden, die in Zusammenhang mit der Verwendung dieses Buches stehen.
5 4 3 2 1
Wozu ein Buch über Testdaten und Testdatenmanagement?
Nun, jeder Tester benötigt Testdaten zum Testen seines Testobjekts! Daraus ergibt sich automatisch der Bedarf, sich mit dem Thema Testdaten und einem zielführenden Testdatenmanagement zu befassen. Die gewichtigste Motivation stellen die folgenden fünf Punkte dar:
Komplexität und Vernetzung
Dank verschiedener Fortschritte in der IT sind wir heute in der Lage, IT-Systeme und Anwendungen zu entwickeln, die sehr große Mengen an Daten in sehr kurzer Zeit verarbeiten können. Darüber hinaus nehmen Anzahl und Komplexität der Systeme sowie der Grad ihrer Vernetzung zu. Dies stellt uns vor allem bei Integrationstests vor große Herausforderungen in Bezug auf die Testdaten.
Verbreitung von Software
Zudem dringt Software in immer mehr Anwendungsgebiete vor. Auch dadurch erhöht sich der Bedarf, die Qualität und Sicherheit der Software abzusichern. Dies gilt vor allem auch für den Bereich der eingebetteten Systeme und Data-Warehouse-Lösungen.
Kosten
Ein bezifferbarer Grund für ein professionelles Testdatenmanagement liegt in den Kosten, die auf Bereitstellung und Wartung von Testdaten entfallen. Folgekosten aufgrund fehlender Testdaten, mangelnder Qualität derselben oder ineffizienter Handhabung der Testdaten gefährden den Erfolg des Softwareentwicklungsprojekts. Unterstützung bietet Ihnen dieses Buch u.a. beim Erstellen eines Business Case für das Testdatenmanagement.
Datenschutz
Wenn von Daten die Rede ist, geht es auch um Datenschutz. Das vorliegende Buch zeigt, wie Sie die Aspekte des Datenschutzes im Test umsetzen können und wie Sie so das Risiko von Datenschutzverletzungen und deren Konsequenzen mindern können.
Wissensbasis
Softwaretesten wird immer anspruchsvoller. Gleichzeitig wächst der Markt für Werkzeuge rund um den Softwaretest. Testdatenmanagementsysteme versprechen die Lösung all Ihrer Testdatenprobleme. Dieses Buch führt Sie in die Grundlagen von Testdaten und Testdatenmanagement (TDM) ein. Es versetzt Sie in die Lage, den Leistungsumfang von Testdatenmanagement-Werkzeugen realistisch einzuschätzen. Zudem unterstützt Sie dieses Werk mit der Beschreibung eines möglichen Vorgehens beim Aufbauen eines eigenen Testdatenmanagements.
Bedarf
Meine persönliche Motivation zu diesem Buch ergibt sich aus eigener Erfahrung: Im Laufe meiner Berufsjahre stand ich in der Rolle als Softwaretesterin und noch stärker als Testmanagerin immer wieder vor der Frage, wie ich zu den Testdaten für meine Testfälle komme oder wie ich ein Testprojekt sinnvoll mit Testdaten versorgen kann. Mit diesen Fragen war ich nicht allein.
So begann ich zu recherchieren. Ich sprach mit Kolleginnen und Kollegen, las Bücher zum Softwaretesten, schloss mich einer Arbeitsgruppe zum Testdatenmanagement an und fahndete im Internet nach Antworten auf meine Fragen. Ein deutsch- oder englischsprachiges Buch zum Thema Testdatenmanagement war nicht aufzufinden, stattdessen eine große Anzahl verschiedener Publikationen, die sich zumeist einzelnen Aspekten des Themas widmeten.
Daher beschloss ich, die Rechercheergebnisse und meine eigenen Erfahrungen zu einem Buch zu verarbeiten. Dabei greife ich auf Erkenntnisse zurück, die ich in klassischen und in agilen Projekten erwarb, beim Testen von Webapplikationen und Desktop-Anwendungen, im Bereich der öffentlichen Verwaltung und im Privatsektor. Ich hoffe, Sie haben Freude beim Lesen und finden Ihrerseits Antworten auf einige Ihrer Fragen.
Dank
Ein Buch zu verfassen bedeutet eine ganze Menge Arbeit, die ein Autor nicht allein leistet. Wahrscheinlich ist das einer der Gründe, warum es noch kein Buch zum TDM gab.
Mein Dank gebührt daher den Personen, die dieses Werk mit ihren Erfahrungsberichten bereichern: Helmut Pichler, Stephan Grünfelder und eine Person, deren Name aus Rücksicht auf den Arbeitgeber ungenannt bleibt. Mit Herbert Stauffer tauschte ich mich zum Thema Werkzeuge und Werkzeugkategorien aus. Vielen Dank für all die freundlichen E-Mails, Telefonate und dafür, dass die Kollegen ihre knappe Zeit mit mir teilten.
Einen wirkungsvollen Beitrag leisteten auch die Reviewer dieses Buches, vor allem Matthias Daigl, die mit ihrer konstruktiven Kritik und zahlreichen Anregungen maßgeblich zur Qualität des Buches beigetragen haben. Vielen Dank dafür!
Den in diesem Buch zitierten Autoren danke ich sehr herzlich. Sie trugen dazu bei, dass ich beim Schreiben das eine oder andere dazulernte.
Mein besonderer Dank gilt Christa Preisendanz, meiner Lektorin, für ihr Vertrauen und ihre Geduld sowie dem dpunkt.verlag, der dieses Buch veröffentlicht. Nicht zuletzt danke ich meiner Familie für ihre Unterstützung und Geduld.
Janet Albrecht-Zölch
München, im Oktober 2017
1Einleitung
Teil ITestdaten
2Testdaten – ein Überblick
3Eigenschaften von und Anforderungen an Testdaten
4Probleme mit Testdaten und Risiken
5Gewinnen und Archivieren von Testdaten
6Testdaten und Datenschutz
Teil IITestdatenmanagement
7Testdatenmanagement – ein Überblick
8Vorgehensweisen im Testdatenmanagement – Modelle
9Vorgehensweisen im Testdatenmanagement – Best Practices
10Organisation – Rollen im Testdatenmanagement
11Werkzeuge für Testdaten & Testdatenmanagement: Anforderungen und Kategorien
12Metriken für Testdaten & Testdatenmanagement
13Testdaten & Testdatenmanagement im Kontext
Teil IIIPraxis
14Vorgehen zum Verbessern eines Testdatenmanagements
15Checklisten, Mustergliederungen, Fragenkataloge
Anhang
AAbkürzungen
BGlossar
CLiteratur
Index
1Einleitung
Teil ITestdaten
2Testdaten – ein Überblick
2.1Begriffe Testdaten, ideale Testmenge, gute Testdaten
2.1.1Testdaten
2.1.2Gute Testdaten
2.1.3Ideale Testmenge
2.2Kategorien von Testdaten
2.2.1Kategorien nach Reimann
2.2.2Kategorien nach Chace
2.2.3Testdatentypen nach Jagers und Kollegen
2.2.4Definition Testdatenkategorien
2.3Testdatenbestandstypen
2.4Unterscheidung in Primär- und Sekundärdaten
2.5Unterscheidung nach Testobjekt in Testdatentypen
2.6Ergebnisse eines Testlaufs: Soll, Ist, Testergebnis
2.7Metadaten für Testdaten
2.8Testdaten, Testfälle, Testentwurfsverfahren und Testabdeckung
2.9Zusammenfassung
3Eigenschaften von und Anforderungen an Testdaten
3.1Eigenschaften von Testdaten
3.2Anforderungen an Testdaten – ein Überblick
3.3Inhaltliche Anforderungen
3.4Technische und organisatorische Anforderungen
3.5Wirtschaftliche und rechtliche Anforderungen
3.6Wunsch und Wirklichkeit
3.7Erheben und Dokumentieren von Anforderungen an Testdaten
3.8Zusammenfassung
4Probleme mit Testdaten und Risiken
4.1Häufige Probleme mit Testdaten
4.1.1Probleme mit Testdaten, die auf den Faktor Mensch zurückzuführen sind
4.1.2Probleme mit Testdaten, die in den Testdaten selbst liegen
4.1.3Probleme aufgrund fehlerhafter, ungeeigneter oder vergessener Testdaten
4.1.4Herausforderungen bei Gewinnung, Herstellung und Wartung von Testdaten
4.1.5Organisatorische Problemstellungen
4.2Risiken bei Testdaten
4.2.1Fehlende und fehlerhafte Testdaten als Produktrisiko – unentdeckte Fehler
4.2.2Fehlende und fehlerhafte Projektrisiko als Projektrisiko – Verzögerungen und spät entdeckte Fehler
4.3Zusammenfassung
5Gewinnen und Archivieren von Testdaten
5.1Wege zum Gewinnen von Testdaten
5.1.1Herkunft der Daten: Echtdaten versus synthetische Daten
5.1.2Vorgehen: Ansätze zum Aufbauen von Testdatenbeständen
5.1.3Vorgehen: Konstruktion von Testdaten
5.1.4Zufallsdaten
5.1.5Selbstbeschreibende Testdaten
5.1.6Migrieren von Testdaten
5.2Quellen für das Gewinnen von Testdaten
5.2.1Ermitteln von Anforderungen an Testdaten oder Testdaten aus Artefakten des Softwareentwicklungsprojekts
5.2.2Welche Art Information aus welcher Quelle kommen kann
5.2.3Quellen für das automatisierte Generieren von Testdaten
5.3Wie bekommt man die Testdaten in das zu testende System?
5.3.1Direktes Eingeben über Systemschnittstellen
5.3.2Kopieren und Editieren
5.3.3Spezialisierte Testdatenmanagementlösung
5.3.4Automatisieren von Testeingaben
5.4Trennen der Testdaten von Testfällen
5.5Trennen und Reservieren von Testdaten
5.6Versionieren von Testdaten
5.7Archivieren von Testdaten
5.7.1Wozu archivieren?
5.7.2Vor dem Archivieren: Bereinigung der Testumgebung
5.7.3Wie archivieren?
5.7.4Was archivieren?
5.7.5Datenschutz für archivierte Testdaten
5.8Zusammenfassung
6Testdaten und Datenschutz
6.1Regelungen zum Datenschutz
6.1.1EU-Datenschutzrichtlinie
6.1.2Europäische Datenschutz-Grundverordnung (DSGVO)
6.1.3Bundesdatenschutzgesetz (BDSG)
6.1.4Datenschutz auf Länderebene, branchen- oder unternehmensbezogene Vorgaben
6.1.5Standards zum Datenschutz in der Cloud
6.2Anonymisieren, Pseudonymisieren, Verfremden, Maskieren
6.2.1Anonymisierung
6.2.2Pseudonymisierung
6.3Testdaten in der Cloud
6.3.1Testumgebungen in der Cloud
6.3.2Datenschutz nach DSGVO
6.3.3Datenschutz nach ISO/IEC 27018
6.4Zusammenfassung
Teil IITestdatenmanagement
7Testdatenmanagement – ein Überblick
7.1Begriff Testdatenmanagement
7.1.1Testdatenmanagement-Begriff nach ISTQB® – datenorientiert
7.1.2Testdatenmanagement-Begriff nach Gawlik – Mischform, Erzeugung von Testdaten im Fokus
7.1.3Testdatenmanagement-Begriff nach Kruse – managementorientiert
7.1.4Testdatenmanagement-Begriff nach Haller – managementorientiert, Werkzeuge
7.1.5Testdatenmanagement-Begriff nach Haber – prozessorientiert
7.1.6Testdatenmanagement-Begriff nach German Testing Board – Mischform
7.1.7Der Begriff Testdatenmanagement
7.2Wozu Testdatenmanagement?
7.3Ziele des Testdatenmanagements
7.4Inhalte des Testdatenmanagements
7.4.1Testdaten
7.4.2Prozesse, Aktivitäten, Rollen, Artefakte, Standards
7.4.3Organisationsstrukturen
7.4.4Werkzeugunterstützung
7.4.5Regularien
7.5Wie ist das Testdatenmanagement in den Testprozess eingebunden?
7.5.1Testplanung und -steuerung → Testdaten als Testmittel, Werkzeuge
7.5.2Analyse und Design → Testdatenanforderungsermittlung, Testdatendesign
7.5.3Testumgebung, Deployment → Testdaten: Umgebungsdaten, Bestandsdaten
7.5.4Realisierung und Durchführung → Testdatenerstellung (Bestandsdaten, Eingabedaten u. a.)
7.5.5Testauswertung und -bericht → Aussage zu Testdaten
7.5.6Abschluss der Testaktivitäten → Archivierung der Testdaten, Übergabe an die Wartungsmannschaft
7.5.7Testdatenmanagement ist überall
7.6Der richtige Zeitpunkt
7.7Abgrenzung Testdatenmanagement und Datenmanagement
7.7.1Der Begriff Datenmanagement
7.7.2Datenmanagement versus Testdatenmanagement
7.7.3Konzepte und Techniken übertragbar
7.8Abgrenzung Testdatenmanagement und Konfigurationsmanagement
7.8.1Begriffe Konfigurationsmanagement, Konfiguration, Konfigurationsobjekt
7.8.2Testdaten und Testdatenmanagement versus Konfiguration und Konfigurationsmanagement
7.8.3Testdatenmanagement mit Konfigurationsmanagement
7.9Zusammenfassung
8Vorgehensweisen im Testdatenmanagement – Modelle
8.1Prozess nach ASQF-Arbeitsgruppe Testdatenmanagement
8.1.1Inhaltsüberblick (Begriff Testdaten & Testdatenmanagement, Rollen, Werkzeuge, Dokumentation)
8.1.2Eignung/Einschränkung
8.1.3Was bietet die Vorgehensweise?
8.1.4Rollenkonzept
8.1.5Das Vorgehen gemäß diesem Prozess
8.1.6Methoden und Techniken
8.1.7Dokumentation
8.1.8Werkzeuge
8.1.9Prozesse, Schnittstellen zu anderen Prozessen
8.1.10In drei Sätzen
8.2Framework von Samuel T. Redwine Jr.
8.2.1Inhaltsüberblick (Begriff Testdaten & Testdatenmanagement, Rollen, Werkzeuge, Dokumentation)
8.2.2Eignung/Einschränkungen
8.2.3Was bietet die Vorgehensweise
8.2.4Das Vorgehen gemäß dieser Best Practice
8.2.5Methoden und Techniken
8.2.6Dokumentation
8.2.7Werkzeuge
8.2.8Prozesse, Schnittstellen zu anderen Prozessen
8.2.9In drei Sätzen
8.3Test Data Management Framework von Borghers und Demey
8.3.1Ansatz
8.3.2Aufbau des Rahmenwerks
8.3.3In drei Sätzen
8.4Weitere Modelle im Überblick
8.4.1Prozessrahmenwerk Test Data Management nach Nittur und Sengupta
8.4.2Strategie nach Murthy und Channagiri
8.5Zusammenfassung
9Vorgehensweisen im Testdatenmanagement – Best Practices
9.1Best Practice nach Chace
9.1.1Inhaltsüberblick (Begriff Testdaten & Testdatenmanagement, Rollen, Werkzeuge, Dokumentation)
9.1.2Eignung/Einschränkungen
9.1.3Was bietet die Vorgehensweise
9.1.4Das Vorgehen gemäß dieser Best Practice
9.1.5Methoden und Techniken
9.1.6Dokumentation
9.1.7Werkzeuge
9.1.8Prozesse, Schnittstellen zu anderen Prozessen
9.1.9In drei Sätzen
9.2Best Practice nach Haller
9.2.1Inhaltsüberblick (Begriff Testdaten & Testdatenmanagement, Rollen, Werkzeuge, Dokumentation)
9.2.2Eignung/Einschränkungen
9.2.3Was bietet die Vorgehensweise
9.2.4Werkzeuge
9.2.5Rollenkonzept
9.2.6Das Vorgehen gemäß dieser Best Practice
9.2.7Methoden und Techniken
9.2.8Dokumentation
9.2.9Prozesse, Schnittstellen zu anderen Prozessen
9.2.10In drei Sätzen
9.3Weitere Best Practices im Überblick
9.3.1Best Practice nach Schauber und Leimsner
9.3.2Best Practice nach Govindasamy und Murugesan
9.3.3Best Practice nach Madia
9.4Zusammenfassung
10Organisation – Rollen im Testdatenmanagement
10.1Testdatenmanagement-Rollen
10.1.1Der Testarchitekt als oberster Verantwortlicher (nach ISTQB®)
10.1.2Der Testdatenarchitekt (Test Data Architect)
10.1.3Testdatenmanager, Testdatenmodellierer, Testdatenrealisierer
10.1.4Testdatenmanager und Testdatenteam
10.1.5Testdaten-Consultant, Testdaten-Designer, Solution Implementer, Technical Operator
10.2Test-Rollen ergänzt um Testdatenmanagementaktivitäten
10.2.1Ergänzen vorhandener Tester-Rollen um Testdatenmanagementaktivitäten, eine optionale Testdatenmanagement-Rolle
10.2.2Keine Testdatenmanagement-Rollen, stattdessen zu vorhandenen Rollen des Testteams zuordnen
10.2.3Spezialisierung einer vorhandenen Rolle
10.3Personalunion versus Eigenständigkeit
10.4Zentrales oder dezentrales Testdatenmanagement?
10.5Zusammenfassung
11Werkzeuge für Testdaten & Testdatenmanagement: Anforderungen und Kategorien
11.1Was Testdatenmanagement-Werkzeuge leisten sollen: Anforderungen an Testdatenwerkzeuge
11.1.1Anforderungen an Werkzeuge zum Erstellen von Testdaten
11.1.2Anforderungen Testdatenmanagement-Werkzeuge
11.1.3Weitere Anforderungen
11.2Kategorien von Testdatenmanagement-Werkzeugen
11.2.1Analyse- und Data-Mining Werkzeuge
11.2.2Werkzeuge für das Erstellen oder Bearbeiten von Testdaten
11.2.3Werkzeuge für die Testdatengenerierung
11.2.4Drei Klassen von Testdatengeneratoren
11.2.5Unterscheidung der Funktionalitäten verschiedener Werkzeuge
11.2.6Weitere Testdatenmanagement-Werkzeuge
11.3Auswahl eines Testdatenwerkzeugs
11.3.1Weitere Voraussetzungen für die Auswahl eines Werkzeugs
11.3.2Testfälle für die Machbarkeitsstudie
11.4Zusammenfassung
12Metriken für Testdaten & Testdatenmanagement
12.1Metriken im Softwaretest
12.1.1Arten von Metriken
12.1.2Aussagen über Testdaten möglich?
12.2Kategorien von Metriken für Testdaten
12.2.1Mengenbezogene Metriken
12.2.2Qualitätsbezogene Metriken
12.3Konkrete Metriken für Testdaten
12.3.1Datenüberdeckungsmaße für Testdaten im Systemtest
12.3.2Metriken zum Messen der Datenqualität von Testdaten
12.3.3Metriken für das Testdatenmanagement
12.4Zusammenfassung
13Testdaten & Testdatenmanagement im Kontext
13.1Testdaten und Fehlerkategorien als Hilfe zur Priorisierung der Testdatenbereitstellung
13.2Testdaten im automatisierten Test
13.3Testdaten beim Testen von Data-Warehouse- und Business-Intelligence-Systemen
13.3.1Testumgebung
13.3.2Gewinnen von Testdaten für den Test von Data-Warehouse- und Business-Intelligence-Systemen
13.3.3Maßnahmen zum Schutz der echten Daten in den Testdaten
13.3.4Vor- und Nachteile von Echtdaten als Testdaten
13.3.5Weitere Quellen zum Ableiten von Testdaten
13.3.6Besondere Gruppen von Daten
13.3.7Überblick: Wie testet man Data-Warehouse- und Business-Intelligence-Systeme und was für Daten(bestände) benötigt man dafür?
13.3.8Begriffe in Data-Warehouse- und Business-Intelligence-Systemen
13.4Testdaten im Test von Embedded Systems
13.4.1Besonderheiten beim Testen eingebetteter Systeme
13.4.2Die Testdaten im Testen von Embedded Systems
13.4.3Erfahrungsbericht: Testdaten im Test von Embedded Systems im Bereich Videotechnik
13.5Testdaten in klassischen und in agilen Projekten
13.5.1Klassisch
13.5.2Agile, Scrum
13.6Testdaten in Normen für Softwareentwicklung und/oder Softwaretest
13.6.1Die neue Normenreihe ISO 29119
13.6.2Welche Regelungen zu Testdaten und Testdatenmanagement finden sich in ISO-29119-Reihe?
13.6.3Weitere relevante Normen: ISO/IEC 250xx
13.7Testdaten in Bewertungsmodellen
13.8Zusammenfassung
Teil IIIPraxis
14Vorgehen zum Verbessern eines Testdatenmanagements
14.1Einsteigen in strukturiertes Testdatenmanagement
14.2Etappe 1: Das Testdatenmanagement organisieren
14.2.1Zentralen Testdatenmanagement-Verantwortlichen benennen und dessen Aufgabe definieren
14.2.2Reife des Testprozesses prüfen & bei Bedarf verbessern
14.2.3Bestandsaufnahme & Anforderungsanalyse durchführen: Testdatenmanagementprozess
14.2.4Business Case für das Testdatenmanagement schreiben & entscheiden
14.2.5Bei Bedarf: Übergang vom Testdatenmanagement-Verantwortlichen zum Testdatenmanager
14.2.6Testdatenmanagement-Richtlinie erstellen (Testdatenmanagementstrategie)
14.2.7Entscheiden: zentrales, dezentrales Testdatenmanagement oder Mischform?
14.2.8Rollen definieren
14.2.9Prozesse und Dokumentation definieren
14.2.10 Die Testdaten organisieren
14.2.11 Werkzeugeinsatz und Hardwareeinsatz prüfen und anpassen
14.2.12 Initiales Testdatenmanagementkonzept verfassen
14.2.13 Umsetzen des Testdatenmanagements in konkreten Testprojekten sowie Prüfen & Verbessern des Testdatenmanagements
14.3Etappe 2: Die Testdaten organisieren – von der Analyse bis zur Archivierung
14.3.1Bestandsaufnahme durchführen: Stand der aktuell in Gebrauch befindlichen Testdaten
14.3.2Analyse: Testdatenanforderungen verstehen
14.3.3Spezifizieren der Testdaten, Testdatenpakete (→ Testdatenspezifikation)
14.3.4Testdaten erstellen & bereitstellen
14.3.5Daten nutzen, anpassen, archivieren
14.4Zusammenfassung
15Checklisten, Mustergliederungen, Fragenkataloge
15.1Mustergliederung TDM-Business-Case
15.2Checkliste zu Anforderungen an den TDM-Business-Case
15.3Checkliste TDM-Richtlinie
15.4Mustergliederung TDM-Konzept
15.5Testdatenspezifikation
15.6Checkliste Testdatenbereitstellungskonzept (nach TestSPICE™)
15.7Checkliste zur Organisation der Testumgebung und der Testdaten
15.8Checkliste Bestandsaufnahme zu Werkzeug- und Hardwareeinsatz
15.9Fragenkatalog zur Bestandsaufnahme Testdatenmanagement
15.10Fragenkatalog zur Bestandsaufnahme: Aktueller Testdatenbestand
15.11Fragenkatalog für das Erheben von Anforderungen an Testdaten (initial)
15.12Fragenkatalog zum Vervollständigen der Testdatenmenge
15.13Empfehlungen zu Methoden und Techniken für das Ermitteln von Anforderungen an Testdaten
15.14Relevante Informationen für die Auswahl der Testdaten
15.15Checkliste zum Spezifizieren der Testdaten
15.16Checkliste: Organisatorische Aspekte der Testdaten managen
15.17Checkliste: Aktivitäten zum Bereitstellen der Testdaten
15.18Empfehlungen zur Testdatengewinnung
15.19Empfehlungen zur Testdatenverwaltung
Anhang
AAbkürzungen
BGlossar
CLiteratur
Index
Etwa 30 bis 50 % des gesamten Testaufwands entfallen auf das Erzeugen und Pflegen von Testdaten [Chac11].
Testdaten als Automatisierungshindernis
40 % der Befragten im World Quality Report nannten die Verfügbarkeit der Testdaten und der Testumgebung als Hindernis für die Testautomatisierung [WQR17, S. 41]. Damit landeten Testdaten und Testumgebung auf Platz 2 der größten Hindernisse – direkt nach dem Mangel an geeigneten Automatisierungswerkzeugen (wurde von 45 % der Teilnehmer genannt [WQR17, S. 41]).
Echtdaten!
35 % der Befragten erstellen neue Testdaten mithilfe von Automatisierungswerkzeugen, 17 % davon nutzen Eigenentwicklungen. 16 % legen ihre Testdaten anhand von Spreadsheets manuell an. Nur noch 11 % erstellen die Testdaten über grafische Benutzungsoberflächen (GUI). 28 % nutzen Kopien der Produktionsdaten als Testdaten, wobei 13 % diese zuvor nicht weiterbearbeiten (also auch nicht anonymisieren). 18 % setzen ihre Testdaten nach jeder Iteration zurück, um sie erneut verwenden zu können [WQR17, S. 49].
Diese Zahlen zeigen, welche Herausforderung die Testdaten im Softwaretest darstellen. Meine Erfahrungen decken sich in etwa damit.
Ziele des Buches
Im Wesentlichen verfolgt dieses Buch folgende drei Ziele:
Aufbau des Buches
Das Buch gliedert sich in drei Teile.
Teil I (Kapitel 2 bis 6) beginnt mit den Testdaten und beantwortet folgende Fragen: Was versteht man unter Testdaten? Welche Anforderungen werden an Testdaten gestellt? Welche Eigenschaften weisen Testdaten auf? Welche Herausforderungen bergen sie? Wie kann man Testdaten gewinnen, nutzen, archivieren und was muss man in Bezug auf den Datenschutz beachten?
Der erste Teil definiert wesentliche Begriffe und stellt wichtige Methoden vor; er schafft Grundlagen für Teil III. Daher sei allen Lesern zumindest ein Überfliegen des ersten Teils empfohlen.
Teil II (Kapitel 7 bis 13) behandelt die verschiedenen Aspekte des Managens von Testdaten. Auch dieser Teil beginnt mit der Klärung des Begriffs, hier des Testdatenmanagements, und einer Abgrenzung zu Datenmanagement und Konfigurationsmanagement. Überspringen wird nicht empfohlen. Des Weiteren stellt der Teil Modelle und Best Practices vor. Diese dienen der Erweiterung unseres Horizonts und als Anregungen für die eigene Testdatenmanagementpraxis. Im Testdatenmanagement erfahrene Leser können diese querlesen und bei Bedarf (z.B. bei der Lektüre des Kapitels 9 zum konkreten Vorgehen) darauf zurückkommen. Kapitel 10 über Rollenkonzepte für das Testdatenmanagement zeigt, dass es mit dem Erstellen von Testdaten längst nicht getan ist. Ein Kapitel ist den Werkzeugkategorien gewidmet (Kapitel 11), ein weiteres den Metriken für Testdaten und für das Testdatenmanagement (Kapitel 12). Erfahrene, die sich mit Testdatenmanagement-Werkzeugen oder Metriken gut auskennen, können diese Kapitel überfliegen.
Den Schluss dieses zweiten Teils bildet Kapitel 13, das Testdaten und Testdatenmanagement in verschiedenen Kontexten betrachtet. Wer sich auf seine konkrete Berufspraxis konzentrieren möchte, kann einzelne Abschnitte des Kontext-Kapitels überspringen. Sie sind als Blick über den Tellerrand gedacht.
Teil III (Kapitel 14 und 15) baut auf den ersten beiden Teilen auf. Er stellt Ihnen ein Vorgehen zum Verbessern eines Testdatenmanagements vor, denn überall dort, wo getestet wird, findet bereits ein Testdatenmanagement statt. Checklisten, Fragenkataloge und Mustergliederungen bieten Hilfe für die Umsetzung.
Erfahrungsberichte, Beispiele und Lessons Learned runden die Kapitel ab.
Was das Buch bietet
Dies ist das erste deutschsprachige Buch, das sich direkt dem Thema Testdaten und Testdatenmanagement widmet. Es führt detailliert in dieses Thema ein. Damit unterstützt dieses Werk Softwaretester und Interessierte in einem bisher nur am Rande betrachteten Bereich – nämlich im Umgang mit Testdaten. So ermöglicht es dem Leser1, sich einen Eindruck darüber zu verschaffen, wo das eigene Testprojekt bzgl. Testdaten und Testdatenmanagement steht.
Dieses Buch soll Anregungen bieten. Sie werden an keiner Stelle dieses Buches lesen, dass diese oder jene Vorgehensweise die einzig richtige darstellt. Da jedes Softwareentwicklungsprojekt einzigartig ist und jedes Unternehmen seine eigenen Regeln schreibt, kann es keine Lösung geben, die wirklich auf alle passt. Daher spreche ich bestenfalls Empfehlungen aus.
Was das Buch nicht bietet
Konkrete Testdatenmanagement-Werkzeuge werden in diesem Buch nicht behandelt, denn das Buch beschränkt sich auf methodische Aspekte, und der Markt für Softwaretools ist sehr schnelllebig.
Dieses Buch bietet Ihnen keine maßgeschneiderte Testdatenmanagementlösung für genau Ihr spezifisches Projekt – dafür aber einen Vorschlag für eine Vorgehensweise, die Ihnen und Ihren Vorgesetzten genug Freiraum bieten sollte.
ISTQB® Certified Tester, GTB Certified Tester
Dieses Buch deckt keinen der Lehrpläne des »ISTQB® Certified Tester«-Programms ab. Überschneidungen sind jedoch möglich. Das Buch basiert im Wesentlichen auf den dort gelehrten Inhalten und ist insofern als eine Ergänzung zur vorhandenen Literatur zu verstehen.
Während der Entstehung dieses Buches erstellte eine Arbeitsgruppe des ASQF e.V. einen Zertifizierungslehrplan für das Testdatenmanagement. Dieser ist seit April 2017 auf den Seiten des German Testing Board e.V. veröffentlicht als GTB Certified Tester Foundation Level Test Data Specialist [GTB+17a]. Über den Inhalt des Lehrplans führt das Buch weit hinaus.
Einsteigern in das Thema Softwaretest sei zunächst die Lektüre von »Basiswissen Softwaretest. Aus- und Weiterbildung zum Certified Tester – Foundation Level nach ISTQB-Standard« [SpLi12] und ggf. auch »Praxiswissen Softwaretest – Testmanagement. Aus- und Weiterbildung zum Certified Tester – Advanced Level nach ISTQB-Standard« von Spillner, Roßner, Winter und Linz [SRWL08] empfohlen.
Um verschiedene Sachverhalte anhand von Beispielen illustrieren zu können, stelle ich Ihnen hier die Beispielanwendung Mein Onlineshop vor. Es handelt sich um einen klassischen Onlineshop, über den verschiedene Artikel zum Kauf angeboten werden.
Ähnlichkeiten mit eventuell existierenden oder gar gleichnamigen Shops sind zufällig und nicht beabsichtigt.
Unsere Beispielanwendung Mein Onlineshop besteht aus folgenden Teilen:
Nicht in allen Fällen lässt sich diese Beispielanwendung sinnvoll einsetzen. Daher finden sich in diesem Buch auch davon abweichende Beispiele.
Testdaten sind Bestandteil der Testumgebung. Dort dienen sie unterschiedlichen Zwecken. Dieses Kapitel bietet Ihnen einen Überblick über die verschiedenen gebräuchlichen Begriffe für Testdaten und beleuchtet die Bedeutung ihrer Metadaten.
Dieses Kapitel schafft ein Basisverständnis über den Testdaten-Begriff, wie er in diesem Buch verwendet wird, es sollte daher zumindest quergelesen werden.
Softwaresysteme verarbeiten elektronisch Daten, basierend auf dem sogenannten EVA-Prinzip: Eingabe, Verarbeitung, Ausgabe. Wir geben Daten ein, das (zu testende) System verarbeitet diese und gibt Daten wieder aus. Zum Testen von Software, genauer zum Prüfen des Verhaltens der Software, verwendet man Testdaten.
Eckehard Kruse formuliert treffend: »Testdaten ermöglichen die Durchführung von Tests« [Krus11]. Testdaten werden benötigt, um Testfälle gegen das zu testende System oder Teile davon laufen zu lassen.
Abstrakte Testfälle enthalten zunächst keine Testdaten und können daher nicht ausgeführt werden. Indem man einen abstrakten Testfall um Testdaten ergänzt, entstehen ein oder mehrere ausführbare konkrete Testfälle. Die konkreten Testfälle verwenden Daten als Eingabe, die Eingabedaten, und enthalten Angaben über die erwarteten Ausgaben, die Ausgabedaten. Darüber hinaus benötigt das Durchführen konkreter Testfälle weitere Daten im zu testenden System. Dies können z.B. Stammdaten oder Konfigurationen sein.
Alle Daten in einer Testumgebung sind Testdaten. Darunter fallen Werte für Konfigurationsparameter ebenso wie Ausgabedaten nach Durchführung von Testfällen.
Doch was versteht man im Detail unter Testdaten? Und wann sind Testdaten gute Testdaten? Wie sieht die ideale Testmenge aus?
Im Glossar des German Testing Board findet sich folgende Definition von Testdaten:
Definition: Testdaten (nach German Testing Board)
»Daten, die (z.B. in einer Datenbank) vor der Ausführung eines Tests existieren, und die die Ausführung der Komponente bzw. des Systems im Test beeinflussen bzw. dadurch beeinflusst werden.« [GTB+15, S. 66]
Damit umfasst diese Definition ausschließlich vor oder während der Testausführung existierende Testdaten, nicht aber die Daten, die bei der Ausführung eines Testfalls entstehen.
Im Lehrplan zum Certified Test Data Specialist (GTB) heißt es in Ergänzung der vorgenannten Definition: »Testdaten sind konkrete Werte von Datenobjekten, die zur Ausführung eines Testobjekts benötigt werden. Sie können z.B. in Dateiform, in Form von Datenbanktabellen oder in Listenform vorliegen« [GTB+17a, S. 17].
In »Basiswissen Softwaretest« formulieren die Autoren Andreas Spillner und Tilo Linz [SpLi12, S. 263] darüber hinaus folgende Definition zu Testdaten:
Definition: Testdaten (nach Andreas Spillner und Tilo Linz)
»Eingabe- und Zustandswerte für ein Testobjekt und die Sollwerte nach Ausführung des betreffenden Testfalls« und »Daten, die (z.B. in einer Datenbank) vor der Ausführung eines Tests existieren und die Ausführung der Komponente bzw. des Systems im Test beeinflussen bzw. dadurch beeinflusst werden.« [SpLi12, S. 263]
Ein sehr ähnliches Begriffsverständnis findet sich in Kruses oben erwähntem White Paper zum Testdatenmanagement [Krus11].
In den vorgestellten Begriffen ist der Zusammenhang zwischen Testdaten und Testumgebung nicht berücksichtigt. ISO 29119 betrachtet die Testdaten als Bestandteil der Testumgebung.
Die folgende Definition, basierend auf den vorgestellten TestdatenBegriffen, formuliert etwas expliziter:
Testdaten-Begriff
Definition: Testdaten
Testdaten bezeichnen alle Daten, die in die Testumgebung eingegeben (Eingabe- und Zustandswerte für ein Testobjekt) oder aus ihr ausgelesen werden (Sollwerte, Istwerte) sowie alle Daten, die in der Testumgebung vorhanden sind bzw. verwendet werden (z.B. in einer Datenbank, aber auch Umgebungsdaten wie Konfigurationsdateien, Ports usw.).
Testdaten beeinflussen die Ausführung der zu testenden Komponente bzw. des zu testenden Systems oder werden dadurch beeinflusst.
Folgt man dem Glossar des ISTQB® [GTB+15], so zählen die Testdaten zu den Testmitteln:
Definition: Testmittel (nach German Testing Board)
»Alle Artefakte, die während des Testprozesses erstellt werden und die erforderlich sind, um die Tests zu planen, zu entwerfen oder auszuführen. Dazu gehören: Dokumente, Skripte, Eingabedaten, erwartete Ergebnisse, Prozeduren zum Aufsetzen und Aufräumen von Testdaten, Dateien, Datenbanken, Umgebungen und weitere zusätzliche Software- und Dienstprogramme, die für das Testen verwendet werden.« [GTB+15]
Die obigen Definitionen beschreiben, wann Testdaten vorhanden sind und worauf sie Einfluss nehmen. Außerdem erfahren wir etwas über die Aufgabe der Testdaten, nämlich ihre Verwendung als Eingabe- und Zustandswerte für ein Testobjekt und als Sollwerte für Testfälle.
Wenn von Testdaten die Rede ist, dann sind entweder eine Menge von Testdaten oder auch Testdaten eines konkreten Testfalls oder gar einzelne Testdaten (Testdatum) gemeint.
Welche Alternative zutrifft, sollte aus dem jeweiligen Kontext hervorgehen. Wo eine explizite Unterscheidung notwendig ist, finden Sie diese im Text dargestellt.
Nachdem der Begriff der Testdaten eingeführt ist, betrachten wir einen Qualitätsaspekt: Wann sind Testdaten gute Testdaten?
Gute Testdaten, bezogen auf einen konkreten Testfall, sind diejenigen Testdaten, die das mit dem Testfall verfolgte Ziel unterstützen.
Doch was sind gute Testdaten im Sinne einer Menge von Testdaten?
Bei Redwine [Redw83, S. 192 o.] findet sich eine Definition für qualitativ gute Testdaten; er bezieht sich auf eine Menge. Demnach stellen gute Testdaten eine sinnvoll bemessene Menge von Daten dar, die alle oder fast alle Teile der Software ausführen, sodass die Resultate unterscheiden zwischen korrektem Funktionieren und möglichen Fehlern [Redw83, S. 192 o.].
Um mit dieser Menge an Daten alle bzw. fast alle1 Softwareteile ausführen zu können, müssen Testdaten enthalten sein, die – bezogen auf Anwendungsfälle – sowohl den Normalfall als auch Alternativen sowie Sonderfälle und Fehlerfälle umfassen.
Gute TestdatenChac11