The Testing Goat

Obey the Testing Goat!

TDD for the Web, with Python, Selenium, Django, JavaScript and pals...

Reviews and Testimonials

Here's a few nice things people have said to me about the book, either directly or via online reviews:

Edward Cheadle, September 2014: "well written, easy to understand and pulls together all the concepts of modern software development"

I saw the book at Barnes and Noble, looked through it and bought it. I did see I could read the book for free and then make a decision whether or not to buy it, but I looked it over and realized I wanted it in print so I could make notes, mark pages and keep it as a reference. I am now on page 22 and I am very glad I just bought it.

I am a systems administrator, learning Python, and looking at how software is developed so I can create and manage a infrastructure for continuous integration of modern applications. I figure if I really understand what programmers need to do, I can help build a solid infrastructure, but also the book is a lot of fun

I know I am not your target audience, but the book is well written, easy to understand and pulls together all the concepts of modern software development in a way I can understand. It is helping me learn python because I enjoy a project to work on rather than endless discussions of how loops work and what a variable is. The basic concepts of a language are important, so I have other books I use as reference. Your book pulls me in and gives me the desire to learn about if statements, classes etc... and makes reading the other books less dry.

Casey Brant, August 2014: "something here for Django newbies and old hats alike."

I've read a lot about Python, a lot about Django, and a lot about TDD, but I've never seen anyone put it all together as elegantly as Mr. Percival does in this book. There's something here for Django newbies and old hats alike. (...)

Eric Seidler, Feb 2014: "incorporates all of the myriad technologies that are needed to do real web development"

The book has really been great so far. I found it a little challenging to learn Django and TDD at the same time. But, on the other hand, I haven't seen any other book that incorporates all of the myriad technologies that are needed to do real web development. I appreciate that you throw everything in the mix, just like what's needed for a real app, instead of keeping all the technologies boxed off in separate chapters.

Steve Young, Jan 2014: "the best resource for TDD/python/web I have read"

this has been the best resource for TDD/python/web I have read. And it happens that I am specifically interested in Django development, so it was perfect for me. The book is easy to read, the code in the book has very few (if any) mistakes, and it covers a wealth of material. Great job!!

Ifiok Jr., December 2013: "hands down the best teaching book I've ever read"

Hi Harry,

I just wanted to let you know that I'm going through your book and it's hands down the best teaching book I've ever read. Your conversational style and pace of introducing new ideas make for an incredible learning experience. I feel like I've learned more about programming and web development in the last few days than any month since I started learning.

I'm still a beginner, especially with the Django framework, but I'm finding that TDD is such a great way to learn the internals of any framework. The style forces me to think ahead by writing tests to pre-emptively catch issues which could surface, and as such it becomes detrimental to blindly copy and paste "working" code from external sources.

I can't thank you enough, and have purchased an electronic copy of the book as a thumbs up!

Ifiok Jr.

Cian, December 2013: "Brilliant book. The examples are easy to follow, and.."

Brilliant book. The examples are easy to follow, and in following them, you quickly reach the point where you can put together your own Django application. The book also gets the pacing right, so that you learn things and feel that they're immediately useful. Previous books in this space have always left me feeling I knew a large amount of trivia, but without a proper framework to apply it.

Victor, August 2013: "kick-started my use of Django and explained the strength of TDD"

With a solid understanding of how to operate Python (I would recommend Allen B. Downey's Think Python) and some minimal knowledge of HTML, Test-Driven Development with Python has kick-started my use of Django and explained the strength of TDD as a development process.

This isn't a book exclusively about Django, and as concepts are introduced Harry Percival references the appropriate Django documentation which I will review later to reinforce what I've learned from the book.

What H. Percival excels at is illuminating just how well-tuned Django is for the TDD process. Django's built-in feature to write and run unit and functional tests would likely feel like an afterthought, or a mere option if you were learning Django exclusively from their documentation. Instead, this feature is highlighted as we lay the foundation for making TDD our development process developing and maintaining rock-solid projects.

alexakarpov, May 2013: "even the first 4 chapters were worth the money spent"

Why, even the first 4 chapters were worth the money spent; can't wait for more. A very good 'hands-on' book - something that's not so easy to come by. Made me love both Python and Django already - I'm a newbie with both.

Nathan Stocks, author of Green, August 2014

1) Your book is awesome!

2) Your book is way too long.

3) Your book covers way too many subjects.

4) It's probably the most relevant book I've ever read with regards to practical application in the daily life of a Python programmer, partially because of #2 and #3.

5) It would be even an even better book if you could address #2 and #3 whilst simultaneously not sacrificing #1 and #4. No, I have no clue about how to actually do that. I'll leave that as an exercise to the author. ;-)

Thanks guys! There are lots more on the O'Reilly reviews page for the book and on Amazon...


comments powered by Disqus
Read the book

I'm writing a book all about TDD and Web programming. Read the draft and let me know what you think!

Reviews & Testimonials

"Hands down the best teaching book I've ever read""Even the first 4 chapters were worth the money""Oh my gosh! This book is outstanding""The testing goat is my new friend"Read more...


A selection of links and videos about TDD, not necessarily all mine, eg this tutorial at PyCon 2013, how to motivate coworkers to write unit tests, thoughts on Django's test tools, London-style TDD and more.

Old TDD / Django Tutorial

This is my old TDD tutorial, which follows along with the official Django tutorial, but with full TDD. It badly needs updating. Read the book instead!

Save the Testing Goat Campaign

The campaign page, preserved for history, which led to the glorious presence of the Testing Goat on the front of the book.