<?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/"
		>
<channel>
	<title>Comments on: Another Silly Quantitative Model</title>
	<atom:link href="http://www.developsense.com/blog/2010/07/another-silly-quantitative-model/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.developsense.com/blog/2010/07/another-silly-quantitative-model/</link>
	<description>DevelopSense Blog</description>
	<lastBuildDate>Fri, 27 Jan 2012 10:36:19 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Chris Wallace</title>
		<link>http://www.developsense.com/blog/2010/07/another-silly-quantitative-model/comment-page-1/#comment-1890</link>
		<dc:creator>Chris Wallace</dc:creator>
		<pubDate>Wed, 21 Jul 2010 16:19:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.developsense.com/blog/?p=461#comment-1890</guid>
		<description>&lt;em&gt;Chris&#8212;delightful to hear from you!&lt;/em&gt;

There will always be a tendency to try and simplify testing.  A mathematical model that one can plug a few variables into and receive a concrete answer of how long testing is going to take has been the questing beast of management for probably as long as software has existed.  A ‘complex’ quantitative model has the added bonus of looking really impressive because it&#039;s math and there are equations and stuff!  You can blind them with science.

&lt;em&gt;Not me!  Misleading people is not a service that I offer.&lt;/em&gt;

How many of us in testing have been asked, &quot;How long is testing going to take?&quot; or &quot;How will you know when you&#039;re done?&quot;  There is a very strong drive both externally (from project management, customers, marketing, etc.) and internally (I need to give them an answer, however imperfect, so I can keep my job) to come up with an answer to those questions that is based on a model you can throw into a power point demonstration . . . preferably with crawling ants because everything looks better with crawling ants.  I would hope that most of us know better than to think of bugs as units and testing as piecework, however, it seems as if very few others outside of testing understand that as well (or are willing to admit it).  Complex, non-linear, cognitive processes are messy and screw with schedules.  There will always be a desire to come up with something simpler and more predictable, no matter how irrelevant and inaccurate the end result may be.  It&#039;s human nature (something that most quantitative models fail to take into consideration, ironically enough).

&lt;em&gt;It&#039;s not wrong for people to want that.  I&#039;d like a pony.  (Actually, that&#039;s not really true, but my daughter would like a pony.)  But as much as they want it, they can&#039;t reasonably expect to get it, and in many cases the attempt to get it will bring on disaster.  The desire for stable, predictable delivery of fish, for example, led to attempts &quot;scientific management&quot; of the Newfoundland cod fishery.  Yet natural systems incoporate a lot of variation and are more complex than we understand&amp;perhaps a lot more complex than we can understand.  The fishery closed in 1992, and hasn&#039;t re-opened since.  That&#039;s a story that you can hear &lt;a href=&quot;http://www.cbc.ca/ideas/episodes/2009/01/02/how-to-think-about-science-part-1---24-listen/#episode13&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.

I&#039;m not saying that it&#039;s wrong to manage software projects, either.  I think, though, that it&#039;s wrong to expect too much from them.  What does &quot;too much&quot; mean?  I&#039;d include highly linear progress, interchangability of people, and a simplistic, strictly quantified, brain-off approach to measurement. &lt;/em&gt;</description>
		<content:encoded><![CDATA[<p><em>Chris&mdash;delightful to hear from you!</em></p>
<p>There will always be a tendency to try and simplify testing.  A mathematical model that one can plug a few variables into and receive a concrete answer of how long testing is going to take has been the questing beast of management for probably as long as software has existed.  A ‘complex’ quantitative model has the added bonus of looking really impressive because it&#8217;s math and there are equations and stuff!  You can blind them with science.</p>
<p><em>Not me!  Misleading people is not a service that I offer.</em></p>
<p>How many of us in testing have been asked, &#8220;How long is testing going to take?&#8221; or &#8220;How will you know when you&#8217;re done?&#8221;  There is a very strong drive both externally (from project management, customers, marketing, etc.) and internally (I need to give them an answer, however imperfect, so I can keep my job) to come up with an answer to those questions that is based on a model you can throw into a power point demonstration . . . preferably with crawling ants because everything looks better with crawling ants.  I would hope that most of us know better than to think of bugs as units and testing as piecework, however, it seems as if very few others outside of testing understand that as well (or are willing to admit it).  Complex, non-linear, cognitive processes are messy and screw with schedules.  There will always be a desire to come up with something simpler and more predictable, no matter how irrelevant and inaccurate the end result may be.  It&#8217;s human nature (something that most quantitative models fail to take into consideration, ironically enough).</p>
<p><em>It&#8217;s not wrong for people to want that.  I&#8217;d like a pony.  (Actually, that&#8217;s not really true, but my daughter would like a pony.)  But as much as they want it, they can&#8217;t reasonably expect to get it, and in many cases the attempt to get it will bring on disaster.  The desire for stable, predictable delivery of fish, for example, led to attempts &#8220;scientific management&#8221; of the Newfoundland cod fishery.  Yet natural systems incoporate a lot of variation and are more complex than we understand&#038;perhaps a lot more complex than we can understand.  The fishery closed in 1992, and hasn&#8217;t re-opened since.  That&#8217;s a story that you can hear <a href="http://www.cbc.ca/ideas/episodes/2009/01/02/how-to-think-about-science-part-1---24-listen/#episode13" rel="nofollow">here</a>.</p>
<p>I&#8217;m not saying that it&#8217;s wrong to manage software projects, either.  I think, though, that it&#8217;s wrong to expect too much from them.  What does &#8220;too much&#8221; mean?  I&#8217;d include highly linear progress, interchangability of people, and a simplistic, strictly quantified, brain-off approach to measurement. </em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Greg B</title>
		<link>http://www.developsense.com/blog/2010/07/another-silly-quantitative-model/comment-page-1/#comment-1879</link>
		<dc:creator>Greg B</dc:creator>
		<pubDate>Tue, 20 Jul 2010 01:40:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.developsense.com/blog/?p=461#comment-1879</guid>
		<description>In my current project, the product owner has assumed the risk of any financial losses stemming from bugs in our software. He wants to release the product to customers, but he is of course nervous. How do you propose he should best go about deciding when to release? How should he reason about the risks, short of using a quantitative model?

&lt;em&gt;This question seemed important enough to me that I wrote &lt;a href=&quot;http://www.developsense.com/blog/2010/08/469/&quot; rel=&quot;nofollow&quot;&gt;a whole new blog post&lt;/a&gt; about it.  Thanks for asking!&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>In my current project, the product owner has assumed the risk of any financial losses stemming from bugs in our software. He wants to release the product to customers, but he is of course nervous. How do you propose he should best go about deciding when to release? How should he reason about the risks, short of using a quantitative model?</p>
<p><em>This question seemed important enough to me that I wrote <a href="http://www.developsense.com/blog/2010/08/469/" rel="nofollow">a whole new blog post</a> about it.  Thanks for asking!</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Klaasen</title>
		<link>http://www.developsense.com/blog/2010/07/another-silly-quantitative-model/comment-page-1/#comment-1855</link>
		<dc:creator>Ben Klaasen</dc:creator>
		<pubDate>Thu, 15 Jul 2010 08:35:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.developsense.com/blog/?p=461#comment-1855</guid>
		<description>Michael, you said &quot;I’m skeptical that I’d like Sokal&quot; - it&#039;s my guess that you would enjoy at least the introduction to &quot;&lt;a href=&quot;http://www.alibris.com/booksearch?qwork=3263046&amp;matches=14&amp;keyword=intellectual+impostures&amp;cm_sp=works*listing*title&quot; rel=&quot;nofollow&quot;&gt;Intellectual impostures&lt;/a&gt;&quot;. Sokal uses the same relentless and rigourous logical approach as you do.

&lt;em&gt;I don&#039;t know enough about Sokal to determine whether that&#039;s a compliment.  [grin]  But I&#039;ll take it as one; thank you.&lt;/em&gt;

Excellent piece, thank you for that.

&lt;em&gt;And thank you for&lt;/em&gt; that.</description>
		<content:encoded><![CDATA[<p>Michael, you said &#8220;I’m skeptical that I’d like Sokal&#8221; &#8211; it&#8217;s my guess that you would enjoy at least the introduction to &#8220;<a href="http://www.alibris.com/booksearch?qwork=3263046&amp;matches=14&amp;keyword=intellectual+impostures&amp;cm_sp=works*listing*title" rel="nofollow">Intellectual impostures</a>&#8220;. Sokal uses the same relentless and rigourous logical approach as you do.</p>
<p><em>I don&#8217;t know enough about Sokal to determine whether that&#8217;s a compliment.  [grin]  But I&#8217;ll take it as one; thank you.</em></p>
<p>Excellent piece, thank you for that.</p>
<p><em>And thank you for</em> that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon Morley</title>
		<link>http://www.developsense.com/blog/2010/07/another-silly-quantitative-model/comment-page-1/#comment-1851</link>
		<dc:creator>Simon Morley</dc:creator>
		<pubDate>Thu, 15 Jul 2010 02:34:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.developsense.com/blog/?p=461#comment-1851</guid>
		<description>Relevance... hmmm.

I&#039;m currently reading &lt;a href=&quot;http://www.amazon.com/Fashionable-Nonsense-Postmodern-Intellectuals-Science/dp/0312204078&quot; rel=&quot;nofollow&quot;&gt;Fashionable Nonsense&lt;/a&gt; - about using terminology from one area of study and applying it to something else without giving the reasoning or explanation. I didn&#039;t see the reasoning behind the applicability of the formula in the article. (You&#039;ve highlighted problems with using such a formula and drawing conclusions from its use.)

&lt;em&gt;I&#039;m skeptical that I&#039;d like Sokal, although I really appreciate &lt;a href=&quot;http://en.wikipedia.org/wiki/Science_wars&quot; rel=&quot;nofollow&quot;&gt;the prank that he pulled&lt;/a&gt;.  Trouble is, some real papers on software metrics have the flavour of his prank&#8212;yet the authors of those are considered the traditionalists, where I think they&#039;d label us the post-modernists.  It&#039;s a funny world.&lt;/em&gt;

If I take my observed problem count with the article and multiply by yours, divide by the ones in common - it will give the remaining errors in the article. Right? Oh, but I reckon that my errors do not overlap with yours, ie divide by 0. Ooops...

On the subject of typos I&#039;m reminded of the Wall Street Journal (from &lt;a href=&quot;http://www.amazon.com/Why-We-Make-Mistakes-Without/dp/0767928067&quot; rel=&quot;nofollow&quot;&gt;Why We Make Mistakes&lt;/a&gt;):

&quot;Some jesters in a British competition described in a page-one article last Monday ride on &lt;i&gt;unicycles&lt;/i&gt;. The article incorrectly said they ride on &lt;i&gt;unicorns&lt;/i&gt;.&quot;  Relevant?

&lt;em&gt;Perhaps. (I&#039;ve just finished that book myself, in fact.  It was okay; I wasn&#039;t thrilled with it, but I&#039;ve read a lot on the subject so I might be jaded.)  The sentence was syntactically correct without being semantically correct.  So, from the typographical error perspective, not a recognizable problem.  From the copy editing perspective, a problem.  This suggests that the count of problems will be profoundly affected by your testing mission and your perception of the mission&#8212;and that the count doesn&#039;t tell you much that&#039;s useful.

Top marks for including a reference to unicorns, though.  Always good to see one of those.&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Relevance&#8230; hmmm.</p>
<p>I&#8217;m currently reading <a href="http://www.amazon.com/Fashionable-Nonsense-Postmodern-Intellectuals-Science/dp/0312204078" rel="nofollow">Fashionable Nonsense</a> &#8211; about using terminology from one area of study and applying it to something else without giving the reasoning or explanation. I didn&#8217;t see the reasoning behind the applicability of the formula in the article. (You&#8217;ve highlighted problems with using such a formula and drawing conclusions from its use.)</p>
<p><em>I&#8217;m skeptical that I&#8217;d like Sokal, although I really appreciate <a href="http://en.wikipedia.org/wiki/Science_wars" rel="nofollow">the prank that he pulled</a>.  Trouble is, some real papers on software metrics have the flavour of his prank&mdash;yet the authors of those are considered the traditionalists, where I think they&#8217;d label us the post-modernists.  It&#8217;s a funny world.</em></p>
<p>If I take my observed problem count with the article and multiply by yours, divide by the ones in common &#8211; it will give the remaining errors in the article. Right? Oh, but I reckon that my errors do not overlap with yours, ie divide by 0. Ooops&#8230;</p>
<p>On the subject of typos I&#8217;m reminded of the Wall Street Journal (from <a href="http://www.amazon.com/Why-We-Make-Mistakes-Without/dp/0767928067" rel="nofollow">Why We Make Mistakes</a>):</p>
<p>&#8220;Some jesters in a British competition described in a page-one article last Monday ride on <i>unicycles</i>. The article incorrectly said they ride on <i>unicorns</i>.&#8221;  Relevant?</p>
<p><em>Perhaps. (I&#8217;ve just finished that book myself, in fact.  It was okay; I wasn&#8217;t thrilled with it, but I&#8217;ve read a lot on the subject so I might be jaded.)  The sentence was syntactically correct without being semantically correct.  So, from the typographical error perspective, not a recognizable problem.  From the copy editing perspective, a problem.  This suggests that the count of problems will be profoundly affected by your testing mission and your perception of the mission&mdash;and that the count doesn&#8217;t tell you much that&#8217;s useful.</p>
<p>Top marks for including a reference to unicorns, though.  Always good to see one of those.</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Astrobe</title>
		<link>http://www.developsense.com/blog/2010/07/another-silly-quantitative-model/comment-page-1/#comment-1846</link>
		<dc:creator>Astrobe</dc:creator>
		<pubDate>Wed, 14 Jul 2010 19:25:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.developsense.com/blog/?p=461#comment-1846</guid>
		<description>In seems that you use a different terminology, where what is commonly named &quot;testing&quot; is named &quot;checking&quot;, while &quot;testing&quot; refers to an activity with a larger scope than &#039;our&#039; testing.

&lt;em&gt;Yup.&lt;/em&gt;

I think you sometimes confuse the terminologies in your arguments. Obviously, Cook was talking about &quot;checking&quot;. 

&lt;em&gt;It&#039;s not at all obvious to me that John (Cook) was talking about checking.  It wasn&#039;t clear to me what kind of testing he was talking about.  No matter; the model doesn&#039;t work for either kind of testing.&lt;/em&gt;

(BTW, your terminology has some inconsistencies: &quot;unit testing&quot; should be &quot;unit checking&quot;).

&lt;em&gt;I agree.  Yet when I do that, I run the risk that people won&#039;t know what I&#039;m talking about, so I cut them some slack.  I cover that issue &lt;a href=&quot;http://www.developsense.com/blog/2009/09/testing-checking-and-changing-language/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://www.developsense.com/blog/2009/09/tests-vs-checks-should-we-call-test/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;, by the way.  There&#039;s a lot more to the Testing vs. Checking discussion if you&#039;re willing to surf the blog.&lt;/em&gt;

In &quot;testing vs Checking&quot;, you write:
&quot;Testing is, in part, the process of finding out whether our checks have been good enough. When we find a problem through testing, one reasonable response is to write one or more checks to make sure that that particular problem doesn’t crop up again.&quot;

When you conduct tests on some new part of your application, and that you find N serious bugs (the kind of bug that would definitely prevent from shipping the product) that were not caught by the checks, don&#039;t you think that the proposed estimator could give at least something like a degree of confidence on quality of the checks or on the quality of the new code, or even both?

&lt;em&gt;Sure.  Yet there&#039;s a difference between a qualitative assessment of the code and an unsupportable quantitative projection like &quot;the number of remaining bugs&quot;.  By the way, your sentence still works fine if you leave out the N.&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>In seems that you use a different terminology, where what is commonly named &#8220;testing&#8221; is named &#8220;checking&#8221;, while &#8220;testing&#8221; refers to an activity with a larger scope than &#8216;our&#8217; testing.</p>
<p><em>Yup.</em></p>
<p>I think you sometimes confuse the terminologies in your arguments. Obviously, Cook was talking about &#8220;checking&#8221;. </p>
<p><em>It&#8217;s not at all obvious to me that John (Cook) was talking about checking.  It wasn&#8217;t clear to me what kind of testing he was talking about.  No matter; the model doesn&#8217;t work for either kind of testing.</em></p>
<p>(BTW, your terminology has some inconsistencies: &#8220;unit testing&#8221; should be &#8220;unit checking&#8221;).</p>
<p><em>I agree.  Yet when I do that, I run the risk that people won&#8217;t know what I&#8217;m talking about, so I cut them some slack.  I cover that issue <a href="http://www.developsense.com/blog/2009/09/testing-checking-and-changing-language/" rel="nofollow">here</a> and <a href="http://www.developsense.com/blog/2009/09/tests-vs-checks-should-we-call-test/" rel="nofollow">here</a>, by the way.  There&#8217;s a lot more to the Testing vs. Checking discussion if you&#8217;re willing to surf the blog.</em></p>
<p>In &#8220;testing vs Checking&#8221;, you write:<br />
&#8220;Testing is, in part, the process of finding out whether our checks have been good enough. When we find a problem through testing, one reasonable response is to write one or more checks to make sure that that particular problem doesn’t crop up again.&#8221;</p>
<p>When you conduct tests on some new part of your application, and that you find N serious bugs (the kind of bug that would definitely prevent from shipping the product) that were not caught by the checks, don&#8217;t you think that the proposed estimator could give at least something like a degree of confidence on quality of the checks or on the quality of the new code, or even both?</p>
<p><em>Sure.  Yet there&#8217;s a difference between a qualitative assessment of the code and an unsupportable quantitative projection like &#8220;the number of remaining bugs&#8221;.  By the way, your sentence still works fine if you leave out the N.</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Veretax</title>
		<link>http://www.developsense.com/blog/2010/07/another-silly-quantitative-model/comment-page-1/#comment-1844</link>
		<dc:creator>Veretax</dc:creator>
		<pubDate>Wed, 14 Jul 2010 18:49:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.developsense.com/blog/?p=461#comment-1844</guid>
		<description>Michael,

Great response!  I totally agree with what you have said.  What&#039;s more, having read the other blog entry, I find a few other things lacking.  Namely recurrence of bugs.  In my experience some bugs that you find may appear to exist only in one context or scope, but in reality the real flaw is deeper in the layers of logic beyond that particular screen.

A good example would be a typical web page.  Let&#039;s say that when an item X is entered into the form and submitted, that it is added to some generated number and should equal some quantity which the user wants to know.   The tester discovers that the math in this page is wrong, and with a bit of investigation points to an error in how the page brings in the data say from the database.  

The developer naturally will look and find a way to fix this bug, but what if he fixes it in the wrong place, say on the page itself rather than back in the data access code?  The same flaw by nature if being called elsewhere on another page could crop up as many times as there are other pages to report.  

It then is actually the same bug whether caught by the same tester or a different tester even though it may appear on multiple screens. 

Another thought is that what happens when you have one bug report fix resulting in new bugs being introduced?  Bug A is fixed and as a consequence Bugs X and Y are caused.  Then Bugs X and Y might also get fixed, but they cause bugs J and K and S and T.  This is a place where I&#039;d question how you&#039;d go about counting those bugs as because it is possible that those bugs happened because Bug A&#039;s fix was a lazy fix that was not well conceived and thus resulted in multiple more Bugs showing up elsewhere in the system.  

Of course each time you have that kind of situation prop up you have the compounding of Developer and Tester time to find, check, and validate the fix.  Now you might hope that bugs X and Y, J and K, and s and T would be found in the course of that validation, but it is also possible that due to some subtlety in the code that those bugs won&#039;t appear in that particular checking and validation, but may appear later down the road, giving the appearance that they are in fact new bugs, when they are really the consequence of a bad bug fixed earlier. 

A great article Michael, and thanks for the links on Halting Process and Ludic Fallacy, I have seen them discussed but never realized they had a name before ;)</description>
		<content:encoded><![CDATA[<p>Michael,</p>
<p>Great response!  I totally agree with what you have said.  What&#8217;s more, having read the other blog entry, I find a few other things lacking.  Namely recurrence of bugs.  In my experience some bugs that you find may appear to exist only in one context or scope, but in reality the real flaw is deeper in the layers of logic beyond that particular screen.</p>
<p>A good example would be a typical web page.  Let&#8217;s say that when an item X is entered into the form and submitted, that it is added to some generated number and should equal some quantity which the user wants to know.   The tester discovers that the math in this page is wrong, and with a bit of investigation points to an error in how the page brings in the data say from the database.  </p>
<p>The developer naturally will look and find a way to fix this bug, but what if he fixes it in the wrong place, say on the page itself rather than back in the data access code?  The same flaw by nature if being called elsewhere on another page could crop up as many times as there are other pages to report.  </p>
<p>It then is actually the same bug whether caught by the same tester or a different tester even though it may appear on multiple screens. </p>
<p>Another thought is that what happens when you have one bug report fix resulting in new bugs being introduced?  Bug A is fixed and as a consequence Bugs X and Y are caused.  Then Bugs X and Y might also get fixed, but they cause bugs J and K and S and T.  This is a place where I&#8217;d question how you&#8217;d go about counting those bugs as because it is possible that those bugs happened because Bug A&#8217;s fix was a lazy fix that was not well conceived and thus resulted in multiple more Bugs showing up elsewhere in the system.  </p>
<p>Of course each time you have that kind of situation prop up you have the compounding of Developer and Tester time to find, check, and validate the fix.  Now you might hope that bugs X and Y, J and K, and s and T would be found in the course of that validation, but it is also possible that due to some subtlety in the code that those bugs won&#8217;t appear in that particular checking and validation, but may appear later down the road, giving the appearance that they are in fact new bugs, when they are really the consequence of a bad bug fixed earlier. </p>
<p>A great article Michael, and thanks for the links on Halting Process and Ludic Fallacy, I have seen them discussed but never realized they had a name before <img src='http://www.developsense.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Abraham Heward</title>
		<link>http://www.developsense.com/blog/2010/07/another-silly-quantitative-model/comment-page-1/#comment-1843</link>
		<dc:creator>Abraham Heward</dc:creator>
		<pubDate>Wed, 14 Jul 2010 17:10:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.developsense.com/blog/?p=461#comment-1843</guid>
		<description>An excellent ripping apart of a &lt;a href=&quot;http://kmci.org/alllifeisproblemsolving/archives/black-swan-ideas-platonic-folds-platonicity-randomness-retrospective-distortion-and-the-round-trip-fallacy/&quot; rel=&quot;nofollow&quot;&gt;Platonic Fallacy&lt;/a&gt;! Bravo!

It&#039;s not surprising that the model was proposed by a mathematician.

&lt;em&gt;Forgive the quants, for they know not what they do.  A little more suprisingly, perhaps, they appear not to know how many times they do it.&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>An excellent ripping apart of a <a href="http://kmci.org/alllifeisproblemsolving/archives/black-swan-ideas-platonic-folds-platonicity-randomness-retrospective-distortion-and-the-round-trip-fallacy/" rel="nofollow">Platonic Fallacy</a>! Bravo!</p>
<p>It&#8217;s not surprising that the model was proposed by a mathematician.</p>
<p><em>Forgive the quants, for they know not what they do.  A little more suprisingly, perhaps, they appear not to know how many times they do it.</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Cook</title>
		<link>http://www.developsense.com/blog/2010/07/another-silly-quantitative-model/comment-page-1/#comment-1842</link>
		<dc:creator>John Cook</dc:creator>
		<pubDate>Wed, 14 Jul 2010 16:57:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.developsense.com/blog/?p=461#comment-1842</guid>
		<description>Thanks for a detailed response to my blog post. I presented the Lincoln Index as a simple and interesting method and discussed reasons it might not apply well.  However, I do believe it could be useful in some contexts.  For example, proofreading is a kind of testing, and I imagine the method could be practical in that context.  It could also be useful in testing hardware. But I agree that most software testing is far more complex than proofreading or testing hardware components.

&lt;em&gt;Yes.  One reason for that is that, for software products, the problem domain tends to be large.  The inputs tend to be highly variable and to a great degree uncontrollable, and (therefore) the outcomes are far less deterministic.  More importantly, however, even proofreading is far more than a search for typographical errors.  Software testing is far more than a search for coding errors, or even a search for bugs.&lt;/em&gt;

Regarding Djikstra&#039;s objection, I believe his point is logically correct but of limited practical value.  It would be nice to know with certainty that a program is error free, but that&#039;s not realistic for large programs.  In practice, we can only have an idea (formal or informal) of the probability of an error.  Testing will not prove the absence of bugs, but it can increase your confidence that the probability of a user running into a bug is small.

In some sense, it doesn&#039;t matter whether a program has bugs; it only matters whether a user encounters a bug.  (And to your fifth point, it matters how consequential the bug is.)  If buggy code is unreachable code, it doesn&#039;t matter.  If buggy code is very unlikely to be reached and will have minor consequences if it is reached, it doesn&#039;t matter.

&lt;em&gt;Yes; that&#039;s crucial.  Every time I run into one of these &quot;simple&quot; measures, they&#039;re all about counting and not about understanding.  Yes, understanding might be more difficult or more time-consuming than counting.  And software development might be more difficult or more time-consuming than typing.&lt;/em&gt;

It may be impossible to meaningfully estimate the probability that a program is without error, but it is possible to estimate the probability of a user running into an error.  You could measure, for example, mean time between failures for people using the software under certain circumstances.

&lt;i&gt;Funny you should mention it.  Someone&#039;s attempt to use Mean Time Between Failures as a measure of software quality was the first time that I had a visceral reaction to bogus software metrics.  A few years later, I was delighted to find that Kaner and Bond effectively trashed a similar measure, Mean Time To Failure, &lt;a href=&quot;http://www.kaner.com/pdfs/metrics2004.pdf&quot; rel=&quot;nofollow&quot;&gt;in this paper&lt;/a&gt;.

I appreciate your gracious response, John.  I hope my reply was helpful, and I encourage you to continue the conversation as we consider and study the problems of testing.&lt;/i&gt;</description>
		<content:encoded><![CDATA[<p>Thanks for a detailed response to my blog post. I presented the Lincoln Index as a simple and interesting method and discussed reasons it might not apply well.  However, I do believe it could be useful in some contexts.  For example, proofreading is a kind of testing, and I imagine the method could be practical in that context.  It could also be useful in testing hardware. But I agree that most software testing is far more complex than proofreading or testing hardware components.</p>
<p><em>Yes.  One reason for that is that, for software products, the problem domain tends to be large.  The inputs tend to be highly variable and to a great degree uncontrollable, and (therefore) the outcomes are far less deterministic.  More importantly, however, even proofreading is far more than a search for typographical errors.  Software testing is far more than a search for coding errors, or even a search for bugs.</em></p>
<p>Regarding Djikstra&#8217;s objection, I believe his point is logically correct but of limited practical value.  It would be nice to know with certainty that a program is error free, but that&#8217;s not realistic for large programs.  In practice, we can only have an idea (formal or informal) of the probability of an error.  Testing will not prove the absence of bugs, but it can increase your confidence that the probability of a user running into a bug is small.</p>
<p>In some sense, it doesn&#8217;t matter whether a program has bugs; it only matters whether a user encounters a bug.  (And to your fifth point, it matters how consequential the bug is.)  If buggy code is unreachable code, it doesn&#8217;t matter.  If buggy code is very unlikely to be reached and will have minor consequences if it is reached, it doesn&#8217;t matter.</p>
<p><em>Yes; that&#8217;s crucial.  Every time I run into one of these &#8220;simple&#8221; measures, they&#8217;re all about counting and not about understanding.  Yes, understanding might be more difficult or more time-consuming than counting.  And software development might be more difficult or more time-consuming than typing.</em></p>
<p>It may be impossible to meaningfully estimate the probability that a program is without error, but it is possible to estimate the probability of a user running into an error.  You could measure, for example, mean time between failures for people using the software under certain circumstances.</p>
<p><i>Funny you should mention it.  Someone&#8217;s attempt to use Mean Time Between Failures as a measure of software quality was the first time that I had a visceral reaction to bogus software metrics.  A few years later, I was delighted to find that Kaner and Bond effectively trashed a similar measure, Mean Time To Failure, <a href="http://www.kaner.com/pdfs/metrics2004.pdf" rel="nofollow">in this paper</a>.</p>
<p>I appreciate your gracious response, John.  I hope my reply was helpful, and I encourage you to continue the conversation as we consider and study the problems of testing.</i></p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic page generated in 0.336 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-01-30 11:18:45 -->

