<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments on: Question: Tester&#8217;s Freedom of Thought</title>
	<link>http://www.satisfice.com/blog/archives/61</link>
	<description>The Consulting Software Tester</description>
	<pubDate>Sat, 22 Nov 2008 08:54:45 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: Michael Bolton</title>
		<link>http://www.satisfice.com/blog/archives/61#comment-3085</link>
		<dc:creator>Michael Bolton</dc:creator>
		<pubDate>Fri, 22 Sep 2006 04:00:03 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/61#comment-3085</guid>
		<description>To David Gilbert:

&lt;i&gt;In the circumstances I am thinking of, which I get to deal with fairly routinely at the moment, the dev team gives the BA the spec, which says “The product shall…”. The BA writes the test cases based on the spec, which read “The tester shall test that the product shall…”, and then hands the test cases to the tester, whose mission is to validate the product relative to the spec vis a vis the test cases. Anything beyond that is seen as wasting your time and not doing your job.&lt;/i&gt;

I do not feel in any way bound by the limitations of that mission.  First of all, in my experience, when a B.A. says "the tester shall", that's just a suggestion (and usually an inadequate one) of what I shall &lt;i&gt;really&lt;/i&gt; do.  From most B.A.'s, that stuff is on the level of "the tester shall show up for work".  My job, as I see it, is to take the suggestion and run with it, since (without considerable experience) they have no idea of what I &lt;i&gt;can&lt;/i&gt; do; they're bound by their imaginations.  I don't have to be bound by their imaginations.

Now:  I'd bet you have this attitude too, and I'll bet I understand the reaction that you may have got.  I got that kind of reaction from one client.  I discovered a fairly spectacular problem, and the in-house tester was indignant.  "You're supposed to be testing [something else]!"  What he really meant was "I wouldn't have thought to do that, and I'm surprised that you did."  My response was twofold.  First, I had exposed the bug by throwing the program some extreme data on the way to my primary destination, so in fact I was testing the stuff I was supposed to.  But in addition, I said, "Okay, I can see how you might believe that.  But tell me:  if I happened to find a problem like that at some point while I am testing the stuff I'm supposed to be testing, would you be interested?"  Long pause.  "Well..." Long pause.  "I guess."

What you were experiencing was that a spec was being reverse engineered to address a set of features already &lt;i&gt;believed&lt;/i&gt; to work well, not &lt;i&gt;known&lt;/i&gt; to work well.  If I'm in such a circumstance, and I reveal some information that might lead to a delay, I remember this:  I neither put the problem in, nor am I responsible for the decision to delay or not.  Gathering information about the product is my responsiblity; what the team decides to do with that information--delay or release--is the decision of the project owner.  This doesn't have to be an adversarial process.  Would the developers prefer to release the product with bugs that they don't know about?  I haven't yet met a developer who can't be convinced that I'm trying to make him look good.</description>
		<content:encoded><![CDATA[<p>To David Gilbert:</p>
<p><i>In the circumstances I am thinking of, which I get to deal with fairly routinely at the moment, the dev team gives the BA the spec, which says “The product shall…”. The BA writes the test cases based on the spec, which read “The tester shall test that the product shall…”, and then hands the test cases to the tester, whose mission is to validate the product relative to the spec vis a vis the test cases. Anything beyond that is seen as wasting your time and not doing your job.</i></p>
<p>I do not feel in any way bound by the limitations of that mission.  First of all, in my experience, when a B.A. says &#8220;the tester shall&#8221;, that&#8217;s just a suggestion (and usually an inadequate one) of what I shall <i>really</i> do.  From most B.A.&#8217;s, that stuff is on the level of &#8220;the tester shall show up for work&#8221;.  My job, as I see it, is to take the suggestion and run with it, since (without considerable experience) they have no idea of what I <i>can</i> do; they&#8217;re bound by their imaginations.  I don&#8217;t have to be bound by their imaginations.</p>
<p>Now:  I&#8217;d bet you have this attitude too, and I&#8217;ll bet I understand the reaction that you may have got.  I got that kind of reaction from one client.  I discovered a fairly spectacular problem, and the in-house tester was indignant.  &#8220;You&#8217;re supposed to be testing [something else]!&#8221;  What he really meant was &#8220;I wouldn&#8217;t have thought to do that, and I&#8217;m surprised that you did.&#8221;  My response was twofold.  First, I had exposed the bug by throwing the program some extreme data on the way to my primary destination, so in fact I was testing the stuff I was supposed to.  But in addition, I said, &#8220;Okay, I can see how you might believe that.  But tell me:  if I happened to find a problem like that at some point while I am testing the stuff I&#8217;m supposed to be testing, would you be interested?&#8221;  Long pause.  &#8220;Well&#8230;&#8221; Long pause.  &#8220;I guess.&#8221;</p>
<p>What you were experiencing was that a spec was being reverse engineered to address a set of features already <i>believed</i> to work well, not <i>known</i> to work well.  If I&#8217;m in such a circumstance, and I reveal some information that might lead to a delay, I remember this:  I neither put the problem in, nor am I responsible for the decision to delay or not.  Gathering information about the product is my responsiblity; what the team decides to do with that information&#8211;delay or release&#8211;is the decision of the project owner.  This doesn&#8217;t have to be an adversarial process.  Would the developers prefer to release the product with bugs that they don&#8217;t know about?  I haven&#8217;t yet met a developer who can&#8217;t be convinced that I&#8217;m trying to make him look good.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael M. Butler</title>
		<link>http://www.satisfice.com/blog/archives/61#comment-1966</link>
		<dc:creator>Michael M. Butler</dc:creator>
		<pubDate>Sun, 10 Sep 2006 10:44:53 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/61#comment-1966</guid>
		<description>It's also possible , to some degree, to &lt;i&gt;pretend&lt;/i&gt; to be following the spec, and actually in part test according to one's hunches, higher sense of ethics, or duty. One needs to be able to provide some degree of cover in such circumstances, and this can include "misunderstanding" the spec in interesting ways -- but beware of this "misunderstanding" being interpreted as bloody-mindedness by the writers of the specification.</description>
		<content:encoded><![CDATA[<p>It&#8217;s also possible , to some degree, to <i>pretend</i> to be following the spec, and actually in part test according to one&#8217;s hunches, higher sense of ethics, or duty. One needs to be able to provide some degree of cover in such circumstances, and this can include &#8220;misunderstanding&#8221; the spec in interesting ways &#8212; but beware of this &#8220;misunderstanding&#8221; being interpreted as bloody-mindedness by the writers of the specification.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rachel Silber</title>
		<link>http://www.satisfice.com/blog/archives/61#comment-1782</link>
		<dc:creator>Rachel Silber</dc:creator>
		<pubDate>Fri, 08 Sep 2006 06:19:35 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/61#comment-1782</guid>
		<description>A provocation gets a response by making you uncomfortable.  This made me think about the role of &lt;em&gt;discomfort&lt;/em&gt; in inspiring testers.  I've often said to myself, "I'm done with the planned testing, and I'm still not comfortable with saying this is working well.  I wonder what I haven't accounted for in my testing yet?"

&lt;em&gt;[James' Reply: Well said!]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>A provocation gets a response by making you uncomfortable.  This made me think about the role of <em>discomfort</em> in inspiring testers.  I&#8217;ve often said to myself, &#8220;I&#8217;m done with the planned testing, and I&#8217;m still not comfortable with saying this is working well.  I wonder what I haven&#8217;t accounted for in my testing yet?&#8221;</p>
<p><em>[James&#8217; Reply: Well said!]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Gilbert</title>
		<link>http://www.satisfice.com/blog/archives/61#comment-1743</link>
		<dc:creator>David Gilbert</dc:creator>
		<pubDate>Thu, 07 Sep 2006 14:31:08 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/61#comment-1743</guid>
		<description>James -- you say "If the mission is merely to touch the things that are mentioned in the spec, and not to draw inferences about them so as to address the risks that my clients are concerned about, then I will probably miss some important problems. My client may come to regret that they insisted on such a limited mission."

I believe that is exactly the point.  In the circumstances I am thinking of, which I get to deal with fairly routinely at the moment, the dev team gives the BA the spec, which says "The product shall...".  The BA writes the test cases based on the spec, which read "The tester shall test that the product shall...", and then hands the test cases to the tester, whose mission is to validate the product relative to the spec vis a vis the test cases.  Anything beyond that is seen as wasting your time and not doing your job.

What was really going on here (IMHO) was that a spec was being reverse engineered to address a set of features already known to work well, and the dev team was defining the mission so narrowly as to avoid any possible delay to their release that we may cause.  Quality was not the overriding concern, schedule was.  In the process of changing that, relationships have become adversarial, and that is the source of some of the frustration that I am sure can be sensed in my posts...I don't like it when testers and developers talk to each other with suspicion and disdain.  But as long as the test leadership chooses the moral high ground of "Quality for qualities sake" (a whole different discussion), and the development leadership gets whipped for missing delivery dates and deadlines, we continue to muddle along in our little rut.

The more I observe this situation, the more I believe the problem is one of leadership...the true mission has not been defined at the proper level and communicated down to those tasked with carrying it out.  This leads to much frustration, which, by the time it gets to the individual testers level, at least LOOKS like we are being told to test strictly to the spec, which we inherently know is not good testing.

Sincerely,
David

&lt;em&gt;[James' Reply: I believe it is possible to &lt;strong&gt;pretend&lt;/strong&gt; not to draw inferences about the spec, but I think that would just  be pretense.] &lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>James &#8212; you say &#8220;If the mission is merely to touch the things that are mentioned in the spec, and not to draw inferences about them so as to address the risks that my clients are concerned about, then I will probably miss some important problems. My client may come to regret that they insisted on such a limited mission.&#8221;</p>
<p>I believe that is exactly the point.  In the circumstances I am thinking of, which I get to deal with fairly routinely at the moment, the dev team gives the BA the spec, which says &#8220;The product shall&#8230;&#8221;.  The BA writes the test cases based on the spec, which read &#8220;The tester shall test that the product shall&#8230;&#8221;, and then hands the test cases to the tester, whose mission is to validate the product relative to the spec vis a vis the test cases.  Anything beyond that is seen as wasting your time and not doing your job.</p>
<p>What was really going on here (IMHO) was that a spec was being reverse engineered to address a set of features already known to work well, and the dev team was defining the mission so narrowly as to avoid any possible delay to their release that we may cause.  Quality was not the overriding concern, schedule was.  In the process of changing that, relationships have become adversarial, and that is the source of some of the frustration that I am sure can be sensed in my posts&#8230;I don&#8217;t like it when testers and developers talk to each other with suspicion and disdain.  But as long as the test leadership chooses the moral high ground of &#8220;Quality for qualities sake&#8221; (a whole different discussion), and the development leadership gets whipped for missing delivery dates and deadlines, we continue to muddle along in our little rut.</p>
<p>The more I observe this situation, the more I believe the problem is one of leadership&#8230;the true mission has not been defined at the proper level and communicated down to those tasked with carrying it out.  This leads to much frustration, which, by the time it gets to the individual testers level, at least LOOKS like we are being told to test strictly to the spec, which we inherently know is not good testing.</p>
<p>Sincerely,<br />
David</p>
<p><em>[James&#8217; Reply: I believe it is possible to <strong>pretend</strong> not to draw inferences about the spec, but I think that would just  be pretense.] </em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Gilbert</title>
		<link>http://www.satisfice.com/blog/archives/61#comment-1698</link>
		<dc:creator>David Gilbert</dc:creator>
		<pubDate>Wed, 06 Sep 2006 17:01:54 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/61#comment-1698</guid>
		<description>James -- I like the response, but I want to go back to the question for a second and look at it from perhaps a slightly different perspective.  Subha says : "A tester is usually bound by the constraints of specifications ", and you begin your response by challenging that basic premise.  But in many cases, that is true to a large degree.  In highly structured corporate / government organizations, where the testing to be done is dictated and documented to a high degree, it is incumbent upon the tester to do and document exactly what they are tasked with.

&lt;em&gt;[James' Reply: Let's untangle some issues that you may have confused. The specification is not the mission. The specification is not the test plan. Do not conflate the specification with these other things. The specification does not tell you what to test or how to test. The specification merely raises important questions. If you want to find important problems quickly in that product, you must perform testing that addresses those questions.&lt;/em&gt;

&lt;em&gt;To fulfill my mission as a tester, I might not test what is referred to in a particular spec, or I might test everything, or I might test other things not in the spec. I do what fulfills the mission. If the mission is merely to touch the things that are mentioned in the spec, and not to draw inferences about them so as to address the risks that my clients are concerned about, then I will probably miss some important problems. My client may come to regret that they insisted on such a limited mission.]&lt;/em&gt;

If, within the freedom of the constraints you listed, you then have the luxury of time to go back and test more than you were tasked (I realize this is one of the constraints you described) then that is great, and exactly what I would recomend.&lt;em&gt; &lt;/em&gt;

&lt;em&gt;[James' Reply: I don't know what you mean by "tasked". If its covered by the mission, then we do it. If its not covered by the mission, then we probably don't worry about it. However, a tester's mission often includes such ideas as "find important problems, please." This will require you to go beyond, and sometimes far beyond, the handful of things mentioned in most specifications I've seen.]&lt;/em&gt;

So the spec is the starting point, but in some cases, even after considering your response, it may also be the ending point, and I believe your response shortchanges that a bit.

&lt;em&gt;[James' Reply: A specification document is not, and cannot, &lt;strong&gt;ever&lt;/strong&gt; be an ending point. It is a simple impossibility. As soon as you read a specification; as soon as you think about it at all; you extend it. That's because every specification document involves assumptions and requires background knowledge to interpret. It evokes your imagination.] &lt;/em&gt;

This is where I was 3 years ago, and in that time, we have managed to expand the constraints you outline, with the biggest change being in Project Culture.  The real problem was that our Mission was badly defined, but we had no base of power to change that.  By simply finding things we weren't necessarily asked to find, but that were important, we were able to change the cultural perceptions of our role, and this led to a redefining of our mission.  To your point about being careful, we did make many people unhappy along the way, but ultimately their unhappiness was based on the fact that our success was due to their not really supporting the organizations mission properly, and you could write books on that all by itself.
All of this is interwoven very tightly, but at the bottom of the food chain where most of us testers get to spend a lot of time, sometimes life does indeed begin and end with the spec and those other constraints are simply outside of our sphere of influence.&lt;em&gt;  &lt;/em&gt;

&lt;em&gt;[James' Reply: One thing that is never outside your influence is your ability to &lt;strong&gt;misunderstand &lt;/strong&gt;a specification. And just as no one can prevent you from misunderstanding the spec, no one can prevent you from understanding it excellently. No one can prevent you from having great ideas about testing a product based on implications you see in the spec, or &lt;strong&gt;from any other source&lt;/strong&gt;. &lt;/em&gt;

&lt;em&gt;I'm not talking about flouting your mission. Your mission binds you. The specification is just food for thought.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>James &#8212; I like the response, but I want to go back to the question for a second and look at it from perhaps a slightly different perspective.  Subha says : &#8220;A tester is usually bound by the constraints of specifications &#8220;, and you begin your response by challenging that basic premise.  But in many cases, that is true to a large degree.  In highly structured corporate / government organizations, where the testing to be done is dictated and documented to a high degree, it is incumbent upon the tester to do and document exactly what they are tasked with.</p>
<p><em>[James&#8217; Reply: Let&#8217;s untangle some issues that you may have confused. The specification is not the mission. The specification is not the test plan. Do not conflate the specification with these other things. The specification does not tell you what to test or how to test. The specification merely raises important questions. If you want to find important problems quickly in that product, you must perform testing that addresses those questions.</em></p>
<p><em>To fulfill my mission as a tester, I might not test what is referred to in a particular spec, or I might test everything, or I might test other things not in the spec. I do what fulfills the mission. If the mission is merely to touch the things that are mentioned in the spec, and not to draw inferences about them so as to address the risks that my clients are concerned about, then I will probably miss some important problems. My client may come to regret that they insisted on such a limited mission.]</em></p>
<p>If, within the freedom of the constraints you listed, you then have the luxury of time to go back and test more than you were tasked (I realize this is one of the constraints you described) then that is great, and exactly what I would recomend.<em> </em></p>
<p><em>[James&#8217; Reply: I don&#8217;t know what you mean by &#8220;tasked&#8221;. If its covered by the mission, then we do it. If its not covered by the mission, then we probably don&#8217;t worry about it. However, a tester&#8217;s mission often includes such ideas as &#8220;find important problems, please.&#8221; This will require you to go beyond, and sometimes far beyond, the handful of things mentioned in most specifications I&#8217;ve seen.]</em></p>
<p>So the spec is the starting point, but in some cases, even after considering your response, it may also be the ending point, and I believe your response shortchanges that a bit.</p>
<p><em>[James&#8217; Reply: A specification document is not, and cannot, <strong>ever</strong> be an ending point. It is a simple impossibility. As soon as you read a specification; as soon as you think about it at all; you extend it. That&#8217;s because every specification document involves assumptions and requires background knowledge to interpret. It evokes your imagination.] </em></p>
<p>This is where I was 3 years ago, and in that time, we have managed to expand the constraints you outline, with the biggest change being in Project Culture.  The real problem was that our Mission was badly defined, but we had no base of power to change that.  By simply finding things we weren&#8217;t necessarily asked to find, but that were important, we were able to change the cultural perceptions of our role, and this led to a redefining of our mission.  To your point about being careful, we did make many people unhappy along the way, but ultimately their unhappiness was based on the fact that our success was due to their not really supporting the organizations mission properly, and you could write books on that all by itself.<br />
All of this is interwoven very tightly, but at the bottom of the food chain where most of us testers get to spend a lot of time, sometimes life does indeed begin and end with the spec and those other constraints are simply outside of our sphere of influence.<em>  </em></p>
<p><em>[James&#8217; Reply: One thing that is never outside your influence is your ability to <strong>misunderstand </strong>a specification. And just as no one can prevent you from misunderstanding the spec, no one can prevent you from understanding it excellently. No one can prevent you from having great ideas about testing a product based on implications you see in the spec, or <strong>from any other source</strong>. </em></p>
<p><em>I&#8217;m not talking about flouting your mission. Your mission binds you. The specification is just food for thought.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Subha</title>
		<link>http://www.satisfice.com/blog/archives/61#comment-1668</link>
		<dc:creator>Subha</dc:creator>
		<pubDate>Wed, 06 Sep 2006 05:48:38 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/61#comment-1668</guid>
		<description>Thanks Mr. James &#38; Mr. Jonathan,

  I feel i have some clear views &#38; ideas about testing our websites for usability.</description>
		<content:encoded><![CDATA[<p>Thanks Mr. James &amp; Mr. Jonathan,</p>
<p>  I feel i have some clear views &amp; ideas about testing our websites for usability.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
