Automatisiertes Testing alsErfolgsfaktor für Data Warehousing
Torsten Keil (Ventum Consulting)
Petr Beles (2150 GmbH)
DW2013 Zürich – 12 November 2013
PB
PB
Kurzvorstellung der Sprecher
Petr Beles [2150 GmbH]Senior Consultant ETL
Torsten Keil [Ventum Consulting GmbH & Co. KG]Mitglied der Geschäftsleitung
PB
PB
Für PrintedSlide ergänzenmit Details
Für PrintedSlide ergänzenmit Details
1
min
1
min
Agenda
Wieso teste ich?
Wo entstehen Fehler?
Welche Testansätze gibt es?
Welche Test-Werkzeuge gibt es?
PB
PB
5
min
5
min
Testing ist mühsam und teuer
PB
PB
Vertrauen in BI Systeme
Aufbau von Technical Debt und Vertrauensverlust
PB
PB
Grundthese
Kosten für die Fehlerbehebung
Durch Fehler werden direkte und indirekteFolgekosten verursacht, und je später imProduktlebenszyklus ein Fehler zu Tagetritt, desto größer sind seine finanziellenFolgen sowohl für den Hersteller als auchfür den Betreiber.
PB
PB
Toyota
Kleiner Defekt an den Fensterhebern
PB
PB
Agenda
Wieso teste ich?
Wo entstehen welche Fehler?
Welche Testansätze gibt es?
Welche Test-Werkzeuge gibt es?
PB
PB
5
min
5
min
Wann entstehen Fehler?
Spezifikation
Entwicklung
Roll Out
Betrieb
Funktionale Tests
Technische Tests
Regressions-Tests
Abnahme-Tests
Daten Validierung
Funktionale Tests
•Ergeben sich aus den Anforderungen
•Ergeben sich aus den Prozessen
•Müssen zusammen mit Fachpersonendefiniert werden
TK
TK
Beispiele funktionale Tests
•Stimmt die Summe der Konten Saldi mitdem Total im MIS überein?
•Sind alle Kunden im DWH vorhanden?
•Stimmt die Anzahl Transaktionen im DWHmit einer Erwartungshaltung überein?
•Wird die Währungsumrechnung richtigdurchgeführt?
TK
TK
Technische Tests
•Ergeben sich aus dem Design
•Sind einfacher zu entwickeln, wenn einklares Pattern zugrunde liegt undNaming Conventions eingehalten werden
•Können die Funktionalität vonSubkomponenten testen
TK
TK
Beispiel technische Tests
•Haben alle Fakten gültige Beziehungen zuDimensionen?
•Gibt es in den Dimensionen Duplikate?
•Habe ich in den Dimensionen springendeWerte?
•Nimmt die Anzahl aktiver Dimensionseinträgeab anstatt zu?
•Entsprechen die Daten definierten Pattern
TK
TK
Regressions Tests
•Ist einmal bereitgestellte Funktionalitätnoch voll funktionsfähig
•Werden Änderungen in denAnforderungen auch im Resultatreflektiert
TK
TK
Beispiel Regressions Tests
•Der modifizierte Prozess liefert mit bekanntenDaten die gleichen Resultate bis auf die expliziterwarteten Änderungen
•Die Abnahme und die Produktionsumgebungliefern mit den aktuellen Daten die gleichenResultate bis auf die explizit erwartetenÄnderungen
TK
TK
Abnahme Tests
•Reflektieren die aggregierten Resultateder Verarbeitung die Erwartungen derBusiness User
•Stimmen betrachtete Einzelfälle mit denQuellsystemen überein
•Bilden die Basis für eine Go-Live-Entscheidung
TK
TK
Beispiel Abnahme Tests
•Jahresumsatz für das vergangene Jahrdeckt sich mit dem Jahresbericht
•Bestehende Stammkunden sind mitsamtallen Transaktionen im DWH ersichtlich
•Ein Neukunde vom Vortag ist im DWHrichtig aufgenommen worden
TK
TK
Daten Validierung
•Stimmen die Erwartungen an die Daten und anden Verarbeitungsprozess auch im Betrieb
•Ist der Prozess wie erwartet durchgelaufen
•Sind unerwartete Datenfälle aufgetaucht
•Sind die Resultate der Datenverarbeitungkorrekt
TK
TK
Beispiele Daten Validierung
•Konnten alle Buchungen einem Kontozugewiesen werden
•Ist der Year to Date Jahresumsatz höherals am Vortag
•Gab es Neukundenbestellungen
TK
TK
Agenda
Wieso teste ich?
Wo entstehen welche Fehler?
Welche Testansätze gibt es?
Welche Test-Werkzeuge gibt es?
PB
PB
5
min
5
min
Unterschiedliche Testansätze
•Testen gegen eine Baseline (aufdefiniertem Testset erstellter Output)
•Testen gegen absolute Regeln
•Stichproben für Freigabe (Drill Down)
•Dual Stream:Doppelte Entwicklung der Logik
Absolute Regeln
Jede Transaktionhat ein Konto
Es darf keine zweiKunden mit dergleichenKundennummer geben
Absolute Regeln Vor- und Nachteile
Decken funktionale Themen ab
Können auf einzelnen Tabellen erstellt werden
Braucht keine Testdaten
Kann zur Datenvalidierung eingesetzt werden
Fehler können auch in den formuliertenErwartungen liegen
Mengenerwartungen ändern sich über die Zeit
Baseline Testing
Gesicherte InputDaten
AngepasstVerarbeitung
ErwartetesErgebnis
NeueBaselinesichern
Aktuelle Daten
Verarbeitung aufProduktion undAcceptance
VergleichErgebnisse
Baseline Vor- und Nachteile
Einfache und dadurch günstigeEntwicklung
Zeigt auch unerwartete Fehler auf
Baseline kann mit Datenextreme undFehlern angereichert werden
Benötigt Testdaten Sets *Subsetting
Fehler in der Baseline werden nichtentdeckt
Stichproben
Kunde Meier hat 2Verträge
Kostenstelle 800210hatte im ersten Quartaleinen Umsatz von1.2 Millionen
Stichproben Vor- und Nachteile
Kann Fehler in der Spezifikationaufdecken
Deckt auch Detailfehler auf in Attributen
Negativfälle schwierig / nicht prüfbar
Nicht wiederholbar
Beschränkt automatisierbar
Dualstream Ansätze
Anderer Entwickler
Andere Technologie
Anderes Quellsystem
Dualstream Vor- und Nachteile
Kann über längere Zeit vollautomatisiertlaufen
Braucht keine Testdaten-Sets
Doppelter Entwicklungsaufwand
Doppelter Maintenance Aufwand
Was teste ich wie?
Spezifikation
Entwicklung
Roll Out
Betrieb
Agenda
Wieso teste ich?
Wo entstehen welche Fehler?
Welche Testansätze gibt es?
Welche Test-Werkzeuge gibt es?
PB
PB
5
min
5
min
Wie führe ich Tests technisch durch
•Testdaten
•Testdokumentation & Ausführung
Anforderungen an Testdaten
•Subsets
•Veränderungen über mehrere Tage
•Anonymisierung
•Einbringung von
Extrema
Wendepunkten
Daten mit falscher Struktur
•Supersets
Testdaten Erstellung
Subsetting Tools
•Jailer
•Testbench by Origsoft
•Datasubset by Grid-Tools
•Informatica Data Subset
PB
PB
Test Dokumentationund Ausführung
•Bestehende Tests müssen aufgezeichnetwerden
•Die Tests müssen einfach ausführbar sein
•Testresultate müssen historisiert werden
•Die Resultate müssen den Zielgruppen zurVerfügung stehen und verständlich sein