Testing Event Driven Systems

By Jamie Isaacs

Elevator Pitch

Event Modeling with TDD is a powerful combination to incrementally deliver working software. This session will guide you through a complete event sourcing workflow, turning sticky notes into tests.

Description

Event Modeling is a tool to understand the domain of a business process. TDD is a practice to guide the development of software. Combined, these two provide a framework for incrementally delivering customer value. In this session you will see how to collaborate with stakeholders in a language the business understands. Then construct unit test cases from the events, commands, and constraints written on sticky notes. These unit tests match one-to-one with the expected domain behavior. Your product owner will understand the tests you write!

Finally, we will dive deep into actual code to implement the complete workflow using RangeDB, an open source event store written in Go.

Notes

Jamie Isaacs has over 20 years of experience crafting software. He coaches teams using XP practices including TDD. He also organizes LA Software Craftsmanship meetup events to help put responsibility, professionalism, pragmatism, and pride back into software development.

A version of this workshop has been given as a talk to these meetup groups in LA: