“Creating A Unit Testing Strategy” Slides from Agile Prague

At Agile Prague 2016, we’ve discussed unit testing as a process, not tools. As such, we need to think about the process and how we’re going to attack. Here are slides. [slideshare id=65927397&doc=creatingaunittestingstrategy-160912093850]

Unit Testing Anti-Pattern: Code Matching

Sometimes, tests imitate code, and not in a good way. Here’s our tested code: public String encode(String word) { String result = word + word.length(); return result; } And here’s our test: @Test public void howItsDone() { Encoder enc =… Continue Reading…

Unit Testing Anti-Pattern: Misleading Tests

You’re testing the right thing, and the test passes, and everything is cool. Or is it? Check out this test: @Test public void encodeString_sizeAtEnd() { Encoder enc = new Encoder(); String result = enc.encode(“hello”); assertEquals(“hello5”, result); } This test looks… Continue Reading…

Unit Test Anti-Patterns: Logic in Tests

Logic is everything that causes two or more possible paths. For example, if-else or switch-case. Logic is good for production code, but not unit tests.

Unit Tests Anti-patterns: TDD without refactoring

Anti-patterns are patterns with negative consequences. In this series I’m going to tackle those patterns, explain what they signify in terms of risks, and what to do instead. Let’s look at a pattern common to people who start out on… Continue Reading…

TDD In Real Life – Part 2

Last time we’ve started talking about how to approach TDD in real, complex systems. While plain vanilla TDD assumes nothing about the world around our component, in real life, there are constraints we need to relate to. Where we stopped,… Continue Reading…

TDD In Real Life – Part 1

TDD comes from the world of unit testing. It’s optimized for small pieces of code; small increments of functionality. BDD takes the test-first approach, adds functional and user semantics and tries to follow the same formula for the whole software.… Continue Reading…

“TDD For The Rest of Us” Slides

Had a great time presenting the “TDD for the rest of us” to testers. Great crowd, and great questions. Here are the slides. [slideshare id=62169180&doc=tddfortherestofus-160519043211]

New Version of “Everyday Unit Testing”

That’s right! It’s been a while, but lots of content going into the new version, which you can download right now. What’s added? Two new chapters: Testing strategy – how to think about testing (and unit testing) a feature. TDD… Continue Reading…

Legacy Code to Testable Code #13: The Testable Object

Other awesome posts in the series: If the code we want to test is highly-decoupled from its dependencies, we probably don’t need to do anything to it. But when we have a medium-big ball of mud things change. There are… Continue Reading…

Copyright Gil Zilberfeld, 2025