Bi testing media_factory_0.10

624 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
624
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Bi testing media_factory_0.10

  1. 1. „Stimmen meine Zahlen?“ Automatisiertes Testen von BI-Applikationen mit dem Open Source Framework „Fitnesse“ 20.01.2012Stefan Kirnerinovex GmbHSenior Consultant BI Wir nutzen Technologien, um unsere Kunden glücklich zu machen. Und uns selbst.
  2. 2. Kurzvorstellung inovex GmbH• IT-Dienstleister in Pforzheim, München und Köln• 1999 gegründet, heute 80 Mitarbeiter• Portfolio: • IT Consulting • Business Intelligence, • Application Development, • Systems Operations • Training• Positionierung: Qualität, Technologiekompetenz, Kundenzufriedenheit• Kunden: Marktführer aus DAX 100 und gehobenem Mittelstand, z. B. 1&1, Bosch, buch.de, Daimler, DB Schenker, Ehrmann, EnBW, GMX, Mahle, maxdome, Porsche, web.de• mehr unter www.inovex.de
  3. 3. Warum automatisiert testen in BI Projekten?oder „was BI von Softwareentwicklung lernen kann“ • Agiles Arbeiten auch im DWH Bereich  Ständige iterative Weiterentwicklung  Transparenz notwendig  Schnelles Feedback vom Kunden  Viele Änderungswünsche  Definition of Done  Sicherstellung hohe Qualität  Continuous Integration  Automatisierbare Tests • Single Source of Truth  Vertrauen muss aufgebaut werden • Wechselnde Team Members  Tests müssen reproduzierbar sein Bildquelle: roomiccube@flickr.com; ;
  4. 4. Wer soll wann testen? • Entwickler • Fachabteilung • Operatoren • Prozesse  Testen im Team • Vor und nach der Entwicklung • Vor dem Deployment auf das System, auf dem alles „done“ ist • Nach dem Deployment auf dem Zielsystem • Regelmäßig unbeaufsichtigte Ausführung  Automatisierung erforderlich Bildquelle: wanderlinse@flickr.com. kheelcenter@flickr.com
  5. 5. Besonderheiten von BI Projektenund Konsequenzen für das Testing Rahmenbedingungen Konsequenz für Testing• BI Projekte sind data-driven • Focus auf Datentests, weil• 80 % Entwicklungsaufwand im höchste Prio Bereich ETL • Persistenz: Tests auf Layer mit• Persistenz in relationalem DWH konsistentem Stand• Hohe Datenvolumina • Volumen: Testen einer• Erfassung von Metadaten Teilmenge der Daten mit Mustern Zu testen • Inhalt: Testen von Kennzahlen• Daten fachlicher Natur & Dimensionsdaten• Technische Constraints • Laufzeitfehler: Auswertung der• Performance Metadaten!• Security• Code
  6. 6. Welche Daten als Quelle nehmen? • Daten direkt aus Quellsystemen? + Immer auf aktuellem Stand des DBMS + Keine Anpassung der Ladestrecken für Tests − Keine definierten Zustände der Daten − Existenz hängt von Quellsystem ab • Daten auf separater TestDB der Quelle? + Definierte Zustände möglich + Kontrolle über Existenz der zu testenden Daten − Doppelter Aufwand bei DBMS Changes − Anpassung Ladestrecken für Tests • Spezielle Test Daten innerhalb der Quellsysteme? + Alle obigen Vorteile − Darf dem Quell- und abhängigen Systemen keine Probleme machen Bildquelle: avlxyz@flickr.com
  7. 7. Wie erstellt man definierte Zuständeinnerhalb der Daten? • Wiederholbarkeit der Tests ist wichtig • Szenarien hängen ab von: • Änderung der Quelldaten • Zustand der Zieldaten • Abbildung dieser Situationen in ETL Logik • Möglichst alle Szenarien testen • Benötigen Methoden für das • Ändern der Testmuster in den Quelldaten / Zieldaten • Modaler Aufbau für Wiederholbarkeit • Datenänderungen via Stored Procs • Anstoßen ETL via SQL Server Agent Bildquelle: palindrome6996@flickr.com
  8. 8. Wobei hilft uns da FitNesse? • Testdefinition in wiki statt unit tests in Hochsprache • Tests basieren auf Tabellen mit erwarteten Werten • Zugriff auf Datenbanken mit dbfit • Webbasierte Oberfläche • Gruppierung von Tests • Tests werden im xml-Format gespeichert • Simples Setup • Kommandozeilenaufrufe • Erweiterbar durch eigene Fixtures • Open Source & Free Bildquelle: http://fitnesse.org/
  9. 9. Was ist FitNesse?s. u. http://fitnesse.org 9
  10. 10. Projektbeispiel: Einstiegsseite
  11. 11. Projektbeispiel: Definition eines Tests als Wiki-Seite 11
  12. 12. Implementierung des Tests als Stored Procedure Vorteile: • rDBMS ist Homebase der BI Entwickler • Einfache Bereitstellung von Methoden zur Testdatenverwaltung • Inhaltliche Vereinheitlichung Daten von Quelle und Ziel in Views (z. B. Datum, Dezimalstellen) • Unterstützende Methoden in Functions • Kapselung der Testlogik • Rückgabe 0/1 erleichtert Interpretation Tip: • Datenrückgabe in XML erleichtert den Vergleich (alle Daten in einem Feld)
  13. 13. Projektbeispiel: Testergebnis
  14. 14. Projektbeispiel: Überblick Regressionstests
  15. 15. Wie testet man im Team?Integration in die Entwicklungsumgebung • Daten für Tests in xml  Source Control (SC) • Subfolder Recent Changes und Error Logs nicht in SC • Lokale Runtime für Entwickler (keine Installation, jdk) • Zentrales abgekoppeltes Fitnesse als Windows Service • Automatisierte Tests • Adhoc Tests • Zugriff für Nicht-Entwickler
  16. 16. Wie geht das Ganze „elektrisch“?Automatisierten Starten von Tests • Kommandozeilentool Testrunner • Steuerung über beliebigen Scheduluer, z.B. • SQL Server Agent • crontab • Ergebnisse in xml/html • Parsing xml für weitere Verarbeitung • optional: Senden via Database Mail Bildquelle: rehacare@flickr.com
  17. 17. Projektbeispiel: Ergebnis der TestSuite
  18. 18. Gibt es Fragen? Bildquelle:Stefan Baudy:-bast-@flickr.com
  19. 19. Interessante Informationen• Fitnesse Acceptance Testing Framework• http://fitnesse.org/• DBFit for Test Driven database development• http://gojko.net/fitnesse/dbfit/• Buchtipp 1: Test Driven .Net Development with Fitnesse von Gojko Adzik• amazon.de http://goo.gl/2GuqY• Buchtipp 2: Agile Datawarehousing von Ralph Hughes• amazon.de http://goo.gl/82d4z• Ansprechpartner bei inovex:• Patrick Thoma (patrick.thoma@inovex.de, Tel. 0173/3181009)• Stefan Kirner (stefan.kirner@inovex.de, Tel. 0173/3181012)

×