Upgrade to Pro — share decks privately, control downloads, hide ads and more …

UI-Testautomatisierung mit Selenium und Azure D...

UI-Testautomatisierung mit Selenium und Azure DevOps

In Sternstunden von Web-Frameworks wie Angular und Co. bedingt eine qualitativ hochwertige Web-Applikation einer guten Qualitätssicherung. Die Automatisierung von UI-Tests, sowie deren Ausführung im Rahmen der CI/CD Pipeline stellt dabei ein zentrales Element dar. Microsoft bietet in diesem Zusammenhang mit Azure DevOps das passende Werkzeug zur effizienten Testautomatisierung. Damit gelingt es, innerhalb weniger Minuten eine komplette Testsuite in den Release-Prozess zu integrieren. Entsprechend ist der Aufbau einer wartbaren und effizienten Test-Suite, sowie deren Integration mit Azure DevOps Thema dieser Session. Dabei werden zunächst die Grundlagen des UI-Testings mit Selenium erläutert, sowie Best Practices vorgestellt. Anschließend wird anhand eines konkreten Beispiels demonstriert, wie eine komplette Test-Suite mit Hilfe von Azure DevOps in die CI/CD Pipeline integriert wird. Zum Abschluss werden Möglichkeiten der Testprotokollierung und Auswertung veranschaulicht.

Patrick Eberle

January 24, 2019
Tweet

Other Decks in Programming

Transcript

  1. UI-Testautomatisierung mit Selenium und Azure DevOps Grüezi | Willkommen |

    Bonjour | Welcome | Velkomst Patrick Eberle @p18e3 p18e3blog.wordpress.com
  2. Ihr Referent Patrick Eberle Trivadis GmbH Stuttgart .NET Consultant /

    Speaker / Hochschuldozent Hauptaufgabengebiete: – Software-Architektur und -Entwicklung – Betrieb vorhandener Applikationen – Applikations-Modernisierung – Cloud-Entwicklung
  3. Agenda UI-Testautomatisierung mit Selenium und Azure DevOps 3 25.01.2019 Einführung

    Grundlagen UI- Testing mit Selenium Integration mit Azure DevOps Testprotokollierung & Auswertung Zusammenfassung
  4. Einführung (I) UI-Testautomatisierung mit Selenium und Azure DevOps 5 25.01.2019

    Warum überhaupt automatisiertes UI-Testing für Web-Applikationen?
  5. Einführung (II) UI-Testautomatisierung mit Selenium und Azure DevOps 6 25.01.2019

    Stand der Dinge: Komplexität Testaufwand Zeit für Testing Angular & Co. lösen Desktop- Apps ab Viele verschiedene Endgeräte Agil: Testing erst am Ende des Sprints möglich
  6. Einführung (III) UI-Testautomatisierung mit Selenium und Azure DevOps 7 25.01.2019

    Aus Sicht der Testperson(en): Aus Sicht der Quality Assurance:
  7. Einführung (IV) UI-Testautomatisierung mit Selenium und Azure DevOps 8 25.01.2019

    Daraus folgt: – Effizientes Testing erforderlich – Testsuite sollte anhand gängiger Design-Prinzipien aufgebaut werden → Erhöhung der Widerverwendbarkeit / Wartbarkeit / Lesbarkeit – Im Idealfall: • Integration der Tests in die Release-Pipeline • Vollständige Automatisierung der Prozesse • Auswertbarkeit und Protokollierung der Ergebnisse
  8. Grundlagen des UI-Testing mit Selenium (I) UI-Testautomatisierung mit Selenium und

    Azure DevOps 10 25.01.2019 Framework für UI-Testsautomatisierung von Web-Applikationen Zentrales Element: WebDriver zur Browser-Steuerung Bietet sich an für End-to-End Testing Insbesondere sinnvoll für Regressionstests und unterschiedliche Test-Umgebungen Zum Üben: https://www.techbeamers.com/websites-to-practice-selenium-webdriver-online/
  9. Grundlagen des UI-Testing mit Selenium (III) UI-Testautomatisierung mit Selenium und

    Azure DevOps 12 25.01.2019 Page Object Pattern: – Fokussierung auf Funktionalität der Web-Applikation (vgl. hierzu auch: Domain-Driven Design) – Verbergen von Komplexität – Abstraktion technischer Belange – Dadurch: • Erhöhte Lesbarkeit / Verständlichkeit der Tests • Wiederverwendung • Single-Responsibility Martin Fowler https://martinfowler.com/bliki/PageObject.html
  10. Grundlagen des UI-Testing mit Selenium (IV) UI-Testautomatisierung mit Selenium und

    Azure DevOps 13 25.01.2019 Zusammenhang:WebApp / PageObject / UnitTest Page Object (Abstraktion der WebApp in Quellcode) Unit Test (Ausformulierung der UI- Tests unter Zuhilfenahme der Page Objects)
  11. Zusammenfassung (I) UI-Testautomatisierung mit Selenium und Azure DevOps 20 25.01.2019

    Zu Beginn: Bedeutung des automatisierten UI-Testing in Zeiten moderner Web-Frameworks: – Effizientes und qualitatives Testing – Aufbau der Testsuite anhand gängiger Design-Prinzipien Darauf aufbauend: Einführung Selenium UI-Testing anhand Live-Code Integration der Test-Suite mit Azure Devops: – Automatisierte Tests in CI/CD-Pipeline Testprotokollierung und Auswertung in Azure DevOps: – Einfache Fehlerbehebung – Nachvollziehbarkeit
  12. Zusammenfassung (II) UI-Testautomatisierung mit Selenium und Azure DevOps 21 25.01.2019

    Was bringt‘s: – Erhebliche Entlastung der Testpersonen – Testing unterschiedlicher Konfigurationen mit einem einzigen Test – Qualitativ hochwertige Tests (Faktor Mensch entfällt) – Nachvollziehbare Fehlerprotokollierung (Logs, Screenshots)
  13. Vielen Dank für Ihre Aufmerksamkeit! Patrick Eberle .NET Consultant [email protected]

    25.01.2019 UI-Testautomatisierung mit Selenium und Azure DevOps 22 @p18e3