<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"	>
<channel>
	<title>Comments on: What makes a test suite good?</title>
	<atom:link href="http://johannesbrodwall.com/2007/05/19/what-makes-a-test-suite-good/feed/" rel="self" type="application/rss+xml" />
	<link>http://johannesbrodwall.com/2007/05/19/what-makes-a-test-suite-good/</link>
	<description>Johannes Brodwall&#039;s Musings on Software Architecture and Programming</description>
	<lastBuildDate>Fri, 13 Apr 2012 19:13:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Johannes Brodwall</title>
		<link>http://johannesbrodwall.com/2007/05/19/what-makes-a-test-suite-good/comment-page-1/#comment-5430</link>
		<dc:creator>Johannes Brodwall</dc:creator>
		<pubDate>Mon, 21 May 2007 20:03:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.brodwall.com/johannes/blog/2007/05/19/what-makes-a-test-suite-good/#comment-5430</guid>
		<description>Hi, Anne Marie

Thanks for the comment. I agree that in principle, TDD will give us high line coverage. In practice, I have not seem a code base that gets more than 90 % or so (my own). I don&#039;t know why this always happens. In Java, it seems like checked exception is a part of the culprit, however.

However, getting a 100 % line coverage doesn&#039;t mean that you get perfect coverage in the sense of reducing the chance of a bug sneaking though.

About Universal Tests: I think they can be taken a lot further than people are doing today, and I think it will be beneficial. I am looking forward to working more on this topic. Hope to get your comments. Did you see the test cases I linked in?</description>
		<content:encoded><![CDATA[<p>Hi, Anne Marie</p>
<p>Thanks for the comment. I agree that in principle, TDD will give us high line coverage. In practice, I have not seem a code base that gets more than 90 % or so (my own). I don&#8217;t know why this always happens. In Java, it seems like checked exception is a part of the culprit, however.</p>
<p>However, getting a 100 % line coverage doesn&#8217;t mean that you get perfect coverage in the sense of reducing the chance of a bug sneaking though.</p>
<p>About Universal Tests: I think they can be taken a lot further than people are doing today, and I think it will be beneficial. I am looking forward to working more on this topic. Hope to get your comments. Did you see the test cases I linked in?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Johannes Brodwall</title>
		<link>http://johannesbrodwall.com/2007/05/19/what-makes-a-test-suite-good/comment-page-1/#comment-84601</link>
		<dc:creator>Johannes Brodwall</dc:creator>
		<pubDate>Mon, 21 May 2007 18:03:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.brodwall.com/johannes/blog/2007/05/19/what-makes-a-test-suite-good/#comment-84601</guid>
		<description>Hi, Anne Marie&lt;br&gt;&lt;br&gt;Thanks for the comment. I agree that in principle, TDD will give us high line coverage. In practice, I have not seem a code base that gets more than 90 % or so (my own). I don&#039;t know why this always happens. In Java, it seems like checked exception is a part of the culprit, however.&lt;br&gt;&lt;br&gt;However, getting a 100 % line coverage doesn&#039;t mean that you get perfect coverage in the sense of reducing the chance of a bug sneaking though.&lt;br&gt;&lt;br&gt;About Universal Tests: I think they can be taken a lot further than people are doing today, and I think it will be beneficial. I am looking forward to working more on this topic. Hope to get your comments. Did you see the test cases I linked in?</description>
		<content:encoded><![CDATA[<p>Hi, Anne Marie</p>
<p>Thanks for the comment. I agree that in principle, TDD will give us high line coverage. In practice, I have not seem a code base that gets more than 90 % or so (my own). I don&#39;t know why this always happens. In Java, it seems like checked exception is a part of the culprit, however.</p>
<p>However, getting a 100 % line coverage doesn&#39;t mean that you get perfect coverage in the sense of reducing the chance of a bug sneaking though.</p>
<p>About Universal Tests: I think they can be taken a lot further than people are doing today, and I think it will be beneficial. I am looking forward to working more on this topic. Hope to get your comments. Did you see the test cases I linked in?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anne Marie</title>
		<link>http://johannesbrodwall.com/2007/05/19/what-makes-a-test-suite-good/comment-page-1/#comment-5331</link>
		<dc:creator>Anne Marie</dc:creator>
		<pubDate>Sun, 20 May 2007 06:34:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.brodwall.com/johannes/blog/2007/05/19/what-makes-a-test-suite-good/#comment-5331</guid>
		<description>Since this is a very interesting discussion I just have to share some of my opinions on some of the subjects.

Test coverage: If we develop test-driven (and even better: behavior-driven), line/branch coverage should (in theory) never be a problem, since you will only write code that you have already written a test for. In theory that should give you 100% test coverage PLUS your tests are to the point. Why can&#039;t we achieve this? Is it because we aren&#039;t doing real TDD/BDD? Is it actually possible to develop the whole system test-driven?

Test coverage II: Don&#039;t introduce special test frameworks that tests getters and setters because you can&#039;t really write useful tests for your getters and setters, and leaving them untested lowers your test coverage (in the &quot;old&quot; meaning of the word). If your getters/setters aren&#039;t used indirectly by your other tests, and you don&#039;t want to test them explicitly, then why do you have them there at all? In addition to being absolutely pointless, these tests have a tendency to get in your way when you are actually developing real functionality in your system.

Mock objects: A good rule of thumb is to NOT use mock objects if what you really need is to stub up some interface. Implement a stub instead. This will often be both more robust and more reusable. Use mock objects when you actually want to test that the class you are testing is calling a method in another class.

Universal test: This seems like a very good idea, but the (few) times I have tried to achieve this, for some reason or another we couldn&#039;t do it. It&#039;s a cost/value question, I guess.</description>
		<content:encoded><![CDATA[<p>Since this is a very interesting discussion I just have to share some of my opinions on some of the subjects.</p>
<p>Test coverage: If we develop test-driven (and even better: behavior-driven), line/branch coverage should (in theory) never be a problem, since you will only write code that you have already written a test for. In theory that should give you 100% test coverage PLUS your tests are to the point. Why can&#8217;t we achieve this? Is it because we aren&#8217;t doing real TDD/BDD? Is it actually possible to develop the whole system test-driven?</p>
<p>Test coverage II: Don&#8217;t introduce special test frameworks that tests getters and setters because you can&#8217;t really write useful tests for your getters and setters, and leaving them untested lowers your test coverage (in the &#8220;old&#8221; meaning of the word). If your getters/setters aren&#8217;t used indirectly by your other tests, and you don&#8217;t want to test them explicitly, then why do you have them there at all? In addition to being absolutely pointless, these tests have a tendency to get in your way when you are actually developing real functionality in your system.</p>
<p>Mock objects: A good rule of thumb is to NOT use mock objects if what you really need is to stub up some interface. Implement a stub instead. This will often be both more robust and more reusable. Use mock objects when you actually want to test that the class you are testing is calling a method in another class.</p>
<p>Universal test: This seems like a very good idea, but the (few) times I have tried to achieve this, for some reason or another we couldn&#8217;t do it. It&#8217;s a cost/value question, I guess.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anne Marie</title>
		<link>http://johannesbrodwall.com/2007/05/19/what-makes-a-test-suite-good/comment-page-1/#comment-84600</link>
		<dc:creator>Anne Marie</dc:creator>
		<pubDate>Sun, 20 May 2007 04:34:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.brodwall.com/johannes/blog/2007/05/19/what-makes-a-test-suite-good/#comment-84600</guid>
		<description>Since this is a very interesting discussion I just have to share some of my opinions on some of the subjects.&lt;br&gt;&lt;br&gt;Test coverage: If we develop test-driven (and even better: behavior-driven), line/branch coverage should (in theory) never be a problem, since you will only write code that you have already written a test for. In theory that should give you 100% test coverage PLUS your tests are to the point. Why can&#039;t we achieve this? Is it because we aren&#039;t doing real TDD/BDD? Is it actually possible to develop the whole system test-driven?&lt;br&gt;&lt;br&gt;Test coverage II: Don&#039;t introduce special test frameworks that tests getters and setters because you can&#039;t really write useful tests for your getters and setters, and leaving them untested lowers your test coverage (in the &quot;old&quot; meaning of the word). If your getters/setters aren&#039;t used indirectly by your other tests, and you don&#039;t want to test them explicitly, then why do you have them there at all? In addition to being absolutely pointless, these tests have a tendency to get in your way when you are actually developing real functionality in your system.&lt;br&gt;&lt;br&gt;Mock objects: A good rule of thumb is to NOT use mock objects if what you really need is to stub up some interface. Implement a stub instead. This will often be both more robust and more reusable. Use mock objects when you actually want to test that the class you are testing is calling a method in another class.&lt;br&gt;&lt;br&gt;Universal test: This seems like a very good idea, but the (few) times I have tried to achieve this, for some reason or another we couldn&#039;t do it. It&#039;s a cost/value question, I guess.</description>
		<content:encoded><![CDATA[<p>Since this is a very interesting discussion I just have to share some of my opinions on some of the subjects.</p>
<p>Test coverage: If we develop test-driven (and even better: behavior-driven), line/branch coverage should (in theory) never be a problem, since you will only write code that you have already written a test for. In theory that should give you 100% test coverage PLUS your tests are to the point. Why can&#39;t we achieve this? Is it because we aren&#39;t doing real TDD/BDD? Is it actually possible to develop the whole system test-driven?</p>
<p>Test coverage II: Don&#39;t introduce special test frameworks that tests getters and setters because you can&#39;t really write useful tests for your getters and setters, and leaving them untested lowers your test coverage (in the &#8220;old&#8221; meaning of the word). If your getters/setters aren&#39;t used indirectly by your other tests, and you don&#39;t want to test them explicitly, then why do you have them there at all? In addition to being absolutely pointless, these tests have a tendency to get in your way when you are actually developing real functionality in your system.</p>
<p>Mock objects: A good rule of thumb is to NOT use mock objects if what you really need is to stub up some interface. Implement a stub instead. This will often be both more robust and more reusable. Use mock objects when you actually want to test that the class you are testing is calling a method in another class.</p>
<p>Universal test: This seems like a very good idea, but the (few) times I have tried to achieve this, for some reason or another we couldn&#39;t do it. It&#39;s a cost/value question, I guess.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

