[TIP] testing: why bother?

Michael Foord michael at voidspace.org.uk
Wed Mar 23 09:45:37 PDT 2011


On 23/03/2011 16:40, C. Titus Brown wrote:
> On Wed, Mar 23, 2011 at 04:26:02PM +0000, Michael Foord wrote:
>> On 23/03/2011 15:37, C. Titus Brown wrote:
>>> [snip...]
>>> Also I don't know of any actual evidence that TDD or agile actually improves
>>> programming speed, ability, thought, or anything else, over other methods of
>>> specification (more formal ones, for example).  Anecdotes need not apply.
>>>
>> Well sure, but unless you have evidence to the contrary (anecdotes need
>> not apply) that's entirely moot.
> This is an ... interesting opinion, actually.  If you're dealing with
> institutional inertia -- working within a large team, or on educational
> curricula -- then *positive* evidence is needed to effect a shift.
> It may not be sufficient, but it's certainly necessary.
>
> Since the thread started with the question, "how can I convince people that
> testing is a good way to go?", which quickly morphed into people talking about
> how great TDD is, I think it's pretty relevant to ask why we should convince
> people.  If the answer is "because we like the color blue" (a.k.a. I have
> nothing but personal anecdotes that boil down to "I'm an awesome programmer
> /work with awesome programmers, and I/we do TDD, and you should too!") then
> that's not very convincing.
>
> Maybe I'm just being curmudgeonly... but "drink the kool-aid, it's tasty!" has
> never struck me as a good argument :)

Hah, well my *experience* has been that TDD is an extremely effective 
way to improve code quality and to test. It has changed the way I 
develop significantly for the better. However if you discount that 
experience (anecdotes need not apply) then you leave me with little to 
bring.

I would suspect that TDD can actually be made into quite an effective 
teaching method in itself, but that aside - see the other study I 
referenced.

It's interesting because synthetic controlled experiments on "large 
scale software practises" are inevitable flawed. An empirical large 
scale study seems like the best (only?) way to gather data on the topic.

All the best,

Michael

> Of course, given that I'm still in the backwaters of scientific programming
> trying to convince people that *version control* is a good idea, I clearly have
> other things to work on!
>
> cheers,
> --titus


-- 
http://www.voidspace.org.uk/

May you do good and not evil
May you find forgiveness for yourself and forgive others
May you share freely, never taking more than you give.
-- the sqlite blessing http://www.sqlite.org/different.html




More information about the testing-in-python mailing list