Software Development/Test-First Programming

From The Thinkulum
Jump to navigation Jump to search

To get myself into the habit of writing tests first, I'm including it as a subtask for each function I note in my task manager (I use Nirvana, an app designed with GTD in mind). I have a template for these subtasks, which I copy into the description of the tasks. At the moment the template looks like this:

- Document
- Test
- Code
- Commit

Really I'll move back and forth between documenting, testing, and coding, but I'll check them off when I've completed the first instance of each of those subtasks for that function.

A practice I'm starting to explore that takes TDD a step further is behavior-driven development. It allows you to derive tests from documentation that's both human readable and executable.