On Mon, Nov 18, 2019 at 3:23 PM Peter J. Holzer <hjp-pyt...@hjp.at> wrote: > > I don't know what "proper" TDD is (and even less "proper consideration" > of TDD), but TDD is in my opinion very much rooted in the agile mindset. > And that means frequent iteration and improvement. So I think the > micro-iteration technique is closer to philosophically pure TDD (if such > a thing exists) than your waterfally "write complete spec, then write > all tests, then write code" technique (That doesn't mean that your > technique is bad - it's just not what I think people are talking about > when they say "TDD"). Your comments brought to mind a book recommended to me, "Test-Driven Development by Example" by Kent Beck. On the intro page to part one, he says:
"...My goal is for you to see the rhythm of Test-Driven Development (TDD), which can be summed up as follows. 1. Quickly add a test. 2. Run all tests and see the new one fail. 3. Make a little change. 4. Run all tests and see them all succeed. 5. Refactor to remove duplication. The surprises are likely to include -- How each test can cover a small increment of functionality -- How small and ugly the changes can be to make the new tests run -- How often the tests are run -- How many teensy-weensy steps make up the refactorings" -- boB -- https://mail.python.org/mailman/listinfo/python-list