TDD framework