<?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 &#187; Test Annotations</title>
	<atom:link href="http://testing.gershon.info/category/test-insight/test-annotations/feed/" rel="self" type="application/rss+xml" />
	<link>http://testing.gershon.info</link>
	<description>Things to share about Software Testing</description>
	<lastBuildDate>Tue, 11 May 2010 22:40:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Should/Need Testers know how to Program (a Testing Question from Brazil)</title>
		<link>http://testing.gershon.info/201003/testers-know-how-to-program/</link>
		<comments>http://testing.gershon.info/201003/testers-know-how-to-program/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 23:55:16 +0000</pubDate>
		<dc:creator>Shmuel Gershon</dc:creator>
				<category><![CDATA[Ask the Tester]]></category>
		<category><![CDATA[Test Annotations]]></category>
		<category><![CDATA[Test Insight]]></category>
		<category><![CDATA[career]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[diversity]]></category>
		<category><![CDATA[knowledge]]></category>
		<category><![CDATA[programmer]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[qualification]]></category>
		<category><![CDATA[skills]]></category>
		<category><![CDATA[tester]]></category>
		<category><![CDATA[testers]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://testing.gershon.info/?p=139</guid>
		<description><![CDATA[There&#8217;s a very active Brazilian software testing discussion mailing list in Portuguese, called DFTestes. When I say &#8220;very active&#8221;, I mean an average of 215 messages/month in 2009, and January 2010 has got more than 404 messages. Compared with other mailing list I participate, this is the most active one, and a tip of hat [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-thumbnail wp-image-278" title="coding" src="http://testing.gershon.info/wp-content/uploads/2010/03/program_code_s-250x250.jpg" alt="" width="250" height="250" />There&#8217;s a very active Brazilian software testing discussion mailing list in Portuguese, called <a href="http://br.groups.yahoo.com/group/DFTestes/">DFTestes</a>.<br />
When I say &#8220;very active&#8221;, I mean an average of 215 messages/month in 2009, and January 2010 has got more than 404 messages. Compared with other mailing list I participate, this is the most active one, and a tip of hat goes to the testers and list-admins that make the discussions interesting and vibrant.</p>
<p>Recently a <a href="http://br.groups.yahoo.com/group/DFTestes/message/6762">big argument was held</a> (<em>link in Portuguese, requires registration</em>) on <strong>whether &#8220;testers need to know programming&#8221; or not</strong>. I made some contributions to the discussion, and I&#8217;ll try to translate my point of view to English here.<br />
Please note that there were a lot of people participating, and the post below does not present the entire debate or even an entire opinion, just the messages I wrote as answers. I hope you enjoy them.</p>
<p>The proposed question was:</p>
<blockquote><p>Do testers need programming skills? Until a few years ago, most people would definitely answer NO&#8230; But I&#8217;ve known both people that seek testing jobs as an alternative to coding, and testers that write code routinely. So, do testers need or not to know programming?</p></blockquote>
<p><span id="more-139"></span><br />
&#8212;</p>
<p><strong><span style="text-decoration: underline;">Do testers need programming skills?</span></strong> My comments:<br />
The question as it is posed takes some assumptions that may be incorrect: Saying that &#8220;until a few years ago, most people would definitely answer NO&#8221; is like deciding the answer nowadays is YES <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .<br />
<strong>First</strong>, from other discussions on this (<em>there was one not long ago in the <a href="http://groups.yahoo.com/group/software-testing">software-testing</a> mailing list too</em>), it sounds more like whoever used to say &#8220;NO&#8221; a few years ago still says &#8220;NO&#8221;, and whoever used to say &#8220;YES&#8221; still says &#8220;YES&#8221; <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . There was no significant technology or methodology novelty that caused a change in the approach to this (<a href="http://www.satisfice.com/kaner/?p=11"><em>Cem Kaner says</em></a><em> testing practice has evolved only a little over the years</em>).<br />
What does happen is that some people confuse the software testing we (<em>software testers</em>) do with the unit testing and other techniques that enhance and support development (<em>and are mostly done programmatically</em>). It is true that many testers work on this kind of tasks in their day-to-day, but I believe this is far from the essence of our job &#8212; and the <a href="http://www.developsense.com/blog/category/testing-vs-checking/">distinction of testing and checking</a> by <a href="http://www.developsense.com/">Michael Bolton</a> may help understanding that.<br />
<strong>Second</strong>; if anything, the advance of years made testing <strong>without</strong> programming knowledge even <strong>easier</strong>. <a href="http://en.wikipedia.org/wiki/Gerald_Weinberg">Jerry Weinberg</a> describes the tests he did at the beginning of his career as written in punch cards on assembly and given for the machine to execute. At these times, it was much harder (<em>bordering unfeasible</em>) to test an app without knowing to program in the language, or details about the data types and system limitations. With time the advancements in interfaces made it, if anything, much easier to test without programming knowledge. Moreover, most languages are today capable of more or less the same things, so when testing a web page most tests will be similar if it was written in PHP or ASP.NET, and many tests will be similar for an app written on C# or Delphi. And in order to learn about internal details, you don&#8217;t need to know the code either &#8212; memory, performance and process analyzers can help with detailed views about the resources used.</p>
<p>That&#8217;s not to say a tester should not know how to code <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Programming has many advantages to a tester:</p>
<ul>
<li>Being able to understand the type of problems that afflicts applications (<em>knowing &#8220;what the bug is doing to the program&#8221; <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em>).
<ul>
<li>Knowing about how software is built helps when building a mental model of the software functioning (<em>where does the program makes decisions? when does it asks for resource? how does it communicates with libraries?</em>).
<ul>
<li>Knowledge about the internal code of the application being tested does not necessarily helps, though. At times, this can be harmful as it limits the tests done more than it expands them. But this is another discussion, on the values of Black-Box testing and Glass-Box testing.</li>
</ul>
</li>
</ul>
</li>
<li>Gives the option to automate tasks or functions when these are needed in a test (<em>automated tests, automated loads, automated performance probes&#8230;</em>).
<ul>
<li>And as important, the creation of little tools that aid the testing process (<em>helping quick configuration of a system or gathering data for reports</em>) can help the whole team, and make a tester an important player in the group.</li>
</ul>
</li>
<li>It helps communication with developers. Programmers are human beings that are easy to talk to when you know their language <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &#8230; Being on the same speaking-context as them really helps. And as it happens in many other geek linguistic elites, some programmers will respect code-speakers more than non-speakers.</li>
</ul>
<p>So, should testers know how to program?<br />
Well, it definitely helps in many facets. My non-authoritative answer is that it helps so much that no tester should ignore this area, given the opportunity.</p>
<p>&#8212;</p>
<p>With so many advantages, <strong><span style="text-decoration: underline;">should we hire only the testers that know how to program</span></strong>?</p>
<p><a href="http://en.wikipedia.org/wiki/Cem_Kaner">Cem Kaner</a> commented once that he &#8220;will not accept M.Sc. or doctoral students if they have weak communication skills. My experience is that these are more important, for success in my lab, than programming skills&#8221;. Kaner&#8217;s vision, on the articles that he writes about recruiting (<a href="http://www.amazon.com/Lessons-Learned-Software-Testing-Kaner/dp/0471081124"><em>this book</em></a><em>, and </em><a href="http://www.kaner.com/pdfs/JobsRev4a.pdf"><em>this article</em></a>), is that the teams should be heterogeneous and not everybody should have coding backgrounds &#8212; the &#8220;domain knowledge&#8221; about the area and business of the application are essential for effective tests.<br />
For example, when building a team for testing an app that does stock market transactions, which kind of player would you recruit? People who know how to program, or that know the stock market trade? The best answer, I believe Cem would say, is &#8220;people from both sides&#8221;. Personally, if I had to choose one of the extremes, I would pick the stock market expert. Hey, but he doesn&#8217;t know how to code!! Well, then end user doesn&#8217;t know either.<br />
In the comments to <a href="http://testing.gershon.info/200806/testers-dont-think-like-developers-think-like-computers/">Testers don&#8217;t think like Developers think like Computers</a> I was asked about recruiting programming testers, and this is the answered there (<em>notice the example reuse <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </em>):</p>
<blockquote><p>Coding isn’t a required background for testers. Coding skills will help on coding tasks, and sometimes with system understanding.<br />
But a diverse background will make the team thrive and explore the system in fruitful ways.<br />
A domain expert can bring much more value than a B.S. in Computer science.<br />
For example, when building an application for trading stocks, a tester with a buying/selling stocks background will find valuable information.<br />
(<em>See lesson 235 in “Lessons Learned in Software Testing” by Cem Kaner, James Bach and Bret Pettichord – “Staff the testing team with diverse background”</em>).</p></blockquote>
<p>Of course, there is no 1-size-fits-all, and different projects may require a different team profile. Just as different managers and different contexts may.<br />
In essence, I would agree that teams should be encouraged to hire non-coder testers. Or, if not encouraged, the practice should be considered perfectly acceptable.</p>
<p>Another point:<br />
When I instruct testers, one of my first instructions is that operating system, programming language or data base limitations don&#8217;t matter. Be careful of *why* the software does the things it does&#8230; What matters is what the user wants, and knowledge about technology limitations can often come in the way.<br />
In his article &#8220;<a href="http://www.developsense.com/blog/2009/09/letter-to-programmer/">A Letter to the Programmer</a>&#8220;, Michael Bolton comments that the limit of text entry in the chat window of Skype is 32768 chars and a little problem he found with that. In the comments, a programmer quickly jumps to say that 32678 is the standard limit with the text_box element! This programmer did not notice that <strong>this doesn&#8217;t matter</strong>. If there is a problem here, a user doesn&#8217;t want to know about API limitations &#8212; and testers with coding skills risk &#8220;believing the system&#8221; instead of &#8220;defending the user&#8221;.</p>
<p>&#8212;</p>
<p>But <strong><span style="text-decoration: underline;">what about TDD and Unit Tests?</span></strong></p>
<p>It was commented in the thread that job opening notices more often than not require knowledge in coding language and in automation tools. From this, one sees that the focus on automation is very strong when recruiting testers. But, is this due to a sincere attempt to increase value? This tendency can very well be focusing cost reduction instead (<em>which is good too, but can be harmful when done wrong</em>).<br />
This brings us back to the confusion commented above about the difference between &#8220;real tests&#8221; and tests (<em>checks</em>) done during programming that enhance and support development (<em>Unit Tests, TDD suites etc</em>). In this video commented on the thread (<a href="http://www.nomedojogo.com/2009/04/08/so-os-imaturos-nao-testam-o-video/"><em>here</em></a><em>, in Portuguese</em>) a programmer explaining <a href="http://en.wikipedia.org/wiki/Unit_testing">unit testing</a> and <a href="http://en.wikipedia.org/wiki/Test-driven_development">TDD</a> maintains that if you have great automatic tests that support your code, you don&#8217;t need a software testing team.<br />
Ouch, that is a big mix-up!<br />
When TDD tests are mixed up with the tests software testers do, testers are being approached as a programmer&#8217;s baby-sitter, looking over the developer shoulders to tell about coding errors. But our real function isn&#8217;t (<em>solely</em>) checking whether the &#8220;if x &lt; 20&#8243; was coded correctly, but to ask whether &#8220;20&#8243; is enough, and in what extreme business conditions there will be 23 required, or when each of these 20 data-structs will need to be bigger.</p>
<p>Programmers make well to test their code thoroughly before releasing for testing, that way we can skip the dumb tests and focus on the real questions the customer is not asking. As it happens, for these questions, most automatic checks are less valuable than manual tests &#8212; be it because the automation will not find a bug again, because these tests do not evolve together with the system, or because the automation is not thinking beyond its code. If one could automate everything a tester does and think, then it would have been done and we testers would be having an easy time supervising robots <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . But you can&#8217;t, sapient testing is a human&#8217;s thing. See what <a href="http://www.satisfice.com/">James Bach</a> writes in his article &#8220;<a href="http://www.satisfice.com/blog/archives/58">Manual Tests Cannot Be Automated</a>&#8220;.</p>
<p>(<br />
<em>Last, full disclosure:<br />
- I have a computer systems development engineer degree, and worked as programmer for many years. Knowing how to program in many languages helps my testing job every day.<br />
- Unrelated to this post, and not depending on me <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , most new hires in my department at work have background and/or formation in programming, this is a prerequisite.<br />
</em>)</p>
]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/201003/testers-know-how-to-program/feed/</wfw:commentRss>
		<slash:comments>2</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 [...]]]></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&#8242;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&#8242;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&#8242;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&#8242;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>
]]></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 [...]]]></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">&#8216;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>
]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200912/testing-is-funny-with-demetri-martin/feed/</wfw:commentRss>
		<slash:comments>13</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 [...]]]></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>
]]></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>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 [...]]]></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>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 [...]]]></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>
]]></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>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; [...]]]></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>
]]></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 [...]]]></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>
]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200806/testers-dont-think-like-developers-think-like-computers/feed/</wfw:commentRss>
		<slash:comments>3</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. [...]]]></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>
]]></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>
		<item>
		<title>3 things I learned at Sigist Conference, day 2</title>
		<link>http://testing.gershon.info/200707/3-things-i-learnt-on-sigist-conference-day-2/</link>
		<comments>http://testing.gershon.info/200707/3-things-i-learnt-on-sigist-conference-day-2/#comments</comments>
		<pubDate>Thu, 12 Jul 2007 07:21:37 +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/20070712/3-things-i-learnt-on-sigist-conference-day-2/</guid>
		<description><![CDATA[Annotations from day 11/0702007 of the Sigist conference on Software Testing. 1) &#8220;I&#8217;ve never seen the same solution work in every place; or in more than one place&#8221;. The above, is quoted (almost) literally from Bernard&#8217;s &#8220;Systems of Systems&#8221; lecture. He described the well known problem, but was unable to suggest a solution. Any solution [...]]]></description>
			<content:encoded><![CDATA[<p><img id="image16" height="96" alt="Sigist Israel logo" src="http://testing.gershon.info/wp-content/uploads/2007/07/sigist.jpg" />Annotations from day 11/0702007 of the <a title="Sigist home page" href="http://www.sigist.org.il/" target="_blank">Sigist conference</a> on Software Testing.<span id="more-20"></span></p>
<p><strong>1) &#8220;I&#8217;ve never seen the same solution work in every place; or in more than one place&#8221;.</strong><br />
The above, is quoted (<em>almost</em>) literally from Bernard&#8217;s &#8220;Systems of Systems&#8221; lecture. He described the well known problem, but was unable to suggest a solution.<br />
Any solution you find to any problem, can never work 1-to-1 in your problem. <strong>Adapt.</strong> Don&#8217;t be afraid to change you environment/process too, but usually both should change in order to succeed.</p>
<p><strong>2) Critical tests are done at the end. Live with it &#8211; plan for it.<br />
</strong>On the &#8220;Performance Tests&#8221; lecture, Lior Katz said that it is a fact for almost all systems that you can not do proper stress/load/performance tests until the system is stable &#8212; which usually means an advanced stage of the project.<br />
This leads to important<strong>/</strong>critical bugs to be found at critical<strong>/</strong>important phases. One way to deal with it is to hope nothing very bad will happen&#8230; the other is to <strong>be conscious of the danger and be prepared to deal with urgent problems in the last milestones</strong>.</p>
<p><strong>3) Care for the important level of your abstraction.<br />
</strong><img id="image19" height="96" alt="Layers image" src="http://testing.gershon.info/wp-content/uploads/2007/07/layers.thumbnail.jpg" />Apart from the obvious eye-opener we had in the &#8220;Building Blocks&#8221; lecture, which taught us that GUI automation should be done in layers, like any other automation, another insight was that you should <strong>not care</strong> (so much) <strong>about ugliness or repetition in the abstraction layer</strong>. Three reasons for that:<br />
   1) The most important is that the test-cases layer is easy to implement and easy to maintain (or maintenance-less). That way new test-cases can be added quickly and by unskilled persons.<br />
   2) The abstraction layer is always finite (as it deals with a finite number of states, or components).<br />
   3) From another lecture, &#8220;Automation from day one&#8221;: &#8220;<span style="font-family: courier new">Do not test a system with an equally complex system</span>&#8220;. If sometimes repetition or duplication can help your final layer to be simpler, it is better.</p>
]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200707/3-things-i-learnt-on-sigist-conference-day-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>4.5 things I learned at Sigist Conference, day 1</title>
		<link>http://testing.gershon.info/200707/45-things-i-learnt-on-sigist-conference-day-1/</link>
		<comments>http://testing.gershon.info/200707/45-things-i-learnt-on-sigist-conference-day-1/#comments</comments>
		<pubDate>Tue, 10 Jul 2007 20:14:45 +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/20070710/45-things-i-learnt-on-sigist-conference-day-1/</guid>
		<description><![CDATA[Annotations from day 10/0702007 of the Sigist conference on Software Testing. 1) When you measure an object&#8217;s weight, the weight do not gets affected. Similarly, when you measure software’s quality, you don&#8217;t have influence on the amount of quality. That&#8217;s from Rex Black&#8217;s lecture (10 worst things).  The lecture was your standard lecture in which a [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="Sigist Israel logo" src="http://testing.gershon.info/wp-content/uploads/2007/07/sigist.jpg" />Annotations from day 10/0702007 of the <a title="Sigist home page" href="http://www.sigist.org.il/" target="_blank">Sigist conference</a> on Software Testing.<span id="more-18"></span></p>
<p><strong>1) When you measure an object&#8217;s weight, the weight do not gets affected. Similarly, when you measure software’s quality, you don&#8217;t have influence on the amount of quality.</strong><br />
That&#8217;s from Rex Black&#8217;s lecture (<em>10 worst things</em>).<br />
 The lecture was your standard lecture in which a lot of common-sense ideas are put on a slide, but the clarity, order and side-info gives all a better meaning and <strong>things get adjusted on your head</strong>. I like these lectures, they help to organize your mind, and surely help you to articulate these thoughts later.<br />
 The idea in bold above is a very smart one: <strong>Don&#8217;t try or pretend to be the Quality Factor in the product you are testing</strong>. Don&#8217;t be a Quality Assuror. Just because you are a Testing Expert, and know how to measure the quality of an application, does not mean you have the power (<em>or meanings</em>) to increase its quality. Testing is not to improve quality, testing is to give a quality measurement. It is a decision making tool.</p>
<p><strong>2) Don&#8217;t be afraid of producing a large amount of test cases. If you need to discard a part, at least you&#8217;ll know exactly what you&#8217;re giving up.</strong><br />
That&#8217;s pretty much self-explanatory. It was one of Vipul Kocher&#8217;s points on the &#8220;Verb and Noun technique&#8221; lecture.<br />
This technique allows for a quick and easy mass-production of test cases. And, for those who are afraid of being overwhelmed by all the test cases, the answer is: &#8220;No one is telling you to test them all. But now <strong>your choice is conscious</strong>.&#8221;</p>
<p><strong><a class="imagelink" title="V Model diagram" href="http://testing.gershon.info/wp-content/uploads/2007/07/v-model.jpg"><img height="96" alt="V Model diagram" src="http://testing.gershon.info/wp-content/uploads/2007/07/v-model.thumbnail.jpg" /></a>3) &#8211; Company &#8216;X&#8217; has no written development requirements whatsoever. It is a bad thing?<br />
   &#8211; Yes!<br />
   &#8211; It depends.</strong><br />
The above dialog happened during the &#8220;V Model&#8221; lecture by Geoff. He was talking about a branch of some company (<em>he named it, I wont. Just know that it is quite big&#8230;</em>) that systematically don&#8217;t have written requirements.<br />
The categorical reply that one participant gave (<em>and most if not all held too</em>) was the obvious &#8211; you&#8217;ve got to have requirements to be a good boy. How can I test without requirements?<br />
That&#8217;s why the answer is so surprising and so refreshing. If an answer is categorical, it is probably wrong. <a title="List of cognitive biases" href="http://en.wikipedia.org/wiki/List_of_cognitive_biases" target="_blank">Your cognitive bias</a> is fooling you again.<br />
If this company has a process, on which all stakeholders agree, and on which the testing department has agreed &#8211; then it doesn&#8217;t matter so much whether there is place for a &#8216;Write Requirements&#8217; checkbox on it. If the testing department agrees to test without requirements as we know them, perfect.<br />
Summing up, not everything that is different is bad. If it is <u>well analyzed and well controlled</u>, any process can give you results. You can decide on <u>what is important </u>and <u>how much you want to risk</u>.</p>
<p><strong>3.5) You can use a process model as a display of your place on the project, without having to follow the process.</strong><br />
That&#8217;s actually the summary of the lecture. Geoff presented a case study, where although the process was not led by the V-Model principles, and did not follow the V-Model path, the V-Model was used as a clever instrument to show all involved parts what are the dependencies between development and testing. <strong>It is a clear diagram to show what parts of testing can/cannot be done with/without proper effort from the development side.</strong><br />
Of course&#8230; this rule is true for any other diagram/process, not only V-Model. So you probably can choose the model that better suits your necessities. Just be sure not to be biased <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8211; anyone can pick the model that fits its own interest and try to apply it to the company reality&#8230; Managers should be smart enough to spot where the discrepancies are.</p>
<p><strong>4) Don&#8217;t be the one to harms MS Windows, or your own application.</strong><br />
On the &#8220;Testing the Windows* registry&#8221; lecture, Michael Stahl explained that messing with the Windows Registry can surely disrupt your OS system. Or your application. There are even disclaimers on this everywhere. But he also explained that it only messes the system if you (<em>ok, the programmer</em>) let it happen. If all registry inputs are checked and validated before being used, nothing bad will/shall happen.<br />
There is no excuse &#8211; <strong>the registry is under the developer control (<em>not the other way around</em>)!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200707/45-things-i-learnt-on-sigist-conference-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Annotated Joel on Software &#8211; (Bad) Reasons not to test</title>
		<link>http://testing.gershon.info/200704/annotated-joel-on-software-bad-reasons-not-to-test/</link>
		<comments>http://testing.gershon.info/200704/annotated-joel-on-software-bad-reasons-not-to-test/#comments</comments>
		<pubDate>Wed, 25 Apr 2007 21:18:13 +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/20070425/annotated-joel-on-testing-why-you-dont-have-testers/</guid>
		<description><![CDATA[Now it is my turn! I have the honor to disagree with Joel. I&#8217;ll pick up an easy subject: Private walled offices.  Joel says that nothing improves morale and efficiency like private walled offices. I&#8217;ve worked in both way, and in two occasions companies I worked switched methods (from closed environments to open spaces) - in this [...]]]></description>
			<content:encoded><![CDATA[<div dir="ltr" style="font-size: 80%; float: right; width: 45%; font-family: arial; text-align: justify; border: black 1px solid"><strong>Now it is my turn!</strong><br />
I have the honor to disagree with Joel. I&#8217;ll pick up an easy subject: Private walled offices. </p>
<p><a title="A Field Guide to Developers" href="http://www.joelonsoftware.com/articles/FieldGuidetoDevelopers.html" target="_blank">Joel says </a>that nothing improves morale and efficiency like private walled offices. I&#8217;ve worked in both way, and in two occasions companies I worked switched methods (<em>from closed environments to open spaces</em>) - in this experience, the gains of working on wall-less and open spaces are visible. Suddenly, everything is quick and everything is clear. No more leaving things to deal later. No more company-wide procrastination.<br />
My advice: break those doors and those walls.</div>
<p>Everybody loves Joel.</p>
<p>Everybody loves his articles, his jokes and his books.<br />
More than that, people love to disagree with him, so they can look smart and judgmental. The funniest part is seeing the judgmental faces they do.</p>
<p>In 2000, Joel wrote a cool article on &#8220;<a title="Top Five (Wrong) Reasons You Don't Have Testers" href="http://www.joelonsoftware.com/articles/fog0000000067.html" target="_blank">Top Five (Wrong) Reasons You Don&#8217;t Have Testers</a>&#8220;.<br />
He&#8217;s got some great information there, and in this post I&#8217;ll just comment it (<em>see the &#8216;Annotations&#8217; tag?</em>).</p>
<p>Ok, so go on (<a title="Top Five (Wrong) Reasons You Don't Have Testers" href="http://www.joelonsoftware.com/articles/fog0000000067.html" target="_blank"><em>link</em></a>) and read the paper.<br />
In his paper, Joel debunk 5 miths of companies who won&#8217;t hire testers:</p>
<p><span id="more-11"></span></p>
<ol>
<li>Bugs come from lazy programmers.</li>
<li>My software is on the web. I can fix bugs in a second.</li>
<li>My customers will test the software for me.</li>
<li>Anybody qualified to be a good tester doesn&#8217;t want to work as a tester.</li>
<li>I can&#8217;t afford testers!</li>
</ol>
<p>Joel has intelligent advice on the first three points (<em>you&#8217;ve read them, right?</em>), so I&#8217;ll not discuss them. As for the last two&#8230; lots of comments!</p>
<p>Regarding point 4, Joel&#8217;s article is a bit outdated.</p>
<ul>
<li>Joel says that &#8220;<span style="font-family: courier">most people who are that smart will tend to get bored with day-to-day testing, so the best testers tend to last for about 3 or 4 months and then move on</span>&#8220;, and gives some ways to make your testing scene look more inviting.<br />
C&#8217;mon! If your testers become bored after 3 months, you are probably hiring the wrong people. Good testers are passionate about tests, and know what it takes to be a tester. They know the work can become boring if they let it, so they manage the work in a way it will never be boring. Good testers are built for testing, even before you hire them.<br />
Myself, I started to work on testing out of curiosity, after a few years of development. Man, this is fun! <strong>The analytics mindset of a tester cannot be compared to the algorithmic mindset of a developer. They&#8217;re two different things, that level on the same job-satisfaction.</strong> Humm? What do I mean with Passionate Testers? Read the blogs of <a href="http://blogs.msdn.com/micahel/" target="_blank">Braidy Tester</a>, and of <a href="http://testertested.blogspot.com/" target="_blank">Pradeep</a>, you&#8217;ll know what I mean.<br />
So, Joel, hiring those non-traditional workers as your test-base will just give you big turnovers and you&#8217;ll never gather that cool techie testing group that laugh about bugs found.<br />
A funny quote from the article: &#8220;<span style="font-family: courier">Recognize that you will have a lot of turnover among your top testers. Hire aggressively to keep a steady inflow of people.</span>&#8220;. I doubt anyone would treat the development team like that. It should not be different in the testers team &#8211; - recruit a winning team, treat them like kings, and you can expect them to serve the company for years to follow.</li>
</ul>
<p>Last point, point  5. Again, not a very accurate/scientific approach:</p>
<ul>
<li>We can summarize Joel&#8217;s reply in this point as &#8220;Don&#8217;t skimp on testers, because you can find some cheap testers&#8221;. That&#8217;s the same as saying &#8220;Don&#8217;t skimp on <a href="http://www.joelonsoftware.com/articles/customerservice.html" target="_blank">Customer Service</a>, you can hire any outsorced company on India to answer your phones.&#8221;. Ahh! Doesn&#8217;t make that much sense now, does it?<br />
The real reason not to economize on testers is that <strong>bugs and defects will cost much more than your testing team</strong> if you don&#8217;t test. If your customer find a bug, one of these which you could have avoided, the sum of costs of all the activities related to fixing and re-releasing your product is big &#8211; - very big (<em>not to mention the harm to your reputation!</em>). If your software is a shelf-product, it is even harder and expensive. If you are on hardware, the mere thought is making you pale.</li>
</ul>
<p>Of course, I am not expecting any answer from Joel, but I like to believe that he agrees with me. <img src='http://testing.gershon.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://testing.gershon.info/200704/annotated-joel-on-software-bad-reasons-not-to-test/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
