Home  |  Seitenübersicht  |  Druckversion  |  Impressum  

QDATA - Effizientes Testen mittels Datengenerierung und -optimierung

     
  Hier lesen Sie, wie ...

  • Testdatengenerierung Ihre Testqualität erhöht und gleichzeitig die Testaufwände reduziert,
  • Sie realistische Last-/Performancetest durchführen,
  • Sie Testdaten generieren und in Ihr IT-System migrieren.
 

Die zunehmende Komplexität von IT-Systemen stellt die Qualitätssicherung vor neue Herausforderungen. Für die Durchführung von Funktions- und Lasttests werden entsprechende Testdaten als Eingabedaten für die Benutzeroberfläche und entsprechende BackEnd-Daten für das zu testende IT-System benötigt. Ziel ist es, alle Funktionen vollständig bzw. das Verhalten einzelner Komponenten des IT-Systems unter Last zu testen.

In der Praxis stehen Testteams nur selten Testdaten zur Verfügung. Zum einen sind bei der Neuentwicklung von IT-Systemen keine Produktionsdaten vorhanden und zum anderen können beim Test von existierenden IT-Systemen die Produktionsdaten aus Gründen des Datenschutzes oft nicht eingesetzt werden. Die allgemein angenommene Anonymisierung von Produktionsdaten reicht nicht aus, da aus den Daten noch Profile (bspw. Bewegungsprofile) abgeleitet werden können. Eine notwendige Modifizierung ist konzeptionell und technisch sehr aufwendig und dem Autor kein Beispiel aus der Praxis bekannt.

Eine Lösung bietet hier die Generierung von Testdaten. Größte Herausforderung ist dabei die Daten in Struktur, Kontext und Quantität generieren zu können (synthetisch, realistische Daten). Das heißt, dass die Datenwerte der realen Welt entsprechen. So sollte ein Name als 'Peter Meier' und nicht nur eine Zeichenfolge 'V1 N1' ausgeprägt sein. Je realistischer die Daten sind, umso intuitiver können diese für Testzwecke eingesetzt und mögliche Fehlermaskierung vermieden werden.

Szenario A: Massendaten für Last- und Performancetests

Massendaten werden benötigt, um alle in der Produktion möglichen Zustände eines IT-Systems und das Verhalten der technischen Komponenten eines IT-Systems unter produktionsnaher Last testen zu können. Abstrakte Daten führen meist zu deutlich geringeren Datenvolumina und Datenkonstellationen, die zu nicht praxisrelevanten Optimierungsmöglichkeiten der Datenbanken bei der Index-Erstellung führen. Dadurch werden die Testergebnisse eines Lasttest verfälscht.

Abbildung 1 zeigt grob das Datenmodell der SAP-Lösung cProjects. Für den Test eines solchen Systems sind Testdaten mit allen möglichen Zuständen für alle einzelnen sechs Entitäten sowie alle Beziehungen zwischen diesen Entitäten zu erstellen. Des Weiteren sollte die Wartung und Pflege dieser für weitere Testiterationen nicht bedacht werden. Dies ist aus Gründen des Aufwandes und der Fehleranfälligkeit manuell nicht zu realisieren. Eleganter ist hier die Erstellung und Anpassung eines Datenmodells, aus welchem die Testdaten zeitnah und ortsunabhängig bereitgestellt werden können.

Abbildung 1: Datenmodell SAP cProjects

Szenario B: Mittels des Pairwise-Ansatzes Testfälle optimieren

Die durch Kombinatorik von Äquivalenzklassen ableitbaren Testfälle können schnell eine nicht mehr durchführbare Anzahl von Testfällen überschreiten. Das Unternehmen Telcordia Technologies hat in einer Untersuchung herausgefunden, dass Fehler zu über 90% durch Wertepaare entstehen. Daraus kann man ableiten, dass Testfälle nur noch (bedingt) ausgeführt werden müssen, wenn deren einzelne Wertepaare bereits durch andere Testfälle verifiziert wurden. Bspw. werden für den vollständigen Funktionstest der Amazon-Suchmaske ca. 74.000 Testfälle benötigt. Mit der Anwendung des Pairwise-Ansatzes kann diese enorme Anzahl auf 69 Testfälle reduziert werden. Das heißt, dass durch den Einsatz von Testdatengeneratoren und des Pairwise-Ansatzes die Testabdeckung erhöht und gleichzeitig der Testaufwand drastisch reduziert werden kann.

Der Pairwise-Ansatz wird im Folgenden an einem Beispiel erläutert (siehe Abbildung 2). Eine Eingabemaske mit drei Eingabeparametern und jeweils zwei möglichen Äquivalenzklassen soll getestet werden. Für den vollständigen Test der Eingabemaske ergeben sich daraus acht Kombinationen (Testfälle, linke Tabelle). Diese enthalten Wertepaare, die mehrfach in den unterschiedlichen Testfällen vorkommen (siehe blaue Markierung). Um den Testaufwand zu reduzieren werden nun die Kombinationen entfernt, die aus bereits bekannten Paarkombinationen bestehen (siehe rechte Tabelle). Man beachte, dass sich die Anzahl der zu testenden Eingabekombinationen in diesem Fall halbiert hat, ohne die Testabdeckung zu verringern. Mit zunehmender Anzahl an Testfällen verstärkt sich der Effizienzgrad der Pairwise-Optimierung. Die Optimierung selbst ist nur bei einer sehr geringen Anzahl an Testfällen manuell möglich.

Abbildung 2: Beispiel Pairwise-Optimierung

QDATA - Das Werkzeug

QMETHODS bietet Ihnen den Testdatengenerator QDATA in der Version 2.5 für die Generierung von realistischen Massendaten und zur Optimierung von Testfällen an. Die Konfiguration der zu generierenden Daten erfolgt in einer einfach strukturierten XML-Datei, die mit jedem beliebigen Texteditor bearbeitet werden kann (siehe Abbildung 4). QDATA besteht aus dem Generator, aus einem Pool von unterschiedlichen Datenquellen und entsprechenden Wissensdatenbanken (siehe Abbildung 3). Der Generator verarbeitet die XML-Konfiguration und bedient sich hierfür unterschiedlicher Datenquellen, die entsprechende Datenwerte zur Verfügung stellen. Mittels Kombinatorik kann so eine große Anzahl unterschiedlicher Daten erzeugt werden. Durch eine definierte Plugin-Schnittstelle können individuelle Datenquellen erstellt und in den QDATA-Testdatengenerator integriert werden. Das Ergebnis eines Datengenerierungslaufes ist eine Textdatei mit kommaseparierten Werten (CSV-Datei). Diese können direkt für die Parametrisierung von Testskripten in Testautomationswerkzeugen eingesetzt werden.

Mittels des Pairwise-Optimizers können Daten für Testfälle optimiert werden, wodurch einerseits die Testabdeckung erhöht (Test aller möglichen Eingabekombinationen) und gleichzeitig der Testaufwand reduziert (Test aller Wertepaare) werden kann (Details zum Pairwise Testing siehe Szenario B)..



Abbildung 3: Architektur des QDATA-Testdatengenerators

Die Bereitstellung und Pflege von Wissensdatenbanken mit in der Praxis häufig benötigten Daten ist ein wichtiger und permanenter Bestandteil der Weiterentwicklung des Testdatengenerators. Die Datenqualität ist von entscheidender Bedeutung, da Fehler in den Daten und damit Fehlfunktionen sehr schwer zu identifizieren sind. Kundenspezifische Wissensdatenbanken können mittels Datei- oder SQL-Datenquelle in den Generationsprozess einfach eingebunden werden. Folgende Wissensdatenbanken stehen Ihnen derzeit zur Verfügung:



Migration Ihrer BackEnd-Daten in ein IT-System

Nach der Generierung der Daten sind diese in das gewünschte IT-System zu migrieren. Im Folgenden werden drei mögliche Vorgehensweisen erläutert:



Ein "Hello World"-Beispiel

In Abbildung 4 ist ein Beispiel einer XML-Konfiguration für die Generierung von 10.000 Mitarbeiterinformationen dargestellt. Für jeden Mitarbeiter wird eine eindeutige Benutzeridentifikation, ein Vor-/Nachname sowie eine Privatadresse generiert. Name, Vorname und Ort werden mittels Kombinatorik erstellt. Die Anzahl der Kombinationen ist gleichzeitig die maximale Anzahl der möglichen zu generierenden Testdaten. In Abbildung 5 ist die Eingabekonsole der Datengenerierung dargestellt und Abbildung 6 zeigt einen Ausschnitt der generierten Testdaten.

     
  <qdata name="employee address" number="10000">

  <item name="UserID" datasource_ref="Integer" type="UNIQUE">
    <parameter name="prefix" value="D"/>
    <parameter name="from" value="10000"/>
    <parameter name="to" value="99999"/>
  </item>

  <item name="Name" datasource_ref="File" type="COMBINATION">
    <parameter name="file" value="name.dat"/>
  </item>

  <item name="Vorname" datasource_ref="File" type="COMBINATION">
    <parameter name="file" value="surname.dat"/>
  </item>

  <item name="Ort,PLZ" datasource_ref="File" type="COMBINATION">
    <parameter name="file" value="city-zip.dat"/>
    <parameter name="index" value="0"/>
    <parameter name="index" value="1"/>
  </item>

  <item name="Strasse" datasource_ref="File" type="VARIABLE">
    <parameter name="file" value="street.dat"/>
  </item>

  <item name="Nr." datasource_ref="Integer" type="VARIABLE">
    <parameter name="from" value="1"/>
    <parameter name="to" value="200"/>
    <parameter name="access" value="random"/>
  </item>

</qdata>
 
     

Abbildung 4: XML-Konfiguration für die Generierung einer Angestelltenliste

Abbildung 5: Ausführung einer Datengenerierung

     
  UserID,Name,Vorname,Ort,PLZ,Strasse,Nr.
....
D13560,Paetz,Alon,60596,Darmstadt,Frankendamm,59
D13561,Schauer,Andre,07987,Mohlsdorf,Am Umspannwerk,10
D13562,Bargmann,Ann-Katrin,99885,Ohrdruf,Anklamer Straße,113
D13563,Spenke,Friedrich,36404,Martinroda,Svendborger Straße,5
D13564,Linde,Gabriele,13089,Berlin,Gentzkowstraße,108
D13565,Leister,Gebhard,54675,Obergeckler,Grünhufer Bogen,63
D13566,Leifers,Henry,96489,Oberfranken,Kornwinkel,68
D13567,Schiemann,Kai-Luca,27243,Weser-Ems,Klosterstraße,62
D13568,Hagemeier,Roberto,95346,Oberfranken,Drigger Weg,145
D13569,Scheibler,Sophie,73272,Stuttgart,Kolpingplatz,30
....
 
     

Abbildung 6: Ausschnitt aus den generierten Daten

QDATA Testdatengenerator Version 2.5 verfügbar

Der Testdatengenerator QDATA steht in der Version 2.5 ab sofort zur Verfügung. Steigern Sie Ihre Testeffizienz und Testabdeckung durch die zeitnahe Generierung von Testdaten für komplexe Datenmodelle und Testfällen in Ihren Projekten.

Weiter lesen ...


QMETHODS präsentiert Reporting und Planung auf Basis von IBM Cognos

Am 8.Oktober 2010 laden Sie IBM und QMETHODS herzlich in das IBM Forum in Frankfurt am Main ein. Hier präsentieren wir Ihnen Cognos BI & Planning.

Weiter lesen ...


QMETHODS präsentiert die IBM Rational Testsuite

Am 7.Oktober 2010 präsentieren IBM und QMETHODS im IBM Forum in Frankfurt am Main Methoden und Produkte rund um die Rational Testsuite.

Weiter lesen ...


Customer Success Story QS & Testmanagement

"Mit der Unterstützung von QMETHODS haben wir gemeinsam ein starkes Testteam mit einem umfassenden Kompetenzspektrum aufgebaut." Claudia Gelhaus, Leiterin IT QS & Testmanagement, EWE TEL GmbH

Weiter lesen ...


QMETHODS auf SoaPark.TV mit 'Quality Assurance for SOA'

Matthias Scholze stellt in seinem Videobeitrag "Quality Assurance for SOA" auf SoaPark.TV die Bandbreite an qualitätssichernden Maßnahmen vor, welche in einer komplexen SOA-Umgebung helfen, die Erreichung aller Qualitätskriterien für das Gesamtsystem sicherzustellen.

Weiter lesen ...