
Test-driven development
by Kent Beck · first published 2002
62mentions
30recommended by
46HN commenters
2007–2026first – last mentioned
65% recommend30% neutral4% critical
Why HN recommends it
Original, sensible hands-on introduction to test-first programming; worked examples teach the red-green-refactor rhythm, test lists and building a small xUnit framework. Suits developers new to TDD and unit testing.
Summarised by Claude from recommending comments
Affiliate links. As an Amazon Associate I earn from qualifying purchases.








…me to solve") Essential reading list: - Clean Coder and Clean Code https://www.amazon.com/Clean-Code-Handbook-Software-Craftsma... https://www.amazon.com/Clean-Coder-Conduct-Professional-Prog... - Test Driven Development by Kent Beck https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/...
on “Ask HN: Senior developers, what would you tell a younger you?” ↗…https://www.amazon.com/Art-Readable-Code-Practical-Technique... John Ousterhout, A Philosophy of Software Design: https://www.amazon.com/Philosophy-Software-Design-John-Ouste... This one looks particularly interesting, thanks AlexCoventry! Kent Beck, Test Driven Development: https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/... Dan Bader, Python Tricks: The Book: https://dbader.org/ Ian Sommerville, Software Engineering: https://www.amazon.com/Software-Engineering-10th-Ian-Sommerv...…
on “Ask HN: How to transition from academic programming to software engineering?” ↗I personally think that test/behavior driven development is the way to go, so my advice will be geared in that direction. With that in mind, the "reference" text on it is probably "Test Driven Development: By Example" by Kent Beck. I've only skimmed it, myself, but it seems solid and Kent Beck is a smart guy. The cool thing about testing (and TDD in particular) is that even introducing a bare minimum…
on “We don't write tests. There just isn't time for luxuries.” ↗I read many tutorials and several books on TDD but never quite got it until I read Kent Beck's Test Driven Development By Example[1]. I also highly recommend his Screencast series on pragprog.com[2] which gives you a good flavour of the workflow he uses with TDD. Edit: For those that don't know Kent Beck is basically…
on “Why Most Unit Testing is Waste [pdf]” ↗…organize all your tasks and stay on top of things Clean Coder by Bob Martin - good ideas on being a professional programmer A Philosophy of Software Design by John Ousterhout - big picture ideas on design Test Driven Development by Kent Beck - good basis for thinking about design and testing Legacy Code by Michael Feathers - understanding the issues of legacy code helps us to design better software
on “Book Recommendation for Interns” ↗I suspect GP's complaint is not with Fowler, but with the list not including books that complement it. Like Beck's Test-Driven Development or Feathers' Working Effectively with Legacy Code or some others.
on “Software engineering books” ↗…with Binary) 2. Working Effectively with Legacy Code (Dealing with an ugly codebase) 3. Refactoring Improve the design of the existing codebase (Making changes safely without breaking the code) 4. Test-Driven Development (TDD) (Once you’ve learned all the above, you always start writing tests first) 5. Head First Design Principles (Terminology and concepts for maintainable and extendable design) 6. Algorithms to Live…
on “Ask HN: Top 10 Timeless Software Books That ChangedLife as Software Engineer?” ↗Test Driven Development by Kent Beck is a good book to get you started.
on “Ask HN: Test driven web development” ↗…it depends if you are interested in pure methodology, or you want to see some example of applying it in software/Web development with PHP/Java/RoR/... From my experience, I found helpful next books: "Test Driven Development: By Example" by Kent Beck "Agile Software Development, Principles, Patterns, and Practices" by Robert C. Martin "Agile and Iterative Development: A Manager's Guide" by Craig Larman "Agile Project Management…
on “Ask YC: Good agile book?” ↗FWIW a book recommendation from articles comments: http://www.amazon.com/Test-Driven-Development-Addison-Wesley...
on “How I reliably enter the Zone: TDD” ↗What language are you using? If it's Java I found 'Test Driven Development' by Kent Beck a great book if you want to 'get' unit testing and TDD. There's a gap before when the point of TDD 'clicks' and you see the 'why'; before that it can seem a huge bore. After that it can…
on “Ask HN: Do you write unit testing when creating a new product?” ↗…automated build in place, and encourage people to do some level of automated testing if they aren't already. Some people take this a step further and use the automated tests to help drive out the design (Test-Driven Development by Kent Beck is a good book on this topic). * You could try starting a technical book club where people read a chapter a week, and then get together and discuss it over lunch. Given your situation, I'd…
on “Ask HN: How do I get my team to write better code?” ↗Aside from using TDD for years, a few incredibly helpful tips I remember daily out of the book titled Test Driven Development: By Example, by Kent Beck: Test lists - plan out a feature/system by listing out its tests. I do this in the form of behaviours and required inputs. "Start small or not at all" - begin coding by doing…
on “Ask HN: Best daily practices u've come across to design-code faster and better” ↗Test-Driven Development by Example: by Kent Beck. also, Clean Code: by Robert Martin
on “Ask HN: What's an (article|book|vid) that changed the way you view programming?” ↗…books by some very skilled engineers who I trust 1. [The Pragmatic Programmer](https://pragprog.com) 2. Martin Fowler's [Refactoring Book](https://martinfowler.com/books/refactoring.html) 3. Kent Beck's [Test Driven Development: By Example](https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/...) 4. [Thinking in Systems: A Primer](https://www.amazon.com/Thinking-Systems-Donella-H-Meadows/dp...) 5. [Zen Mind, Beginner's…
on “Ask HN: What topics/subjects are worth learning for a new software engineer?” ↗