Tuesday, 9 August 2011

Books on automated testing

As I mentioned in my last post I've recently taught a course in automated testing to a bunch of students at KYH. Before the course I spent some time looking for good course books for them. I looked at a few options and eventually decided on "The art of Unit Testing with examples in .Net" by Roy Osherove, and "The RSpec Book" by Chelimsky et al.

I chose the unit testing book because Roy does a good job of describing the basics of test driven development, including simple mocks and stubs. The book is very practical and is full of insight from experience and code examples.

I also looked at "Pragmatic Unit Testing in C# with NUnit" by Andrew Hunt and David Thomas. I'm a big fan of their book "The Pragmatic Programmer", so I had high hopes for this one. Unfortunately I was rather disappointed with it. It talks about what good unit tests should look like, but not much about how you use Test Driven Development to create them.

I chose the RSpec Book because it has quite a bit of material about Cucumber and how it fits in to a Behaviour Driven Development process. I think the published literature on automated testing focuses too much on unit level tools, and there is not enough written about feature level tests and how to use them as part of the whole agile process.

I also looked at "Bridging the Communication Gap" by Gojko Adzic, which I think is an excellent introduction to how to use feature level tests as part of the agile process, but it is largely tool agnostic. There is a short chapter introducing some tools, including JBehave, a forerunner to Cucumber, Selenium and TextTest too. It's a little out of date now though, and for this course I wanted something with more detail.

I hope these short book reviews are useful.


Sageniuz said...

Hi Emily,
I've read all the books you have mentioned in your post but one book is missing namely "Growing Object-Oriented Software Guided By Tests" by Steve Freeman and Nat Pryce. This book is _the_ book when you are looking for deep insights about TDD or ATDD. It is a mind changer and you will love the very detailed example which is covered in about 200 pages. Please read it. From my point of view currently there isn't a better book out there.

Emily Bache said...

I agree - Steve Freeman and Nat Pryce's book is excellent. I should have mentioned it. The reason I didn't consider it for this course is that the techniques described are generally quite advanced, and I think it's more useful for programmers than testers.