<?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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software Tasting --by Geordie Keitt</title>
	<atom:link href="http://tester.geordiekeitt.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://tester.geordiekeitt.com</link>
	<description>sitting in a corner like little jack horner, testing your software pie</description>
	<lastBuildDate>Fri, 08 Jan 2010 16:19:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Pair testing Gmail Notes</title>
		<link>http://tester.geordiekeitt.com/2010/01/pair-testing-gmail-notes/</link>
		<comments>http://tester.geordiekeitt.com/2010/01/pair-testing-gmail-notes/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 16:18:09 +0000</pubDate>
		<dc:creator>Geordie Keitt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[jetpack]]></category>
		<category><![CDATA[pair test]]></category>

		<guid isPermaLink="false">http://tester.geordiekeitt.com/?p=128</guid>
		<description><![CDATA[This week I spent an hour testing with a complete stranger.  And delivered a wallop of value to something he cared a lot about.]]></description>
			<content:encoded><![CDATA[<p>This week I spent an hour testing with a complete stranger.  And delivered a wallop of value to something he cared a lot about.<br />
<br />
Let me back up a bit and offer some context&#8230;.  I use <a href="http://mail.google.com/">Gmail </a>for a lot of things: tracking discussions, keeping threaded conversations, creating and working on to-do lists, project management.  I chose Gmail over some other <a href="http://www.davidco.com/">GTD</a>-type <a href="http://www.priacta.com/Articles/Comparison_of_GTD_Software.php">solutions </a>because a) it has email built in (duh) and b) has a handy labeling feature for placing any particular conversation or thread into many different buckets, so that I don&#8217;t have to orthogonally categorize everything.<br />
<br />
One thing that is frustrating about using Gmail in this fashion is that there is no clean way to annotate a thread or conversation or group of conversations.  My big use case: as the eVoting SIG lead for the AST, I needed a convenient way to track and comment on the various threads of conversation that the IEEE working group was doing, as well as the internal work of the SIG.  Since I was using Gmail to read and respond to the various discussions, that seemed like the logical place to annotate the conversation.  I could write an email and pop a label on it, but once I send it it&#8217;s not editable, and if I don&#8217;t send it it clutters up my Drafts folder.  Enter <a href="http://userscripts.org/scripts/show/46226">Gmail Notes</a>.<br />
<br />
A small group of developers decided that they had the same problem, and wrote a <a href="http://en.wikipedia.org/wiki/Greasemonkey">Greasemonkey </a>script that used the <a href="http://code.google.com/apis/apps/overview.html">Gmail API </a>and the <a href="http://en.wikipedia.org/wiki/Google_Apps">Gmail Apps </a>capabilities to offer a note-taking capability, linked to a conversation or a label.  This was just super for me, since I could finally do what I&#8217;d been unable to before, write an updatable, private note linked to a Gmail thread that would never get lost in the shuffle of a huge conversation.  I installed the script, began working on it, and found a few bugs.  I reported them back to the lead developer, John, and offered my testing services as part of his team.<br />
<br />
Then in December, Gmail pulled support for the part of the API that supported Gmail Notes.  So John had to punt.  He switched over to using <a href="https://jetpack.mozillalabs.com/">Jetpack </a>instead of Greasemonkey, and came up with another method of identifying the conversation or label.  I was called in to give it a spin, and had a hard time configuring it on my system.  That&#8217;s when I set up an evening Skype session with John.<br />
<br />
We used the screen sharing utility on Skype so that John could see my desktop (though not my cursor!  Hey Skype, we testers need to see each other&#8217;s cursors!), and worked on setting up the Jetpack script correctly on my system.  Then I led him through an exploratory test session, working all the functionality through a wide variety of states, and adjusting on the fly to the risks and issues that came up.  We noted six separate issues, one of which appeared to happen only on the Mac I was using.<br />
<br />
When we were done, I asked him how he liked pair testing like this.  He was very pleased with the thoroughness of the testing and the flexibility of the format.  He also said he&#8217;d be open to testing with a meetup group.</p>
]]></content:encoded>
			<wfw:commentRss>http://tester.geordiekeitt.com/2010/01/pair-testing-gmail-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testaphor Improv</title>
		<link>http://tester.geordiekeitt.com/2010/01/testaphor-improv/</link>
		<comments>http://tester.geordiekeitt.com/2010/01/testaphor-improv/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 16:21:10 +0000</pubDate>
		<dc:creator>Geordie Keitt</dc:creator>
				<category><![CDATA[testaphors]]></category>
		<category><![CDATA[analogy]]></category>
		<category><![CDATA[humor]]></category>

		<guid isPermaLink="false">http://tester.geordiekeitt.com/?p=126</guid>
		<description><![CDATA[Ah, yes, mayonnaise.  One places eggs in a bowl with a little lemon juice, then whisks as one slowly drizzles oil into it.  The result is creamy, delicious, and shockingly unhealthful.  And this rather reminds me ... of Testing.  ]]></description>
			<content:encoded><![CDATA[<p>I love analogies &#8211; as comedy.<br />
<br />
<a href="http://www.eddieizzard.com/">Eddie Izzard </a>(a brilliant British standup comic) does a bit about Anglican ministers who try so hard to be hip and edgy and bring real life into the church.  A close paraphrase: &#8220;Today&#8217;s reading comes from this magazine I found in a hedge.  Cosmopolitan, Volume 224, page 58: &#8216;Lipstick colors this spring will be in the dusky pink area, with eye shadow to match.&#8217;  And this rather reminds me &#8230; of our Lord Jesus.  Because you know, before he rode into Jerusalem on the donkey, he must have got tarted up a bit.  Now let us sing hymn 399, &#8216;O Lord, What is My Hairdo All About?&#8217;&#8221;<br />
<br />
So I have in mind a series called &#8220;And this rather reminds me &#8230; of Testing.&#8221;  It might really work as improv &#8211; have people toss out ideas and have a panel riff on how it reminds us of testing.<br />
<br />
<em>Moderator</em>: &#8220;I need an idea for a food item.  You sir.&#8221;<br />
<em>Audience member</em>: &#8220;Mayonnaise!&#8221;<br />
<em>Panelist A</em>: &#8220;Ah, yes, mayonnaise.  One places eggs in a bowl with a little lemon juice, then whisks as one slowly drizzles oil into it.  The result is creamy, delicious, and shockingly unhealthful.  And this rather reminds me &#8230; of Testing.  I mean, who besides another mayonnaise maker even knows what a mayonnaise maker does?  As far as most consumers of mayonnaise are concerned, it just comes in a jar.&#8221;<br />
<em>Panelist B</em>: &#8220;Yes &#8211; just like testing!  And, there are many flavors of mayonnaise.&#8221;<br />
<em>Panelist A</em>: &#8220;Just like testing!  In fact, I would go so far as to say we have transcended analogy and arrived in the realm of metaphor.  Testing Is Mayonnaise.  Can I get a hell yeah?&#8221;<br />
<br />
I would find that funny.</p>
]]></content:encoded>
			<wfw:commentRss>http://tester.geordiekeitt.com/2010/01/testaphor-improv/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Playing the dice game with developers</title>
		<link>http://tester.geordiekeitt.com/2009/09/playing-the-dice-game-with-developers/</link>
		<comments>http://tester.geordiekeitt.com/2009/09/playing-the-dice-game-with-developers/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 04:44:34 +0000</pubDate>
		<dc:creator>Geordie Keitt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CAST]]></category>
		<category><![CDATA[dice game]]></category>
		<category><![CDATA[james bach]]></category>

		<guid isPermaLink="false">http://tester.geordiekeitt.com/?p=103</guid>
		<description><![CDATA[At CAST2009, I took James Bach&#8217;s &#8220;Teach Yourself Testing&#8221; course.  Part of his course was to have the testers play a deduction game with a variety of dice.  The testers present a set of dice to the instructor, who responds verbally.  The object is to figure out what the instructor&#8217;s response is [...]]]></description>
			<content:encoded><![CDATA[<p>At CAST2009, I took James Bach&#8217;s &#8220;Teach Yourself Testing&#8221; course.  Part of his course was to have the testers play a deduction game with a variety of dice.  The testers present a set of dice to the instructor, who responds verbally.  The object is to figure out what the instructor&#8217;s response is going to be, and write down the algorithm that you deduce is being used to generate the response.  The rules are you have to present a set of 5 dice, which you have rolled so their values are random.<br />
<br />
I was paired up with another tester.  Paul Holland, acting as Jim&#8217;s assistant, gave us our pack of dice.  There were regular old 6-sided dice with dots, and also 4-, 6-, 12-, and 20-sided dice with Arabic numerals, and 6-sided dice with symbols such as exclamation point, spiral, explosion, skull, flower.  One likely glowed in the dark.<br />
<br />
My partner and I grabbed a random handful of dice, and rolled them, and asked Paul for his response.  &#8220;Red blinking zero,&#8221; he said.  We rolled again.  &#8220;Red blinking zero,&#8221; he said.  We rolled another set of dice.  &#8220;Red blinking zero,&#8221; he said.  Slowly, I began to detect a pattern&#8230;<br />
<br />
<span id="more-103"></span><br />
My partner and I spent the next 30 minutes or so trying all kinds of ways to get Paul to say something other than &#8220;Red blinking zero.&#8221;  We knew it was possible because he would offer other responses to other teams, but we could not find a combination of dice that led us out of that particular leg of the algorithm into some other response.  I got pretty peeved and cussed at Paul a couple of times (if you read this, Paul, I&#8217;m sorry about that).<br />
<br />
Finally, after a couple of hints from Paul, we hit on a strategy that started to give us some traction &#8211; though to do so we had to break the rules of the game &#8211; and within another 5 minutes had worked out the algorithm to Paul&#8217;s satisfaction.  My partner and I gave the others a little retrospective on the game and our path to the solution, and decided that though it had started out frustrating it had ended up fun, and so it was a good mirror of our normal experience with testing.<br />
<br />
******************<br />
<br />
I was pretty excited about the dice game.  It exercises some important testing skills: generating hypotheses, surfacing assumptions, gathering data, carefully keeping records of variables and outcomes, deducing cause and effect, putting abstract concepts into words, and perhaps most important, questioning the premise.  I thought it would be cool to try it out with some coworkers.  First I approached my testing teammate Anoop and explained the rules and the object of the game.  He spent about 20 minutes with me, going down some of the same deadends that I did, and finally hit on the correct algorithm.  He thought it was fun.<br />
<br />
Next I asked a developer to play.  I explained the rules and the object of the game to him, and he started showing me sets of dice.  Within 2 minutes he quit.  &#8220;I&#8217;m a coder.  I don&#8217;t guess what the code is, I read the code.&#8221;  He was polite enough to stick around to find out what the algorithm was, and to hear why I thought it was a useful testing game, but I could tell his heart wasn&#8217;t in it.  He simply didn&#8217;t care to guess.<br />
<br />
Then I asked another coder to play.  He told me he had a couple minutes, so I set up the dice and told him the rules and the object.  In response to his first couple sets I told him &#8220;zero&#8221;.  The third time he rolled the dice I said, &#8220;Red blinking zero.&#8221;  He immediately quit, throwing up his hands into the air and exclaiming, &#8220;What kind of crazy game is this?  What other responses are in this algorithm, purple&#8230; people-eating&#8230; zeroes?  And what&#8217;s the point of having rules if all they do is make it impossible to win?&#8221;  He was pretty worked up (I&#8217;m pretty sure he mentioned sunspots as a possible variable in the algorithm, a good indicator of his worked-up-ness).  We talked it over for a while, and the gist of his argument was that the puzzle was just way too hard for the couple minutes he had to devote to it.  (To recap: He quit the game because he could see that it was a pretty open-ended problem that he did not want to devote the time it would take since he only had a couple minutes, then we immediately had a twenty-minute discussion on why the game would have taken too long.  People are fascinating.)<br />
<br />
He compared the dice game to the children&#8217;s game &#8220;Aunt Bertie Fish&#8221;, the object of which is to figure out what category of things Aunt Bertie Fish loves by being told a litany of things she loves and things she hates.  An example I just made up: &#8220;Aunt Bertie Fish loves apples and hates bananas.  Aunt Bertie Fish loves stop signs and hates street signs.  Aunt Bertie Fish loves Boston baseball and hates Chicago baseball.&#8221;  I&#8217;m outlining a pair of mutually-exclusive sets, X and Not-X, using tropes and examples which are common in my cultural context.  In this case, Aunt Bertie Fish loves things that are red and hates anything that is not red.<br />
<br />
According to my colleague, the dice game is like Aunt Bertie Fish except without the X.  All he is getting is not-X, in which case X could be anything.  Or else he is getting X and Y and Z, rather than a simple X &#8211; Not-X universe.  It is impossible to bound the game using logic a priori, and it is in fact kind of unfair that the instructor does not offer the complete set of possible responses.  And don&#8217;t get him started on how wrong it is to set up rules that have to be broken to succeed at the game.  If someone played Aunt Bertie Fish with him that way, it wouldn&#8217;t be any fun at all.<br />
<br />
******************<br />
<br />
Slowly, I began to detect a pattern.  Tester plays dice game: works through it, thinks it is fun, and recognizes it is relevant to day-to-day testing work.  Developer plays dice game: gets upset or bored, quits.<br />
<br />
It&#8217;s tempting to write off the first developer as a bad tester, but actually he is a fabulous tester who writes code in which it is very difficult to find problems.<br />
<br />
It&#8217;s tempting to feel insulted that the second developer thought the dice game wasn&#8217;t any fun, but he has obvious respect for the tester&#8217;s willingness to jump into the game, sink or swim.  My theory: this developer has a very healthy respect for the vastness of the testing problem space, and he hopes that games like this do not teach testers to be glib in the face of it, and to jump to conclusions too quickly, just because you figured out /this/ algorithm doesn&#8217;t mean that the /next one/ won&#8217;t depend on sunspots, and can never be solved.<br />
<br />
How do your colleagues react to the dice game?<br />
<br />
******************<br />
<br />
Epilogue: I also played the game with my wife Sarah (who evidently loves me very much).  Her advice on using the game to introduce testing to non-testers, was to take it slow.  Start with a super-simple algorithm and 2 dice, and no &#8220;rules&#8221;.  Then play again and incrementally add complexity: harder algorithms, more dice, more types of dice, various &#8220;rules&#8221;.  If anyone has an opportunity to try this tactic on a set of interested non-testers, I&#8217;d like to get your thoughts.</p>
]]></content:encoded>
			<wfw:commentRss>http://tester.geordiekeitt.com/2009/09/playing-the-dice-game-with-developers/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>CAST2009: &#8220;Rapid Tester&#8221; video</title>
		<link>http://tester.geordiekeitt.com/2009/08/cast2009-rapid-tester-video/</link>
		<comments>http://tester.geordiekeitt.com/2009/08/cast2009-rapid-tester-video/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 03:48:17 +0000</pubDate>
		<dc:creator>Geordie Keitt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[song]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://tester.geordiekeitt.com/?p=91</guid>
		<description><![CDATA[
View the post to see the video&#8230;

  var so = new SWFObject('http://geordiekeitt.com/player.swf','mpl','470','320','9');
  so.addParam('allowfullscreen','true');
  so.addParam('allowscriptaccess','always');
  so.addParam('wmode','opaque');
  so.addVariable('file','http://tester.geordiekeitt.com/VID00055.flv');
  so.write('mediaspace');


Another of Becky Fiedler&#8217;s videos from CAST 2009 in CO Springs.  When &#8220;Feature Creep&#8221; was over, I had enough time in my Lightning Talk slot for an encore.  Jim Bach wanted [...]]]></description>
			<content:encoded><![CDATA[<p><script type='text/javascript' src='http://geordiekeitt.com/swfobject.js'></script></p>
<div id='mediaspace'>View the post to see the video&#8230;</div>
<p><script type='text/javascript'>
  var so = new SWFObject('http://geordiekeitt.com/player.swf','mpl','470','320','9');
  so.addParam('allowfullscreen','true');
  so.addParam('allowscriptaccess','always');
  so.addParam('wmode','opaque');
  so.addVariable('file','http://tester.geordiekeitt.com/VID00055.flv');
  so.write('mediaspace');
</script><br />
<br />
Another of Becky Fiedler&#8217;s videos from CAST 2009 in CO Springs.  When &#8220;<a href="http://tester.geordiekeitt.com/archives/75">Feature Creep</a>&#8221; was over, I had enough time in my Lightning Talk slot for an encore.  Jim Bach wanted to hear &#8220;Rapid Tester&#8221;, so I played it.</p>
]]></content:encoded>
			<wfw:commentRss>http://tester.geordiekeitt.com/2009/08/cast2009-rapid-tester-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CAST2009: &#8220;Black Box&#8221; video</title>
		<link>http://tester.geordiekeitt.com/2009/08/cast2009-black-box-video/</link>
		<comments>http://tester.geordiekeitt.com/2009/08/cast2009-black-box-video/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 03:36:29 +0000</pubDate>
		<dc:creator>Geordie Keitt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://tester.geordiekeitt.com/?p=77</guid>
		<description><![CDATA[
View the post to see the video&#8230;

  var so = new SWFObject('http://geordiekeitt.com/player.swf','mpl','470','320','9');
  so.addParam('allowfullscreen','true');
  so.addParam('allowscriptaccess','always');
  so.addParam('wmode','opaque');
  so.addVariable('file','http://tester.geordiekeitt.com/VID00065.flv');
  so.write('mediaspace');


Becky Fiedler shot this performance of &#8220;Black Box&#8221; after dinner was all over and we were just hanging out in the hallway.  It pretty quickly turned into a Jonathan Coulton love-fest after [...]]]></description>
			<content:encoded><![CDATA[<p><script type='text/javascript' src='http://geordiekeitt.com/swfobject.js'></script></p>
<div id='mediaspace'>View the post to see the video&#8230;</div>
<p><script type='text/javascript'>
  var so = new SWFObject('http://geordiekeitt.com/player.swf','mpl','470','320','9');
  so.addParam('allowfullscreen','true');
  so.addParam('allowscriptaccess','always');
  so.addParam('wmode','opaque');
  so.addVariable('file','http://tester.geordiekeitt.com/VID00065.flv');
  so.write('mediaspace');
</script><br />
<br />
Becky Fiedler shot this performance of &#8220;Black Box&#8221; after dinner was all over and we were just hanging out in the hallway.  It pretty quickly turned into a Jonathan Coulton love-fest after the testing songs were played&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://tester.geordiekeitt.com/2009/08/cast2009-black-box-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CAST2009: &#8220;Feature Creep&#8221; song &amp; video</title>
		<link>http://tester.geordiekeitt.com/2009/08/cast2009-feature-creep-song-video/</link>
		<comments>http://tester.geordiekeitt.com/2009/08/cast2009-feature-creep-song-video/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 19:11:24 +0000</pubDate>
		<dc:creator>Geordie Keitt</dc:creator>
				<category><![CDATA[song]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://tester.geordiekeitt.com/?p=75</guid>
		<description><![CDATA[
View the post to see the video&#8230;

  var so = new SWFObject('http://geordiekeitt.com/player.swf','mpl','470','320','9');
  so.addParam('allowfullscreen','true');
  so.addParam('allowscriptaccess','always');
  so.addParam('wmode','opaque');
  so.addVariable('file','http://tester.geordiekeitt.com/VID00053.flv');
  so.write('mediaspace');


I performed this a month or so ago at CAST2009 in Colorado Springs, where Becky Fiedler recorded it.  The intro to this song went, &#8220;This song is written from the perspective of [...]]]></description>
			<content:encoded><![CDATA[<p><script type='text/javascript' src='http://geordiekeitt.com/swfobject.js'></script></p>
<div id='mediaspace'>View the post to see the video&#8230;</div>
<p><script type='text/javascript'>
  var so = new SWFObject('http://geordiekeitt.com/player.swf','mpl','470','320','9');
  so.addParam('allowfullscreen','true');
  so.addParam('allowscriptaccess','always');
  so.addParam('wmode','opaque');
  so.addVariable('file','http://tester.geordiekeitt.com/VID00053.flv');
  so.write('mediaspace');
</script><br />
<br />
I performed this a month or so ago at CAST2009 in Colorado Springs, where Becky Fiedler recorded it.  The intro to this song went, &#8220;This song is written from the perspective of a piece of bloatware that used to be sleek and clean.&#8221;  I did this during a Lightning Talks session, meaning I had to bring it in under 4 minutes.  That&#8217;s why there&#8217;s little time for dramatic pauses&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://tester.geordiekeitt.com/2009/08/cast2009-feature-creep-song-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Talkin&#8217; eVoting at CAST 2009</title>
		<link>http://tester.geordiekeitt.com/2009/07/talkin-evoting-at-cast-2009/</link>
		<comments>http://tester.geordiekeitt.com/2009/07/talkin-evoting-at-cast-2009/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 17:00:24 +0000</pubDate>
		<dc:creator>Geordie Keitt</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[CAST]]></category>

		<guid isPermaLink="false">http://tester.geordiekeitt.com/?p=65</guid>
		<description><![CDATA[Jim Nilius and I will be taking our act on the road again, this time to CAST2009.  Our discussion at WREST 2 in Indianapolis on why regulated testing does a poor job of testing software produced a lot of great ideas for how to clarify the problems with using 19th-Century test methods to evaluate [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cast2009.org/" target="_blank"><img src="http://www.associationforsoftwaretesting.org/images/Attend_CAST09_120x120.gif" alt="Attend CAST" width="120" height="120" longdesc="http://www.cast2009.org" /></a>Jim Nilius and I will be taking our act on the road again, this time to <a href="http://www.CAST2009.org">CAST2009</a>.  Our <a href="http://tester.geordiekeitt.com/archives/22">discussion </a>at <a href="http://www.wrestworkshop.com/Home.html">WREST 2 </a>in Indianapolis on why regulated testing does a poor job of testing software produced a lot of great ideas for how to clarify the problems with using 19th-Century test methods to evaluate computerized voting systems.  </p>
<p>Jim and I are preparing a strong argument for the Election Assistance Commission to overhaul the NIST certification standards to help certification labs handle testing complex software systems much more congruently, and we are taking this argument for a test drive at CAST.  So come on over and test it, test us, rip it to shreds.  We will rebuild it.  We have the technology, we have the capability to make it better than it was before.  <a href="http://www.youtube.com/watch?v=HofoK_QQxGc">Better, stronger, faster</a>&#8230;<br /></p>
]]></content:encoded>
			<wfw:commentRss>http://tester.geordiekeitt.com/2009/07/talkin-evoting-at-cast-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WREST 2: Regulation Disrupts Sapience</title>
		<link>http://tester.geordiekeitt.com/2009/06/wrest-2-regulation-disrupts-sapience/</link>
		<comments>http://tester.geordiekeitt.com/2009/06/wrest-2-regulation-disrupts-sapience/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 03:30:26 +0000</pubDate>
		<dc:creator>Geordie Keitt</dc:creator>
				<category><![CDATA[james bach]]></category>
		<category><![CDATA[regulated testing]]></category>
		<category><![CDATA[sapience]]></category>

		<guid isPermaLink="false">http://tester.geordiekeitt.com/archives/22</guid>
		<description><![CDATA[Displaying sound judgment in a complex, dynamic environment is a hallmark of wisdom.
-From the Wikipedia entry for &#8220;Sapience&#8221;

At WREST 2 in Indianapolis on May 14, I interviewed Jim Nilius, former Director of Testing at Systest Labs, a very tightly regulated shop in Denver CO that tests electronic voting systems.  We discussed the applicability of [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Displaying sound judgment in a complex, dynamic environment is a hallmark of wisdom.</p>
<p>-From the <a href="http://en.wikipedia.org/wiki/Sapience">Wikipedia entry for &#8220;Sapience&#8221;</a></p></blockquote>
<p>
At WREST 2 in Indianapolis on May 14, I interviewed Jim Nilius, former Director of Testing at Systest Labs, a very tightly regulated shop in Denver CO that tests electronic voting systems.  We discussed the applicability of the theme of the workshop, &#8220;Beyond Scripted Testing&#8221;, to the line of work his lab did.  In his view, there is no space for unscripted testing in a regulated environment, simply because unless the tests are scripted they cannot be reviewed prior to being run, and if they cannot be reviewed then you cannot maintain your accreditation and your company will cease to exist.<br />
<br />
I am not familiar with this line of thinking, but it got a lot of nods from around the table so it is probably a true dynamic.  Which seems pretty scary and counterproductive, because it entirely stifles innovation and sapience in testing and drives it underground into what Jonathan Kohl refers to as a &#8220;<a href="http://www.kohl.ca/blog/archives/000114.html">shadow process</a>&#8220;.  I drew a system diagram that I believe represents the general state of a regulated testing shop.<br />
<br />
<div id="attachment_43" class="wp-caption alignright" style="width: 522px"><img src="http://tester.geordiekeitt.com/wp-content/uploads/2009/06/regulated-testing1-1024x767.png" alt="Regulated Testing PNG" title="regulated-testing" width="512" height="383" class="size-thumbnail wp-image-43" /><p class="wp-caption-text">Regulated Testing PNG</p></div><br />
<br />
(Here is the <a href="http://tester.geordiekeitt.com/wp-content/uploads/2009/06/regulated-testing2.pdf">PDF</a>.  Contact me via gmail for the original ODP, editable in OpenOffice, if you wish to modify or upgrade this document under the publishing rules of WREST.)<br />
<span id="more-22"></span><br />
<br />
Note the small shaded section in the middle which depicts rapid cycling between test creation, test execution, and test reporting in the process of testing and learning about the system.  This dynamic allows the tester&#8217;s brain to work.  Disrupting this cycle disrupts the tester&#8217;s systemic awareness and renders testing infinitely less effective.<br />
<br />
The term &#8220;sapience&#8221; has a special place in the heart of a context-driven-school tester like myself, given James Bach&#8217;s 2007 coinage of the term &#8220;<a href="http://www.satisfice.com/blog/archives/99">sapient process</a>&#8221; to mean &#8220;any process that relies on skilled humans&#8221; to draw a contrast between skilled testing by people vs. automated testing by computers.  Many testers extend the contrast to include scripted testing of just about any kind, whether performed by people or computers.  I would like to extend the contrast to include any testing that does not adapt to new information.  As in the opening block-quote, a sapient tester displays good judgment in a complex, dynamic environment.  To do this, a tester has to model the complexities of the system in her mind and keep that model alive as she interacts with the system.  When information arrives that contradicts the model, she must adjust the model and question the validity of the adjustment &#8211; was that a bug I just saw, or was it a hint of a bug, or a problem with my understanding of the requirement, or&#8230;?  To find out, she devises a new series of tests and runs them, and then adapts again to the new information.  This is the essence of the learning cycle depicted in the diagram.<br />
<br />
It doesn&#8217;t take much to interrupt the cognitive flow and bring the systems awareness of the tester tumbling down.  Without a living system model in her mind she is comparatively non-sapient with respect to the system, and any testing activities she undertakes will be insensitive to new information, thus incapable of adapting to it, and thus (by my definition) her testing is not sapient.  In other words, rote, mechanical, all the qualities we ascribe to poor testing.<br />
<br />
In a regulated environment, sapient testing is not simply discouraged, it is extremely risky.  Please refer to the diagram: every step in the testing cycle can initiate a process that threatens the existence of the testing organization.  In a certification lab, such as for electronic voting systems, the following dynamics apply at a minimum:</p>
<li>Each new test that is created can potentially initiate a cycle of test method validation and re-accreditation of the regulated testing organization, which puts the viability of the company in jeopardy.</li>
<li>Every test report can potentially negatively influence the likelihood that the system will be certified, leading to less business with vendors who would prefer to work with a less picky test lab.</li>
<li>Every test executed can potentially fail an audit, resulting in expensive &#8220;process improvements&#8221; and possibly kicking off another round of test method validation and the risk of losing accreditation.<br />
<br />
So the company risks its very existence whenever it engages in testing, even though testing is what the company was chartered to do, and the only method it has for minimizing risk is to minimize testing!  It does so by imposing &#8220;process&#8221; on testing such that every act of test creation is followed by an expensive validation and record-keeping procedure, rather than by test execution.  And of course vice versa.<br />
<br />
Under this regime the testers have no means by which to develop system awareness and sapience, except to divide their testing into &#8220;official process&#8221; testing and &#8220;shadow process&#8221; testing.  In the shadow process, the testers can test.  But the &#8220;shadow tester&#8221; must be very judicious about how to bring what she learns back into the &#8220;official process&#8221; world without risking the existence of the company.<br />
<br />
I would appreciate learning your thoughts on this.</p>
]]></content:encoded>
			<wfw:commentRss>http://tester.geordiekeitt.com/2009/06/wrest-2-regulation-disrupts-sapience/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The 8% Rule</title>
		<link>http://tester.geordiekeitt.com/2009/05/the-8-rule/</link>
		<comments>http://tester.geordiekeitt.com/2009/05/the-8-rule/#comments</comments>
		<pubDate>Fri, 29 May 2009 18:29:17 +0000</pubDate>
		<dc:creator>Geordie Keitt</dc:creator>
				<category><![CDATA[story]]></category>
		<category><![CDATA[unsolicited advice]]></category>

		<guid isPermaLink="false">http://tester.geordiekeitt.com/archives/21</guid>
		<description><![CDATA[Last Saturday night I played guitar, both solo and accompanying my friend Rob Balder, at a gig at Balticon, a sci-fi/fantasy/gaming convention in Baltimore.  It was not one of my best performances.  Rob and I did a new arrangement of a tune we had done before, and it never hit its stride, it [...]]]></description>
			<content:encoded><![CDATA[<p>Last Saturday night I played guitar, both solo and accompanying my friend <a href="http://www.partiallyclips.com/robbalder/">Rob Balder</a>, at a gig at Balticon, a sci-fi/fantasy/gaming convention in Baltimore.  It was not one of my best performances.  Rob and I did a new arrangement of a tune we had done before, and it never hit its stride, it felt slow and square.  Another tune I sang well but my guitar work was kind of iffy, it was the first time I&#8217;d done it in front of an audience.  (I did a fine job on one song, where all I did was play guitar instead of having to sing as well, and I just executed the song.)<br />
<br />
I can pick out greater and lesser reasons for my struggles.  <span id="more-21"></span>There was the strangeness of the venue: we performed in a hotel lobby between the front desk and the bar, so there was constant traffic through the audience, no backstage area, and a very cramped space.  The sound system was very small with no available inputs for my guitar, and there were ony 2 microphones, which meant that I had to hold the guitar right up to one mic and sing into the other, and on songs where I was not the lead singer, I had to have the lead singer hold the mic up to my mouth &#8211; and if he didn&#8217;t, I may as well not be singing at all.  The speakers were aimed solely out at the audience with no monitoring system to allow the musicians to hear ourselves.  These factors can influence a musician&#8217;s comfort level and make mistakes much harder to pick up and correct.<br />
<br />
I did one song in an entirely different, though equally stressful environment: I collaborated with <a href="http://www.pfischer.com/">Paul Fischer</a> on a parody version of a song written by <a href="http://www.geologicrecords.net/">George Hrab</a>, an extremely funny and talented singer / songwriter, and sang our version in front of him during his weekly <a href="http://www.geologicpodcast.com/">podcast</a> which was being recorded in a suite with about 100 people crammed into it.  (The original is called &#8220;<a href="http://www.youtube.com/watch?v=dF2HG1PVZok">FAR</a>&#8220;.  By the way, George is my new favorite person.)  Earlier in the evening George had performed a long set on the lobby stage, and had done &#8220;FAR&#8221;, and I&#8217;d watched him voice the chords on the guitar /entirely differently/ than the way I had picked it out.  So I was very intimidated by standing 2 feet from him and playing my dinky version of his song, with all the wrong voicings.<br />
<br />
Something funny happened then, though.  I&#8217;d practiced that silly parody song enough to know how to play it even with all the other distractions.  And I have a lot of confidence in my singing &#8211; I can hit notes, and my voice has a particular tonality that I trust even in a crowded room to cut through the hubbub and make people listen.  My collaborator Paul was the host of the show,and he encouraged full-audience ownership of the song by holding up cue cards telling everyone when to sing along.  And God bless George Hrab, he read the lyrics off the page of my cheat sheet with me and sang /backup/ on his /own song/.  And that song went over like you wouldn&#8217;t believe.  I even figured out about 3/4 of the way through that I had my guitar tuned wrong!  I am ashamed to admit that I hadn&#8217;t retuned my low E back up from D after the previous song, but it ultimately didn&#8217;t matter, the song was so much fun no one cared.  Link to the <a href="http://cdn1.libsyn.com/geologicpodcast/GeologicPodcast117-May28-09.mp3?nvb=20090529180823&#038;nva=20090530181823&#038;t=063ba1566f34f5c2973b8">podcast </a>and move along to about the two-thirds mark to hear it.  <strong>(Caution: colorful language &#8230;)</strong><br />
<br />
**************<br />
<br />
<em>What the hell is this gig report doing in a testing blog?  </em>I&#8217;m getting to that, please return to your seat until the captain turns off the fasten seatbelt sign.<br />
<br />
**************<br />
<br />
I ran back into George later in the evening as he was packing up the lobby stage.  He asked me how the rest of my playing went, and I told him about the troubles I had and the issues with the weird venue and the gear.  He nodded sympathetically while he loaded everything up on a cart, and said, &#8220;Music only takes up 8% of your thought process while you are playing.  The rest is on-the-fly problem solving, and unresolved angst.&#8221;  (Then he pulled out his guitar and very kindly showed me the proper voicings for his song, and made me play them back for him to be sure I had them under my fingers.  A prince among men, I tell you.)<br />
<br />
So, to recap &#8211; George and I had played and sung under identical conditions, on the same stage and through the same gear.  George had sounded fantastic and looked comfortable and had done a brilliant job.  Me &#8211; not so much.  Why?  The answer was in that 8% of the thought process that was available for music.  I rolled out a lot of new stuff, and in my basement and even in rehearsal it sounded fine, but it took a lot more than 8% of my thought process to get it to sound that way.  If I&#8217;d asked myself how much it did take I probably would have said more than 8%, but I never did &#8211; I didn&#8217;t fully understand the budget constraints I was under.  And on stage, that 8% was aggressively enforced.<br />
<br />
I needed more practice.  I needed /a lot/ more practice, orders of magnitude more practice.  I needed to practice so much that I could do a bang up job on any song in the set with less than 10% of my operational musical capacity engaged.  That&#8217;s what George had done, which is why he sounded so great.<br />
<br />
*************<br />
<br />
<em>Good for George Hrab, but what&#8217;s in this for me?  </em>Glad you asked.  Riddle me this: How is testing any different than this experience report?  When you are under a deadline, and you roll out a test tool or technique that you are new at, don&#8217;t you find that the testing itself takes up only a small fraction of your thought process, and suffers for it?  Your audience is still looking for that polished professional job though, so practice, and plan for the day of the performance so that you can squeeze the best possible testing out of the 8% of your brain that will actually be available for it.<br />
<br />
And I truly hope you have as graceful an experience with your testing as I did on that podcast.  I received stakeholder ownership, support from the top, and respectful listening behavior modeled towards me by the alpha dog on the team.  Anytime you get all that, your testing is sure to be a great success.</p>
]]></content:encoded>
			<wfw:commentRss>http://tester.geordiekeitt.com/2009/05/the-8-rule/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://cdn1.libsyn.com/geologicpodcast/GeologicPodcast117-May28-09.mp3?nvb=20090529180823&amp;nva=20090530181823&amp;t=063ba1566f34f5c2973b8" length="53444357" type="audio/mpeg" />
		</item>
		<item>
		<title>Testing In Principle: Root</title>
		<link>http://tester.geordiekeitt.com/2008/11/testing-in-principle-root/</link>
		<comments>http://tester.geordiekeitt.com/2008/11/testing-in-principle-root/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 03:58:23 +0000</pubDate>
		<dc:creator>Geordie Keitt</dc:creator>
				<category><![CDATA[rapid testing]]></category>
		<category><![CDATA[t'ai chi]]></category>

		<guid isPermaLink="false">http://tester.geordiekeitt.com/archives/19</guid>
		<description><![CDATA[T’ai chi hurts to do.  The benefits are enormous, and the cost is pain.  The nice part is, the same deal applies to most things in life.  If you want to be a great guitar player, your fingers will hurt.  If you want to be a great athlete, your muscles will [...]]]></description>
			<content:encoded><![CDATA[<p>T’ai chi hurts to do.  The benefits are enormous, and the cost is pain.  The nice part is, the same deal applies to most things in life.  If you want to be a great guitar player, your fingers will hurt.  If you want to be a great athlete, your muscles will hurt.  My teacher Chris Casey says, “There is no way out.  But there is a way through.”<span id="more-19"></span><br />
<br />
What hurts is letting go of the tension in my body and feeling that tension come into consciousness.  When I work this while standing and imagining that I am connected with the earth through the soles of my feet, the pain is incredible in my feet and legs, the burn of chi blowing through parts of my body that I’ve denied it access to for many years.  The gains of course are commensurate with the effort I put in.  The key win while rooting is that I am connected to something much larger than myself, a thing to which everything and everyone else is connected as well: the earth. When I am participating consciously in that connection I have insight into the connections others have with the earth as well, and can analyze and manipulate it to my benefit in tai chi, and to their benefit too as a friend.  The pain comes from losing the shell of ego I have built that separates me from my surroundings.<br />
<br />
The testing parallel is obvious from my other blog entries: the bare facts of your context are the ground you stand on when choosing what to test and why.  A great Rapid Tester does not arrive in a context already thinking she knows all she needs to know, fully formed, individuated and full of opinions about what is best.  She learns.  She crawls, then walks, then runs.  Asks questions, appears clueless, and opens herself to learning about everything from everything.  She molds herself into a teammate in order to be useful, takes on all the different viewpoints of the stakeholders, and also learns to “think like the code” (model the system) as well.<br />
<br />
This is a painful process for those of us with egos that tell us to look like we have the answers.  It is hard work to catalog my biases and weaknesses, and to systematically counteract them.  One of the best methods for analyzing my tendencies is to participate in friendly competitions and debates with fellow testers.  I learn that all of my favorite tricks have pitfalls, and there are a lot of great ways to test and manage testing that I have not yet thought of.  I have become more comfortable with that fact.  And I have become comfortable in my community, a vibrant and living aspect of my context that I am very happy to be able to tap when necessary.<br />
<br />
One more point about Root.  The tai chi player with more root always wins.  That is because they can extend their root beneath their opponent and cut them off from the earth.  A good player can literally bounce me like a basketball when they sink below me, test my connection to the earth, and find the flaws in it.  We have the same job as testers, to probe the structure of our systems and the strength and depth of their logic and implementation, and to work on the flaws we see or suspect, until we break the illusion that the system “just works” and can bounce it around like a basketball.  When I do good Rapid Testing, I am sinking deeply into the problem space, asking the hardest questions, getting at the heart of the matter, and feeling the burn.</p>
]]></content:encoded>
			<wfw:commentRss>http://tester.geordiekeitt.com/2008/11/testing-in-principle-root/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.755 seconds -->
