|
|
|
|
|
by searls
4532 days ago
|
|
This was indeed my motivation for writing the post. I think the next step to take if you agree with my premise is that we need to come together with ideas for how to best teach TDD to beginners/novices. Exercises that promote these concepts, lines of reasoning to take, tools to get people started without any unnecessary cognitive overhead, etc. I agree that teaching TDD exactly how I do it today can be a bit overwhelming from a tooling perspective currently, but conceptually I think visualizing it as a reductionist exercise with a tree graph of units is pretty simple. |
|
They have to write the inputs and then the expected results.
It gets them thinking about the concept of using tests as part of the design practice.
Later, I give them the unit tests and they have to write the code. This is usually a rewritten version of a previous program so they see the text-based test plans in action as unit tests.
Then I might give them the empty test and an empty implementation, asking them to fill in the test first, then the implementation.
Finally I ask for a completely new feature, and they have to figure out how to write the test. And I ask them to go about it with a test plan.
After a few semesters of this, I think I'm ready to say that this is successful for getting the "beginners" there.
It doesn't address everything, but I think it's a good start.