Agile BI in der Praxis Agiles Testen Andreas Ballenthin, Solution Architect OPITZ CONSULTING Deutschland GmbH Agile World 2014 München, 01.07.2014 OPITZ CONSULTING GmbH 2014 Seite 1
Agenda 1. Vorstellung OPITZ CONSULTING 2. Agile BI und BI-Referenzarchitektur 3. Test & Entwicklung 4. Testvorbereitung 5. Deployment 6. Automatisierte Backendtests 7. Automatisierte Frontendtests 8. Testauswertung OPITZ CONSULTING GmbH 2014 Seite 2
1 Vorstellung OPITZ CONSULTING OPITZ CONSULTING GmbH 2014 Seite 3
Mission Wir entwickeln gemeinsam mit allen Branchen Lösungen, die dazu führen, dass sich diese Organisationen besser entwickeln als ihr Wettbewerb. Unsere Dienstleistung erfolgt partnerschaftlich und ist auf eine langjährige Zusammenarbeit angelegt. Leistungsangebot Business IT Alignment Business Information Management Business Process Management Anwendungsentwicklung SOA und System-Integration IT-Infrastruktur-Management Märkte Branchenübergreifend Über 600 Kunden 29% Industrie / Versorger / Telekommunikation Eckdaten Gründung 1990 400 Mitarbeiter 8 Standorte 29% Handel / Logistik / Dienstleistungen 42% Öffentliche Auftraggeber / Banken und Versicherungen / Vereine und Verbände OPITZ CONSULTING GmbH 2014 Seite 4
2 Agile BI und Referenzarchitektur OPITZ CONSULTING GmbH 2014 Seite 5
Das heutige Thema AGILE BI AGILE BI OPITZ CONSULTING GmbH 2014 Seite 6
Agile BI ist nicht Standard TDWI 2011 Thema ist völlig neu wird kontrovers diskutiert Projektbeginn Februar 2012 DOAG Konferenz 2012 Agile BI in der Praxis Erfahrungsbericht aus Projekterfolgen Skepsis 2 Vorträge und 1 Unconference-Slot zu Agile BI DOAG Konferenz 2013 Agile BI in der Praxis Agiles Testen Erfahrungsbericht aus Projekterfolgen Wenige Kunden folgen den Ansätzen, diese arbeiten jedoch erfolgreich OPITZ CONSULTING GmbH 2014 Seite 7
BI-Referenzarchitektur Gansor, T. / Totok, A. / Stock, S.: Von der Strategie zum Business Intelligence Competency Center (BICC), Konzeption Betrieb Praxis. München 2010 OPITZ CONSULTING GmbH 2014 Seite 8
Die Architektur muss Agilität zulassen Komplexe Architekturen Komplexe multidimensionale Modelle (fachlich, technisch) Kennzahlen basieren auf großer Menge an Quelldaten nicht einfach, schon frühzeitig Ergebnisse zu erhalten Große Auswirkungen bei Anpassungen z.b. Einbau einer fehlenden Dimension ist schnell mit hohem Aufwand verbunden Komplexe und vielfältige Werkzeuge, Herstellersuiten OPITZ CONSULTING GmbH 2014 Seite 9
3 Test & Entwicklung OPITZ CONSULTING GmbH 2014 Seite 10
Der tägliche Testzyklus TDD Testauswertung Testvorbereitung Frontendtests Deployment Verarbeitung 1..N Test Verarbeitung 1..N OPITZ CONSULTING GmbH 2014 Seite 11
Testen fängt mit der Architektur an Dimensionen Fakten Preparation Area Calculation Area Core (3NF) OPITZ CONSULTING GmbH 2014 Seite 12
Testgetriebene Entwicklung - TDD Testfall entwickeln / erweitern erfolgreich Ausführung des Testfalls schlägt fehl Implementierung des Codes Fehler so früh wie möglich erkennen Testfall und Code werden von verschiedenen Teammitgliedern entwickelt Auch: Fachliche Schärfung OPITZ CONSULTING GmbH 2014 Seite 13
Typischer Backend-Testfall SQL*Plus und einfache Shellscripts Testfallregistrierung Was soll getestet werden? Testfall = recht einfaches PL/SQL Testprotokolltabelle zum Persistieren von Ergebnissen Ergebnis Aussagekräftige Fehlerbeschreibung 01010_DDL S 11.03.2013 07:47:46 01020_DDL E 11.03.2013 07:47:55 01030_DDL S 11.03.2013 07:48:02 01060_DDL S 11.03.2013 07:48:09 01010_DDL R 11.03.2013 07:48:09 0 fehlende Kommentare 1 fehlende Kommentare 0 Fehler gefunden 0 nicht aktuelle Matviews OPITZ CONSULTING GmbH 2014 Seite 14
Typischer Backend-Testfall @dblogin_informatica_&1..sql declare v_testfall varchar2(10) := '01050_DM'; v_result varchar2(1) := 'E'; v_notes varchar2(255) := NULL; begin result_testfall (v_testfall,'r',v_notes); select case when count(*)=0 then 'S' else 'E' end, count(*) ' Unterschiede' into v_result, v_notes from (<testfallspezifisches SQL>); cdwhtest.result_testfall (v_testfall,v_result,v_notes); exception when others then result_testfall (v_testfall,v_result,'exception'); end; OPITZ CONSULTING GmbH 2014 Seite 15
Testfälle hängen am Taskboard!. Einen Testfall übernehmen wird sicht- und erlebbar! Definition neuer und zu ändernder Testfälle im Planning II OPITZ CONSULTING GmbH 2014 Seite 16
Testfallkategorien Berichte Semantischer Layer Datenabgleiche End-to-End Dimensionen Fakten Datenabgleiche innerhalb einer Schicht Preparation Area Calculation Area Core (3NF) Staging Area Datenquellen Datenabgleiche zwischen 2 Schichten OPITZ CONSULTING GmbH 2014 Seite 17
Werkzeuge und Stilmittel Testfallkategorien Datenabgleiche innerhalb einer Schicht Datenabgleiche zwischen den Schichten Datenabgleiche End-to-End Synchronisation von ETL und Test Prüfungen auf das Data Dictionary Inhalte von Fehlertabellen Kontextprüfberichte Kennzahlentests Performancetests Anwenderberichte Test BO-Universum Auswertung Repositories Bereitstellen synthetischer Daten Prüfung von Datenmigrationen OPITZ CONSULTING GmbH 2014 Seite 18
4 Testvorbereitung OPITZ CONSULTING GmbH 2014 Seite 19
Der tägliche Testzyklus TDD Testauswertung Testvorbereitung Frontendtests Deployment Verarbeitung 1..N Test Verarbeitung 1..N OPITZ CONSULTING GmbH 2014 Seite 20
Was testen wir heute? Welche Verarbeitungen? Es können nicht alle Verarbeitungen täglich laufen Wann? In welchen Umfang? Deployment Netzabgleich Test Netzabgleich 19:00 01:00 03:00 20:00 23:30 02:00 03:15 06:30 08:00 Call Data Records Test Call Data Records Vertragsmanagement Test Vertragsmanagement OPITZ CONSULTING GmbH 2014 Seite 21
Wer testet denn heute? Es gibt Spezialisten und rechte Hände Die Testverantwortlichen werden im Planning II bestimmt. Testvorbereitungen Konfiguration Cron-Jobs Parameteränderungen Auswahl zu verarbeitender Files, Anonymisierung dieser Files Testnachbereitungen Testprotokolle sichten Arbeit vorbereiten und verteilen Testverantwortlichen übernehmen nicht die Gesamtverantwortung! J C A T K D M B OPITZ CONSULTING GmbH 2014 Seite 22
5 Deployment OPITZ CONSULTING GmbH 2014 Seite 23
Der tägliche Testzyklus TDD Testauswertung Testvorbereitung Frontendtests Deployment Verarbeitung 1..N Test Verarbeitung 1..N OPITZ CONSULTING GmbH 2014 Seite 24
Anforderungen an automatisierte Deployments Obligatorisch Deploymentergebnis muss richtig sein Vollständigkeit, Korrektheit, Nachvollziehbarkeit vollständig automatisiert keinerlei manuelle Eingriffe = innerhalb eines Testplans Fehlerausschließende Bestückung des Deployments Letztes erfolgreich getestetes Paket muss auslieferbar sein Optional Deltadeployment Ausschluss von Objekten OPITZ CONSULTING GmbH 2014 Seite 25
Automatisches Deployment DB-Inhalte Neuentwicklungen und Modifikationen müssen auf dem Testsystem verfügbar sein Tabellen Views, Packages Parametern zur Steuerung der ETL-Prozesse setzen Berechtigungen OC Schemaverwaltung + Oracle Bordmittel Basierend auf Ant und PL/SQL Stellt Sollzustand aus Istzustand des Zielsystems her DDL DML DCL Kann Datenmigrationen durchführen OPITZ CONSULTING GmbH 2014 Seite 26
Automatisiertes Deployment DDL, DCL, Datenmigrationen Entwicklung Test Abnahme Produktion DB-Schema (DWH_SA ) DB-Schema (DWH_SA ) DB-Schema (DWH_SA ) DB-Schema (DWH_SA ) Schemaverwaltung Schemaverwaltungspackage Objektskripte Schemaverwaltungspackage Schemaverwaltungspackage Schemaverwaltungspackage Schemaverwaltungssteuertabellen Schemaverwaltung (Ant-Scripte, Subversion) deltarelevante Objektskripte Mindestens täglich Mindestens pro Release Mindestens pro Release OPITZ CONSULTING GmbH 2014 Seite 27
Automatisiertes Deployment Informatica Entwicklung Test Abnahme Produktion Informatica Client Informatica Repository Informatica Repository Informatica Repository Informatica Repository Objektliste pmrep ExecuteQuery pmrep ObjectExport pmprep ObjectImport pmprep ObjectImport pmprep ObjectImport Subversion Mindestens täglich Mindestens pro Release Mindestens pro Release OPITZ CONSULTING GmbH 2014 Seite 28
Automatisiertes Deployment Business Objects Entwicklung Test Abnahme Produktion Business Objects Client Business Objects Repository Business Objects Repository Business Objects Repository Business Objects Repository Objektliste per Objektbeschreibung.properties lcm.jar action=export lcm.jar action=import lcm.jar action=import lcm.jar action=import sftp-server Mindestens täglich Mindestens pro Release Mindestens pro Release OPITZ CONSULTING GmbH 2014 Seite 29
6 Automatisierte Backendtests OPITZ CONSULTING GmbH 2014 Seite 30
Der tägliche Testzyklus TDD Testauswertung Testvorbereitung Frontendtests Deployment Verarbeitung 1..N Test Verarbeitung 1..N OPITZ CONSULTING GmbH 2014 Seite 31
Werkzeuge und Stilmittel Test-Suite Entwicklung Test ETL-Entwickler-Clients ETL-Repository Testserver Deployment (DDL,ETL) Testplan Testfall 1 Testfall N ETL-Repository ETL-Verarbeitung DWH-DB Testfallverarbeitung DWH-DB SVN Protokollversand Protokollierung DB-Entwickler-Clients Testfallentwicklung (TDD) Baselinedumps DWH-DB-Host OPITZ CONSULTING GmbH 2014 Seite 32
Werkzeuge und Stilmittel Baselinedumps Produktivstellung Installation Abnahmeumgebung Sprintwechsel Baselinedumps exportieren Iterative Entwicklung Tag 1 Produktivstellungssimulation Nächtliche Testläufe Baselinedumps importieren Nächtliche Testläufe Iterative Entwicklung Tag N OPITZ CONSULTING GmbH 2014 Seite 33
7 Automatisierte Frontendtests OPITZ CONSULTING GmbH 2014 Seite 34
Der tägliche Testzyklus TDD Testauswertung Testvorbereitung Frontendtests Deployment Verarbeitung 1..N Test Verarbeitung 1..N OPITZ CONSULTING GmbH 2014 Seite 35
Werkzeuge und Stilmittel BO-Test-Suite Testserver Linux DB-Server Windows BO-Server Kundennetz Betreibernetz Backendtestplan Filesemaphor WinSCP BO BO- Systemereignis BO- Testplan BO-Auditing Exportfiles DB-Directory Ausführung BO- Reports Exportfiles (xlsx) Protokollversand Testprotokollierung WinSCP OPITZ CONSULTING GmbH 2014 Seite 36
7 Testauswertung OPITZ CONSULTING GmbH 2014 Seite 37
Der tägliche Testzyklus TDD Testauswertung Testvorbereitung Frontendtests Deployment Verarbeitung 1..N Test Verarbeitung 1..N OPITZ CONSULTING GmbH 2014 Seite 38
Testauswertung Alle Testprotokolle sollen 08:30 Uhr vorliegen Beide Testverantwortliche Prüfen Verarbeitungen Sondieren die Testprotokolle und bringen die Ergebnisse ins Daily ein Starten ggf. Testpläne oder Testfälle neu Übernehmen nicht die Gesamtverantwortung! 01010_DDL S 11.03.2013 07:47:46 01020_DDL E 11.03.2013 07:47:55 01030_DDL S 11.03.2013 07:48:02 01060_DDL S 11.03.2013 07:48:09 01010_DDL R 11.03.2013 07:48:09 0 fehlende Kommentare 1 fehlende Kommentare 0 Fehler gefunden 0 nicht aktuelle Matviews OPITZ CONSULTING GmbH 2014 Seite 39
Der tägliche Testzyklus - Zusammenfassung TDD Testauswertung Testvorbereitung Frontendtests Deployment Verarbeitung 1..N Test Verarbeitung 1..N OPITZ CONSULTING GmbH 2014 Seite 40
Kontakt Andreas Ballenthin OPITZ CONSULTING Deutschland GmbH andreas.ballenthin@opitz-consulting.com +49 2261 6001 0 youtube.com/opitzconsulting @OC_WIRE slideshare.net/opitzconsulting xing.com/net/opitzconsulting OPITZ CONSULTING GmbH 2014 Seite 41