XpdWiki

FrontPage
RecentChanges
FindPage
PageIndex
UnusedPages
UndefinedPages
XpApprentices

Set your name in
UserPreferences

Edit this page



Referenced by
...nobody




JSPWiki v2.0.52


WhyTest


Actually there seems to be so much commentry on c2 wiki about this that this page is probably completely redundant. I'll spend a day reading that, and then revisit this. --PhilDawes


I'm asking the question because it occurred to me that the reasons weren't explicit to me when I started doing it.

Here's a stab:

1 Because it improves confidence in the software 1 Because it enables effective refactoring 1 Because it helps you debug and catch problems in your implementation early 1 Because it helps you understand the problem 1 Because it helps confirm that you are doing the right thing

(3) and maybe (1) are concerned with the implementation working as intended, whereas (4) and maybe (5) are more concerned with helping understand and meet the requirements. (2) is concerned with allowing you to change your mind easily.

The interesting thing for me is that attempting to do (3) limited my ability to do refactoring quickly without breaking tests. This is because in my efforts to aid debugging by testing everything, my tests ended up asserting artifacts of the implementation rather than the requirements.

TestFirst? alleiviated this problem, as did DoTheSimplestThingThatSatisfiesTheTests. I am now treating Wiki.UnitTestDelegator? as a unittest smell (at least until somebody convinces me otherwise).

-PhilDawes ³rev³6³WhyTes ³³date³October 2, 2001³host³³agent³Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)³WhyTest


Edit this page   More info...   Attach file...
This page last changed on 02-Oct-2001 17:42:54 BST by unknown.