<DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">Often out of necessity, when testing developer's code for the first time, I do exactly the same thing on a functional level.&nbsp; Testers often call this &quot;exploratory testing&quot;.&nbsp; It is very similar to a spike, but for learning what a developer has implemented but often hasn't had time to communicate.&nbsp; I try to do this sort of testing as early as possible and to give feedback to the developer and/or project owner withing a couple of hours of exploring the feature.</FONT></DIV><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">As a developer (and as Kumar indicates he does), developers can use the same technigue to learn about what legacy code does.&nbsp; There are some articles (several years old) on the &quot;articles&quot; page of James Back's website (scroll to around the middle of the articles page and look for the heading &quot;Exploratory Testing&quot;.&nbsp; It's been years since I first read those articles, but if I recall correctly, they even go into how to manage the questions you are going to explore.</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">&nbsp;&nbsp;&nbsp; http://www.satisfice.com</FONT></DIV><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">regards,</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">--</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">Bob</FONT></DIV><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">On Mon, Sep 29, 2008 at&nbsp; 2:52 PM, Kumar McMillan wrote:</FONT></DIV><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">&gt; On Mon, Sep 29, 2008 at 1:34 PM, Tim Ottinger &lt;<FONT COLOR="#3333FF"><A HREF="mailto:tottinge@gmail.com"><U>tottinge@gmail.com</U></A><FONT COLOR="#000000"><A HREF="mailto:tottinge@gmail.com"> </A>&gt; wrote:</FONT></FONT></FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">&gt;&gt; ... then becomes TDD (test driven development)</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">&gt;&gt; for me.</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">&gt;&gt; </FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">&gt; Once you decide that you're going to write the tests anyway, why _not_</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">&gt; write them first?</FONT></DIV><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">What TDD means to me is more or less test-first but I avoided saying</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">TFD because the &quot;first&quot; tests I do are usually manual, not automated.</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">I.E. perhaps load the browser and *see* the interface fail to get an</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">idea of what I should see instead.  It's just easier on my brain.</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">Tests -- functional tests -- are often detached from the end-user</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">interface; they are simulations of that interface.  It's easier for me</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">to simulate a scenario that I've experienced rather than one I can</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">only imagine.  However, when writing a library where the interface is</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">actual code then it's easier on the brain to write a test for that</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">first.  Doctests are also great for this reason.  YMMV.</FONT></DIV><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0"><br></FONT><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">_______________________________________________</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#000000" LETTERSPACING="0" KERNING="0">testing-in-python mailing list</FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#3333FF" LETTERSPACING="0" KERNING="0"><A HREF="mailto:testing-in-python@lists.idyll.org"><U>testing-in-python@lists.idyll.org</U></A><FONT COLOR="#000000"><A HREF="mailto:testing-in-python@lists.idyll.org"> </A></FONT></FONT></DIV><DIV ALIGN="LEFT"><FONT FACE="Verdana" SIZE="2" COLOR="#3333FF" LETTERSPACING="0" KERNING="0"><A HREF="http://lists.idyll.org/listinfo/testing-in-python" TARGET="_blank"><U>http://lists.idyll.org/listinfo/testing-in-python</U></A><FONT COLOR="#000000"><A HREF="http://lists.idyll.org/listinfo/testing-in-python" TARGET="_blank"> </A></FONT></FONT></DIV>