Use Case: Überprüfung der Datenqualität am Beispiel von Währungen

Eine laufend durchgeführte Datenqualitätskontrolle steigert den Nutzen der produzierten Ergebnisse und senkt die Folgekosten, die bei Verwendung unvollständiger oder inkonsistenter Daten entstehen.

Dieses einfache Beispiel demonstriert wie mit Hilfe der RapidRep Test Suite unerlaubte oder fehlende Währungen identifiziert werden.

Als Ergebnis dieses Testfalles soll für einen bestimmten Stichtag auf einen Blick erkennbar sein, ob die Kurse für alle geforderten Währungen angeliefert wurden oder ob ggf. bestimmte Kurse fehlen oder inkonsistent sind.

 

Beschreibung des Anwendungsfalles

  • Die Daten deren Qualität überprüft werden soll, befinden sich in einer Oracle-Tabelle.
  • Eine CSV Datei listet alle Währungskürzel auf, deren Werte für jeden Tag benötigt werden.
  • Da RapidRep auf alle relevanten Datenquellen zugreifen kann, kann das Szenario beispielsweise genauso gut darin bestehen, Daten in MySQL mit Werten in einer MS Access-Ansicht zu vergleichen.

Typische Qualitätsfragen

  • Sind für einen bestimmten Tag alle Währungskurse vorhanden?
  • Für welche Währungen werden keine Kurse geladen?
  • Werden Kurse für Währungen geliefert, die nicht benötigt werden?
  • Sind die Kurse im Zeitablauf plausibel?
 

Layoutgestaltung für einen Testfall-Report mit MS-Excel

  • Die Umsetzung mit RapidRep beginnt mit der Layoutgestaltung einer Vorlage auf Basis von MS Excel. 
  • Der erste Schritt bei der Implementierung eines Testfalles ist die Gestaltung einer Excel Arbeitsmappe. Die kann vom Kunden ohne RapidRep - Kenntnisse frei erstellt werden.
  • RapidRep macht keine Vorgaben, allerdings gilt es als Best Practice, ein Übersichts-Blatt (Overview), auf dem nach der Durchführung das Testfallergebnis dokumentiert wird und ein Detail-Blatt (Details) zu entwerfen, welches die Einzelheiten aufnimmt und gleichzeitig der Dokumentation der Testdurchführung dient.

 

 

Implementierung mit RapidRep Designer (1/5)

  • Der RapidRep Designer ist eine eigenständige Java-Applikation, mit der sog. Reportdefinitionen erstellt werden.
  • In einer solchen Reportdefinition werden auf verschiedenen Reitern viele Einstellungen vorgenommen.
  • In den Eigenschaften einer Reportdefinition wird die soeben erstellte Excel Arbeitsmappe eingetragen (Excel-Vorlage).
  • Auf Basis dieser Vorlage werden während der Testfalldurchführung eigenständige Arbeitsmappen erstellt werden. Ein passender Name kann mit Hilfe von Parametern vorgegeben werden.

 

Implementierung mit RapidRep Designer (2/5)

  • Die Beeinflussung zur Laufzeit, wenn Reports auf Basis einer Reportdefinition erzeugt werden, erfolgt über beliebig viele typisierte Parameter, für die es eine Vorbelegung geben kann.
  • In diesem Beispiel wird nur ein Parameter vom Type „Datum“ vereinbart, da der Anwender oder das Batchprogramm das gewünschte Datum eingeben können soll.
  • Die Berechnung eines Testfalles kann zur Laufzeit nur über die Wertebelegung der Parameter beeinflusst werden. Das übrige Wissen über die Testfalllogik ist ansonsten komplett in der Reportdefinition gekapselt.

 

 

Implementierung mit RapidRep Designer (3/5)

  • In diesem Beispiel befinden sich die Soll- und Ist-Daten in zwei unterschiedlichen Datenquellen. Die Ist-Daten werden in Oracle und die Soll-Daten werden in einer CSV – Datei vorgehalten.
  • In RapidRep können im Verbindungs-Reiter beliebig viele Verbindungen definiert werden.
  • RapiRep unterstützt alle relevanten Datenquellen. Die Definition dieser Datenquellen erfolgt einheitlich an anderer Stelle und wird hier nicht gezeigt.

 

Implementierung mit RapidRep Designer (4/5)

  • Das Kernstück in einer Reportdefinition sind Datenelemente, von denen es beliebig viele geben kann.  Diese können in einer Baumstruktur verwaltet werden. 
  • Mit Hilfe einer einfachen Textersetzungssprache und Parametern werden leicht zu wartende SQL-Anweisungen definiert, deren Auswertung auf den Datenquellen während der Testfalldurchführung Datenblöcke zurückliefern 
  • Die optionale Sprache ist einfach und sehr mächtig. Vier Befehle reichen aus, um selbst komplexe SQL Anweisungen einfach zu strukturieren: Wenn/Dann-Verzweigung, Schleife, Zuweisung von Variablen und Aufruf von Funktionen.

 

Implementierung mit RapidRep Designer (5/5)

  • Die Ergebnisse aller Datenelemente werden an bestimmte Stellen der Excel Arbeitsmappenvorlage geschrieben.
  • Die zahlreichen  Einstellungsmöglichkeiten beeinflussen die Ausgabe ganz gezielt.   
Damit ist die Entwicklung einer Reportdefinition abgeschlossen und kann vom RapidRep Runner oder der RapidRep Batch -Schnittstelle verwendet werden.

 

Durchführung eines Testfalles mit RapidRep (Runner oder Batch) (1/2)

  • Sobald eine bestimmte Version einer Reportdefinition finalisiert wurde, kann diese in der RapidRep Runner Anwendung verwendet werden.   
  • Die Aufgabe des RapidRep Runner besteht in der Durchführung eines Testfalles.     
  • Der Anwender wählt dazu eine Reportdefinition aus erzeugt einen neuen, noch unfertigen Testfall.
  • Alle bisherigen Testfälle und deren Status sind in einer Tabelle aufgelistet.

 

 

Durchführung eines Testfalles mit RapidRep (Runner oder Batch) (2/2)

  • Der soeben neu erzeugte Report wird geeignet parametrisiert ( in der verwendeten Reportdefinition ist nur ein Datum als Parameter vorgesehen )
  • Anschließend wird der Testfall über die gezeigte Aktion gerechnet und als Excel Arbeitsmappe angezeigt.
  • Bei der Berechnung werden die Ergebnisse der Datenelemente aus der Reportdefinition an die jeweiligen Stellen der Excel Arbeitsmappenvorlage geschrieben und als eigenständige Excel Arbeitsmappe abgelegt.
  • Das so erzeugte Ergebnis wird revisionssicher im RapidRep Repository abgelegt

Das fertige Ergebnis eines Testfall-Reports

  • Das Ergebnis ist eine eigenständige Excel Arbeitsmappe, die auf Basis der Excel Arbeitsmappenvorlage alle Daten enthält die benötigt werden um das Ergebnis zu überprüfen bzw. fehlerhafte Daten schnell identifizieren zu können.
  • Der Vorteil bei diesem Ansatz ist, dass die Excel Arbeitsmappen als Anhang an ein optionales Testmanagementsystem weitergereicht werden können. Das Ergebnis kann verwendet werden ohne auf RapidRep angewiesen zu sein.

Integration in IBM Rational Quality Manager

Der RapidRep Data Testing Adapter macht die Funktionen der Testfalldurchführung und –auswertung von RapidRep für den Rational Quality Manager verfügbar.

Die Anbindung wurde von IBM Mitarbeitern untersucht und mit dem Ready for Rational Software Logo ausgezeichnet.

 

Anlegen eines RapidRep Test-Skripts in RQM

  • Im Rational Quality Manager wird ein  Test Script angelegt, wobei als Typ: „Data Testing with RapidRep“ ausgewählt wird.
  • Über einen Importvorgang werden alle verfügbaren Reportdefinitionen angezeigt. Im Beispiel wurde die Currency Test Reportdefinitionen selektiert und gemeinsam mit den ggfs. anzupassenden Parametern als Bestandteil des Testskriptes abgespeichert.

 

Anlegen eines Test Case in RQM

  • Ein Test Case in Rational Quality Manager wird angelegt und das im Schritt zuvor angelegte Test Skript zugeordnet.
  • Sobald der Testfall gestartet wird, wird im Hintergrund RapidRep aktiv und führt den Testfall mit den Daten aus dem Testskript aus.

Ergebnis eines gerechneten Testfalles

  • Nach dem Anstarten des Testfalles erscheint zunächst ein Fortschrittsbalken und anschließend ein „Execution Result“
  • Da in unserem Beispiel zwei Währungen fehlen, wird als Testfall Ergebnis „failed“ zurückgegeben.
  • Am unteren Bildrand erscheint der von RapidRep erzeugte Testfallbericht als angehängte Excel Arbeitsmappe.
  • Natürlich können Testfälle beliebig oft angestoßen werden. Die Historie aller Ergebnisse wird in Rational Quality Manager verwaltet.
  • Das Fortschrittsreporting und andere Berichtsarten können mit den Ergebnissen aus RapidRep direkt in Rational Quality Manger wie gewohnt erstellt werden

Zusammenfassung

Das Anwendungsbeispiel demonstriert wie RapidRep die Qualität von Daten überprüfen kann. Es spielt dabei keine Rolle, wo sich die Ist- und Soll-Daten befinden, da RapidRep alle relevanten Datenquellen unterstützt. In praxisnahen Anwendungsfällen müssen nicht selten Dutzende solcher Daten-Checks durchgeführt werden. Seitens RapidRep besteht keine Limitierung.

Die Umsetzung eines Testfalles erfolgt in der Regel nur einmal während der Designphase, während die Auswertung der Testfälle beliebig oft und parametrisiert (evtl. auch im Batch) durchgeführt wird. Die Durchführung ist sehr einfach und kann wie gezeigt auch von außerhalb aus dem Rational Quality Manager heraus erfolgen.

Vorteile:

  • die produzierten Ergebnisse sind vollkommen transparent und nachvollziehbar
  • die Resultate der Testfallauswertung sind vollständig in einer MS Excel Arbeitsmappe enthalten
  • wird ein Testmanagementsystem verwendet, in diesem Fall der IBM Rational Quality Manager,
    kann die Planung in Rational erfolgen und die Durchführung und Ergebnisauswertung der Testfälle
    von RapidRep erledigt werden. Die Integration ist vollständig und für den Benutzer transparent.
  • das Vorgehen ermöglicht eine hohe Testabdeckung bei niedrigen Kosten