Re: how many bugs do you find and correct during TDD?

From: Tammy (qqq_at_ppppp.com)
Date: 12/31/04


Date: Thu, 30 Dec 2004 15:37:35 -0800


Steve Jorgensen wrote:

> So, let's say the avergage test/fail/pass cycle is 10 minutes. In that time,
> first you write a test you expect to fail. Perhaps, it does fail, and perhaps
> it doesn't. If it is not as expected, is that a bug, an imporperly written
> test, or is that a misunderstanding of what the code's current untested
> capabilities are. A little bit of digging is done, and it is found that the
> test was not written properly. Is that a bug?

Yes.

> Next, the test is corrected,
> and now fails as expected. That's not a bug because we expected it, right?

Agreed.

> OK, now we do the simplest thing that could possibly work to make the test
> pass, and the test still fails (or another test fails). Is that a bug? I
> dunno - we didn't know whether to expect the test to pass or fail because we
> were experimenting to see if the simplest thing actually did work.

If you expected it to pass and it didn't then that is a bug.

> As you can see from this pattern, TDD is not so much about finding bugs before
> they go into production as setting up tests that ensure code that passes them
> functions as designed, then making the code meet the tests. I would say that
> a bug, in this context is defined as something that got through our net either
> becuase we forgot a test, wrote an inadequate test, we misunderstood the
> request, or the request itself was the result of a misunderstanding of the
> problem. How many bugs does TDD catch then?

I am trying to figure out the error rate of a human programmer as they
work. So only classifying a bug as something that slips the net doesn't
accomplish that goal.



Relevant Pages

  • coreutils-6.11 released
    ... 300 in gnulib. ... you can run this command ... -fR to copy a fifo or "special" file onto an existing file would fail ... [bug introduced in coreutils-5.90] ...
    (gnu.announce)
  • Re: how many bugs do you find and correct during TDD?
    ... For every bug mark a tick on the paper. ... No, probably not, particularly when doing TDD. ... first you write a test you expect to fail. ... or the request itself was the result of a misunderstanding of the ...
    (comp.object)
  • Re: embedded in strings
    ... This looks like a bug. ... out why the index is causing this to fail. ... | queries with vaues longer than the column being queried. ... |> | query analyzer if you want to see what I'm talking about. ...
    (microsoft.public.sqlserver.ce)
  • Re: TDD: Test-Driven Design or Test-Driven Development?
    ... > If you intent to get tests pass you'll succeed. ... > software with intention to make it fail you'll succeed again. ... "If you are curious, or code does something unexpected, or you receive a bug ... If they write a test that fails due to missing abilities, ...
    (comp.object)
  • Re: Possible shared mapping bug in 2.4.23 (at least MIPS/Sparc)
    ... > Don't blame the kernel - the kernel is only doing what the user asked it ... Surely it's better to fail the mmapon other archs ... It's a bug either way ... ... send the line "unsubscribe linux-kernel" in ...
    (Linux-Kernel)