Test-driven development : by example - Beck, Kent. (Addison-Wesley, 2003)