About

The Why and How of Automated Testing with Python and Django

Jamie has just uploaded the movie of my talk “The Why and How of Automated Testing with Python and Django” which I gave at BrightonPy a week ago (and this time it really is a movie, clocking in at a feature length 1 hr and 35 minutes). The audio on the video is fine (and arguably the laptop-eye-view video is improved by chopping my head off for large parts of the talk), but it’s tricky to see the slides on the video, so I’ve uploaded them to slideshare.

The talk rambles a bit in places and there are a couple of things that betray my static language roots for example you can’t actually use unit tests to discover dependencies as easily in python as you can in C++. I’m also already evolving the JS testing stack I talk about here: moving from qunit, qmock and Selenium to jsmockito and possibly JsTestDriver. Overall I think it’s a pretty good overview of how an agile software engineering process can be screwed together.

Many thanks to @garethr for donating his Fabric scripts, Spike for his database migration cameo, Si for recommending Hudson, Dave for hooking me on automated testing and j4mie for organising the night and wrangling the video. If you’d like me to help your organisation improve its agile engineering process, please get in touch.

Add post to: Delicious Reddit Slashdot Digg Technorati Google
(already: 2) Comment post

Pingbacks

13.11.2010 2:33 18 Dexterity: The Why and How of Automated Testing with Python and Django @django.developersnote.com
via 18 Dexterity: The Why and How of Automated Testing with Python and Django [ Delicious/tag/django ]
13.11.2010 2:33 18 Dexterity: The Why and How of Automated Testing with Python and Django @django.developersnote.com
via 18 Dexterity: The Why and How of Automated Testing with Python and Django [ Delicious/tag/django ]
12.11.2010 7:24 Twitter Trackbacks for 18 Dexterity: The Why and How of Automated Testing @topsy.com
18 Dexterity: The Why and How of Automated Testing with Python and Django

Comments

4.11.2010 11:27 Dave

I’d really encourage you to give BDD with Cucumber a go. I’ve had great success with it over the last year.

The old, “All problems in computer science can be solved by another level of indirection”, applies here.

It solves several of the problems you face with plain TDD and helps you separate concerns of test logic from test fixture. This layer of abstraction means non developers can understand and importantly write tests.

Remember when Coco said something like, “Unit tests stop me refactoring”. I think what she meant was, it stops her from throwing all the code away and starting again. If you need the nuclear option, you can do that. You still have you tests and preserve behaviour and importantly business value.

No silver bullet, and it doesn’t remove the need for all unit tests, as not all components can be expressed as business value, but another useful tool in the agile practitioners kit.

4.11.2010 11:28 Dave

Double post

5.11.2010 17:57 Jim

Hi Dave, I think I may end up using Jasmine and Lettuce to do JS and Python BDD when my co-founders let me spend more time on the technology stack, but the current set-up is working nicely for me at the moment.

8.11.2010 16:30 Dave

You could do one more layer, BDD + web automation, such as, Selenium.

We’re currently using WebAii to test our Silverlight component. ~850 system tests running every night on three platforms.

Comment post