Skip to Content
Use Zombies in TDD
shortcut

Use Zombies in TDD

by Maximiliano Contieri
February 2025
Intermediate
5 pages
5m
English
O'Reilly Media, Inc.
Content preview from Use Zombies in TDD

Use Zombies in TDD

Test-driven development is a powerful development technique for building reliable software. You can incorporate it into your development workflow using the ZOMBIE approach. This method focuses on iterative progress, making sure your tests gradually increase in sophistication while maintaining control over the code’s logic and exploring testing paths in a methodic order.

The ZOMBIE methodology advises you to start with tests for Zero, One, and Many cases to verify your implementation. Using zombies in TDD helps you focus on building functionality incrementally while preventing premature complexity. The principle is simple: start with the simplest possible solution (even a hardcoded one), then evolve it into a more robust design over time.

The TDD ZOMBIE Cycle

To illustrate how the ZOMBIE cycle guides you in writing tests, we will build a classic Tic-tac-toe game in JavaScript using the ZOMBIE acronym:

Zero

Start by writing tests that handle cases when the input or game state is zero or empty.

One

Write tests that check how the system behaves when there is only one move or the smallest piece of data.

Many

Gradually introduce multiple moves or more complex scenarios to test.

Boundaries

Ensure that edge cases, like an already taken square, are handled.

Interfaces

Test public interfaces like methods and game APIs.

Exceptions

Finally, check how the game handles invalid inputs and exceptional ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Use Null Objects instead of NULL

Use Null Objects instead of NULL

Maximiliano Contieri
Refactor Tests

Refactor Tests

Maximiliano Contieri

Publisher Resources

ISBN: 9781098172732