It’s easy to speak of test-driven development as if it were a single method, but there are several ways to approach it. In our experience, different approaches lead to quite different solutions.
In this workshop, we’re not trying to decide which approach is best. Rather, we’ll use concrete examples to explore
This workshop is targeted at TDD/BDD Practitioners. Participants should be experienced with test-driven development in some form.
20 minutes - Introduction
120 minutes total: Create examples of first tests. (For 3 systems at approximately 40 minutes each)
Given a brief specification of a system:
Write tests for 5-10 minutes - the first few tests you would write in real life (but without actually implementing anything).
Sketch out how you’d evolve the system from there - for 5-10 more minutes.
Reflect for 20 minutes on how you decided what test to write.
To analyze the results, we’ll first characterize the styles used (e.g., Outside-In, Interaction-Based, Presenter-First).
Then we’ll share our reflections on writing first tests, and try to identify:
Strategies/techniques for dividing the problem
Strategies/techniques for transforming the problem
Strategies/techniques for identifying the next move
Characteristics of the problem that made it mesh well with our approach
40 minutes, Closing Analysis - We’ll review all the examples together and see if any trends have emerged.
The output of the workshop would be a list of avatars of TDD we see emerging, and ideas and techniques for how to write tests.
Background material: “Avatars of TDD” by Naresh Jain, http://blogs.agilefaqs.com/2007/12/14/avatars-of-tdd/