<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-35609063.post7883773794613159687..comments</id><updated>2009-04-27T08:29:30.553+01:00</updated><category term='bcs'/><category term='lean'/><category term='disruptive'/><category term='geotagging'/><category term='geocoding'/><category term='web2.0'/><category term='photos'/><category term='gps'/><title type='text'>Comments on what i still don't know: Test Code Is Just Code</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.iancartwright.com/feeds/7883773794613159687/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35609063/7883773794613159687/comments/default'/><link rel='alternate' type='text/html' href='http://blog.iancartwright.com/2009/04/test-code-is-just-code.html'/><author><name>Ian Cartwright</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-35609063.post-6034234778397540803</id><published>2009-04-27T04:20:00.000+01:00</published><updated>2009-04-27T04:20:00.000+01:00</updated><title type='text'>I just had a great Monday morning when I saw this ...</title><content type='html'>I just had a great Monday morning when I saw this post... I remind people all the time how important tests are.. but sometimes I feel like some devs don't value tests as much as what they call "the production code". &lt;br /&gt;One big problem is "design". We should design the tests as well... Refactor.. create abstractions, remove duplications whenever possible without removing the ability to read the test.&lt;br /&gt;Perfect, congratulations Ian, &lt;br /&gt;very good post.. &lt;br /&gt;I'll refer to it whenever I have one of these discussions when people argue that "tests will not go to production..."</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35609063/7883773794613159687/comments/default/6034234778397540803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35609063/7883773794613159687/comments/default/6034234778397540803'/><link rel='alternate' type='text/html' href='http://blog.iancartwright.com/2009/04/test-code-is-just-code.html?showComment=1240802400000#c6034234778397540803' title=''/><author><name>Fabio Pereira</name><uri>http://www.blogger.com/profile/05883478467597535825</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.iancartwright.com/2009/04/test-code-is-just-code.html' ref='tag:blogger.com,1999:blog-35609063.post-7883773794613159687' source='http://www.blogger.com/feeds/35609063/posts/default/7883773794613159687' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-53442789'/></entry><entry><id>tag:blogger.com,1999:blog-35609063.post-5082839124025374951</id><published>2009-04-23T10:23:00.000+01:00</published><updated>2009-04-23T10:23:00.000+01:00</updated><title type='text'>I think the big objection I hear about writing tes...</title><content type='html'>I think the big objection I hear about writing tests - particularly unit tests - is that as the code evolves then you have to re-write all the tests and so you are wasting time with all that test maintenance. &lt;br /&gt;&lt;br /&gt;I say that if you need to change tests all the time then you probably aren't doing very good OO development. Classes that are well encapsulated with good interfaces that consume other interfaces via IoC will be flexible and composable and more than likely they will also be easily testable.&lt;br /&gt;&lt;br /&gt;I also wrote this in a similar vein:&lt;br /&gt;&lt;br /&gt;http://nomorehacks.wordpress.com/2008/11/05/when-is-a-unit-test-not-a-unit-test/</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35609063/7883773794613159687/comments/default/5082839124025374951'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35609063/7883773794613159687/comments/default/5082839124025374951'/><link rel='alternate' type='text/html' href='http://blog.iancartwright.com/2009/04/test-code-is-just-code.html?showComment=1240478580000#c5082839124025374951' title=''/><author><name>sam.m.gardiner</name><uri>http://www.blogger.com/profile/07219075313897914920</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.iancartwright.com/2009/04/test-code-is-just-code.html' ref='tag:blogger.com,1999:blog-35609063.post-7883773794613159687' source='http://www.blogger.com/feeds/35609063/posts/default/7883773794613159687' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-530593521'/></entry><entry><id>tag:blogger.com,1999:blog-35609063.post-8917535003687873027</id><published>2009-04-23T09:58:00.000+01:00</published><updated>2009-04-23T09:58:00.000+01:00</updated><title type='text'>Very good post. When I first encountered TDD, this...</title><content type='html'>Very good post. When I first encountered TDD, this was an epiphany for me. I began writing lots of tests, which helped tremendously - but I did not give as much thought to the organization of my tests suite as I did to the project itself, and over time the tests themselves started to become painful to work with, for pretty much the reasons you listed. The morale of the story for me is the same as for "regular" code: write it as if it's going to grow, and as if you will have to look at it later when you have forgotten everything about the project...</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35609063/7883773794613159687/comments/default/8917535003687873027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35609063/7883773794613159687/comments/default/8917535003687873027'/><link rel='alternate' type='text/html' href='http://blog.iancartwright.com/2009/04/test-code-is-just-code.html?showComment=1240477080000#c8917535003687873027' title=''/><author><name>Mathias</name><uri>http://www.blogger.com/profile/02903237219994919458</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.iancartwright.com/2009/04/test-code-is-just-code.html' ref='tag:blogger.com,1999:blog-35609063.post-7883773794613159687' source='http://www.blogger.com/feeds/35609063/posts/default/7883773794613159687' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-868539620'/></entry><entry><id>tag:blogger.com,1999:blog-35609063.post-4055714749633005343</id><published>2009-04-22T20:59:00.000+01:00</published><updated>2009-04-22T20:59:00.000+01:00</updated><title type='text'>Really refreshing to read this. I agree with every...</title><content type='html'>Really refreshing to read this. I agree with everything said in this post.Test Code should be treated as production code. &lt;br /&gt;&lt;br /&gt;IMHO this is a slippery slope because&lt;br /&gt;&lt;br /&gt;* When a development team is behind on schedule, I have seen devs start cutting corners in test code. That is when the Copy Paste syndrome which you highlight often comes into play. When I look at something like that these days, I thank my stars that atleast there is a test.&lt;br /&gt;&lt;br /&gt;* If TDD'ing an area of code has become overly complex because of bad usage of mocks etc.. this often does not figure out in the Technical Debt list of a team.&lt;br /&gt;&lt;br /&gt;* Test code refactoring also never gets considered when devs think of estimating a story, especially when dev team is too focused on getting the story done&lt;br /&gt;&lt;br /&gt;In an ideal world, constant refactoring of test code along with production code should happen as a part of each story, and as we know the system better each day</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35609063/7883773794613159687/comments/default/4055714749633005343'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35609063/7883773794613159687/comments/default/4055714749633005343'/><link rel='alternate' type='text/html' href='http://blog.iancartwright.com/2009/04/test-code-is-just-code.html?showComment=1240430340000#c4055714749633005343' title=''/><author><name>Anand Vishwanath</name><uri>http://www.blogger.com/profile/04391284554540881059</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://3.bp.blogspot.com/_k5P0omIkPzI/SbXFzYsmo-I/AAAAAAAAAI0/2-Yk4DNrCWA/S220/n526987425_5693.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.iancartwright.com/2009/04/test-code-is-just-code.html' ref='tag:blogger.com,1999:blog-35609063.post-7883773794613159687' source='http://www.blogger.com/feeds/35609063/posts/default/7883773794613159687' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1727134046'/></entry><entry><id>tag:blogger.com,1999:blog-35609063.post-3508059905047805494</id><published>2009-04-22T20:14:00.000+01:00</published><updated>2009-04-22T20:14:00.000+01:00</updated><title type='text'>Excellent advice. I've already referred people to ...</title><content type='html'>Excellent advice. I've already referred people to it.&lt;br /&gt;&lt;br /&gt;Because code "talks to the developer", and test code is code, then the intention of the test should be clear.&lt;br /&gt;&lt;br /&gt;If we're using tests as executable specifications of system behaviour, then we should be very deliberate about how those specifications are expressed.&lt;br /&gt;&lt;br /&gt;Names are very important, as is the abstraction of infrastructure (like SQL, HTML, even web testing tool API) as you describe.&lt;br /&gt;&lt;br /&gt;The advice here will help high-performance teams have purposeful, easy-to-change tests that allow rapid turnaround of business requirements.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35609063/7883773794613159687/comments/default/3508059905047805494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35609063/7883773794613159687/comments/default/3508059905047805494'/><link rel='alternate' type='text/html' href='http://blog.iancartwright.com/2009/04/test-code-is-just-code.html?showComment=1240427640000#c3508059905047805494' title=''/><author><name>Joshua Graham</name><uri>http://www.blogger.com/profile/13148399856460503228</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://static.flickr.com/24/63795709_6415a7c239.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.iancartwright.com/2009/04/test-code-is-just-code.html' ref='tag:blogger.com,1999:blog-35609063.post-7883773794613159687' source='http://www.blogger.com/feeds/35609063/posts/default/7883773794613159687' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-232719195'/></entry></feed>
