Workshop Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics Sonja Kargl 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
DI Thomas Bucsics Studium Computational Intelligence an der TU Wien Seit 2004 bei ANECON beschäftigt Testautomatisierung, Testframeworkentwicklung, Testmanagement, Trainings & Workshops ISTQB Certified Tester Advanced Level Test Manager & Functional Tester QAMP 2 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Sonja Kargl HTL für EDV und Organisation Seit 2005 bei ANECON beschäftigt Testautomatisierung, Testkoordination ISTQB Certified Tester Advanced Level Test Manager & Functional Tester IREB Certified Requirements Engineer 3 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
ANECON Software Design und Beratung G.m.b.H. 4 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Agenda Überblick Performancetest Tools Testautomatisierungs Tools Bewertung & Praxis
Überblick Überblick Performancetest Tools Testautomatisierungs Tools Bewertung & Praxis
Überblick - ISO 9126 Qualitätsmodell externe und interne Qualität Funktionalität Zuverlässigkeit Benutzbarkeit Effizienz Änderbarkeit Übertragbarkeit Angemessenheit Richtigkeit Interoperabilität Sicherheit Reife Fehlertoleranz Robustheit Wiederherstellbarkeit Verständlichkeit Erlernbarkeit Bedienbarkeit Attraktivität Zeitverhalten Verbrauchsverhalten Analysierbarkeit Modifizierbarkeit Stabilität Prüfbarkeit Anpassbarkeit Installierbarkeit Koexistenz Austauschbarkeit 7 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Überblick - Performancetest Ziel Feststellen des Systemverhaltens unter verschiedenen Lastparametern Aufdecken der Schwachstellen Ansatz Toolunterstützte Lasterzeugung (Virtuelle User) Messung von definierten Metriken (z.b. Antwortzeit) Verifizieren der gelieferten Ergebnisse (Stabilität) Monitoring des Webservers 8 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Überblick - Performancetest Voraussetzungen Tool, das die relevanten Schnittstellen unterstützt Protokolle z.b. HTTP, HTTPS, FTP, FTPS Cookies und SessionHandling Funktional stabiles Testobjekt Definierte Zielmetriken Idealerweise Zugang zum Webserver (Monitoring) Rentabilität Unterschiedlichste Belastungsszenarien können beliebig oft und identisch wiederholt werden 9 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Überblick - Performancetest Einsatzvarianten Lasttest (Performancetest) Systemverhalten unter erwarteter Belastung Stresstest Systemverhalten über die erwartete Belastung hinaus ( Erkennen zukünftiger Grenzen) Scalability Test Skalierbarkeit des Systems (Übergang linearer zu exponentiellen Antwortzeiten) Langzeittest Lasttest über die Dauer von 8 72 Stunden 10 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Überblick - ISO 9126 Qualitätsmodell externe und interne Qualität Funktionalität Zuverlässigkeit Benutzbarkeit Effizienz Änderbarkeit Übertragbarkeit Angemessenheit Richtigkeit Interoperabilität Sicherheit Reife Fehlertoleranz Robustheit Wiederherstellbarkeit Verständlichkeit Erlernbarkeit Bedienbarkeit Attraktivität Zeitverhalten Verbrauchsverhalten Analysierbarkeit Modifizierbarkeit Stabilität Prüfbarkeit Anpassbarkeit Installierbarkeit Koexistenz Austauschbarkeit 11 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Überblick - Testautomatisierung Ziel Automatische Durchführung von Testfällen Regressionstest Erhöhung der Testabdeckung Ansatz Zugriff über definierte Schnittstellen Simulation von Eingaben Überprüfung der Reaktion des Systems 12 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Überblick - Testautomatisierung Voraussetzungen Tool, das die relevanten Schnittstellen unterstützt z.b. Swing, 3rd Party GUI Controls, Webservices Vorhandenes Testobjekt Stabile Schnittstelle Detaillierte und umsetzbare Testfälle etablierter Testprozess Rentabilität Häufige Durchführung von Regressionstests Große Anzahl von Testfall-Varianten 13 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Überblick - Testautomatisierung Einsatzvarianten Hilfsmittel für manuellen Test Dokumentation Fehlerreproduktion Record & Play Datengetriebene Testskripts Keyword-Driven Automation Testframework als API mit eigener Testsprache Möglicherweise Teil eines Build-Cycles 14 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Überblick - Open Source vs. Kommerziell Eigenschaft Kommerziell Open Source Anschaffung Kostenpflichtig Frei Wartung Kostenpflichtig Frei, u.u. nur do-it-yourself Support Gesichert, evtl. Kostenpflichtig Kostenpflichtig oder Community Lebensdauer Portabilität Benutzbarkeit Anpassbarkeit und offene Standards Abschätzbar, Wartung nach Supporteinstellung nicht möglich Auf verbreitete Plattformen fokussiert Tendenziell Fokus auf Nicht- Techniker, bessere Auswertungsmöglichkeiten Oft proprietäre Formate, teilweise offene Schnittstellen Schwerer einzuschätzen, Wartung nach Supporteinstellung möglich Tendenziell eher plattformübergreifend Je nach Projekt, Techniker haben bessere Chancen Offen 15 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Überblick - OS-Tools im Test Unit Testing Test Case Management Salome Fitnesse... xunit TestNG Cactus... Softwaretest Selenium WebTest Watir... Web Testing Last & Performance Testing JMeter Pylot Curl-Loader... GUI Testing Pounder WATSUP Dogtail... 16 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Performance Überblick Performancetest Tools Überblick Jmeter Curl-Loader Testautomatisierungs Tools Bewertung & Praxis
Überblick Tools mit grafischer Benutzeroberfläche JMeter Pylot TestMaker Tools ausschließlich über Kommandozeile Curl-Loader httperf Siege 18 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
JMeter Eckdaten Ersteller Apache Jakarta Project Aktuelle Version 2.3.2 (Juni 2008) Entwicklungsbeginn Dec. 1998 - JMeter 1.0 Technologie Java Zielanwender Last- & Perfomancetester Link http://jakarta.apache.org/jmeter/ Über den Ersteller: Gruppe von Entwicklern auf freiwilliger Basis, weitere Projekte z.b. Ant, Tomcat, Maven 19 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
JMeter - Fokus Lasterzeugung mit Verifikation und Protokollierung Unterstützte Protokolle & Features HTTP, HTTPS, FTP SOAP, LDAP, JMS, JDBC Cookies und Session Handling Timer-, Listener-, Sampler-Plugins Optionales Nachladen (JavaScript, Bilder) 20 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
JMeter Demo Vorstellung des Tools anhand der graphischen Oberfläche Start verschiedener Lasttestszenarien Durchsicht und Erklärung der Ergebnisse 21 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
JMeter Pro / Contra Pro Plattformunabhängig Automatisches Erfassen der Szenarien Auswertungen graphisch darstellbar Erfolgreicher Einsatz in vielen Projekten Möglichkeit eigener Plugins Contra Time-Out Einstellungen nur global möglich Erstellung realistischer Szenarien erfordert Erfahrung 22 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Curl-Loader Eckdaten Hersteller Ersteller Robert Iakobashvili, Michael Moser Aktuelle Version 0.48 (April 2009) Entwicklungsbeginn Oktober 2006 Zielanwender Technologie C Zielanwender Link Last- & Perfomancetester Link http://curl-loader.sourceforge.net/ Über den Ersteller: Sourceforge-Projekt bestehend aus zwei israelischen Entwicklern 23 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Curl-Loader - Fokus Lasterzeugung mit Protokollierung Unterstützte Protokolle & Features HTTP, HTTPS FTP, FTPS Zuordnung separater IP-Adressen Statistiken über jeden virtuellen User Time-Outs auf Testplanebene 24 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Curl-Loader Demo Vorstellung des Tools anhand der Config- Files Start verschiedener Lasttestszenarien Durchsicht und Erklärung der Ergebnisse 25 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Curl-Loader Pro / Contra Pro Innerhalb eines Testplans können verschiedene Protokolle verwendet werden Bedienung über Config-Files ist übersichtlich und beinahe unbegrenzt Time-Out kann auf Testplanebene gesetzt werden Detailreiche Log-Files Contra Plattformabhängig (Linux mit Kernel V. 2.4 oder 2.6) Sequentielle Abhängigkeiten innerhalb von Szenarien Keine graphische Auswertung Keine Verifikationen 26 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Testautomatisierung Überblick Performancetest Tools Testautomatisierungs Tools Überblick Selenium Canoo Webtest Bewertung & Praxis
Überblick Test von Webapplikationen Selenium Webtest Watir / WET Webdriver Test von Desktop-Applikationen WATSUP Dogtail Pounder 28 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Selenium Eckdaten Ersteller OpenQA Aktuelle Version 1.0 beta 2 Entwicklungsbeginn 2004 Technologie HTML, JavaScript, Firefox Plugin + Bindings für viele Sprachen Zielanwender Link Selenium IDE: Tester Selenium RC: Test-Entwickler http://seleniumhq.org/ Über den Ersteller: OpenQA ist eine Gruppe von Freiwilligen u.a. verantwortlich für Bromine, Watir, WET und andere Tools 29 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Selenium - Fokus Webapplikationen Verschiedene spezialisierte Ausprägungen Selenium Core Selenium IDE Selenium Remote Tools zur Durchführung Selenium Grid Bromine Breite Abdeckung von Browsertests 30 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Selenium Demo Erstellung von Testcases, Abspielen der Testsuite und Betrachtung der Auswertung Selenium IDE Selenium Core Selenium RC 31 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Selenium Pro / Contra Pro Gute Browserunterstützung Breite Palette an Einsatzmöglichkeiten Gute Toolunterstützung Inzwischen einige Erweiterungsmöglichkeiten Contra Verhältnismäßig langsam Ressourcenintensiv durch Browsernutzung 32 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
WebTest Eckdaten Ersteller Aktuelle Version 3.0 Canoo Entwicklungsbeginn Juli 2003 Technologie Zielanwender Link Java Webtest Recorder: Tester Webtest: Test-Entwickler http://webtest.canoo.com Über den Ersteller: Canoo ist ein Basler Hersteller von Webapplikationen mit Fokus Web 2.0, AJAX und Java Rich Clients 33 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Webtest - Fokus Webapplikationen Rasche, browserunabhängige Testdurchführung durch Nutzung von HTMLUnit Mehrere Einsatzmöglichkeiten XML Groovy Aufzeichnung von Skripts mit Webtest Recorder (Firefox Plugin) 34 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Webtest Demo Erstellung eines Projekts Erstellung von Testcases Webtest Recorder XML Groovy Abspielen der Testsuite und Betrachtung der Resultate 35 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Webtest Pro / Contra Pro Schnell Kein Browser benötigt Verwendung von Ant-Skripts Contra Kein Browser getestet JavaScript Support nicht so gut wie in Browsern Im Vergleich mit Selenium nur eine Basisvariante Kein visuelles Debugging 36 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Bewertung & Praxis Überblick Performancetest Tools Testautomatisierungs Tools Bewertung & Praxis
Performancetest - Team Technisches Verständnis und gute Kenntnis der zu belastenden Applikation sind Voraussetzung z.b.: Testautomatisierer ( test developer ) mit Lasttesterfahrung und Architekturverständnis Zusammenarbeit mit Fachbereich zur Festlegung der benötigten Aktionen Einbeziehung des Entwicklungsteams (Ursachenforschung, laufendes Tuning) 38 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Performancetest - Strategie Infos vom Kunden zur initialen Szenariengestaltung einholen Abgrenzung des Testobjektes Erwartetes Userverhalten Erwartetes Systemverhalten Anpassen der Szenarien je nach Systemverhalten 39 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Performancetest - Einsatztauglichkeit Praxistaugliche Tools vorhanden JMeter, Pylot, Siege, Curl-Loader (unlimitiert) TestMaker (OSS limitiert) Kleine Funktionalitäts-Einschränkungen und Bugs in den Tools Visualisierung von kommerziellen Tools deutlich besser Management-Auswertung, Monitoring 40 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Performancetest - Wirtschaftlichkeit Keine Lizenzkosten Support über Community Beliebige Anzahl virtueller User In Problemfällen teuer (Consulting) Aufwändige Ergebnisaufbereitung für Management 41 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Performancetest - Ausblick Derzeit viele Bewegungen, zahlreiche open source Lasttesttools mit reger Community Herausforderungen im Umgang mit neueren Technologien (AJAX, WPF, SOA B2B) Schwerpunkt im OSS-Bereich auf Unterstützung zahlreicher Technologien Zum Nachteil einer möglichen GUI 42 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Testautomatisierung - Team Für flächendeckende Nutzung eignet sich ein gemischtes Team Software-Entwicklungs Know-How Software-Test Know-How Wichtig: Konzipierung und Review Auch bei den meisten kommerziellen Tools 43 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Testautomatisierung - Strategie Was soll/kann automatisiert werden? Toolevaluierung und -Einführung Definition einer Testfall-Sprache Detaillierte Testfälle Übersetzung für toolgetriebene Durchführung Erschliessung der zu testenden Applikation Zusammenarbeit mit Entwicklung Testbarkeit! 44 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Testautomatisierung - Einsatztauglichkeit Führende Tools legen Wert auf Benutzbarkeit Im Praxiseinsatz eingeschränkt vergleichbar mit kommerziellen Tools Einige Tools sind für den Praxis-Einsatz tauglich Selenium Gründer über Selenium vs. Webtest Beides. Einschränkungen Technischer Schwerpunkt der Benutzer Unterstützte Technologien 45 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Testautomatisierung - Wirtschaftlichkeit Entscheidung für kommerzielle Tools hat oft einen strategischen Hintergrund Lebensdauer Support Keine Lizenzkosten Design & Durchführung unabhängig voneinander möglich Open-Source Tools haben einen eingeschränkten Fokus u.u. hohe Umstiegs- oder Zusatzkosten, wenn neue Bedürfnisse abgedeckt werden sollen z.b. zusätzlich WinForms Applikationen automatisiert testen 46 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Testautomatisierung - Ausblick Zwei Schienen: Webapplikationen Rich-Clients / Generalisten Spannende Entwicklungen Erweiterte Toolintegration beginnt Selenium Grid, Bromine, Flex-API 47 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl
Software ist unsere Leidenschaft ANECON Software Design und Beratung G.m.b.H. Alser Straße 4 / Hof 1 A-1090 Wien www.anecon.com office@anecon.com Tel.: +43 1 409 58 90-0 Fax: -998
Referenzen http://jakarta.apache.org/jmeter/ http://curl-loader.sourceforge.net/ http://seleniumhq.org/ http://webtest.canoo.com/ 49 ANECON Testautomatisierung und Performance-Tests mit Open Source Tools Thomas Bucsics & Sonja Kargl