Johannes Dienst
Developer Advocate
Developer Advocate
Würzburg, Germany
Johannes Dienst is Developer Advocate at askui. His focus is on automation, documentation, and software quality.
Johannes Dienst ist Developer Advocate bei askui. Sein Fokus liegt auf Automatisierung, Dokumentation und Softwarequalität.
Links
Area of Expertise
Topics
Greek Philosophy for Modern Software Development en
Hardly a year goes by without a new disruptive technology appearing. While it used to be possible to keep up to date with moderate effort, it has now become practically impossible. In addition, agile methods are used for development and, especially in the corporate environment, existing interpersonal and political tensions often spill over to the individual employee.
I also found myself in this situation and was looking for a sensible way to deal with it.
In the process, I came across the Greek philosophy called Stoicism. It is practiced by many people who find themselves in challenging life circumstances. As a holistic practice-focused philosophy, Stoicism is primarily aimed at individuals and helps them strive for the highest goal of happy existence (eudaimonía).
In this lecture, the main features of Stoicism will be presented. Then we will deal with the most important qualities of a practicing Stoic. Among them is emotional self-control. These can be specifically trained through suitable exercises in order to gain more composure in everyday life and become more resilient. In everyday life, stress can be avoided and the focus can be directed towards possible solutions instead of entering into unprofitable conflicts.
Rock Solid Software Architecture with ADRs, arc42 and Microsites en
The arc42 architecture template tempts to work through all chapters from top to bottom. However, an architecture review reveals a more sensible approach to developing software architecture. First, the in-scope and out-of-scope of the project is defined, then quality attributes are recorded, and finally concrete quality scenarios are derived.
The documentation of these results in arc42 poses many tasks and questions: How do I develop architecture decisions, quality attributes and quality scenarios? And how do I document them efficiently?
In this talk, we will use the Docs-as-Code approach to show how we work efficiently with the arc42 template and make the documentation available to everyone as a microsite. This approach makes it possible to efficiently create architecture documentation that stands up to any review.
Challenges in UI Automation and How to Solve Them en de
It is impossible to imagine software development without UI tests. Despite technological progress, the automation of UI tests is still considered too complex to function completely without manual intervention. Especially when automating canvas elements, embedded maps or shadow DOM elements, many approaches reach their limits.
That is why more and more image-based approaches are being pursued, in addition to classical ones such as Selenium.
This talk will cover modern UI automation approaches with an overview of tools and techniques. In particular, current problems and future developments will be addressed. We show exemplarily how several tools like Taiko and Cypress can be used and how AI will help to approach such challenges in the future.
Herausforderungen bei der UI-Automatisierung und wie man sie löst en de
UI-Tests sind aus der Softwareentwicklung nicht mehr wegzudenken. Trotz des technologischen Fortschritts gilt die Automatisierung von UI-Tests immer noch als zu komplex, um vollständig ohne manuelle Eingriffe zu funktionieren. Insbesondere bei der Automatisierung von Canvas-Elementen, eingebetteten Karten oder Shadow-DOM-Elementen stoßen viele Ansätze an ihre Grenzen.
Deshalb werden neben den klassischen Ansätzen wie Selenium auch immer mehr bildbasierte Ansätze verfolgt.
Dieser Vortrag behandelt moderne UI-Automatisierungsansätze mit einem Überblick über Tools und Techniken. Dabei wird insbesondere auf aktuelle Probleme und zukünftige Entwicklungen eingegangen. Wir zeigen exemplarisch, wie verschiedene Tools wie Taiko und SikuliX eingesetzt werden können und wie KI in Zukunft helfen wird, solche Herausforderungen anzugehen.
Real Cross-Platform Workflow UI Automation en
Testing workflows that span multiple applications and platforms is a challenging task. Imagine a test case that calls an API first, then an operator has to enter information at his web app so that the end user finally sees the update in his native app on a smartphone. Real End-to-End automation is nearly impossible today.
Current approaches try to automate cross-platform with the help of web apps running on (mobile) browsers. Native apps on Android or iOS can only be included in the workflow using time-intensive techniques like picture-in-picture search because they lack code selectors that operate on the Document-Object-Model (DOM).
With the rise of machine learning/artificial intelligence, we can train models to recognize elements on User Interfaces based solely on visual attributes. With that, it becomes possible to automate any platform when you combine it with automation on the Operating System level.
In this talk, I will show a live demo that will walk the audience step-by-step through a typical 2-Factor Authentication using a physical smartphone. We will see what automation is possible today and how it enables testing currently untestable workflows.
Take an end-to-end test case where an operator has to enter data and you need to verify the successful processing on a smartphone. Test automation for this is nearly impossible today.
I will show a live demo that automates 2-factor authentication with a physical device in conjunction with a laptop.
Leichtgewichte Softwarearchitektur mit Architecture Decision Records und Qualitätsszenarien en
Agile Softwareentwicklung stellt die zwischenmenschliche Kommunikation in den Vordergrund, was dazu führen soll das Richtige richtig zu implementieren und Software schneller ausliefern zu können.
Doch wie dokumentieren agile Teams ihre Softwarearchitektur? Herkömmliche Vorgehensweisen wirken zu schwergewichtig, da sie sich eher für Wasserfall-Projekte eignen. Sollten architekturrelevante Entscheidungen überhaupt dokumentiert werden? Und wie fügt sich eine geeignete Methode in die agile Arbeitsweise ein?
In diesem Vortrag wird eine leichtgewichtige Methode zur Dokumentation von Softwarearchitektur vorgestellt. Diese hält Architekturentscheidungen in Architecture Decision Records (ADR) fest. Ein kompaktes Format, angereichert mit Zusatzinformationen, wie Kontext und Randbedingungen. Nicht funktionale Anforderungen werden als Qualitätsszenarien beschrieben, deren Erfüllung durch die ADRs geprüft werden kann. So wird die Dokumentation ein Instrument zur Kommunikation mit allen Stakeholdern.
Rock Solid Software Architecture with ADRs, arc42 and Microsites - Ein Erfahrungsbericht en
Das arc42-Architektur-Template verleitet dazu alle Kapitel von oben nach unten durchzuarbeiten. Ein Architektur-Review offenbart aber eine sinnvollere Herangehensweise, um Softwarearchitektur zu erarbeiten. Dabei wird zuerst der In-Scope und Out-Of-Scope des Vorhabens definiert, anschließend Qualitätsattribute aufgenommen um schließlich konkrete Qualitätsszenarien abzuleiten.
Die Dokumentation dieser Ergebnisse im arc42 stellt uns vor viele Aufgaben und Fragestellungen: Wie erarbeite Architekturentscheidungen, Qualitätsattribute und Qualitätsszenarien? Und wie dokumentiere ich sie effizient?
In diesem Vortrag zeigen wir anhand des Docs-as-Code Ansatzes, wie wir mit dem arc42-Template effizient arbeiten und die Dokumentation als Microsite jedem zur Verfügung gestellt wird. Durch diese Vorgehensweise ist es effizient möglich eine Architekturdokumentation zu erstellen, die jedem Review standhält.