Service Virtualisierung So bekommen Sie Ihre Testumgebung in den Griff! Thomas Bucsics ANECON Software Design und Beratung G.m.b.H. Alser Str. 4/Hof 1 A-1090 Wien Tel.: +43 1 409 58 90 www.anecon.com office@anecon.com
Server Virtualisierung Mehrere Instanzen eines oder verschiedener Betriebssysteme werden auf einem Rechner parallel betrieben. Hardwareressourcen sparen 2 ANECON Service Virtualisierung Thomas Bucsics
Alltagsprobleme im Softwaretest 3 ANECON Service Virtualisierung Thomas Bucsics
Typische Software Architektur 5 ANECON Service Virtualisierung Thomas Bucsics
Service Virtualisierung 6 ANECON Service Virtualisierung Thomas Bucsics
In-Scope Systeme vs. Out-of-Scope Systeme Datenbank Externes Service Komponente in Entwicklung Modultest ESB Service Externes Service CRM System Integrationstest Systemtest 7 ANECON Service Virtualisierung Thomas Bucsics
Stark integrative Architekturen no object is an island All objects stand in relationship to others, on whom they rely for service and control Beck and Cunningham, 1989 8 ANECON Service Virtualisierung Thomas Bucsics
Ablauf Erzeugung Definition z.b. WSDL Aufzeichnung Manuell Logik Filterung Prüfungen Mapping Datenübernahme Berechnungen Bereitstellung Einrichtung Logging Test Verwendung 9 ANECON Service Virtualisierung Thomas Bucsics
Beispiel
Soap via HTTP Service Client Request Response HTTPS Soap Service 11 ANECON Service Virtualisierung Thomas Bucsics
Aufzeichnen der Kommunikation zwischen Client und Host Client Request Response PROXY Request Response HTTP Soap Service 12 ANECON Service Virtualisierung Thomas Bucsics
Simulation des Services Client Request Response Virtuelles HTTP Soap Service 13 ANECON Service Virtualisierung Thomas Bucsics
Proxymodus / Forwarding Client Request Response Virtuelles HTTP Soap Service Request Response HTTP Soap Service 14 ANECON Service Virtualisierung Thomas Bucsics
Stubs & Mocks Stubs Minimale Implementierungen von Schnittstellen oder Basisklassen Enthalten normalerweise keine Implementierung Geben hardcodierte Werte zurück Mocks Konfigurierbar Information über Historie Geben dynamische Werte zurück 15 ANECON Service Virtualisierung Thomas Bucsics
Unterschied zum Mocking Engine für Simulation Nur punktuell Programmierkenntnisse erforderlich Unternehmensweite Umsetzung Zentrale Verwaltung und Bereitstellung der Simulationen Simulationen einfach zu Erzeugen Tester und Entwickler verwenden dieselben Simulationen Wiederverwendbarkeit 16 ANECON Service Virtualisierung Thomas Bucsics
Bugs mit und ohne Service Virtualisierung Design DEV Modul Test Integrationstest Systemtest UAT PROD Mit SV Ohne SV 17 ANECON Service Virtualisierung Thomas Bucsics
Zentraler Ansatz B F A G SuT 1 E SuT 2 D D C H SuT A H = System unter Test = virtuelle Services 19 ANECON Service Virtualisierung Thomas Bucsics
Dezentraler Ansatz B F SuT 1 A E E G SuT 2 A H D C D C SuT A H = System unter Test = virtuelle Services 20 ANECON Service Virtualisierung Thomas Bucsics
Ein Fallbeispiel
ESB Systemarchitektur UI Layer HTTP Services 3rd Party Integration HTTP JMS JDBC Backends DB 22 ANECON Service Virtualisierung Thomas Bucsics
ESB Virtualisierungsansatz UI Layer HTTP Services virtualisiert 3rd Party Integration HTTP JMS JDBC Backends virtualisiert virtualisiert DB 23 ANECON Service Virtualisierung Thomas Bucsics
Herausforderungen im Test / Entwicklung Verschiedene Systemumgebungen: DEV INT End2End PROD Testdaten inkonsistent Keine Testdaten verfügbar Keine Wiederverwendbaren Tests/Testdaten Teilweise ungetesteter Code auf INT Unterschiedliche Mock-Lösungen Testautomatisierung manuelles Eingreifen erforderlich 24 ANECON Service Virtualisierung Thomas Bucsics
Regressionstests für Webservices auf Entwicklungsumgebung Analyse Testdesign Virtualisierung Kontinuierlicher Regressionstest 25 ANECON Service Virtualisierung Thomas Bucsics
Frontend ESB Backend Request Response Partnersystem (noch nicht fertig) Client Request Response System unter Test (ESB Service) Request Response Request Response CRM (keine Testdaten) Externe Schnittstelle (Zugriffkosten) Request Response (System nicht verfügbar) 26 ANECON Service Virtualisierung Thomas Bucsics
Frontend ESB Backend Request Response Virtuelles Service 1 Client Request Response System unter Test (ESB Service) Request Response Request Response Virtuelles Service 2 Virtuelles Service 3 Request Response Virtuelles Service n 27 ANECON Service Virtualisierung Thomas Bucsics
Benefits Persistente Testdaten (Entwickler & Tester) Automatisierte Regressionstest Kontinuierliche Qualitätskontrolle Höhere Testabdeckung Frühere Fehlerfindung Weniger Deployments auf Integrationsumgebung Test-Driven Development Dokumentation Produktionsfehler auf DEV nachstellbar Unabhängigkeit von anderen Entwicklungen 28 ANECON Service Virtualisierung Thomas Bucsics
Herausforderungen in der SV Aufwand Initial Wartung Spezielle Technologien / Protokolle / Patterns Message Exchange Patterns JDBC Versionierung Tool Akzeptanz Betrieb Bestehende Mock-Lösungen Tool Zeit Dokumentation 29 ANECON Service Virtualisierung Thomas Bucsics
Best Practice SV Engineer direkt vor Ort im Team Dokumentation Fixer Bestandteil bei Änderungen Versionierung Logik einfach halten Proof of Concept mit SV Tool Bedarf treibt Technik Virtualisierung auf DEV Abwiegen ob Virtualisierung sinnvoll ist nicht immer Lösung Use Cases verwenden 30 ANECON Service Virtualisierung Thomas Bucsics
Ausblick SV gewinnt durch Industrialisierung der IT zunehmend an Bedeutung Standardisierung von Schnittstellen vereinfacht die Handhabung SV wird zum wichtigen Werkzeug für Testumgebungsmanagement Testautomatisierung gewinnt an Bedeutung Speziell im agilen Umfeld Trend zum technisch versierten Tester Skilled with Advanced Tools (SWAT) Faktor Gewichtung Projekt / Organisation 31 ANECON Service Virtualisierung Thomas Bucsics
Zusammenfassung Testen so früh wie möglich, aber Testumgebungen zu kontrollieren ist schwierig Abhängigkeiten Konfigurationsmanagement und Testdaten Verfügbarkeit Service Virtualisierung kann hier als Werkzeug dienen Entscheidung zentrales / dezentrales Handling Erfahrung: dezentral am Team effektiver Aber: Wiederverwertbarkeit bewahren! 32 ANECON Service Virtualisierung Thomas Bucsics
Fragen? 33 ANECON Service Virtualisierung Thomas Bucsics
Software ist unsere Leidenschaft Thomas Bucsics thomas.bucsics@anecon.com ANECON Software Design und Beratung GmbH Alser Straße 4 / Hof 1 A-1090 Wien www.anecon.com office@anecon.com Tel.: +43 1 409 58 90-0