• Skip to main content

AutomationSTAR

A EuroSTAR Software Testing Conference

  • Programme
    • Programme Team
    • 2022 Programme
  • Why Attend
    • Huddle Area
    • 2022 Photos
    • FAQ
    • Conference Location
  • Exhibit
  • About Us
    • Blog
    • Code of Conduct
    • Contact Us
  • Tickets

Track Talk T9

Tests schreiben wie Shakespeare – Komplexe Tests organisieren mit dem Screenplay Pattern

Michael Kutz

13:45-14:30 CEST Dienstag18th Oktober

Automatisierte Tests—insbesondere UI-Tests—haben häufig eine geringe Zuverlässigkeit. Sie haben entweder einen sehr hohen Detailgrad, sodass vor lauter Einzelschritten, die eigentliche Testintention verloren geht; oder haben eine sehr große Abstraktion, die es notwendig machen tief in die Codebase zu debuggen, um Fehlerursachen zu finden. Häufig haben wir es somit schwer den Kontext eines Fehler zu verstehen. Eine NoSuchElementException sagt uns bspw. lediglich, dass ein spezifisches Element gefehlt hat, nicht aber warum es erwartet wurde.

Ein weites weit verbreitetes Problem ist das Aufkommen von Code-Duplikaten in Test-Code. Entweder wir kopieren lange Sequenzen langweiliger Befehle oder wir sind uns der Existenz von schon existierendem Code einfach nicht bewusst und implementieren ihn erneut. Dies mache die Wartung solcher Testprojekte zu einer sehr mühsamen und frustrierenden Aufgabe. Darüber hinaus ist solcher Code in der Regel nicht geeignet, um ihn zwischen verschiedenen Teams zu teilen, was ein gemeinsames Arbeiten an übergreifenden Test-Projekten erschwert.

Das Screenplay-Pattern bietet eine grundsätzlich Benutzer-zentrische Perspektive, die feinere Interaktionen in einfache nicht-technische Aufgaben (Tasks) und Fragestellungen (Questions) zusammenfasst. Diese Konzepte machen es einfach den richtigen Grad an Abstraktion für das Projekt zu finden. Der entstehende Test-Code ist sehr nah an natürlicher Sprache mit nur wenigen zusätzlichen Sonderzeichen, aber ich assertThat(averageReader.does(understandThis())).isTrue(). Da jeder Fehler im Kontext einer Erledigung einer Aufgabe oder dem Beantworten einer Frage auftritt, wird die Verständlichkeit von Fehlern automatisch deutlich eindeutiger und einfacherer. Das Teilen von Test-Code ist ebenfalls deutlich erleichtert, weil es sich bei Tasks und Questions um simple nicht-änderbare Objekte handelt. Diese Tatsache macht es auch sehr einfach Screenplays in jeder beliebigen Sprache und/oder Framework zu implementieren.

In diesem Vortrag erläutere ich die grundlegenden Konzepte von Screenplay und gebe einen kurzen Vergleich zu bestehenden Lösungen.

2022 Konferenzprogramm

Session Speaker

Michael Kutz

Softwareingenieur - REWE Digital, Deutschland

Ich arbeite seit mehr als 10 Jahren als Softwareentwickler. I liebe es gut funktionierenden Code zu schreiben und es hasse es Fehler zu suchen. Daher habe ich früh einen starken Fokus auf Test-Automation, Continuous Delivery/Deployment und Agile Entwicklungspraktiken entwickelt. Später hatte ich die Erkenntnis, dass der nachhaltigste Weg den Code zu reparieren ist, diejenigen zu optimieren, die den Code schreiben. Aus diesem Grund beschäftige ich mich aktuell auch mit psychologischer Sicherheit, Kognitiven Verzerrungen und Wissensverbreitung in Software-Unternehmen. Seit 2014 arbeite ich bei REWE digital als Software Engineer und interner Coach für Qualitätssicherung und Testen. In dieser Rolle ist es meine Hauptaufgabe Entwicklungs-Teams bei der Qualitätssicherung und Test-Automation zu unterstützen und sie in der Lage zu versetzen großartige und fehlerfreie Software schnell zu produzieren.

Stay in the Loop

Never miss important announcements, updates, and special offers from AutomationSTAR.

.

"*" indicates required fields

Name*
GDPR*

Copyright © 2023 · Impressum · Privacy · T&C