<?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>Testing Thoughts</title>
	<atom:link href="http://testing.gershon.info/feed/" rel="self" type="application/rss+xml" />
	<link>http://testing.gershon.info</link>
	<description>A poorly publicized blog about Software Testing</description>
	<lastBuildDate>Thu, 04 Feb 2010 14:08:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Finding Nemo &#8211; Solving Pradeep&#8217;s software testing challenge (an exploratory approach)</title>
		<link>http://testing.gershon.info/201002/nemo-solving-exploratory-approach/</link>
		<comments>http://testing.gershon.info/201002/nemo-solving-exploratory-approach/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 12:39:06 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Ask the Tester]]></category>
		<category><![CDATA[Nerd T35t1ng]]></category>
		<category><![CDATA[Test Insight]]></category>
		<category><![CDATA[Test Riddle]]></category>
		<category><![CDATA[answer]]></category>
		<category><![CDATA[challenge]]></category>
		<category><![CDATA[exploratory]]></category>
		<category><![CDATA[exploratory testing]]></category>
		<category><![CDATA[exploratory testing example]]></category>
		<category><![CDATA[pradeep]]></category>
		<category><![CDATA[question]]></category>
		<category><![CDATA[riddles]]></category>
		<category><![CDATA[solution]]></category>
		<category><![CDATA[solving]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[testing solution]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/?p=154</guid>
		<description><![CDATA[Back on December, Pradeep Soundararajan set a challenge up in his blog.
He built an application with the description below:

This was an interesting exercise.
What took my interest in this one?
- First of all, I liked Pradeep&#8217;s post about learning to code.
Learning to code is an important skill for a tester. I can relate to it because [...]]]></description>
			<content:encoded><![CDATA[<p>Back on December, <a href="http://testertested.blogspot.com/">Pradeep Soundararajan</a> set a <a href="http://testertested.blogspot.com/2009/12/why-testers-need-to-learn-to-write-code.html">challenge up in his blog</a>.<br />
He built an application with the description below:</p>
<p><a href="http://testing.gershon.info/wp-content/uploads/2010/01/cmdnemo.jpg"><img class="alignnone size-full wp-image-122" title="cmdnemo" src="http://testing.gershon.info/wp-content/uploads/2010/01/cmdnemo.jpg" alt="" width="534" height="130" /></a></p>
<p>This was an interesting exercise.<br />
What took my interest in this one?<br />
<strong>- First</strong> of all, I liked Pradeep&#8217;s post about learning to code.<br />
Learning to code is an important skill for a tester. I can relate to it because I am trying to learn <a href="http://en.wikipedia.org/wiki/Windows_PowerShell">PowerShell</a>. I program in some languages (<em>C#, C++, PHP, VbScript&#8230;</em>) and have a programming background (<em>after my Computer Systems Engineer degree, the &#8216;natural&#8217; path was to code, and I worked as a programmer for many years before finding Software Testing</em>), but PowerShell has <a href="http://dirtsimple.org/2004/12/python-is-not-java.html">different approach and paradigms</a> and learning it will definitely be fun.<br />
<strong>- Second</strong>, I had an impromptu vacation day, and I thought it would be educational to use it for a peer testing puzzle. I thought I could win this one quickly (<em>I was mistaken, it took me long</em>). <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So I downloaded Pradeep&#8217;s application, and got to work!<br />
Rather than just trying to solve the puzzle, I looked at it as if the mission was:<br />
&#8220;<code>This is commercial 'roulette' style game. Stakeholders want to know it the game logic can be broken/learnt, which could mean a substantial loss of money when people start winning every time.</code>&#8221;</p>
<blockquote><p><strong>Testing Hint:</strong> Cem Kaner says &#8220;<code>Testing is an empirical, technical investigation of a product, done on behalf of stakeholders, with the intention of revealing quality-related information of the kind that they seek</code>&#8220;. So it is important to set straight what is the information to seek. Which kind of bugs to look for?</p></blockquote>
<p>In this blog I describe my attemp to answer this question in an exploratory way.<span id="more-154"></span></p>
<p>Now, Stop the press!<br />
You may want to go to <a href="http://testertested.blogspot.com/2009/12/why-testers-need-to-learn-to-write-code.html">Pradeeps post</a>, download <a href="http://interviewsandjobs.com/testertested/fnemo_1.7.6.exe">the file</a>, and try it for yourself before reading my solution. This post will be waiting right here when you&#8217;re done. <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&#8230;</p>
<p>Here is the report of what I did, the line of thinking during my experiment, and the conclusion:</p>
<ul>
<li>1. First, I ordered my environment to allow efficient and organized work:
<ol>
<li>Increased the <a href="http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/commandpromptoptions.mspx?mfr=true">Screen Buffer Size</a> of the Command line I was using to 500 (<em>it turned out that I would do well on less, even half, than that (</em>see point 2.b<em>). But it didn&#8217;t hurt</em>).</li>
<li>Renamed the executable to be shorter and without number version: <strong><code>ren fnemo_1.7.6.exe fnemo.exe</code></strong></li>
<li>Changed the prompt to something shorter, cleaner, and that gave me context about this task against the other Cmd lines windows open: <code><strong>prompt $Cfnemo$F$S$G</strong></code></li>
</ol>
</li>
</ul>
<blockquote><p><strong>Testing Hint:</strong> Organizing your testing environment before you start will likely help you during your tests. After you&#8217;re in the heat of fight, it will be harder to stop and get organized.</p></blockquote>
<ul>
<li>I tried some basic executions of the program, to grasp the feeling of what it does and how hard it is to find Nemo. This also taught me what are the messages returned by the application when Nemo is found, and when Nemo isn&#8217;t found. They&#8217;re &#8220;<strong>Found Nemo this time!, Nemo Gill Bubbles SharkTooth Flow Phamplet Stinger</strong>&#8221; and &#8220;<strong>Ah! bad luck, didnt find Nemo this time!</strong>&#8221; respectively.
<ol>
<li>I also learnt that Pradeep used Perl and <a href="http://www.indigostar.com/perl2exe.htm">Perl2Exe</a> to do the app.</li>
<li>Additionally, the application clears the screen at every execution, so the big command line buffer is not so helpful.</li>
</ol>
</li>
</ul>
<blockquote><p><strong>Testing Hint:</strong> Planning or scheduling your testing before you experiment a bit with the software <strong>can </strong>be done. But you risk being completely wrong in your assumptions about the app. In our case, there were no big surprises, but there could be.</p></blockquote>
<ul>
<li><a href="http://testertested.blogspot.com/2009/12/why-testers-need-to-learn-to-write-code.html?showComment=1260335959722#c6013367471319656833">Sarmila commented</a> on the <a href="http://testertested.blogspot.com/2009/12/why-testers-need-to-learn-to-write-code.html">Challenge page</a> about disassembling the executable. Although by learning all the assembly one can learn about the rules that move the fishes around, it would be <strong>extremely </strong>difficult and overkill. But this made me think on how Perl2Exe works… Maybe it just wraps the Perl interpreter and the Perl script together? If so, what if the script is stored internally in clear? I tried to open the app in an <a href="http://sourceforge.net/projects/npp-plugins/">Hex editor</a>, but no, the Perl script isn&#8217;t in clear text there, it is obfuscated.
<ul>
<li>I also tried the useful <a href="http://technet.microsoft.com/en-us/sysinternals/bb897439.aspx">Strings</a> tool by SysInternals. My intention was to see if, maybe, the array of fishes could be seen at the app code, in order to learn the initial order of fishes. It couldn&#8217;t.</li>
<li>That ended my cheating session <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , from here on I used only a black box functional approach.
<ul>
<li>Well, it is not really cheating because there were no rules against that. If you do a full reverse engineer of the code, the answer is legit too. But I preferred the straightforward exploratory approach: learning from the software functionality as I use it, and use this learning to redirect my next steps.</li>
</ul>
</li>
</ul>
</li>
<li>.</li>
<li>By now, I knew that Nemo changed places between plays.
<ol>
<li>Nemo also change places between invalid parameters (which may or not be a bug).</li>
<li>Moreover, the other fishes change places too, even their placement related to Nemos&#8217; placement changes.</li>
<li>So I tried to see if Nemo will return to the same place in any consistent way or number of times. Running that is easy, you just enter &#8220;3&#8243;, &#8220;3&#8243;, &#8220;3&#8243;… and count where Nemo was found and where he wasn&#8217;t.
<ul>
<li>I discovered there is regularity (for &#8220;3&#8243;, its every 2, 3, 17, 5, 10, 5…), but the regularity was irregular enough, and also changed for different positions. This was likely a consequence of the real logic, rather than the logic itself. This correlates to the movement of fishes, but does not cause it.</li>
</ul>
</li>
</ol>
</li>
</ul>
<blockquote><p><strong>Testing Hint:</strong> Take note of your steps while testing. Using the <a href="http://sessiontester.openqa.org/">Session Tester</a> tool is a great idea. For this session, I used <a href="http://office.microsoft.com/onenote">MS OneNote</a> because it supports rich text, and I could use tables.<br />
Is that like saying that rich texts helps rich tests? <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p></blockquote>
<ul>
<li>Another detail that helped me in the game was knowing the developer and the purpose of the challenge. This puts a lot of content in the context. Pradeep is a rather playful <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  and would put some tricks into it.
<ol>
<li>First I tried to see if Nemo could sometimes be in any placement bigger than 7 (there are 7 fishes, places 1 to 7, but there were no rules as to where the fishes were limited to be).</li>
<li>I tried in a toss of up to 220 attempts, and Nemo wasn&#8217;t in place 8 even once. So I let this idea on StandBy for now.</li>
<li>Then I tried&#8230; what if the &#8220;<code>Minimum attempts</code>&#8221; input at the beginning of the app affected where Nemo appears?
<ul>
<li>10 is the default for the &#8220;<code>Minimum Attempts</code>&#8220;. Nemo is at place 1 at the beginning there.</li>
<li>11 attempts chosen: Nemo is at place 1 at the beginning too. Maybe it does not affect?</li>
<li>12 attempts chosen: Nemo is at place 4! Bingo!</li>
<li>13, 14, 15, 16 showed that the original places were cycling at &#8216;3&#8242; intervals. That means that when trying to find Nemo on the default 10 attempts, it will be in the same placements as 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46, 49, 52…</li>
</ul>
</li>
</ol>
</li>
</ul>
<blockquote><p><strong>Testing Hint:</strong> let the test and what you learn during the testing guide you. New information you find should set you in a new direction.</p></blockquote>
<ul>
<li>You&#8217;re seeing that &#8220;220 attempts&#8221; above, and thinking if I really entered each number manually.
<ol>
<li>By this time, I decided that I was in need of some automation to insert inputs to the application.</li>
<li>The original app had no apparent automation capabilities, so I decided to use the internal input redirection of the Command line:
<ul>
<li>By using the &#8220;<strong>&lt;</strong>&#8221; operator, I could redirect an input file &#8220;<strong>input.txt</strong>&#8221; to the app using &#8220;<strong>fnemo.exe &lt; input.txt</strong>&#8220;</li>
<li>I extended that to &#8220;<strong>fnemo.exe &lt; input.txt &gt; output.txt</strong>&#8220;, which gives us with a complete dump of results that can be searched with Notepad.</li>
</ul>
</li>
<li>We had an easy automation now, and this can help our sapient testing. I was exploring, and using automation to help me try different things help me explore my possibilities and get a bigger picture of the situation when needed.</li>
</ol>
</li>
</ul>
<blockquote><p><strong>Testing Hint:</strong> Don&#8217;t be afraid of automation. It can help you talk with the software in different ways and interact with it differently. It helps a lot with data generation and logging, too. <strong>Another hint:</strong> Never let the automation take control of the testing. It is there to help you, not to drive the effort.</p></blockquote>
<ul>
<li>With the knowledge and tool I had so far, I did a lot of trials in order to find where Nemo is at each iteration. This could give me a hint if he moved in any regular or consistent manner.
<ul>
<li>So I made a big file of winning moves (<em>a lot of trial and error went in it</em>).</li>
</ul>
</li>
<li>.</li>
<li>It was now time to model the results:
<ul>
<li><strong>First attempts at modeling</strong> the results:</li>
<li>I got this: Nemo&#8217;s position: <strong>1, 3, 5, 3, 2, 7, 3, 4, 7, 4, 4, 1, 5, 5, 2, 5, 6&#8230;</strong>
<ul>
<li>Nemo was certainly jumping around without any clear regularity, even when I did it twice the times there was no repetition.</li>
</ul>
</li>
</ul>
</li>
<li>On the <strong>Second modeling attempt</strong>, I tried to see if a more visual model could help:</li>
<li>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
<td>5</td>
<td>6</td>
<td>7</td>
</tr>
<tr>
<td>X</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td>X</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td>X</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>X</td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td>X</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td>X</td>
</tr>
</tbody>
</table>
</li>
<li>Even in a table with many more results, it made no sense.</li>
</ul>
<li>.</li>
<li>I changed my approach. Looking only at Nemo was not giving enough insight. Plus, I knew the other fishes moved along, so there might be a hint in their placement.
<ul>
<li>I got this table:</li>
<li>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><strong>Nemo</strong></td>
<td>Gill</td>
<td>Bubbles</td>
<td>SharkTooth</td>
<td>Flow</td>
<td>Phamplet</td>
<td>Stinger</td>
</tr>
<tr>
<td>Stinger</td>
<td>SharkTooth</td>
<td><strong>Nemo</strong></td>
<td>Phamplet</td>
<td>Gill</td>
<td>Bubbles</td>
<td>Flow</td>
</tr>
<tr>
<td>SharkTooth</td>
<td>Flow</td>
<td>Phamplet</td>
<td>Stinger</td>
<td><strong>Nemo</strong></td>
<td>Gill</td>
<td>Bubbles</td>
</tr>
<tr>
<td>Stinger</td>
<td>SharkTooth</td>
<td><strong>Nemo</strong></td>
<td>Phamplet</td>
<td>Gill</td>
<td>Bubbles</td>
<td>Flow</td>
</tr>
<tr>
<td>Stinger</td>
<td><strong>Nemo</strong></td>
<td>Gill</td>
<td>Bubbles</td>
<td>SharkTooth</td>
<td>Flow</td>
<td>Phamplet</td>
</tr>
<tr>
<td>Phamplet</td>
<td>Gill</td>
<td>Bubbles</td>
<td>Flow</td>
<td>Stinger</td>
<td>SharkTooth</td>
<td><strong>Nemo</strong></td>
</tr>
<tr>
<td>Phamplet</td>
<td>Stinger</td>
<td><strong>Nemo</strong></td>
<td>Gill</td>
<td>Bubbles</td>
<td>SharkTooth</td>
<td>Flow</td>
</tr>
<tr>
<td>Flow</td>
<td>Stinger</td>
<td>SharkTooth</td>
<td><strong>Nemo</strong></td>
<td>Phamplet</td>
<td>Gill</td>
<td>Bubbles</td>
</tr>
<tr>
<td>Gill</td>
<td>Bubbles</td>
<td>SharkTooth</td>
<td>Flow</td>
<td>Phamplet</td>
<td>Stinger</td>
<td><strong>Nemo</strong></td>
</tr>
<tr>
<td>Flow</td>
<td>Stinger</td>
<td>SharkTooth</td>
<td><strong>Nemo</strong></td>
<td>Phamplet</td>
<td>Gill</td>
<td>Bubbles</td>
</tr>
<tr>
<td>Flow</td>
<td>Phamplet</td>
<td>Stinger</td>
<td><strong>Nemo</strong></td>
<td>Gill</td>
<td>Bubbles</td>
<td>SharkTooth</td>
</tr>
<tr>
<td><strong>Nemo</strong></td>
<td>Phamplet</td>
<td>Gill</td>
<td>Bubbles</td>
<td>Flow</td>
<td>Stinger</td>
<td>SharkTooth</td>
</tr>
<tr>
<td>SharkTooth</td>
<td>Flow</td>
<td>Phamplet</td>
<td>Stinger</td>
<td><strong>Nemo</strong></td>
<td>Gill</td>
<td>Bubbles</td>
</tr>
</tbody>
</table>
</li>
<li>That didn&#8217;t look good. Nemo moved spuriously, and the other fishes either jumped aimlessly or stayed at their place. Nothing made much sense.</li>
</ul>
</li>
<blockquote><p><strong>Testing Hint:</strong> When you look at a problem or thing, different models will give you different view and different details. Multiple viewpoints help &#8212; keep changing the viewpoint until you learn enough.</p></blockquote>
<p>One interesting thing that happened by this time, is that in my manual trials, I was finding Nemo pretty easily.<br />
Intuitively, I was seeing a pattern on the game, a pattern that was not conscious or explicit. It was as if my mind had already learned the rules without noticing them.<br />
It reminded me of what <a href="http://www.douglasadams.com/">Douglas Adams</a> wrote in <a href="http://en.wikipedia.org/wiki/Dirk_Gently's_Holistic_Detective_Agency">Dirk Gently&#8217;s Holistic Detective Agency</a>:<br />
&#8220;<code>A ball flying through the air is responding to the force and direction with which it was thrown, the action of gravity, the friction of the air which it must expend its energy on overcoming, the turbulence of the air around its surface, and the rate and direction of the ball's spin.<br />
And yet, someone who might have difficulty consciously trying to work out what 3 x 4 x 5 comes to would have no trouble in doing differential calculus and a whole host of related calculations so astoundingly fast that they can actually catch a flying ball.<br />
People who call this instinct are merely giving the phenomenon a name, not explaining anything.</code>&#8221;</p>
<ul>
<li>I still thought that looking at the other fishes will bring the breakthrough needed.
<ol>
<li>In order to learn the movement of the fishes, I did a table of their placement in relation to Nemo at every run.
<ol>
<li>i. This is what I got:</li>
<li>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td><strong>Nemo</strong></td>
<td>Gill</td>
<td>Bubbles</td>
<td>SharkTooth</td>
<td>Flow</td>
<td>Phamplet</td>
<td>Stinger</td>
</tr>
<tr>
<td><strong>Nemo</strong></td>
<td>Phamplet</td>
<td>Gill</td>
<td>Bubbles</td>
<td>Flow</td>
<td>Stinger</td>
<td>SharkTooth</td>
</tr>
<tr>
<td><strong>Nemo</strong></td>
<td>Gill</td>
<td>Bubbles</td>
<td>SharkTooth</td>
<td>Flow</td>
<td>Phamplet</td>
<td>Stinger</td>
</tr>
<tr>
<td><strong>Nemo</strong></td>
<td>Phamplet</td>
<td>Gill</td>
<td>Bubbles</td>
<td>Flow</td>
<td>Stinger</td>
<td>SharkTooth</td>
</tr>
<tr>
<td><strong>Nemo</strong></td>
<td>Gill</td>
<td>Bubbles</td>
<td>SharkTooth</td>
<td>Flow</td>
<td>Phamplet</td>
<td>Stinger</td>
</tr>
<tr>
<td><strong>Nemo</strong></td>
<td>Phamplet</td>
<td>Gill</td>
<td>Bubbles</td>
<td>Flow</td>
<td>Stinger</td>
<td>SharkTooth</td>
</tr>
<tr>
<td><strong>Nemo</strong></td>
<td>Gill</td>
<td>Bubbles</td>
<td>SharkTooth</td>
<td>Flow</td>
<td>Phamplet</td>
<td>Stinger</td>
</tr>
</tbody>
</table>
</li>
<li>See anything interesting? The rows repeat themselves alternatingly! So the fishes were not really moving around, they were following Nemo!
<ol>
<li>My take is that Pradeep has two different arrays: One for <strong>Odd</strong> rows, the other for <strong>Even </strong>rows.
<ol>
<li>This may not be true, but it doesn&#8217;t matter for us. When testing, we not always know what exactly the programmer wrote in the code, but we infer a mental model. If it suits the needs, it is a good model even when not the real thing.
<ol>
<li>Many times I think these fake mental models are even better than the real thing. It’s the best way for them to act as an intuitive Oracle when analyzing an application.</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ul>
<blockquote><p><strong>Testing hint: </strong>When you learn and infer about software, you make assumptions and a mental model of what the software does inside itself. This model <strong>does not need to be an exact depiction </strong>of the code underneath the app. As long as it answers your questions, and you change this model constantly as you learn, it is good.</p></blockquote>
<ul>
<li>From this part on, I started to analyze Even rows and Odd rows separately.
<ul>
<li>Bingo! Seeing the pattern was easy now.</li>
<li><strong>Odd</strong> rows follow this cyclic sequence: <strong>+4, +4, +1</strong></li>
<li><strong>Even</strong> rows follow this cyclic sequence: <strong>+0, +4, +4</strong></li>
</ul>
</li>
<li>.</li>
<li>But what with the differences when using different &#8220;<code>Minimum Attempts</code>&#8220;?
<ul>
<li>A quick look at the tables I had gathered showed that they follow the same rules, but start at different places.</li>
</ul>
</li>
<li>.</li>
<li>At the end of this trials, these are the set of rules that allow me to know where&#8217;s Nemo at any given time:</li>
<li><strong>a. Where does Nemo start?</strong>
<ol>
<li>&#8220;<code>Minimum Attempts</code>&#8221; of 10, 13, 16, 19…</li>
<li>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td> </td>
<td><strong>Place 1</strong></td>
<td><strong>Place 2</strong></td>
<td><strong>Place 3</strong></td>
<td><strong>Place 4</strong></td>
<td><strong>Place 5</strong></td>
<td><strong>Place 6</strong></td>
<td><strong>Place 7</strong></td>
</tr>
<tr>
<td><strong>First Line</strong></td>
<td>Nemo</td>
<td>Gill</td>
<td>Bubbles</td>
<td>SharkTooth</td>
<td>Flow</td>
<td>Phamplet</td>
<td>Stinger</td>
</tr>
<tr>
<td><strong>Second Line</strong></td>
<td>Stinger</td>
<td>SharkTooth</td>
<td>Nemo</td>
<td>Phamplet</td>
<td>Gill</td>
<td>Bubbles</td>
<td>Flow</td>
</tr>
</tbody>
</table>
</li>
</ol>
<ol>
<li>&#8220;<code>Minimum Attempts</code>&#8221; of 11, 14, 17, 20…</li>
<li>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td> </td>
<td><strong>Place 1</strong></td>
<td><strong>Place 2</strong></td>
<td><strong>Place 3</strong></td>
<td><strong>Place 4</strong></td>
<td><strong>Place 5</strong></td>
<td><strong>Place 6</strong></td>
<td><strong>Place 7</strong></td>
</tr>
<tr>
<td><strong>First Line</strong></td>
<td>Nemo</td>
<td>Gill</td>
<td>Bubbles</td>
<td>SharkTooth</td>
<td>Flow</td>
<td>Phamplet</td>
<td>Stinger</td>
</tr>
<tr>
<td><strong>Second Line</strong></td>
<td>Gill</td>
<td>Bubbles</td>
<td>Flow</td>
<td>Stinger</td>
<td>SharkTooth</td>
<td>Nemo</td>
<td>Phamplet</td>
</tr>
</tbody>
</table>
</li>
<li>&#8220;<code>Minimum Attempts</code>&#8221; of 12, 15, 18, 21….</li>
<li>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td> </td>
<td>Place 1</td>
<td>Place 2</td>
<td>Place 3</td>
<td>Place 4</td>
<td>Place 5</td>
<td>Place 6</td>
<td>Place 7</td>
</tr>
<tr>
<td>First Line</td>
<td>Flow</td>
<td>Phamplet</td>
<td>Stinger</td>
<td>Nemo</td>
<td>Gill</td>
<td>Bubbles</td>
<td>SharkTooth</td>
</tr>
<tr>
<td>Second Line</td>
<td>Stinger</td>
<td>SharkTooth</td>
<td>Nemo</td>
<td>Phamplet</td>
<td>Gill</td>
<td>Bubbles</td>
<td>Flow</td>
</tr>
</tbody>
</table>
</li>
</ol>
</li>
<li><strong>b. Where does Nemo go?</strong>
<ol>
<li>i. &#8220;<code>Minimum Attempts</code>&#8221; of 10, 13, 16, 19… Follow this cyclic rule, starting at step 1.</li>
<li>ii. &#8220;<code>Minimum Attempts</code>&#8221; of 11, 14, 17, 20… Follow this cyclic rule, starting at step 2.</li>
<li>iii. &#8220;<code>Minimum Attempts</code>&#8221; of 12, 15, 18, 21… Follow this cyclic rule, starting at step 3.</li>
<li><strong>Odd Rows: +4 | +4 | +1</strong></li>
<li><strong>Even Rows: +0 | +4 | +4</strong></li>
</ol>
</li>
<li>.</li>
<li><strong>How do I know it is right? </strong>
<ul>
<li><strong>Proof! <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong> I built another automation aid: An Excel spreadsheet that can tell you the position of nemo in all trials given an initial &#8220;<code>Minimum Attempt</code>&#8220;. It works!</li>
<li><strong>You can download the spreadsheet to try it </strong><a href="http://testing.gershon.info/wp-content/uploads/2010/02/FindingNemoForPradeep.xls"><strong>here</strong></a><strong>.</strong> Choose any number of initial attempts, it will tell you all Nemo&#8217;s position accurately.</li>
<li>Is this the real logic behind Pradeep&#8217;s challenge? It may not be. It is probable that pradeep did something else, much simpler, and that only <strong>translates</strong> into this. However, this answers the mission of predicting Nemo&#8217;s moves.
<ul>
<li>I am sure that analyzing the findings above one can discover what was really that Pradeep did. I&#8217;ll just ask Pradeep on a mail for a suggestion. <strong>Testing hint:</strong> You can always reach out to the developer and ask him about his software and/or code! <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
</ul>
</li>
</ul>
</li>
</ul>
<blockquote><p><strong>Testing hint:</strong> Again, your mental model doesn&#8217;t always needs to be exact. As long as it works and answers the questions you have. Keep in mind that this mental model should be flexible and evolve with your knowledge.</p></blockquote>
<ul>
<li><strong>Conclusion sent to the &#8216;roulette&#8217; stakeholders:<br />
Until a higher amount of randomness is added to the game, it is too risky to release the game as is now. A malicious player can find the logic of the game after some hours of work, and a pair of smart malicious players in even less time.</strong></li>
</ul>
<p>Thanks Pradeep, for the nice challenge.<br />
It was a very nice experiment, and I learnt a lot. The best part, for me, was organizing my thoughts in this report, and I hope you like it too.</p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200905/exploratory-shopping-an-analogy-attempt/' rel='bookmark' title='Permanent Link: Exploratory Shopping &#8211; An analogy attempt'>Exploratory Shopping &#8211; An analogy attempt</a></li>
<li><a href='http://testing.gershon.info/200912/testing-is-funny-with-demetri-martin/' rel='bookmark' title='Permanent Link: Software Testing is Funny! with Demetri Martin'>Software Testing is Funny! with Demetri Martin</a></li>
<li><a href='http://testing.gershon.info/200704/annotated-joel-on-software-bad-reasons-not-to-test/' rel='bookmark' title='Permanent Link: Annotated Joel on Software &#8211; (Bad) Reasons not to test'>Annotated Joel on Software &#8211; (Bad) Reasons not to test</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/201002/nemo-solving-exploratory-approach/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Yay, another Happy New Testing Year!  A decade in review&#8230;</title>
		<link>http://testing.gershon.info/201001/yay-another-happy-new-testing-year-a-decade-in-review/</link>
		<comments>http://testing.gershon.info/201001/yay-another-happy-new-testing-year-a-decade-in-review/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 21:57:12 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Test Annotations]]></category>
		<category><![CDATA[Test Insight]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[certification]]></category>
		<category><![CDATA[context driven]]></category>
		<category><![CDATA[decade]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[happy]]></category>
		<category><![CDATA[important development]]></category>
		<category><![CDATA[professional]]></category>
		<category><![CDATA[questions]]></category>
		<category><![CDATA[stackexchange]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[year]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/?p=142</guid>
		<description><![CDATA[This is our fourth Happy New testing Year post, after this one, this one and this one. :)
So, a few hours before January is over, I&#8217;ll transpose here an answer to Testing.StackExchange about the last decade on testing:
Question: What are the most important software testing developments of the decade?
My Answer:
The question asks about the most important developments&#8230; Not the best [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-thumbnail wp-image-151" title="new_year_champagne_glasses_4" src="http://testing.gershon.info/wp-content/uploads/2010/01/new_year_champagne_glasses_4-250x233.png" alt="" width="134" height="115" />This is our <strong>fourth</strong> Happy New testing Year post, after <a href="http://testing.gershon.info/20070101/happy-new-testing-year/">this one</a>, <a href="http://testing.gershon.info/20080413/32/">this one</a> and <a href="http://testing.gershon.info/200901/happy-new-test…year-yet-again/">this one</a>. :)</p>
<p>So, a few hours before January is over, I&#8217;ll transpose here an <a href="http://testing.stackexchange.com/questions/360/what-are-the-most-important-software-testing-developments-of-the-decade/368#368">answer </a>to <a href="http://testing.stackexchange.com/">Testing.StackExchange</a> about the last decade on testing:</p>
<blockquote><p><strong>Question: What are the most important software testing developments of the decade?</strong></p></blockquote>
<p><strong>My Answer:<br />
</strong>The question asks about <strong>the most important</strong> developments&#8230; Not the best or the worst, the beneficial or the harmful.<br />
I&#8217;ll try to answer here with considerations by me and others I found on the net. Not everybody will agree that all these are good &#8212; even I don&#8217;t agree with all <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8212; but my approach here is more of a reporter than a judge.<span id="more-142"></span></p>
<ol>
<li><strong><span style="text-decoration: underline;">Blogs</span></strong> were the most important testing development, at least for me <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .<br />
It helps me grow my testing philosophy. It helps by being a quick and instrumental medium to quality discussions. Following the great authors as they write is a great experience (<em>many authors started blogging only during the 2000&#8217;s, like James Bach and Michael Bolton</em>).<br />
One great thing about blogs is that they allow us to understand the flow of ideas as they are being built upon &#8212; instead of simply receiving the ideas later, in book, as was the custom 10 years earlier.</p>
<ul>
<li><a href="http://twitter.com/sgershon">Tweeting</a>, <a href="http://br.groups.yahoo.com/group/DFTestes">forums</a>, and other <a href="https://wave.google.com/wave/">collaboration</a> platforms of Web2.0 are cool too, but I believe their impact to be smaller.</li>
<li>Blogging also allows a simple guy like me to share his <a href="http://testing.gershon.info/">Testing Thoughts</a> :).</li>
</ul>
</li>
</ol>
<p>Other points:</p>
<ol>
<li>The <strong><a href="http://www.context-driven-testing.com/">Context-Driven School</a></strong> gathered momentum with this name, and became well known. I couldn&#8217;t find tracks on the full history of the context-driven school, but the earliest mentions I could find to it <strong>with this name</strong> are from the <strong>very</strong> late nineties. It is clear that Cem and James were publishing context-driven papers from the early 90&#8217;s (<em>see </em><a href="http://c2.com/cgi/wiki$?ContextDrivenTesting"><em>here</em></a>), maybe before &#8212; but the first places where I found the &#8220;context-driven&#8221; name where from 1999 (<em>at the </em><a href="http://groups.yahoo.com/group/software-testing/message/29"><em>software-testing list</em></a><em>. This seems corroborated by <a href="http://c2.com/cgi/wiki$?ContextDrivenTesting">C2&#8217;s page</a></em>).
<ul>
<li>Again, I don&#8217;t mean to say that it started on this decade. I believe the work of the context-driven people was context-driven for the last 50 years <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , and all had always sought excellency. It is not new from the 2000&#8217;s, but it looks like the movement got a name &#8212; and <strong>exposure as a movement</strong> &#8212; only in the last 10 years.</li>
</ul>
</li>
<li><strong>Certifications</strong> gathered momentum too. <strong>Without</strong> entering in the good/bad discussion, it is a movement that had a lot of action in the past 10 years and affected the way we discuss software testing today. It wouldn&#8217;t be fair to count what happened in the 2k&#8217;s without mentioning them.
<ul>
<li>The <a rel="nofollow" href="http://www.istqb.org/">ISTQB</a> was founded in 2002, and is a popular certification.</li>
<li>The <a rel="nofollow" href="http://www.bcs.org/server.php?show=nav.10920">ISEB</a> was doing certifications before (<em>so this too, isn&#8217;t entirely a new thing</em>), but all got much more impetus.</li>
</ul>
</li>
<li>Greater awareness and recognition of the benefits not only of Exploratory Testing, but of testing in general, and testing as a career too.</li>
<li>Michael Bolton started consulting in the testing arena, but moreover started <a href="http://www.developsense.com/">writing and publishing</a>. His essays about <strong><a href="http://www.developsense.com/2009/08/testing-vs-checking.html">testing and checking</a></strong> are very cool, and Jon Bach <a href="http://www.developsense.com/2009/08/testing-vs-checking.html?showComment=1254623065308#c8498432514596631138">considered it</a> &#8220;<code>one of the most (in)famous and important posts to come along in our industry in a long time</code>&#8220;.</li>
</ol>
<p>For the next 10 years&#8230;</p>
<ol>
<li>The <a rel="nofollow" href="http://weekendtesting.com/">weekend testing</a> meetings in India were highly praised by <a href="http://twitter.com/jamesmarcusbach">James</a>, <a href="http://twitter.com/michaelbolton">Michael</a> and <a href="http://twitter.com/testertested">Pradeep</a> on twitter. Seems like they believe it will make an impact on testing in the next years.</li>
<li><a href="http://testing.stackexchange.com/">Testing.StackExchange</a> appeared too late in 2009. But&#8230; will it appear in the 2020 list? <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I hope yes.</li>
</ol>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200901/happy-new-testing-year-yet-again/' rel='bookmark' title='Permanent Link: Happy New Testing Year! Yet again!'>Happy New Testing Year! Yet again!</a></li>
<li><a href='http://testing.gershon.info/200701/happy-new-testing-year/' rel='bookmark' title='Permanent Link: Happy New Testing Year!'>Happy New Testing Year!</a></li>
<li><a href='http://testing.gershon.info/200804/32/' rel='bookmark' title='Permanent Link: Happy New Testing Year Again! What? Too late?'>Happy New Testing Year Again! What? Too late?</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/201001/yay-another-happy-new-testing-year-a-decade-in-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Software Testing is Funny! with Demetri Martin</title>
		<link>http://testing.gershon.info/200912/testing-is-funny-with-demetri-martin/</link>
		<comments>http://testing.gershon.info/200912/testing-is-funny-with-demetri-martin/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 15:56:59 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Nerd T35t1ng]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Test Annotations]]></category>
		<category><![CDATA[comedy]]></category>
		<category><![CDATA[demetri]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[funny]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[joke]]></category>
		<category><![CDATA[martin]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/?p=68</guid>
		<description><![CDATA[
One best friend of mine introduced me to Mitch Hedberg and Demetri Martin, great one-liner comedians. They are/were two funny men!! Three, actually, if you count my friend which is also funny. 
After hearing the disks for over a year, not only the jokes aren&#8217;t any less funny, but I&#8217;ve started to find subliminal testing messages [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;">
<div id="attachment_78" class="wp-caption alignright" style="width: 160px"><img class="size-thumbnail wp-image-78 " title="Demetri Martin" src="http://testing.gershon.info/wp-content/uploads/2009/12/402006martin1-150x150.jpg" alt="" width="150" height="150" /><p class="wp-caption-text">Demetri Martin</p></div>
</div>
<p>One best friend of mine introduced me to <a href="http://en.wikipedia.org/wiki/Mitch_Hedberg">Mitch Hedberg</a> and <a href="http://en.wikipedia.org/wiki/Demetri_Martin">Demetri Martin</a>, great one-liner comedians. They are/were two funny men!! Three, actually, if you count my friend which is also funny. </p>
<p>After hearing the disks for over a year, not only the jokes aren&#8217;t any less funny, but I&#8217;ve started to find <a href="http://en.wikipedia.org/wiki/Subliminal_Message">subliminal testing messages</a> in them <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .<br />
I&#8217;m writing down these &#8220;insights&#8221; because I find value in them. And even if they fail to teach you something&#8230; Hey! At least the jokes are pretty funny! <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
So here go some favorite quotes, and their parallel in testing: </p>
<p><span id="more-68"></span> </p>
<p>. </p>
<blockquote><p><strong>1)</strong> &#8220;<code>A drunk driver is very dangerous. So is a drunk backseat driver, if he’s persuasive!<br />
'<em>Dude, make a left.</em>'<br />
'<em>But those are trees…!</em>'<br />
'<em>Trust me...</em>'</code>&#8220; </p></blockquote>
<p>We are testers. As such, most of the time we aren&#8217;t driving the company: Essential operational decisions are made by someone else (<em>project manager, product owner, CEO, whatever you call him</em>).<br />
But if we are not the drivers, our position is certainly close to this of a backseat driver: we have our maps, good knowledge of the area and our experience; and we give advice that is used to take real decisions. So <strong>don&#8217;t be a drunken backseat driver, it&#8217;s dangerous!</strong> If you are inebriated by an obsessive desire to fix a bug, or by a personal quest against/for colleague, by a blind belief in a set of metrics or a unfounded trust in a <a href="http://www.developsense.com/articles/2004-09-ComparativelySpeaking.pdf">fictitious</a> &#8220;Best Practice&#8221;, you&#8217;ll be taking your company directly into the trees.<br />
 <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  And, as with any drunk person&#8230; Whenever your judgment isn&#8217;t objective&#8230; At least recognize/admit that you may be drunk! Will make it easier for everyone else. </p>
<p>. </p>
<blockquote><p><strong>2)</strong> &#8220;<code>I used to play sports... Then I realized you can <em><strong>buy</strong></em> trophies. Now I'm good at everything!</code>&#8220; </p></blockquote>
<p>A plaque, a crown, a card, a trophy&#8230; It is common to find people who treasure &#8220;victory symbols&#8221;, I know I do. They prove you&#8217;ve mastered a skill.<br />
Trophies are nice and great, but only if they are accompanied by skills and real world practice. Trophies that can be attained without these traits are just empty cups<a href="http://www.imdb.com/title/tt0317219/quotes">*</a>. </p>
<p>One should beware when dealing with &#8220;achievement symbols&#8221;&#8230; At times, acquiring the symbol does not mean acquiring the achievement or skill too!<br />
For example, just as buying the trophy doesn&#8217;t make Demetri good at tennis, getting a testing certification won&#8217;t make a tester good at testing&#8230; The certifications syllabi try to teach only specific lexicon and terms definition, but not the real practice of testing, because they don&#8217;t/can&#8217;t cover the interactions between persons and players.<br />
For some people, the joke could be read as &#8220;<code>I used to practice and study... Then I realized you can pass a certification. Now I can prove mastership - without the effort of gaining it!</code>&#8221; Be sure to be from the ones who keep learning and carrying the skill. </p>
<p>. </p>
<blockquote><p><strong>3)</strong> &#8220;<code>I am afraid of sharks, but only in a water situation. If I saw a shark on the street, I'd be like '<em>What? F#*k you!</em>'<br />
It's funny, that's like the opposite of how I am with lions!</code>&#8220; </p></blockquote>
<p>What&#8217;s the Best Practice for dealing with sharks? &#8220;Escaping&#8221; or &#8220;screaming&#8221;, right?<br />
What if the shark&#8217;s on the sand? Or dead? Not hungry? Not dangerous? You have an anti-bite clothe? Anti-shark cage? Suddenly the &#8216;Best Practice&#8217; looks more like a <a href="http://www.developsense.com/articles/2004-09-ComparativelySpeaking.pdf">&#8217;so-so advice&#8217;</a>, uh? </p>
<p>The business of testing isn&#8217;t different. By looking at our surroundings and context, we can learn important details about our problems &#8211; and only then we can try to find an action path that solves it.<br />
Without the context analysis, we may come with solutions that don&#8217;t address the <strong>real</strong> problem or does it badly. One size only seldom fits all. </p>
<p>. </p>
<blockquote><p><strong>4)</strong> &#8220;<code>If I have to move up in a building, I choose the elevator over the escalator. Because one time I was riding the escalator and I tripped. I fell down the stairs... for an hour and a half.</code>&#8220;</p></blockquote>
<p>Automation is all nice and fine&#8230; Until you trip on it! Then it takes long time to recover from the fall (<em>you could be long done by this time</em>) and the fix to the system can be so crooked that it lets you prone to further tripping.<br />
The elevator is a much more robust automation (<em>not only it goes up and down, but it is much safer to trip in it <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em>).<br />
Anyway, who said you have to automate? An equally good way to go up and down is the stairs! You don&#8217;t need to wait for them to come, they are as quick as you need (<em>or can make</em>) them to be, you can stop to look around or change direction in the middle of the way, they don&#8217;t limit weight or number of users and they are never out-of-order.<br />
Slipping, well, can hurt a bit <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Just remember that manually doing things gives you many opportunities a machine cannot provide. </p>
<p>. </p>
<blockquote><p><strong>5)</strong> &#8220;<code>I saw a sign on this door; it said, '<em>Exit Only</em>'. So, I entered it and went up to the guy working there, and I was like, '<em>I have some good news. You have severely underestimated this door over here by, like, 100%, man!</em>'</code>&#8220;</p></blockquote>
<p><img class="alignleft size-thumbnail wp-image-82" title="Exit Only" src="http://testing.gershon.info/wp-content/uploads/2009/12/c-exitsigns1-125x150.jpg" alt="" width="90" height="108" />Labeling is a natural instinct: The Bible depicts Adam naming animals as his first action in Eden, and Aristotle has been <a href="http://en.wikipedia.org/wiki/Aristotle#Classification_of_living_things">classifying everything</a> since the 300 BC.<br />
But the labels we use can limit ourselves or our tools.<br />
&#8220;<code>I'm a tester, I can't code</code>&#8220;.<br />
&#8220;<code>I'm an engineer, I can't sell</code>&#8220;.<br />
&#8220;<code>I'm a newbie, I can't help</code>&#8220;.<br />
Good news! You&#8217;ve underestimated yourself by at least 100%! </p>
<p>. </p>
<blockquote><p><strong>6)</strong> &#8220;<code>I want to make a revolving door that says '<em>Pull</em>' on it, just see how obedient people are.</code>&#8220; </p></blockquote>
<p>Meeting a Test Case that says “<code>1) Reach to revolving door</code>”, “<code>2) Pull the door to open</code>”. What do you do?<br />
Maybe nothing is wrong. Maybe there are good reasons to make people walk backwards at the entrance.<br />
Or maybe there isn&#8217;t, and then, who&#8217;s decides? The test case? The design? The developer? The tester?<br />
What are <strong>your ways to discover about the door</strong> product and its users before deciding on obeying or not?</p>
<p>. </p>
<blockquote><p><strong>7)</strong> &#8220;<code>I was walking down the street, and this guy waved to me. Then he came up to me and said, '<em>I'm sorry, I thought you were someone else.</em>' I said, '<em>I am.</em>'</code>&#8220; </p></blockquote>
<p>Wow, that&#8217;s a funny joke! <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Beginning a task with a very clear objective is usually a good thing &#8211; but failing to identify or even acknowledge alternative outcomes may not be.<br />
A good friend was working in an academic project, trying to prove a theory about the nature of lasers. However, while progressing in the research, the calculations made clear that the theory wasn&#8217;t right. He was desolated &#8211; all this work and nothing to publish! He failed, momentarily, to notice that demonstrating a theory wrong has as much scientific value as proving it right, and the publication will advance science just as well.<br />
Testing present us with many similar situations. We can start a test chasing a specific bug, and miss other bugs that may appear. Or we can keep our mind open for different outcomes, and grow your tests as we go from these outcomes. A different bug <strong>is</strong> hiding there, believe it <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . </p>
<p>. </p>
<blockquote><p><strong>8 )</strong> &#8220;<code>My plumbing is all screwed up. Because it turns out, I do not own a garbage disposal.</code>&#8220; </p></blockquote>
<p>How many times we rely on a garbage disposal when we don&#8217;t have one?<br />
- Don&#8217;t worry, release it that way, we have a fantastic relationship with this customer. <em>What if you don&#8217;t?</em><br />
- It&#8217;s fine to release that way, the customer has a great quality assurance team and they&#8217;ll catch it if there&#8217;s a problem. <em>What if they don&#8217;t?</em><br />
- No problem, we can work Sundays &#8212; our testing department understands our needs and won&#8217;t care. <em>What if they do care?</em><br />
- This looks like a very nasty bug. But customers will always have the underlying framework, so it is fine. <em>Will they always?</em> </p>
<p><em>.</em> </p>
<blockquote><p><strong>9)</strong> &#8220;<code>I'm in a weird position, because I like rainbows, but I'm not gay. So whenever I go out wearing a rainbow shirt, I have to put '<em>Not gay</em>'. But I'm not against gays, so under that I'll have to put '<em>... but supportive</em>'. It's weird how one group of people took refracted light. That's very greedy, gays.</code>&#8220; </p></blockquote>
<p>Once in a while a group of people will come, wrap common sense ideas in a new named package, and claim ownership, which is as reasonable as taking sole ownership of refracted light. <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
I could parallel this one to many things or groups, but I chose one where this happens with a lot of enthusiasm&#8230; The Agile movement.<br />
Suddenly, you can&#8217;t focus on customer and organize a software project in a change-adapting way, without being called Agile. That group just took no-nonsense practices that had been used for decades and re-branded them as if they had invented it! <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Don&#8217;t get me wrong &#8211; it is my opinion that what Agile preaches are often-good-practices-for-many-contexts and there are testimonies of companies, projects and souls being saved from a bureaucracy and poor quality hell by adopting Agile as a new approach. But this does not mean that anyone who is delivering quality in a &#8220;release early release often&#8221; way is <strong><span style="text-decoration: underline;">A</span>gile</strong>.<br />
For example, even being a total newbie and never part of an Agile team until now, my personal testing approach focus on happy customers, working software, individual interactions and change &#8212; without me needing to be an <strong><span style="text-decoration: underline;">A</span></strong>gilist.<br />
More experienced great people had practiced all that, and test-first, and XP for decades. </p>
<p>More than that, not only the practices&#8217; refracted light was taken, but even the word &#8220;agile&#8221; itself was expropriated <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8211; see James Bach&#8217;s note at his <a href="http://www.satisfice.com/blog/archives/51">&#8216;Who stole Agile&#8217; post</a>. </p>
<p>&#8212;&#8212;<br />
Hope you enjoyed the article, or at least Demetri&#8217;s jokes.<br />
If you have more insights and funny stuff to share, don&#8217;t hesitate to contact me &#8211; I promise to laugh.</p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/201002/nemo-solving-exploratory-approach/' rel='bookmark' title='Permanent Link: Finding Nemo &#8211; Solving Pradeep&#8217;s software testing challenge (an exploratory approach)'>Finding Nemo &#8211; Solving Pradeep&#8217;s software testing challenge (an exploratory approach)</a></li>
<li><a href='http://testing.gershon.info/200704/annotated-joel-on-software-bad-reasons-not-to-test/' rel='bookmark' title='Permanent Link: Annotated Joel on Software &#8211; (Bad) Reasons not to test'>Annotated Joel on Software &#8211; (Bad) Reasons not to test</a></li>
<li><a href='http://testing.gershon.info/200909/create-your-testing-portfolio-presentation/' rel='bookmark' title='Permanent Link: &#8220;Create your testing portfolio&#8221; presentation'>&#8220;Create your testing portfolio&#8221; presentation</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200912/testing-is-funny-with-demetri-martin/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Testing questions and the Laws of eCommerce</title>
		<link>http://testing.gershon.info/200911/testing-and-knowing-the-law-of-ecommerce/</link>
		<comments>http://testing.gershon.info/200911/testing-and-knowing-the-law-of-ecommerce/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 13:08:15 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Ask the Tester]]></category>
		<category><![CDATA[Nerd T35t1ng]]></category>
		<category><![CDATA[Test Insight]]></category>
		<category><![CDATA[commerce]]></category>
		<category><![CDATA[law]]></category>
		<category><![CDATA[legal]]></category>
		<category><![CDATA[questions]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20091130/testing-and-knowing-the-law-of-ecommerce/</guid>
		<description><![CDATA[(Disclosure: I am not a lawyer!) (Request: Are you a lawyer? Please send me corrections  )
Matters related to law, and all the discussions around it, interest me much &#8212; especially when related to Software.
This made me read about the subject and keep contact with the legal representatives within the company I work for. This also motivated [...]]]></description>
			<content:encoded><![CDATA[<p>(<em>Disclosure: I am not a lawyer!</em>) (<em>Request: Are you a lawyer? Please send me corrections <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em>)</p>
<p>Matters related to law, and all the discussions around it, interest me much &#8212; especially when related to Software.<br />
This made me read about the subject and keep contact with the legal representatives within the company I work for. This also motivated me to learn and lecture about the legal guidelines in software development adopted by our company, and to lecture about legal matters on software in general at the last <a href="http://www.sigist.org.il/">Israeli SIGiST</a> conference.<br />
Most important than all, this made people share with me a lot of comments, questions and stories pertaining to the law.</p>
<p>For example, one colleague brought to my attention a case in which he and some friends had bought a PlayStation 3 in the local Office Depot website for 220NIS &#8211; when the normal price is almost tenfold! They believed it was some special sale promotion, but at the end Office Depot announced it as a typing mistake and cancelled the sale after it had been acknowledged (<em>sale confirmation by email</em>). <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
(<em>There is an article about the episode in Hebrew </em><a href="http://www.ynet.co.il/articles/0,7340,L-3769212,00.html"><em>here </em></a><em>if you want to see it</em>).</p>
<p>What is my opinion on the legal aspects of the story? I was asked.<br />
I don&#8217;t have one, as I am not a legal professional, I answered. I am, though, a Testing professional, and here is the tester rambling I sent by mail commenting the occurrence:</p>
<p><span id="more-65"></span>&#8212;&#8212;<br />
In fact, electronic transactions are special and different that normal stores. They can be built without any human interaction whatsoever, and the lack of human monitoring can bring new and unexpected problems.<br />
Note that I can’t have an official Legal opinion, as I am not a lawyer. I’ll just write what I learn.<br />
A usual understanding in contract law is that once both parts show agreement to the deal, then the deal is closed and valid (<em>I think a lawyer would explain this by stating that there is a mutual offer <strong>and acceptance</strong> of goods or services</em>). Such agreement is shown, for example, by accepting the payment money.<br />
In such a case as this story, the electronic sale often includes a debit in the buyer&#8217;s Credit Card (<em>that turns into a credit at the cancellation of sale</em>). If a service provider accepts payment for a service, he is in obligation to provide the service at the agreed terms. If he didn’t agreed to the terms, he would not have taken the payment. So in our case the fact that a payment transaction was completed supposedly forces the two parts to honor it (<em>the store should not cancel the delivery just as you should not cancel the money debit</em>).</p>
<p>However, apart from the amateur philosophy, we can find a bit more of info in the net about this sort of things&#8230;<br />
a) Not only the payment debit can be viewed as a contract acceptance, but also the confirmation mail you receive when buying online can be seen as such, depending on what it writes.<br />
b) The Terms of Service of the website can be used for or against the store, depending on their presence and the judge interpretation of them.</p>
<ul>
<li>For example:</li>
<li>Buy.Com (<em>huge company, 290 million revenue</em>) announced at $164 a $588 monitor. They tried to cancel the sales, and lost more than $60000 in a lawsuit (<a href="http://news.cnet.com/2100-1017-221466.html">CNET link</a>).</li>
<li>On the other hand, Amazon.Com (<em>huger, 19 billion revenue</em>) announced at $11 a $449 handheld (<a href="http://news.cnet.com/Amazon-wont-honor-pricing-mistake/2100-1017_3-993246.html">CNET link</a>). They cancelled the sales successfully, claiming that the Terms of Use state that <code>there is no binding contract until the <strong>confirmation of shipment arrives</strong></code>.</li>
<ul>
<li>Buy.Com had no such protection in their terms, and after the lawsuit they updated the terms to include “<code>have the right to refuse or cancel any such orders whether or not the order has been confirmed and your credit card charged</code>”.</li>
<ul>
<li>If it will always help? Not sure. In <a href="http://news.cnet.com/2100-1017-221466.html">this link</a> a representative of the <a href="http://www.ftc.gov/">FTC</a> says that it will depend greatly on the state the lawsuit is taking place.</li>
</ul>
</ul>
</ul>
<p>In the US, there is a concept of “<code>loss of bargain</code>”, that could allow one to buy the PS3 at normal price and sue for the difference (<em>which represents the bargain lost due to the store&#8217;s malpractice</em>). Of course, if the judge identifies the buyer as having bought it to exploit a weakness or obvious typo, the attempt can backfire&#8230;</p>
<p> </p>
<p>Now that we learned some principles of the domain&#8230; We go for the most important&#8230; <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
As I said, I have no legal opinion, but <strong>I do have a tester opinion</strong>.<br />
First, this shows (<em>again</em>) that there is no final answer in the law yet for new technologies and new problems.</p>
<p>And I now know that for assessing risk on an e-store product, one has to answer these questions too:</p>
<ul>
<li>Does the system have any protection against mistakes</li>
<ul>
<li>This can be done by issuing an alert if there is a big discrepancy after:</li>
<ul>
<li>comparing the product to similar ones</li>
<li>or comparing to the previous price</li>
<li>or comparing to the price in the normal (brick) store</li>
</ul>
</ul>
<li>Does the system require a manual human confirmation before sending the payment or confirmation mail?</li>
<ul>
<li>This can be bad for a large operation, but for small-medium business, can be a good way of catching mistakes</li>
</ul>
<li>Does the system alerts the administrator if there is a sudden surge in the purchases of a newly added product?</li>
<li>Do the Terms and Conditions protect the company in case of mistakes?</li>
<li>Are the Terms and Conditions clear to the end user? At least in a visible place?</li>
<li>Is the user obliged to mark an acceptance to the Terms during log-on, or it is just a link in the page footer?</li>
</ul>
<p>These are some of the questions I would ask when faced with such a product. There are more, certainly &#8212; please share your own ones in the comments or by email <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&#8212;&#8212;<br />
One last comment&#8230; <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Sometimes the typos make the prices higher than the norm&#8230; See this picture, a real example from Amazon <strong>selling </strong><a href="http://www.amazon.com/ENGTX285-TOP-HTDI-1GD3-GeForce/dp/B001S2PXJ2"><strong>this $400 card</strong></a><strong> for a whopping $5 million</strong>!! <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  That&#8217;s a lot of money for a graphics card&#8230;<br />
<a class="imagelink" title="400 card" href="http://testing.gershon.info/wp-content/uploads/2009/11/400card.jpg"><img id="image64" alt="400 card" src="http://testing.gershon.info/wp-content/uploads/2009/11/400card.thumbnail.jpg" height="120" /></a><br />
Hummm&#8230; would they cancel <strong>this </strong>sale as a mistake too? <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200901/happy-new-testing-year-yet-again/' rel='bookmark' title='Permanent Link: Happy New Testing Year! Yet again!'>Happy New Testing Year! Yet again!</a></li>
<li><a href='http://testing.gershon.info/200912/testing-is-funny-with-demetri-martin/' rel='bookmark' title='Permanent Link: Software Testing is Funny! with Demetri Martin'>Software Testing is Funny! with Demetri Martin</a></li>
<li><a href='http://testing.gershon.info/200712/three-texts-that-changed-my-testing-life/' rel='bookmark' title='Permanent Link: Three texts that changed my (testing) life'>Three texts that changed my (testing) life</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200911/testing-and-knowing-the-law-of-ecommerce/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8220;Create your testing portfolio&#8221; presentation</title>
		<link>http://testing.gershon.info/200909/create-your-testing-portfolio-presentation/</link>
		<comments>http://testing.gershon.info/200909/create-your-testing-portfolio-presentation/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 20:05:09 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Ask the Tester]]></category>
		<category><![CDATA[Test Insight]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20090926/create-your-testing-portfolio-presentation/</guid>
		<description><![CDATA[Some colleagues and I do voluntary work at TechCareer, helping immigrants learn matters related to technology and score a career in the Israeli Hi-Tech industry either as programmers or testers. It is a very good project, with nice leaders.
My colleague Issi Hazan was asked to teach the ITCQB syllabus to testing-oriented-students at TechCareer, but he [...]]]></description>
			<content:encoded><![CDATA[<p>Some colleagues and I do voluntary work at <a title="TechCareer" href="http://www.tech-career.org/" target="_blank">TechCareer</a>, helping immigrants learn matters related to technology and score a career in the Israeli Hi-Tech industry either as programmers or testers. It is a very good project, with nice leaders.</p>
<p>My colleague <a title="Issi Hazan" href="http://testermindset.blogspot.com/" target="_blank">Issi Hazan</a> was asked to teach the ITCQB syllabus to testing-oriented-students at <a href="http://www.tech-career.org/">TechCareer</a>, but he bravely thought of pushing them to real tests instead, even before they find a job &#8211; this would allow them to build experience and get a job more easily (<em>one way to solve the &#8220;<code>hard to get a job without experience, hard to get experience without a job</code>&#8221; problem</em>).<br />
So we built a lecture on how to &#8220;<code>create a tester portfolio</code>&#8220;. We explain how testing can be done even outside an enterprise environment: Lots of Open Source projects are seeking for good information from software testers, and a good record there is certainly sure to help. Crowdsourcing is also a  possible way to work on testing before getting a real job (<em>see two posts on crowdsourced tests </em><a href="http://testing.gershon.info/20090723/about-youtesting-with-utest/"><em>here</em></a><em> and </em><a href="http://testing.gershon.info/20090829/in-august-a-rewrite-of-julys-utest-post-and-maybe-official-feedback/"><em>here</em></a>).</p>
<p>The presentation is available below in <a href="http://www.slideshare.net/sgershon/create-your-tester-portfolio-2042239">flash format</a>, and can be downloaded here: &#8220;<a href="http://testing.gershon.info/wp-content/uploads/2009/09/create_your_tester_portfolio_1-1.pdf"><code>Create your testing portfolio</code></a>&#8220;.</p>
<p><span style="color: #808080; font-size: xx-small;"><object width="" height="0"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=createyourtesterportfolio11-090922130820-phpapp01"/><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=createyourtesterportfolio11-090922130820-phpapp01"  type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="" height="0"></embed></object><!-- ysttest:Array
(
    [id] => 2042239&#038;doc=createyourtesterportfolio11-090922130820-phpapp01
)
--></span></p>
<div id="__ss_2042239" style="text-align: left; width: 425px;"><object style="margin: 0px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=createyourtesterportfolio11-090922130820-phpapp01&amp;rel=0&amp;stripped_title=create-your-tester-portfolio-2042239" /><embed style="margin: 0px;" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=createyourtesterportfolio11-090922130820-phpapp01&amp;rel=0&amp;stripped_title=create-your-tester-portfolio-2042239" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<p>But <strong>&#8220;<code>PowerPoint is Evil™</code>&#8220;</strong>, so I feel compelled to write it in real words <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  too.<br />
It goes like this:<span id="more-59"></span></p>
<p><strong><span style="text-decoration: underline;">Introduction</span></strong></p>
<p>If you are searching for your first job in software testing, one of the big challenges you will face is how to have your résumé stand out. Either if this is your first job ever, or you&#8217;re changing career from a different background, the question remains: How can your résumé compete with seasoned testers&#8217;?</p>
<p>The solution to the 1st challenge constitutes your second one: actually acquiring this experience that differentiates the seasoned testers. And this is hard.<br />
People looking for jobs often complain they &#8220;<code>can't get a first job without experience, and can't get experience without getting a first job</code>&#8220;. The logic sounds leak proof solid&#8230; where it not for the fact that, well, most people do get a first job. <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So how can a newbie gain this differentiation?<br />
Many people seek certifications, hoping that the additional line or two in the CV with the uppercase LETTERS will cover for the lack of skills and practice. Now, here&#8217;s a secret: they won&#8217;t.<br />
Certifications do not give you skills or wisdom; they give you a determined lexicon and specific definition for terms. Some employers may want that, but they know it does not equal practice.<br />
Software testing is an art. Young artists do not collect &#8220;<code>painter certifications</code>&#8221; or &#8220;<code>canvas master certifications</code>&#8220;&#8230; What young artists do is paint a lot, toss all the colored canvases in a big binder, and show them to galleries. Gallery owners can through this portfolio see their practice, evolution, style and commitment.</p>
<p>This is our suggestion to you: start testing, and be prepared to explain your tests to prospective employers.</p>
<p><strong><span style="text-decoration: underline;">Meet your Pseudo-Employer</span></strong></p>
<p>Testing without having a tester job sounds farfetched, but it is actually within reach.<br />
Of course, you can enter a bug-hunting-spree and find defects in any software from your desktop or the web. While you can learn techniques and tools this way, this method misses the most important (<em>and fun</em>) part of testing: The interactions.<br />
The interactions with people involved in the software will give you focus on what is important for them to know. It will also redirect your tests as you go with feedback and comments, making sure you are always providing useful data. Last, being in touch with this human side of the software will give you the opportunity to explain, discuss and participate in fix/no-fix decisions &#8211; transforming your findings from simple bugs to valuable information on quality and risks.</p>
<p>And there are many ways to be involved with testing in the development of software.<br />
Here are a few options:</p>
<p><strong>&#8211;&gt; Academy Projects</strong></p>
<p>There is a lot of interesting software being done as final projects for Computer Science graduations. These students do all the work themselves, and they will be certainly glad to have help in testing the software.<br />
One of the great things here is that the interaction is all 1 to 1 and face to face, allowing it to be a closer and more dynamic relationship. Feedback and bug-fixing times are quick; you can suggest a change and then see it done the day after.<br />
Posting your &#8216;testing offer&#8217; as a note in the wallboard, or asking from one of the project mentors to point you a needy student, are all good ways to get started.<br />
And, for what it&#8217;s worth, you may appear in the credits on the project report! <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>&#8211;&gt; Open Source</strong></p>
<p><a href="http://sourceforge.net/">Sourceforge</a> has hundreds of thousands of open source software projects under development. You can pick one that suits your interests and limitations by using their filtered search, and you can also take a look at their &#8220;<a href="http://sourceforge.net/people/"><code>Help Wanted</code></a>&#8221; section, which many times ask for help in testing.<br />
The open source community is thirsty for contributors, and they respect sound advice. If you show your competence and are provide consistent views/comments, the community will pay attention &#8211; and they don&#8217;t care about your degree, background or years of experience.<br />
And, for what it&#8217;s worth, you may be given credits (<em>or &#8216;<code>tip of hats</code>&#8216;</em>) on the release notes! <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>&#8211;&gt; Crowdsourcing</strong></p>
<p>There are websites where you can receive money for reporting bugs. The two examples I know of: <a href="http://www.utest.com/">uTest</a> and <a href="http://www.flashmobtesting.com/">Flash Mob Testing</a>.<br />
Testing in this environment may pose problems (<em>see </em><a href="http://testing.gershon.info/20090723/about-youtesting-with-utest/"><em>this post</em></a><em> for a list of concerns</em>) and the interaction you have here is by far less involved and meaningful than the previous two options.<br />
We listed this in the slides because the couple dollars are tempting and people may prefer this option over the others.</p>
<p>Note that here, you won’t get public credit for your work, in case you wanted to showcase it in an interview.</p>
<p><strong>&#8211;&gt; Volunteer for a company</strong></p>
<p>This one wasn&#8217;t at the slides&#8217; first version, because I had forgotten about this history completely.<br />
When I was at the university, I had a friend working for a software company, a small one without a testing team. To exercise my &#8216;criticism&#8217; (<em>I didn&#8217;t know I was &#8216;testing&#8217;, back then</em>) I started to write him comments on their webpage and their application, notes that they triaged in their bug meetings and fixed in the next release (<em>sometimes</em>).<br />
So it was volunteer testing for a real company.<br />
(<em>This entire story slipped my mind until 3 weeks ago I had a course in the same building as this company is located. It all came back to memory suddenly: that was my first testing gig!! <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em> ).</p>
<p><strong><span style="text-decoration: underline;">In summary</span></strong></p>
<p>There are many ways to test without a testing job. Find or invent the option that better fits you, and start differentiating yourself as a real tester.<br />
Try it! <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
With a little work from your side, you can demonstrate to employers your capabilities, style and passion. And having volunteered to test and provide data isn&#8217;t something a recruiting manager sees every day, so it is likely to attract his attention.</p>
<p><strong><span style="text-decoration: underline;">The next steps</span></strong></p>
<p>After you&#8217;ve decided where to start testing, following a consistent way of work will make your testing much more efficient.<br />
The slides include many suggestion on how to get a good start: Follow the forums discussing the software (<em>and ask questions!</em>), be sure to read the bug submitting guidelines so your information is treated with care, and find a lot of bugs <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong><span style="text-decoration: underline;">An Alternative</span></strong></p>
<p>When applying for a job, capitalize on the experience you&#8217;ve already got.<br />
Software projects need domain expertise just as they need testing expertise. If you were a stock-broker, a software house developing stock-market software can have great benefit from your testing. If you speak languages, a lot of specific software can benefit from this trait.<br />
See my comment in <a href="http://testing.gershon.info/20080616/testers-dont-think-like-developers-think-like-computers/">this post</a>: The entire experience you bring to a team is valuable; recruiters aren&#8217;t always only looking for super-testing-wizes.</p>
<p><strong>Good luck! <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </strong></p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200912/testing-is-funny-with-demetri-martin/' rel='bookmark' title='Permanent Link: Software Testing is Funny! with Demetri Martin'>Software Testing is Funny! with Demetri Martin</a></li>
<li><a href='http://testing.gershon.info/200902/testing-insights-the-graphing-calculator/' rel='bookmark' title='Permanent Link: Testing Insights &#8211; The Graphing Calculator'>Testing Insights &#8211; The Graphing Calculator</a></li>
<li><a href='http://testing.gershon.info/201002/nemo-solving-exploratory-approach/' rel='bookmark' title='Permanent Link: Finding Nemo &#8211; Solving Pradeep&#8217;s software testing challenge (an exploratory approach)'>Finding Nemo &#8211; Solving Pradeep&#8217;s software testing challenge (an exploratory approach)</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200909/create-your-testing-portfolio-presentation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>In August, a rewrite of July&#8217;s uTest post (and maybe official feedback)</title>
		<link>http://testing.gershon.info/200908/in-august-a-rewrite-of-julys-utest-post-and-maybe-official-feedback/</link>
		<comments>http://testing.gershon.info/200908/in-august-a-rewrite-of-julys-utest-post-and-maybe-official-feedback/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 09:49:01 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Test Annotations]]></category>
		<category><![CDATA[Test Insight]]></category>
		<category><![CDATA[career]]></category>
		<category><![CDATA[evidence]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[passion]]></category>
		<category><![CDATA[portfolio]]></category>
		<category><![CDATA[professional]]></category>
		<category><![CDATA[professionalism]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20090829/in-august-a-rewrite-of-julys-utest-post-and-maybe-official-feedback/</guid>
		<description><![CDATA[Hi.
Instead of a new post, I revisited and modified last month&#8217;s post, About youTesting with uTest.
It has now more content, and still has a discussion of pay-per-bug models.
The initial opinions are still there. While the pay-per-bug model presented by uTest is certainly innovative and interesting; the model still misses a lot. It will certainly be center of [...]]]></description>
			<content:encoded><![CDATA[<p>Hi.</p>
<p>Instead of a new post, I revisited and modified last month&#8217;s post, <a href="http://testing.gershon.info/20090723/about-youtesting-with-utest/">About youTesting with uTest</a>.<br />
It has now more content, and still has a discussion of pay-per-bug models.</p>
<p>The initial opinions are still there. While the pay-per-bug model presented by uTest is certainly innovative and interesting; the model still misses a lot. It will certainly be center of discussion many times in many circuits <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .<span id="more-57"></span></p>
<p>To some extent, trying to get quality assessment and counseling from isolated bugs from isolated testers is like getting medical advice from many different isolated doctors without them examining you personally even once.<br />
But, to the other extent, bug reports do consist an important tool for quality evaluation and direction assessment. And well formed groups can benefit from the yet another list of bugs received, as long as they don&#8217;t confuse them with complete product testing.</p>
<p> </p>
<p>In one of my discussions of the matter with friends, I was encouraged to ask the people working in <a href="http://www.utest.com/">uTest </a>what they think of these points and how do they and the companies solve the apparent drawbacks.<br />
It is a great idea, as they seem to be very forthcoming and they do have a lot of experience in software development and quality. The CEO, Mr <a href="http://www.utest.com/doron-reuveni">Doron Reuveni</a>, <a href="http://twitter.com/doronr">tweets </a>and sports and seems approachable. Not many companies have such accessible CEOs, and I&#8217;ll try my luck with him. If he replies and answers our questions, it will be very cool, and I&#8217;ll add the info to the uTest posts here.</p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200907/about-youtesting-with-utest/' rel='bookmark' title='Permanent Link: About youTesting with uTest'>About youTesting with uTest</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200908/in-august-a-rewrite-of-julys-utest-post-and-maybe-official-feedback/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>About youTesting with uTest</title>
		<link>http://testing.gershon.info/200907/about-youtesting-with-utest/</link>
		<comments>http://testing.gershon.info/200907/about-youtesting-with-utest/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 06:51:53 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Ask the Tester]]></category>
		<category><![CDATA[Test Insight]]></category>
		<category><![CDATA[career]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[professional]]></category>
		<category><![CDATA[professionalism]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[utest]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20090715/utest-or-maybe-udont/</guid>
		<description><![CDATA[(Note: This post,originally from July, was re-written in August. Only format/wording changes, with additions to make it clearer)
This is an interesting topic:
I’ve been involved lately in many conversations about uTest, or more specifically about its model.
uTest is a website where companies can post their software, along with some guidelines on focus areas, and users around [...]]]></description>
			<content:encoded><![CDATA[<p>(<em>Note: This post,originally from July, was re-written in August. Only format/wording changes, with additions to make it clearer</em>)</p>
<p>This is an interesting topic:<br />
I’ve been involved lately in many conversations about uTest, or more specifically about its model.<br />
<a href="http://www.utest.com/">uTest </a>is a website where companies can post their software, along with some guidelines on focus areas, and users around the world can download the app, find bugs and get paid for bugs reported (<em>as long as the bugs are accepted by the posting company</em>).<br />
There is a lot of confusion/discussion around the good parts and the bad parts of the model, so I will share here some of the points I had taken from these conversations (<em>thanks to all the friends who shared insights with me</em>)… Some attentive readers will notice the article is an almost copy paste from a reply in the software-testing group.</p>
<p>Please note that I am <strong>not</strong> saying &#8220;<code>uTest considered harmful</code>&#8221; or &#8220;<code>don’t use uTest</code>&#8221; or anything like that.<br />
Please note that I am <strong>not</strong> saying &#8220;<code>uTest is great</code>&#8221; or &#8220;<code>use uTest</code>&#8221; or anything like that.<br />
All I want to point here are some of the strengths and some of the weaknesses of <strong>the model</strong>, so every one (<em>both testers and companies</em>) can decide for his own context. I welcome debate over any of these points, and will update my post accordingly.<span id="more-56"></span></p>
<blockquote><p><span style="text-decoration: underline;"><strong>&#8211;&gt; (A) Here we go then. Some strenghts of the model:</strong></span></p>
<ol>
<li><strong>Crowdsourcing provides diversity:<br />
</strong>James Whittaker in his &#8220;<code>Future of Testing</code>&#8221; webinar considered this model of testing (<em>there I heard the &#8216;crowdsourcing tests&#8217; term the first time</em>) the next evolution in software testing, as it allows a huge number of testers to test in very diverse environments and configurations.<br />
Full disclosure: The Webinar was given for uTest and at their website.</li>
<li><strong>The managers are nice guys trying to create a nice community.<br />
</strong>In the case of uTest, they have <a href="http://blog.utest.com/">blogs</a> with guest writers such as James Whittaker and others. They are on <a href="http://twitter.com/utest">twitter</a> and occasionally twit a testing article (<em>more often they do brand promotion, which is fine too</em>), they offer bug battles and discussion forums.<br />
And at these venues they do good. I have heard that Doron Reuveni is a really nice guy, and I believe it from his twits and posts.<br />
Of course, people tell me that all this community building is about money and business, but that&#8217;s completely legitimate. I take money for testing at my job, too. Making money doesn&#8217;t make anything bad.</li>
<li><strong>Simplified development cycle:<br />
</strong>For some companies, it appears that crowdsourcing makes their development lifecycle more efficient. See <a href="http://www.computerweekly.com/Articles/2009/07/30/237121/crowdsourcing-slashes-software-testing-time.htm">this article</a> on how crowdsourcing supposedly slashes development time.<br />
The points commented in the article are a bit dangerous, in light of the concerns raised below, but for companies that have yet to build a testing team, starting to receive bugs before the testing team is complete can be a good thing.</li>
</ol>
<p><span style="text-decoration: underline;"><strong>&#8211;&gt; (B) On the other hand, the uTest model has some weaknesses, like:</strong></span></p>
<ol>
<li><strong>&#8220;Software testing&#8221; misinterpretation:<br />
</strong>The idea of this model is &#8216;pay per bug&#8217;. Companies are outsourcing testing by receiving bug reports from the community.<br />
But submitting bugs is only <strong>one part </strong>of the work that a tester does. Testing (<em>functional too</em>) requires involvement with the development life cycle. Testing requires understanding of the user needs and business needs.<br />
By putting the testers far away from the company and their decisions or business view, the testers have little option to ask good questions. They have little space to provide real information about risk (<em>that&#8217;s what testing is about, right?</em>), and thus they are likely to practice poor testing.<br />
Moreover, testers get their money for reporting bugs, so this will become the ultimate purpose of submitting them. In any other context many would agree that bugs aren’t there just to be reported or even just to be fixed — bugs raise questions about the application, about the value it provides and about the general direction the product is going.<br />
When you take the testers out of the fixing decision, you miss this healthy discussion. In this model, if a bug doesn’t get fixed, the tester isn’t probably alerted about this fact. What’s more, the tester may not even care, as he already cashed the bug’s money and “fixing or not fixing is a business decision where we don’t have a say”, right?     And with that, reporting well detailed and complete written bugs isn’t a goal for pay per bug testers too: If you spend valuable time writing a bug report with detailed information, you are not making money! Plus, another person may log this exact bug with a poor report before you finish your perfect report (<em>you don’t receive money in this case</em>).<br />
Sure, the model does not foster or defend bad practices on purpose. But it has its way to motivate them, in a sense.</li>
<li><strong>Poor metrics (<em>paying for bug reported</em>):<br />
</strong>Companies like uTest didn’t invent the &#8220;<code>bug quantity measurement metric</code>&#8220;, of course. It is an old approach that has failed in many places from what I learnt (<em>might’ve been successful in other places</em>) and is definitely not suitable for all contexts.<br />
Even if applying companies receive great comprehensive dashboards displaying different quality aspects of the software, at the end of the day they are only seeing bug numbers.&#8221;You get what you pay for&#8221; — the company is paying for bug quantity and testers (<em>as anyone else</em>) will give you what you measure them for, a large quantity of bugs. It is easy to confuse this data with information about risk or information about value. uTest writes in the Terms of Use: &#8220;<code>uTest makes no promises or warranties as to any specified quality standards, testing coverage, maturity, quality measurements, the general quality of services or feedback, or results provided on or through its website.</code>&#8221; Now, this is only a standard disclaimer, and some may say these measurements are rubbish anyway, but what uTest is saying, in essence, is &#8220;<code>you get only bug numbers, nothing else</code>&#8220;, which is true. Companies must understand that bug reports don&#8217;t make for a quality or value assessment. See <strong>point (C/5)</strong> for a related comment.</li>
<li><strong>Quick and Dirty is rewarded:<br />
</strong>The rules are: time consuming bugs pay the same as quick bugs. From their Terms of Use: &#8220;<code>uTest shall ONLY pay you for bugs reported and approved by the applicable Company and NOT for the time you incurred by analyzing bugs or time incurred for any other purpose.</code>&#8221;<br />
Which type of testers receive a higher score at this model? Testers that report simple bugs will be at higher ranks than the ones that hunt and investigate and find hard bugs.<br />
Consider this together with <strong>point (C/2)</strong>… and you’ll have testers that log a large number of shallow bugs.<br />
This kind of behavior is acquired by whoever practices it… And by the end of the day, some testers with high scores at uTest may have become accustomed to quick and dirty work.And what about bugs that don&#8217;t easily reproduce?<br />
Bugs that don’t always reproduce need special attention and a lot of time invested. Forget about those in crowdsourcing, as more attention equals less money&#8230; One is risking that<strong> t</strong>he ones to find the tricky bugs will be the end customers.</li>
</ol>
<p><span style="text-decoration: underline;"><strong>&#8211;&gt; (C) Some other points should also be considered:</strong></span></p>
<ol>
<li><strong>Bad disputes fostering:<br />
</strong>Any discussion translates into money. And money, being a terrible motive <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , can make disputes between a company and a tester biased on both sides.<br />
Software companies will want fewer bugs, and software testers will want more. None of the two is a good goal, and both can lead to wrong stands.</li>
<li><strong>Bad attitude from testers causing bad results:<br />
</strong>Testers from a &#8216;real world&#8217; project might wish to receive better built software so they can jump into important matters instead of clinging at innumerous surface bugs.<br />
In the pay-per-bug model, testers will leave a mature software to go test an immature one (<em>more bugs = more money</em>)… so the tester tests worse apps and the software company loses the testers exactly when it more needs them (<em>when the app is stabilizing, testers will migrate to a new, immature one</em>).</li>
<li><strong>Disruptive competition between testers:<br />
</strong>In the company I work for, if I share information with a colleague and he uses it to find a bug before me, everybody is happy (<em>as there was a collaborative effort that generated a useful piece of info</em>). Testers in a pay-per-bug competition will be less inclined to share information, as bugs opened by someone else mean less money and less score points.<br />
In their model, you compete with other testers, and this enters the testing culture of the participants. And testers who compete are les useful in a team than testers who collaborate.</li>
<li><strong>The score feedback isn’t objective:<br />
</strong>An award winning uTest tester commented in one of the online discussion that the score for testers doesn’t represent testing skill.<br />
The skill set required to be a good tester isn’t exercised in such simple view of testing as ‘receive the app, try it, list the bugs’.<br />
And also, don’t forget that there’s money involved and this usually undermines objectivity <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .From uTest Terms of Use: &#8220;<code>Testers shall have no right to either control or influence their fee rate or feedback regarding their reputation or success.</code>&#8220;. Of course, here it is simply a technicality, explaining that the decision over what is a bug is in the hand of the software company hiring the tester.<br />
But this is an approach where one cannot get more reputation by learning more skills. Instead, one has to wait until someone decides how good he is, with few chances to appeal. Different people in different companies think differently, and the tester has no control over this process here.</li>
<li><strong>Companies get the wrong picture:<br />
</strong>A large amount of bugs and activity from uTest-like websites is likely to inebriate the software developing company into thinking they’re getting great value (<em>just as a large amount of activity around automation does in other cases</em>).</li>
<li><strong>‘Unfair’ and harmful competition with your in-house testers:<br />
</strong>For companies that do have testers in-house, sending the application to be tested at crowdsourcing models may pose additional problems:<br />
- How do the ‘inside’ testers feel about that?<br />
- What happens when the outside users find bugs they missed?<br />
- And for the same bug… how come someone from the outside get paid for reporting it? What conflict of interest may appear when a tester realizes he can suddenly make money if he (<em>or his wife, or his brother</em>) reports a bug he found during work?<br />
- Does a bug-finding competition affects how the in-house testers do their work?</li>
<li><strong>Update about different types of test:<br />
</strong>The first version of this article said that &#8220;There are companies that value regression tests, for example. As these usually generate fewer bugs, testers at pay-per-bug will not perform them. The same is true with other types of tests that raise questions and not bugs.&#8221;.<br />
<strong>Update:</strong> I recently discovered that companies that want to run regression or a set of specific tests do use uTest. They post the application with a list of scripted tests for people to follow, and pay for the completion of the scripted tests. So there are ways to do these tests.<br />
(<em>However, in one such example that I looked at, there were no bugs reported in the script executions. What would be the results if instead of paying for the tests passing, the company asked for bugs? But this problem isn’t exclusive of uTest, it happens everywhere, I guess <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em>)</li>
</ol>
</blockquote>
<p>&#8230;</p>
<p>There may be more and <strong>other points for and against the model</strong>.<br />
Please write them on the comments or in a private mail, get the conversation going on this. I may change my mind on this matter too, why not? <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200908/in-august-a-rewrite-of-julys-utest-post-and-maybe-official-feedback/' rel='bookmark' title='Permanent Link: In August, a rewrite of July&#8217;s uTest post (and maybe official feedback)'>In August, a rewrite of July&#8217;s uTest post (and maybe official feedback)</a></li>
<li><a href='http://testing.gershon.info/200909/create-your-testing-portfolio-presentation/' rel='bookmark' title='Permanent Link: &#8220;Create your testing portfolio&#8221; presentation'>&#8220;Create your testing portfolio&#8221; presentation</a></li>
<li><a href='http://testing.gershon.info/200704/annotated-joel-on-software-bad-reasons-not-to-test/' rel='bookmark' title='Permanent Link: Annotated Joel on Software &#8211; (Bad) Reasons not to test'>Annotated Joel on Software &#8211; (Bad) Reasons not to test</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200907/about-youtesting-with-utest/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BOtT: Smile, your data is gone!</title>
		<link>http://testing.gershon.info/200906/bott-smile-youre-data-is-gone/</link>
		<comments>http://testing.gershon.info/200906/bott-smile-youre-data-is-gone/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 10:48:32 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Bug of this Time]]></category>
		<category><![CDATA[Test Insight]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20090725/bott-smile-youre-data-is-gone/</guid>
		<description><![CDATA[As most words, &#8220;quality&#8221; has a lot of different meanings to different people.
I guess &#8220;Customer Satisfaction&#8221; has a lot of different meanings too.
A couple of months ago I tried to access a site (now I don&#8217;t even remember which it was) and was greeted by the note below:

Let&#8217;s read that again: &#8220;The attack was not [...]]]></description>
			<content:encoded><![CDATA[<p>As most words, &#8220;quality&#8221; has a lot of different meanings to different people.<br />
I guess &#8220;Customer Satisfaction&#8221; has a lot of different meanings too.</p>
<p>A couple of months ago I tried to access a site (<em>now I don&#8217;t even remember which it was</em>) and was greeted by the note below:<span id="more-55"></span><br />
<img id="image53" src="http://testing.gershon.info/wp-content/uploads/2009/06/unsuccessful-hack.JPG" alt="Unsuccessful Hack" /></p>
<p>Let&#8217;s read that again: &#8220;<code>The attack was not successful and our safeguards prevented intrusion</code>&#8220;. Ah, nice. But Mr BudgetHostingWeb, can you explain how, if the intrusion was prevented, how the hell did the &#8220;<code>server's hard drives failed during this process</code>&#8220;?</p>
<p>Maybe the hard disk sensed that an attack was being attempted, and then committed suicidal, in some sort of self-aware sense that &#8220;<code><em>it's better to die than have those hackers get the secret data stored in me!</em></code>&#8221;</p>
<p>(<em>Side note: If you ever had to deal with web hosting service&#8217;s backup, you know it is a nightmare. A service I used once had &#8220;<code>hard drives problems</code>&#8221; too and their last backup was a month old &#8212; even if they had claimed to do daily backups. No, I didn&#8217;t sue, and I think I wasn&#8217;t even surprised (</em><a href="http://www.satisfice.com/blog/archives/224" target="_blank">Quality is Dead</a>, right?<em>), but I did change to a different host later.</em>)</p>
<p>So now we have customers who lost all the data of his website.<br />
If they had good backups, they&#8217;ll be able to upload it with the FTP Upgrade package &#8212; and if they hadn&#8217;t, well, will have to start from scratch.<br />
And this is being communicated to him in such a lousy way… Note that the alert in the page is <strong><span style="text-decoration: underline;">not</span></strong> targeting the site visitors (<em>which do not upload files by FTP</em>), it is targeting the web page owners. Why would an alert to the page owner be glued to the home page of a customer? Maybe because they didn&#8217;t send the communication in any other way?<br />
(<em>Maybe the hard drive with the customer information failed too, who knows?</em>)</p>
<p>And the alert says &#8220;<code>the attack was not successful</code>&#8220;, which is what makes one (<em>me</em>) angry.<br />
Mr BudgetHostingWeb, your customers are unhappy, they had a major data loss, and have to fix it themselves instead of doing business. Please re-write the message to something like &#8220;<code>The attackers succeed to cause failures in some of our hard drives, and unfortunately we don't kept backups of your data. As far as we can discern, no information was stolen, but we are deeply sorry for this inconvenience.</code>&#8221;</p>
<p>Because shaking yourself free of responsibility isn&#8217;t exactly the best experience you can provide your users.</p>
<p>Let&#8217;s sympathize with one of their customer, which is a great practice for software testers:</p>
<p>I did a search on Google to try to find sites that were part of the problem. Even thought a lot of time passed since the incident, Google found three (<em>two of them do not have the text in their sites anymore, Google is outdated too, so it leaves us with only one customer specimen, Free Range Whippets</em>):<br />
<img id="image54" src="http://testing.gershon.info/wp-content/uploads/2009/06/unsuccessful-hack-2.gif" alt="Googled unsuccessful hack" /></p>
<p>Whippets are lovely pretty dogs, and the first link on the screenshot above sports the following notice:<br />
 &#8221;<code><br />
 We regret that our host server was recently the victim of a serious hacking attack.<br />
 The attack was not successful and the safeguards prevented intrusion however the server's hard drives failed during this process.<br />
 All services have now been restored.  Unfortunately, our site was one of those affected, and we need to upload ALL the files again.<br />
 Some links and photos will not work or appear until we re-upload.<br />
 We hope to be fully back online soon but finding <strong>after six years of loading photos, they don't go back up overnight.</strong><br />
 Please visit us again and click all the links! <br />
 Thank you, Lori &amp; The Whippets<br />
 </code>&#8221;</p>
<p>6 years of work, gone! Is that what the safeguards were supposed to do?<br />
The hacker attack wasn&#8217;t successful, but Lori still has got broken links in the whippets&#8217; images <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> .</p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200705/bott-no-multi-million-dollar-prize-for-you-again/' rel='bookmark' title='Permanent Link: BotT: No multi-million dollar prize for you. Again.'>BotT: No multi-million dollar prize for you. Again.</a></li>
<li><a href='http://testing.gershon.info/200702/bott-ctrlenter-on-firefox/' rel='bookmark' title='Permanent Link: BotT: Ctrl+Enter on Firefox'>BotT: Ctrl+Enter on Firefox</a></li>
<li><a href='http://testing.gershon.info/200810/bott-linus-bug-youtube-no-workee/' rel='bookmark' title='Permanent Link: BotT: Linus&#8217; bug, youtube no workee!'>BotT: Linus&#8217; bug, youtube no workee!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200906/bott-smile-youre-data-is-gone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exploratory Shopping &#8211; An analogy attempt</title>
		<link>http://testing.gershon.info/200905/exploratory-shopping-an-analogy-attempt/</link>
		<comments>http://testing.gershon.info/200905/exploratory-shopping-an-analogy-attempt/#comments</comments>
		<pubDate>Fri, 01 May 2009 08:01:19 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Test Insight]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20090501/exploratory-shopping-an-analogy-attempt/</guid>
		<description><![CDATA[These days I went to a book fair of a well known publishing house, and found there my very own analogy for Exploratory Testing.
I tell the story and analogy below for your pondering and criticism.  
You know how these fairs are, I believe book fairs are similar everywhere: a loft filled with tables filled [...]]]></description>
			<content:encoded><![CDATA[<p>These days I went to a book fair of a well known publishing house, and found there my very own analogy for Exploratory Testing.<br />
I tell the story and analogy below for your pondering and criticism. <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<hr />You know how these fairs are, I believe book fairs are similar everywhere: a loft filled with tables filled with books at good prices. You walk around the tables, take the books you like and proceed to checkup.        </p>
<p>I like books, better yet when they are good/useful books, and even more when they&#8217;re cheap <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8212; so I came to the fair prepared! I planned a budget (<em>100 NIS</em>) studied the catalog of discounted books and decided beforehand which books I wanted to buy:<span id="more-51"></span></p>
<p style="font-family: courier new">- Book A: 43 NIS<br />
- Book B: 30 NIS<br />
- Book C: 12 NIS<br />
- Book D: 12 NIS<br />
- Book E:  9 NIS<br />
        (<em>106 NIS total</em>)</p>
<p>Book A and B were books that I actually was interested in, and the other 3 I put on the list just because they were cheap <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , and were worth considering if they content looked cool.</p>
<p>When I got to the fair, I skimmed over the books and found out that books E and D weren&#8217;t that interesting, and that they would probably remain unread, so I dropped them from the list. Book C wasn&#8217;t that appealing too, but I left it on my cart meanwhile.</p>
<p>A few minutes later, I noticed that there was a very cool book on a subject that I am already studying &#8212; but that one cost 75 NIS!<br />
My list was now over-budget:</p>
<p style="font-family: courier new">- Book A: 43 NIS<br />
- Book B: 30 NIS<br />
- Book C: 12 NIS<br />
- Book F: 75 NIS<br />
  (<em>160 NIS total</em>)</p>
<p>As such, I called my wife, telling that I found other relevant books, but the whole list now exceeded the initial budget we agreed on. She gave me permission to double the budget and to spend up to 200 NIS. Yay!</p>
<p>Just before getting to the check-out teller, I discovered that there was a new volume from a set of books we have, and this was an opportunity to complete the series. Price of this book: 63 NIS.<br />
Adding this one on top of the others would explode the budget again! I really wanted this book, and removing only book C wouldn&#8217;t help staying on plan &#8212; so I removed book B (<em>a sacrifice for budget&#8217;s sake</em>) and then C (<em>not so interesting, anyway</em>).</p>
<p>I went home with three books:</p>
<p style="font-family: courier new">- Book A: 43 NIS<br />
- Book F: 75 NIS<br />
- Book G: 63 NIS<br />
  (<em>181 NIS</em>)</p>
<p>I was happy with the books I took home, so was my wife, and plus: she was pleased that we stayed under the &#8217;second budget&#8217;.<br />
And then it struck me&#8230;</p>
<hr />All this long and boring description of my adventures at the library has a purpose:The process I did in picking the books is similar to the one I would (<em>like to</em>) do when picking tests. There is a limited budget (<em>of which I am not in charge</em>), there is a limited time, and there is big list of tests that can be done.<br />
I can start with an initial plan of the areas I want to exercise in my tests and it is possible that tests that are &#8216;easy&#8217; will enter the list just because they aren&#8217;t hard, but then I can find that some areas are not worth exercising them too much and will drop those tests (<em>every little test costs, right?</em>).<br />
If noticing an especially interesting bug or reaction requires from me to add too many new tests, I&#8217;ll have to inform my superiors and request for more time to properly finish all.<br />
Tests can also redirect your attention to risk areas that you hadn&#8217;t planned before, and the whole remaining time will have to be planned again.<br />
And so on, exchanging less effective tests for others that give &#8216;more bang for the buck&#8217;, keeping an eye on the budget and interests of the stakeholders&#8230; One explores the software in the search for bugs.      </p>
<p>So, this is my analogy for Exploratory Software Testing.<br />
Many others are available:</p>
<ul>
<li>Michael Bolton has one <a href="http://www.developsense.com/articles/Testing%20Without%20A%20Map.pdf" target="_blank">here</a> (<a href="http://www.developsense.com/articles/Testing%20Without%20A%20Map.pdf" target="_blank"><em>charting unknown waters</em></a>)</li>
<li>James Bach has one <a href="http://www.satisfice.com/articles/et-article.pdf" target="_blank">here</a> (<a href="http://www.satisfice.com/articles/et-article.pdf" target="_blank"><em>and exploration and jigsaw solving</em></a>)</li>
<li>Ben Simo wrote one too (<a href="http://www.questioningsoftware.com/2008/05/terrified-by-improvisation.html" target="_blank"><em>improvisational theater</em></a>)</li>
<li>Jonathan Kohl wrote his <a href="http://www.kohl.ca/blog/archives/000187.html" target="_blank">here</a> (<a href="http://www.kohl.ca/blog/archives/000187.html" target="_blank"><em>musical creation</em></a>)</li>
<li>&#8230; And now I present one of mine <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . I hope I am worthy of sitting with such eminent group.</li>
</ul>
<p>But note: this analogy, as every other analogy, doesn&#8217;t have exact 1:1 similitude/parallelism!<br />
It is intended as a line-of-thought, to help explaining the process and mindset&#8230; to clarify that exploratory testing isn&#8217;t a &#8216;quick, run and do whatever tests you can squeeze in an hour&#8217;. <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/201002/nemo-solving-exploratory-approach/' rel='bookmark' title='Permanent Link: Finding Nemo &#8211; Solving Pradeep&#8217;s software testing challenge (an exploratory approach)'>Finding Nemo &#8211; Solving Pradeep&#8217;s software testing challenge (an exploratory approach)</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200905/exploratory-shopping-an-analogy-attempt/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Read the bugs</title>
		<link>http://testing.gershon.info/200904/read-the-bugs/</link>
		<comments>http://testing.gershon.info/200904/read-the-bugs/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 13:52:59 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Test Annotations]]></category>
		<category><![CDATA[Test Insight]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20090402/read-the-bugs/</guid>
		<description><![CDATA[Eric Sink is very well known in the software development community. I would say he&#8217;s a legend, but he says he&#8217;s not one.
He writes books, software, and gives interviews about the craft and business of software. Not only that, but (not surprisingly) he&#8217;s also got a blog.
Two months ago he wrote that reading your colleagues [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Eric_Sink" target="_blank">Eric Sink</a> is very well known in the software development community. I would say he&#8217;s a legend, but he says he&#8217;s <a href="http://notalegend.com/notalegend.html" target="_blank">not one</a>.</p>
<p>He writes <a href="http://www.amazon.com/exec/obidos/ASIN/1590596234/sawdust08-20" target="_blank">books</a>, <a href="http://www.sourcegear.com/" target="_blank">software</a>, and gives interviews about the craft and <a href="http://msdn.microsoft.com/en-us/library/cc836649.aspx" target="_blank">business</a> of software. Not only that, but (<em>not surprisingly</em>) he&#8217;s also got <a href="http://www.ericsink.com/index.html" target="_blank">a blog</a>.</p>
<p>Two <a href="http://www.ericsink.com/entries/Read_the_Diffs.html" target="_blank">months ago he wrote</a> that reading your colleagues code check-ins is a good practice, and I think this is good advice. And good advice for software testers too: I read the bugs submitted by my team on a regular base, and it&#8217;s been very enlightening (<span style="font-style: italic">often to me, at times to them too</span>).</p>
<p>I don&#8217;t like copy-paste, but as an experience on the parallels between development/testing, I&#8217;ll copy his entire post, just changing the parts that are development-related to testing-related words.<br />
&#8220;<a href="http://en.wikiquote.org/wiki/Pablo_Picasso">Great artists steal</a>&#8220;, right? Let&#8217;s see if it is intelligible <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  (<span style="font-style: italic">my changes are in </span><span style="color: blue; font-style: italic">blue</span>).<span id="more-50"></span></p>
<p> </p>
<blockquote>
<p style="font-family: Verdana">Do you work as part of a software <span style="color: blue">testing</span> team?  Here&#8217;s a piece of advice for you:</p>
<p style="font-weight: bold; font-family: Verdana">Read the <span style="color: blue">bug</span>s.</p>
<p style="font-family: Verdana">Every morning before you start your own <span style="color: blue">test</span>ing tasks, use your favorite <span style="color: blue">bug tracking</span> tool to look at all the <span style="color: blue">bug</span>s that everybody else <span style="color: blue">submitted</span> the day before.</p>
<p style="font-family: Verdana">There is a reasonable chance that this advice is worth exactly how much you paid me for it.  <span style="font-weight: bold"> <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </span></p>
<p style="font-family: Verdana">Still, <span style="color: blue">testers at</span> many of the best <span style="color: blue">teams</span> I have known do make this their habit.</p>
<p style="font-family: Verdana">Reading the <span style="color: blue">bug</span>s is very likely to produce two benefits:</p>
<ol style="font-family: Verdana">
<li style="font-family: Verdana"><span style="font-weight: bold">The <span style="color: blue">bug</span> might get better.</span> You might find something in <span style="color: blue">the bug description</span> that needs to be fixed. <span style="color: blue">Or you may find a different direction to investigate and find the inherent fault that causes the failure. Or you may suggest another implication of the defect that increases the customer impact perception&#8230; So on.</span></li>
<li style="font-family: Verdana"><span style="font-weight: bold">You might learn something.</span> Maybe one of your coworkers is using a technique you don&#8217;t know about. <span style="color: blue">Maybe someone else has a tool you can use.</span> Or maybe reading the <span style="color: blue">bug</span>s simply gives you a deeper understanding of the project you are working on.</li>
</ol>
<p style="font-family: Verdana">Of course, use some common sense about whether this habit is practical in your situation. For example, if you work on a team of a thousand <span style="color: blue">test</span>e<span style="color: blue">r</span>s, this probably won&#8217;t work well for you. Then again, I assume if you work on a team of a thousand <span style="color: blue">test</span>ers, almost nothing works well for you, so this habit might fit right in.  <span style="font-weight: bold"> <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </span></p>
</blockquote>
<p> </p>
<p>(<span style="font-style: italic">Posted with Eric&#8217;s permission</span>)</p>
]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200904/read-the-bugs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Job Description</title>
		<link>http://testing.gershon.info/200903/job-description/</link>
		<comments>http://testing.gershon.info/200903/job-description/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 10:35:35 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Nerd T35t1ng]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Test Insight]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20090312/job-description/</guid>
		<description><![CDATA[I was reading a job position offering these days for a &#8220;QA engineer&#8220;.
There was the usual mumbo jumbo of the required traits (&#8220;BSC in computer science or equivalent&#8220;, &#8220;Worked directly with R&#038;D department&#8220;) and advantage points (&#8220;General knowledge of at least one mainstream (programming) language&#8220;), and one of the requirements lines said &#8220;Testing methodologies: STD, [...]]]></description>
			<content:encoded><![CDATA[<p>I was reading a job position offering these days for a &#8220;<strong>QA engineer</strong>&#8220;.<br />
There was the usual mumbo jumbo of the required traits (<em>&#8220;<font face="courier new">BSC in computer science or equivalent</font>&#8220;, &#8220;<font face="courier new">Worked directly with R&#038;D department</font>&#8220;</em>) and advantage points (&#8220;<font face="courier new">General knowledge of at least one mainstream (programming) language</font>&#8220;), and one of the requirements lines said &#8220;<font face="courier new">Testing methodologies: STD, STP</font>&#8220;.<br />
I got curious to know what these methodologies are and what the TLA mean, so I called the company offering the job:<span id="more-49"></span></p>
<blockquote><p>&#8211; Hi, Nancy? (<em>Name changed. And she wasn&#8217;t the testing manager, she was from the HR.</em>)<br />
&#8211; Yes.<br />
&#8211; Hi, my name is Shmuel and I saw you&#8217;re offering a software testing position, the &#8220;QA engineer&#8221; opening&#8230;<br />
&#8211; We have it, right.<br />
&#8211; I saw that one of the requirements is to know the STD and STP methodologies, and I was wondering what are STD and STP.<br />
&#8211; Well, if you have no experience on that, then the position is not relevant to you.<br />
&#8211; No, no, I guess the experience is fine; it is just that the announcement made me curious. These acronyms can mean many things, you know? So I want to know how your company understands them.<br />
&#8211; They mean specification documents.<br />
&#8211; Does STD stand for Software Test Documentation? What does the STP mean?<br />
&#8211; No, ST<strong>D</strong> is for <strong>S</strong>oftware <strong>T</strong>est <strong>D</strong>esign, and the <strong>P</strong>&#8230; Well, both mean specification documents.<br />
&#8211; Why design? Is that the specification of the tests to run, of the testing system, or of the product?<br />
&#8211; Why don&#8217;t you just look up the meanings on Google?<br />
&#8211; I tried right before calling you. The acronyms are all over the web, but they have different meanings too (*).<br />
&#8211; Listen, these are very important topics, if you don&#8217;t know them the position is not relevant. They&#8217;re very important, and very well known.<br />
&#8211; I see. Thanks you Nancy!<br />
&#8211; Thanks, bye bye.</p></blockquote>
<p><strong>Very important and well known.</strong> Well, I guess I&#8217;ll put them in my list of things to learn&#8230; As soon as I decide which meaning I want them to have…</p>
<p>Let&#8217;s see. I guess two of the best &#8220;methods&#8221; I use in testing are:</p>
<p><font color="#000080"><strong>STD &#8211; Software Test Drawing:</strong> Scribbling in a whiteboard (<em>pen+paper are good too, but my experience shows whiteboards are much better</em>). This is especially useful when you&#8217;re working with someone else. With some squares and circles explanations become simple, concepts become clear, people can point when they talk, you can easily delete mistakes, and the best part is that usually there is always a joke at the end of the process. Whiteboard scribbling is a major testing tool for me.</font></p>
<p><font color="#000080"><strong>STP &#8211; Software Test Peer (<em>or Pal</em>): </strong>If you are like me, your brain is constantly storming <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Nothing beats thinking out loud or talking to peers and fellow testers/developers about the challenges you face &#8212; more often than not you&#8217;ll learn about a direction you hadn&#8217;t thought of or about a tool that can help. Works fantastically with STD <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</font></p>
<p>I may start an &#8220;Alphabet of Really Useful Software Testing Things&#8221; &#8212; please contribute on the comments.</p>
<p>(*) In fact Google says D and P apparently can mean Design, Documentation, Development, Performance, Process, Plan, Programming&#8230;Pick your own definition. Most companies seem to accept STP as Software Test Plan, though.I still like that anyone can pick the definition that best suits his needs or business, though. So I&#8217;ll stick to mine <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p><em>Note to my employer: No, I am not looking for a job elsewhere yet <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</em></p>
]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200903/job-description/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On certified testers and being certifiable, and on non native english speakers :)</title>
		<link>http://testing.gershon.info/200902/on-certified-testers-and-being-certifiable-and-on-non-native-english-speakers/</link>
		<comments>http://testing.gershon.info/200902/on-certified-testers-and-being-certifiable-and-on-non-native-english-speakers/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 10:29:42 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Nerd T35t1ng]]></category>
		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20090227/on-certified-testers-and-being-certifiable-and-on-non-native-english-speakers/</guid>
		<description><![CDATA[I like the SQE.
SQE brings columns by Michael Bolton almost monthly on the Better Magazine. They also arrange the nice STAR conferences (hadn&#8217;t the opportunity to participate yet, but I will eventually) and store a large number of articles online of all testing flavors.
Today morning I was greeted by an Email from SQE: The subject read &#8220;Are you [...]]]></description>
			<content:encoded><![CDATA[<p>I like the <a href="http://www.sqe.com/" target="_blank">SQE</a>.<br />
SQE brings columns by <a href="http://www.developsense.com/" target="_blank">Michael Bolton</a> almost monthly on the <a href="http://www.bettersoftware.com/" target="_blank">Better Magazine</a>. They also arrange the nice <a href="http://www.sqe.com/conferences/" target="_blank">STAR conferences</a> (<em>hadn&#8217;t the opportunity to participate yet, but I will eventually</em>) and store a large number of <a href="http://www.stickyminds.com/index.asp" target="_blank">articles online</a> of all testing flavors.</p>
<p>Today morning I was greeted by an Email from SQE: The subject read &#8220;<strong>Are you certifiable?</strong>&#8220;.<br />
My first reaction was to discuss the term. If I am certifiable? <strong>I?</strong> In my mind, I was arguing whether a person can be considered certifiable or maybe the topic of certification is the one certifiable.<br />
As in &#8220;Software Testing is (<em>or not</em>) a certifiable topic&#8221; against &#8220;Johnny is a certifiable (<em>or not</em>) software tester&#8221;.</p>
<p>I was puzzled over the confusing choice of words:</p>
<p><span id="more-47"></span>A lot of good people (<a href="https://www.rbcs-us.com/UserContent/Articles/ISTQB%20Certification%20_Update%200308_%20_2_.pdf" target="_blank"><em>Rex Black</em></a><em>, in a moderated way </em><a href="http://www.pstestware.nl/data/uploads/be_file/file_location/Todays%20Testing%20Innovations%20-%20Lee%20Copeland.pdf" target="_blank"><em>Lee Copeland</em></a><em>, Michael Stahl (link to </em><a href="http://www.stickyminds.com/sitewide.asp?ObjectId=10191&#038;Function=DETAILBROWSE&#038;ObjectType=CP&#038;sqry=%2AZ%28SM%29%2AJ%28MIXED%29%2AR%28relevance%29%2AK%28simplesite%29%2AF%28Security%29%2A&#038;sidx=151&#038;sopp=25&#038;sitewide.asp?sid=1&#038;sqry=%2AZ%28SM%29%2AJ%28MIXED%29%2AR%28relevance%29%2AK%28simplesite%29%2AF%28Security%29%2A&#038;sidx=151&#038;sopp=25#authorbio" target="_blank"><em>an unrelated article</em></a><em>)&#8230;</em>) support certification, and a huge lot of good people think that either the software testing arena is immature to certify, or the certifications out there are inadequate, or both (<a href="http://www.satisfice.com/blog/archives/36" target="_blank"><em>James Bach</em></a><em>, </em><a href="http://www.developsense.com/2007/12/why-i-am-not-yet-certified-eurostar.html" target="_blank"><em>Michael Bolton</em></a><em>, </em><a href="http://blogs.msdn.com/james_whittaker/archive/2008/09/11/on-certificiation.aspx" target="_blank"><em>James Whitaker</em></a><em>, </em><a href="http://www.kaner.com/pdfs/OpenCertRequirements.pdf" target="_blank"><em>Cem Kaner</em></a>&#8230;). For transparency&#8217;s sake (<em>so you get the context of this rambling</em>), while I admire and have learned a lot from the first ones, the last ones are personal heroes (<em>ok, Michael Stahl is a hero+guru too <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em>).</p>
<p>So we did not even come to an agreement if the craft itself is certifiable, and you are talking about certifiable persons? How does that work?</p>
<p>.</p>
<p>.<br />
At this moment I stopped musing and went to the <a href="http://www.visualthesaurus.com/" target="_blank">dictionary</a>:</p>
<p><img alt="certifiable.jpg" src="http://testing.gershon.info/wp-content/uploads/2009/03/certifiable.jpg" /><br />
Ok, my guess on the meaning of the work was correct: &#8220;<font face="courier new">a certifiable fact</font>&#8220;, &#8220;<font face="courier new">capable of being guaranteed</font>&#8220;.<br />
So was the other meaning, about certifiable persons: &#8220;<font face="courier new">endorsed authoritatively as having met certain requirements</font>&#8221; (<em>in our case, an exam with multiple choice memory questions</em> <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).<br />
But wow. That one in the middle is a curious meaning! &#8220;<font face="courier new">fit to be certified as insane (and treated accordingly)</font>&#8221;<br />
<strong>Certifiable == Insane.</strong> And while I don&#8217;t see a problem with insane people being ISTQB certified and vice-versa, it made it even a weirder word choice.</p>
<p>I had to search more in the internet to see that this &#8220;are you certifiable&#8221; idiom is a bit common in english. Microsoft even has a game with this name <a href="http://www.microsoft.com/click/areyoucertifiable/" target="_blank">here</a>.</p>
<p>So it was a joke! Ah, all a joke, but they kept me thinking.<br />
I guess that most of the non-native speakers of the SQE newsletters didn&#8217;t get the joke. And they were this close to being offended (<em>depends on the culture one comes from</em>).<br />
SQE (<em>and all</em>), it was good as an excuse for me to post the links for certification articles, but pay attention to your publications&#8217; audience! It takes a lot of time to get your jokes overseas <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200806/testers-dont-think-like-developers-think-like-computers/' rel='bookmark' title='Permanent Link: Testers don&#8217;t think like Developers think like Computers'>Testers don&#8217;t think like Developers think like Computers</a></li>
<li><a href='http://testing.gershon.info/200903/job-description/' rel='bookmark' title='Permanent Link: Job Description'>Job Description</a></li>
<li><a href='http://testing.gershon.info/200707/45-things-i-learnt-on-sigist-conference-day-1/' rel='bookmark' title='Permanent Link: 4.5 things I learned at Sigist Conference, day 1'>4.5 things I learned at Sigist Conference, day 1</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200902/on-certified-testers-and-being-certifiable-and-on-non-native-english-speakers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing Insights &#8211; The Graphing Calculator</title>
		<link>http://testing.gershon.info/200902/testing-insights-the-graphing-calculator/</link>
		<comments>http://testing.gershon.info/200902/testing-insights-the-graphing-calculator/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 10:44:59 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Nerd T35t1ng]]></category>
		<category><![CDATA[Test Annotations]]></category>
		<category><![CDATA[Test Insight]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20090213/testing-insights-the-graphing-calculator/</guid>
		<description><![CDATA[I&#8217;ve recently heard The Graphing Calculator Story, a ~54:00 min long Google Tech video on YouTube. On it, Ron Avitzur tells the story of the development of his (and Greg&#8217;s) Graphing Calculator, an impressive mathematical software that shipped with Mac computers for years.
What&#8217;s special about the story? Well, he did it at Apple, but for [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently heard <a href="http://www.youtube.com/watch?v=Dl643JFJWig" target="_blank">The Graphing Calculator Story</a>, a ~54:00 min long Google Tech video on YouTube. On it, Ron Avitzur tells the story of the development of his (<em>and Greg&#8217;s</em>) <a href="http://www.PacificT.com/Products.html" target="_blank">Graphing Calculator</a>, an impressive mathematical software that shipped with Mac computers for years.<br />
What&#8217;s special about the story? Well, he did it at Apple, but for free (<em>his contract was already closed</em>), and in secret (<em>Apple had cancelled the project</em>). As he says, sneaking into the building and volunteering for an eight billion dollar corporation. <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I enjoyed the story very much. It is very exciting to see the passion he had (<em>has</em>) for his software and how he was committed to it. Plus, Ron is a great story teller.<br />
The graphing calculator had all the ingredients of a cool app. It <a href="http://catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s02.html" target="_blank">scratched a developer&#8217;s personal itch</a>, and is a great example of <a href="http://markbernstein.org/NeoVictorian.html" target="_blank">NeoVictorian computing</a>: built for people, built by people, crafted in workshop, inspired.<br />
Actually, if we&#8217;re commenting on NeoVictorianism, Ron was one that really &#8220;<font face="times">woke up one day to find himself <a href="http://markbernstein.org/NeoVictorian.html" target="_blank">living in the software factory</a></font>&#8220;. The night got very cold, they said the factory is going to close and he should move somewhere else. The cool part? He kept doing his individual craftsmanship inside the corporation. Secretly.</p>
<p><span id="more-46"></span></p>
<p>Now to our matter, testing. He&#8217;s got some very good comments on Software Testing (<em>which he calls in the story as QA. Not his fault, but ours</em>). So nice comments, that I&#8217;ll just transcript:<br />
At (<em>~20:24</em>), &#8220;<font face="times">Our biggest problem was QA</font>&#8220;. &#8220;<font face="times">Fundamentally, you can&#8217;t do your own QA &#8212; it&#8217;s a question of seeing your own blind spots</font>&#8220;, and &#8220;<font face="times">it is expensive to do it well</font>&#8220;.<br />
At a moment in the story, two testing engineers came to offer help, as in their official work &#8220;<font face="times">they were really bored because they spend lots of times developing automatic test tools and now they&#8217;re at the point where they push the button and the test starts in the morning and they come back in the evening to see which API&#8217;s break</font>&#8220;.<br />
These testers were successful because they badly wanted to explore the new software, and also because they had good mathematical experience/background &#8212; closely fit skilled testers!</p>
<p>Ron later speaks about usability (<em>~35:57</em>).<br />
He describes the process of the usability studies they conducted after they&#8217;ve been programming with users in mind. Ron (<em>which understands well the importance of usability: &#8220;<font face="times">In a classroom, any time spent frustrated with the computer is time taken away from teaching</font>&#8220;</em>) says that even after all the attention to usability they had, they were surprised by the results of the study: &#8220;<font face="times">Sitting behind a two-way mirror, watching first-time users struggle with our software, reminded me that programmers are the least qualified people to design software for novices. Humbled after five days of this, Greg and I went back and painstakingly added feedback to the software, as if we were standing next to users, explaining it ourselves.</font>&#8221; In the movie, he adds that they were &#8220;<font face="times">pounding on the glass</font>&#8221; <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  and that &#8220;<font face="times">all engineers should be forced to go through this, watching real users actually trying to use their software</font>&#8220;.</p>
<p>There&#8217;s another interesting comment at the very beginning (<em>~02:30</em>). Ron comments on how straightforward typewriting work was on the firsts Macs, and how a newbie could go from zero to full speed in less than 5 minutes on <a href="http://en.wikipedia.org/wiki/MacWrite" target="_blank">MacWrite</a>.<br />
This is very curious: Even today, the computer is more useful as a typewriter than anything else. The uses had varied much, and nowadays professionals use the computer for every nitty-gritty important detail, but still, the first thing that comes to mind to most people when they think &#8220;computer&#8221; is &#8220;writing&#8221;. From journals to books to presentations, my perception is that the only thing people can do (<em>on a computer</em>) with no complex instructions is publishing. Want to <a href="http://en.wikipedia.org/wiki/Desktop_publishing" target="_blank">publish</a>? Open this app and start typing. But you want to <a href="http://en.wikipedia.org/wiki/3D_software" target="_blank">render a 3D object</a>? <a href="http://www.lsba.org/2007MemberServices/LOMAPMaterial/Picking%20the%20Best%20Law%20Office%20Software.pdf" target="_blank">Search for a court lawsuit</a>? Build a <a href="http://en.wikipedia.org/wiki/Database_software" target="_blank">repository of data</a>? Out of luck, will take years to learn it well.<br />
Our hardware has evolved, and the purposes we use the computer for have changed too. But the form has stayed the same as 30 years ago. And (<em>not</em>) surprisingly, the interfaces of our apps still resemble the interface of that first MacWrite. Time to change how we interact with computers? I hope so. <a href="http://www.sciencedaily.com/" target="_blank">Science Daily</a> had long ago an <a href="http://www.sciencedaily.com/releases/2002/10/021010072402.htm" target="_blank">article</a> that said &#8220;<font face="times">While much about the computer has changed over the last three decades–greater power, faster speeds, more memory&#8230; – what has not changed is the user interface.</font>&#8221; They offered a <a href="http://en.wikipedia.org/wiki/Gesture_recognition" target="_blank">gesture interface</a> proposition, and other technologies like <a href="http://en.wikipedia.org/wiki/Multi-touch" target="_blank">multitouch</a> or <a href="http://en.wikipedia.org/wiki/Brain-computer_interface" target="_blank">brain-controlled interfaces</a> are being researched. From my part, I&#8217;m ready to test the new paradigm as soon as it&#8217;s ready <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>This is the <a href="http://www.youtube.com/watch?v=Dl643JFJWig" target="_blank">full video</a>, this is the link for the <a href="http://www.pacifict.com/Story/" target="_blank">graphing calculator storry in text form</a> (<em>10 min instead of 55 <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em>), and go here for a <a href="http://www.youtube.com/watch?v=yJKZERN5mt4" target="_blank">demo of the product</a> at Apple&#8217;s launch.</p>
<p>Enjoy, and please let know your testing thoughts in the comments!</p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200909/create-your-testing-portfolio-presentation/' rel='bookmark' title='Permanent Link: &#8220;Create your testing portfolio&#8221; presentation'>&#8220;Create your testing portfolio&#8221; presentation</a></li>
<li><a href='http://testing.gershon.info/200911/testing-and-knowing-the-law-of-ecommerce/' rel='bookmark' title='Permanent Link: Testing questions and the Laws of eCommerce'>Testing questions and the Laws of eCommerce</a></li>
<li><a href='http://testing.gershon.info/201001/yay-another-happy-new-testing-year-a-decade-in-review/' rel='bookmark' title='Permanent Link: Yay, another Happy New Testing Year!  A decade in review&#8230;'>Yay, another Happy New Testing Year!  A decade in review&#8230;</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200902/testing-insights-the-graphing-calculator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happy New Testing Year! Yet again!</title>
		<link>http://testing.gershon.info/200901/happy-new-testing-year-yet-again/</link>
		<comments>http://testing.gershon.info/200901/happy-new-testing-year-yet-again/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 10:05:21 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20090105/happy-new-testing-year-yet-again/</guid>
		<description><![CDATA[This is the third Happy New testing Year, after this one and this one. 
This is quite exciting, three new years means two full years!
Let&#8217;s recapitulate my 2008 blogging activity:

This last year I did not do my self-goal of at least 12 posts, due to the account problem at the beginning of the year.
From the new posts, [...]]]></description>
			<content:encoded><![CDATA[<p>This is the third Happy New testing Year, after <a href="http://testing.gershon.info/20070101/happy-new-testing-year/" target="_blank">this one</a> and <a href="http://testing.gershon.info/20080413/32/" target="_blank">this one</a>. <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
This is quite exciting, three new years means two full years!</p>
<p>Let&#8217;s recapitulate my 2008 blogging activity:</p>
<ul>
<li>This last year I did not do my self-goal of at least 12 posts, due to the account problem at the beginning of the year.<br />
From the new posts, one (<a title="Permanent Link to Testers don’t think like Developers think like Computers" href="http://testing.gershon.info/20080616/testers-dont-think-like-developers-think-like-computers/" rel="bookmark"><em>Testers don’t think like Developers think like Computers</em></a>) entered my list of &#8216;classic posts that new team members read&#8217; :) together with <a title="Permanent Link to A Bug with a Helmet" href="http://testing.gershon.info/20070125/a-bug-with-a-helmet/" rel="bookmark">A Bug with a Helmet</a> and the &#8220;untestable things posts (<a href="http://testing.gershon.info/20070818/he-who-can-not-be-tested/">1</a>, <a href="http://testing.gershon.info/20070915/he-who-will-be-tested/">2</a>, <a href="http://testing.gershon.info/20071013/more-on-things-which-can-be-tested/">3</a>)&#8221;.</li>
<ul>
<li>This also means that, although the blog is kept unpublicized, I&#8217;ve got (<em>compulsory</em>) readers now <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</li>
</ul>
<li>I had at least two very interesting to write BotT: <a title="Permanent Link to BotT: Excel 2007 has algebra difficulties…" href="http://testing.gershon.info/20080504/33/" rel="bookmark">BotT: Excel 2007 has algebra difficulties…</a> and <a title="Permanent Link to BotT: Linus’ bug, youtube no workee!" href="http://testing.gershon.info/20081009/bott-linus-bug-youtube-no-workee/" rel="bookmark">BotT: Linus’ bug, youtube no workee!</a>.</li>
<li>On the <a title="Shmuel's corporate blog" href="http://software.intel.com/en-us/blogs/author/shmuel-gershon">corporate blogs</a>, I started a new series of <a href="http://software.intel.com/en-us/blogs/2008/10/12/more-configurations-disabling-of-the-intel-amt-icon-part-4-in-the-intel-amt-software-series/" target="_blank">post about Intel(R) AMT</a> &#8211; not as popular as the <a href="http://software.intel.com/en-us/blogs/2007/09/04/asf-and-intel-amt-spot-the-differences-part-1/" target="_blank">ASF series</a>, but I got good feedback. Read if you&#8217;re interested in the technology I work on.</li>
</ul>
<p>Hope this next year comes with at least 12 posts, all of them useful.<br />
Gotta start thinking on January&#8217;s post&#8230;</p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200804/32/' rel='bookmark' title='Permanent Link: Happy New Testing Year Again! What? Too late?'>Happy New Testing Year Again! What? Too late?</a></li>
<li><a href='http://testing.gershon.info/200701/happy-new-testing-year/' rel='bookmark' title='Permanent Link: Happy New Testing Year!'>Happy New Testing Year!</a></li>
<li><a href='http://testing.gershon.info/201001/yay-another-happy-new-testing-year-a-decade-in-review/' rel='bookmark' title='Permanent Link: Yay, another Happy New Testing Year!  A decade in review&#8230;'>Yay, another Happy New Testing Year!  A decade in review&#8230;</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200901/happy-new-testing-year-yet-again/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stuart&#8217;s introductions to Fitnesse, FitNesse Series (Part 2)</title>
		<link>http://testing.gershon.info/200811/stuarts-introductions-to-fitnesse-fitnesse-series-part-2/</link>
		<comments>http://testing.gershon.info/200811/stuarts-introductions-to-fitnesse-fitnesse-series-part-2/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 13:47:07 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[FitNesse]]></category>
		<category><![CDATA[Nerd T35t1ng]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20081128/stuarts-introductions-to-fitnesse-fitnesse-series-part-2/</guid>
		<description><![CDATA[Hi.
Writing the Fitnesse posts turned to be harder than I thought.
I do have a bit of tests ready for the triangle case, but not enough text to make an interesting post. As I&#8217;m not using Fitnesse in my day-to-day work, it makes it harder to bring cool insights or to explore on the framework.
But I just discovered someone [...]]]></description>
			<content:encoded><![CDATA[<p><img id="image9" height="90" alt="FitNesseLogo" src="http://testing.gershon.info/wp-content/uploads/2007/04/fitnesselogo.gif" />Hi.</p>
<p><a href="http://testing.gershon.info/category/nerd-t35t1ng/fitnesse">Writing the Fitnesse posts</a> turned to be harder than I thought.<br />
I do have a bit of tests ready for the triangle case, but not enough text to make an interesting post. As I&#8217;m not using Fitnesse in my day-to-day work, it makes it harder to bring cool insights or to explore on the framework.</p>
<p>But I just discovered someone who not only uses Fitnesse at work, but also writes articles about Fitnesse that give the Fitnese feeling:</p>
<p><span id="more-44"></span>Stuart writes at <a href="http://working-thought.blogspot.com/">http://working-thought.blogspot.com/</a>.<br />
It seems as if his company has been trying Fitnesse for a while, and they&#8217;re over the initial pains. Now they&#8217;re on more advanced pains <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , but with apparently good results.</p>
<p>If you &#8216;ve already seen the <a href="http://fitnesse.org/FitNesse.TwoMinuteExample" target="_blank">Two Minute Example</a> at the <a href="http://fitnesse.org/">Fitnesse page</a>, then you know what Fitnesse if used for.<br />
Then start reading from &#8220;<a href="http://working-thought.blogspot.com/2008/06/fitnesse-for-dummies.html">Fitnesse for Dummies</a>&#8221; at Stuart&#8217;s blog (<em>and laugh at the ilarious GenericFixture.jar error page</em>). There are further posts later, like the very insightful <a href="http://working-thought.blogspot.com/2008/10/i-hate-fitnesse-fitnesse-rocks.html">love/hate relationship</a> with Fitnesse.</p>
<p> </p>
<p>As for me, the post I liked most was the one about <a href="http://working-thought.blogspot.com/2008/06/automate-this.html">test automations</a>, that has nothing to do with Fitnesse, but explains well many of the web-app testing tasks.</p>
<p>I wish luck to Stuart, and who knows? Maybe I&#8217;ll get back at posting about Fitnesse somewhen. <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200703/fitnesse-series-in-testing-thoughts-part-0/' rel='bookmark' title='Permanent Link: FitNesse Series in Testing Thoughts (Part 0)'>FitNesse Series in Testing Thoughts (Part 0)</a></li>
<li><a href='http://testing.gershon.info/200707/the-triangle-problem-as-a-starting-point-fitnesse-series-part-1/' rel='bookmark' title='Permanent Link: The Triangle problem as a starting point &#8211; FitNesse Series (Part 1)'>The Triangle problem as a starting point &#8211; FitNesse Series (Part 1)</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200811/stuarts-introductions-to-fitnesse-fitnesse-series-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BotT: Linus&#8217; bug, youtube no workee!</title>
		<link>http://testing.gershon.info/200810/bott-linus-bug-youtube-no-workee/</link>
		<comments>http://testing.gershon.info/200810/bott-linus-bug-youtube-no-workee/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 15:22:43 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Bug of this Time]]></category>
		<category><![CDATA[Test Insight]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20081009/bott-linus-bug-youtube-no-workee/</guid>
		<description><![CDATA[Hi everybody!
The last BotT (Bug of this time) was long ago, when we talked about testing and the Excel bug.
So now we&#8217;ve got a cool one, on which the most notable point is not the bug, is the submitter  .
Bug 439858 on Fedora (a Linux distribution) was (supposedly) submitted by Linus Torvalds himself. He started [...]]]></description>
			<content:encoded><![CDATA[<p>Hi everybody!</p>
<p>The last BotT (<em>Bug of this time</em>) was long ago, when we talked about <a title="testing and the Excel" href="http://testing.gershon.info/20080504/33/">testing and the Excel</a> bug.<br />
So now we&#8217;ve got a cool one, on which the most notable point is not the bug, is the submitter <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p><a title="Bugzilla link" href="https://bugzilla.redhat.com/show_bug.cgi?id=439858" target="_blank">Bug 439858 on Fedora</a> (<em>a Linux distribution</em>) was (<em>supposedly</em>) submitted by Linus Torvalds himself. He <a href="http://groups.google.co.uk/group/comp.os.minix/browse_thread/thread/d939bf395eb8256a/d072fd3a7d407591" target="_blank">started the Linux wave</a> on August 91, and is still posting bugs on March 08 &#8211; you gotta admire him.<br />
I am aware that the submitter signing &#8220;<strong>Linus Torvalds</strong>&#8221; may not be Linus. It actually doesn&#8217;t matter, let&#8217;s just pretend it is for sensationalism&#8217;s sake (<em>regarding the admiration, you still gotta admire him even if the bug&#8217;s not his <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </em>).</p>
<p>Let&#8217;s try to analyze the bug report, and the bug itself, to see what we can learn:</p>
<p><span id="more-31"></span>Linus uses a lot of witty comments. The bug starts as &#8220;<strong>youtube no workee</strong>&#8220;, which is a nice way of writing things in a forum or a youtube post, but we should not use such mocking language in our bugs &#8211; jokes or irony in bug descriptions can offend developers, who already have a hard timing accepting their code has got errors. <strong>Cem Kaner alerts: &#8220;it is easy to read a joke or a remark as a flame&#8221;.<br />
</strong>You should not do this especially if you are a leader, influent people or the inventor of the OS &#8212; you are an example, why foment bad practices?</p>
<p>Then there is &#8220;<strong>fedora 9 not usable for wife</strong>&#8220;. That&#8217;s actually a good point. It is easy for programmers to remember that the average user is not tech-savvy and won&#8217;t tolerate complex workarounds. If this is true for common commercial (<em>and Windows</em>) application (<em>where the programmer is interested in the sales to a large audience that expects intuitive software</em>), this can be even more true in the Linux community (<em>where they&#8217;ve got an incredible good will and skills, but sometimes prefer to add features over simplicity</em>).<br />
So explaining the <strong>Customer Impact </strong>in clear language at the beginning of your bug is a very good idea.<br />
Moreover, I don&#8217;t think anyone would want to frustrate Mrs. Linus Torvalds. First because she doesn&#8217;t deserve it, being a nice person with a child-care background, and second because <a href="http://en.wikipedia.org/wiki/Linus_Torvalds#Later_years" target="_blank">she&#8217;s a black-belt</a> Karate champion <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>&#8220;<strong>Steps to Reproduce:<br />
1. Install current Fedora 9<br />
2. Rick-roll!<br />
3. No profit!</strong>&#8221;<br />
Now, these steps to reproduce aren&#8217;t very useful. Even the title of the bug is more descriptive: &#8220;<span class="bz_default_hidden" id="summary_alias_container" style="display: inline"><span id="short_desc_nonedit_display"><strong>swf mozilla plugin &#8211; no youtube</strong></span></span>&#8220;. Everyone laughed at the mention of rick-rolling, but it only added confusion: is this bug related only to the <a title="Rick Rolled!" href="http://www.youtube.com/watch?v=Yu_moia-oVI" target="_blank">Rick-Roll</a> video? Any other video?<br />
Linus added specific info to clarify: &#8220;<strong>I didn&#8217;t try a lot of videos, but I couldn&#8217;t find a single one that actually worked</strong>&#8220;. This point is actually a very good one, which teaches an important principle on bug reporting: There are points that are &#8220;conditions&#8221; to the bug (<em>the bug only reproduces with the conditions fulfilled</em>), and there are points that are &#8221;incidental&#8221; to the bug (<em>a setup or configuration that was true at the time of the bug but we cannot be sure it is part of a condition</em>). It is very important to note the distinction between these when submitting a bug. And, of course, any setting which is neither incidental nor conditional should in most cases be omitted.</p>
<p>&#8220;<strong>Some videos just show a light gray background, some give the play buttons etc,<br />
but in the latter case show only a black screen even when the red ball at the<br />
bottom seems to moves along..</strong>&#8220;. Good! Information that is really related to the bug! Adding the link of videos that show the gray background and videos that show the buttons would be of help here. You (<em>the tester</em>) already visited all of them, why should the programmer search for specific reproductions again?</p>
<p>There&#8217;s some more information in there. The information is a sum of statements that help debugging (<em>&#8220;<strong>youtube videos are supposed to work with swfdec</strong>&#8220;, &#8220;<strong>the adobe player won&#8217;t install on current rawhide</strong>&#8220;</em>), statements that define the impact (<em>&#8220;<strong>wife will kill me if she doesn&#8217;t have her videos</strong>&#8220;</em>) and humorous comments. When you report your next bug, remember to separate these into clear sections: a section to discuss the user impact, and a section for additional debugging info that can be helpful. The humorous section you can leave out <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Le Grande Finale:<br />
&#8220;<strong>&#8220;Obi-wan Kenobi, you&#8217;re our only hope&#8221;</strong>&#8220;. He actually finalized with a Star Wars quote. Which is very cool if you&#8217;re the founder of an open source OS.<br />
They should print this bug as a book. It mixes hackers, nerds, memes, Star Wars and jokes &#8211; receipt for a best seller! <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&#8212;&#8211;</p>
<p>Before you post hate comments on how I dare to criticize Linus: I don&#8217;t. He&#8217;s a hero of mine and accomplished incredible things. I just used his bug for didactic purposes.</p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200702/bott-ctrlenter-on-firefox/' rel='bookmark' title='Permanent Link: BotT: Ctrl+Enter on Firefox'>BotT: Ctrl+Enter on Firefox</a></li>
<li><a href='http://testing.gershon.info/200805/33/' rel='bookmark' title='Permanent Link: BotT: Excel 2007 has algebra difficulties&#8230;'>BotT: Excel 2007 has algebra difficulties&#8230;</a></li>
<li><a href='http://testing.gershon.info/200906/bott-smile-youre-data-is-gone/' rel='bookmark' title='Permanent Link: BOtT: Smile, your data is gone!'>BOtT: Smile, your data is gone!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200810/bott-linus-bug-youtube-no-workee/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SIGiST Conference, my lecture on Fuzz and Fault Injection</title>
		<link>http://testing.gershon.info/200808/sigist-conference-my-lecture-on-fuzz-and-fault-injection/</link>
		<comments>http://testing.gershon.info/200808/sigist-conference-my-lecture-on-fuzz-and-fault-injection/#comments</comments>
		<pubDate>Sat, 30 Aug 2008 18:14:03 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Test Insight]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20080830/sigist-conference-my-lecture-on-fuzz-and-fault-injection/</guid>
		<description><![CDATA[In this year I held a session on the &#8220;SIGiST Israel&#8221; conference.
It was a one hour lecture introducing advanced techniques, with examples of software testing through Fault Injection (with HEAT tools) and through Fuzz (variety of free tools). This month I received the average grade from the feedback sheets: 97/100!
Of course, I&#8217;m happy with the results. :) Thanks to [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://testing.gershon.info/wp-content/uploads/2008/11/lecture_slide_1.jpg" align="right" />In this year I held a session on the <a href="http://www.sigist.org.il/?CategoryID=1287" target="_blank">&#8220;SIGiST Israel&#8221; conference</a>.<br />
It was a one hour lecture introducing advanced techniques, with examples of software testing through Fault Injection (<em>with HEAT tools</em>) and through Fuzz (<em>variety of free tools</em>). This month I received the average grade from the feedback sheets:<strong> 97/100</strong>!<br />
Of course, I&#8217;m happy with the results. :) Thanks to all who attended and asked questions.</p>
<p><img src="http://testing.gershon.info/wp-content/uploads/2008/11/lecture_slide_2.jpg" align="right" />It is possible that I&#8217;ll post here a transcript or some text about this lecture. One option may be to add my comments from the lecture as notes in the powerpoint slides and post the slides here. But I don&#8217;t like powerpoint much as it does a poor job of passing information (<em>it takes the written word and limits it into bad format and structure</em>).<br />
Finding the time, I&#8217;ll write the lecture in extense text.</p>
<p>In order to keep this post still useful, here goes a short summary of the talk:</p>
<p><a href="http://www.amazon.com/gp/product/0201796198?ie=UTF8&#038;tag=testithoug-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0201796198"><img id="image41" height="96" alt="How to break software" src="http://testing.gershon.info/wp-content/uploads/2008/11/517z12e2xnl_sl160_.jpg" align="right" /></a><span id="more-40"></span><strong>Fault Injection:</strong> I base everything I say on the book &#8220;How to break software&#8221; by James Whittaker. The examples were done using <strong>Canned HEAT version 3</strong>. Canned HEAT is a good tool (<em>with many bugs </em> <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) which comes free with the book.</p>
<p><strong>Fuzz:</strong> The tools used on the examples were:<br />
<strong>GUIFuzz:</strong> A custom dumb fuzzer based on the original fuzzer which can be <a href="http://www.cs.wisc.edu/~bart/fuzz/" target="_blank">found here</a>.<br />
<strong>FileFuzz:</strong> from <a href="http://labs.idefense.com/software/fuzzing.php">iDefense Labs</a>.<br />
<strong>Driver fuzzer:</strong> Built with the <a href="http://peachfuzzer.com/">Peach Fuzzing Framework</a>.</p>
<p>All the tools and frameworks are free for commercial use as well.</p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200707/3-things-i-learnt-on-sigist-conference-day-2/' rel='bookmark' title='Permanent Link: 3 things I learned at Sigist Conference, day 2'>3 things I learned at Sigist Conference, day 2</a></li>
<li><a href='http://testing.gershon.info/200707/45-things-i-learnt-on-sigist-conference-day-1/' rel='bookmark' title='Permanent Link: 4.5 things I learned at Sigist Conference, day 1'>4.5 things I learned at Sigist Conference, day 1</a></li>
<li><a href='http://testing.gershon.info/200806/5-things-i-learned-at-sigist-conference-day-1/' rel='bookmark' title='Permanent Link: 5 things I learned at SIGiST Conference, day 1'>5 things I learned at SIGiST Conference, day 1</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200808/sigist-conference-my-lecture-on-fuzz-and-fault-injection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 things I learned at SIGiST Conference, day 1</title>
		<link>http://testing.gershon.info/200806/5-things-i-learned-at-sigist-conference-day-1/</link>
		<comments>http://testing.gershon.info/200806/5-things-i-learned-at-sigist-conference-day-1/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 19:49:31 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Test Annotations]]></category>
		<category><![CDATA[Test Insight]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20080624/5-things-i-learned-at-sigist-conference-day-1/</guid>
		<description><![CDATA[Annotations from day 24/06/2008 of the Sigist conference on Software Testing.
When not from a lecture focus, then from a side comment or explanation. Below you&#8217;ll find some insights I gained from today&#8217;s lecture. When not from a lecture focus, the ideas come from a side comment or explanation:


Map everything.
Vipul&#8217;s &#8220;I have a dream&#8221; talk described an [...]]]></description>
			<content:encoded><![CDATA[<p>Annotations from day 24/06/2008 of the <a title="Sigist home page" href="http://www.sigist.org.il/" target="_blank"><font color="#73a533">Sigist conference</font></a> on Software Testing.</p>
<p><img id="image16" height="96" alt="Sigist Israel logo" src="http://testing.gershon.info/wp-content/uploads/2007/07/sigist.jpg" />When not from a lecture focus, then from a side comment or explanation. Below you&#8217;ll find some insights I gained from today&#8217;s lecture. When not from a lecture focus, the ideas come from a side comment or explanation:</p>
<p><span id="more-37"></span></p>
<ol>
<li><strong>Map everything.<br />
Vipul&#8217;s &#8220;I have a dream&#8221; talk </strong>described an utopic system, in which every single bit of information is not only saved, but mapped and related to relevant bits. In this dream, every single information is mapped, and you can traverse all info and predict taks efforts and chain-reactions.<br />
As he said, all the technology needed for such a system exists, it just have to be done (<em>in an efficient way</em>).    </p>
<p>As such, we can start to gain the benefits of the systems by implementing easy thing. Like, for example, <strong>Requirements mapping to code</strong>. Why is that everybody talks about mapping the test-cases to the requirements, but no one mentions the <u>Requirement to Source Code mapping</u>?<br />
Such mapping would be very good to:</p>
<ul>
<li>Prevent Gold Plating (<em>number #30 </em><a title="See #30!" href="http://www.stevemcconnell.com/rdenum.htm" target="_blank"><em>here</em></a>) (<em>and see a programmer&#8217;s rant </em><a title="External Link" href="http://www.stellman-greene.com/2007/06/09/why-gold-plating-is-a-lousy-name/" target="_blank"><em>here</em></a>);</li>
<li>Show the risks (for the application) of changing a requirement (<em>and estimate the change effort</em>);</li>
<li>Show the risks (<em>for the requirements</em>) of changing the application (<em>due to a bug fix, for example</em>).</li>
</ul>
<p>A Requirement mapping effort is not complete by merely mapping test-cases.</li>
<li><strong><br />
Combine testing components.</strong><br />
If two components are codependent (<em>as in one&#8217;s functionality affects the other&#8217;s and vice versa</em>), most of the times it is better to think of them as one (<em>although composed</em>) component.<br />
Whenever you have to do something in one, include the other. It sounds obvious when you speak about testing tasks, like doing a regression and/or a specific test. But it can also be true when you are dividing any ownership and resources. Keep close things close.</li>
<li><strong><br />
Combine tests.</strong><br />
Combine tests into composed scenarios. Run a number of tests &#8211; but do them sequencially as part of of a use-case. Instead of testing the find feature, do a combo hit: Open a document, find a text, replace it, save it again under the same name &#8211; 4 tests in 1!<br />
You still got to do all the tests, but the scenario combinations increase incidental complexity ,which usually causes smarter bugs.</li>
<li><strong><br />
Software security does not end in the software.</strong><br />
Business are made of software and data. Be it a collection of different software by different company, or one single solution by one company, the business workflow has a lot of stops and transitions. It is not enough to have a software adequately tested for security, if the workflow (<em>wich is made of people</em>) allows security problems. Authentication, authorization, configuration and more are problems that need to be dealt on the workflow level. This business process needs to be built with a security mindset since the beginning. As Vipul said a day before: &#8220;Security is not supposed to be tested, it is supposed to be tested for. And the same is true for performance and usability&#8221;.</li>
<li><strong><br />
Models always lie.</strong><br />
I am afraid of models. Since I discovered that many problems with requirements come from people thinking this representation is the real thing (<em>instead of just a reflecting image with imperfections</em>), I am afraid of models. In todays&#8217; <strong>Test-Cases from UML lecture by Ofer Prat</strong>, he gave a wonderful example about modeling:<br />
London&#8217;s Underground was always mapped in it&#8217;s geographical form, it was a model drawn as close to reality as possible. Such a model was complex and almost unusable. Over the time, it evolved in a simpler and easy to follow model, but by then it was not accurate anymore &#8211; see <a title="Undergrounds History" href="http://homepage.ntlworld.com/clivebillson/tube/tube.html" target="_blank">this page</a> for a graphical history.  </p>
<p>So, models (<em>and requirements</em>) are meant to be straightforward directions. As such, they may lack from the accuracy and/or truth that reality presents.  If software is behaving in a bad way, and this bad way fits the requirements, it is time to re-tune the model.</li>
</ol>
<p>More to come tomorrow! <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200707/45-things-i-learnt-on-sigist-conference-day-1/' rel='bookmark' title='Permanent Link: 4.5 things I learned at Sigist Conference, day 1'>4.5 things I learned at Sigist Conference, day 1</a></li>
<li><a href='http://testing.gershon.info/200707/3-things-i-learnt-on-sigist-conference-day-2/' rel='bookmark' title='Permanent Link: 3 things I learned at Sigist Conference, day 2'>3 things I learned at Sigist Conference, day 2</a></li>
<li><a href='http://testing.gershon.info/200808/sigist-conference-my-lecture-on-fuzz-and-fault-injection/' rel='bookmark' title='Permanent Link: SIGiST Conference, my lecture on Fuzz and Fault Injection'>SIGiST Conference, my lecture on Fuzz and Fault Injection</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200806/5-things-i-learned-at-sigist-conference-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testers don&#8217;t think like Developers think like Computers</title>
		<link>http://testing.gershon.info/200806/testers-dont-think-like-developers-think-like-computers/</link>
		<comments>http://testing.gershon.info/200806/testers-dont-think-like-developers-think-like-computers/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 20:10:28 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Nerd T35t1ng]]></category>
		<category><![CDATA[Test Annotations]]></category>
		<category><![CDATA[Test Insight]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20080616/testers-dont-think-like-developers-think-like-computer/</guid>
		<description><![CDATA[We all are told constantly not to think like a programmers.
We&#8217;ve told other people dozens of times &#8220;Don&#8217;t you think like a programmer. We don&#8217;t care why the software does it &#8211; it is still wrong&#8221;.

For testers, thinking like developers is evil. If you think like a programmer, you&#8217;ll start excusing the software and will [...]]]></description>
			<content:encoded><![CDATA[<p>We all are told constantly not to think like a programmers.<br />
We&#8217;ve told other people dozens of times &#8220;Don&#8217;t you think like a programmer. We don&#8217;t care <strong>why </strong>the software does it &#8211; it is still wrong&#8221;.</p>
<p><a href="http://www.amazon.com/gp/product/1400082471?ie=UTF8&#038;tag=testithoug-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=1400082471"><img title="Dreaming in Code" alt="Dreaming in Code" src="http://ecx.images-amazon.com/images/I/51Klh6hn1KL._SL160_.jpg" align="right" /></a></p>
<p>For testers, thinking like developers is evil. If you think like a programmer, you&#8217;ll start excusing the software and will forgive the system&#8217;s bugs.</p>
<p>I am reading the very cool book &#8220;Dreaming in Code&#8221; by Scott Rosenberg, and I just understood a little bit more on why&#8217;s so bad sharing the developers mindset.</p>
<p><span id="more-36"></span></p>
<p>Scott starts its book with Chapter 0, a common practice in computer literature. When enumerating the reasons, he explains that &#8220;Programmers count from zero, not from one. (&#8230;) Why do programmers count from zero? Because computers count from zero!&#8221; and that developers are taught to think like computers.</p>
<p>This is a very interesting and basic concept.<br />
Dr. Parnas in his &#8220;Strategic Defense System&#8221; paper (<em>a real favorite of mine</em> <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) has a whole chapter called <strong>Why conventional software development does not produce reliable programs</strong>, in which he clarifies this problem &#8212; developers thinking (<em>or trying to think</em>) like a computer:</p>
<blockquote><p>As we continue in our attempt to &#8220;think like a computer&#8221;, the amount we have to remember grows and grows. The simple rules defining how we got to certain points in a program become more complex as we branch there from other points. (&#8230;) Because one needs to remember so much (&#8230;), new problems are created when old problems are corrected.</p></blockquote>
<p>The beauty in all this is that Testers should not exercise the programming rationale (<em>when analyzing a software</em>) because they&#8217;ll be mimicking the rationale of the very same software they are testing. They are limiting themselves to what the program knows about itself, instead of expanding their logic to people-centered matters &#8212; i.e. how the software will be used and what it is really meant to do.</p>
<p>Back to &#8220;Dreaming in Code&#8221;, Scott has an almost poetical way of writing the concepts developed by Dr. Parnas.<br />
Because computers think from zero, &#8220;programming include little offsets, translations of &#8216;+1&#8242; or &#8216;-1&#8242;&#8221;, he says. So:</p>
<blockquote><p>There&#8217;s a space between (&#8230;) the way the machine counts and thinks and the way we count and think. When you search for explanations for software&#8217;s bugs and delay and stubborn resistance to human desires, that space is where you&#8217;ll find them.</p></blockquote>
<p>Poetry. <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200902/on-certified-testers-and-being-certifiable-and-on-non-native-english-speakers/' rel='bookmark' title='Permanent Link: On certified testers and being certifiable, and on non native english speakers :)'>On certified testers and being certifiable, and on non native english speakers :)</a></li>
<li><a href='http://testing.gershon.info/200901/happy-new-testing-year-yet-again/' rel='bookmark' title='Permanent Link: Happy New Testing Year! Yet again!'>Happy New Testing Year! Yet again!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200806/testers-dont-think-like-developers-think-like-computers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Set the butterflies free &#8211; now I am collecting quotes</title>
		<link>http://testing.gershon.info/200806/set-the-butterflies-free-now-i-am-collecting-quotes/</link>
		<comments>http://testing.gershon.info/200806/set-the-butterflies-free-now-i-am-collecting-quotes/#comments</comments>
		<pubDate>Sun, 08 Jun 2008 19:59:17 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Nerd T35t1ng]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Test Annotations]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/20080608/set-the-butterflies-free-now-i-am-collecting-quotes/</guid>
		<description><![CDATA[I&#8217;ve started a quote collection. Many times I want to quote someone but I just don&#8217;t remember how exactly the phrase was. Or remember the quote but am not certain on the source&#8230;
I am fond of quoting.
Not sure why, but I like to quote. I guess it gives some legitimating to what I am saying.  
So, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve started a quote collection. Many times I want to quote someone but I just don&#8217;t remember how exactly the phrase was. Or remember the quote but am not certain on the source&#8230;</p>
<p>I am fond of quoting.<br />
Not sure why, but I like to quote. I guess it gives some legitimating to what I am saying. <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So, the quote collection is available at this address: <a href="http://testing.gershon.info/quote-collection/">http://testing.gershon.info/quote-collection/</a>. It will grow slowly, please check it regularly.</p>


<p>Related posts:<ol><li><a href='http://testing.gershon.info/200708/all-might-be-free/' rel='bookmark' title='Permanent Link: All might be free!'>All might be free!</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200806/set-the-butterflies-free-now-i-am-collecting-quotes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
