RZ_2150_RGB.jpg
2150  GmbH | Unterfeldstrasse18 | CH-8050 Zürich
Tel. +41 32 511 27 89 | kontakt@2150.ch
VentumLogo.pdf
Automatisiertes Testing alsErfolgsfaktor für Data Warehousing
Torsten Keil (Ventum Consulting)
Petr Beles (2150 GmbH)
DW2013 Zürich – 12 November 2013
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Kurzvorstellung der Sprecher
Petr Beles [2150 GmbH]Senior Consultant ETL
Torsten Keil [Ventum Consulting GmbH & Co. KG]Mitglied der Geschäftsleitung
FRZ0012_5x7 (3).jpg
PB
PB
Für PrintedSlide ergänzenmit Details
Für PrintedSlide ergänzenmit Details
1
min
1
min
RZ_2150_SW.jpg
VentumLogo.pdf
Agenda
Wieso teste ich?
Wo entstehen Fehler?
Welche Testansätze gibt es?
Welche Test-Werkzeuge gibt es?
PB
PB
5
min
5
min
RZ_2150_SW.jpg
VentumLogo.pdf
Testing ist mühsam und teuer
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Vertrauen in BI Systeme
Aufbau von Technical Debt und Vertrauensverlust
PB
PB
	Kleiner Fehler		Incident		Problem		Quickfix		Unsauberes Design
RZ_2150_SW.jpg
VentumLogo.pdf
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
RZ_2150_SW.jpg
VentumLogo.pdf
Toyota
Kleiner Defekt an den Fensterhebern
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Agenda
Wieso teste ich?
Wo entstehen welche Fehler?
Welche Testansätze gibt es?
Welche Test-Werkzeuge gibt es?
PB
PB
5
min
5
min
RZ_2150_SW.jpg
VentumLogo.pdf
Wann entstehen Fehler?
Spezifikation
Entwicklung
Roll Out
Betrieb
Funktionale Tests
Technische Tests
Regressions-Tests
Abnahme-Tests
Daten Validierung
RZ_2150_SW.jpg
VentumLogo.pdf
Funktionale Tests
Ergeben sich aus den Anforderungen
Ergeben sich aus den Prozessen
Müssen zusammen mit Fachpersonendefiniert werden
TK
TK
RZ_2150_SW.jpg
VentumLogo.pdf
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
RZ_2150_SW.jpg
VentumLogo.pdf
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
RZ_2150_SW.jpg
VentumLogo.pdf
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
RZ_2150_SW.jpg
VentumLogo.pdf
Regressions Tests
Ist einmal bereitgestellte Funktionalitätnoch voll funktionsfähig
Werden Änderungen in denAnforderungen auch im Resultatreflektiert
TK
TK
RZ_2150_SW.jpg
VentumLogo.pdf
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
RZ_2150_SW.jpg
VentumLogo.pdf
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
RZ_2150_SW.jpg
VentumLogo.pdf
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
RZ_2150_SW.jpg
VentumLogo.pdf
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
RZ_2150_SW.jpg
VentumLogo.pdf
Beispiele Daten Validierung
Konnten alle Buchungen einem Kontozugewiesen werden
Ist der Year to Date Jahresumsatz höherals am Vortag
Gab es Neukundenbestellungen
TK
TK
RZ_2150_SW.jpg
VentumLogo.pdf
Agenda
Wieso teste ich?
Wo entstehen welche Fehler?
Welche Testansätze gibt es?
Welche Test-Werkzeuge gibt es?
PB
PB
5
min
5
min
RZ_2150_SW.jpg
VentumLogo.pdf
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
RZ_2150_SW.jpg
VentumLogo.pdf
Absolute Regeln
Jede Transaktionhat ein Konto
Es darf keine zweiKunden mit dergleichenKundennummer geben
RZ_2150_SW.jpg
VentumLogo.pdf
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
RZ_2150_SW.jpg
VentumLogo.pdf
Baseline Testing
Gesicherte InputDaten
AngepasstVerarbeitung
ErwartetesErgebnis
NeueBaselinesichern
Aktuelle Daten
Verarbeitung aufProduktion undAcceptance
VergleichErgebnisse
RZ_2150_SW.jpg
VentumLogo.pdf
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
RZ_2150_SW.jpg
VentumLogo.pdf
Stichproben
Kunde Meier hat 2Verträge
Kostenstelle 800210hatte im ersten Quartaleinen Umsatz von1.2 Millionen
RZ_2150_SW.jpg
VentumLogo.pdf
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
RZ_2150_SW.jpg
VentumLogo.pdf
Dualstream Ansätze
Anderer Entwickler
Andere Technologie
Anderes Quellsystem
RZ_2150_SW.jpg
VentumLogo.pdf
Dualstream Vor- und Nachteile
Kann über längere Zeit vollautomatisiertlaufen
Braucht keine Testdaten-Sets
Doppelter Entwicklungsaufwand
Doppelter Maintenance Aufwand
RZ_2150_SW.jpg
VentumLogo.pdf
Was teste ich wie?
Spezifikation
Entwicklung
Roll Out
Betrieb
RZ_2150_SW.jpg
VentumLogo.pdf
Agenda
Wieso teste ich?
Wo entstehen welche Fehler?
Welche Testansätze gibt es?
Welche Test-Werkzeuge gibt es?
PB
PB
5
min
5
min
RZ_2150_SW.jpg
VentumLogo.pdf
Wie führe ich Tests technisch durch
Testdaten
Testdokumentation & Ausführung
RZ_2150_SW.jpg
VentumLogo.pdf
Anforderungen an Testdaten
Subsets
Veränderungen über mehrere Tage
Anonymisierung
Einbringung von
Extrema
Wendepunkten
Daten mit falscher Struktur
Supersets
RZ_2150_SW.jpg
VentumLogo.pdf
Testdaten Erstellung
C:\Documents and Settings\pbeles\My Documents\My Pictures\Jailer_3.jpg
RZ_2150_SW.jpg
VentumLogo.pdf
Subsetting Tools
Jailer
Testbench by Origsoft
Datasubset by Grid-Tools
Informatica Data Subset
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
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
RZ_2150_SW.jpg
VentumLogo.pdf
Struktur Vergleichs-Werkzeuge
DBForge von Devart
Toad von Quest
Oracle Data Modeler
SQL PowerArchitect von SQLPower
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Struktur Vergleichs-Werkzeuge
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Daten Vergleichs-Werkzeuge
SQL Abfragen
Reporting Tools
DBForge von Devart
Toad von Quest
QuerySurge
Fitnesse mit DBFit
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
DBForge
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
QuerySurge
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
QlickView Validierungs-Report
RZ_2150_SW.jpg
VentumLogo.pdf
Fitnesse mit DBFit
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Daten Vergleich Do-It-Yourself
Schlüsseldefinieren
Viewserstellen
SQL Minus
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Fragen?
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Weitere Informationen
http://www.2150.ch
http://www.ventum.de
Präsentation Online:
http://www.2150.ch/dw2013
PB
PB