Property-based Testing with Monoids

Thursday morning 10:00 - 12:00 CET (UTC+1)


Cyrille Martraire and Mathieu Eveillard


You may already know Property-based Testing as a complementary approach to TDD. You may also have heard of Monoids: they are simple maths creatures really useful to model all sorts of real-life business situations. In fact, you’re probably familiar with them without knowing it. If not, do not worry: we’ll cover them first before starting a kata expected to demonstrate how well they combine!

Join Cyrille & Mathieu for this 2-hour workshop where you will be guided towards coding your own domain model powered by monoids and guided by Property-based testing. You will be ready to apply monoids at work the next day and it will change your coding (and testing) style forever!

Expected Audience: this workshop is for developers in any programming language, Java and JavaScript being the sweet spot. You’ll code in your IDE or with the IDE of your coding partner if you’re willing to!

Key learning points:

  • Discover or revisit your understanding of Property-based testing and monoids
  • Start practicing Property-based testing on an ideal case thanks to the strong properties of monoids
  • Acknowledge the limits of the approach, and the relationships with other design patterns
Practical information

You need an IDE with your favorite language and a unit test tool ready.

About Cyrille Martraire

Deliberate Designer Twitter LinkedIn Blog Company Website

Cyrille Martraire (@cyriux) is CTO and partner at Arolla (@ArollaFr), the founder of the Paris Software Craftsmanship community and a regular speaker at international conferences. With 20 years of experience in startups, software vendors and banks, Cyrille still calls himself a developer. He’s passionate about design in every aspect: TDD, BDD and in particular DDD.

Cyrille also has an extensive knowledge of capital market finance, and he’s the author of the book Living Documentation published by Addison-Wesley Professional in summer 2019.

About Mathieu Eveillard

Software Craftsman Twitter LinkedIn Blog Company Website

With 12+ years of experience in software development, Mathieu loves crafting useful and evolutive software, working both at the application level and the company level (thank you #DDD). He is deeply involved in training, coaching and consulting and works freelance. Beyond software, Mathieu is also a seasoned long-distance runner who never misses an opportunity to run a 10k or a Marathon.