Slide 1

Slide 1 text

UI-Testautomatisierung mit Selenium und Azure DevOps Grüezi | Willkommen | Bonjour | Welcome | Velkomst Patrick Eberle @p18e3 p18e3blog.wordpress.com

Slide 2

Slide 2 text

Ihr Referent Patrick Eberle Trivadis GmbH Stuttgart .NET Consultant / Speaker / Hochschuldozent Hauptaufgabengebiete: – Software-Architektur und -Entwicklung – Betrieb vorhandener Applikationen – Applikations-Modernisierung – Cloud-Entwicklung

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

UI-Testautomatisierung mit Selenium und Azure DevOps 4 25.01.2019 Einführung

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

UI-Testautomatisierung mit Selenium und Azure DevOps 9 25.01.2019 Grundlagen des UI-Testing mit Selenium

Slide 10

Slide 10 text

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/

Slide 11

Slide 11 text

Grundlagen des UI-Testing mit Selenium (II) UI-Testautomatisierung mit Selenium und Azure DevOps 11 25.01.2019 Selenium Architektur:

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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)

Slide 14

Slide 14 text

Live-Coding UI-Testautomatisierung mit Selenium und Azure DevOps 14 25.01.2019

Slide 15

Slide 15 text

UI-Testautomatisierung mit Selenium und Azure DevOps 15 25.01.2019 Integration mit Azure DevOps

Slide 16

Slide 16 text

Live-Coding UI-Testautomatisierung mit Selenium und Azure DevOps 16 25.01.2019

Slide 17

Slide 17 text

UI-Testautomatisierung mit Selenium und Azure DevOps 17 25.01.2019 Testprotokollierung und Auswertung

Slide 18

Slide 18 text

Live-Coding UI-Testautomatisierung mit Selenium und Azure DevOps 18 25.01.2019

Slide 19

Slide 19 text

UI-Testautomatisierung mit Selenium und Azure DevOps 19 25.01.2019 Zusammenfassung

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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)

Slide 22

Slide 22 text

Vielen Dank für Ihre Aufmerksamkeit! Patrick Eberle .NET Consultant [email protected] 25.01.2019 UI-Testautomatisierung mit Selenium und Azure DevOps 22 @p18e3