Test-Driven Development: By Example - Kent Beck (Addison-Wesley, 2003)