tag:blogger.com,1999:blog-3081442684129016822.post2944368792676495475..comments2024-03-02T14:14:58.495-08:00Comments on Manuel Klimek: Does "Test After" Work For You?klimekhttp://www.blogger.com/profile/04044731490885944160noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-3081442684129016822.post-31821871237220686532007-11-19T15:07:05.000-08:002007-11-19T15:07:05.000-08:00Sometimes, the test after are the only tests that ...Sometimes, the test after are the only tests that are written. Though, sometimes its not long after.<br>I've noticed a few variations on the test after phenomena:<br> - A manager shows up and says that x amount of coverage is needed (and little if no tests exist). This is really the worst case. Because the tests that are written will be written to pass. So, they do little more than demonstrate behavior.<br> - A developer is learning TDD but, is having a hard time. So, tests tend to be written shortly after a class is written. Its still better than the previous because the developer is actually trying to break the class. These tests can stimulate refactoring but, do little to affect design.Paulhttp://willcode4beer.comnoreply@blogger.comtag:blogger.com,1999:blog-3081442684129016822.post-51251795711240398332007-11-20T05:30:05.000-08:002007-11-20T05:30:05.000-08:00In some respects the tests have the potential to b...In some respects the tests have the potential to become a good communication tool, as they, in theory, communicate intent. Standards such as naming the test meaningfully like "CanGetObjectCollectionFromFactory" or "ShouldHaveIDEqualThirteen" are such examples.<br><br>TTD is hard, because it's like drawing a picture in reverse where you don't draw shapes, instead your pencils create the boundaries of the empty space. Afther the empty space have been defined, you have your picture. Think about it, it's not even like a figure drawing upside down.<br><br>Rocky Lhotka has an interesting take on TTD: it helps you think through your code, but is very incomplete and cuts you off from using the development suite tools effectively.ActiveEngine Senseihttp://activeengine.wordpress.comnoreply@blogger.comtag:blogger.com,1999:blog-3081442684129016822.post-2178380665747537922007-11-20T15:42:33.000-08:002007-11-20T15:42:33.000-08:00Sensei,I like your metaphor of drawing a painting....Sensei,<br><br>I like your metaphor of drawing a painting. I read in a beginners handbook for drawing that you should "look at the space between objects" when drawing outlines, since this will stop the effect of your brain "interfering" with what you see by telling you what you expect to see. This is exactly one of the things TDD does for me.<br><br>TDD is incomplete, but a lot more complete than not having automated tests at all levels of the application, which seems to be a current industry practice.<br><br>I don't understand what you mean by "cuts you off from using the development suite tools effectively", have you ever tried TDDing with eclipse and java?<br><br>Thanks for leaving your thoughts<br>ManuelManuel Klimekhttp://klimek.box4.netnoreply@blogger.comtag:blogger.com,1999:blog-3081442684129016822.post-71937049884809992602007-11-20T18:12:16.000-08:002007-11-20T18:12:16.000-08:00Ich stamme aus "Microsoft" Entwickelung-...Ich stamme aus "Microsoft" Entwickelung- sorry my German is really bad. My mother-in-law is from Passau, and we still have relatives in Deustchland.<br><br>Anyhow, to elucidate, I TTD with NUnit, Visual Studio and flirted with Resharper from Jetbrains. My comment concerning being cut off from tools stems from Rocky Lhotka (CSLA.Net) comments. His premise is if you TTD from scratch you should have no object or object collection, just the code for the test. At this you can not avail yourself of Intellisense as you do not even have the namespace or domain. Hence any of the refactor macros or assistance that Visual Studio can provide out of the box is unusable.<br><br>Resharper is a product built to bridge this gap as it will "abstract" the objects from your test and allow you create your interfaces, abstract objects, what have you. This places you places you in very productive mode, as you truly think of you tests, call up a refactoring template and create you code / objects from the items you have first added to the test. In a sense it truly allows you to only develop what the test requires.<br><br>I am currently evangelizing my direct reports with TDD, and one poor fellow is about to start tomorrow, he just doesn't know it yet. Yes, I am mean boss but am lucky as my team enjoys a challenge. Myself I have used it effectively in several situations where it have greatly focused my efforts and provided a great communication tool. Sort of using code to describe and document code.ActiveEngine Senseihttp://activeengine.wordpress.comnoreply@blogger.comtag:blogger.com,1999:blog-3081442684129016822.post-8333456062501008542011-01-14T00:52:30.000-08:002011-01-14T00:52:30.000-08:00Between me and my husband we've owned more MP3...Between me and my husband we've owned more MP3 players over the years than I can count, including Sansas, iRivers, iPods (classic & touch), the Ibiza Rhapsody, etc. But, the last few years I've settled down to one line of players. Why? Because I was happy to discover how well-designed and fun to use the underappreciated (and widely mocked) Zunes are.reverse mortgages in californiahttp://californiareversemortgagehelp.comnoreply@blogger.com