Digitale Transformation – Evolution, Innovation, Disruption

14:05 - 15:25 Uhr

Behavior Driven Integration Testing mit Cucumber und Citrus (Vortragssprache: Deutsch)

Christoph Deppisch,
ConSol Software GmbH

Behavior Driven Integration Testing mit Cucumber und Citrus

Das Konzept von Behavior Driven Development (BDD) ist einfach. Business Analysten sowie Domain Experten beschreiben das Verhalten einer Anwendung. Dazu nutzt man Gherkin (given-when-then) Feature UseCase Stories. Danach schreiben Entwickler den sogenannten Glue Code, um diese Spezifikationen in automatisierte Tests zu überführen.

BDD verbessert die Zusammenarbeit von Entwicklern, Business Analysten und Domain Experten, da jeder die Spezifikationen gut vor und nach dem Test lesen und verstehen kann. Traditionell wird BDD bei UI-Tests und Akzeptanztests eingesetzt. Ich werde in meinem Vortrag aufzeigen, dass man dieses Konzept auch für die Schnittstellentests einsetzen kann.

Sagen wir, man hat Services, welche Daten über eine RESTful API miteinander austauschen. Ich möchte das Verhalten dieser Schnittstellen mit BDD beschreiben und die Spezifikationen direkt als automatisierte Tests ausführen.

Citrus ist in der Lage zusammen mit Cucumber diese Art von Tests zu erstellen. Ich werde beide Frameworks kurz erklären und anschließend demonstrieren wie sich BDD in die Tests von Messaging bei Services wie Http REST, JMS, FTP integrieren lässt.

Mit der Kombination der Tools brauchen wir nicht einmal mehr den Glue Code selbst zu schreiben. Citrus hat schon fertige Integration Test Steps für das Senden und Empfangen von Nachrichten. Damit können Cucumber Gherkin Feature Stories direkt als voll automatisierte Integrationstests ausgeführt werden.

Christoph Deppisch, Speaker Software-QS-Tag 2017

Christoph Deppisch, ConSol Software GmbH

Christoph Deppisch arbeitet als Entwickler und Software Architekt bei der ConSol Software GmbH in München und verfügt über mehr als 10 Jahre Erfahrung bei der Umsetzung großer Enterprise Projekte. Dabei hat er sich auf die Bereiche Middleware Integration und Testautomatisierung spezialisiert.
Als aktiver Open Source Entwickler ist Christoph verantwortlich für das Test Framework „Citrus“ und entwickelt dies bis zum heutigen Tag stetig weiter. In letzter Zeit beschäftigt sich Christoph vor allem mit der Frage, welche Einflüsse Microservices und Container Technologien auf die Continuous Delivery Pipeline haben.