Aug 22, 2011

TDD and Unit-Testing for Python Developers

A few days ago, I gave a 1:30 hours long talk (in Hebrew) in my company about TDD and Unit-Testing for python developers.

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.

The Talk
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:
https://docs.google.com/present/edit?id=0AaAaoNed4IPFZGZ2cHJocHZfMWQ2NmNmdGdr&hl=en_US

Additional TDD material
Per audience request, some useful links:

Recommended books:
Test Driven Development: By ExampleGrowing Object-Oriented Software, Guided by Tests


Additional TDD demos:

Hope you found it useful...
If you did, you should check out some other posts in this blog, and follow me on twitter.

No comments:

Post a Comment