Book Training Contact Us

Recommended Scrum Books on
Test-Driven Development (TDD)

Whether you are thinking about starting Agile or Scrum, have just begun, or have hit a wall after starting, you likely find yourself searching for online articles, documents, and books for guidance.

In this article, we introduce books that are particularly valuable for "Developers (Engineers, Technicians, and Programmers) within a Scrum Team."

We have categorized these essential reads into technical genres—including Test-Driven Development (TDD), Refactoring, Object-Oriented Design (OOD), Acceptance Test-Driven Development (ATDD), Extreme Programming (XP), Automation, and Design Patterns. Furthermore, we include books covering the "Programmer's mindset" and "Teamwork" that every developer should read at least once.

Recommended Scrum Books on Test-Driven Development (TDD)

Test-Driven Development (TDD) is a software development technique.

It is a test-first approach where specifications are defined in test code before the production code is written. The production code is then developed specifically to pass those tests. By proceeding with implementation and refactoring to satisfy pre-written test cases, TDD flips traditional development concepts on their head—you create the 'answer' first, then write the code to reach it.

This cycle of defining tests, implementing code, and refactoring is a core practice highly recommended in many Agile software development methodologies and Scrum frameworks.


Test Driven: TDD and Acceptance TDD for Java Developers By Lasse Koskela

This book provides a clear overview of Test-Driven Development (TDD) and is an excellent entry point for beginners, covering comprehensive practical techniques.

Even for experienced TDD practitioners, it offers valuable insights into lesser-known but highly effective techniques.

  • Learn hands-on to test drive Java code
  • How to avoid common TDD adoption pitfalls
  • Acceptance test driven development and the Fit framework
  • How to test Java EE components—Servlets, JSPs, and Spring Controllers
  • Tough issues like multithreaded programs and data access code

■ About the Author

Lasse Koskela

Lasse Koskela is a pioneer of the Finnish Agile community and a frequent speaker at international conferences.

At Reaktor, he serves as a software product development consultant, coach, trainer, and practitioner, working on diverse projects ranging from enterprise applications to middleware. A TDD practitioner since its early days, he is also a Certified Scrum Trainer® (CST®), delivering training and coaching teams to improve performance and establish a culture of continuous learning.


Growing Object-Oriented Software, Guided by Tests By Steve Freeman and Nat Pryce

A practical guide to Test-Driven Development backed by decades of experience, this book addresses common project challenges such as:

  • How to fit TDD into your project workflow
  • Where to start with testing
  • Why both unit tests and end-to-end tests are necessary
  • What it truly means for tests to 'drive' development

It provides a clear path through these questions and demonstrates how to "grow" software without it becoming bloated. An essential read for developers striving to become true professionals.

■ About the Author

Steve Freeman

An independent consultant specializing in Agile software development. Along with Nat Pryce, he was awarded the Agile Alliance’s Gordon Pask Award in 2006. He is a founding member of the London Extreme Tuesday Club and chaired the first London XP Day. He frequently organizes and speaks at international conferences and has worked with diverse organizations, from IBM to renowned research labs.

Nat Pryce

Holds a PhD from Imperial College London. He works as a programmer, architect, trainer, and consultant. He has also been involved in academic research and occasional university teaching. An early adopter of XP, he has contributed to several open-source libraries supporting TDD. He is one of the founders of the London XP Day conference and a regular speaker at international events.


xUnit Test Patterns: Refactoring Test Code By Gerard Meszaros

xUnit is the most renowned framework for unit testing today. This book stands as the definitive guide to automated testing using xUnit.

Agile coach and automated testing expert Gerard Meszaros details 68 patterns for writing, understanding, and maintaining tests. He demonstrates how to make automated tests robust, repeatable, and cost-effective.

The book covers key topics such as:

  • Writing better tests—and writing them faster
  • The four phases of automated tests: fixture setup, exercising the system under test (SUT), result verification, and fixture teardown
  • Improving test coverage by isolating software from its environment using Test Stubs and Mock Objects
  • Designing software for greater testability
  • Using test "smells" (including code, behavior, and project smells) to spot problems and know when and how to eliminate them
  • Refactoring tests for greater simplicity, robustness, and execution speed
■ About the Author

Gerard Meszaros

Gerard Meszaros is the Chief Scientist and Senior Consultant at ClearStream Consulting, based in Calgary, specializing in Agile development. He has extensive experience with test-driven development frameworks and is a pioneer in software patterns, refactoring, and test design.


Test Driven Development: By Example By Kent Beck

This book focuses on the two pillars of Extreme Programming (XP) that are as vital as pair programming: "Test-First" and "Refactoring." It provides a definitive and practical guide to mastering the craft of Test-Driven Development.

■ About the Author

Kent Beck

Kent Beck is the creator of Extreme Programming (XP) and one of the original signatories of the Agile Manifesto. He has authored seminal works on design patterns, TDD, and Smalltalk. Alongside Ward Cunningham, he popularized CRC cards. He created SUnit, the unit testing framework for Smalltalk, and co-created JUnit with Erich Gamma. He holds a Master’s degree in Computer Science from the University of Oregon.


Test-Driven Development: A Practical Guide By David Astels

This book is a practical TDD guide for programmers aiming to deliver real projects, tackle real challenges, and write real code with real solutions.

It covers TDD from A to Z using Java and JUnit, introducing essential tools and techniques for refactoring, mock objects, and "Intentional Programming" to truly drive TDD forward.

With additional coverage of TDD frameworks for C++, C#/.NET, Python, VB6, Ruby, and Smalltalk, this book helps you rediscover the joy of writing superior code.

■ About the Author

David Astels

David Astels, currently Technology Director at ChannelFireball.com, has over 20 years of experience as a software developer, with over a decade dedicated exclusively to object technology. Through his consultancy specializing in Extreme Programming (XP), he has been a vocal advocate for Java solutions. He is also the author of "A Practical Guide to Extreme Programming."


Effective Unit Testing: A guide for Java developers By Lasse Koskela

This book demonstrates how to write "good" tests—those that are concise, expressive, useful, and maintainable.

Inspired by Roy Osherove’s bestseller "The Art of Unit Testing," this guide focuses specifically on tools and practices within the Java ecosystem. It explores modern techniques such as Behavior-Driven Development (BDD) through practical, real-world examples.

■ About the Author

Lasse Koskela

Lasse Koskela is a pioneer of the Finnish Agile community and a frequent speaker at international conferences.

At Reaktor, he serves as a software product development consultant, coach, trainer, and practitioner, working on diverse projects ranging from enterprise applications to middleware. A TDD practitioner since its early days, he is also a Certified Scrum Trainer® (CST®), delivering training and coaching teams to improve performance and establish a culture of continuous learning.


Odd-e Japan offers Certified Scrum Developer® (CSD®) training,
where you can gain hands-on experience with
Test-Driven Development (TDD).

What is Certified Scrum Developer® (CSD®) Training?

Overview
This is a systematic education and certification program created by Scrum Alliance® to develop professionals who can collaborate correctly and efficiently as Scrum team members.
It certifies that your understanding of Scrum principles and your ability to collaborate in practice meet the standards set by Scrum Alliance®.
What You Will Learn
Through a simulated one-week sprint in an ideal Scrum team environment, you will build a small application while acquiring the knowledge, technical skills, and habits required for effective teamwork.
The course includes personalized coaching from Agile coaches to address real-world challenges.
Learn more
Apply for Odd-e Japan Training
What is Certified Scrum Developer® (CSD®) Training?
Certified Scrum Developer®(CSD®)- Scrum Alliance®
Training Program
Scrum Practices
− Introduction
− Scrum Overview
− Collaboration with the Team
Technical Practices
− Technology & Engineering
− TDD (Test-Driven Development)
− CI (Continuous Integration)
− ATDD (Acceptance Test-Driven Development)
− Refactoring
− Scaling Scrum
Earning CSD® Certification
To earn this certification, you must complete 5 days of training mandated by Scrum Alliance®. Two days focus on the principles of Scrum, while the remaining three days provide technical education essential for software developers.

Get Your Certification

Please apply for our various training programs
using the link below.