<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/atom10full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-414482498098790205</id><updated>2008-05-11T14:09:24.400-06:00</updated><title type="text">Quality Frog - Questioning Software</title><link rel="alternate" type="text/html" href="http://www.questioningsoftware.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default?start-index=26&amp;max-results=25&amp;redirect=false" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://www.questioningsoftware.com/feeds/posts/default" /><author><name>Ben Simo</name><uri>http://www.blogger.com/profile/11448600123169359955</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>93</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/QualityFrog" type="application/atom+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FQualityFrog" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FQualityFrog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FQualityFrog" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.rojo.com/add-subscription?resource=http%3A%2F%2Ffeeds.feedburner.com%2FQualityFrog" src="http://blog.rojo.com/RojoWideRed.gif">Subscribe with Rojo</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/QualityFrog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FQualityFrog" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FQualityFrog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FQualityFrog" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2FQualityFrog" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:browserFriendly>Questioning Software</feedburner:browserFriendly><entry><id>tag:blogger.com,1999:blog-414482498098790205.post-5137661889167775</id><published>2008-05-11T14:00:00.002-06:00</published><updated>2008-05-11T14:09:24.463-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Fun Stuff" /><title type="text">Happy Mother's Day</title><content type="html">Thanks mom.&lt;br /&gt;&lt;br /&gt;&lt;object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="yfop" height="270" width="320"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="movie" value="http://cosmos.bcst.yahoo.com/up/fop/embedflv/swf/fop.swf"&gt;&lt;param name="flashvars" value="id=7769235"&gt;&lt;embed src="http://cosmos.bcst.yahoo.com/up/fop/embedflv/swf/fop.swf" name="yfop" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=7769235" height="270" width="320"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;a href="http://www.anitarenfroe.com/"&gt;Anita Renfroe&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;img src="http://blog.qualityfrog.com/frog/qfrog-tiny.gif"/&gt;&lt;br/&gt;
&lt;a href="mailto:ben@qualityfrog.com?subject=Blog"&gt;Ben Simo&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.QuestioningSoftware.com"&gt;QuestioningSoftware.com&lt;/a&gt;&lt;br/&gt;
&lt;img src="http://www.powweb.com/Counter/counter.mpl?u=pow.joebensimo&amp;d=qualityfrog.com&amp;s=Party&amp;b=0&amp;c=0,0,0" height="1" width="1"/&gt;
&lt;hr/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/QualityFrog?a=yyrTFM"&gt;&lt;img src="http://feeds.feedburner.com/~a/QualityFrog?i=yyrTFM" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=g5xHJH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=g5xHJH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=wBGQBH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=wBGQBH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=wv7Czh"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=wv7Czh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=H1vvuh"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=H1vvuh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=5dQn1H"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=5dQn1H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=m0wMZH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=m0wMZH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=QloORH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=QloORH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=Si9oNH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=Si9oNH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=QYyr5H"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=QYyr5H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=MoLz1H"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=MoLz1H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=aLoVVh"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=aLoVVh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityFrog/~4/288234804" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/QualityFrog/~3/288234804/happy-mothers-day.html" title="Happy Mother's Day" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=414482498098790205&amp;postID=5137661889167775" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.questioningsoftware.com/feeds/5137661889167775/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/5137661889167775" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/5137661889167775" /><author><name>Ben Simo</name><uri>http://www.blogger.com/profile/11448600123169359955</uri><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.questioningsoftware.com/2008/05/happy-mothers-day.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-414482498098790205.post-3639876394690798958</id><published>2008-05-10T05:18:00.007-06:00</published><updated>2008-05-10T05:34:40.852-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Bad Software" /><category scheme="http://www.blogger.com/atom/ns#" term="Usability" /><title type="text">Aggravation Testing</title><content type="html">An example:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_Mp0d-dsENrg/SCWH5XdNXAI/AAAAAAAADQc/XMFNUv1wvaI/s1600-h/AFewMinutesToSeveralHours-Screen.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer;" src="http://bp1.blogger.com/_Mp0d-dsENrg/SCWH5XdNXAI/AAAAAAAADQc/XMFNUv1wvaI/s400/AFewMinutesToSeveralHours-Screen.JPG" alt="" id="BLOGGER_PHOTO_ID_5198710764487924738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;How Long Do I Have To Wait?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_Mp0d-dsENrg/SCWH5XdNXBI/AAAAAAAADQk/ikSL56ZQzmg/s1600-h/AFewMinutesToSeveralHours-Dialog.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer;" src="http://bp1.blogger.com/_Mp0d-dsENrg/SCWH5XdNXBI/AAAAAAAADQk/ikSL56ZQzmg/s400/AFewMinutesToSeveralHours-Dialog.JPG" alt="" id="BLOGGER_PHOTO_ID_5198710764487924754" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A few hours?  I don't have hours.  I am sitting in the car using borrowed WiFi from a campground.  I had to seek out Internet access to use software that came on a CD.  I finally find Internet access and now it says I may have to wait a several hours.  Can I abort if it takes longer than I have?  What happens if I lose my internet access while the firmware update is underway?&lt;br /&gt;&lt;br /&gt;I'm already frustrated with this device.  I'm already frustrated with the software.  I was hoping that a firmware update might fix bugs and usability issues on the device itself.  I have reached the tipping point.  This thing is going back to the store.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;img src="http://blog.qualityfrog.com/frog/qfrog-tiny.gif"/&gt;&lt;br/&gt;
&lt;a href="mailto:ben@qualityfrog.com?subject=Blog"&gt;Ben Simo&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.QuestioningSoftware.com"&gt;QuestioningSoftware.com&lt;/a&gt;&lt;br/&gt;
&lt;img src="http://www.powweb.com/Counter/counter.mpl?u=pow.joebensimo&amp;d=qualityfrog.com&amp;s=Party&amp;b=0&amp;c=0,0,0" height="1" width="1"/&gt;
&lt;hr/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/QualityFrog?a=vrDfal"&gt;&lt;img src="http://feeds.feedburner.com/~a/QualityFrog?i=vrDfal" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=AL8xKH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=AL8xKH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=841TpH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=841TpH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=e9pgdh"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=e9pgdh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=4Rvgah"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=4Rvgah" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=0e8PCH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=0e8PCH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=n4GuHH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=n4GuHH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=M2NZwH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=M2NZwH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=JvEa8H"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=JvEa8H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=vCh7WH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=vCh7WH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=6o1PDH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=6o1PDH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=g8G8Mh"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=g8G8Mh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityFrog/~4/287457134" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/QualityFrog/~3/287457134/aggravation-testing.html" title="Aggravation Testing" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=414482498098790205&amp;postID=3639876394690798958" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.questioningsoftware.com/feeds/3639876394690798958/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/3639876394690798958" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/3639876394690798958" /><author><name>Ben Simo</name><uri>http://www.blogger.com/profile/11448600123169359955</uri><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.questioningsoftware.com/2008/05/aggravation-testing.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-414482498098790205.post-3525275333032966969</id><published>2008-05-04T09:12:00.000-06:00</published><updated>2008-05-04T09:12:20.387-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Exploratory Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Heuristics" /><category scheme="http://www.blogger.com/atom/ns#" term="Software Testing" /><title type="text">Terrified by Improvisation</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_Mp0d-dsENrg/SB3KHm60LCI/AAAAAAAADOs/jeL88e6AGlM/s1600-h/WhoseLine01.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp1.blogger.com/_Mp0d-dsENrg/SB3KHm60LCI/AAAAAAAADOs/jeL88e6AGlM/s320/WhoseLine01.png" alt="" id="BLOGGER_PHOTO_ID_5196531777110551586" border="0" /&gt;&lt;/a&gt;&lt;blockquote&gt;&lt;div&gt;&lt;em&gt;[Improvisational comedy] involves people making very sophisticated decisions on the spur of the moment, without benefit of any kind of script or plot. That's what makes it so compelling -- and to be frank -- terrifying. ... What is terrifying about improv is the fact that it appears utterly random and chaotic. It seems as though you have to get up onstage and make everything up, right there on the spot. But the truth is that improv isn't random or chaotic at all. ... Improv is an art form governed by a set of rules... How good people's decisions are under the fast-moving, high-stress conditions of rapid cognition is a function of training, rules, and rehearsal.&lt;/em&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;- Malcolm Gladwell, &lt;a href="http://www.amazon.com/gp/product/0316010669/002-5435983-0455201?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0316010669"&gt;Blink: The Power of Thinking Without Thinking&lt;/a&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;Now, reread the quote above and replace &lt;a href="http://en.wikipedia.org/wiki/Improvisation"&gt;&lt;span style="font-style: italic;"&gt;improv&lt;/span&gt;&lt;/a&gt; with &lt;a href="http://www.satisfice.com/articles/what_is_et.shtml"&gt;&lt;span style="font-style: italic;"&gt;exploratory testing&lt;/span&gt;&lt;/a&gt;.  See a connection?  Just as improvisational theater may appear to be random and chaotic (although entertaining) to the ignorant, exploratory testing can appear to be random and chaotic to those that have been taught to rely on scripts.  Good improv and exploratory testing is neither.  There are rules -- heuristics.&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Heuristics are &lt;span style="font-style: italic;"&gt;rules of thumb&lt;/span&gt; that help solve problems.  In improvisational comedy, there are &lt;a href="http://www.pantheater.com/Articles/RulesImprovPartI.htm"&gt;rules&lt;/a&gt;.  These are not hard rules that guarantee comedy.  These are rules that skilled improv actors can use to help keep things funny.  Sometimes these rules don't work and actors have to adapt.  And, because they aren't following a script, they can adapt when things don't work out.  Some parts of improv are scripted.  I am a fan of the television show &lt;a href="http://en.wikipedia.org/wiki/Whose_Line_Is_It_Anyway%3F"&gt;&lt;span style="font-style: italic;"&gt;Whose Line is it Anyway&lt;/span&gt;&lt;/a&gt;.  Each comedy sketch in this show is given a structure (think charter) to direct the improvisation.  This structure defines and restricts (think script) specific components of each sketch while leaving the bulk of the activity open to each actor to adapt to what happens as the sketch plays itself out.  While we do not see it on screen, I suspect that a great deal of &lt;span style="font-style: italic;"&gt;training, rules, and rehearsal &lt;/span&gt;went into the production of &lt;span style="font-style: italic;"&gt;Whose Line&lt;/span&gt;.  The shows did suffer from an occasional guest participant (usually a trained script actor) that was not as skilled at improv as the regulars.  However, other guests (sometimes not actors) who understand the rules of improv have helped produce some of the funniest sketches.&lt;br /&gt;&lt;br /&gt;Good exploratory testing works in the same way.  Skilled exploratory testers set out with a &lt;a href="http://www.satisfice.com/articles/sbtm.pdf"&gt;charter&lt;/a&gt; -- a goal for each testing session.  Skilled exploratory testers use &lt;a href="http://www.kohl.ca/blog/archives/000179.html"&gt;heuristics&lt;/a&gt; to help them learn about the systems they test.  Skilled exploratory testers &lt;a href="http://www.associationforsoftwaretesting.org/drupal/CAST2007/Challenge"&gt;practice&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Improvisation can have scripted aspects and rules that guide it.  It is not chaotic and random.  It is smart people using simple rules to make quick decisions and adapt to a changing environment under pressure.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;img src="http://blog.qualityfrog.com/frog/qfrog-tiny.gif"/&gt;&lt;br/&gt;
&lt;a href="mailto:ben@qualityfrog.com?subject=Blog"&gt;Ben Simo&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.QuestioningSoftware.com"&gt;QuestioningSoftware.com&lt;/a&gt;&lt;br/&gt;
&lt;img src="http://www.powweb.com/Counter/counter.mpl?u=pow.joebensimo&amp;d=qualityfrog.com&amp;s=Party&amp;b=0&amp;c=0,0,0" height="1" width="1"/&gt;
&lt;hr/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/QualityFrog?a=BPgNow"&gt;&lt;img src="http://feeds.feedburner.com/~a/QualityFrog?i=BPgNow" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=9eoVOH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=9eoVOH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=VzUucH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=VzUucH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=eoZ9wh"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=eoZ9wh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=eTKawh"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=eTKawh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=fv8p4H"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=fv8p4H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=61AqTH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=61AqTH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=JGjWZH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=JGjWZH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=7Xb9kH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=7Xb9kH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=mHQiNH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=mHQiNH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=ZyZJAh"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=ZyZJAh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityFrog/~4/283347485" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/QualityFrog/~3/283347485/terrified-by-improvisation.html" title="Terrified by Improvisation" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=414482498098790205&amp;postID=3525275333032966969" title="2 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.questioningsoftware.com/feeds/3525275333032966969/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/3525275333032966969" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/3525275333032966969" /><author><name>Ben Simo</name><uri>http://www.blogger.com/profile/11448600123169359955</uri><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.questioningsoftware.com/2008/05/terrified-by-improvisation.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-414482498098790205.post-3592879537187878382</id><published>2008-05-03T13:55:00.007-06:00</published><updated>2008-05-03T14:36:49.849-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Critical Thinking" /><category scheme="http://www.blogger.com/atom/ns#" term="Software Testing" /><title type="text">Don't be fooled by the green lights</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_Mp0d-dsENrg/SBzMbm60KZI/AAAAAAAADIY/pEgN9Zbjfv4/s1600-h/debugging.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 240px; height: 282px;" src="http://bp0.blogger.com/_Mp0d-dsENrg/SBzMbm60KZI/AAAAAAAADIY/pEgN9Zbjfv4/s320/debugging.png" alt="" id="BLOGGER_PHOTO_ID_5196252844754479506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;If we're uncertain about the reliability and value of code, writing &lt;/span&gt;&lt;i style="font-style: italic;"&gt;more&lt;/i&gt;&lt;span style="font-style: italic;"&gt; code seems like a highly fallible and paradoxical way to resolve the uncertainty.&lt;/span&gt;&lt;br /&gt;- &lt;a href="http://www.developsense.com/2008/03/breaking-code.html"&gt;Michael Bolton&lt;/a&gt;&lt;/blockquote&gt;&lt;a href="http://www.developsense.com/2008/03/breaking-code.html"&gt;&lt;/a&gt;&lt;br /&gt;There is a disturbing trend in software testing.  This is a trend towards redefining &lt;span style="font-style: italic;"&gt;test&lt;/span&gt; to be code and &lt;span style="font-style: italic;"&gt;testing&lt;/span&gt; to be a coding activity.&lt;br /&gt;&lt;br /&gt;In his book, &lt;a href="http://www.amazon.com/gp/product/0201809389/002-3166312-3544055?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0201809389"&gt;Testing Object Oriented Systems&lt;/a&gt;,   Robert Binder writes  &lt;i&gt;"Manual testing, of course, still plays a role. But testing is mainly about the development of an automated system to implement an application-specific test design."&lt;/i&gt;  While this book contains a great deal of useful information about test design and test automation, I wholeheartedly disagree with this statement -- and I make a living developing test automation. &lt;br /&gt;&lt;br /&gt;I find Bob Martin's statements about &lt;a href="http://blog.objectmentor.com/articles/2007/10/17/tdd-with-acceptance-tests-and-unit-tests"&gt;manual testing being immoral&lt;/a&gt; to be very disturbing.  I know that he is referring to manual scripted testing, but that's not what I hear repeated.  I can also think of some scripted testing that requires thinking manual testers and would be immorally expensive or dangerous to automate.  (Context matters.)&lt;br /&gt;&lt;br /&gt;I am concerned when I hear Ken Schwaber refer to  "QA" as people doing incredible things in a "hopeless profession".   (I've also heard him praise smart testers.)  I am also concerned by QA people trying to defend their role by becoming process police.&lt;br /&gt;&lt;br /&gt;All too often, I hear and read the words &lt;i&gt;test&lt;/i&gt; and &lt;i&gt;testing&lt;/i&gt; being tossed around with the assertion that all things called &lt;i&gt;tests&lt;/i&gt; are the same, and are therefore interchangeable.  If all things called &lt;i&gt;testing&lt;/i&gt; are equal, then I would be the first to lobby for replacing skilled testers with developers that can create code called &lt;i&gt;tests&lt;/i&gt;. TDD may be a great tool for helping developers build whatever they decide to build, but it is not the same a testing focused on providing stakeholders with information about value. These are very different things.  (See &lt;a href="http://www.questioningsoftware.com/2007/11/what-is-software-testing.html"&gt;&lt;span style="font-style: italic;"&gt;What is Software Testing?&lt;/span&gt;&lt;/a&gt; for a sampling of testing diversity.)&lt;br /&gt;&lt;br /&gt;Developers create. Testers critique. Good developers test what they create.  The Agile and TDD emphasis on developers testing their own work is wonderful. I believe that a developer who is good at testing their own work is more valuable than one that is not so good at testing. However, the idea that code-centered TDD can replace value-centered testing by skilled testers is bad.&lt;br /&gt;&lt;br /&gt;Testing is much more than exercising code. It is about finding and communicating useful information about value with limited time and resources. At the heart of good testing is a thinking person that questions the software and the people designing and building the software. The tools of testing are secondary.&lt;br /&gt;&lt;br /&gt;It is difficult for a person to be both creator and critic.  These require different skills and focus.  In my experience, leaning too much towards create or critique hampers the other.&lt;br /&gt;&lt;br /&gt;As a teenager, I created a software management program for floppy disk based computers. I was proud of my creation. My creation took advantage of new technology and had features that similar products did not have. I tested my creation. I refactored my code many times. The code was clean. The program was fast. I used my creation on a daily basis for over a year. I shared it with close friends. I thought I had created something really cool. I submitted my creation to a company that was soliciting programs for publication. My baby was rejected. It was not rejected due to being poorly designed, coded, or tested. It was rejected because it was deemed to not be of value to enough of the publisher's customers. I may have discovered this earlier if I had requested input from more than my closest friends.&lt;br /&gt;&lt;br /&gt;Just like an &lt;i&gt;American Idol&lt;/i&gt; contestant that can't sing, we can save ourselves time, money, and embarrassment if we solicit the input of good critics before the world is watching.&lt;br /&gt;&lt;br /&gt;I want great developers that can create &lt;i&gt;beautiful music&lt;/i&gt; on my development team.  I also want a few Simon Cowells and &lt;a href="http://www.satisfice.com/"&gt;James Bachs&lt;/a&gt; to let us know when we may be fooling ourselves.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;img src="http://blog.qualityfrog.com/frog/qfrog-tiny.gif"/&gt;&lt;br/&gt;
&lt;a href="mailto:ben@qualityfrog.com?subject=Blog"&gt;Ben Simo&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.QuestioningSoftware.com"&gt;QuestioningSoftware.com&lt;/a&gt;&lt;br/&gt;
&lt;img src="http://www.powweb.com/Counter/counter.mpl?u=pow.joebensimo&amp;d=qualityfrog.com&amp;s=Party&amp;b=0&amp;c=0,0,0" height="1" width="1"/&gt;
&lt;hr/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/QualityFrog?a=XX1FSV"&gt;&lt;img src="http://feeds.feedburner.com/~a/QualityFrog?i=XX1FSV" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=bWZWdH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=bWZWdH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=3ODz3H"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=3ODz3H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=nNJOsh"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=nNJOsh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=Dw42Yh"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=Dw42Yh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=aKB93H"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=aKB93H" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=xCk5TH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=xCk5TH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=znTyrH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=znTyrH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=o90zNH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=o90zNH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=rqqFGH"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=rqqFGH" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=MCVrPh"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=MCVrPh" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityFrog/~4/282931737" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/QualityFrog/~3/282931737/dont-be-fooled-by-green-lights.html" title="Don't be fooled by the green lights" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=414482498098790205&amp;postID=3592879537187878382" title="2 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.questioningsoftware.com/feeds/3592879537187878382/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/3592879537187878382" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/3592879537187878382" /><author><name>Ben Simo</name><uri>http://www.blogger.com/profile/11448600123169359955</uri><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.questioningsoftware.com/2008/05/dont-be-fooled-by-green-lights.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-414482498098790205.post-4490290891183635559</id><published>2008-04-04T17:20:00.000-06:00</published><updated>2008-04-04T17:20:53.116-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Best Practices" /><category scheme="http://www.blogger.com/atom/ns#" term="Software Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Conferences" /><category scheme="http://www.blogger.com/atom/ns#" term="Career" /><title type="text">A Good Practice</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://cast2008.org"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer;" src="http://bp3.blogger.com/_Mp0d-dsENrg/R_av1L3PzFI/AAAAAAAACzQ/XyNjaavrMek/s400/AST_webhead.gif" alt="" id="BLOGGER_PHOTO_ID_5185525349216144466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The &lt;a href="http://www.associationforsoftwaretesting.org/drupal"&gt;Association for Software Testing&lt;/a&gt; (AST) is a professional organization dedicated to advancing the understanding and practice of software testing.  The AST provides forums for academics, students, and testing practitioners to discuss testing.  AST does this through online forums, workshops, &lt;a href="http://www.associationforsoftwaretesting.org/drupal/courses"&gt;education programs&lt;/a&gt;, and &lt;a href="http://www.associationforsoftwaretesting.org/drupal/conference"&gt;conferences&lt;/a&gt;.  The third annual &lt;a href="http://cast2008.org/"&gt;Conference of the Association for Software Testing&lt;/a&gt; (CAST) provides a great forum for face-to-face conferring.  This is not your typical conference where &lt;span style="font-style: italic;"&gt;experts&lt;/span&gt; talk at the masses.  This is the software testing conference that puts the &lt;span style="font-style: italic;"&gt;confer&lt;/span&gt; back in &lt;span style="font-style: italic;"&gt;conference&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;Ever sit in a presentation about testing and think anything like the following?&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Yeah that works for you but it'll never work in my situation.&lt;/li&gt;&lt;li&gt;What do you mean by &lt;span style="font-style: italic;"&gt;X?&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;She must work with idiots.&lt;/li&gt;&lt;li&gt;How does he know what he says?  I want to see data.&lt;/li&gt;&lt;li&gt;My management would never go for it.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;What planet is he from?&lt;/li&gt;&lt;li&gt;You're full of it.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Your are not only free to think these things at &lt;a href="http://cast2008.org"&gt;CAST&lt;/a&gt;, but you are free to question presenters. Time is built into the program for facilitated discussion of every presentation.&lt;br /&gt;&lt;br /&gt;If you'd like to become a better software tester, &lt;a href="http://www.associationforsoftwaretesting.org/drupal/join"&gt;join AST&lt;/a&gt; and come to &lt;a href="http://cast2008.org/"&gt;CAST&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you'd like to meet and confer with peers from around the world, &lt;a href="http://www.associationforsoftwaretesting.org/drupal/join"&gt;join AST&lt;/a&gt; and come to &lt;a href="http://cast2008.org/"&gt;CAST&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you'd like to meet and confer with testing experts, &lt;a href="http://www.associationforsoftwaretesting.org/drupal/join"&gt;join AST&lt;/a&gt; and come to &lt;a href="http://cast2008.org/"&gt;CAST&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you'd like to be challenged, &lt;a href="http://www.associationforsoftwaretesting.org/drupal/join"&gt;join AST&lt;/a&gt; and and come to &lt;a href="http://cast2008.org/"&gt;CAST&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you'd like to hear Gerald Weinberg talk about the past, present, and future of software testing: &lt;a href="http://www.associationforsoftwaretesting.org/drupal/join"&gt;join AST&lt;/a&gt; and come to &lt;a href="http://cast2008.org/"&gt;CAST&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you can't afford those other testing conferences, join AST and come to &lt;a href="http://cast2008.org/"&gt;CAST&lt;/a&gt; -- its about half the price of other conferences.&lt;br /&gt;&lt;br /&gt;If you'd like to compete against other testers, &lt;a href="http://www.associationforsoftwaretesting.org/drupal/join"&gt;join AST&lt;/a&gt; and come to &lt;a href="http://cast2008.org/"&gt;CAST&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you care about software testing, &lt;a href="http://www.associationforsoftwaretesting.org/drupal/join"&gt;join AST&lt;/a&gt; and come to &lt;a href="http://cast2008.org/"&gt;CAST&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;blockquote style="font-style: italic;"&gt;Only through judgment and skill,&lt;br /&gt;exercised cooperatively throughout the entire project,&lt;br /&gt;are we able to do the right things at the right times&lt;br /&gt;to effectively test our products.&lt;br /&gt;&lt;a href="http://context-driven-testing.com"&gt;context-driven-testing.com&lt;/a&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;a href="http://context-driven-testing.com"&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;While I am not a believer in &lt;span style="font-style: italic;"&gt;best practices&lt;/span&gt;, I believe its a really good practice to participate in &lt;a href="http://cast2008.org"&gt;CAST 2008&lt;/a&gt;.  See you in Toronto.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;img src="http://blog.qualityfrog.com/frog/qfrog-tiny.gif"/&gt;&lt;br/&gt;
&lt;a href="mailto:ben@qualityfrog.com?subject=Blog"&gt;Ben Simo&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.QuestioningSoftware.com"&gt;QuestioningSoftware.com&lt;/a&gt;&lt;br/&gt;
&lt;img src="http://www.powweb.com/Counter/counter.mpl?u=pow.joebensimo&amp;d=qualityfrog.com&amp;s=Party&amp;b=0&amp;c=0,0,0" height="1" width="1"/&gt;
&lt;hr/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/QualityFrog?a=IcLIzx"&gt;&lt;img src="http://feeds.feedburner.com/~a/QualityFrog?i=IcLIzx" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=98nRjEG"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=98nRjEG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=3Dgd98G"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=3Dgd98G" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=3XrNG0g"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=3XrNG0g" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=w5tx4vg"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=w5tx4vg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=fq8ckHG"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=fq8ckHG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=6TvTPsG"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=6TvTPsG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=V3NXeqG"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=V3NXeqG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=7BzCCsG"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=7BzCCsG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=J3O3R4G"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=J3O3R4G" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=vLMXBbg"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=vLMXBbg" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityFrog/~4/264274054" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/QualityFrog/~3/264274054/good-practice.html" title="A Good Practice" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=414482498098790205&amp;postID=4490290891183635559" title="0 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.questioningsoftware.com/feeds/4490290891183635559/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/4490290891183635559" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/4490290891183635559" /><author><name>Ben Simo</name><uri>http://www.blogger.com/profile/11448600123169359955</uri><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.questioningsoftware.com/2008/04/good-practice.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-414482498098790205.post-7649572044962923361</id><published>2008-03-02T09:32:00.013-07:00</published><updated>2008-03-03T12:20:08.159-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Software Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Software Testing" /><title type="text">Retraining the unskilled to code software</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_Mp0d-dsENrg/R8rcmqYjJLI/AAAAAAAABlc/rvCkDBujEF4/s1600-h/EDSAC.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp1.blogger.com/_Mp0d-dsENrg/R8rcmqYjJLI/AAAAAAAABlc/rvCkDBujEF4/s200/EDSAC.jpg" alt="" id="BLOGGER_PHOTO_ID_5173189678758831282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I stumbled across a 46 year old newspaper &lt;a href="http://www.newspaperarchive.com/FreePdfViewer.aspx?img=41534220&amp;amp;firstvisit=true&amp;amp;terms=think"&gt;article&lt;/a&gt; about how automation is changing business.  The following statement caught my attention.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;"Unskilled workers can then be retrained to handle peripheral jobs in the EDP system such as coding, card punching and so on.&lt;/span&gt;"&lt;br /&gt;&lt;a href="http://www.newspaperarchive.com/FreePdfViewer.aspx?img=41534220&amp;amp;firstvisit=true&amp;amp;terms=think" target="_blank"&gt;Computor Invasion Scares The Unskilled,&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.newspaperarchive.com/FreePdfViewer.aspx?img=41534220&amp;amp;firstvisit=true&amp;amp;terms=think" target="_blank"&gt;WINNIPEG FREE PRESS, 1962&lt;/a&gt;&lt;/blockquote&gt;&lt;a href="http://www.newspaperarchive.com/FreePdfViewer.aspx?img=41534220&amp;amp;firstvisit=true&amp;amp;terms=think" target="_blank"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Times sure have changed.  If retraining unskilled workers to code software was a viable option, then they must have been coding some pretty simple software.  Maybe &lt;span style="font-style: italic;"&gt;"coding"&lt;/span&gt; really refers to the process of entering code designed by someone else.  Maybe &lt;span style="font-style: italic;"&gt;"coding"&lt;/span&gt; meant data entry.&lt;br /&gt;&lt;br /&gt;Regardless of what &lt;span style="font-style: italic;"&gt;"coding"&lt;/span&gt; meant in 1962, computers and the software we create today are more complex than they were 46 years ago.  It is too bad that some who would never think of &lt;a href="http://en.wikipedia.org/wiki/Programming"&gt;&lt;span style="font-style: italic;"&gt;coding&lt;/span&gt;&lt;/a&gt; as unskilled work still seem to think of &lt;a href="http://en.wikipedia.org/wiki/Software_testing"&gt;&lt;span style="font-style: italic;"&gt;testing&lt;/span&gt;&lt;/a&gt; as work for the not-so-well-skilled.  Good developers and testers are good thinkers.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;"You've got to be smarter to run a company with a computor than without one. The information on which you will base your decisions comes at you faster. If you're going to take advantage of this, you have to think faster, more decisively and more clearly."&lt;/span&gt;&lt;br /&gt;- George Aitken, Vice-President and Comptroller,&lt;br /&gt;Great West Life Assurance Co, 1962&lt;br /&gt;&lt;a href="http://www.newspaperarchive.com/FreePdfViewer.aspx?img=41534220&amp;amp;firstvisit=true&amp;amp;terms=think" target="_blank"&gt;Computor Invasion Scares The Unskilled&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;img src="http://blog.qualityfrog.com/frog/qfrog-tiny.gif"/&gt;&lt;br/&gt;
&lt;a href="mailto:ben@qualityfrog.com?subject=Blog"&gt;Ben Simo&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.QuestioningSoftware.com"&gt;QuestioningSoftware.com&lt;/a&gt;&lt;br/&gt;
&lt;img src="http://www.powweb.com/Counter/counter.mpl?u=pow.joebensimo&amp;d=qualityfrog.com&amp;s=Party&amp;b=0&amp;c=0,0,0" height="1" width="1"/&gt;
&lt;hr/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/QualityFrog?a=h6G9cD"&gt;&lt;img src="http://feeds.feedburner.com/~a/QualityFrog?i=h6G9cD" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=ktY0vtF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=ktY0vtF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=VyysEtF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=VyysEtF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=cYK7oPf"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=cYK7oPf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=gA06L2f"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=gA06L2f" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=LaS1YiF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=LaS1YiF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=DvQ9YYF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=DvQ9YYF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=QkZjCwF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=QkZjCwF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=aJOKP9F"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=aJOKP9F" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=2Hc7fvF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=2Hc7fvF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=8sDLOgf"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=8sDLOgf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityFrog/~4/244396081" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/QualityFrog/~3/244396081/retraining-unskilled-to-code-software.html" title="Retraining the unskilled to code software" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=414482498098790205&amp;postID=7649572044962923361" title="1 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.questioningsoftware.com/feeds/7649572044962923361/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/7649572044962923361" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/7649572044962923361" /><author><name>Ben Simo</name><uri>http://www.blogger.com/profile/11448600123169359955</uri><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.questioningsoftware.com/2008/03/retraining-unskilled-to-code-software.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-414482498098790205.post-1942100655937328007</id><published>2008-01-19T07:04:00.000-07:00</published><updated>2008-01-23T07:10:34.138-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Software Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Conferences" /><title type="text">CALL FOR PAPERS: Conference of the Association for Software Testing</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://associationforsoftwaretesting.org/"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp1.blogger.com/_Mp0d-dsENrg/R5IEXTXceoI/AAAAAAAABek/Yiqp7kure_8/s320/AST.JPG" alt="" id="BLOGGER_PHOTO_ID_5157189321674750594" border="0" /&gt;&lt;/a&gt;&lt;div class="content"&gt; &lt;p align="center"&gt; &lt;a href="http://www.associationforsoftwaretesting.org/drupal/CAST2008/CFP"&gt;&lt;strong&gt;CALL FOR PAPERS&lt;/strong&gt;&lt;/a&gt;&lt;br /&gt;&lt;strong&gt;The 3rd Annual Conference of the Association of Software Testing (CAST) 2008&lt;br /&gt;&lt;br /&gt;Toronto, Ontario, Canada, July 14-16, 2008&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Beyond the Boundaries:  Interdisciplinary Approaches to Software Testing&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt; &lt;/p&gt; &lt;p align="center"&gt; &lt;strong&gt;Keynote Presentation by Gerald M. Weinberg&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt; The Association for Software Testing is pleased to announce its third annual conference (CAST 2008), to be held July 14-16. The meeting will be held in Toronto, Canada, a city which features enormous diversity in culture, businesses, educational institutions, and the arts. Toronto is the perfect location for a conference on this year’s theme: "Beyond the Boundaries: Interdisciplinary Approaches to Software Testing". &lt;/p&gt; &lt;p&gt;Interdisciplinary approaches draw from diversified branches of learning or practice, such that insights can be drawn upon and synthesized to influence a particular craft. The CAST 2008 Program Committee is now seeking papers that explain how one, two or more disciplines might assist with software testing. &lt;/p&gt; &lt;p&gt;Examples could include ways in which statistics and metrics combined with critical thinking can help software testers interpret performance test results; ways in which logical thinking combined with document design and modeling help testers better understand business requirements and execute functional tests; or ways in which research in human/computer interaction might influence usability testing.&lt;/p&gt;&lt;p&gt;Apropos of this theme, the Association is delighted to announce that the first of our keynote speakers will be Gerald M. Weinberg, presenting a talk entitled Lessons from Past to Carry into the Future. Fifty years ago, in 1958, Jerry established the very first separate software testing group, to aid in producing life-critical software for Project Mercury. Jerry will speak of many steps, done and not yet done, needed to complete the task of creating a true software testing profession. &lt;/p&gt; &lt;p&gt;Both academic research papers and industrial experience reports are welcome. The following (non-exclusive) list suggests topics of interest that the Committee would consider highly suitable for submission: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;General systems (e.g. modeling, non-linearity, complexity)&lt;/li&gt;&lt;li&gt;Mathematics (e.g. probability, statistics, combinatorics / permutations, graphing, metrics, equivalence partitioning)&lt;/li&gt;&lt;li&gt;Epistemology (e.g. logic, lateral thinking, critical thinking, experiment design, decision making)&lt;/li&gt;&lt;li&gt;Cognitive science (e.g. biases, perception, descriptive decision making, human factors, dynamics of heuristics, learning) &lt;/li&gt;&lt;li&gt;Communication (e.g. rhetoric, document design, writing)&lt;/li&gt;&lt;li&gt;Visualization (e.g. graphical presentation of test results, display and presentation of test data)&lt;/li&gt;&lt;li&gt;Interdisciplinary approaches to teaching software testing &lt;/li&gt;&lt;/ul&gt; &lt;p style="color: rgb(102, 0, 0);"&gt;In addition to looking for papers that demonstrate an interdisciplinary approach to software testing, we’re looking for personal experience reports that clearly demonstrate skills and practices of seasoned software testing professionals. We’ll be looking for rich, diverse experiences and intriguing papers that illuminate the theme. If you have hands-on experience and a fascinating story to tell, contact us and we will assist you in evolving your tale so it will be ready to present at CAST. &lt;/p&gt; &lt;p&gt;   &lt;/p&gt; &lt;h2&gt;CONFERENCE FORMAT&lt;/h2&gt; &lt;p&gt;CAST is designed as a forum to stimulate discussions leading to innovation in software testing, and so is distinguished by significant interaction among presenters and attendees. Papers and experience reports accepted by the program committee are challenged, debated, and discussed by the conference attendees. We encourage and facilitate conversation by building flexibility into the schedule so that topics generating high energy can be explored more deeply without adversely disrupting the course of conference events. Trained facilitators will ensure that discussion sessions are appropriately structured and productive. Discussion sessions will have a recorder, and transcripts or summaries of the discussions will be made available to participants after the conference. &lt;/p&gt; &lt;h2&gt;SUBMISSIONS&lt;/h2&gt; &lt;p&gt;CAST 2008, although not associate with ACM, encourages authors to follow the ACM SIG Proceedings style, freely available at &lt;a href="http://www.acm.org/sigs/publications/proceedings-templates"&gt;http://www.acm.org/sigs/publications/proceedings-templates&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;We expect a typical submission to be between 4 to 6 pages long. All papers should be submitted electronically in PDF format via email to: &lt;a href="mailto:CFP@associationforsoftwaretesting.org"&gt;CFP@associationforsoftwaretesting.org&lt;/a&gt; &lt;/p&gt; &lt;p&gt;Authors of accepted papers will receive complimentary registration to CAST 2008. Papers will be published in the conference proceedings. Authors will also be invited to submit their papers for inclusion in a future edition of the Journal of the Association of Software Testers (JAST).&lt;br /&gt;&lt;/p&gt; &lt;h2&gt;IMPORTANT DATES&lt;/h2&gt; &lt;ul&gt;&lt;li&gt;Monday Feb 4, 2008 : Deadline for abstract submission      &lt;/li&gt;&lt;li&gt;Monday February 25, 2008 : Notification of acceptance/rejection to authors      &lt;/li&gt;&lt;li&gt;Monday March 17, 2008 : Submission of revised paper integrating the reviewers’ comments      &lt;/li&gt;&lt;li&gt;Friday April 4:, 2008 : End of the second period of reviewing      &lt;/li&gt;&lt;li&gt;Monday April 28, 2008 : Final camera-ready papers due      &lt;/li&gt;&lt;li&gt;July 14-16, 2008: Conference &lt;/li&gt;&lt;/ul&gt; &lt;h2&gt;CONFERENCE CONTACT&lt;/h2&gt; &lt;p&gt; For further information about CAST 2008, please contact a member of the conference committee as listed below: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;Sponsorship:  Scott Barber, executive.director@associationforsoftwaretesting.org      &lt;/li&gt;&lt;li&gt;General Conference Information:  Michael Bolton, cast2008(“at” symbol)michaelbolton.net      &lt;/li&gt;&lt;li&gt;Program: &lt;a href="mailto:CFP@associationforsoftwaretesting.org"&gt;CFP@associationforsoftwaretesting.org&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;img src="http://blog.qualityfrog.com/frog/qfrog-tiny.gif"/&gt;&lt;br/&gt;
&lt;a href="mailto:ben@qualityfrog.com?subject=Blog"&gt;Ben Simo&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.QuestioningSoftware.com"&gt;QuestioningSoftware.com&lt;/a&gt;&lt;br/&gt;
&lt;img src="http://www.powweb.com/Counter/counter.mpl?u=pow.joebensimo&amp;d=qualityfrog.com&amp;s=Party&amp;b=0&amp;c=0,0,0" height="1" width="1"/&gt;
&lt;hr/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/QualityFrog?a=VDzIsy"&gt;&lt;img src="http://feeds.feedburner.com/~a/QualityFrog?i=VDzIsy" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=YQF8sKD"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=YQF8sKD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=DpowKZD"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=DpowKZD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=pneuvxd"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=pneuvxd" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=PMkfShd"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=PMkfShd" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=SV7WwiD"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=SV7WwiD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=o0p5MLD"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=o0p5MLD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=i5NSdoD"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=i5NSdoD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=tyyb5DF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=tyyb5DF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=pEFnyRF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=pEFnyRF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=z7QxQaf"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=z7QxQaf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityFrog/~4/219408066" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/QualityFrog/~3/219408066/call-for-papers-conference-of.html" title="CALL FOR PAPERS: Conference of the Association for Software Testing" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=414482498098790205&amp;postID=1942100655937328007" title="2 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.questioningsoftware.com/feeds/1942100655937328007/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/1942100655937328007" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/1942100655937328007" /><author><name>Ben Simo</name><uri>http://www.blogger.com/profile/11448600123169359955</uri><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.questioningsoftware.com/2008/01/call-for-papers-conference-of.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-414482498098790205.post-8516587507494208461</id><published>2008-01-14T23:54:00.000-07:00</published><updated>2008-01-15T17:30:26.155-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Software Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Quality" /><category scheme="http://www.blogger.com/atom/ns#" term="Communication" /><title type="text">Evidence That Quality Has Everything To Do With Value</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_Mp0d-dsENrg/R4xy6DXcehI/AAAAAAAABdo/S-U9HrfqXRw/s1600-h/ribbon-gold_w_florish.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 277px; height: 208px;" src="http://bp2.blogger.com/_Mp0d-dsENrg/R4xy6DXcehI/AAAAAAAABdo/S-U9HrfqXRw/s320/ribbon-gold_w_florish.png" alt="" id="BLOGGER_PHOTO_ID_5155622015093996050" border="0" /&gt;&lt;/a&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt; “Quality is value to some person.”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Gerald Weinberg,&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/0932633226?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0932633226"&gt;Quality Software Management – Systems Thinking&lt;/a&gt;&lt;/blockquote&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;This morning, &lt;a href="http://parlezuml.com/blog/?postid=77&amp;amp;PHPSESSID=f52487611649d25dab8c8b0376f58cf2"&gt;Jason Gorman&lt;/a&gt;'s blog post title &lt;a href="http://parlezuml.com/blog/?postid=551"&gt;&lt;span style="font-style: italic;"&gt;Proof That Value Has Little To Do With Quality?&lt;/span&gt;&lt;/a&gt; caught my attention.  This title contradicts my definition of &lt;span style="font-style: italic;"&gt;Quality&lt;/span&gt;.  To me, &lt;span style="font-style: italic;"&gt;Quality &lt;/span&gt;is all about value to stakeholders.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Quality &lt;/span&gt;is not about implementing the &lt;span style="font-style: italic;"&gt;best&lt;/span&gt; development practices.  &lt;span style="font-style: italic;"&gt;Quality&lt;/span&gt; is not about &lt;a href="http://www.amazon.com/gp/product/1556155514?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=1556155514"&gt;writing solid code&lt;/a&gt;.  &lt;span style="font-style: italic;"&gt;Quality&lt;/span&gt; may not be about impressive features.  &lt;span style="font-style: italic;"&gt;Quality&lt;/span&gt; may have no relation to elegance.  &lt;span style="font-style: italic;"&gt;Quality&lt;/span&gt; may not even be reliable.  &lt;span style="font-style: italic;"&gt;Quality&lt;/span&gt; may be cheap or it may be expensive.  &lt;span style="font-style: italic;"&gt;Quality&lt;/span&gt; may be well planned or it may be haphazard.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(102, 0, 0);"&gt;Quality&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(102, 0, 0);"&gt; is all about value.  &lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold; color: rgb(102, 0, 0);"&gt;Quality &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(102, 0, 0);"&gt;is about value to people that matter.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Jason references an interesting &lt;a href="http://www.nytimes.com/2008/01/13/business/13digi.html?ex=1357966800&amp;amp;en=0d6823d6b616b6a8&amp;amp;ei=5124&amp;amp;partner=permalink&amp;amp;exprod=permalink"&gt;article&lt;/a&gt; about a web site that started as a learning exercise and "&lt;a href="http://www.nytimes.com/2008/01/13/business/13digi.html?ex=1357966800&amp;amp;en=0d6823d6b616b6a8&amp;amp;ei=5124&amp;amp;partner=permalink&amp;amp;exprod=permalink"&gt;&lt;span style="font-style: italic;"&gt;seems to come from the Anti-Perfectionist School of Design&lt;/span&gt;&lt;/a&gt;", yet is profiting its creator millions of dollars annually.  In spite of many flaws, this web site is profitable because users find it valuable and users bring advertising dollars.  I consider this to be a high quality web site in spite of its obvious flaws because it has value to people who matter.  Instead of viewing this as an example of &lt;span style="font-style: italic;"&gt;value &lt;/span&gt;having little to do with &lt;span style="font-style: italic;"&gt;quality&lt;/span&gt;, I see this as a great example of &lt;span style="font-style: italic;"&gt;Quality &lt;/span&gt;having everything to do with &lt;span style="font-style: italic;"&gt;value&lt;/span&gt;.  I suspect that Jason and I define &lt;span style="font-style: italic;"&gt;Quality &lt;/span&gt;differently.   This story is an example of how &lt;span style="font-style: italic;"&gt;value &lt;/span&gt;sometimes has very little to do with all the other things we often call &lt;span style="font-style: italic;"&gt;Quality&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Perhaps my thinking is too &lt;a href="http://www.thefreedictionary.com/touchy-feely"&gt;&lt;span style="font-style: italic;"&gt;touchy-feely&lt;/span&gt;&lt;/a&gt; for those who think we need to measure and assure &lt;span style="font-style: italic;"&gt;Quality &lt;/span&gt;through quantitative metrics and processes enforcement.  By it's very nature, quality is subjective.  Sometimes we can quantify the results of &lt;span style="font-style: italic;"&gt;Quality&lt;/span&gt;: as in the $10 million in annual advertising profits.  I suspect that some of you are subjectively estimating how better metrics and process might lead to better profits.&lt;br /&gt;&lt;br /&gt;The real measure of Quality is a measure of value (not necessarily quantitative value) to those who matter.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;"As professionals, we have no real control over the ultimate value of the software we create. And neither do our customers, or requirements analysts, or product owners, or whoever it is who's been charged with figuring out what the best use of the budget would be. It's all guesswork, like choosing lottery numbers or selecting which horse to bet on."&lt;/span&gt;&lt;br /&gt;- Jason Gorman,&lt;br /&gt;&lt;a href="http://parlezuml.com/blog/?postid=551"&gt;Proof That Value Has Little To Do With Quality?&lt;/a&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;a href="http://parlezuml.com/blog/?postid=551"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;While there is guesswork in determining who matters and what they value, it is not as random as selecting lottery numbers.  Better understanding of who matters and what they value can help us reduce the guesswork.  Ongoing dialog can bring better understanding.  If &lt;span style="font-style: italic;"&gt;Quality &lt;/span&gt;is nothing more than a lottery, then we might as well limit ourselves to BUFD and scripted manual testing.&lt;br /&gt;&lt;br /&gt;Interactions, collaboration, and responding to our changing understandings can help us take control over &lt;span style="font-style: italic;"&gt;Quality&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;"Above all, listen to what your customers are telling you about Quality.  ...  Your customers are in a perfect position to tell you about Quality, because that's all they're really buying.  They're not buying a product.  They're buying your assurances that their expectations for that product will be met. ... Your customers may not have all the hard business facts.  They may not be aware of your specs and your standards and your inspection reports ... They may not be able to give you a precise definition of Quality, but one thing's for certain -- they know it when they see it."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;-John Guaspari,&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/0814477631?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0814477631"&gt;I Know It When I See It: A Modern Fable About Quality&lt;/a&gt;&lt;/blockquote&gt;&lt;br /&gt;And, as Jason rightly points out, what satisfies users (and the business) today may not satisfy them tomorrow.  Keep the dialog going.&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;img src="http://blog.qualityfrog.com/frog/qfrog-tiny.gif"/&gt;&lt;br/&gt;
&lt;a href="mailto:ben@qualityfrog.com?subject=Blog"&gt;Ben Simo&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.QuestioningSoftware.com"&gt;QuestioningSoftware.com&lt;/a&gt;&lt;br/&gt;
&lt;img src="http://www.powweb.com/Counter/counter.mpl?u=pow.joebensimo&amp;d=qualityfrog.com&amp;s=Party&amp;b=0&amp;c=0,0,0" height="1" width="1"/&gt;
&lt;hr/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/QualityFrog?a=lON2XI"&gt;&lt;img src="http://feeds.feedburner.com/~a/QualityFrog?i=lON2XI" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=94pQztD"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=94pQztD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=dguXUAD"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=dguXUAD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=syULowd"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=syULowd" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=USBv6wd"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=USBv6wd" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=Fizr7QD"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=Fizr7QD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=utCa7jD"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=utCa7jD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=fU4XLhD"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=fU4XLhD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=IKBlsEF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=IKBlsEF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=t0niFkF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=t0niFkF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=jB5CdRf"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=jB5CdRf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityFrog/~4/216914762" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/QualityFrog/~3/216914762/evidence-that-quality-has-everything-to.html" title="Evidence That Quality Has Everything To Do With Value" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=414482498098790205&amp;postID=8516587507494208461" title="3 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.questioningsoftware.com/feeds/8516587507494208461/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/8516587507494208461" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/8516587507494208461" /><author><name>Ben Simo</name><uri>http://www.blogger.com/profile/11448600123169359955</uri><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.questioningsoftware.com/2008/01/evidence-that-quality-has-everything-to.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-414482498098790205.post-91885801568228880</id><published>2008-01-11T10:30:00.000-07:00</published><updated>2008-01-14T09:30:30.568-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tools" /><category scheme="http://www.blogger.com/atom/ns#" term="Regular Expressions" /><category scheme="http://www.blogger.com/atom/ns#" term="Test Automation" /><title type="text">Regular Expressions</title><content type="html">&lt;span style="color: rgb(102, 0, 0); font-weight: bold;"&gt;(bb|[^b]{2});  [Tt]hat is the \?\.&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(102, 0, 0);"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Regular expressions are great tools for testers.  I have found them useful for describing GUI objects to GUI test automation tools.  I have found them useful for automation results validation.  I have found them useful for extracting data I care about from voluminous log files.  I've also found them useful for manipulating data.&lt;br /&gt;&lt;br /&gt;What are regular expressions?  Regular expressions are patterns for finding text of interest.  They are supported by many test tools, system utilities, text editors, and programming languages.&lt;br /&gt;&lt;br /&gt;Regular expressions can include the following meta characters to define patterns.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;^  Matches the beginning&lt;br /&gt;&lt;/li&gt;&lt;li&gt;$  Matches the end&lt;br /&gt;&lt;/li&gt;&lt;li&gt;.  Matches any single character&lt;br /&gt;&lt;/li&gt;&lt;li&gt;*  Matches zero or more occurrences of the preceding character&lt;br /&gt;&lt;/li&gt;&lt;li&gt;\  Escape character&lt;br /&gt;&lt;/li&gt;&lt;li&gt;?  Matches zero or one occurrence of the preceding character&lt;br /&gt;&lt;/li&gt;&lt;li&gt;+  Matches one or more occurrences of the previous character&lt;br /&gt;&lt;/li&gt;&lt;li&gt;[ ]  Defines a character class&lt;br /&gt;&lt;/li&gt;&lt;li&gt;[^ ]  Defines an exclusion-based character class&lt;br /&gt;&lt;/li&gt;&lt;li&gt;\{  \}  Matches a specific number or range of instances of the previous character&lt;br /&gt;&lt;/li&gt;&lt;li&gt;\(  \)    Treats the expression between \( and \) as a group&lt;br /&gt;&lt;/li&gt;&lt;li&gt;| Or.    Use to match one of many expressions&lt;br /&gt;&lt;/li&gt;&lt;li&gt;\&lt;  Matches the beginning of a word&lt;br /&gt;&lt;/li&gt;&lt;li&gt;\&gt;  Matches the end of a word&lt;br /&gt;&lt;/li&gt;&lt;li&gt;\b  Word boundary&lt;br /&gt;&lt;/li&gt;&lt;li&gt;\B  Not a word boundary&lt;/li&gt;&lt;/ul&gt;&lt;p style="line-height: 80%; margin-top: 3.84pt; margin-bottom: 0pt; margin-left: 0.38in; text-indent: -0.38in; text-align: left; direction: ltr; unicode-bidi: embed; vertical-align: baseline;"&gt;&lt;span style=";font-family:Arial;font-size:16;color:black;"   &gt;&lt;/span&gt;&lt;/p&gt;  &lt;span style="font-size:85%;"&gt;* Many tools do not support all meta characters&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Here are some example regular expressions:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt; “frog” &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Matches “frog”, “bullfrog”, and “tree frog”; but not “Frog”  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;“^Frog”&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Matches “Froggy went a courting”, but not “Quality Frog”  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;“frog$”&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Matches “frog”, “bullfrog”, and “tree frog”; but not “froggy” or “The frog sat on a log.”  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;“.at”&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Matches “cat”, “rat”, “bat”, “goat”, and “gnat”  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;“20*5”&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Matches “2005”, “20005”, “20000000000000000000000005”, “25”; but not “2ABC5” or “2006”  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;“Spee?d”&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Matches “Sped” and “Speed”; but not “Speeed”  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;“20+5”&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Matches “2005” and “20005”, but not “25”  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;“200[5-9]”&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Matches “2005”, “2006”, “2007”, and “2009”; but not “2004”  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;“199[0-9]|200[0-9]”&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Matches years 1990 through 2009.  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt; “[0-9][0-9]*\.[0-9][0-9][^0-9]”&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Matches “1.29”, “1.29%”, and “1234.55”; but not “1.299” or “.29”  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;“A[LKRSZ|C[AOT]|D[CE]&lt;/span&gt;&lt;wbr style="color: rgb(102, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;|F[LM]|G[AU]&lt;/span&gt;&lt;wbr style="color: rgb(102, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;|HI|I[ADLN]|K[SY]&lt;/span&gt;&lt;wbr style="color: rgb(102, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;|LA|M[AFRHINOPST]&lt;/span&gt;&lt;wbr style="color: rgb(102, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;|N[CDEHJMVY]|O[HKR]&lt;/span&gt;&lt;wbr style="color: rgb(102, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;|P[ARW]|RI|S[CD]&lt;/span&gt;&lt;wbr style="color: rgb(102, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;|T[NX]|UT|V[AIT]&lt;/span&gt;&lt;wbr style="color: rgb(102, 0, 0);"&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;|W[AIVY]“&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Matches any valid 2-letter US postal state or territory name abbreviation.  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(102, 0, 0);"&gt;Want to learn more?  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Take a look at &lt;a href="http://www.qualityfrog.com/Presentations/2008/DMUG_RegularExpressions.pdf"&gt;my slides from last night's presentation&lt;/a&gt; to the &lt;a href="http://tech.groups.yahoo.com/group/denvermercuryusers/"&gt;Denver Mercury User Group&lt;/a&gt;.  Check out &lt;a href="http://en.wikipedia.org/wiki/Regular_expression"&gt;Wikipedia&lt;/a&gt;.  Or try a &lt;a href="http://www.google.com/custom?domains=www.questioningsoftware.com%3Bqualityfrog.com&amp;amp;q=regular+expressions&amp;amp;sa=Search&amp;amp;sitesearch=&amp;amp;client=pub-0151147576103062&amp;amp;forid=1&amp;amp;ie=ISO-8859-1&amp;amp;oe=ISO-8859-1&amp;amp;safe=active&amp;amp;cof=GALT%3A%23008000%3BGL%3A1%3BDIV%3A%23336699%3BVLC%3A663399%3BAH%3Acenter%3BBGC%3AFFFFFF%3BLBGC%3A336699%3BALC%3A0000FF%3BLC%3A0000FF%3BT%3A000000%3BGFNT%3A0000FF%3BGIMP%3A0000FF%3BLH%3A78%3BLW%3A72%3BL%3Ahttp%3A%2F%2Fblog.qualityfrog.com%2Ffrog%2Fqfrog-small.gif%3BS%3Ahttp%3A%2F%2Fblog.qualityfrog.com%2Ffrog%2Fqfrog-small.gif%3BLP%3A1%3BFORID%3A1&amp;amp;hl=en"&gt;Google Search&lt;/a&gt;.    If you ask  &lt;span style="font-weight: bold; font-style: italic; color: rgb(102, 0, 0);"&gt;bb|[^b]{2}&lt;/span&gt;, check out &lt;a href="http://www.thinkgeek.com/tshirts/coder/57f0/"&gt;Think Geek&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);"&gt;Ha[p]{2}y T[ea]sting\.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.regexbuddy.com/cgi-bin/affref.pl?aff=bensimo"&gt;&lt;img src="http://www.just-great-software.com/banners/RegexBuddyOrange.png" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;img src="http://blog.qualityfrog.com/frog/qfrog-tiny.gif"/&gt;&lt;br/&gt;
&lt;a href="mailto:ben@qualityfrog.com?subject=Blog"&gt;Ben Simo&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.QuestioningSoftware.com"&gt;QuestioningSoftware.com&lt;/a&gt;&lt;br/&gt;
&lt;img src="http://www.powweb.com/Counter/counter.mpl?u=pow.joebensimo&amp;d=qualityfrog.com&amp;s=Party&amp;b=0&amp;c=0,0,0" height="1" width="1"/&gt;
&lt;hr/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/QualityFrog?a=YwCIAm"&gt;&lt;img src="http://feeds.feedburner.com/~a/QualityFrog?i=YwCIAm" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=GD6rGPD"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=GD6rGPD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=ln1J6uD"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=ln1J6uD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=x2lM88d"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=x2lM88d" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=VdKeCBd"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=VdKeCBd" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=g2Q1R9D"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=g2Q1R9D" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=ZkyF5JD"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=ZkyF5JD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=NlezYZD"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=NlezYZD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=oBgb2xF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=oBgb2xF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=oiHLquF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=oiHLquF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=AsxIm6f"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=AsxIm6f" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityFrog/~4/215105128" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/QualityFrog/~3/215105128/regular-expressions.html" title="Regular Expressions" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=414482498098790205&amp;postID=91885801568228880" title="2 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.questioningsoftware.com/feeds/91885801568228880/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/91885801568228880" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/91885801568228880" /><author><name>Ben Simo</name><uri>http://www.blogger.com/profile/11448600123169359955</uri><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.questioningsoftware.com/2008/01/regular-expressions.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-414482498098790205.post-5844699198381554401</id><published>2007-12-22T00:31:00.000-07:00</published><updated>2007-12-29T09:47:10.437-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Heuristics" /><category scheme="http://www.blogger.com/atom/ns#" term="Software Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Guideword Heuristics" /><category scheme="http://www.blogger.com/atom/ns#" term="FAILURE" /><title type="text">Discombobulation Testing</title><content type="html">I do not like software that &lt;a href="http://en.wiktionary.org/wiki/discombobulate"&gt;discombobulates&lt;/a&gt; users.  I find that software error handling and reporting often confuses users more than it helps.  Several months back, I created and &lt;a href="http://www.questioningsoftware.com/2007/08/failure-usability.html"&gt;wrote about&lt;/a&gt; a mnemonic of guideword heuristics that I have been using for testing error handling and reporting.  I have found this useful in my own testing and have received some positive feedback from others that are using it.   I created the following PowerPoint show to help demonstrate how I use the mnemonic.  &lt;a href="http://failure.qualityfrog.com/FAILURE.pps"&gt;Take a look.&lt;/a&gt;  It runs for just under seven minutes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a href="http://failure.qualityfrog.com/FAILURE.pps" target="_blank"&gt;&lt;img src="http://bp0.blogger.com/_Mp0d-dsENrg/R2yt2jXcVII/AAAAAAAAAJk/hHytS9DwMXg/s320/FAILURE.JPG" alt="" id="BLOGGER_PHOTO_ID_5146679626895742082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://failure.qualityfrog.com/FAILURE.pps" target="_blank"&gt;FAILURE.pps&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;(&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);font-size:78%;" &gt;For those that don't have PowerPoint: try an &lt;span style="font-style: italic;"&gt;experimental&lt;/span&gt; Flash version &lt;a href="http://failure.qualityfrog.com/flash" target="_blank"&gt;here&lt;/a&gt;.)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The next time you encounter an error, try the FAILURE heuristic.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;F&lt;/b&gt;&lt;/span&gt; Does the error detecting, reporting, and handling &lt;span style="font-weight: bold;"&gt;function &lt;/span&gt;as expected?&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;A&lt;/b&gt;&lt;/span&gt; Is the error reported at the appropriate time in an &lt;span style="font-weight: bold;"&gt;appropriate &lt;/span&gt;manner?&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;I&lt;/b&gt;&lt;/span&gt; Is the &lt;span style="font-weight: bold;"&gt;impact &lt;/span&gt;to the user communicated?&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;L&lt;/b&gt;&lt;/span&gt; Is the error appropriately &lt;span style="font-weight: bold;"&gt;logged&lt;/span&gt;? ... or not logged if that is desired?&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;U&lt;/b&gt;&lt;/span&gt; Is the error appropriately reported in the &lt;span style="font-weight: bold;"&gt;user interface&lt;/span&gt; in terms that the user understands?&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;R&lt;/b&gt;&lt;/span&gt; Is the user told how to &lt;span style="font-weight: bold;"&gt;recover &lt;/span&gt;from the error condition?&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:180%;"&gt;&lt;b&gt;E&lt;/b&gt;&lt;/span&gt; Does the error reporting evoke the desired &lt;span style="font-weight: bold;"&gt;emotions&lt;/span&gt;? Could changes in the error reporting and handling improve the users emotional response?&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Merry Christmas, and Happy Testing!&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;img src="http://blog.qualityfrog.com/frog/qfrog-tiny.gif"/&gt;&lt;br/&gt;
&lt;a href="mailto:ben@qualityfrog.com?subject=Blog"&gt;Ben Simo&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.QuestioningSoftware.com"&gt;QuestioningSoftware.com&lt;/a&gt;&lt;br/&gt;
&lt;img src="http://www.powweb.com/Counter/counter.mpl?u=pow.joebensimo&amp;d=qualityfrog.com&amp;s=Party&amp;b=0&amp;c=0,0,0" height="1" width="1"/&gt;
&lt;hr/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/QualityFrog?a=Jyqtjp"&gt;&lt;img src="http://feeds.feedburner.com/~a/QualityFrog?i=Jyqtjp" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=5gaW3mC"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=5gaW3mC" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=DmZDthC"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=DmZDthC" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=D3NNxlc"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=D3NNxlc" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=Zndy4Wc"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=Zndy4Wc" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=F0smYOC"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=F0smYOC" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=3moQC0C"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=3moQC0C" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=UtK0z1C"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=UtK0z1C" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=rp1s28F"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=rp1s28F" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=N1ol6kF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=N1ol6kF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=J7VAeMf"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=J7VAeMf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityFrog/~4/204493720" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/QualityFrog/~3/204493720/discombobulation-testing.html" title="Discombobulation Testing" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=414482498098790205&amp;postID=5844699198381554401" title="1 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.questioningsoftware.com/feeds/5844699198381554401/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/5844699198381554401" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/5844699198381554401" /><author><name>Ben Simo</name><uri>http://www.blogger.com/profile/11448600123169359955</uri><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.questioningsoftware.com/2007/12/discombobulation-testing.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-414482498098790205.post-5770643638863542340</id><published>2007-12-16T15:35:00.000-07:00</published><updated>2007-12-17T14:31:44.592-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Software Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Teams" /><category scheme="http://www.blogger.com/atom/ns#" term="Communication" /><title type="text">Whose side are you on?</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_Mp0d-dsENrg/R2Wf8jXcVHI/AAAAAAAAAJc/BQO2PoDiH9w/s1600-h/ball_and_chain.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp1.blogger.com/_Mp0d-dsENrg/R2Wf8jXcVHI/AAAAAAAAAJc/BQO2PoDiH9w/s200/ball_and_chain.png" alt="" id="BLOGGER_PHOTO_ID_5144694011975193714" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;Many marriages would be better if the husband and the wife&lt;/span&gt;&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;span style="font-style: italic;"&gt;c&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;learly&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt; understood that they are on the same side.&lt;/span&gt;&lt;br /&gt;- &lt;a href="http://en.wikipedia.org/wiki/Zig_Ziglar"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Zig&lt;/span&gt;&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Ziglar&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Many software teams would be better if the testers and developers clearly understood that they are on the same side.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;No one creates a team to battle their team members.  Husbands and wives don't embark on life together so that they can spend their lives battling each other.  Software development teams aren't formed to create conflict within a company.  Yet, conflict happens.  Partners become the victims of friendly fire.&lt;br /&gt;&lt;br /&gt;When the going gets tough, the tough need to stop bickering long enough to realize that they are on the same team. Here are a few tips that can help keep a team together.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Keep the common mission in sight&lt;/li&gt;&lt;li&gt;Seek first to understand, then to be understood &lt;span style="font-size:78%;"&gt;(Stephen Covey)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Help others overcome obstacles instead of assigning blame&lt;/li&gt;&lt;li&gt;Praise good work&lt;/li&gt;&lt;li&gt;Be honest and tactful&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Although each team member may serve a different role, it is essential that teams value the input of each member and work together to accomplish the common mission.  Testers and developers should not be enemies.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;img src="http://blog.qualityfrog.com/frog/qfrog-tiny.gif"/&gt;&lt;br/&gt;
&lt;a href="mailto:ben@qualityfrog.com?subject=Blog"&gt;Ben Simo&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.QuestioningSoftware.com"&gt;QuestioningSoftware.com&lt;/a&gt;&lt;br/&gt;
&lt;img src="http://www.powweb.com/Counter/counter.mpl?u=pow.joebensimo&amp;d=qualityfrog.com&amp;s=Party&amp;b=0&amp;c=0,0,0" height="1" width="1"/&gt;
&lt;hr/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/QualityFrog?a=t8Xcr2"&gt;&lt;img src="http://feeds.feedburner.com/~a/QualityFrog?i=t8Xcr2" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=TO9spGC"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=TO9spGC" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=50X1mXC"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=50X1mXC" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=ve0F7hc"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=ve0F7hc" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=nI1q6gc"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=nI1q6gc" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=hLxoziC"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=hLxoziC" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=Iz0ZlvC"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=Iz0ZlvC" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=XUN8iYC"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=XUN8iYC" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=mBSYh1F"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=mBSYh1F" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=IDaEyMF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=IDaEyMF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=IWkUGRf"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=IWkUGRf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityFrog/~4/201356746" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/QualityFrog/~3/201356746/whos-side-are-you-on.html" title="Whose side are you on?" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=414482498098790205&amp;postID=5770643638863542340" title="1 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.questioningsoftware.com/feeds/5770643638863542340/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/5770643638863542340" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/5770643638863542340" /><author><name>Ben Simo</name><uri>http://www.blogger.com/profile/11448600123169359955</uri><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.questioningsoftware.com/2007/12/whos-side-are-you-on.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-414482498098790205.post-668260299574419782</id><published>2007-12-04T20:10:00.000-07:00</published><updated>2007-12-04T22:32:19.634-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Analysis Paralysis" /><category scheme="http://www.blogger.com/atom/ns#" term="Coverage" /><category scheme="http://www.blogger.com/atom/ns#" term="Heuristics" /><category scheme="http://www.blogger.com/atom/ns#" term="Software Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Model-Based Testing" /><title type="text">Solving Intractable Problems</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_Mp0d-dsENrg/R1XrC1jqbXI/AAAAAAAAAJU/hE9KtFRJFYQ/s1600-h/safety_no_brain.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp0.blogger.com/_Mp0d-dsENrg/R1XrC1jqbXI/AAAAAAAAAJU/hE9KtFRJFYQ/s320/safety_no_brain.png" alt="" id="BLOGGER_PHOTO_ID_5140272983682215282" border="0" /&gt;&lt;/a&gt; &lt;blockquote&gt;"A solution to a given problem is called optimal if one can prove that no better solution exists. Some skeptics might ask, Why should intuition rely on a rule of thumb instead of the optimal strategy? To solve a problem by &lt;a href="http://en.wikipedia.org/wiki/Optimization_%28mathematics%29"&gt;optimization&lt;/a&gt; -- rather than by a &lt;a href="http://en.wikipedia.org/wiki/Rule_of_thumb"&gt;rule of thumb&lt;/a&gt; -- implies both that an optimal solution exists &lt;em&gt;and &lt;/em&gt;that a strategy exists to find it. Computers would seem to be the ideal tool for finding the best solution to a problem. Yet paradoxically, the advent of high-speed computers has opened our eyes to the fact that the best strategy often cannot be found." - &lt;a href="http://www.amazon.com/dp/0670038636?&amp;amp;camp=212361&amp;amp;creative=383841&amp;amp;linkCode=wss&amp;amp;tag=qualfrog-20"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Gerd&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Gigerenzer&lt;/span&gt;, Gut Feelings: The Intelligence of the Unconscious&lt;/a&gt;&lt;/blockquote&gt;&lt;a href="http://www.amazon.com/dp/0670038636?&amp;amp;camp=212361&amp;amp;creative=383841&amp;amp;linkCode=wss&amp;amp;tag=qualfrog-20"&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;An &lt;a href="http://en.wikipedia.org/wiki/Intractable#Intractability"&gt;&lt;em&gt;intractable&lt;/em&gt;&lt;/a&gt; problem is a problem for which there is no efficient means of solving. These aren't necessarily problems for which there is no solution. Instead, these are problems that take too long to analyze all the options.&lt;br /&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;One of the biggest challenges in testing software is to select useful tests from infinite options.  Even finite sets of options can create &lt;em&gt;intractable &lt;/em&gt;problems.&lt;br /&gt;&lt;br /&gt;For example, state model-based test automation generally requires creation of an explicit finite model.  Models are less complex than the real thing -- if they aren't, they are copies, not models.  Model-based test automation can be used to generate and execute tests for many more paths through a computer program than people are willing or able to try.  However, testing all paths in a model for a non-trivial program can easily become an &lt;em&gt;intractable &lt;/em&gt;problem.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Gerd&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Gigerenzer&lt;/span&gt; demonstrates this with a challenge in his book &lt;em&gt;&lt;a href="http://www.amazon.com/dp/0670038636?&amp;amp;camp=212361&amp;amp;creative=383841&amp;amp;linkCode=wss&amp;amp;tag=qualfrog-20"&gt;Gut Feelings&lt;/a&gt;&lt;/em&gt;. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Gigerenzer&lt;/span&gt; asks readers to find the shortest route to visit 50 cities starting and ending at the same city.  Think you can find the solution?  There are only 12 different routes to visit 5 cities. So how many combinations would you need to check to visit 50 cities?  According to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Gigerenzer&lt;/span&gt;, there are approximately &lt;span style="font-size:85%;"&gt;&lt;em&gt;300&lt;wbr&gt;,000,000&lt;wbr&gt;,000,000&lt;wbr&gt;,000,000&lt;wbr&gt;,000,000&lt;wbr&gt;,000,000&lt;wbr&gt;,000,000&lt;wbr&gt;,000,000&lt;wbr&gt;,000,000&lt;wbr&gt;,000,000&lt;wbr&gt;,000,000&lt;/em&gt;&lt;/span&gt; possible routes to visit 50 cities.  Even with the help of computers, we do not have the time to calculate the best route.&lt;/p&gt;&lt;p&gt;Even relatively simple computer programs have significantly more data and path possibilities -- especially when we consider retracing paths as part of a larger path.  There are potentially infinite path possibilities though even the simplest programs.  (As I type each letter of this article into my computer, I am selecting an input from many more than 50 options.)&lt;/p&gt;&lt;p&gt;The problem of visiting 50 cities is solvable if we do not insist on finding the shortest route. Finding the shortest route and trying every possible path through a computer program are not really required to find a satisfactory solution.&lt;/p&gt;&lt;p&gt;Intractable problems like this require that we not consider all possibilities.  Trying to consider all the options distracts us from what could be productive testing.  Instead of considering all options, we only need to consider enough options to be satisfied.  Otherwise, we will spend more time analyzing the possibilities than we do testing.  Sometimes we just need to stop analyzing and go with our gut feelings.&lt;/p&gt;&lt;blockquote&gt;"Gut feelings are based on surprisingly little information that makes them look untrustworthy in the eyes of our superego, which has internalized the credo that more is always better.  Yet experiments demonstrate the amazing fact that less time and information can improve decisions.  Less is more means there is some range of information, time, or alternatives where a smaller amount is better ..." - &lt;a href="http://www.amazon.com/dp/0670038636?&amp;amp;camp=212361&amp;amp;creative=383841&amp;amp;linkCode=wss&amp;amp;tag=qualfrog-20"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Gerd&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Gigerenzer&lt;/span&gt;, Gut Feelings: The Intelligence of the Unconscious&lt;/a&gt;&lt;/blockquote&gt;&lt;a href="http://www.amazon.com/dp/0670038636?&amp;amp;camp=212361&amp;amp;creative=383841&amp;amp;linkCode=wss&amp;amp;tag=qualfrog-20"&gt;&lt;/a&gt;&lt;br /&gt;Gut feelings -- this unconscious thinking -- is based on heuristics, or rules of thumb.  A heuristic is a problem solving device that helps narrow &lt;span style="font-style: italic;"&gt;intractable &lt;/span&gt;problem into solvable problems.  Heuristics are not laws.  They do not apply to all situations.  Two or more useful heuristics may even contradict one another.  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Gigerenzer&lt;/span&gt; states that the value of a heuristic is dependent on the context in which it is applied.&lt;br /&gt;&lt;br /&gt;I have encountered many good testers that just seem to have a &lt;span style="font-style: italic;"&gt;gift &lt;/span&gt;for breaking software.  I once thought that this &lt;span style="font-style: italic;"&gt;gift &lt;/span&gt;was something that could not be taught to others.  I was wrong.  Writers like, and including, &lt;a href="http://www.geraldmweinberg.com/"&gt;Gerald Weinberg&lt;/a&gt; have shown me that teaching such problem solving is possible.  Testing coaches &lt;a href="http://satisfice.com/"&gt;James Bach&lt;/a&gt; and &lt;a href="http://developsense.com/"&gt;Michael Bolton&lt;/a&gt; have shown me that intuitive testing can be taught.&lt;br /&gt;&lt;br /&gt;The &lt;span style="font-style: italic;"&gt;secret&lt;/span&gt; to teaching such testing is to help good testers identify the heuristics that they use while testing.  Once they are identified, they can be stated in such a way that they make sense to others.  Then they can be named to make them easy to remember.&lt;span style="font-size:78%;"&gt;*&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As (or after) you test, think about why you do what you do and write it down.  Don't think in terms of absolutes and programmable logic.  Think in terms of &lt;span style="font-style: italic;"&gt;rules of thumb&lt;/span&gt;.  Then give each heuristic a name.  Then share it.&lt;br /&gt;&lt;br /&gt;If you are having trouble, here is a heuristic I've found useful for starting many things:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;Start with what you recognize.&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;Hopefully starting will trigger many more ideas that are not obvious at the start.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:78%;"&gt;&lt;br /&gt;* For some examples, look  &lt;a href="http://www.exampler.com/blog/2007/11/06/test-design-links-biased-toward-exploratory-testing/"&gt;here&lt;/a&gt; for a bunch of links compiled by Brian &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Marick&lt;/span&gt;&lt;a href="http://www.exampler.com/blog/2007/11/06/test-design-links-biased-toward-exploratory-testing/"&gt;&lt;/a&gt;. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;br/&gt;&lt;img src="http://blog.qualityfrog.com/frog/qfrog-tiny.gif"/&gt;&lt;br/&gt;
&lt;a href="mailto:ben@qualityfrog.com?subject=Blog"&gt;Ben Simo&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.QuestioningSoftware.com"&gt;QuestioningSoftware.com&lt;/a&gt;&lt;br/&gt;
&lt;img src="http://www.powweb.com/Counter/counter.mpl?u=pow.joebensimo&amp;d=qualityfrog.com&amp;s=Party&amp;b=0&amp;c=0,0,0" height="1" width="1"/&gt;
&lt;hr/&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feeds.feedburner.com/~a/QualityFrog?a=fLB41s"&gt;&lt;img src="http://feeds.feedburner.com/~a/QualityFrog?i=fLB41s" border="0"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=aS5YCbC"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=aS5YCbC" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=G45s2HC"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=G45s2HC" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=x7FwACc"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=x7FwACc" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=r9f3Fhc"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=r9f3Fhc" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=kgQe7iC"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=kgQe7iC" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=hI3Bn0C"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=hI3Bn0C" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=vF71JcC"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=vF71JcC" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=YVaKqxF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=YVaKqxF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=NWoaHkF"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=NWoaHkF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/QualityFrog?a=xoMwoYf"&gt;&lt;img src="http://feeds.feedburner.com/~f/QualityFrog?i=xoMwoYf" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/QualityFrog/~4/195262867" height="1" width="1"/&gt;</content><link rel="alternate" type="text/html" href="http://feeds.feedburner.com/~r/QualityFrog/~3/195262867/solving-intractable-problems.html" title="Solving Intractable Problems" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=414482498098790205&amp;postID=668260299574419782" title="2 Comments" /><link rel="replies" type="application/atom+xml" href="http://www.questioningsoftware.com/feeds/668260299574419782/comments/default" title="Post Comments" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/668260299574419782" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/414482498098790205/posts/default/668260299574419782" /><author><name>Ben Simo</name><uri>http://www.blogger.com/profile/11448600123169359955</uri><email>noreply@blogger.com</email></author><feedburner:origLink>http://www.questioningsoftware.com/2007/12/solving-intractable-problems.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-414482498098790205.post-6264592008874259499</id><published>2007-11-27T17:52:00.000-07:00</published><updated>2007-12-16T00:40:32.916-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Folklore" /><category scheme="http://www.blogger.com/atom/ns#" term="Software Testing" /><category scheme="http://www.blogger.com/atom/ns#" term="Communication" /><title type="text">What is Software Testing?</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" style="color: rgb(153, 0, 0);" href="http://bp2.blogger.com/_Mp0d-dsENrg/R0o6D_qb9UI/AAAAAAAAAI8/4APjOlcTjLI/s1600-h/WhatIsTesting.png" target="_QFTesting"&gt;&lt;span style="font-family:georgia;"&gt;&lt;img id="BLOGGER_PHOTO_ID_5136982165272917314" style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" alt="" src="http://bp2.blogger.com/_Mp0d-dsENrg/R0o6D_qb9UI/AAAAAAAAAI8/4APjOlcTjLI/s200/WhatIsTesting.png" border="0" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-weight: bold; color: rgb(153, 0, 0);"&gt;I know what I mean when I say &lt;em&gt;testing&lt;/em&gt;, but what do you mean when you say &lt;em&gt;testing&lt;/em&gt;?&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bill Cosby does a comedy routine on his 1964 album &lt;span style="font-family:georgia;"&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-style: italic;"&gt;"&lt;a href="http://www.amazon.com/gp/product/B0000062TH?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=B0000062TH" target="_QFTesting"&gt;I Started Out As A Child&lt;/a&gt;"&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;about a patient in surgery (under local anesthesia) hearing the doctor say "&lt;a href="http://en.wiktionary.org/wiki/oops"&gt;Oops!&lt;/a&gt;" The patient says "What did you say?! What did you say?! Did you say oops?! I know what I've done when I say oops! What did you do saying oops there?!"&lt;br /&gt;&lt;br /&gt;Hopefully none of us ever hears our doctor say "Oops!" while we are being treated. As ambiguous as "Oops" is, I suspect that any English speaker hearing it understands that it indicates that the speaker has accidentally done something bad. However, some other words with seemingly less &lt;a href="http://en.wiktionary.org/wiki/ambiguous"&gt;ambiguous&lt;/a&gt; definitions can lead to misunderstandings and conflict amongst people.&lt;br /&gt;&lt;br /&gt;This confusion can be caused by both the natural ambiguity of language and each person's experience and understanding. I believe the words "&lt;a href="http://en.wiktionary.org/wiki/test"&gt;test&lt;/a&gt;" and "&lt;a href="http://en.wiktionary.org/wiki/testing"&gt;testing&lt;/a&gt;" are great examples of words that should cause us to ask what definitions are being used.&lt;span style="font-family:georgia;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-family:georgia;"&gt;"&lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Ludwig_Wittgenstein" target="_QFTesting"&gt;&lt;span style="font-family:georgia;"&gt;Wittgenstein&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:georgia;"&gt; tried to show philosophers the way out of the fly bottle of philosophy by getting them to pay closer attention to the meanings of words. Just try to define a simple word like 'game'. Wittgenstein pointed out that if you say a game has to involve luck or have a winner or be fun, you will always be able to find an example of a game that doesn't fit your definitions. When philosophers give words overly precise or restrictive definitions, when they ignore the complexity and the irredeemable vagueness of language, they often fall into confusion."&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;br /&gt;-John Mighton, &lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/0676979629?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0676979629" target="_QFTesting"&gt;&lt;span style="font-family:georgia;"&gt;The End of Ignorance&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:georgia;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;Some think we can create a common definition of testing. There are tester certification programs that attempt to standardize vocabularies. This may appear to be a good idea on the surface; however software testing is too broad a subject to be stuffed into a one-size-fits-most box. First, the testing label is applied to many different things that serve different purposes. Second, testing can have different meanings in different situations. Third, there are differences of opinion.&lt;br /&gt;&lt;br /&gt;Differences in purpose, context, and opinion lead to a vast spectrum of practices related to test planning, scripting, exploring, automating, managing, reporting, outsourcing, hiring, measuring, and many other activities. While I do believe that standardized vocabularies can be useful within specific contexts, I am not one to argue that we need to standardize on a single definition that meets everyone's needs. Instead, I argue that an understanding of the differences of context and opinion can help us better understand our own ideas and practices. Understanding does not require agreement. And as a bonus, we can learn to better relate to those with different ideas.&lt;br /&gt;&lt;br /&gt;In my quest to better understand what we all might mean when we say testing, I have been recording various statements that I believe to be related to testing. Most of these statements came from published works and internet postings. Below is a list of quotations that I believe are related to testing -- presented in an approximate chronological order.&lt;br /&gt;&lt;br /&gt;This list contains references to many different types of testing. This list contains things that apply to some situations but not others. This list contains ideas that can co-exist as part of a single project. This list contains some opposing views that are cannot be logically combined with other ideas. Some of these statements ring true and confirm my own thinking. Some I find a bit ridiculous. Some challenge me to think about a time and place in which they might be true.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;strong&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;How do these statements confirm and challenge your thoughts about testing?&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;If you disagree with a statement, try to think of a situation in which the statement might make sense. Search this list for examples that don't match your definition. If you think a quote is not related to testing, consider how it might relate to testing.&lt;span style="font-family:georgia;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(153, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;font-family:georgia;" &gt;"A man paints with his brains and not with his hands."&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;br /&gt;- &lt;a href="http://en.wikipedia.org/wiki/Michelangelo" target="_QFTesting"&gt;Michelangelo&lt;/a&gt; &lt;/span&gt;(1475-1564)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-style: italic;"&gt;"No battle plan survives contact with the enemy."&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:georgia;"&gt;- &lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Helmuth_von_Moltke_the_Elder" target="_QFTesting"&gt;&lt;span style="font-family:georgia;"&gt;Helmuth von Moltke&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:georgia;"&gt; the Elder (1800-1891)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Experience has shown that such mistakes are much more difficult to avoid than might be expected. ... Since much machine time can be lost in this way a major preoccupation of the &lt;a href="http://en.wikipedia.org/wiki/EDSAC"&gt;EDSAC&lt;/a&gt; group at the present time is the development of techniques for avoiding errors, detecting them before the tape is put on the machine, and locating any which remain undetected with a minimum expenditure of machine time."&lt;/span&gt;&lt;br /&gt;- Maurice V. Wilkes, David J. Wheeler, Stanley Gill,&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/B000HKKC2O?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=B000HKKC2O"&gt;The Preparation Of Programs For An Electronic Digital Computer&lt;/a&gt;, 1951&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Those who regularly code for fast electronic computers will have learned from bitter experience that a large fraction of the time spent in preparing calculations for the machine is taken up in removing the blunders that have been made in drawing up the programme. With the aid of common sense and checking subroutines the majority of mistakes are quickly found and rectified. Some e&lt;/span&gt;&lt;span style="font-style: italic;"&gt;rrors, however, are sufficiently obscure to escape detection for a surprisingly long time."&lt;/span&gt;&lt;br /&gt;- R. A. Brooker, S. Gill, and D. J. Wheeler,&lt;br /&gt;&lt;/span&gt;&lt;a href="http://links.jstor.org/sici?sici=0891-6837%28195204%296%3A38%3C112%3ATAOAB%3E2.0.CO%3B2-J" target="_QFTesting"&gt;&lt;span style="font-family:georgia;"&gt;The Adventures of a Blunder&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:georgia;"&gt;, 1952 &lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-style: italic;"&gt;"Special simplified data, such as trivial solutions or hand-calculated intermediate answers to one of the sets of actual problems for computer solution can be used to check out the computer. The data and program codes are entered into the computer memory. The computer is started, and when it comes to a breakpoint, the operator checks the results. If they don't check, the operator and/or programmer must determine what is wrong. Once the program has been checked out completely in this fashion, the programmer can have confidence in the results for other problem data submitted to the computer."&lt;/span&gt;&lt;br /&gt;- Ivan Flores,&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/B000X9IB3G?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=B000X9IB3G"&gt;Computer Logic: The Functional Design of Digital Computers&lt;/a&gt;, 1960&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Errors plague us, but hidden errors make our job impossible. One of our recurring problems lies not in finding errors but in not finding errors. We must be alert for them; we can never be complacent about our results."&lt;/span&gt;&lt;br /&gt;- Herbert D. Leeds and Gerald M. Weinberg,&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/B0000CN18M?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=B0000CN18M"&gt;Computer Programming Fundamentals&lt;/a&gt;, 1961&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"In the hardware world, maintenance means the prevention and detection of component failure caused by aging and/or physical abuse. Since programs do not age or wear out, maintenance in the software world is often a euphemism for continued test and debug, and modification to meet changing requirements."&lt;/span&gt;&lt;br /&gt;- D. David Weiss,&lt;br /&gt;The MUDD Report: A Case Study of Navy Software Development Practices, 1975&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-style: italic;"&gt;"Probably the major weakness in all software testing methods is their inability to guarantee that a program has no errors."&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;- Glenford Myers,&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/0471627658?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0471627658" target="_QFTesting"&gt;&lt;span style="font-family:georgia;"&gt;Software Reliability: Principles &amp;amp; Practices&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:georgia;"&gt;, 1976 &lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-style: italic;"&gt;"The goal of the testers is to make the program fail. If his test cas&lt;/span&gt;&lt;span style="font-style: italic;"&gt;e makes the program or system fail, then he is successful; if his test case does not make the program fail, then he is unsuccessful."&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;- Glenford Myers,&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/0471627658?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0471627658" target="_QFTesting"&gt;&lt;span style="font-family:georgia;"&gt;Software Reliability: Principles &amp;amp; Practices&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:georgia;"&gt;, 1976&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"... the 'best' approach varies from organization to organization and from program to program."&lt;/span&gt; - Glenford Myers,&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/0471627658?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0471627658" target="_QFTesting"&gt;&lt;span style="font-family:georgia;"&gt;Software Reliability: Principles &amp;amp; Practices&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:georgia;"&gt;, 1976 &lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;"... one usually encounters a definition such as, 'Testing is the process of confirming that a program is correct. It is the demonstration that errors are not present.' The main trouble with this definition is that it is totally wrong; in fact, it almost defines the antonym of testing."&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;- Glenford Myers, &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/0471627658?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0471627658" target="_QFTesting"&gt;&lt;span style="font-family:georgia;"&gt;Software Reliability: Principles &amp;amp; Practices&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:georgia;"&gt;, 1976&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"A good test case is a test case that has a high probability of detecting an undiscovered error, not a test case that show that the program works correctly."&lt;/span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;- Glenford Myers, &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/0471627658?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0471627658" target="_QFTesting"&gt;&lt;span style="font-family:georgia;"&gt;Software Reliability: Principles &amp;amp; Practices&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:georgia;"&gt;, 1976 &lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;"Avoid non reproducible or on-the-fly testing."&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;- Glenford Myers, &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/0471627658?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0471627658" target="_QFTesting"&gt;&lt;span style="font-family:georgia;"&gt;Software Reliability: Principles &amp;amp; Practices&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:georgia;"&gt;, 1976 &lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;"Never use throw-away test cases (except on a throw-away program). Also, test cases should be documented sufficiently and stored in such a form to allow them to be reused by anyone."&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;br /&gt;- Glenford Myers,&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/0471627658?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0471627658" target="_QFTesting"&gt;&lt;span style="font-family:georgia;"&gt;Software Reliability: Principles &amp;amp; Practices&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:georgia;"&gt;, 1976 &lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;"Testing, particularly test case design, is the area of software development that demands the most creativity."&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;- Glenford Myers, &lt;/span&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/gp/product/0471627658?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0471627658" target="_QFTesting"&gt;&lt;span style="font-family:georgia;"&gt;Software Reliability: Principles &amp;amp; Practices&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:georgia;"&gt;, 1976 &lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;"The development of software systems involves a series of production activities where opportunities for injection of human fallibilities are enormous. Errors may begin to occur at the very inception of the process where the objectives ... may be erroneously or imperfectly specified, as well as [in] later design and development stages. ... Because of human inability to perform and communicated with perfection, software development is accompanied by a quality assurance activity."&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;br /&gt;- Michael S. Deutsch,&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.amazon.com/gp/product/0138220727?ie=UTF8&amp;amp;tag=qualfrog-20&amp;amp;linkCode=xm2&amp;amp;camp=1789&amp;amp;creativeASIN=0138220727" target="_QFTesting"&gt;&lt;span style="font-family:georgia;"&gt;Verification and Validation&lt;span class="sans"&gt;: Realistic Project Approaches&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:georgia;"&gt;, 1979 &lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="fo