Publicidad
Publicidad

Más contenido relacionado

Presentaciones para ti(20)

Similar a Agiles Enterprise Big Data Testmanagement(20)

Publicidad

Más de OPITZ CONSULTING Deutschland(20)

Último(20)

Publicidad

Agiles Enterprise Big Data Testmanagement

  1. © OPITZ CONSULTING GmbH 2015 Seite 1Big Data Testmanagement Tobias Bürger, Teamleiter Personalization & Big Data ehem. Payback GmbH Jochen Wilms, Innovation Manager BI OPITZ CONSULTING Deutschland GmbH Agile Entwicklungs- und Testprozesse auf Big Data Projekte übertragen München, 23. Juni 2015 Enterprise Big Data Testmanagement T4P-1
  2. © OPITZ CONSULTING GmbH 2015 Seite 2Big Data Testmanagement 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 Application Lifecycle Management IT-Beratung Business-Lösungen Managed Services Training und Coaching IT-Trends Märkte Branchenübergreifend Über 600 Kunden 29% Industrie / Versorger / Telekommunikation 29% Handel / Logistik / Dienstleistungen 42% Öffentliche Auftraggeber / Banken und Versicherungen / Vereine und Verbände Eckdaten Gründung 1990 400 Mitarbeiter 9 Standorte
  3. © OPITZ CONSULTING GmbH 2015 Seite 3Big Data Testmanagement Adaption von Big Data im Application Lifecylce Management BIGDATA ADAPTION OPITZ CONSULTING bietet ein ganzheitliches Application-Lifecycle-Management ALM zur Sicherung des Wertbeitrags der Anwendungssysteme im gesamten Lebenszyklus. BIGDATA ADAPTION - Big Data Strategie - Werkzeug- Portfolio (hadoop & Friend vs. bestehend) - Aufbau CC - Systemarchitkt. - Vorgehens- modell - Demand- Mgmnt. - License Mgmnt. - Entwicklung/ Installation/ Konfiguration/ Implementierung/ Coding - Testmanagement - Projektmgmnt. - Produkt- & Release- management - Monitoring/ Performance ALM wird aktuell vom CC Big Data & Customer Intelligence um Big Data Best Practices erweitert.
  4. © OPITZ CONSULTING GmbH 2015 Seite 4Big Data Testmanagement Herausforderung für einen produktiven Big Data Einsatz Wartung/ Betrieb Planung/ Design Implemen- tierung Management Demand Org. Delivery Org. Operations Scoping Skills & Anforderungen Kapazitätsplanung Sicherheitskonzept Integration Teststrategien Einrichtung einer Big Data Landschaft Produktauswahl Betrieb des Clusters Daten- & Prozess- integration Release Management
  5. © OPITZ CONSULTING GmbH 2015 Seite 5Big Data Testmanagement Agenda 1. Big Data Systemlandschaft 2. Big Data Testmanagement 3. Schritte zur erfolgreichen Big Data Teststrategie 4. Implementierung eigener Testframeworks- und –methoden 5. Lessons Learned
  6. © OPITZ CONSULTING GmbH 2015 Seite 6Big Data Testmanagement 11 Big Data Systemlandschaft
  7. © OPITZ CONSULTING GmbH 2015 Seite 7Big Data Testmanagement Big Data / DWH Integrationsarchitekturen Active Archive Analytics Lab Preprocessing Stage Parallel Warehouse / Streaming
  8. © OPITZ CONSULTING GmbH 2015 Seite 8Big Data Testmanagement Big Data als Preprocessing Stage
  9. © OPITZ CONSULTING GmbH 2015 Seite 9Big Data Testmanagement Eine Big Data Systemarchitektur  Hadoop als Preprocessing Umgebung  Anbindung nicht relational, tabellarischen Datenquellen (3 Quellen im PoC)  Durchführung Aufwändiger Transformations-, Anreicherungs-, Zuordnungs- und Aggregationsoperationen in Hadoop  Bidirektionale Kommunikation mit der Bestands-DWH-Architektur ... Concentrator Edge Node Hadoop Cluster ETL DWH OLTP Ingress via Ingress via Egress via Orchestration via
  10. © OPITZ CONSULTING GmbH 2015 Seite 10Big Data Testmanagement 22 Big Data Testmanagement
  11. © OPITZ CONSULTING GmbH 2015 Seite 11Big Data Testmanagement BI – testgetrieben & agil TDD Fail PassRefactor Product backlog Sprint backlog Sprint Working increment Die meisten Herausforderungen in BI Projekten sind organisatorischer und nicht technischer Natur. Agiles Projektvorgehen nimmt einen Teil der Komplexität aus BI- Projekten. Beschreibung von Strukturen und Abläufen in Form von Tests Continous Integration & Deployment Inkrementelle Entwicklung
  12. © OPITZ CONSULTING GmbH 2015 Seite 12Big Data Testmanagement Test Staging Unit Tests Komponenten Tests System Tests Integrations Tests Ext. Integrations Tests Abnahme Tests Lokale Umgebung Build Server Test Umgebung Preprod Umgeb.
  13. © OPITZ CONSULTING GmbH 2015 Seite 13Big Data Testmanagement Testarten & -auslöser Functional Non- functional Sanity Health Smoke Art Unit Int. Sys.Int. UAT Func. Commit Release OR Data structure change Release OR Data structure change Release Non-func. Deploy comp. OR new comp. OR upgrade Deploy comp. OR new comp. OR upgrade Sanity Before end-to- end Before end-to- end Smoke Deploy comp. OR new comp. Health Upgrade Upgrade
  14. © OPITZ CONSULTING GmbH 2015 Seite 14Big Data Testmanagement Die Big Data Herausforderungen  Testvorbereitung  Hohe Anforderungen (Logik und Aufwand) an Testdatengenerierung  Isolierte Tests schwer durchführbar  Testausführung  Laufzeiten sind deutlich höher  Testen auf lokalen Umgebungen nur teilweise möglich  Die Infrastruktur ist immer ein potentieller Fehlerfaktor  Testentwicklung  Nur wenige, recht experimente Testframeworks vorhanden  Viele Werkzeuge basierend auf unterschiedlichen Technologien
  15. © OPITZ CONSULTING GmbH 2015 Seite 15Big Data Testmanagement 3 Schritte zur erfolgreichen Big Data Teststrategie3
  16. © OPITZ CONSULTING GmbH 2015 Seite 16Big Data Testmanagement Frameworkkomplexität im Vorfelde verringern ...
  17. © OPITZ CONSULTING GmbH 2015 Seite 17Big Data Testmanagement Testobjekte Data Stream Tests l Volume tests l Completness of data validation l Resilence tests Log Ingress Tests l Volume tests l Resilence tests l Data structure validation DB Ingress Tests l Volume tests l Data structure validation l Stress tests (e.g. invalid formats) Transformation Tests l Unit tests l Business Rule tests l Stress tests (e.g. invalid formats) l Performance tests Egress Tests l Resilence tests l Data structure validation Infrastructure Tests l Performance tests l Resilence tests l Volume tests (e.g. Terasort) 1 2 3 4 5 6
  18. © OPITZ CONSULTING GmbH 2015 Seite 18Big Data Testmanagement Testchronologie  Ein Drehbuch für die Ausführung der Testgruppen  Welche Testobjekte müssen wann getestet werden?  Auslöser, Stopper und Abhängigkeiten für Tests definieren  Testabfolgen von bottom up aufziehen, um Störfehler zu reduzieren Hardware Tests l RAID controllers l Disk I/O l Network Hadoop Tests l HDFS benchmark l MapReduce benchmark l Ecosystem health PoC Tests l Dev l End-to-end l Operations Application Tests l Dev l Approval l Operations Upgrade Tests l Migration l Portability l Interoperability
  19. © OPITZ CONSULTING GmbH 2015 Seite 19Big Data Testmanagement Testmatrix  Gliederung nach 4 Dimensionen  Test Typ → 5 Ausprägungen  Test Stage → 6 Ausprägungen  Komponente → 9 Ausprägungen  Anwendungsfall → 7 Ausprägungen  Beschreibung der Testobjekte für relevante Kombinationen  30 Testobjekte wurden definiert  Ein paar Beispiele Type Stage Comp. Use Case Description / Example Non-functional Sys. Int. Flume Ingress Using big files for import and measure required time. Increasing number of import Jobs on various big files. Check if jobs time out or cluster does not response anymore. Track Number of concurrent import jobs. Functional Unit Pig Transform Unit testing pig scripts using appropriate IDE tools (e.g. PigUnit). Testing Pig UDF using JUnit or PyUnit. Smoke Int.+ YARN Infra Committing MapReduce JAR via CLI (e.g. wordcount.jar provided with default hadoop installation).
  20. © OPITZ CONSULTING GmbH 2015 Seite 20Big Data Testmanagement Testpriorisierung  Risikobewertung  Nutzungsfrequenz  Kundenanzahl  Prozessierungsart  Finanzielle Auswirkung  Kundenauswirkung  Komplexitätsbewertung  Evaluationsaufwand  Entwicklungsaufwand  Testaufwand  Ermittlung der „Low hanging fruits“ Risiko- tabelle Komplexitäts- tabelle Komplexitäts- tabelle Komplexitäts- tabelle Komplexitäts- tabelle Komplexitäts- tabelle Test Stages Test- objekte Test- arten Priorisierung Selektieren!
  21. © OPITZ CONSULTING GmbH 2015 Seite 21Big Data Testmanagement 4 Implementierung eigener Testframeworks und -methoden4
  22. © OPITZ CONSULTING GmbH 2015 Seite 22Big Data Testmanagement Cluster Infrastruktur Validierung  Zielsetzung  Validierung der Installation  Performance-Messung  Durchführung vor und nach Hadoop Installation  Pre-Installation Tests  Cluster Konfiguration  Hauptspeicher Benchmark  Netzwerk Benchmark  Post-Installation Tests  Check von Ports & Services  Smoke Tests für alle Hadoop Komponenten  HDFS und MapReduce Benchmark
  23. © OPITZ CONSULTING GmbH 2015 Seite 23Big Data Testmanagement Testdatengenerierung  Besondere Herausforderungen  Größere Datenmengen erforderlich  Verschiedene Datenformate erforderlich  Tests erfordern oftmals das einstreuen von gesteuerten Abweichungen und Fehlerquoten  Das Problem mit der Datenmenge  Verteilte Datenerstellung notwendig → z.B. via Nutzung der Hadoop Infrastruktur selbst / MapReduce Testgeneratoren  Beziehungen zwischen Entitäten einzuhalten ist sehr speicher- und suchintensiv  Wenige Anbieter von Standardsoftware  Parallel Data Generation Framework von Bankmark  Setup aus Datengenierungsbibliotheken für Pig oder Spark
  24. © OPITZ CONSULTING GmbH 2015 Seite 24Big Data Testmanagement Pig Unit-Testing mit Zero-Coding data = LOAD 'input' AS (query:CHARARRAY); queries_group = GROUP data BY query; queries_count = FOREACH queries_group GENERATE group AS query, COUNT(data) AS total; queries_ordered = ORDER queries_count BY total DESC, query; queries_limit = LIMIT queries_ordered $n; STORE queries_limit INTO 'output'; Pig ist ein Hadoop Skriptsprache Doch wie testet man diese Skripte? Pig basierte Unit Tests sind möglich, erfordern jedoch Java-Programmiererfahrung. @Test public void testPigScript() throws Exception { PigTestConf conf = new PigTestConf(testFile); PigTest test = createPigTest(pigFile, conf.getArgsAsArray()); InputMocker inputMocker = new InputMocker(test); for (String inputKey : conf.getInput().keySet()) inputMocker.mock(inputKey, conf.getInput().get(inputKey)); ...
  25. © OPITZ CONSULTING GmbH 2015 Seite 25Big Data Testmanagement Pig Unit-Testing mit Zero-Coding <test> <args> <arg name="INPUT">DUMMY</arg> <arg name="OUTPUT">DUMMY</arg> <arg name="ENVIRONMENT">src/test/resources/pig/test1</arg> </args> <input> <data name="a"> <elem>{"requestTimestamp":"2014-07-11T11:...</elem> </data> </input> <output> <data name="f"> <elem>(20140711,41944004,5,,,2,1)</elem> <elem>(20140711,41944009,5,,,1,1)</elem> ... </data> </output> </test> XML pig-tester.jar Surefire Test Reports
  26. © OPITZ CONSULTING GmbH 2015 Seite 26Big Data Testmanagement Big Data Testing mit Continous Integration Projekt Repository pig-tester.jar .pig .xml .pig .xml .pig .xml .pig .xml Ziel ist eine Integration in bestehende CI Architekturen Jenkins Nexus Testsystem Hadoop Logstash, Kibana, Splunk, ...
  27. © OPITZ CONSULTING GmbH 2015 Seite 27Big Data Testmanagement 5 Lessons Learned5
  28. © OPITZ CONSULTING GmbH 2015 Seite 28Big Data Testmanagement Lessons Learned  Werkzeugvielfalt minimieren  Hadoop = Infrastruktur → DevOps wird immer wichtiger  Umgebungen für no-coding Implementierung und Testen sind realisierbar  Deutlich mehr Testobjekte → Testpriorisierung wird wichtiger  CI & CD wird durch Werkzeugkomplexität aufwändiger  Nicht für alles gibt es bereits fertige Lösungen → Viele Integration und unterstützende Werkzeuge entstehen in Eigenentwicklung
  29. © OPITZ CONSULTING GmbH 2015 Seite 29Big Data Testmanagement Fragen und Antworten
  30. © OPITZ CONSULTING GmbH 2015 Seite 30Big Data Testmanagement Kontakt Jochen Wilms, Innovation Manager BI OPITZ CONSULTING GmbH jochen.wilms@opitz-consulting.com Telefon +49 2261 6001 1734 Mobil +49 173 727 9026 Dr. Tobias Bürger, Teamleiter Personalization & Big Data ehem. PAYBACK GmbH tobias@tobiasbuerger.com
  31. © OPITZ CONSULTING GmbH 2015 Seite 31Big Data Testmanagement Vielen Dank für Ihre Aufmerksamkeit! Besuchen Sie uns am Stand 44!
Publicidad