Spezifikationen für alle Schichten
Presentation 30'
Abstract
In dieser Proof-of-concept Demonstration zeigen wir, wie Spezifikation mit Beispielen für die verschiedenen Schichten einer Webapplikation genutzt werden kann.
Dieselben FitNesse Tests, die in einer für den Domänenexperten verständlichen Form geschrieben sind, greifen dabei über unterschiedliche Adapter zum einen auf die Business Schicht im Backend, dann auf eine REST Api und schließlich per Selenium auf die Weboberfläche zu.
Zum einen zeigen wir, wie Akzeptanztests weitestgehend von Implementierungsdetails entkoppelt werden können und sich durch Abstraktion eine bessere Lesbarkeit und Wartbarkeit der Tests ergibt. Zum anderen wird die Vielseitigkeit von Akzeptanztests herausgehoben. Sie begleiten die Entwicklung durch alle Schichten. Bei diesem Vorgehen, entsteht von selbst ein System, dass auf allen Ebenen Testbarkeit ermöglicht und dem Domänenexperten oder Tester auch vor Entstehen einer Benutzeroberfläche hilft, das korrekte Verhalten des Systems zu verifizieren, bzw. falsches Verhalten frühzeitig zu erkennen. Hierbei verlieren wir natürlich das Prinzip der vertikalen Entwicklung einer User Story nicht aus dem Auge und entwickeln gerade durch die Tests für alle Schichten ein Verständnis, wie die Logik aus dem Backend im Frontend dargestellt werden kann.
Unser Vorgehen mit einer Suite von Tests, die ohne Veränderung der Test Formulierung für alle Schichten genutzt wird, ist vermutlich nicht allgemein sinnvoll und auch nicht immer anwendbar, soll aber das Aha - Erlebnis hervorrufen, dass automatisierte Akzeptanztests eben nicht in erster Linie zur Abnahme des fertigen Systems durch Simulation des Benutzerverhaltens dienen, sondern die Kommunikation zwischen Domänenexperten und Entwickler im Vorfeld fördern sowie die Entwicklung eines testbaren Systems unterstützen.
Speaker
Gregor Gramlich
Über den Speaker
Gregor Gramlich
Dr. Gregor Gramlich erwarb 2002 sein Diplom in Informatik an der Johann Wolfgang Goethe-Universität in Frankfurt am Main. Im Anschluss daran arbeitete er als wissenschaftlicher Mitarbeiter am Lehrstuhl für theoretische Informatik, wo er 2007 seine Dissertation "Über die algorithmische Komplexität regulärer Sprachen" einreichte und seine Promotion erfolgreich abschloss.
Danach wandte er sich der Softwareentwicklung zu und arbeitete zwei Jahre bei der dima GmbH und lernte dort die Vorzüge von Akzeptanztests mit dem Open Source Projekt FitNesse kennen, zu dem er seit 2009 auch aktiv beiträgt.
Seit Anfang 2010 ist Gregor Gramlich bei der andrena objects ag angestellt, wo er an der Entwicklung des Professional Scrum Developer Kurses mitwirkte und als Software Entwickler tätig ist.