Agile BI in der Praxis Agiles Testen Thomas Flecken Consultant OPITZ CONSULTING Deutschland GmbH Oracle DWH Konferenz Kassel, 20.03.2013 Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 1 Agenda 1. Vorstellung OPITZ CONSULTING 1.1 Die Denkfabrik im Grünen 2. Voraussetzungen für automatisiertes Testen 3. Automatisches Deployment 4. Werkzeuge und Stilmittel Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 2 1 Vorstellung OPITZ CONSULTING Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 3 Vorstellung OPITZ CONSULTING Mission Märkte Wir entwickeln gemeinsam mit allen Branchen Lösungen, die dazu führen, dass sich diese Organisationen besser entwickeln als ihr Wettbewerb. Branchenübergreifend Über 600 Kunden Unsere Dienstleistung erfolgt partnerschaftlich und ist auf eine langjährige Zusammenarbeit angelegt. 29% Industrie / Versorger / Telekommunikation 42% Öffentliche Auftraggeber / Banken und Versicherungen / Vereine und Verbände Leistungsangebot Eckdaten Business IT Alignment Business Information Management Business Process Management Anwendungsentwicklung SOA und System-Integration IT-Infrastruktur-Management Gründung 1990 400 Mitarbeiter 9 Standorte Agile BI in der Praxis – Agiles Testen 29% Handel / Logistik / Dienstleistungen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 4 1.1 Die Denkfabrik im Grünen Mit ganzheitlichen Lösungen und in verantwortungsvoller Zusammenarbeit zur nachhaltigen Wertschöpfung Ihrer IT-Projekte www.denkfabrik-im-gruenen.de Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 5 2 Voraussetzungen für automatisiertes Testen Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 6 Anzahl Funktionalitäten Automatisierte Tests sind Pflicht! 50 45 40 35 30 25 20 15 10 5 0 Alte Funktionalitäten (Regressionstests) Neue Funktionalitäten S1 S2 S3 S4 S5 S6 S7 S8 S9 S10 Sprint Aufwand für Regressionstests steigt stetig Testabdeckung darf nicht Zufall überlassen bleiben Testautomatisierung ist Pflicht! Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 7 Voraussetzungen für automatisiertes Testen Systemlandschaft Zentraler Testserver DB-Instanzen ETL-Tool Team Generalisten Keine dedizierten Entwickler und Tester Rollen wechseln pro Task bzw. Sprint Einsatz von Pair-Programming Administrative Kontrolle über Systemlandschaft DBA-Rolle IPC-Administrator Nicht: OS-User oracle, root Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 8 TDD – Testgetriebene Entwicklung Entwicklung / Erweiterung des Testfalls erfolgreich Ausführung des Testfalls schlägt fehl Implementierung des Codes Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 9 TDD – Testgetriebene Entwicklung Erhöhte Testabdeckung Dokumentation Funktionsumfang des Codes Mögliche Fehlersituationen Grey-Box-Tests Kombination von Black-Box- und White-Box-Tests Software enthält ausschließlich getesteten Code Exploratives Testen rundet das Vorgehen ab Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 10 3 Automatisches Deployment Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 11 Automatisches Deployment – Allgemein Separate Deployments der Komponenten DB ETL Zeitpunkte für Deployments Als Bestandteil der täglichen Testläufe Untertägige Deployments aufgrund iterativer Entwicklung und Test Wiederholbarkeit von Deployments ETL-Prozesse und Datenbankstrukturen passen zusammen Entwickler checken nur auslieferbare bzw. testreife Komponenten ein Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 12 Automatisches Deployment – DB-Inhalte Neuentwicklungen und Modifikationen müssen auf dem Testsystem verfügbar sein: Tabellenstrukturen und Views Packages und Prozeduren Setzen von Parametern zur Steuerung der ETL-Prozesse OC Schemaverwaltung + Oracle Bordmittel Basierend auf Ant und PL/SQL Stellt den Sollzustand des Zielsystems her DDL DML DCL Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 13 Automatisiertes Deployment – DDL, DCL, Datenmigrationen OC Schemaverwaltung Objektskripte Schemaverwaltungssteuertabellen Entwicklung Test Abnahme Produktion DB-Schema (DWH_SA…) DB-Schema (DWH_SA…) DB-Schema (DWH_SA…) DB-Schema (DWH_SA…) Schemaverwaltungspackage Schemaverwaltungspackage Schemaverwaltungspackage Schemaverwaltungspackage Mindestens täglich Pro Release Pro Release deltarelevante Objektskripte Schemaverwaltung (Ant-Scripte, Subversion) Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 14 Automatisches Deployment – ETL-Prozesse Neue Programmteile im Entwicklungsrepository Sources, Targets Mapplets, Mappings Worklets, Workflows Repository-Query bestimmt Inhalt des Deploymentpaketes Deployment-Workflows Auf Entwicklungs- und Testumgebung Erleichtern das Monitoring Nutzung von Informatica-Kommandozeilentools Reduziert den Aufwand und die Fehleranfälligkeit Signifikant höhere Performance beim Deployment Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 15 Automatisiertes Deployment – Informatica Entwicklung Informatica Client Informatica Repository Test Abnahme Produktion Informatica Repository Informatica Repository Informatica Repository pmprep ObjectImport pmprep ObjectImport pmprep ObjectImport Mindestens täglich Pro Release Pro Release Objektliste pmrep ExecuteQuery pmrep ObjectExport Subversion Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 16 4 Werkzeuge und Stilmittel Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 17 Werkzeuge und Stilmittel – Test-Suite Entwicklung Test ETL-Repository ETL-Entwickler-Clients ETL-Verarbeitung Testserver Deployment (DDL,ETL) ETL-Repository Testplan Testfall 1 Testfall N DWH-DB Testfallverarbeitung DWH-DB Subversion DB-Entwickler-Clients Testfallentwicklung (TDD) Agile BI in der Praxis – Agiles Testen Protokollierung Protokollversand DWH-DB-Host © OPITZ CONSULTING Deutschland GmbH 2013 Seite 18 Werkzeuge und Stilmittel – Baselinedumps Baselinedumps exportieren Nach Produktivsetzung eines neuen Softwareoder Datenstandes Iterative Entwicklung TDD Baselinedumps importieren Agile BI in der Praxis – Agiles Testen Nächtliche Testläufe © OPITZ CONSULTING Deutschland GmbH 2013 Seite 19 Werkzeuge und Stilmittel – Testfallkategorien Datenabgleiche innerhalb einer Schicht Datenabgleiche zwischen den Schichten Datenabgleiche End-to-End Einhaltung von Konventionen Prüfungen auf das Data Dictionary Inhalte von Fehlertabellen Bereitstellen synthetischer Daten Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 20 Werkzeuge und Stilmittel – Testfallkomponenten Registrierung sqlplus /nolog @register_testfall 01010_DDL $1 Aufruf sqlplus /nolog @01010_DDL.sql $1 Source Code select case when count(*)=0 then 'S' else 'E' end,count(*)||' fehlende Kommentare' into v_result,v_notes from ( select 1 from all_col_comments c inner join all_tables t on c.owner=t.owner and c.table_name=t.table_name where t.owner like 'DWH%’); Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 21 Werkzeuge und Stilmittel – Testergebnisse Testprotokolltabelle zum Persistieren von Ergebnissen S für Success: Testfall konnte keinen Fehler feststellen E für Error: Testfall hat Abweichungen festgestellt R für Registered: Testfall wurde nicht ausgeführt oder lief syntaktisch falsch 01010_DDL 01020_DDL 01030_DDL 01060_DDL S E S S 11.03.2013 07:47:46 11.03.2013 07:47:55 11.03.2013 07:48:02 11.03.2013 07:48:09 Agile BI in der Praxis – Agiles Testen 0 fehlende Kommentare 1 fehlende Kommentare 0 Fehler gefunden 0 nicht aktuelle Matviews © OPITZ CONSULTING Deutschland GmbH 2013 Seite 22 Anreichern mit synthetischen Testdaten Quellsysteme Synthetische Testdaten Staging Core Datamart Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 23 Löschen synthetischer Testdaten Dediziert per SQL Exakte Abgrenzung muss möglich sein Berechnete Aggregate nicht rücksetzbar Importieren des Baselinedumps Versetzt die DB in einen genau definierten Zustand Bisher geladenen Deltas gehen verloren Nutzen der Flashback-Table-Funktion flashback table to scn flashback table to timestamp Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 24 Werkzeuge und Stilmittel – Testpläne Aufteilung in logische Gruppen DB- und ETL-Deployment Protokollierung Quellsysteme Testgruppen beliebig zu- bzw. abschaltbar Erleichtert das Zusammenstellen des Testplanes Festlegung durch Testoperator Rolle wechselt pro Sprint Verantwortlich für Fokus und Umfang Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 25 Fazit Voraussetzungen müssen geschaffen werden Systeme Teamaufstellung TDD Investition rentiert sich Erhöhte Softwarequalität in der Praxis Frühes Erkennen von Fehlern (Entwicklung und Regression) Aufzeigen und Dokumentieren von Datenqualitätsproblemen Hohe Testabdeckung Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 26 Kontakt Thomas Flecken OPITZ CONSULTING Deutschland GmbH [email protected] +49 2261 6001 0 Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 27 Agile BI in der Praxis – Agiles Testen © OPITZ CONSULTING Deutschland GmbH 2013 Seite 28