[TIP] the best time to start doing a test?
tottinge at gmail.com
Mon Sep 29 11:34:35 PDT 2008
Kumar McMillan wrote:
> I'd say you are probably beyond the point at which you should start
> writing tests so now is a good time to start.
Q: When is the best time to plant a tree?
> However, I [personally]
> find it important to leave breathing room when beginning a new area of
> development in a project -- in other words, I give myself time to
> explore the problem in code before writing tests. I think of this as
> a prototype stage and the code might even get thrown away.
When working in legacy code, we'll call this a "scratch refactoring",
where we copy out the code and do bad things to it to figure out where
we want to go. Then we revert/delete the changes and start over TDD. I
think that's listed as a technique in Working Effectively with Legacy
Code (WELC). If not, it should be. Michael does it enough.
In Agile development, we will often do a "spike" which is when we go
investigate a task to see if we can figure out an approach and give some
kind of estimate for how big of a task it is. That's the same thing in
a different wrapper. But everyone has to explore sometimes.
> Once I
> have a vision for the architecture then I start writing tests as soon
> as possible and add any new features with accompanying tests. This is
> sort of like the TED (test enhanced development) that Grig and others
> described but it's got a bell curve to it where as soon as the
> architecture stabilizes it then becomes TDD (test driven development)
> for me.
Once you decide that you're going to write the tests anyway, why _not_
write them first?
More information about the testing-in-python