Andreas Lausen
Software Architect
Hildesheim, Germany
Actions
Andreas Lausen is a Software Architect at MEDIFOX DAN. His main focus is the design and implementation of long term maintainable and extensible systems. His tech stack is mostly NET. He also does Mobile Development on iOS and Android.
Andreas Lausen ist Software Architect bei der MEDIFOX DAN GmbH. Der Schwerpunkt seiner Tätigkeit liegt auf der Konzeption und Umsetzung von langfristig wart- und erweiterbaren Softwaresystemen. Als Technologien setzt er hauptsächlich .NET und die iOS und Android SDKs ein.
Area of Expertise
Topics
Beyond Unit Testing: Embracing Acceptance Tests for Better Quality en
Unit tests are an essential part of any test suite. Written by developers for developers, they test the code at the lowest level. While unit tests are great for verifying individual components, they may not reflect the system's behavior in real-world scenarios. Above all, unit tests cannot ensure that the correct feature has been implemented or that a feature has been implemented correctly. This is where acceptance tests come into play, designed from the user's perspective to ensure the system meets their requirements and expectations. Positioned one level above unit tests in the testing pyramid, acceptance tests can be written by non-developers in a formal, natural language, describing specific examples of use cases. With the appropriate tools, these can be made automatically executable, resulting in an executable specification and rendering manual regression tests a thing of the past. This approach, also called Behaviour-Driven Development (BDD), facilitates a shared understanding of requirements through a common language, bridging the gap between technical and non-technical team members. Additionally, a living documentation can be generated, which makes it clear for everyone at any time which features have already been implemented and are working and what has not yet been implemented or does not work.
In this talk, we will explore the basics of BDD and acceptance tests. Then, using a concrete example, we will demonstrate how acceptance tests can be implemented in .NET with SpecFlow, providing attendees with actionable knowledge on integrating these practices into their projects.
Test your architecture with ArchUnit.NET en de
At the start of a project, productivity is high. The architecture, components, and dependencies are clearly defined. However, as the codebase grows and requirements become more complex, unwanted dependencies creep in. Changes take longer and become more costly. The code and architecture diagrams no longer align.
Architecture tests can counteract this. They work like unit tests but focus on non-functional requirements. By automating them in the continuous build process, they prevent violations of the initially established architectural rules.
This talk provides an overview of the capabilities of architecture tests with ArchUnit.NET. Using a sample architecture, it demonstrates how various aspects of the architecture can be tested.
Teste deine Architektur mit ArchUnit.NET en de
Am Anfang eines Projekts ist die Produktivität hoch. Architektur, Bausteine und Abhängigkeiten sind klar definiert. Doch mit der Zeit wird der Code umfangreicher und die Anforderungen komplexer. Ungewollte Abhängigkeiten schleichen sich ein, Änderungen dauern länger und werden teurer. Code und Architekturdiagramme passen nicht mehr zusammen.
Architekturtests wirken dem entgegen. Sie funktionieren wie Unit Tests, testen jedoch nichtfunktionale Anforderungen. Automatisiert im Continuous Build verhindern sie Verstöße gegen die anfangs aufgestellten Architekturregeln.
Der Vortrag gibt einen Überblick über die Möglichkeiten von Architekturtests mit ArchUnit.NET. Anhand einer Beispielarchitektur wird demonstriert, wie sich verschiedene Aspekte der Architektur testen lassen.
Besser testen mit Akzeptanztests de
Unit Tests sind ein wichtiger Bestandteil einer jeden Testsuite. Sie werden von Entwicklern für Entwickler geschrieben und testen den Code auf der untersten Ebene. Das ist gut und wichtig, hat aber auch seine Grenzen. Man kann vor allem mit Unit Tests nicht sicherstellen, dass das richtige Feature umgesetzt bzw. ein Feature richtig umgesetzt wurde.
Hier setzen Akzeptanztests an. Diese stehen in der Testpyramide eine Ebene über den Unit Tests. Im Gegensatz zu Unit Tests können Akzeptanztests auch von Nicht-Entwicklern in einer formalen, natürlichen Sprache geschrieben werden. Ein Akzeptanztests beschreibt jeweils konkrete Beispiele von Use Cases. Mit entsprechenden Tools werden diese automatisiert ausführbar gemacht. Man erhält eine ausführbare Spezifikation. Manuelle Regressionstests gehören damit der Vergangenheit an.
Durch dieses Vorgehen, das auch als Behaviour-Driven Development (BDD) bezeichnet wird, wird auch die Zusamenarbeit zwischen Entwicklern und anderen Stakeholdern gefördert. Nebenbei kann eine lebende Dokumentation generiert werden, in der jederzeit für jeden ersichtlich ist, welche Features bereits umgesetzt sind und funktionieren und was noch nicht umgesetzt ist bzw. nicht funktioniert.
In diesem Vortrag schauen wir uns die Grundlagen von Behaviour-Driven Development (BDD) und Akzeptanztests an. Anschließend sehen wir uns an einem konkreten Beispiel an wie sich Akzeptanztests in .NET mit SpecFlow umsetzen lassen.
Domain-Driven Design für Einsteiger de
Softwareentwickler lösen Probleme gerne mit Technik. Anforderungen werden umgesetzt, ohne viel mit dem Anwender zu kommunizieren, und ohne immer das Problem des Anwenders zu verstehen, das die Software lösen soll. Durch fehlende fachliche Schnitte entsteht ein Big Ball of Mud, in dem alles voneinander abhängig ist und die Kosten für die Weiterentwicklung schnell steigen. Irgendwann ist eine technische Komplexität erreicht, die niemand mehr beherrschen kann.
Domain-Driven Design ist ein Ansatz, um dem Big Ball of Mud langfristig entgegenzuwirken. Im Vordergrund steht die Zusammenarbeit mit den Fachexperten sowie der Fokus auf klar voneinander abgegrenzte Teilsysteme.
Dieser Vortrag richtet sich an Einsteiger, die bisher keine Erfahrung mit diesem umfangreichen Thema gemacht haben. Er bietet einen leicht verständlichen Überblick über die wesentlichen Inhalte des Strategic Design, Tactical Design und Collaborative Modeling. Am Ende haben die Teilnehmer ein Grundverständnis von Domain-Driven Design und kennen alle wichtigen Konzepte.
Schneller (und besser?) Unit Tests schreiben mit KI de
Unit Tests sind ein wichtiger Bestandteil einer jeden Testsuite. Sie zu schreiben macht Spaß, beinhaltet aber auch viele repititive Tätigkeiten.
KI Assistenten wie GitHub Copilot sind nun schon einige Zeit am Markt und vieles wurde bereits darüber berichtet.
In diesem Vortrag wollen wir herausfinden, inwieweit uns KI Assistenten beim Schreiben von Unit Tests unterstützen können. Unser Ziel ist vor allem Zeit zu sparen, ohne dabei die Qualität der Tests zu vernachlässigen.
Wir halten uns nicht lange mit der Theorie auf, sondern steigen direkt in konkrete Codebeispiele ein. Die Beispiele sind in C# und als KI Assistent wird GitHub Copilot eingesetzt.
Teste deine Architektur! de
Am Anfang eines Projekts ist die Produktivität hoch. Architektur, Bausteine und Abhängigkeiten sind klar definiert. Doch mit der Zeit wird der Code immer umfangreicher und die Anforderungen werden komplexer. Es schleichen sich ungewollte Abhängigkeiten ein. Code und Architekturdiagramme passen nicht mehr zusammen.
Architekturtests wirken dem entgegen. Sie funktionieren wie Unit Tests, testen aber Anforderungen an die Architektur. Sie laufen automatisiert im Continuous Build und verhindern dadurch, dass sich Verstöße gegen die anfangs aufgestellten Architekturregeln einschleichen.
Der Vortrag gibt einen Überblick über die Möglichkeiten von Architekturtests und demonstriert anhand einer Beispielarchitektur, wie sich verschiedene Aspekte der Architektur testen lassen. Der praktische Anteil des Vortrags ist sehr hoch. Die Teilnehmer sind nach dem Vortrag in der Lage, das neu erworbene Wissen umgehend in eigenen Projekten praktisch anzuwenden.
BASTA Spring 2025 Upcoming
- Teste deine Architektur mit ArchUnit.NET
OOP 2025 Upcoming
- Teste deine Architektur!
IT-Tage 2024 Upcoming
- Besser testen mit Akzeptanztests
- Teste deine Architektur!
- Schneller (und besser?) Unit Tests schreiben mit KI
Magdeburger Developer Days 2024
- Domain-Driven Design für Einsteiger
- Teste deine Architektur!
.NET Day Franken 2024
- Domain-Driven Design für Einsteiger
IT-Tage 2023
- Unit Tests - Grundlagen und Best Practices
- Teste deine Architektur!
SEACON digital 2023
- Teste deine Architektur!
BED-Con 2023 Sessionize Event
Magdeburger Developer Days 2023
- Unit Tests - Grundlagen und Best Practices
- Teste deine Architektur!
Magdeburger Developer Days 2022
- Einführung in Domain-Driven Design
- Unit Tests!? Was ist das, wofür brauche ich das, und wie fange ich damit an?
Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.
Jump to top