ArchUnit: Testen von Architektur und Design

Jan 25, 2022 · Hamburg, Germany

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Dank eines Angebots von Kühne und Nagel können wir deren Zoom Server für virtuelle Meetups nutzen. Die Kapazität wird bei 500 Teilnehmern liegen und den Link poste ich eine Stunde zuvor in die Kommentare (wird dann auch hier auf der Eventseite angezeigt) Der Zoomclient wird über den Browser geladen, kann aber auch lokal (kostenlos) installiert werden.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

In den meisten Projekten gibt es irgendwo eine Dokumentation der Architektur und der Code-Conventions. Die Frage ist nur: Wo? Und sind die Beschreibungen aktuell? Hält sich der Code wirklich daran? In der Praxis ist solche Dokumentation leider allzu häufig "write-only" und hat mit der Realität nur noch entfernt zu tun.

Viel schöner wäre es doch, wenn die Vorgaben automatisiert geprüft werden könnten. Beispielsweise in Form von Unit-Tests, die von den Entwicklern zusammen mit der Anwendung gepflegt und angepasst werden, als Teil einer "Living Documentation".

Mit ArchUnit können die typischen Architekturvorgaben mit einer Fluent-API als Regeln definiert und z.B. in JUnit getestet werden. Dazu gehören Schichten und fachliche Schnitte, deren erlaubte und verbotene Abhängigkeiten sowie Zyklenfreiheit. Außerdem können Code-Conventions wie Namen von Elementen, die Zuordnung von Klassen zu Packages und die Verwendung von Annotationen und Exceptions geprüft werden.

Bestehende Regeln können so nicht nur mit Unit-Tests festgezurrt werden, es können auch Ausnahmen definiert werden. Vorhandener Code kann so nach und nach an die Vorgaben angepasst werden, z.B. als Vorbereitung einer Modularisierung - und das auch mit älteren Java-Versionen.

Neben den Grundlagen von ArchUnit schauen wir uns an, wie man übliche Architekturmuster prüft – mit ein paar Folien und viel Live-Coding!

Referent:
Thomas Much ist Technical Agile Coach für Die Techniker (TK) in Hamburg. Er und seine Coaching-Kolleg:innen unterstützen Teams dabei, in der Zusammenarbeit und den agilen Programmierpraktiken immer besser zu werden – unter anderem durch die Förderung von Pair- und Team-Programming, TDD und Testautomatisierung.

Event organizers

Are you organizing ArchUnit: Testen von Architektur und Design?

Claim the event and start manage its content.

I am the organizer
Social
Topics
Rating

based on 0 reviews

Featured Events