This workshop has been created for Agilille 2022 conference.
Here is the pitch of it :
You have probably already heard or practiced Test-Driven Development (TDD) but have you already tried it in an Xtrem way?
What do we mean by Xtrem?
We propose to practice TDD on a kata using mob programming and introducing different constraints that you will pick randomly. We expect you to find smart ways to overcome those constraints.
Those constraints can be of different types : Design, Testing, Practice, Architecture.
Here are some example of constraints that we have documented on our website :
- Use TCR workflow (Test && Commit || Revert)
- Use a Test DataBuilder
- Check your dependency freshness with libyear
- Write only pure functions
- Make at least 2 refactorings after a passing test
- Write your next test using Approval Testing approach
- Check the quality of your tests with Mutation Testing
- and much more ...
By overcoming those constraints you will learn new ways of designing your code that you will be able to use in your day-to-day.
You need to install the runtime environment for the language you prefer use:
We have structured this workshop using the 4C model :
Connection
: Help learners make connections with the topic of the workshopConcepts
: Direct instruction, lecture or presentation partConcrete Practice
: Learners actively practice a new skill using the new informationConclusion
: Learners summarize what they have learned
In addition to this repository, we also provide an escape game based on cards that you can use to facilitate a 2/3 days training.
Cards and solution are available here.
We have been invited by Valentina Cupać to demonstrate part of this kata in her Tech Excellence meetup. The replay is available here.