<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: Sapient Processes</title>
	<atom:link href="http://www.satisfice.com/blog/archives/99/feed" rel="self" type="application/rss+xml" />
	<link>http://www.satisfice.com/blog/archives/99</link>
	<description>The Consulting Software Tester</description>
	<pubDate>Mon, 15 Mar 2010 14:54:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Gaurav Pandey</title>
		<link>http://www.satisfice.com/blog/archives/99/comment-page-1#comment-161581</link>
		<dc:creator>Gaurav Pandey</dc:creator>
		<pubDate>Mon, 24 Nov 2008 21:10:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/archives/99#comment-161581</guid>
		<description>Very interesting post. 
While reading this post, I was intrigued to understand the dictionary meaning of Sapient and Automation. 

While I was reading the meaning of automation, I got multiple definitions. 
One of the defintions was "self-regulated so as to meet predetermined requirements "

&lt;em&gt;[James' Reply: I don't recognize that definition. It makes no sense to me. It would seem to say that humans are automation. That's crazy talk!]&lt;/em&gt;
If I consider this definition to be correct, then how different is automation from manual testing?
I am not a veteran to automation testing. In fact, we use QTP to automate our functional testing. 
As a process, we create test cases for our manual testing. Once the test case has a PASS status, we record/validate/check our automation script. 

If what I am doing is actually "automation" however different is automation (from my context) to the explaination you have provided?
What actually is automation?
&lt;em&gt;
[James' Reply: I think of test automation, in general, as "tool-supported software testing." However, the general idea of automation is that work which is done by a machine instead of a person.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Very interesting post.<br />
While reading this post, I was intrigued to understand the dictionary meaning of Sapient and Automation. </p>
<p>While I was reading the meaning of automation, I got multiple definitions.<br />
One of the defintions was &#8220;self-regulated so as to meet predetermined requirements &#8221;</p>
<p><em>[James' Reply: I don't recognize that definition. It makes no sense to me. It would seem to say that humans are automation. That's crazy talk!]</em><br />
If I consider this definition to be correct, then how different is automation from manual testing?<br />
I am not a veteran to automation testing. In fact, we use QTP to automate our functional testing.<br />
As a process, we create test cases for our manual testing. Once the test case has a PASS status, we record/validate/check our automation script. </p>
<p>If what I am doing is actually &#8220;automation&#8221; however different is automation (from my context) to the explaination you have provided?<br />
What actually is automation?<br />
<em><br />
[James' Reply: I think of test automation, in general, as "tool-supported software testing." However, the general idea of automation is that work which is done by a machine instead of a person.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Unni</title>
		<link>http://www.satisfice.com/blog/archives/99/comment-page-1#comment-111454</link>
		<dc:creator>Unni</dc:creator>
		<pubDate>Wed, 27 Feb 2008 22:33:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/archives/99#comment-111454</guid>
		<description>Test Automation or Automated Test often is mistakenly seen as a method to reduce manual test resources. It is now a must to have skill to quality as a s/w tester. My suggestion to see  all advocates of pure Automated tests is to see it "Tests automated to enable repetetion". An atuometed test cannot exist unless it is been thought, executed and evaluated atleast once before it came into existance. 

 - my 2 cents.
&lt;em&gt;
[James' Reply: Actually, if you automate a test that really was executed sapiently, first, then whatever the test is after it's automated is unlikely to be the same as before. This is true for a couple of reasons. One is that NOTHING is exactly the same twice. The more interesting reason, though, is that a sapient action is never the same as a non-sapient one, even when they look the same. If I asked you to check the contents of a window on the screen, and you noticed that the window was minimized, you would instantly consider un-minimizing the window to check it. A program, however, must be explicitly told to look for that problem. "Check the contents of the window" to a skilled human, means something far more than the same thing issued as a command to a program.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Test Automation or Automated Test often is mistakenly seen as a method to reduce manual test resources. It is now a must to have skill to quality as a s/w tester. My suggestion to see  all advocates of pure Automated tests is to see it &#8220;Tests automated to enable repetetion&#8221;. An atuometed test cannot exist unless it is been thought, executed and evaluated atleast once before it came into existance. </p>
<p> - my 2 cents.<br />
<em><br />
[James' Reply: Actually, if you automate a test that really was executed sapiently, first, then whatever the test is after it's automated is unlikely to be the same as before. This is true for a couple of reasons. One is that NOTHING is exactly the same twice. The more interesting reason, though, is that a sapient action is never the same as a non-sapient one, even when they look the same. If I asked you to check the contents of a window on the screen, and you noticed that the window was minimized, you would instantly consider un-minimizing the window to check it. A program, however, must be explicitly told to look for that problem. "Check the contents of the window" to a skilled human, means something far more than the same thing issued as a command to a program.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jerrad Anderson</title>
		<link>http://www.satisfice.com/blog/archives/99/comment-page-1#comment-56399</link>
		<dc:creator>Jerrad Anderson</dc:creator>
		<pubDate>Thu, 26 Jul 2007 23:51:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/archives/99#comment-56399</guid>
		<description>I am glad you defined this notion as I believe it will help to dispell many arguments and debates. When I thought of manual testing I always thought of the things that humans do by hand that *can* be automated. I then put all testing that could not be automated into the exploratory testing category. This doesn't fit for everything but I think it made things easiest for me. 

Perhaps now I'll have another tool to convince managers that automation is only a part of the solution.

Jerrad anderson</description>
		<content:encoded><![CDATA[<p>I am glad you defined this notion as I believe it will help to dispell many arguments and debates. When I thought of manual testing I always thought of the things that humans do by hand that *can* be automated. I then put all testing that could not be automated into the exploratory testing category. This doesn&#8217;t fit for everything but I think it made things easiest for me. </p>
<p>Perhaps now I&#8217;ll have another tool to convince managers that automation is only a part of the solution.</p>
<p>Jerrad anderson</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: verand</title>
		<link>http://www.satisfice.com/blog/archives/99/comment-page-1#comment-54594</link>
		<dc:creator>verand</dc:creator>
		<pubDate>Mon, 09 Jul 2007 11:21:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/archives/99#comment-54594</guid>
		<description>Thanks for your response James..What I mean is what You said...
Finally what i would like to know from you is "Can a well built-script/tool have the ability to replace the Sapient process in any case..?" If the answer is NO,when &#038; why shall we go for AUTOMATION..?

&lt;em&gt;[James' Reply: By definition a non-sapient process cannot duplicate a sapient process. The reason to automate is not that we think we can duplicate sapience, but because we believe we gain something useful by using a tool, and we believe that sufficiently compensates us for what we lose.]Â &lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Thanks for your response James..What I mean is what You said&#8230;<br />
Finally what i would like to know from you is &#8220;Can a well built-script/tool have the ability to replace the Sapient process in any case..?&#8221; If the answer is NO,when &#038; why shall we go for AUTOMATION..?</p>
<p><em>[James' Reply: By definition a non-sapient process cannot duplicate a sapient process. The reason to automate is not that we think we can duplicate sapience, but because we believe we gain something useful by using a tool, and we believe that sufficiently compensates us for what we lose.]Â </em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: verand</title>
		<link>http://www.satisfice.com/blog/archives/99/comment-page-1#comment-54423</link>
		<dc:creator>verand</dc:creator>
		<pubDate>Fri, 06 Jul 2007 10:36:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/archives/99#comment-54423</guid>
		<description>--&#62;James

AUTOMATION got its birth from SAPIENT Process,right ? If i am a no clear-eyed person, how can i automate a test process or any other else.

&lt;em&gt;[James' reply: Yes, automation is born from a sapient process. How you can automate a process depends on the process, the technology you use, and what you mean by the term "automate".]&lt;/em&gt;

Lets take a look into Load Testing.(i)The way i develop a script is a SAPIENT, (ii)i will make use of my mind/wisdom to automate the script( again SAPIENT) in generating the load,(iii)my script will communicate with the other scripts deployed in different systems,(iv)generate results (v) will analyze the results.

&lt;em&gt;[James' Reply: It's not clear to me what you mean by "automate the script." Are you talking about replacing a process that is done by humans with one that is done solely by a machine? If so, there are going to be differences between what humans do and what your automation does. Those differences may be important.]&lt;/em&gt;

I used the term AUTOMATE to describe all the above said SAPIENT tasks,like a combo.In my context, AUTOMATE is a child term to SAPIENT.

Sorry if i drive you to a wrong direction.&lt;em&gt; &lt;/em&gt;

&lt;em&gt;[James' Reply: I hope what you're trying to say is that you guide the non-sapient aspects of your testing with your personal sapience. That's what I do, to. Sapient testing may involve quite a lot of tool use.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>&#8211;&gt;James</p>
<p>AUTOMATION got its birth from SAPIENT Process,right ? If i am a no clear-eyed person, how can i automate a test process or any other else.</p>
<p><em>[James' reply: Yes, automation is born from a sapient process. How you can automate a process depends on the process, the technology you use, and what you mean by the term "automate".]</em></p>
<p>Lets take a look into Load Testing.(i)The way i develop a script is a SAPIENT, (ii)i will make use of my mind/wisdom to automate the script( again SAPIENT) in generating the load,(iii)my script will communicate with the other scripts deployed in different systems,(iv)generate results (v) will analyze the results.</p>
<p><em>[James' Reply: It's not clear to me what you mean by "automate the script." Are you talking about replacing a process that is done by humans with one that is done solely by a machine? If so, there are going to be differences between what humans do and what your automation does. Those differences may be important.]</em></p>
<p>I used the term AUTOMATE to describe all the above said SAPIENT tasks,like a combo.In my context, AUTOMATE is a child term to SAPIENT.</p>
<p>Sorry if i drive you to a wrong direction.<em> </em></p>
<p><em>[James' Reply: I hope what you're trying to say is that you guide the non-sapient aspects of your testing with your personal sapience. That's what I do, to. Sapient testing may involve quite a lot of tool use.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: verand</title>
		<link>http://www.satisfice.com/blog/archives/99/comment-page-1#comment-53820</link>
		<dc:creator>verand</dc:creator>
		<pubDate>Fri, 29 Jun 2007 15:22:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/archives/99#comment-53820</guid>
		<description>--&#62;James
I do agree with you that "SAPIENT" yields efficiency compared to "AUTOMATION". But may i know why the term "AUTOMATED" got its importance particularly in testing. IS there any tester who does not use the term "AUTOMATE" in his testing career [considering experience].

&lt;em&gt;[James' Reply: Computer software IS automation. When we test it we are testing automation. Therefore it's hardly surprising that software testers would be familiar with and comfortable with the idea of using automation. Many testers in our industry, however, do not use automation to execute tests unattended.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>&#8211;&gt;James<br />
I do agree with you that &#8220;SAPIENT&#8221; yields efficiency compared to &#8220;AUTOMATION&#8221;. But may i know why the term &#8220;AUTOMATED&#8221; got its importance particularly in testing. IS there any tester who does not use the term &#8220;AUTOMATE&#8221; in his testing career [considering experience].</p>
<p><em>[James' Reply: Computer software IS automation. When we test it we are testing automation. Therefore it's hardly surprising that software testers would be familiar with and comfortable with the idea of using automation. Many testers in our industry, however, do not use automation to execute tests unattended.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shrini</title>
		<link>http://www.satisfice.com/blog/archives/99/comment-page-1#comment-52811</link>
		<dc:creator>Shrini</dc:creator>
		<pubDate>Mon, 18 Jun 2007 13:31:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/archives/99#comment-52811</guid>
		<description>&#62;&#62;&#62;[Yan] hmm, doesnâ€™t the word â€œprocessâ€? imply being algorithmic? If it is algorithmic, it does not rely on skilled humans, a machine can do it, theoretically speaking of course.

This would imply that *all* processes seemed to be algorithmic, would not require a human (skilled) being.

James - refer to our discussion on process during STAR EAST - you mentioned that "cooling of the coffee" is a process and you distinguished from "method" - dropping ice cubes. Process is what actually happens in an open systems environment with physical laws in force and human interactions influencing it in big way. Process is description of something that happened ...

I am not sure if one can say all processes are algorithmic by nature.  Testing surely not the one.

Most of the people when they say â€œprocessâ€? - they confuse that to a written documentation (describing â€œwhat is *supposedâ€? to happenâ€?). I believe the process describes what actually happens.

&#62;&#62;&#62; [Yan] ...playing Chess a sapient process based on your definition? It would have to be no right? Since we already have machines that will never lose another game to another human (they still draw, yes.), the process does not â€œrelyâ€? on skilled humans.

Yan, seem to indicate here is that since there are computers (algorithmically superb) that can defeat a skilled human chess player â€“ Act of playing chess is a non sapient Process.  There are instances where a human being defeated the computer in chess game.  I disgree with his notion that playing chess is a non sapient Process
http://en.wikipedia.org/wiki/Garry_Kasparov#Chess_against_computers.

&#62;&#62;&#62;&#62;[James] ... If you define chess as the problem of working within a certain set of rules to achieve a certain result, then chess was, at one time, a sapient process, and now it is not necessarily a sapient process

So a process becoming sapient is a situational thing, context based â€“ right? A process can change from â€œsapientâ€? to â€œnon sapientâ€? based on the context? Do you see a possibility of software Testing becoming â€œnon sapientâ€? in near future?

Shrini

&lt;em&gt;[James' Reply: A sapient process loses its sapience when it loses its reliance on a skilled human (though I should point out that skilled human is redundant to a certain extent-- all normal humans have skills that no machine has). When a process no longer relies on sapience, it is a different process. It is literally a stupider process, but maybe that's okay. Humans can be expensive, after all.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>&gt;&gt;&gt;[Yan] hmm, doesnâ€™t the word â€œprocessâ€? imply being algorithmic? If it is algorithmic, it does not rely on skilled humans, a machine can do it, theoretically speaking of course.</p>
<p>This would imply that *all* processes seemed to be algorithmic, would not require a human (skilled) being.</p>
<p>James - refer to our discussion on process during STAR EAST - you mentioned that &#8220;cooling of the coffee&#8221; is a process and you distinguished from &#8220;method&#8221; - dropping ice cubes. Process is what actually happens in an open systems environment with physical laws in force and human interactions influencing it in big way. Process is description of something that happened &#8230;</p>
<p>I am not sure if one can say all processes are algorithmic by nature.  Testing surely not the one.</p>
<p>Most of the people when they say â€œprocessâ€? - they confuse that to a written documentation (describing â€œwhat is *supposedâ€? to happenâ€?). I believe the process describes what actually happens.</p>
<p>&gt;&gt;&gt; [Yan] &#8230;playing Chess a sapient process based on your definition? It would have to be no right? Since we already have machines that will never lose another game to another human (they still draw, yes.), the process does not â€œrelyâ€? on skilled humans.</p>
<p>Yan, seem to indicate here is that since there are computers (algorithmically superb) that can defeat a skilled human chess player â€“ Act of playing chess is a non sapient Process.  There are instances where a human being defeated the computer in chess game.  I disgree with his notion that playing chess is a non sapient Process<br />
<a href="http://en.wikipedia.org/wiki/Garry_Kasparov#Chess_against_computers" rel="nofollow">http://en.wikipedia.org/wiki/Garry_Kasparov#Chess_against_computers</a>.</p>
<p>&gt;&gt;&gt;&gt;[James] &#8230; If you define chess as the problem of working within a certain set of rules to achieve a certain result, then chess was, at one time, a sapient process, and now it is not necessarily a sapient process</p>
<p>So a process becoming sapient is a situational thing, context based â€“ right? A process can change from â€œsapientâ€? to â€œnon sapientâ€? based on the context? Do you see a possibility of software Testing becoming â€œnon sapientâ€? in near future?</p>
<p>Shrini</p>
<p><em>[James' Reply: A sapient process loses its sapience when it loses its reliance on a skilled human (though I should point out that skilled human is redundant to a certain extent-- all normal humans have skills that no machine has). When a process no longer relies on sapience, it is a different process. It is literally a stupider process, but maybe that's okay. Humans can be expensive, after all.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Matthew Heusser</title>
		<link>http://www.satisfice.com/blog/archives/99/comment-page-1#comment-52705</link>
		<dc:creator>Matthew Heusser</dc:creator>
		<pubDate>Sun, 17 Jun 2007 17:58:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/archives/99#comment-52705</guid>
		<description>Hello James.  I like where you are going with this.  I _DO_ think there are some common, everyday functions that can be automated and tested with automated Oracles - things like the convert fahrenheit to Celcius Function, or simply build vertification tests. "Does the install work?" / "When you fill up a file and click save, exit, go back in, and click load, does what you typed in re-appear on the screen?"

"If I take the first 10 characters of each line and use that as the primary key in the foo table, does the rest of the data correspnd to (blah from the database)?"

Of course, this won't catch that wierd flicker on the screen when the answer is correct but the "help" link mysteriously disappears.  Still, I want to automate those simple, brainless things, so I can spend my time on more important things.

&lt;em&gt;[James' Reply: Well, not only does it not capture flickers, but the tests you just sketched out cover very little of the test space, in any sense. They may be useful, but on the other hand, they take some time to write and maintain, so you may not be saving the time you think you are saving. Test automation is another mouth to feed. To me it is not clear as a general rule that automating even tests that are non-sapient provides sufficient value. &lt;strong&gt;But sometimes I feel that it definitely does.&lt;/strong&gt; &lt;strong&gt;I am not anti-automation. I am anti-bullshit.&lt;/strong&gt; I use tools and partially automated testing, but I don't pretend I am replacing my sapience with a tool. What I'm doing instead is reducing the sapience of the process without replacing it with something of equivalent value, while calculating (and gambling) that the sapience I drop isn't critical to my test strategy as a whole.]Â &lt;/em&gt;

But I think automating everything is crazy, especially at the customer-facing level.  (I can see automating a _LOT_ of developer-facing tests, but that's a different thing.)

Anyway, here's something really interesting:

Remember how FIT was supposed to automate all acceptance tests and we wouldn't need software testers?

The customer would "just" describe the tests in FIT?

Well, it turns out that people in the test automation world are starting to realize that FIT isn't really very good at making sure that the software, welll ... works.  Instead, FIT now has other benefits:

"So the more important purposes of the business-facing tests are (a) to help explain more clearly to the programmer what the product director wants, (b) to give the programmers a tool to structure their work and know when itâ€™s done, (c) to help the product director think through what she wants, and (d) to help people coming upon the project later to understand something about what itâ€™s supposed to do."

---&#62; This is From Brian Marick's Examplar blog (http://www.exampler.com/blog/2007/06/01/two-conference-ideas/), and it's good stuff, but that's not what I want to focus on.  Instead, I'd like to focus on this:

"Iâ€™m not convinced that automated business-facing (acceptance) tests are, in the presence of good programmer testing, all that incredibly useful as testsâ€”as, that is, regression tests, tests that will find bugs created when a programmer changes something here that causes a failure over there."

---&#62; Again, that is from Marick.

I know of multiple training vendors who suggest 100% test automation using FIT - that using FIT or FITness is the way to do it.

What's the expression I'm looking for? ... Perhaps "It looks like that ship has sailed"?</description>
		<content:encoded><![CDATA[<p>Hello James.  I like where you are going with this.  I _DO_ think there are some common, everyday functions that can be automated and tested with automated Oracles - things like the convert fahrenheit to Celcius Function, or simply build vertification tests. &#8220;Does the install work?&#8221; / &#8220;When you fill up a file and click save, exit, go back in, and click load, does what you typed in re-appear on the screen?&#8221;</p>
<p>&#8220;If I take the first 10 characters of each line and use that as the primary key in the foo table, does the rest of the data correspnd to (blah from the database)?&#8221;</p>
<p>Of course, this won&#8217;t catch that wierd flicker on the screen when the answer is correct but the &#8220;help&#8221; link mysteriously disappears.  Still, I want to automate those simple, brainless things, so I can spend my time on more important things.</p>
<p><em>[James' Reply: Well, not only does it not capture flickers, but the tests you just sketched out cover very little of the test space, in any sense. They may be useful, but on the other hand, they take some time to write and maintain, so you may not be saving the time you think you are saving. Test automation is another mouth to feed. To me it is not clear as a general rule that automating even tests that are non-sapient provides sufficient value. <strong>But sometimes I feel that it definitely does.</strong> <strong>I am not anti-automation. I am anti-bullshit.</strong> I use tools and partially automated testing, but I don't pretend I am replacing my sapience with a tool. What I'm doing instead is reducing the sapience of the process without replacing it with something of equivalent value, while calculating (and gambling) that the sapience I drop isn't critical to my test strategy as a whole.]Â </em></p>
<p>But I think automating everything is crazy, especially at the customer-facing level.  (I can see automating a _LOT_ of developer-facing tests, but that&#8217;s a different thing.)</p>
<p>Anyway, here&#8217;s something really interesting:</p>
<p>Remember how FIT was supposed to automate all acceptance tests and we wouldn&#8217;t need software testers?</p>
<p>The customer would &#8220;just&#8221; describe the tests in FIT?</p>
<p>Well, it turns out that people in the test automation world are starting to realize that FIT isn&#8217;t really very good at making sure that the software, welll &#8230; works.  Instead, FIT now has other benefits:</p>
<p>&#8220;So the more important purposes of the business-facing tests are (a) to help explain more clearly to the programmer what the product director wants, (b) to give the programmers a tool to structure their work and know when itâ€™s done, (c) to help the product director think through what she wants, and (d) to help people coming upon the project later to understand something about what itâ€™s supposed to do.&#8221;</p>
<p>&#8212;&gt; This is From Brian Marick&#8217;s Examplar blog (http://www.exampler.com/blog/2007/06/01/two-conference-ideas/), and it&#8217;s good stuff, but that&#8217;s not what I want to focus on.  Instead, I&#8217;d like to focus on this:</p>
<p>&#8220;Iâ€™m not convinced that automated business-facing (acceptance) tests are, in the presence of good programmer testing, all that incredibly useful as testsâ€”as, that is, regression tests, tests that will find bugs created when a programmer changes something here that causes a failure over there.&#8221;</p>
<p>&#8212;&gt; Again, that is from Marick.</p>
<p>I know of multiple training vendors who suggest 100% test automation using FIT - that using FIT or FITness is the way to do it.</p>
<p>What&#8217;s the expression I&#8217;m looking for? &#8230; Perhaps &#8220;It looks like that ship has sailed&#8221;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Leighton Fisher</title>
		<link>http://www.satisfice.com/blog/archives/99/comment-page-1#comment-52204</link>
		<dc:creator>Mark Leighton Fisher</dc:creator>
		<pubDate>Tue, 12 Jun 2007 17:02:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/archives/99#comment-52204</guid>
		<description>This post hits the nail on the head to me -- it seems like you have been building up to this for a while now. Automated testing feels to me like an old SAT test question, "Automated testing:testing :: compilation:assembling". Automated testing lets me instruct the computer in the low-level details of the testing so I can concentrate on the higher-level details, only some of which will ever be amenable to automated testing (apart from the provision of usable AIs). (Just because we have compilers doesn't mean they write anything but the lowest-level details of the program for us.)

I liked the comments on testing APIs, as automated testing of an API can only proceed once you have a usable, tested API design -- which cannot be done without plenty of sapient testing. Automated testing can help once you reach that point, as the automated testing can uncover implementation defects you introduce when you have to change the design of the API.

Conversely, you can automate the (non-sapient) testing of a GUI, which would be handy once you have finished the sapient testing of the GUI. Usability is only sapient-testable, but whether you lose any functionality from a change may (I repeat may) be automatically testable.

To sum up your position as I understand it (my paraphrase) "All good testing is sapient. However, you can use tools so that you concentrate on the high-level part of testing, while the tools handle the low-level, fiddly little details."

&lt;em&gt;[James' Reply: Your paraphrase is close to what I'm trying to say, but I think the division is more interesting than high level vs. details. Sapient handling of details helps us generate new ideas. My brother once clerked at a bookstore, and he had to field a lot of questions about where to find particular books. Because he was in the midst of that question stream, he learned that many people come into book stores looking for books that Oprah Winfrey mentioned on her talk show. From this he conceived an idea to establish a special table just for Oprah books. This was before bookstores generally did that sort of thing. I think if the customer questions were taken by an automated system, it would have been far less likely for anyone to have conceived of the Oprah table idea.&lt;/em&gt;

&lt;em&gt;Working with details may be important. All I'm saying is that some things we can automate without necessarily transforming them, while other things are transformed by automation, and still others simply aren't automatable at all. We need to take these distinctions seriously, instead of laughing them off the way most managers and programmers seem to do.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>This post hits the nail on the head to me &#8212; it seems like you have been building up to this for a while now. Automated testing feels to me like an old SAT test question, &#8220;Automated testing:testing :: compilation:assembling&#8221;. Automated testing lets me instruct the computer in the low-level details of the testing so I can concentrate on the higher-level details, only some of which will ever be amenable to automated testing (apart from the provision of usable AIs). (Just because we have compilers doesn&#8217;t mean they write anything but the lowest-level details of the program for us.)</p>
<p>I liked the comments on testing APIs, as automated testing of an API can only proceed once you have a usable, tested API design &#8212; which cannot be done without plenty of sapient testing. Automated testing can help once you reach that point, as the automated testing can uncover implementation defects you introduce when you have to change the design of the API.</p>
<p>Conversely, you can automate the (non-sapient) testing of a GUI, which would be handy once you have finished the sapient testing of the GUI. Usability is only sapient-testable, but whether you lose any functionality from a change may (I repeat may) be automatically testable.</p>
<p>To sum up your position as I understand it (my paraphrase) &#8220;All good testing is sapient. However, you can use tools so that you concentrate on the high-level part of testing, while the tools handle the low-level, fiddly little details.&#8221;</p>
<p><em>[James' Reply: Your paraphrase is close to what I'm trying to say, but I think the division is more interesting than high level vs. details. Sapient handling of details helps us generate new ideas. My brother once clerked at a bookstore, and he had to field a lot of questions about where to find particular books. Because he was in the midst of that question stream, he learned that many people come into book stores looking for books that Oprah Winfrey mentioned on her talk show. From this he conceived an idea to establish a special table just for Oprah books. This was before bookstores generally did that sort of thing. I think if the customer questions were taken by an automated system, it would have been far less likely for anyone to have conceived of the Oprah table idea.</em></p>
<p><em>Working with details may be important. All I'm saying is that some things we can automate without necessarily transforming them, while other things are transformed by automation, and still others simply aren't automatable at all. We need to take these distinctions seriously, instead of laughing them off the way most managers and programmers seem to do.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Simo</title>
		<link>http://www.satisfice.com/blog/archives/99/comment-page-1#comment-52202</link>
		<dc:creator>Ben Simo</dc:creator>
		<pubDate>Tue, 12 Jun 2007 16:25:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/archives/99#comment-52202</guid>
		<description>&lt;i&gt;I think there can be completely non-sapient testing, it just would be really bad.&lt;/i&gt;

Could we call that foolish testing?  Or absurd testing? Or vacuous testing? Or maybe asinine testing?  

Oh, the fun I can have with a Thesaurus.  I am now thinking this may be vacuous comment.

I think I like asinine testing. :)</description>
		<content:encoded><![CDATA[<p><i>I think there can be completely non-sapient testing, it just would be really bad.</i></p>
<p>Could we call that foolish testing?  Or absurd testing? Or vacuous testing? Or maybe asinine testing?  </p>
<p>Oh, the fun I can have with a Thesaurus.  I am now thinking this may be vacuous comment.</p>
<p>I think I like asinine testing. <img src='http://www.satisfice.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zach Fisher</title>
		<link>http://www.satisfice.com/blog/archives/99/comment-page-1#comment-52172</link>
		<dc:creator>Zach Fisher</dc:creator>
		<pubDate>Tue, 12 Jun 2007 09:15:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/archives/99#comment-52172</guid>
		<description>When I think about automation after reading this, I have a desire to redefine my concept.

If I hand a "test" over to a machine to perform an activity on my behalf, perhaps I am not testing; I am only delegating. Much the same way a manager delegates tasks to his/her sub-ordinates. The effect is somewhat the same: a distribution of energy in an attempt to accomplish as much/more in no more time it would take to do it myself. And the task is deemed completed when some authority puts the stamp on it. An oversimplification for sure, and I'm assuming that the workers can think for themselves (hopefully).

Is it silly to suggest that at the point that one re-enters the testing theater to observe the results of all that delegation - THAT is itself the test and not a moment before? It is purposeful and observable, two distinctly human traits. They require the human element. They insist upon "sapience".

Otherwise, the computer is doing what Yan suggested: It is just running another algorithm, program or service. Without the human there to observe, suggest, imply, define, prioritize, guess, or bang; the computer is like the tree that fell down in the woods. Perhaps automation is nothing more than condensing the time when we can re-enter so that "actual" testing can begin?

&lt;em&gt;[James' Reply: I have no problem calling the thing that the tool does "testing". It's just that the tool can't fulfill the entire mission of good testing. It can't do the whole job of &lt;strong&gt;good&lt;/strong&gt; testing, and it can't do certain critical parts of the job. I think of my tools, from my pencil on up, as being in a partnership with me. A sapient process relies on a person, at some point, by definition. I think there can be completely non-sapient testing, it just would be really bad.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>When I think about automation after reading this, I have a desire to redefine my concept.</p>
<p>If I hand a &#8220;test&#8221; over to a machine to perform an activity on my behalf, perhaps I am not testing; I am only delegating. Much the same way a manager delegates tasks to his/her sub-ordinates. The effect is somewhat the same: a distribution of energy in an attempt to accomplish as much/more in no more time it would take to do it myself. And the task is deemed completed when some authority puts the stamp on it. An oversimplification for sure, and I&#8217;m assuming that the workers can think for themselves (hopefully).</p>
<p>Is it silly to suggest that at the point that one re-enters the testing theater to observe the results of all that delegation - THAT is itself the test and not a moment before? It is purposeful and observable, two distinctly human traits. They require the human element. They insist upon &#8220;sapience&#8221;.</p>
<p>Otherwise, the computer is doing what Yan suggested: It is just running another algorithm, program or service. Without the human there to observe, suggest, imply, define, prioritize, guess, or bang; the computer is like the tree that fell down in the woods. Perhaps automation is nothing more than condensing the time when we can re-enter so that &#8220;actual&#8221; testing can begin?</p>
<p><em>[James' Reply: I have no problem calling the thing that the tool does "testing". It's just that the tool can't fulfill the entire mission of good testing. It can't do the whole job of <strong>good</strong> testing, and it can't do certain critical parts of the job. I think of my tools, from my pencil on up, as being in a partnership with me. A sapient process relies on a person, at some point, by definition. I think there can be completely non-sapient testing, it just would be really bad.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael M. Butler</title>
		<link>http://www.satisfice.com/blog/archives/99/comment-page-1#comment-52130</link>
		<dc:creator>Michael M. Butler</dc:creator>
		<pubDate>Tue, 12 Jun 2007 02:53:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/archives/99#comment-52130</guid>
		<description>I think "sapience" will do as a marker for what you are talking about. The word is slightly awkward, which is fine for now. I anticipate that either the term will never become popular, or, if it does, it will be abused in one of several predictable ways, including something like the [A/a]gile morass.

"Intelligence" has already been irrevocably debased. Long live sapience!

Poul Anderson coined the term "sophont", and used it as common parlance in some of his science fiction. His writing never defined it, but I take it to mean "organism capable of exerting and exhibiting wisdom".

Wisdom--now *there's* a loaded word. Would that we lived in a world where testers, programmers and managers could speak sincerely about it.

Not being context-driven seems most unwise to me. Thanks to you, Cem and your context-driven cohort (of which I am a proud, humble and desultory member). Attention is the limiting factor in most human endeavors. Looking for problems in any complex system is always tough. People want "sure things", and they'll usually settle for reassurance as a substitute.

Sorry if this post is too full of glittering generalities to be worth posting.

&lt;em&gt;[James' Reply: All words are awkward. I like "sophont"Â  though.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>I think &#8220;sapience&#8221; will do as a marker for what you are talking about. The word is slightly awkward, which is fine for now. I anticipate that either the term will never become popular, or, if it does, it will be abused in one of several predictable ways, including something like the [A/a]gile morass.</p>
<p>&#8220;Intelligence&#8221; has already been irrevocably debased. Long live sapience!</p>
<p>Poul Anderson coined the term &#8220;sophont&#8221;, and used it as common parlance in some of his science fiction. His writing never defined it, but I take it to mean &#8220;organism capable of exerting and exhibiting wisdom&#8221;.</p>
<p>Wisdom&#8211;now *there&#8217;s* a loaded word. Would that we lived in a world where testers, programmers and managers could speak sincerely about it.</p>
<p>Not being context-driven seems most unwise to me. Thanks to you, Cem and your context-driven cohort (of which I am a proud, humble and desultory member). Attention is the limiting factor in most human endeavors. Looking for problems in any complex system is always tough. People want &#8220;sure things&#8221;, and they&#8217;ll usually settle for reassurance as a substitute.</p>
<p>Sorry if this post is too full of glittering generalities to be worth posting.</p>
<p><em>[James' Reply: All words are awkward. I like "sophont"Â  though.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Gilbert</title>
		<link>http://www.satisfice.com/blog/archives/99/comment-page-1#comment-52120</link>
		<dc:creator>David Gilbert</dc:creator>
		<pubDate>Mon, 11 Jun 2007 21:39:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/archives/99#comment-52120</guid>
		<description>James -- I like the idea, but I am also a bit troubled by the implied distinction.  You say...

From now on, I will try not to use the term â€œmanual testingâ€?, except in quotes. I will practice saying sapient testing. I believe that nearly all â€œmanual testingâ€? is better being called sapient.

This implies that manual=sapient, and automated=NonSapient.  While I will agree that you cannot automate the sapience out of a good testing process, I hesitate to tie that idea so tightly to manual or automated.  In my experience, and I suspect yours as well, I have seen some fairly non-sapient manual testing!!  I also consider the load testing I do to be a sapient process, but it is almost completely automated...the sapient aspect is the post test analysis of gathered data.  Not to mention, this is now a heck of a marketing challenge for me..."Announcing TestExplorer, world's first Sapient Testing Tool!!"  ;)

&lt;em&gt;[James' Reply: Good manual testing is sapient. I talk about good testing, for the most part. Bad manual testingÂ  may or may not be sapient. Since sapience can't be automated, then if an automated process is sapient, it can't be fully automated. Does that clear it up?]&lt;/em&gt;

I hear what you're saying and I like the idea, but I personally would feel more comfortable using it as an additional modifier, for instance "I think you would get more value from your tests if you designed in more sapience."  I can think of perfectly valid contexts for that statement to be applied to both automated and manual tests.

Sincerely,
David Gilbert&lt;em&gt; &lt;/em&gt;

&lt;em&gt;[James' Reply: I might actually use a sentence like that. I don't understand the problem that you're worried about.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>James &#8212; I like the idea, but I am also a bit troubled by the implied distinction.  You say&#8230;</p>
<p>From now on, I will try not to use the term â€œmanual testingâ€?, except in quotes. I will practice saying sapient testing. I believe that nearly all â€œmanual testingâ€? is better being called sapient.</p>
<p>This implies that manual=sapient, and automated=NonSapient.  While I will agree that you cannot automate the sapience out of a good testing process, I hesitate to tie that idea so tightly to manual or automated.  In my experience, and I suspect yours as well, I have seen some fairly non-sapient manual testing!!  I also consider the load testing I do to be a sapient process, but it is almost completely automated&#8230;the sapient aspect is the post test analysis of gathered data.  Not to mention, this is now a heck of a marketing challenge for me&#8230;&#8221;Announcing TestExplorer, world&#8217;s first Sapient Testing Tool!!&#8221;  <img src='http://www.satisfice.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><em>[James' Reply: Good manual testing is sapient. I talk about good testing, for the most part. Bad manual testingÂ  may or may not be sapient. Since sapience can't be automated, then if an automated process is sapient, it can't be fully automated. Does that clear it up?]</em></p>
<p>I hear what you&#8217;re saying and I like the idea, but I personally would feel more comfortable using it as an additional modifier, for instance &#8220;I think you would get more value from your tests if you designed in more sapience.&#8221;  I can think of perfectly valid contexts for that statement to be applied to both automated and manual tests.</p>
<p>Sincerely,<br />
David Gilbert<em> </em></p>
<p><em>[James' Reply: I might actually use a sentence like that. I don't understand the problem that you're worried about.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Barber</title>
		<link>http://www.satisfice.com/blog/archives/99/comment-page-1#comment-52118</link>
		<dc:creator>Scott Barber</dc:creator>
		<pubDate>Mon, 11 Jun 2007 21:23:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/archives/99#comment-52118</guid>
		<description>Personally, I have given up using "automated testing" except in quotes.  For the most part, I don't consider anything a computer does without human experience, wisdom and non-linear thinking to be testing (unless there is some super-sophisticated artificial intelligence out there that I am unaware of).

From my experience, I can say that computers, on their own, *can* be "taught" to do some valuable and relevant "automated checking", but that isn't testing.  At least not to me.

&lt;em&gt;[James' Reply: It can be part of testing, though. It's just not the whole equation.]Â &lt;/em&gt;

This is not to say that I'm opposed to using automation to help me test better/faster/more/cheaper.  Quite the contrary, I am a huge fan of automation.  I refer to this as computer-assisted testing (as Cem does).

The point is that I *try* to use computers to increase my ability to focus on what I will now be calling sapient testing, not to replace sapience or minimize the degree of sapience necessary to do good testing.

It's good to have something better than "brain-engaged testing", which is what I've been calling it up to now.  Thanks Jim, thoughtful, brilliant and spot-on as always!

-- Scott

--

President &#038; Chief Technologist, PerfTestPlus, Inc.
Executive Director, Association for Software Testing
www.perftestplus.com
www.associationforsoftwaretesting.org

"If you can see it in your mind...
you will find it in your life."</description>
		<content:encoded><![CDATA[<p>Personally, I have given up using &#8220;automated testing&#8221; except in quotes.  For the most part, I don&#8217;t consider anything a computer does without human experience, wisdom and non-linear thinking to be testing (unless there is some super-sophisticated artificial intelligence out there that I am unaware of).</p>
<p>From my experience, I can say that computers, on their own, *can* be &#8220;taught&#8221; to do some valuable and relevant &#8220;automated checking&#8221;, but that isn&#8217;t testing.  At least not to me.</p>
<p><em>[James' Reply: It can be part of testing, though. It's just not the whole equation.]Â </em></p>
<p>This is not to say that I&#8217;m opposed to using automation to help me test better/faster/more/cheaper.  Quite the contrary, I am a huge fan of automation.  I refer to this as computer-assisted testing (as Cem does).</p>
<p>The point is that I *try* to use computers to increase my ability to focus on what I will now be calling sapient testing, not to replace sapience or minimize the degree of sapience necessary to do good testing.</p>
<p>It&#8217;s good to have something better than &#8220;brain-engaged testing&#8221;, which is what I&#8217;ve been calling it up to now.  Thanks Jim, thoughtful, brilliant and spot-on as always!</p>
<p>&#8211; Scott</p>
<p>&#8211;</p>
<p>President &#038; Chief Technologist, PerfTestPlus, Inc.<br />
Executive Director, Association for Software Testing<br />
<a href="http://www.perftestplus.com" rel="nofollow">http://www.perftestplus.com</a><br />
<a href="http://www.associationforsoftwaretesting.org" rel="nofollow">http://www.associationforsoftwaretesting.org</a></p>
<p>&#8220;If you can see it in your mind&#8230;<br />
you will find it in your life.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Cem Kaner</title>
		<link>http://www.satisfice.com/blog/archives/99/comment-page-1#comment-52115</link>
		<dc:creator>Cem Kaner</dc:creator>
		<pubDate>Mon, 11 Jun 2007 20:35:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/archives/99#comment-52115</guid>
		<description>I already see in the comments a commonplace but false dichotomy, between "automated" testing and "manual."

The point that I think you are making is that, even though software testing is often computer-assisted, it is not "testing" (an investigation designed to expose quality-related information of significance to a stakeholder) without human intelligence driving it and interpreting the results.

We can certainly use computers to help us design, implement, execute and evaluate the results of many tests. But to decide which tests to design and to evaluate the significance of the results, I think we have no professionally-defensible alternative to sapience. In addition, in many cases, a human has to work in detail with the product in order to develop sufficient insight into the product and its risks to profitably use the computer to semi-automatically design and implement a long series of tests.

-- Cem Kaner

&lt;em&gt;[James' Reply: Thanks, Cem.]Â &lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>I already see in the comments a commonplace but false dichotomy, between &#8220;automated&#8221; testing and &#8220;manual.&#8221;</p>
<p>The point that I think you are making is that, even though software testing is often computer-assisted, it is not &#8220;testing&#8221; (an investigation designed to expose quality-related information of significance to a stakeholder) without human intelligence driving it and interpreting the results.</p>
<p>We can certainly use computers to help us design, implement, execute and evaluate the results of many tests. But to decide which tests to design and to evaluate the significance of the results, I think we have no professionally-defensible alternative to sapience. In addition, in many cases, a human has to work in detail with the product in order to develop sufficient insight into the product and its risks to profitably use the computer to semi-automatically design and implement a long series of tests.</p>
<p>&#8211; Cem Kaner</p>
<p><em>[James' Reply: Thanks, Cem.]Â </em></p>
]]></content:encoded>
	</item>
</channel>
</rss>


