top band

Saturday 12:10 p.m.–12:55 p.m.

A Beginner's Guide to Test-driven Development

Itamar Turner-Trauring

Audience level:


Software is maintained by humans with limited memory and an unfortunate tendency to make mistakes. Test-driven development (TDD) can help you work around these design flaws by providing a permanent, automated specification for your code. Learn how to implement TDD when bug fixing and implementing new features and how this process will ensure your code is correct both now and in the future.


Test-driven development is a process for writing software that can be safely changed by fallible human beings. Change is inevitable as bugs are found, requirements change and dependencies (operating system, libraries, language) change from under you. Unfortunately as programmers we can only keep so much information in our memory at any given time, not to mention our tendency to make mistakes of every sort. The combination is problematic: * How do we know our software does what we think it does? * How do we change our software without breaking existing functionality? In this talk you'll learn the process of test-driven development (TDD). In TDD the automated tests that will validate the code's correctness are written before the actual code is written. Since the tests will fail before the code is written and pass when it is done we can be sure the code is correct. Since all code has tests we can notice when changes to the code break existing functionality. Writing tests before code may seem confusing or difficult but as you will see it's actually fairly simple to do. The talk will break down the process into clear detailed steps, allowing you to start using TDD on your software projects immediately.
bottom band background