Für alle im Rahmen einer Testdurchführung anstehenden Aktivitäten muss eine Testumgebung bereitgestellt werden, die alle Anforderungen des Testvorhabens abdeckt.
Unter einer Testumgebung ist die Gesamtheit aller Hardwarekomponenten und Softwarekomponenten verstehen, die notwendig sind, um Testfälle durchführen zu können. Dazu gehören insbesondere die Testobjekte, die notwendige Testdaten, entsprechende Hardware und Betriebssysteme sowie eine geeignete Test Software.
Zusammentragen der Anforderungen zum Aufbau der Testumgebungen |
» Soll innerhalb einer Umgebung parallel getestet werden? |
» Kann für jeden Tester eine separate Testumgebung zur Verfügung gestellt werden? |
» Wie viele logische Datenbanken werden benötigt? |
» Welche Systeme zur Transaktionsbearbeitung werden verwendet? |
» Welche Datenbanksysteme werden benutzt? |
» Welche Dateitypen werden benötigt? |
» Werden Treiber benötigt? |
» Werden permanente Systemdateien eingesetzt? |
» Werden Hilfsprogramme (z.B. zum Auslesen der Datenbank) benötigt? |
» Sollen Capture-/Replay-Tools für Automatisierung des Testablaufs eingesetzt werden? |
» Welche Schnittstelle müssen/können innerhalb der Testumgebung aufgebaut werden? |
Optimaler Weise steht jedem Tester eine eigene Testumgebung - in der von ihm für die Ausführung seiner Testobjekte benötigten Ausprägung - zur Verfügung. |
In Rahmen dieser Aktivitäten wird festgelegt, welche Anforderungen aus Sicht des Testvorhabens an die Testdatenorganisation zu stellen sind, sowie welche Möglichkeiten der Testdatenorganisation (Zugriffe, Bereitstellung, Archivierung, Wiederherstellung) im Projekt bestehen.
Anforderung an eine Testumgebung |
» Testumgebungsschaubild |
» Betroffene Schnittstellen für technische Anbindungen |
» Parametrisierung der Schnittstellen, die den Austausch der benötigten Daten ermöglichen |
Ziel der systematischen Organisation und Verwaltung der Testdaten ist: |
» Eine eindeutige Orientierung im gesamten Testdatenbestand zu ermöglichen |
» Durch Mehrfachverwendung Gesamtaufwand zur Bereitstellung von Testdaten verringern |
» Parallele Testausführung von Testobjekten, die gleiche Datenobjekte benutzen |
Möglichkeiten zur Erzeugung eines Testdatenbestand |
|
» Produktionsabzug |
|
|
Steuerungsdaten werden als Gesamtbestand eines oder mehrerer Datenobjekte benötigt und dementsprechend als 1:1 Kopie der Produktionsdaten in der Testumgebung benutzt. |
» Teilsynthetischer Ansatz |
|
|
Einige wenige konsistente Datensätze werden als Kopierbasis für die Erstellung aller weiteren benötigten Datensätze benutzt. Diese Sätze werden in ein Testdatenverwaltungstool importiert, vervielfältigt und angepasst. Synthetisch ergänzt werden lediglich die spezifischen Felder, die für die Unterscheidung der gewünschten Datenkonstellationen notwendig sind. |
» Synthetischer Ansatz |
|
|
Ohne eines möglichen Zugriffs auf Produktionsdaten (z.B. Bei Neuentwicklung) wird für das Testobjekt jedes notwendige Feld jedes Datenobjektes synthetisch definiert. |
Generell sind folgende Anforderungen an die Testdatenorganisation zu stellen: |
|
» Selektive Verwaltung und selektiver Zugriff |
|
|
Die benötigten Ausgangszustände sind für jedes Testobjekt getrennt zu verwalten. Das kann bedeuten, dass für ein Testobjekt ein bestimmter Teil der Datenbank reserviert ist. |
» Wiederholbarkeit der Testausführung |
|
|
Vor jeder Testausführung werden für jedes Testobjekt die Datenobjekte in ihren Ausgangszustand gebracht. |
» Unabhängigkeit der Testdatenerstellung von der physischen Datenorganisation |
|
|
Die Testdaten sollten so abgelegt sein, dass die Testdatendefinition unabhängig von der physischen Datenhaltung und ihren Erfassungsfunktionen möglich ist. Damit kann mit der Testdatendefinition bereits vor der Einrichtung der Umgebung begonnen werden. |
» Pflegbarkeit der Testdaten nach Strukturänderungen |
|
|
Nach Strukturänderungen sollten die Testdaten mit möglichst geringem Aufwand gepflegt werden können. Hierfür muss der Informationsfluss bei Strukturänderungen für das Projekt festgeschrieben sein und eingehalten werden. Ein solches Vorgehen ist noch zu definieren. |
Folgende Testdatenbestandtypen können generell unterschieden werden: |
|
» Projektübergreifende Steuerungsdaten |
|
|
Diese Daten können identisch mit Produktionsdaten sein, da sie nie kundenspezifische Daten enthalten, und werden von der Anwendung benutzt, aber nicht verändert. Die Daten ändern sich i.d.R. während des gesamten Lebenszyklus nicht und werden von der Anwendung nur gelesen. |
» Testobjektübergreifende Daten als Kopierbasis für die einzelnen Testobjekte |
|
|
Diese Daten stellen einen repräsentativen Umfang an Bestandsdaten dar, die jede Funktionalität der Anwendung als Ausgangszustand benötigt. Ziel ist es, aus der Menge der zur Verfügung stehenden Datensätze geeignete Sätze für die Verwendung in den Testobjekten bereitzustellen. |
» Testobjektspezifische Daten (Primär- und Sekundärdaten): |
|
|
Primärdaten werden explizit für jedes Testobjekt erstellt, dabei handelt es sich um die Daten, die zu der Verarbeitung führen, d.h. auf Masken oder in Schnittstellen. Der Sekundärdatenbestand (Daten, die benötigt werden, damit die Verarbeitung laufen kann, Bestandsdaten,...) wird für jedes Testobjekt in erster Linie aus der Kopierbasis erstellt. Testobjektspezifische Anforderungen, die nicht vollständig in der Kopierbasis enthalten sind, sind testobjektspezifisch zu erstellen und zu verwalten. Dazu wird als Ausgangsbasis ein möglichst ähnlicher Satz gewählt, der entweder über eine Anwendung (funktionsgetestet!!) oder über ein entsprechendes Testdaten-Tool angepasst wird. |