<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>James Bach’s Blog &#187; Software Testing and Quality</title>
	<atom:link href="http://www.satisfice.com/blog/archives/category/software-testing-and-quality/feed" rel="self" type="application/rss+xml" />
	<link>http://www.satisfice.com/blog</link>
	<description>The Consulting Software Tester</description>
	<pubDate>Wed, 01 Sep 2010 18:56:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Fall Schedule</title>
		<link>http://www.satisfice.com/blog/archives/520</link>
		<comments>http://www.satisfice.com/blog/archives/520#comments</comments>
		<pubDate>Wed, 01 Sep 2010 18:11:11 +0000</pubDate>
		<dc:creator>James Bach</dc:creator>
		
		<category><![CDATA[Software Testing and Quality]]></category>

		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=520</guid>
		<description><![CDATA[I&#8217;ll be traveling and training this fall. Take note of where I&#8217;ll be, because if I come near where you are and want some relatively free consulting, all you have to do is take me to dinner.
I&#8217;ll do almost anything for free food.
September

 Reston, Virginia
 San Diego, California

October

 Stockholm, Sweden
 Tartu, Estonia
 Cluj-Napoca, Romania
 Bucharest, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll be traveling and training this fall. Take note of where I&#8217;ll be, because if I come near where you are and want some relatively free consulting, all you have to do is take me to dinner.</p>
<p>I&#8217;ll do almost anything for free food.</p>
<p><strong>September</strong></p>
<ul>
<li> Reston, Virginia</li>
<li> San Diego, California</li>
</ul>
<p><strong>October</strong></p>
<ul>
<li> Stockholm, Sweden</li>
<li> Tartu, Estonia</li>
<li> Cluj-Napoca, Romania</li>
<li> Bucharest, Romania</li>
</ul>
<p>(The event in Cluj-Napoca is a one-day public seminar that introduces my Rapid Testing methodology through a series of puzzle challenges and lecture. I will also take any and all questions about testing. <a href="http://altom.ro/alex/jamesbachontesting">Click here</a> to sign up for that.)</p>
<p><strong>November</strong></p>
<ul>
<li> Tallinn, Estonia</li>
</ul>
<p><strong>December</strong></p>
<ul>
<li> England</li>
<li> (tentatively) Singapore</li>
</ul>
<p>(I have one class to teach in England. I&#8217;m interested in doing something more, if there is any interest. <a href="mailto:james@satisfice.com">Email me.</a>)</p>
<p>My full schedule is published <a href="http://www.satisfice.com/jamesschedule.shtml">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.satisfice.com/blog/archives/520/feed</wfw:commentRss>
		</item>
		<item>
		<title>Introducing Thread-Based Test Management</title>
		<link>http://www.satisfice.com/blog/archives/503</link>
		<comments>http://www.satisfice.com/blog/archives/503#comments</comments>
		<pubDate>Thu, 26 Aug 2010 22:42:44 +0000</pubDate>
		<dc:creator>James Bach</dc:creator>
		
		<category><![CDATA[Software Testing and Quality]]></category>

		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=503</guid>
		<description><![CDATA[Most of the testing world is managed around artifacts: test cases, test documents, bug reports. If you look at any &#8220;test management&#8221; tool, you&#8217;ll see that the artifact-based approach permeates it. &#8220;Test&#8221; for many people is a noun.
For me test is a verb. Testing is something that I do, not so much something that I [...]]]></description>
			<content:encoded><![CDATA[<p>Most of the testing world is managed around artifacts: test cases, test documents, bug reports. If you look at any &#8220;test management&#8221; tool, you&#8217;ll see that the artifact-based approach permeates it. &#8220;Test&#8221; for many people is a noun.</p>
<p>For me test is a verb. Testing is something that I do, not so much something that I create. Testing is the act of exploration of an unknown territory. It is casting questions, like Molotov cocktails, into the darkness, where they splatter and burst into bright revealing fire.</p>
<p><strong>How to Manage Such a Process?<br />
</strong><br />
My brother Jon and I created a way to control highly exploratory testing 10 years ago, called session-based test management (SBTM). I recently returned from an intense testing project in Israel, where I used SBTM. But I also experimented with a new idea: <em>thread-based test management</em> (TTM).</p>
<p>Like many of my new ideas, it&#8217;s not <em>really</em> new. It&#8217;s the christening (with words) and sharpening (with analysis) of something many of us already do. The idea is this: <em>organize management around threads of activity rather than test sessions or artifacts.</em></p>
<p>Thread-based testing is a generalized form of session-based testing, in that sessions are a form of thread, but a thread is not necessarily a session. In SBTM, you test in uninterrupted blocks of time that each have a charter. A charter is a mission for that session; a light sort of commitment, or contract. A thread, on the other hand, may be interrupted, it may go on and on indefinitely, and does not imply a commitment. Session-based testing can be seen as an extension of thread-based testing for especially high accountability and more orderly situations.</p>
<p>I define a thread as <em>a set of one or more activities intended to solve a problem or achieve an objective.</em> You could think of a thread as a very small project within a project.</p>
<p><strong>Why Thread-Based Test Management?</strong></p>
<p>Because it can work under even the most chaotic and difficult conditions. The only formalism <em>required</em> for TBTM is a list of threads. I use this form of test management when I am dropped into a project with as little a day or two to get it done.</p>
<p><strong>What Does Thread-Based Test Management Looks Like?<br />
</strong></p>
<p>It&#8217;s simple. Thread-based test management looks like a todo list, except that we organize the todo items into an outline that matches the structure of the testing process. Here&#8217;s a mocked-up example:</p>
<p><em>Test Facilities</em></p>
<ul>
<li>Power meter calibration method</li>
<li>Backup test jig validation</li>
<li>Create standard test images</li>
</ul>
<p><em>Test Strategy</em></p>
<ul>
<li>Accuracy Testing
<ul>
<li>Sampling strategy</li>
<li>Preliminary-testing</li>
<li>Log file analysis program</li>
</ul>
</li>
<li>Transaction Flow Testing</li>
<li>Essential Performance Testing</li>
<li>Safety Testing
<ul>
<li>warnings and errors FRS review</li>
<li>tool for forcing errors</li>
</ul>
</li>
<li>Compliance Testing</li>
<li>Test Protocol V1.0 doc.</li>
</ul>
<p><em>Test Management</em></p>
<ul>
<li>Change protocol definition</li>
<li>Build protocol definition</li>
<li>Test cycle protocol definition</li>
<li>Bug reporting protocol definition</li>
<li>Bug triage</li>
<li>Fix verifications</li>
</ul>
<p>This outline describes the high level threads that comprise the test project. I typically use a mind-mapping program like MindManager to organize and present them.</p>
<p>So, you should be thinking, &#8220;Is that it? Todo lists?&#8221; right about now. Well, no. That&#8217;s not it. But that&#8217;s one face of it.</p>
<p><strong>What <em>Else</em> Does Thread-Based Test Management Look Like?</strong></p>
<p>It looks like testers gathered around a todo list, talking about what they are going to work on that afternoon. Then they split up and go to work. Several times day they might come together like that. If the team is not co-located, then this meeting is done over instant messaging, email, or perhaps through a wiki.</p>
<p><strong>Is That All it Looks Like?</strong></p>
<p>Well, there is also the status report. Whether written or spoken, the thread-based test management version of a status report lists the threads, who is working on the threads, and the outlook for each thread. It typically also includes an issues list.</p>
<p>Other documentation may be produced, of course. TBTM doesn&#8217;t tell you what documents to create. It simply tells you that threads are the organizing principle we use for managing the project.</p>
<p><strong>Where Do Threads Come From?<br />
</strong></p>
<p>Threads are first spawned from our model of the testing problem. The Satisfice Heuristic Test Strategy Model is an example of such a model. By working through those lists, we get an idea of the kinds of testing we might want to do: those are the first of the threads. After that, threads might be created in many ways, including splitting off of existing threads as we gain a deeper understanding of what testing needs to be done. Of course, in an Agile environment, each user story kicks off a new testing thread.</p>
<p><strong>Which Threads Do We Work On?</strong></p>
<p>Think priority and progress. We might frequently drop threads, switch threads, and pick them up again. In general, we work on the highest priority threads, but we also work on lower priority threads many times, when we see the possibility for quick and inexpensive progress. If I&#8217;m trying to finish a sanity check on the new build, I might interrupt that to discuss the status of a particular known bug if the developer happens to wander by.</p>
<p>Major ongoing threads often become attached to specific people. For instance &#8220;client testing&#8221; or &#8220;performance testing&#8221; often become full-time jobs. Testing itself, after all, can be thought of as a thread so challenging to do well, and so different from programming, that most companies have seen fit to hire dedicated testers.</p>
<p><strong>How Do Threads End?</strong></p>
<p>A thread ends either in a cut or knot. Cutting a thread means to cancel that task. A knot, however, is a milestone; an achievement of some kind. This is exactly the meaning of the phrase &#8220;tying up the loose ends&#8221; and marks either the end of the thread (or group of threads) or a good place to drop it for a while.</p>
<p><strong> How Do We Estimate Work?</strong></p>
<p>In thread-based test management, there is no special provision or method for estimating work, except that this is done on a thread-by-thread basis. Session-based test management may be overlaid onto TBTM in order to estimate work in terms of sessions.</p>
<p><strong>How Do We Evaluate Progress?</strong></p>
<p>In thread-based test management, there is no special provision or  method for evaluating progress, either, except that this is done on a  thread-by-thread basis, and status reports may be provided frequently, perhaps at the end of each day. Session-based test management is also helpful for that.</p>
<p><strong>So What?</strong></p>
<p>This form of management is actually quite common. But, to my knowledge, no one has yet named and codified it. Without a convenient way to talk about it, we have a hard time explaining and justifying it. Then when the &#8220;process improvement&#8221; freaks come along, they act like there&#8217;s no management happening at all. This form of management has been &#8220;illegible&#8221; up to now (meaning that it&#8217;s there but no one notices it) and my brother and I are going to push to make it fully legible and respectable in the testing arena.</p>
<p>From now on, when asked about my approach to test management, I can say <em>&#8220;I practice Rapid Testing methodology, which I track in either a thread-based or session-based manner, depending on the stage of the project, and in a risk-based manner at all times.&#8221;</em></p>
<p><strong>How is TBTM Any Different From Using a TO-DO List?</strong></p>
<p>Michel Kraaij questions the substance of TBTM by wondering how it&#8217;s different from the age-old idea of a &#8220;to-do&#8221; list? See his post <a href="http://michelkraaij.blogspot.com/2010/08/responding-to-thread-based-test.html">here</a>. </p>
<p>This is a good question. Yes, TBTM is different than just using a to-do list, but even so, I don&#8217;t think I&#8217;ve ever read an article about to-do list based test management (TDBTM?). Most textbooks focus on artifacts, not the activity of testing. Thread-based test management is trying to capture the essence of managing with to-do lists, plus some other things in addition to that.</p>
<p>The main additional element, beyond just making a to-do list, is that a traditional to-do list contains items that can be &#8220;done&#8221;, whereas many threads might not ever be &#8220;done.&#8221; They might be cut (abandoned) or knotted (temporarily parked at some level of completion). Some threads maybe tied up with a bow and &#8220;done&#8221; like a normal task, but not the main ones that I&#8217;m thinking of. As I practice testing, for instance, I&#8217;m rarely &#8220;done&#8221; with test strategy. I tinker with the test strategy all the way through the project. That&#8217;s why it makes sense to call it a thread.</p>
<p>Another thing to recognize is that the main concern of TBTM is how to know what to put on your thread list. The answer to that invokes the entire framework of Rapid Software testing. So, yeah, it&#8217;s more than having an outline of threads, which does look very much like a to-do list&#8211; it&#8217;s the activity (and skills) of making the list and managing it. If you want to talk about to-do list based test management, then you would have to invent that lore as well. You couldn&#8217;t just say &#8220;make a to-do list&#8221; and claim to have communicated the methodology.</p>
<p>[You can find Jonathan's take on TBTM <a href="http://jonbox.wordpress.com/2010/08/27/a-new-thread/">here</a>.]</p>
<p>[I credit <a href="https://sites.google.com/site/sagikrupetskiresume/">Sagi Krupetski</a>, the test lead on my recent project, for helping me get this idea. His clockwork status reporting and regular morning question "Where are we on the project and what do you think you need to work on today?" caused me to see the thread structure of our project clearly for the first time. He's back on the market now (Chicago area), in case you need a great tester or test manager.]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.satisfice.com/blog/archives/503/feed</wfw:commentRss>
		</item>
		<item>
		<title>What Exploratory Practitioners Are Called</title>
		<link>http://www.satisfice.com/blog/archives/496</link>
		<comments>http://www.satisfice.com/blog/archives/496#comments</comments>
		<pubDate>Wed, 18 Aug 2010 05:26:54 +0000</pubDate>
		<dc:creator>James Bach</dc:creator>
		
		<category><![CDATA[Software Testing and Quality]]></category>

		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=496</guid>
		<description><![CDATA[An exploratory DOCTOR is known as&#8230; a &#8220;doctor.&#8221;
An exploratory WELDER is known as&#8230; a &#8220;welder.&#8221;
An exploratory PILOT is known as&#8230; a &#8220;pilot.&#8221;
An exploratory WRITER is known as&#8230; a &#8220;writer.&#8221;
An exploratory SCIENTIST is known as&#8230; a &#8220;scientist.&#8221;
An exploratory TRUCK DRIVER is known as&#8230; a &#8220;truck driver.&#8221;
A non-exploratory doctor is known as&#8230; &#8220;irresponsible.&#8221;
A non-exploratory welder is known [...]]]></description>
			<content:encoded><![CDATA[<p>An exploratory DOCTOR is known as&#8230; a &#8220;doctor.&#8221;<br />
An exploratory WELDER is known as&#8230; a &#8220;welder.&#8221;<br />
An exploratory PILOT is known as&#8230; a &#8220;pilot.&#8221;<br />
An exploratory WRITER is known as&#8230; a &#8220;writer.&#8221;<br />
An exploratory SCIENTIST is known as&#8230; a &#8220;scientist.&#8221;<br />
An exploratory TRUCK DRIVER is known as&#8230; a &#8220;truck driver.&#8221;</p>
<p>A non-exploratory doctor is known as&#8230; &#8220;irresponsible.&#8221;<br />
A non-exploratory welder is known as&#8230; &#8220;irresponsible.&#8221;<br />
A non-exploratory pilot is known as&#8230; &#8220;killed in a plane crash.&#8221;<br />
A non-exploratory writer known as&#8230; &#8220;a plagiarist.&#8221;<br />
A non-exploratory scientist is known as&#8230; &#8220;a tobacco company scientist.&#8221; (also &#8220;Creationist&#8221;)<br />
A non-exploratory truck driver is known as&#8230; &#8220;lost.&#8221;</p>
<p><em>Can you spot the pattern here?</em></p>
<p>There is no such thing as an &#8220;exploratory tester&#8221; except inasmuch as a good tester obviously can and will do exploration as a basic part of his work. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.satisfice.com/blog/archives/496/feed</wfw:commentRss>
		</item>
		<item>
		<title>Two &#8220;Scoops&#8221; of &#8220;Bugs&#8221;</title>
		<link>http://www.satisfice.com/blog/archives/483</link>
		<comments>http://www.satisfice.com/blog/archives/483#comments</comments>
		<pubDate>Sat, 31 Jul 2010 02:52:11 +0000</pubDate>
		<dc:creator>James Bach</dc:creator>
		
		<category><![CDATA[Software Testing and Quality]]></category>

		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=483</guid>
		<description><![CDATA[I have often said something like &#8220;We found a hundred bugs!&#8221; Lots of people have heard me say it. Statements like that are very valuable to me. But we should ask some vital questions about them.
Consider Raisin Bran cereal. If you lived in America and weren&#8217;t in solitary confinement during the 80&#8217;s an 90&#8217;s you [...]]]></description>
			<content:encoded><![CDATA[<p>I have often said something like &#8220;We found a hundred bugs!&#8221; Lots of people have heard me say it. Statements like that are very valuable to me. But we should ask some vital questions about them.</p>
<p>Consider Raisin Bran cereal. If you lived in America and weren&#8217;t in solitary confinement during the 80&#8217;s an 90&#8217;s you would have seen this commercial for Raisin Bran at some point (or one like it):</p>
<p><object width="480" height="385" data="http://www.youtube.com/v/_MUKIBfGN7c&amp;hl=en_US&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/_MUKIBfGN7c&amp;hl=en_US&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<p>Two scoops of raisins!</p>
<p>Huh? Two scoops of raisins? What does that mean?</p>
<p>Perhaps the conversation went like this:</p>
<blockquote><p>&#8220;I want my Bran to have MANY raisins!&#8221; barked Boss Kellogg.</p>
<p>&#8220;But, Mr. Kellogg, we already include nearly one full standard scoop.&#8221; replied the Chief Cereal Mixer. &#8220;No one has more raisins than we do.&#8221;</p>
<p>&#8220;Increase to maximum scoop!&#8221;</p>
<p>&#8220;But sir! that would violate every&#8211;&#8221;</p>
<p>&#8220;TWO SCOOPS! And damn the consequences.&#8221;</p>
<p>&#8220;The skies will be black with raisins!&#8221;</p>
<p>&#8220;Then we shall eat in the shade.&#8221;</p></blockquote>
<p>I doubt anything like that happened, though. I suspect what happened is that somebody mixed some raisins with some bran flakes until it tasted pretty good. Maybe he adjusted it a little to optimize cost of goods (and perhaps they adjust the bran/raisin ratio as cost of goods change). Later, I bet, and completely unrelated to the engineering and manufacturing process, Kellogg&#8217;s advertising agency decided to create the impression that customers are getting a lot of value for the money, so they invented a distinguishing characteristic that actually makes no sense at all: an absolute measurement called a &#8220;scoop&#8221;. And began to speak of it AS IF it were meaningful.</p>
<p>The reason the measurement makes no sense at all is that the &#8220;Two Scoops&#8221; slogan was pasted onto boxes of substantially different sizes. But even if the measurement makes no sense, the <em>pretentious claim</em> makes a lot of sense, because we humans don&#8217;t think through the rational basis of measurements like this unless we are <strong>A) rather well trained</strong>, and more importantly <strong>B) highly motivated</strong>. So our unconscious lizard brain says to itself &#8220;two means yummy. two means yummy. means two yummy. yummy two&#8230;&#8221;</p>
<p>At some point, someone (an intern, perhaps) may have asked &#8220;But are there actually two scoops of raisins in those boxes?&#8221; and the answer was much laughing. Because it could be argued that if there are at least two raisins in the box, then there are two scoops of raisins in the box. It could be argued that if there is one raisin in the box and you used two scoops to measure it (&#8221;measure twice and cut once&#8221;) then there are two scoops of raisins in the box. If you make up your own measuring unit, such as, say, &#8220;scoop&#8221;, you can go on to make any other claim you want. This is exactly the point of Jerry Weinberg&#8217;s famous dictum &#8220;If quality doesn&#8217;t matter, you can achieve any other goal you want.&#8221;</p>
<p>I was thinking about doing a scientific analysis of this, but <a href="http://www.scq.ubc.ca/whats-the-scoop-a-quantitative-analysis-of-kelloggs-raisin-bran/">someone beat me to it</a>.</p>
<h2>Oh What Silliness&#8230; OR IS IT?</h2>
<p>We have a real problem in testing, and no good solution for it. We are supposed to report the ground truth. Concrete reality. But this turns out to be a very difficult matter. Apart from all the problems of observation and interpretation, we have to summarize our findings. When we do that we are tempted to use scientific tropes (such as nonsensical measurements)  to bolster our reports, even when they are poorly founded. We are often encouraged to do this by managers who were raised on Kelloggs commercials and therefore confuse numbers with food.</p>
<p>Let&#8217;s look once again at the Raisin Bran situation and consider what might be the reasonable communication hidden there:</p>
<p>Maybe &#8220;two scoops&#8221; is intended to mean &#8220;ample&#8221; or &#8220;amply supplied with raisins.&#8221; In other words they are saying &#8220;You won&#8217;t regret buying our Raisin Bran, which always has enough raisins for you. While you&#8217;re eating it, we predict you will hum the &#8216;two scoops of raisins!&#8217; song instead of calling a lawyer or becoming a cereal killer.&#8221;</p>
<p>I think there&#8217;s a scale built into all of us. It&#8217;s a comparative scale. It goes like this:</p>
<ul>
<li><em>Minimum Possible</em></li>
<li>Nothing</li>
<li>Hardly any</li>
<li>Some</li>
<li><em>Enough</em></li>
<li>Plenty</li>
<li>Remarkable</li>
<li>&#8220;OMG! That must be a record!&#8221;</li>
<li><em>Maximum Possible</em></li>
</ul>
<p>This scale is a bit of a mess. The italicized values move around (e.g. maximum possible may be not enough in some situation). The others although fixed relative to each other, aren&#8217;t fixed in any way more definite than their ordering. The scale is highly situational. It&#8217;s relative to our understanding of the situation. For instance you might be impressed to learn that the Colonia cable ship, which was the largest cable ship in the world in 1925, could <a href="http://atlantic-cable.com/Article/subcable1925.htm">carry 300 miles of cable in her hold</a>. If so you would be very easily impressed, because I just lied to you&#8230; According to that article it actually could hold <strong>3,000 miles of cable</strong>. (However, bonus points if you were thinking &#8220;what KIND of cable?&#8221;)</p>
<h2>What I do with bug numbers, etc.</h2>
<p>I want you to notice my first paragraph in this post. Notice that every sentence in that paragraph invokes an unspecified quantity.</p>
<ul>
<li>&#8220;I have often&#8230;&#8221; Often compared to what?</li>
<li>&#8220;Lots of&#8230;&#8221; Lots compared to what?</li>
<li>&#8220;Very&#8230;&#8221; Very compared to what?</li>
<li>&#8220;Vital&#8230;&#8221; Vital compared to what?</li>
</ul>
<p>You could say &#8220;He&#8217;s not saying anything definite in those sentences.&#8221; I agree, I&#8217;m not. I&#8217;m just giving an impression. My point is this: an impression is a start. An impression might be reasonable. An impression may make conversation possible. An impression may make conversation successful.</p>
<p>Most engineering statements like this don&#8217;t stand alone. Like flower buds, they blossom under the sunlight of questioning. And that&#8217;s why I can&#8217;t take any engineer seriously who gets offended when his facts are questioned. They cry: &#8220;Don&#8217;t you believe me?&#8221; I answer: &#8220;I don&#8217;t know what you mean, so belief has no meaning, yet.&#8221;</p>
<p>So, as a professional tester who prides himself on self-examination, I am ready for the probing perspective question that might follow my attempt to send an impression: &#8220;compared to what?&#8221; I am ready for the data question, too: &#8220;what did you see or hear that leads you to say this?&#8221;</p>
<p>I strive (meaning I consciously and consistently work on this) to be reasonable and careful in my use of qualifiers, quantifiers, quantities, and intensifiers. For instance, you will notice that I just used the word &#8220;reasonable&#8221;, by which I intend to invoke images of normal professional practice in your mind (A LOT like invoking the image of two healthy reasonable scoops of delicious raisins).</p>
<p>One important and definite thing that is accomplished by this relatively loose use of language is that it allows us to talk to each other without bogging down the conversation with ALL the specifics RIGHT NOW.</p>
<p>Kelloggs used the method mostly to trick you into buying their bran smothered raisin products. They didn&#8217;t have any reasoning behind &#8220;two scoops.&#8221; But we can use the same technique wisely and ethically, if we choose. We can be ready to back up our claims.</p>
<p><strong>For Bugs:</strong> If I tell you I &#8220;found X bugs!!&#8221; in your product, the number of exclamation points indicates the true message. An exclamation point means &#8220;remarkable&#8221; or &#8220;lots.&#8221; If I tell you I found a lot of bugs in your product, I mean I found substantially more than I expected to find in the product, and more than a reasonable and knowledgeable person in this situation would consider acceptable. And by &#8220;more&#8221; I don&#8217;t mean quantity of bug reports, I mean the totality of diversity of problems, impact of problems, and frequency of occurrence of problems. The headline for that is &#8220;lots of bugs&#8221; or maybe I should say &#8220;two scoops of bugs!&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.satisfice.com/blog/archives/483/feed</wfw:commentRss>
		</item>
		<item>
		<title>How Challenging Each Other Helps the Craft</title>
		<link>http://www.satisfice.com/blog/archives/475</link>
		<comments>http://www.satisfice.com/blog/archives/475#comments</comments>
		<pubDate>Tue, 22 Jun 2010 05:11:12 +0000</pubDate>
		<dc:creator>James Bach</dc:creator>
		
		<category><![CDATA[Software Testing and Quality]]></category>

		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=475</guid>
		<description><![CDATA[Regular readers know that I&#8217;m dissatisfied with the state of the testing industry. It&#8217;s a shambles, and will continue to be as long as middle managers in big companies continue to be fat juicy targets for scam-artists (large tool vendors, consulting firms, and certain &#8220;professional&#8221; organizations) and well-meaning cargo cultists (such as those who think [...]]]></description>
			<content:encoded><![CDATA[<p>Regular readers know that I&#8217;m dissatisfied with the state of the testing industry. It&#8217;s a shambles, and will continue to be as long as middle managers in big companies continue to be fat juicy targets for scam-artists (large tool vendors, consulting firms, and certain &#8220;professional&#8221; organizations) and well-meaning cargo cultists (such as those who think learning testing is the same as memorizing definitions of words and filling in templates).</p>
<p>What I can do about it is to develop my personal excellence, and associate myself with others who wish to do likewise. Someday, perhaps we will attain a critical mass. Perhaps the studious will inherit the Earth.</p>
<p>In that spirit, I&#8217;m constantly looking for colleagues, and bouncing ideas off of them to make us all better. I challenge people, and to me this is a virtue. It&#8217;s how I separate those who will help the craft from those who probably won&#8217;t. Sometimes people don&#8217;t react well to my challenges. Sometimes that&#8217;s because they are bad people (in my estimation); sometimes it&#8217;s because they are good people having a bad day; sometimes it&#8217;s because I&#8217;m having a bad day; or may it&#8217;s because I&#8217;m a bad person (in their estimation).</p>
<p>Nevertheless, this is a big part of what I do, and I will continue to do it. <em>You have been warned. </em>Also, <em>you have been cheerfully invited to participate.</em></p>
<p><strong>An Example Challenge and What Came of It:</strong></p>
<p><a href="http://twitter.com/lanettecream">Lanette Creamer</a>, unlike me, is not a werewolf (though she describes me by the politically correct term &#8220;hairy&#8221;). If you read her tweets and her blog then you also know she&#8217;s, uh, what&#8217;s the opposite of brutal? Anyway, I bet she owns at least one calendar featuring pictures of kittens in hilarious costumes.</p>
<p>I met Lanette a few years ago but as I do with most people, I forgot about her (fun fact: I suffer from a mild case of <a href="http://en.wikipedia.org/wiki/Prosopagnosia">associative prosopagnosia</a> which, for instance, is why I didn&#8217;t recognize my own wife consistently until a few months after we were married). Then I met Lanette again at PNSQC, last year, where she made an impression on me as someone easy to talk to. I checked out her blog and liked what I saw.</p>
<blockquote><p><em>2009-11-12 11:51:49 jamesmarcusbach: @lanettecream I&#8217;ll go look at  your blog.</em></p>
<p><em>2009-11-12 12:16:23 jamesmarcusbach: Another must read blog for  testers. This one by Lanette Creamer (@lanettecream). It&#8217;s the attack  of the tester ladies. http://bit.ly/3JT65a<br />
</em></p>
<p><em>2009-11-12 12:19:22 jamesmarcusbach: I think I encouraged @lanettecream to blog a couple of years ago, and then forgot to follow-up. Guess that worked out.</em></p></blockquote>
<p>One thing I liked is that she identified herself, on her blog, as being a member of the Context-Driven School of testing. It means that I can reasonably expect such a person to be self-critical and to accept a challenge from me&#8211; a leader in that school.</p>
<p>A couple of days later I happened to see a paper Lanette wrote about &#8220;reducing test case bloat.&#8221; It was sitting on the desk of <a href="https://twitter.com/osbornm">Matt Osborn</a> while I was visiting him at Microsoft. I flipped through it and found a definition of &#8220;test case&#8221; that bugged me.</p>
<blockquote><p><em>&#8220;Clinically defined a test case is an input and an expected result. For my purposes it doesn’t matter if a test case is automated or manual so long as it is a planned test. For the purpose of reducing test case bloat, I’d go further and say that it is a test you plan to execute a minimum of once in the product lifecycle.&#8221;</em></p></blockquote>
<p>Lanette was referencing the IEEE with her definition. I hate the IEEE definition of test case. If I ever meet the guy who wrote it, I will bite him on the nose. It&#8217;s a narrow-minded supercilious idea of test cases, straight from <a href="http://en.wikipedia.org/wiki/Colonel_Blimp">Colonel Blimp</a>. I prefer a broad definition that encompasses the actual field use of the term. For instance: &#8220;An instance or variation of a test or test idea.&#8221; By my definition, you can point to a list of test ideas, in bullet form, and call them test cases, <em>just like real people at real companies already do</em>, and not be committing a crime against terminology. Also, my definition does not attempt to enforce a specific organization&#8217;s notion of what a test must look like. It has to have inputs or it&#8217;s not a test? It has to have specific planned expected result? Not when I test, buddy.</p>
<p>I also didn&#8217;t like that Lanette presented it as if it were a universally accepted definition. That&#8217;s an appeal to authority, which we in the Context-Driven community do our best to avoid.</p>
<p>From Twitter:</p>
<blockquote><p><em>2009-11-14 19:40:16 jamesmarcusbach: @lanettecream Yes, listening to the IEEE is fine if you&#8217;re not a true student of testing. But people like us ARE the IEEE (or better).</em></p>
<p><em>2009-11-14 19:41:10 jamesmarcusbach: @lanettecream I followed the IEEE, too, for a few years, and then realized that whoever came up with those defs wasn&#8217;t very thoughtful.</em></p>
<p><em>2009-11-14 19:41:44 jamesmarcusbach: @lanettecream Welcome to software testing leadership, where there is no appeal to authority allowed.</em></p>
<p><em>2009-11-14 19:43:22 jamesmarcusbach: @lanettecream The reason I bring it up is that I&#8217;ve generalized it myself, and I&#8217;m curious if your analysis will reveal something new.</em></p>
<p><em>2009-11-14 19:45:18 jamesmarcusbach: @lanettecream One way to frame the question: What exactly do you mean by &#8220;input?&#8221; What exactly do you mean by &#8220;expectation?&#8221;</em></p>
<p><em>2009-11-14 19:46:50 jamesmarcusbach: @lanettecream I think it&#8217;s shallow. I think you can do a lot better. Anyway, I&#8217;d be interested to see your analysis of that definition.</em></p>
<p><em>2009-11-14 19:48:34 jamesmarcusbach: @lanettecream Another way to say it: maybe that definition is okay&#8211; but what does it MEAN? Do you know? Have you really thought it through?</em></p>
<p><em>2009-11-14 19:50:49 jamesmarcusbach: @lanettecream IEEE is not a person we can cross-examine. It doesn&#8217;t think anything. But for the record, it&#8217;s totally wrong about planning!</em></p>
<p><em>2009-11-14 19:51:22 jamesmarcusbach: @lanettecream That planning stuff is just propaganda. Ask yourself &#8220;what does planning MEAN?&#8221;</em></p>
<p><em>2009-11-14 19:51:57 jamesmarcusbach: @lanettecream They throw around a lot of words without really thinking about them, it seems to me.</em></p>
<p><em>2009-11-14 19:52:41 jamesmarcusbach: @lanettecream I can tell you my opinions of all this. But I&#8217;d really love to see you blog about it, first. I&#8217;m following your blog now.</em></p></blockquote>
<p>[sadly, I cannot obtain Lanette's side of the conversation because Twitter sucks in that particular way...]</p>
<p>I did worry a little bit that Lanette would freak out and think I was attacking her. I&#8217;m a little nervous when engaging women this way, especially, since I have more concern about being seen as a big bully. <em>(A man might see me that way, too, but as a fellow man I would have little sympathy. He just has to learn to cope.)</em></p>
<p><strong>Dialog with Michael Bolton<br />
</strong></p>
<p><strong> </strong>While waiting to see what Lanette would come up with, I decided to <a href="http://www.satisfice.com/blog/archives/62">transpect </a>with <a href="http://twitter.com/michaelbolton">Michael Bolton</a> on the same topic in the hope that our good natured arguing would help Lanette feel better about the challenge.</p>
<blockquote><p><strong>James Bach:</strong> hey, to help Lanette, could we transpect through IM?<br />
<strong>Michael Bolton:</strong> Heh.<br />
<strong>Michael Bolton:</strong> Sure.<br />
<strong>James Bach:</strong> then I can show her the transcript<br />
<strong>Michael Bolton: </strong>If you like.  Pray, proceed.</p></blockquote>
<p>Michael subsequently edited and published <a href="http://www.developsense.com/blog/2010/05/a-transpection-session-inputs-and-expected-results/">the transcript </a>of that conversation.</p>
<p>During that interaction I came up with a thought experiment with which to question the Lanette/IEEE view of test cases. Can you test a clock when you can&#8217;t give it input?</p>
<p><a><img title="The Clock Problem" src="http://www.satisfice.com/images/clock.png" alt="The Clock Problem" width="292" height="245" /></a></p>
<p>I have since used this scenario to help explain to my students what I mean by a test.</p>
<p><strong>Lanette&#8217;s Response<br />
</strong></p>
<p>To my surprise, she wrote two entries. The first one worried me: <a href="http://blog.testyredhead.com/2009/11/14/what-in-the-world-did-i-say-a-test-case-was.aspx">What   Did I Say a Test Case Was?</a></p>
<p>I went into damage control mode on Twitter&#8230;</p>
<blockquote><p><em>2009-11-15 03:27:16 jamesmarcusbach: @lanettecream Your post seems a bit defensive. I wasn&#8217;t attacking you, I was trying to find out what you meant by what you said.</p>
<p>2009-11-15 03:30:44 jamesmarcusbach: @lanettecream I want to help real testers, too, and when I seek clarity in myself and other testers, it&#8217;s because that helps us avoid waste.</p>
<p>2009-11-15 05:09:55 jamesmarcusbach: @lanettecream I feel better hearing that. Questioning you is, from me, a sign of respect. But I don&#8217;t mean to push too hard.</p>
<p>2009-11-15 05:22:46 jamesmarcusbach: @lanettecream From your blog, I can tell you are talented. I&#8217;m eager to help your talent blossom. One requirement for that is confidence.</p>
<p>2009-11-15 05:25:55 jamesmarcusbach: @lanettecream One source of confidence is to practice working through ideas with your colleagues.</em></p></blockquote>
<p>Lanette tried again. Her second post embraced the spirit of my challenge:<a href="http://blog.testyredhead.com/2009/11/15/what-is-a-test.aspx"> What  is a Test?</a></p>
<p>Notice how her second post is in the classic form of an <a href="http://essayinfo.com/essays/exploratory_essay.php">exploratory essay</a>. That&#8217;s perfect! I wasn&#8217;t asking for an ultimate argument and perfect analysis. I was looking for inquiry, insight, and self-examination.</p>
<p><strong>Why should anyone put up with my challenges?</strong></p>
<p>Well, how about career advancement? This can happen in a couple of ways. First, by publicly accepting and responding to my challenge, she improved her reputation for all to see. She shows that she is someone to be taken seriously, because she takes her own learning seriously. Second, she gained the first level of my gratitude and respect, and these things can be redeemed for professional favors of various kinds. When you are part of a community in good standing, you may holler for support and your fellow citizens will turn out in force to help you. When Lanette puts out a question on Twitter, lots of people will try to answer. It&#8217;s a great feeling to know you aren&#8217;t alone in the industry.</p>
<p>Plus Lanette was later interviewed by uTest. That was partly from how she impressed some of us on Twitter.<em> </em>I also profiled her in my talk on &#8220;buccaneer-testers&#8221; at Star East.</p>
<p>I hear that Lanette and my brother are collaborating on something  together. I&#8217;m eager to see what comes out of that.</p>
<p>Another reason people should put up with challenges is that it makes the industry better. We practice our rhetoric and rapid learning. We grow. I&#8217;ve said it many times: the major reason all the terrible misconceptions about testing persist after all these years is that there is a worldwide conspiracy among testing writers and consultants not to debate with each other. Live and let live. Don&#8217;t rock the boat that feeds you, etc. Yech.</p>
<p>Finally, there&#8217;s personal pride. You feel good about yourself when you can take the heat.</p>
<p><strong>When People Run Away</strong></p>
<p>I don&#8217;t mind when people say no to a challenge, unless they are claiming to be expert testers. When a consultant or writer in the field won&#8217;t engage me, then I have to dismiss him. I can&#8217;t take him seriously. Just as I would not expect to be taken seriously if I held myself above the duty of defending my ideas in public. There&#8217;s a pretty substantial list of well known people who are professionally non-existent to me, but I don&#8217;t know how else to deal with them. We have to have intellectual standards or we can&#8217;t get anywhere.</p>
<p><em>(I know of a couple of exceptions to that rule, both women, whom I won&#8217;t name here. They are people who have strong aversions to debate (at least to debating me) and yet have great ideas and have contributed lots of good to the field. I can never be a close colleague of people like that, but I&#8217;m glad that they&#8217;re out there.)</em></p>
<p><strong>Remembering Anna Allison<br />
</strong></p>
<p>All this reminds me of Anna Allison. She was a rising star in 2001. I had dinner with her after she approached me at a conference and begged for a conversation (anyone can talk to me, at any time, if they give me food). At dinner, she mentioned that she was a bug metrics expert. I rolled my eyes and drew a bug metrics graph, daring her to tell me what it meant. What followed was a tour de force of questioning and analysis. She uncovered every trap that I had put into the graph. I told her she should write an article about our conversation and <a href="http://www.stickyminds.com/s.asp?F=S5029_MAGAZINE_2">she did</a>!</p>
<p>Tragically, she was on one of the planes that went into the Twin Towers on 9/11, on her way to a consulting gig in LA. This affected me more than I expected it to, because while I didn&#8217;t know her well, personally, professionally she was one of the few people I&#8217;ve known for whom debate was <em>great fun</em>. The Context-Driven community lost a happy tigress in her. We need more leaders like that. We really couldn&#8217;t spare her when she left us, and no one like her has yet stepped up: a non-threatening personality who is a role model for debate. I think that may be why I have high hopes for Lanette. (Also for <a href="http://twitter.com/meetaprakash">Meeta Prakash</a>, BTW.)</p>
<p><strong>What happened yesterday?</strong></p>
<p>Yesterday I issued a challenge to new blogger <a href="http://twitter.com/TestingTheTestr/">Michael Alexander.</a> He <a href="http://www.testingthetester.com/2010/06/20/my-first-day-blogging-thanks-to-james-bach/">responded promptly and in admirable fashion.</a></p>
<p>Lanette subsequently did a <a href="http://blog.testyredhead.com/2010/06/21/first-vlog-podcastwhy-i-didnt-take-offense.aspx">video  blog</a> about why she reacted to my challenge so constructively.</p>
<p>These events inspired me to explain all this. And so, I call upon all testers to challenge me, challenge yourselves, and challenge each other. Let&#8217;s blow out the cobwebs. <a href="http://thesocialtester.posterous.com/dont-be-a-follower-be-a-tester">Let&#8217;s be testers, not followers.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.satisfice.com/blog/archives/475/feed</wfw:commentRss>
		</item>
		<item>
		<title>A Six-fold Example from Pradeep Soundararajan</title>
		<link>http://www.satisfice.com/blog/archives/473</link>
		<comments>http://www.satisfice.com/blog/archives/473#comments</comments>
		<pubDate>Wed, 09 Jun 2010 00:31:15 +0000</pubDate>
		<dc:creator>James Bach</dc:creator>
		
		<category><![CDATA[Software Testing and Quality]]></category>

		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=473</guid>
		<description><![CDATA[Pradeep blogged this, today.
I need to amplify it because it provides a nice example of at least six useful and important patterns all in one post. This is why I believe Pradeep is one of the leading Indian testers.
Practical advice: &#8220;Ask for testability&#8221;
His story is all about asking for testability and all the good things [...]]]></description>
			<content:encoded><![CDATA[<p>Pradeep blogged <a href="http://testertested.blogspot.com/2010/06/experience-report-of-testing-versus.html">this</a>, today.</p>
<p>I need to amplify it because it provides a nice example of at least six useful and important patterns all in one post. This is why I believe Pradeep is one of the leading Indian testers.</p>
<p><strong>Practical advice: &#8220;Ask for testability&#8221;</strong></p>
<p>His story is all about asking for testability and all the good things that can come from that. It&#8217;s rare to see a good example present so vividly. I wanted more details, but the details he gave were enough to carry the point and fire the imagination.</p>
<p><strong>Practical advice: &#8220;Try video test scripting&#8221;</strong></p>
<p>I have never heard of using videos for scripted testing. Why didn&#8217;t I think of that?</p>
<p><strong>Testing as a social process<br />
</strong></p>
<p>Notice how many people Pradeep mentions in his post. Notice the conversations, the web of relationships. This aspect of testing is profoundly important, and it&#8217;s one that I find Pradeep to excel in. It&#8217;s kind of like x-ray vision&#8211; the ability to see past the objects of the project to the true bones of it, which is how people think of each other, communicate with, and influence each other. Pradeep&#8217;s story is a little bit technical, but it&#8217;s mostly social, as I read it.</p>
<p><strong>Experience report</strong></p>
<p>Pradeep&#8217;s post is an example of an experience report. Not many of them around. It&#8217;s like sighting a rare orchid. He published it with the support of his client, otherwise we&#8217;d never have seen it. That&#8217;s why there can never be an accurate or profound history written about the craft of testing: almost everything is kept secret. The same dynamic helps preserve bad practice in testing, because that bad practice thrives in the darkness just as roaches do.</p>
<p><strong>Sapient tester blogging<br />
</strong></p>
<p>I have referred in the past to a phenomenon I call &#8220;sapient tester blogs.&#8221; These are introspective, self-critical, exploratory essays written by testers who see testing as a complex cognitive activity and seek to expand and develop their thinking. It&#8217;s particularly exciting to see that happening in India, which brings me to the final point&#8230;</p>
<p><strong>Leadership in Indian testing</strong></p>
<p>There&#8217;s not a lot of good leadership in Indian testing. Someday there will be. It&#8217;s beginning to happen. Pradeep&#8217;s post is an example of what that looks like.</p>
<p>There must be more than a hundred thousand testers in India. (I wonder if some agency keeps statistics on that?) I would expect to see at least a hundred great tester blogs from India, not six!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.satisfice.com/blog/archives/473/feed</wfw:commentRss>
		</item>
		<item>
		<title>Heuristic Value is a Relationship</title>
		<link>http://www.satisfice.com/blog/archives/470</link>
		<comments>http://www.satisfice.com/blog/archives/470#comments</comments>
		<pubDate>Fri, 28 May 2010 00:51:34 +0000</pubDate>
		<dc:creator>James Bach</dc:creator>
		
		<category><![CDATA[Software Testing and Quality]]></category>

		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=470</guid>
		<description><![CDATA[One of the comments on my post about The Esssence of Heuristics went like this:
“An excellent example of a heuristic is a hammer.” 

Ecstasy is your friend: it picks you up at the airport.
Non heuristics that can help an expert solve a problem, without being  a guarantee - an abridged list:
* Money
* Time
* Expertise
* [...]]]></description>
			<content:encoded><![CDATA[<p>One of the comments on my post about <a href="http://www.satisfice.com/blog/archives/462">The Esssence of Heuristics</a> went like this:</p>
<blockquote><p><em>“An excellent example of a heuristic is a hammer.” </em></p>
<p><em><img class="wp-smiley" src="../wp-includes/images/smilies/icon_sad.gif" alt=":(" /></em></p>
<p><em>Ecstasy is your friend: it picks you up at the airport.</em></p>
<p><em>Non heuristics that can help an expert solve a problem, without being  a guarantee - an abridged list:<br />
* Money<br />
* Time<br />
* Expertise<br />
* Newton-Raphson Algorithm<br />
* Analogies</em></p></blockquote>
<p>It was posted anonymously. I generally don&#8217;t publish anonymous comments that are argumentative, because opponents who yell things and run away bore me&#8230; but this one is helpful. The writer is a little confused, but I bet other people are confused too, in the same way.</p>
<p>He offers a list of things that he claims are non-heuristics (he doesn&#8217;t explain why so I guess he thinks they are &#8220;obviously&#8221; non-heuristics), and suggests that they meet my definition. I think he&#8217;s trying to make two points: either my definition of heuristics is wrong because it admits non-heuristics, or it&#8217;s trivial because then everything would be a heuristic and therefore the idea conveys no information.</p>
<p>Well, the first point is easily handled. By definition, each thing on his list <em>is</em> heuristic (because he has declared that they help without guaranteeing in some scenario which he seems to have in mind). There is no contradiction, he&#8217;s simply mistaken by calling those things non-heuristics.</p>
<p>As to his second point, that&#8217;s where the real confusion lies. I think he is mixed-up because he expects heuristics to have some essential nature that identifies them. But what makes something a heuristic is not its essential nature, but rather its relationship to the problem and the problem-solver. We say that anything that may help you solve a problem has &#8220;heuristic value&#8221; for you with respect to that problem. But if it is infallible (and also if it halts) then we don&#8217;t call it a heuristic. We call it an algorithm. For instance, long division is a guaranteed way for dividing one  rational number with a finite number of digits by another such number. However, long division is <em>just a heuristic</em> if we were to apply it to splitting the check at a restaurant. It doesn&#8217;t guarantee that everyone will feel that they are paying a fair share.</p>
<p>How about instead of heuristics we think about weapons? Would it be absurd of me to suggest that a weapon is any fallible method of attacking your enemy or winning a battle? Someone might reply &#8220;But James, are pickles really weapons? Sand? Wind?&#8221; The answer is: they can be, depending on your situation. But you don&#8217;t need to catalog all possible weapons. Instead you study the art of combat and learn to spot the things that will help you. Myamoto Musashi wrote exactly about this in 1645:</p>
<p><em><a href="http://samuraiconsulting.ca/5rings/wind/">When you attack the enemy, your spirit must go to the extent of pulling the  stakes out of  a wall and using them as spears and halberds. &#8212; Book of Five Rings</a></em></p>
<p>We cannot speak intelligibly about heuristics without identifying the problem, the problem-solver, and the dynamics of the situation. You can make a list of anything you want, Mr. Anonymous, but can you answer my next questions, which are: <em>what specific problems are you talking about for which these are heuristics and how specifically are they heuristic? Or if you think they aren&#8217;t heuristics, what specific problem do you think they can&#8217;t help with and why not?</em></p>
<p><em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.satisfice.com/blog/archives/470/feed</wfw:commentRss>
		</item>
		<item>
		<title>Three New Testing Heuristics</title>
		<link>http://www.satisfice.com/blog/archives/467</link>
		<comments>http://www.satisfice.com/blog/archives/467#comments</comments>
		<pubDate>Thu, 27 May 2010 15:23:15 +0000</pubDate>
		<dc:creator>James Bach</dc:creator>
		
		<category><![CDATA[Software Testing and Quality]]></category>

		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=467</guid>
		<description><![CDATA[A lot of what I do is give names to testing behaviors and patterns that have been around a long time but that people are not systematically studying or using. I&#8217;m not seeking to create a standard language, but simply by applying some kind of terminology, I want to make these patterns easier to apply [...]]]></description>
			<content:encoded><![CDATA[<p>A lot of what I do is give names to testing behaviors and patterns that have been around a long time but that people are not systematically studying or using. I&#8217;m not seeking to create a standard language, but simply by applying some kind of terminology, I want to make these patterns easier to apply and to study.</p>
<p>This is a quick note about three testing heuristics I named this week:</p>
<p><strong>Steeplechase Heuristic (of exploratory boundary testing)</strong></p>
<p>When you are exploring boundaries, think of your data as having to get to the boundary and then having to go other places down the line. Picture it as one big obstacle course with the boundary you are testing right in the middle.</p>
<p>Then consider that very large, long, extreme data that the boundary is designed to stop might founder on some obstacle before it ever gets to the boundary you want to test. In other words, a limit of 1,000 characters on a field might work fine unless you paste 1,000,000 characters in, in which case it may crash the program instantly before the boundary check ever gets a chance to reject the data.</p>
<p>But also look downstream, and consider that extreme data which barely gets by your boundary may get mangled on another boundary down the road. So don&#8217;t just stop testing when you see one boundary is handled properly. Take that data all around to the other functions that process it.</p>
<p><strong>Galumphing (style of test execution)</strong></p>
<p><a href="http://musicimprov.blogspot.com/2008/02/galumphing.html">Galumphing</a> means doing something in a deliberately over-elaborate way. I&#8217;ve been doing this for a long time in my test execution. I add lots of unnecessary but inert actions that are inexpensive and shouldn&#8217;t (in theory) affect the test outcome. The idea is that sometimes&#8211; surprise!&#8211; they do affect it, and I get a free bug out of it.</p>
<p>An example is how I frequently click on background areas of windows while moving my mouse pointer to the button I intend to push. Clicking on blank space shouldn&#8217;t matter, right? Doesn&#8217;t hurt, right?</p>
<p>I actually learned the term from the book &#8220;Free Play&#8221; by Stephen Nachmanovitch, who pointed out that it is justified by the <a href="http://en.wikipedia.org/wiki/Variety_%28cybernetics%29#The_Law_of_Requisite_Variety">Law of Requisite Variety</a>. But I didn&#8217;t connect it with my test execution practice until jogged by a student in my recent Sydney testing class, Ted Morris Dawson.</p>
<p><strong>Creep &amp; Leap (for pattern investigation)</strong></p>
<p>If you think you understand the pattern of how a function works, try performing some tests that just barely violate that pattern (expecting an error or some different behavior), and try some tests that boldly take that behavior to an extreme without violating it. The former I call creeping; the latter is leaping.</p>
<p>The point here is that we are likely to learn a little more from a mildly violating test than from a hugely violating test because the mildly violating test is much more likely to surprise us, and the surprise will be easier to sort out.</p>
<p>Meanwhile, stretching legal input and expectations as far as they can reasonably go also can teach us a lot.</p>
<p>Creep &amp; Leap is useful for investigating boundaries, of course, but works in situations without classic boundaries, too, such as when we creep by trying a different type of data in a function that is supposed to be rejected.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.satisfice.com/blog/archives/467/feed</wfw:commentRss>
		</item>
		<item>
		<title>The Essence of Heuristics</title>
		<link>http://www.satisfice.com/blog/archives/462</link>
		<comments>http://www.satisfice.com/blog/archives/462#comments</comments>
		<pubDate>Thu, 27 May 2010 12:31:18 +0000</pubDate>
		<dc:creator>James Bach</dc:creator>
		
		<category><![CDATA[Software Testing and Quality]]></category>

		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=462</guid>
		<description><![CDATA[Excellent testing requires skill, but heuristics give structure to that skill. Heuristics help us access our skills under pressure.
A heuristic is a fallible method of solving a problem or making a decision. Cem Kaner and I came to this definition based on an extensive search of papers and books across fifty years of psychology and [...]]]></description>
			<content:encoded><![CDATA[<p>Excellent testing requires skill, but heuristics give structure to that skill. Heuristics help us access our skills under pressure.</p>
<p>A heuristic is a <em>fallible method of solving a problem or making a decision</em>. Cem Kaner and I came to this definition based on an extensive search of papers and books across fifty years of psychology and engineering. Amazingly, we were not able to find a single coherent definition of heuristic in our research (The dictionaries are not much help, here) . Coleridge, Kant, and Polya have all written about heuristic reasoning. But we needed a definition that would bring the issues into focus.</p>
<p>There are two main issues: something that <em>helps</em> you solve a problem without being a <em>guarantee</em>. This immediately suggests the next issue: that heuristics must be applied <em>sapiently</em> (meaning with skill and care).</p>
<p>An excellent example of a heuristic is a <em>hammer</em>. Do you see how a hammer can help a carpenter solve a problem, but does not itself guarantee the solution? I like this example because it&#8217;s so easy to see that that a hammer may be critical to a skilled carpenter while being of little use to an unskilled lout who doesn&#8217;t know what to pound or how hard to pound it or when to stop pounding.</p>
<p>Heuristics do not replace skill. They don&#8217;t make skill unnecessary. But they can make skilled people more productive and reliable.</p>
<p><strong>How Do You Tell if Consultants/Trainers Understand Heuristics?</strong></p>
<p>I typically hear two reactions from rival testing consultants of other schools of thought (especially the Factory and Quality Control schools) that love &#8220;best practice&#8221; talk:</p>
<ol>
<li>&#8220;Oh yes, heuristics! That&#8217;s another name for &#8216;best practices&#8217;, right?&#8221;</li>
<li>&#8220;Oh no, heuristics! That&#8217;s just a fancy name for &#8216;best practices&#8217;!&#8221;</li>
</ol>
<p>Obviously both reactions miss the point. Even if these folks rename their ideas of what you should do to call them &#8220;heuristics,&#8221; they would be leaving out a key idea, which is that skill must rule methods. Talking about methods, focusing on methods, enshrining methods, is only sensible if humans are left in charge. The heuristic nature of engineering is the reason why a &#8220;best practice&#8221; is an absurdity. Seek not the perfect practice. Seek instead to practice your skills.</p>
<p>My friend Judah Mogilensky once commented that he thought my Heuristic Test Strategy Model was a lot like the Capability Maturity Model that he works with.</p>
<p>&#8220;Are people allowed to change or suspend the CMM whenever they see fit?&#8221; I asked.</p>
<p>&#8220;Oh no,&#8221; he replied.</p>
<p>&#8220;Then it isn&#8217;t being applied responsibly as a heuristic. It&#8217;s being treated like a law, or an oath, or something else that places itself above its subjects and binds them.&#8221;</p>
<p>So that&#8217;s how you tell. Look to see what&#8217;s driving things. People, or concepts? Fundamentally, &#8220;methodology&#8221; can&#8217;t control projects. Anytime you seem to see methods in charge, you are actually witnessing a project out of control, or else a project under covert control by shadowy masters.</p>
<p>When someone teaches you a way to solve a problem, check:</p>
<ul>
<li>Do they teach you how to tell if it&#8217;s working?</li>
<li>Do they teach you how to tell if it&#8217;s going wrong?</li>
<li>Do they teach you heuristics for stopping?</li>
<li>Do they teach you heuristics for knowing when to apply it?</li>
<li>Do they compare it to alternative heuristics?</li>
<li>Do they show you why it works?</li>
<li>Do they help you understand when it probably works best?</li>
<li>Do they help you know how to re-design it, if needed?</li>
<li>Do they let you own it?</li>
<li>Do they ask you to practice it?</li>
<li>Do they tell stories about how it has failed?</li>
<li>Do they listen to you when you question or challenge it?</li>
<li>Do they praise you for questioning and challenging it?</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.satisfice.com/blog/archives/462/feed</wfw:commentRss>
		</item>
		<item>
		<title>Stuart Reid&#8217;s Bizarre Plea</title>
		<link>http://www.satisfice.com/blog/archives/457</link>
		<comments>http://www.satisfice.com/blog/archives/457#comments</comments>
		<pubDate>Sun, 16 May 2010 17:03:24 +0000</pubDate>
		<dc:creator>James Bach</dc:creator>
		
		<category><![CDATA[Software Testing and Quality]]></category>

		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=457</guid>
		<description><![CDATA[Stuart Reid is planning to do a talk on how we should use &#8220;evidence&#8221; in our debates about what works and doesn&#8217;t work in testing.
A funny thing about that is Stuart once spent 30 minutes trying to convince me that the number &#8220;35,000&#8243; was evidence of how great the ISEB certification is, as in &#8220;35,000 [...]]]></description>
			<content:encoded><![CDATA[<p>Stuart Reid is <a href="http://www.eurostarconferences.com/conferences/session-details.aspx?sessionId=209">planning to do a talk </a>on how we should use &#8220;evidence&#8221; in our debates about what works and doesn&#8217;t work in testing.</p>
<p>A funny thing about that is Stuart once spent 30 minutes trying to convince me that the number &#8220;35,000&#8243; was evidence of how great the ISEB certification is, as in &#8220;35,000 happy customers can&#8217;t be wrong.&#8221; Such a concept of &#8220;evidence&#8221; wouldn&#8217;t not pass muster in a freshman course in logic and rhetoric. How does he know that the 35,000 people are happy? How does he know that they are qualified to judge the quality of the certification? How does he explain the easily checked fact that you can pick out any three ISEB or ISTQB certified testers, ask them if they think the certification has made them better testers or indicates that they are better testers, and at least two of them will do the equivalent of rolling their eyes and smirking? (Don&#8217;t believe me? I understand. So TRY IT, as I do on a regular basis in my classes)</p>
<p>You might think Stuart is attempting a bold and classic rhetorical move: attempting to control the terms of the debate. The problem he has is that he will lose the debate even faster if he actually engages on the question of evidence. This is because there is plenty of evidence from other fields and the history of thought itself to justify the positions of the Context-Driven School of testing. We are winning the debates because we are better informed and better educated than the Factory Schoolers, for instance, represented by Reid. For instance, Rikard Edgren (who says he&#8217;s not in the Context-Driven School, but looks like a duck to me) wrote about applying <a href="http://thetesteye.com/blog/2010/05/sampling-serendipity/">Grounded Theory</a> to testing. I wonder if Stuart Reid has ever heard of Grounded Theory. He probably has, because I probably mentioned it at least once in the hours of debate that Stuart and I have had. He didn&#8217;t respond or react. My impression was that he wasn&#8217;t listening.</p>
<p>There&#8217;s something far more important than evidence that we need in our industry: engagement. People need to listen to and respond to the arguments and evidence that are already out there.</p>
<p>Here&#8217;s one sort of evidence I put in front of Stuart, in a debate. I claimed that my school of testing represents a different paradigm of thinking about testing than his does. After giving him examples of specific words that we define differently and concepts that we arrange differently, it became clear that the deeper problem is that <em>he thought I was pretending to believe things that I don&#8217;t believe, just to be difficult. He actually said that to me!</em></p>
<p>This is the last resort of the determined idealogue: poke your own eyes out so that you don&#8217;t risk seeing contrary evidence. Stuart&#8217;s case rests on pretending that no one else is making a case! His demand for evidence is meant to give the impression that the evidence is not already sitting in front of him being ignored.</p>
<p>Cem Kaner, Michael Bolton, and I have been marshaling evidence, pointing out the lack of evidence against our ideas, and demonstrating our methods for many years. Next week it will be exactly 23 years since I first became a full-time software tester, and nearly 17 years since the first time I stood up at a conference and pointed out the absurdity of &#8220;traditional&#8221; testing methods.</p>
<p>BTW, here some of the kinds of evidence I offer when challenged about my work:</p>
<ul>
<li><em>The Sciences of the Artificial</em>, by Herbert Simon (this establishes, based on a body of research for which he won the Nobel Prize in 1978, the heuristic nature of engineering)</li>
<li><em>Collaborative Discovery in a Scientific Domain</em>, Takeshi Okada, Herbert Simon, 1997, (this is an experiment that observed the behaviors of scientists attempting to create and perform experiments together in an exploratory way)</li>
<li><em>The Processes of Scientific Discovery: The Strategy of Experimentation</em>, Deepak Kulkarni, Herbert Simon, 1988 (this study analyzes the basic exploratory processes of science)</li>
</ul>
<p>The first item here is a book, the next two are papers published in the journal Cognitive Science. See, if Stuart wants evidence, he has to look beyond the desert that is Computer Science. He needs to get serious about his scholarship. That will require him to find, in his heart, a passion to learn about testing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.satisfice.com/blog/archives/457/feed</wfw:commentRss>
		</item>
		<item>
		<title>ISTQB Leaks</title>
		<link>http://www.satisfice.com/blog/archives/452</link>
		<comments>http://www.satisfice.com/blog/archives/452#comments</comments>
		<pubDate>Sun, 16 May 2010 16:07:50 +0000</pubDate>
		<dc:creator>James Bach</dc:creator>
		
		<category><![CDATA[Software Testing and Quality]]></category>

		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=452</guid>
		<description><![CDATA[A former fellow of the ISTQB sent me some secret dirt about the ISTQB qualifications process.
(Editors Note: The ISTQB is the organization of cash-grubbing bullies that runs advertisements that say things like &#8220;join the elite&#8221;&#8211; meaning &#8220;pay us to give you a ridiculous and unnecessary exam that almost everyone passes so that dimwitted managers will [...]]]></description>
			<content:encoded><![CDATA[<p>A former fellow of the ISTQB sent me some secret dirt about the ISTQB qualifications process.</p>
<p><em>(Editors Note: The ISTQB is the organization of cash-grubbing bullies that runs advertisements that say things like &#8220;join the elite&#8221;&#8211; meaning &#8220;pay us to give you a ridiculous and unnecessary exam that almost everyone passes so that dimwitted managers will think that you know how to test software.&#8221;  If you are ISTQB certified, and you actually know how to test, then you know how silly the exam is.)</em></p>
<p>I don&#8217;t mind getting email. What bugs me here is that the guy, after telling me that the ISTQB is basically a bad organization run by nasty people, then sent me a follow-up letter about how he would sue me if I passed that information on to anyone else.</p>
<p>First he wants to cry on my shoulder, and then he threatens me!</p>
<p>Listen Bernard, don&#8217;t threaten me with penalties for telling the truth. The problem I have with you guys is that you lack courage and education. Please don&#8217;t expect me to have the same spinning moral compass as you do.</p>
<p>I will not publish verbatim what you sent me. That would violate your copyright. You own the copyright to your own email. But I have made no agreements with you about keeping information secret that you send unsolicited to my inbox on purpose and with full knowledge that I am opposed to the ISTQB and all that it represents. It was obviously intended as a leak. Perhaps instead of threatening me directly, you should tell Rex Black to have his lawyers send a demand letter asking for the return of the memo you leaked to me.</p>
<p>But here&#8217;s a better idea: you could have <em>asked me nicely</em> to do what you asked. Perhaps in Belgium they also have this saying &#8220;You can catch more flies with honey than with flamey emails.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.satisfice.com/blog/archives/452/feed</wfw:commentRss>
		</item>
		<item>
		<title>Comment Alert</title>
		<link>http://www.satisfice.com/blog/archives/442</link>
		<comments>http://www.satisfice.com/blog/archives/442#comments</comments>
		<pubDate>Sun, 18 Apr 2010 11:46:49 +0000</pubDate>
		<dc:creator>James Bach</dc:creator>
		
		<category><![CDATA[Software Testing and Quality]]></category>

		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=442</guid>
		<description><![CDATA[I just discovered that all new comments were being sent to the spam instead of held for moderation. I have no idea what has triggered this strange behavior.
If you have made a comment in the last couple of weeks and didn&#8217;t see it appear, it maybe lost. Please try again. I did manage to rescue [...]]]></description>
			<content:encoded><![CDATA[<p>I just discovered that all new comments were being sent to the spam instead of held for moderation. I have no idea what has triggered this strange behavior.</p>
<p>If you have made a comment in the last couple of weeks and didn&#8217;t see it appear, it maybe lost. Please try again. I did manage to rescue a few.</p>
<p>I&#8217;m sorry for the suckiness of modern software&#8230;</p>
<p>Actually if anyone knows what causes Wordpress to put something in the spam folder, I&#8217;d love to hear from you.</p>
<p>&#8211; James</p>
]]></content:encoded>
			<wfw:commentRss>http://www.satisfice.com/blog/archives/442/feed</wfw:commentRss>
		</item>
		<item>
		<title>Career Path for Testers</title>
		<link>http://www.satisfice.com/blog/archives/438</link>
		<comments>http://www.satisfice.com/blog/archives/438#comments</comments>
		<pubDate>Mon, 05 Apr 2010 15:36:01 +0000</pubDate>
		<dc:creator>James Bach</dc:creator>
		
		<category><![CDATA[Software Testing and Quality]]></category>

		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=438</guid>
		<description><![CDATA[Yesterday, I got to thinking about what I like to do. I want to be an expert. I&#8217;ve always wanted to be an expert. I&#8217;m aspiring to be that.
I recalled that Steve McQueen played my kind of expert, in the movie The Towering Inferno. So, I found a clip and added subtitles to turn it [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I got to thinking about what I like to do. I want to be an expert. I&#8217;ve always wanted to be an expert. I&#8217;m aspiring to be that.</p>
<p>I recalled that Steve McQueen played my kind of expert, in the movie <a href="http://www.imdb.com/title/tt0072308/">The Towering Inferno</a>. So, I found a clip and added subtitles to turn it into a testing situation. I hope you enjoy it.</p>
<p>Pay attention to how McQueen throws questions at a rapid fire pace. He knows what he needs to discover, he organizes people around him, and he forms specific plans, quickly, to get the job done&#8230;</p>
<p><object width="480" height="385" data="http://www.youtube.com/v/M37VOKIaDUw&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/M37VOKIaDUw&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.satisfice.com/blog/archives/438/feed</wfw:commentRss>
		</item>
		<item>
		<title>CNN Believes Whatever Computers Say</title>
		<link>http://www.satisfice.com/blog/archives/432</link>
		<comments>http://www.satisfice.com/blog/archives/432#comments</comments>
		<pubDate>Sun, 21 Mar 2010 13:22:38 +0000</pubDate>
		<dc:creator>James Bach</dc:creator>
		
		<category><![CDATA[Software Testing and Quality]]></category>

		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=432</guid>
		<description><![CDATA[(CNN) &#8212; Early evidence points to driver error as the reason a  2005 Prius sped into a stone wall on March 9, according to federal  investigators.
&#8220;Information retrieved from the vehicle&#8217;s onboard  computer systems indicated there was no application of the brakes and  the throttle was fully open,&#8221; according to a statement [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>(CNN)</strong> &#8212; Early evidence points to driver error as the reason a  2005 Prius sped into a stone wall on March 9, according to federal  investigators.</p>
<p>&#8220;Information retrieved from the vehicle&#8217;s onboard  computer systems indicated there was no application of the brakes and  the throttle was fully open,&#8221; according to a statement from the National  Highway Traffic Safety Administration.</p>
<p>The statement suggests  the driver may have been stepping on the accelerator, instead of the  brake, as she told police.</p></blockquote>
<p><strong>Note to CNN</strong>: Information retrieved from an onboard computer is not reliable in cases where the computer itself is a suspect in the crime. No one is claiming that ghosts are causing the cars to go out of control. And there is no evidence yet that a mechanical failure is the culprit, despite the NHTSA looking hard for that evidence. Alcohol is also not a factor in these specific cases (or else we wouldn&#8217;t even be talking about them). That leaves two big possibilities: sober experienced people are suddenly forgetting how to drive OR something is wrong with the software or electronics that controls the cars.</p>
<p>If the software that reads the control inputs has the right kind of fault in it, it may occasionally lose the ability to read and react to control inputs. It is easy for a computer programmer to imagine a situation where the part of the system that records the control settings is working fine, while the part that acts on them is failing. That would be consistent with the facts of this case. Moreover, the problem may be transient, leaving no evidence that it happened.</p>
<p>We don&#8217;t know what happened. We may never know. But there is no reason to assume that the computer is infallible. Computers are designed by fallible people.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.satisfice.com/blog/archives/432/feed</wfw:commentRss>
		</item>
		<item>
		<title>Toyota Story Analysis</title>
		<link>http://www.satisfice.com/blog/archives/426</link>
		<comments>http://www.satisfice.com/blog/archives/426#comments</comments>
		<pubDate>Tue, 16 Mar 2010 04:41:29 +0000</pubDate>
		<dc:creator>James Bach</dc:creator>
		
		<category><![CDATA[Software Testing and Quality]]></category>

		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=426</guid>
		<description><![CDATA[I&#8217;m not against Toyota, really. I&#8217;m against manufacturers who try to weasel out of their responsibilities after they put people at risk with poor design. I do not know if Toyota is guilty of that, here.
I also don&#8217;t know what the real story is with this Sikes fellow who was in the car that he [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not against Toyota, really. I&#8217;m against manufacturers who try to weasel out of their responsibilities after they put people at risk with poor design. I do not know if Toyota is guilty of that, here.</p>
<p>I also don&#8217;t know what the real story is with this Sikes fellow who was in the car that he claims went out of control. Maybe he&#8217;s a gold digger out to exploit Toyota&#8217;s bad fortune.</p>
<p>Finally, I don&#8217;t know much about the design of a Prius, except that my understanding is that there are no physical cable linkages. It&#8217;s software driven. When you press the brakes you are essentially double clicking on the &#8220;brake&#8221; icon with your foot mouse, hoping that the operating system agrees to apply the real brakes. A Prius is basically a video game console connected to a car. You drive the console, not the car.</p>
<p>What I&#8217;m trying to do is use this situation to teach testing. So, I want to break down a news story I found on cnn.com and show you how a tester would think about it:</p>
<blockquote><p><strong>Toyota takes aim at California runaway Prius story<br />
</strong>by Peter Valdes-Dapena, senior writerMarch 15, 2010: 8:24 PM ET</p>
<p>NEW YORK (CNNMoney.com) &#8212; Toyota challenged a California driver&#8217;s story of an out-of-control Prius at a press conference Monday afternoon.</p>
</blockquote>
<p>Toyota held a press conference about this. That is interesting. Of course that means Toyota&#8217;s marketing people are actively involved in this investigation, pacing and fretting for good news to send out. This does not create a conducive atmosphere for an investigation.</p>
<p>Public relations people want to rush out with good news, but keep bad news longer to study it and make very sure it&#8217;s really correct. This creates a sort of chromatic distortion of the truth in the near term. We must beware of that. You might say that it&#8217;s likely to be &#8220;green shifted&#8221; truth.</p>
<blockquote><p>Company executives detailed preliminary findings of a joint investigation conducted by Toyota and the National Highway Traffic Safety Administration into the incident.</p>
</blockquote>
<p>I like hearing that the NHTSA is involved in the investigation. Are they leading it, I wonder? You know there are several ongoing investigations into Toyota vehicles by the NHTSA (see their website) including one involving the momentary loss of braking on uneven surfaces (which my father has experienced several times on the dirt road going to his house.)</p>
<p>I feel there&#8217;s more credibility if the NHTSA is involved, but the press conference seems to have been a Toyota thing, not an NHTSA thing.</p>
<blockquote><p>Prius owner Jim Sikes made national headlines last week with claims that his car&#8217;s accelerator got stuck as he sped up to pass a car while traveling on California&#8217;s I-8 highway outside of San Diego, and that he was unable to stop the car.</p>
<p>&#8220;As I was going, I was trying the brakes &#8230; and it just kept speeding up,&#8221; he said.</p>
</blockquote>
<p>Reports from non-technical, non-expert users always must be taken with skepticism, even leaving aside the possibility that the guy is just telling lies. Perhaps he suffers from Munchhausen syndrome. You never know.</p>
<p>But let&#8217;s say he&#8217;s not lying, just for a moment. The phrase &#8220;it just kept speeding up&#8221; suggests that the brakes were completely inoperative. I wouldn&#8217;t use that phrase, as a driver, if the brakes had engaged and were fighting the motor.</p>
<p>Someone needs to sit the guy down (I assume they&#8217;ve done this) and walk through the whole incident moment by moment. Several times. Get him to clarify this.</p>
<p>Inconsistencies alone should not worry us too much. It happened quickly, it was a traumatic event, and his personal account may not be reliable just for that reason. But we still need to wring every bit of information we can from his memory.</p>
<blockquote><p>Sikes story is at odds with the findings of the investigation, according to Toyota and to a draft congressional memo obtained by CNN.</p>
<p>&#8220;While a final report is not yet complete, there are strong indications that the driver&#8217;s account of the event is inconsistent with the findings of the preliminary analysis,&#8221; Toyota said in a prepared statement.</p>
<p>Sikes said he called 9-1-1 for help as he was traveling in excess of 90 mph on a winding, hilly portion of the interstate. He said dispatchers tried to talk him through ways to stop the car, but nothing helped.</p>
</blockquote>
<p>I&#8217;d like to hear that 911 call in its entirety.</p>
<blockquote><p>Eventually, a California Highway Patrol officer was able to catch up to Sikes and used the patrol car&#8217;s public address system to instruct Sikes to apply the brakes and the emergency brake at the same time. That tactic worked, and he was able to stop the car.</p>
</blockquote>
<p>I&#8217;d like to know if Sikes had tried the emergency brake alone, before this. Had he tried both at once before this.</p>
<p>I can understand if he did not try both at once, because a normal driver would think if they don&#8217;t work individually, why would they suddenly work together? But  in a drive-by-wire system, everything is mediated by software, and software can get into strange states. It&#8217;s technically plausible that only with both brake controls activated the software could be bounced out of whatever strange trance it got into.</p>
<blockquote><p>However, because driving a hybrid car like the Prius with both the gas pedal and the brakes simultaneously depressed would cause serious damage to the car&#8217;s electric motor and, possibly other systems, Toyota says the Prius is designed to prevent that from happening.</p>
</blockquote>
<p>Of course it&#8217;s designed prevent that. But here&#8217;s a testing lesson: designing for prevention is not the same as preventing, because your design may have a bug in it.</p>
<p>All Toyota can say is that it was their intent to design the system to prevent that, and to the best of their knowledge that is how the system works&#8230; except in this case it didn&#8217;t work&#8211; unless the guy is simply lying or insane.</p>
<blockquote>
<p>If the brake is pressed at the same time as the gas pedal, power to the engine will be reduced just as if the gas pedal had been released, the automaker said.</p>
</blockquote>
<p>Unless, of course, there&#8217;s a malfunction of the system, which is exactly the issue under consideration.</p>
<blockquote><p>During driving tests on Sikes&#8217; Prius and on an identical 2008 Prius, the system operated as expected, according the report, preventing the car from pushing forward while braking.</p>
</blockquote>
<p>&#8220;The system operating as expected&#8221; is not actually possible to determine, because they can&#8217;t see inside all the software and hardware to detect that every bit and electron is in the right place.</p>
<p>What they can say is that they detected no problems. Problems may be there, they just did not detect them.</p>
<p>If the visible, detectable problems we want to see are triggered by a transient event, such as a specific combination of foot presses, or perhaps there&#8217;s a two microsecond window of opportunity for two software events to happen simultaneously (such as have <a href="http://www.jpl.nasa.gov/missions/mer/daily.cfm?date=10&amp;year=2005">dogged the Mars rover missions</a> ), then of course driving it around a parking lot is probably not going to reproduce the problem.</p>
<p>It is also possible that part of the problem involves a piece of physical equipment that was lodged or worn in a certain way at a specific temperature, and that condition no longer exists on the car in question.</p>
<p>When we try to reproduce problems, we often have to guess at the causes, and we may guess wrong.</p>
<p>If I were Toyota, I would treat this like an epidemiology problem. You interview people and make a list of absolutely everything that was going on. Did they have a cell phone? What kind? Where was it in the car? Where they using the cup holder? What drink was in the cup? Hot or cold? Was the air conditioner on or off? What was the setting?</p>
<p>Then you put all the data into a database and mine it for patterns.</p>
<blockquote><p>
Investigators are extremely meticulous when taking apart a car in a case like this, said Ed Higgins, a Michigan personal injury attorney who has been involved in automobile defect cases. They are aware their work will be subject to intense scrutiny, so they measure and document everything, he said.</p>
</blockquote>
<p>That kind of care takes a lot of time. But it hasn&#8217;t been very long since the incident occurred. Have they also taken the software apart? Have they comprehensively reviewed the code? I seriously doubt that.</p>
<blockquote>
<p>&#8220;I would think that any mechanical defect that would have allowed something to happen that otherwise could not have happened would have stood out like a sore thumb,&#8221; he said.</p>
</blockquote>
<p>Unless it&#8217;s a transient interaction between a mechanical defect and an invisible state within the software.</p>
<blockquote><p>
The car also did not show damage consistent with the engine having been running at full throttle while the brakes were on, according to the report.</p>
</blockquote>
<p>That suggests the brakes weren&#8217;t on, but not that Sikes wasn&#8217;t pushing on the brakes.</p>
<blockquote>
<p>&#8220;Toyota engineers believe that it would be extremely difficult for the Prius to be driven at a continuous high speed with more than light brake-pedal pressure, and that the assertion that the vehicle could not be stopped with the brakes is fundamentally inconsistent with basic vehicle design and the investigation observations,&#8221; Toyota said in a statement.</p>
</blockquote>
<p>Again, this all assumes normal circumstances and no transient failures. For the purposes of investigation, that belief is irrelevant.</p>
<p>It is already fundamentally inconsistent with the design of the product that ANY failure could occur. We&#8217;ve crossed that bridge, guys.</p>
<p>Remember, when flight 427 crashed, Boeing maintained for years that their rudder mechanism could not possibly have failed&#8211; until a new form of failure was discovered (&#8221;thermal shock&#8221;) and the specific failure reproduced in that very rudder assembly.</p>
<blockquote><p>
The car&#8217;s front brakes showed significant wear and overheating, Toyota said. That kind of wear and heat would be consistent with the brakes being lightly applied over a long period of time, executives said at the press event.</p>
<p>Data from on-board computers indicated that Sikes had applied the brakes, to some degree, at least 250 times during the 23 mile incident, Toyota executives said, and that the brakes worked normally each time.</p>
</blockquote>
<p>Ooh, I love log files. I wonder what other patterns they can mine from that log file?</p>
<p>If the computers indicate that Sikes had applied the brakes, that shows they were getting some kind of signal from the brake mechanism, but not necessarily the correct signal. Therefore saying &#8220;the brakes worked normally each time&#8221; is completely unwarranted. Part of the system may have been working normally while another part was going haywire. There&#8217;s not way to tell after the fact, because &#8220;working normally&#8221; is not a detectable condition that gets logged in computer.</p>
<p>Every time you experience a problem in your software, your software, on some level, thinks it is doing the right thing. Software doesn&#8217;t &#8220;know&#8221; it&#8217;s misbehaving. It just does what it is told.</p>
<blockquote>
<p>Edmunds has independently tested Prius cars similar to Sikes&#8217; and confirmed that the engine would stay engaged if the brakes were only pressed lightly, but not hard enough to actually stop or slow the car, said Dan Edmunds, head of auto testing for the automotive Web site Edmunds.com.</p>
</blockquote>
<p>He says &#8220;would&#8221;, but he should say &#8220;would, assuming that there is nothing wrong with the car that would cause it not to&#8221;</p>
<blockquote>
<p>&#8220;If you&#8217;re just riding the brakes, it will ride the brakes,&#8221; he said.</p>
<p>&#8220;These findings certainly raise new questions surrounding the veracity of the sequence of events that has been reported by Mr. Sikes,&#8221; said Kurt Bardella, spokesman for Rep. Darrell Issa, R-Calif., and ranking member of the committee.</p>
<p>Sikes&#8217; attorney, John Gomez, denied that the report proves his client was wrong about what happened to his car.</p>
<p>&#8220;The notion that they weren&#8217;t able to replicate it in this particular case tells us nothing,&#8221; he said. &#8220;They haven&#8217;t been able to replicate a single one of these.&#8221;</p>
</blockquote>
<p>That&#8217;s right. Also, learn the phrase &#8220;transient failure mode&#8221; and press that point. There are plenty of examples in space missions and airliners of such failures.</p>
<blockquote>
<p>Sikes has no plans to sue Toyota, Gomez said.</p>
<p>Gomez is also representing the family of Mark Saylor, a California Highway Patrolman who was killed, along with members of his family in a Lexus sedan that accelerated out of control. A preliminary investigation has found that the accelerator pedal in that car probably became trapped on an all-weather floor mat that had been incorrectly installed in the vehicle.</p>
<p>Toyota has issued a recall for several models, including Sikes&#8217; Prius, to address possible floor mat entrapment. Sikes&#8217; floor mat was not interfering with the accelerator, investigators found, and there were no signs the pedal had become stuck in any way, according to the report.</p>
<p>The investigators findings &#8220;suggest that there should be further examination of Mr. Sikes account of the events of March 8,&#8221; Toyota said in its statement.</p>
<p>Toyota spokesman Mike Michels also took issue with media coverage of the Sikes incident. Journalists sensationalized an admittedly dramatic event, he said, but the public would have been better served had reporters waited for all the facts.</p>
<p>&#8220;We need to let investigations take their course,&#8221; he said.</p>
</blockquote>
<p>Yes indeed. And this investigation has not done that. Be careful what you wish for, Mr. Michels.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.satisfice.com/blog/archives/426/feed</wfw:commentRss>
		</item>
	</channel>
</rss>


