Introducing test-driven development to delivery-focused software development teams provides a unique set of challenges. For example, how to begin the process of deciding what to test? As a Software Engineering Coach tasked with improving software development practices across a large enterprise, I've been hard at work tackling this very problem. The solution I found is simple: describe the requirements, then let automation do most of the work!
Category partitioning (or category partition testing) is a testing methodology based on input/output analysis that emphasizes both coverage and error detection. Combining manual design and automated test generation, the systematic nature of this method takes a lot of the guesswork and anxiety out of deciding how to begin building out a TDD suite for teams starting out.
In this session, I will walk through a sample application of the category partitioning method centered around the development of a simple application, including all of the steps of the method: identifying independently testable features, splitting features into categories, partitioning categories into choices, identifying constraints and boundary conditions, and finally generating a suite of test frames through an automated tool that could be used to begin development using TDD.