The idea was to focus both on what is TDD, including a 45 minutes demo, and to give some concrete tips for unit-testing in python.
Usually when I give a talk about TDD, I use some kind of simple kata as a demo, like the prime factors kata of Uncle Bob. The problem with that, is I usually get responses like "TDD works only for calculators examples". I tried to be a little more original here and demonstrate a more real-life like example, and I tried not to come prepared too much, so I could demonstrate a genuine way of thinking about the design and letting it drive my code.
Looking back, I think this caused the demo to be a little messy - I told the audience to participate and throw ideas in the middle, and this caused things to advanced a little bit too slowly, and we didn't really get to real value by the end of the demo (as opposed to using a simple kata when you get value by the end of 5-10 tests).
For the tips sections, I took most of the material from Michael Foord's great blog and mocking framework: http://www.voidspace.org.uk/, and I think it should be very useful. So thank you for that Michael!
Anyhow, apart from the messy demo - which I think is still educational - I feel like the talk went fine, and decided to share it.
Here's an unedited screen and sound capture of the talk, for the Hebrew speakers of you.
If you can't watch it through this shaky flash plugin, you can download it from here
Unfortunately, you can barely hear what the audience is saying so you can't catch up on the audience interaction - I wanted to edit it a bit and add subtitles of these parts but I really can't see myself getting to do so any time soon, so I decided to share it as it is now rather than sharing an edited video never :)
Also, there were some off screen interactions, unfortunately the video camera didn't work well so you wont be able to see them.
If you only want the slides (in English), you can access them here:
Additional TDD material
Per audience request, some useful links:
Additional TDD demos:
- A great one hour screencast by TekPub, hosting Brad Wilson: http://tekpub.com/view/ft_tdd_wilson/1
It's a .NET TDD demo. What's so great about it is it's more of a real-life design example and not some calculator-like algorithmic example.
- The string calculator kata in python:
- Some Uncle Bob presentations:
- The bowling kata as a script of a real demo:
Hope you found it useful...
If you did, you should check out some other posts in this blog, and follow me on twitter.