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 Agile BI
Torsten Keil (Ventum Consulting)
Petr Beles (2150 GmbH)
DW2012 Zürich – 13 November 2012
PB
PB
RZ_2150_RGB.jpg
2150  GmbH | Unterfeldstrasse18 | CH-8050 Zürich
Tel. +41 32 511 27 89 | kontakt@2150.ch
VentumLogo.pdf
Distilling 
business 
insight.
PB
PB
1
min
1
min
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
Scope
Wie kann ich die Datenbereitstellungtesten?
Wie verankere ich dies in meinemEntwicklungsprozess?
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Agenda
Wieso teste ich?
Was teste ich?
Wie teste ich?
Wie automatisiere ich?
Wie verankere ich Testing im Prozess?
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 SystemeAufbau von Technical Debt und Vertrauensverlust
	Kleiner Fehler		Incident		Problem		Quickfix		Unsauberes Design
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
GrundtheseKosten für die Fehlerbehebung
Durch Fehler werden direkte undindirekte Folgekosten verursacht, undje später im Produktlebenszyklus einFehler zu Tage tritt, desto größer sindseine finanziellen Folgen sowohl fürden Hersteller als auch für denBetreiber.
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
ToyotaKleiner Defekt an den Fensterhebern
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Hello.chMIS weist 7 Mio Barreserven aus – effektiv gibt es aber keine
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Agile BI
	Release alle 2-4 Wochen		Kleine Änderungen		Grosser Teil der Funktionen nicht betroffen		Regression Testing
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Agenda
Wieso teste ich?
Was teste ich?
Wie teste ich?
Wie automatisiere ich?
Wie verankere ich Testing im Prozess?
TK
TK
5
min
5
min
RZ_2150_SW.jpg
VentumLogo.pdf
Was teste ich?
Quellsystem
Quellsystem
ODS
ODS
Staging
Staging
Presentation
Presentation
GUI
GUI
Werden alle Datenverarbeitet
Werden alle Datenverarbeitet
Werden dieBusiness Rulesrichtig angesetzt?
Werden dieBusiness Rulesrichtig angesetzt?
Werden Daten-Fehler richtiggehandhabt
Werden Daten-Fehler richtiggehandhabt
Werden alle Datengeladen
Werden alle Datengeladen
Stimmen dieStrukturen
Stimmen dieStrukturen
Sind die Datenaktuell
Sind die Datenaktuell
Sind alle Datenangekommen
Sind alle Datenangekommen
Stimmen dieStrukturen
Stimmen dieStrukturen
Stimmen KPIs mitder Erwartungs-haltung überein
Stimmen KPIs mitder Erwartungs-haltung überein
Werden die Daten
richtig dargestellt
Werden die Daten
richtig dargestellt
Ist dieFunktionalitätvorhanden
Ist dieFunktionalitätvorhanden
Sind Abfragenreproduzierbar
Sind Abfragenreproduzierbar
TK
TK
RZ_2150_SW.jpg
VentumLogo.pdf
Was wird getestet?
Welche Tests werden vom BI-Teamerwartet?
Was vom Fachbereich gefordert wird!
Nichts!
TK
TK
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 imDWH mit 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 eingehaltenwerden
Können die Funktionalität vonSubkomponenten testen
TK
TK
RZ_2150_SW.jpg
VentumLogo.pdf
Beispiel technische Tests
Haben alle Fakten gültige Beziehungenzu Dimensionen?
Gibt es in den Dimensionen Duplikate?
Habe ich in den Dimensionen springendeWerte?
Nimmt die Anzahl aktiverDimensionseinträge ab anstatt zu?
Entsprechen die Daten definiertenPattern
TK
TK
RZ_2150_SW.jpg
VentumLogo.pdf
Agenda
Wieso teste ich?
Was teste ich?
Wie teste ich?
Wie automatisiere ich?
Wie verankere ich Testing im Prozess?
PB
PB
13
min
13
min
RZ_2150_SW.jpg
VentumLogo.pdf
Die 2150 GmbH & Ventum Consulting
Eckdaten
Gründungsjahr 2150
5 Millionen Mitarbeiter
Jahresumsatz 0 CHF
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Messbarkeit & Erwartungswert
Das-ist-Niedersachsens-fieseste-Radarfalle-mit-Video_ArtikelQuer.jpg
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Erwartungswert zum Zweiten
	Definierter Input	Definierte Verarbeitung	Definierter Output
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Anforderungen an Testdaten
Definiert
Enthalten Extreme, Sonderfälle undWendepunkte
Persistent
Teilmenge für die Entwicklung
Supermenge für Last-Tests
System übergreifend konsistent
Anonymisiert
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Werkzeugkategorien
Subsetting
Daten- und Strukturvergleich
Funktionale Tests
PB
PB
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
Subsetting Tools
PB
PB
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
Tests von Prozeduren
Toad Code Tester
SQLUnit
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Quest Code Tester und SQLUnit
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
Fitnesse mit DBFit
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Daten Vergleich Do-It-Yourself
	Schlüssel definieren	Views erstellen	SQL Minus
PB
PB
RZ_2150_SW.jpg
VentumLogo.pdf
Agenda
Wieso teste ich?
Was teste ich?
Wie teste ich?
Wie automatisiere ich?
Wie verankere ich Testing im Prozess?
TK
TK
10
min
10
min
RZ_2150_SW.jpg
VentumLogo.pdf
Was bedeutet Automatisierung?
Aufsetzen der Entwicklungs- /Testumgebungen
Laden von Testdaten
Ausführung von Tests(Adhoc / Scheduled)
Reporting
Alarmierung
TK
TK
RZ_2150_SW.jpg
VentumLogo.pdf
Möglichkeiten der Automatisierung
ETL Tools
Shell- und Batch-Skripte
Ant / Maven
Jenkins
QuerySurge
Do It Yourself (Script, SQL, DBScheduler, Materialized Views)
TK
TK
RZ_2150_SW.jpg
VentumLogo.pdf
ELT Tools
Komplettlösung mit Versionierung,Scheduling, Monitoring, etc.
Entwickler sind mit diesem Toolsvertraut
Schnell einsetzbar (Environment, …)
Kostenvorteilen da die Tools bereitsexistieren
TK
TK
RZ_2150_SW.jpg
VentumLogo.pdf
Shell- und Batchskripe
Wissen ist weiter verbreitet
Flexibel
Geringe Kosten
Portierbar
Geringe Anforderungen an dieInfrastruktur
command line
TK
TK
RZ_2150_SW.jpg
VentumLogo.pdf
Ant / Maven
Ant und Maven sindBuild-Management-Tools
Weite Verbreitung in derSoftware-Entwicklung
XML-Basiert
Gute Integration in IDEs
Flexibel durch zahlreicheErweiterungsmöglichkeiten
Open Source & Free
http://3.bp.blogspot.com/-HLT4LRIKJRk/T9WeuyWcXaI/AAAAAAAAAlE/UFjf4e6w1nA/s1600/maven-logo.png
554px-Apache-Ant-logo.svg
TK
TK
RZ_2150_SW.jpg
VentumLogo.pdf
Jenkins
Jenkins ist ein erweiterbares, web-basiertes System zur kontinuierlichenIntegration
Unterstützt eine Vielzahl von Build-Tools,Versionsverwaltungen und Testtools
Enterprise Features
Sinnvoller Einsatz in Teams
Features: SCM, Execution,
Open Source & Free
http://jenkins-ci.org/sites/default/files/images/headshot.png
Hudson Screenshot.png
TK
TK
RZ_2150_SW.jpg
VentumLogo.pdf
QuerySurge
Webbasiert
Query Pairs
Zuordnung zu Releases und Gruppen
Scheduler
Integriertes Reporting
Integration in Ticketsystem
TK
TK
RZ_2150_SW.jpg
VentumLogo.pdf
Agenda
Wieso teste ich?
Was teste ich?
Wie teste ich?
Wie automatisiere ich?
Wie verankere ich Testing im Prozess?
TK
TK
5
min
5
min
RZ_2150_SW.jpg
VentumLogo.pdf
Wer testet was und wer istverantwortlich?
Rollen
Fachbereich / Benutzer
Product Owner
Entwickler
Release Management
Operations
TK
TK
RZ_2150_SW.jpg
VentumLogo.pdf
Agile Entwicklung
SprintPlanning
SprintPlanning
Entwicklung
Entwicklung
Review
Review
Release
Test  Int.
Release
Test  Int.
Release
Int.  Prod
Release
Int.  Prod
Definitionof Done
Definitionof Done
Definitionof Ready
Definitionof Ready
Betrieb
Betrieb
UAT / JIT
UAT / JIT
TK
TK
RZ_2150_SW.jpg
VentumLogo.pdf
Testing in Agiler-BI
Fachbereich
Fachbereich
Product Owner
Fachbereich
Entwicklerteam
Definition
Definition
Fachbereich
Product
Owner
Testanfor-derungen
Testanfor-derungen
Operations
Release
Manager
Release
Release
Ausführung
Verantwortung
Testfall-
Impl.
Umsetzung &
Ausführung
Umsetzung &
Ausführung
Test-Fälle
Test-Fälle
Entwicklerteam
Freigabe
Freigabe
Abnahme
Abnahme
Ausführung
Ausführung
Installation
Installation
Ergebnis-
präsentation
Ergebnis-
präsentation
Erstellung
Erstellung
RZ_2150_SW.jpg
VentumLogo.pdf
Fazit
Agile Entwicklung erfordert TestAutomatisierung
Automatisiertes Testen reduziertlangfristig Kosten und steigert Vertrauen
Automatisiertes Testen ist heute mitbestehen Mitteln möglich
Testen muss von der Fachseite unterstütztwerden
Testen muss in den Prozessen festverankert werden
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/dw2012
PB
PB