<?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: Manual Tests Cannot Be Automated</title>
	<link>http://www.satisfice.com/blog/archives/58</link>
	<description>The Consulting Software Tester</description>
	<pubDate>Mon, 08 Sep 2008 04:42:04 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>By: Emmet Healy</title>
		<link>http://www.satisfice.com/blog/archives/58#comment-98966</link>
		<dc:creator>Emmet Healy</dc:creator>
		<pubDate>Sat, 02 Feb 2008 19:41:45 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/58#comment-98966</guid>
		<description>I agree with your premise. From experience of manual and automated testing experience I can agree that most manual tests cannot and should not be automated even when regression testing. There is no substitute for the human eye in spotting defects and identifying something that doesn't look right.

An automated regression test may tell you something has been fixed or is still broken. It won't tell you if a new problem has been uncovered which indeed has not been covered in any test cases. 

Writing automated test cases is often a fixation with managers in their quest to cut time and budget and get a quick release. But it invites leaving a myriad of holes in the testing process and unrevealed bugs which a quick look over by an experienced manual tester would quickly spot.</description>
		<content:encoded><![CDATA[<p>I agree with your premise. From experience of manual and automated testing experience I can agree that most manual tests cannot and should not be automated even when regression testing. There is no substitute for the human eye in spotting defects and identifying something that doesn&#8217;t look right.</p>
<p>An automated regression test may tell you something has been fixed or is still broken. It won&#8217;t tell you if a new problem has been uncovered which indeed has not been covered in any test cases. </p>
<p>Writing automated test cases is often a fixation with managers in their quest to cut time and budget and get a quick release. But it invites leaving a myriad of holes in the testing process and unrevealed bugs which a quick look over by an experienced manual tester would quickly spot.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Vijay Murugan B</title>
		<link>http://www.satisfice.com/blog/archives/58#comment-15022</link>
		<dc:creator>Vijay Murugan B</dc:creator>
		<pubDate>Tue, 05 Dec 2006 22:19:20 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/58#comment-15022</guid>
		<description>Hi James,

That was a very nice article and it makes everyone proud of being a Manual Tester including me. I have been in the QA field for around 6 years performing both Manual and Automated Testing. I completely agree with your comments, but you know there is nothing in the world which is useless.
Also from a manager's perspective automated testing looks to be useful and cost effective in a scenario there is a lot of regression test cases to be run. For Eg: (We have a product with different modules and say there is a change in only some part of the module. however we are not sure if this is going to affect the other modules). In this particular scenario automation testing seems to be more useful for both tester and also for manager.
Since a tester gets bored by testing the same product, since there are no changes or bugs in it. Also it would be cost effective for the manager to run a automated test instead of wasting a manual resource, whom he can employ in other areas which has undergone many changes.
Your comments please...

Regards,
Vijay

&lt;em&gt;[James' Reply: I think automation is potentially a wonderful thing. But your automation simply does not replicate all that a good human does while testing. Your automation is doing something different.
&lt;/em&gt;

&lt;em&gt;BTW, if I ever find that testing is boring, I just change how I test. It isn't testing the same product that causes boredom, but doing the same things.] &lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Hi James,</p>
<p>That was a very nice article and it makes everyone proud of being a Manual Tester including me. I have been in the QA field for around 6 years performing both Manual and Automated Testing. I completely agree with your comments, but you know there is nothing in the world which is useless.<br />
Also from a manager&#8217;s perspective automated testing looks to be useful and cost effective in a scenario there is a lot of regression test cases to be run. For Eg: (We have a product with different modules and say there is a change in only some part of the module. however we are not sure if this is going to affect the other modules). In this particular scenario automation testing seems to be more useful for both tester and also for manager.<br />
Since a tester gets bored by testing the same product, since there are no changes or bugs in it. Also it would be cost effective for the manager to run a automated test instead of wasting a manual resource, whom he can employ in other areas which has undergone many changes.<br />
Your comments please&#8230;</p>
<p>Regards,<br />
Vijay</p>
<p><em>[James&#8217; Reply: I think automation is potentially a wonderful thing. But your automation simply does not replicate all that a good human does while testing. Your automation is doing something different.<br />
</em></p>
<p><em>BTW, if I ever find that testing is boring, I just change how I test. It isn&#8217;t testing the same product that causes boredom, but doing the same things.] </em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jon Ward</title>
		<link>http://www.satisfice.com/blog/archives/58#comment-3059</link>
		<dc:creator>Jon Ward</dc:creator>
		<pubDate>Thu, 21 Sep 2006 23:33:36 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/58#comment-3059</guid>
		<description>What do you think of the idea of automating only the execution of the workflow of some more complex "end-to-end" regression test cases, leaving the checking of the detailed results covered by that workflow to the testers - by capturing a dublog (movie/screenshots) of the workflow as executed by the automated tool, the manual tester can then  quickly scan the automated execution visual log for abberations, and to check the specific complex outcomes expected at various points, for all the automated tests where the workflow has completed to the expected end-point. (if the automated workflow fails, that's the usual auto debig process)
Overall, because the automation takes care of the test data setup, and the detailed steps execution, with both of these at lower long term cost (because we have quarterly regression requirements ad infintum for our massive legacy system), I wonder if this could be an efficient and hopefully effective way to best use automation to free up time for more manual "change" testing whilst minimising the "automated quality loss" that we are discussing here.

&lt;em&gt;[James' Reply: Hybrid automation like this can work nicely. Bear in mind what you give up, however. By having test execution computer controlled, the tester will not be injecting variations into the test coverage, which will lessen the bug finding power of the tests. The tester will also not be as mentally engaged, I bet, leading to fewer new test ideas during test execution. However, there may be a valuable tradeoff gained in terms of the ease or speed of doing complex tests.] &lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>What do you think of the idea of automating only the execution of the workflow of some more complex &#8220;end-to-end&#8221; regression test cases, leaving the checking of the detailed results covered by that workflow to the testers - by capturing a dublog (movie/screenshots) of the workflow as executed by the automated tool, the manual tester can then  quickly scan the automated execution visual log for abberations, and to check the specific complex outcomes expected at various points, for all the automated tests where the workflow has completed to the expected end-point. (if the automated workflow fails, that&#8217;s the usual auto debig process)<br />
Overall, because the automation takes care of the test data setup, and the detailed steps execution, with both of these at lower long term cost (because we have quarterly regression requirements ad infintum for our massive legacy system), I wonder if this could be an efficient and hopefully effective way to best use automation to free up time for more manual &#8220;change&#8221; testing whilst minimising the &#8220;automated quality loss&#8221; that we are discussing here.</p>
<p><em>[James&#8217; Reply: Hybrid automation like this can work nicely. Bear in mind what you give up, however. By having test execution computer controlled, the tester will not be injecting variations into the test coverage, which will lessen the bug finding power of the tests. The tester will also not be as mentally engaged, I bet, leading to fewer new test ideas during test execution. However, there may be a valuable tradeoff gained in terms of the ease or speed of doing complex tests.] </em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mohan Raj</title>
		<link>http://www.satisfice.com/blog/archives/58#comment-2129</link>
		<dc:creator>Mohan Raj</dc:creator>
		<pubDate>Tue, 12 Sep 2006 09:51:56 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/58#comment-2129</guid>
		<description>automation is usefull when we have to test any application for load, stress and performance. its very clear that if i take an example of ATM where concurrently 10 users have to access it for some kind of operation , this is not possible by manual process and even if we try to do that we can not get accurate results with which we can set a bench mark that till this particular number the application will behave without any issues.

&lt;em&gt;[James' Reply: I think what you're really saying is that you have a particular test in mind that requires a specific kind of operation that you don't know how to get using only people working through the ordinary user interfaces. I accept that. Now, I'd like you to accept that the very test process you are referring to also may reveal problems that you don't know how to detect except by humans like you looking over the test while it is in progress. While witnessing this test, you may get ideas about how to redesign it-- your software certainly won't re-design itself. &lt;/em&gt;

&lt;em&gt;There is no fundamental controversy in our industry about test automation, itself. Of course we can and we will use tools to test our software. The controversy I'm discussing has to do with the relationship between humans and their tools. I am warning against the uncritical belief that to automate a test is to reproduce eveything interesting and important that a skilled human tester does when he tests. Automation simply can't do that.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>automation is usefull when we have to test any application for load, stress and performance. its very clear that if i take an example of ATM where concurrently 10 users have to access it for some kind of operation , this is not possible by manual process and even if we try to do that we can not get accurate results with which we can set a bench mark that till this particular number the application will behave without any issues.</p>
<p><em>[James&#8217; Reply: I think what you&#8217;re really saying is that you have a particular test in mind that requires a specific kind of operation that you don&#8217;t know how to get using only people working through the ordinary user interfaces. I accept that. Now, I&#8217;d like you to accept that the very test process you are referring to also may reveal problems that you don&#8217;t know how to detect except by humans like you looking over the test while it is in progress. While witnessing this test, you may get ideas about how to redesign it&#8211; your software certainly won&#8217;t re-design itself. </em></p>
<p><em>There is no fundamental controversy in our industry about test automation, itself. Of course we can and we will use tools to test our software. The controversy I&#8217;m discussing has to do with the relationship between humans and their tools. I am warning against the uncritical belief that to automate a test is to reproduce eveything interesting and important that a skilled human tester does when he tests. Automation simply can&#8217;t do that.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mohan Raj</title>
		<link>http://www.satisfice.com/blog/archives/58#comment-2127</link>
		<dc:creator>Mohan Raj</dc:creator>
		<pubDate>Tue, 12 Sep 2006 09:33:25 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/58#comment-2127</guid>
		<description>I totally agree with your comments, its very clear that the complete manual process for testing can not be automated by using any tool. and i had observed one more thing in my 4 years of qa experience that only 10% of automation what we do is reliable. Automation will help in future prospects where a normal verification has to be done on the same application or functionality after some time. Manual tests will always produce better results and here we can find lot of bugs which automation process can not do. in manual process human brain is involved each time when he starts testing , but where as the human brain is involved only one time at the develoment stage of scripts.</description>
		<content:encoded><![CDATA[<p>I totally agree with your comments, its very clear that the complete manual process for testing can not be automated by using any tool. and i had observed one more thing in my 4 years of qa experience that only 10% of automation what we do is reliable. Automation will help in future prospects where a normal verification has to be done on the same application or functionality after some time. Manual tests will always produce better results and here we can find lot of bugs which automation process can not do. in manual process human brain is involved each time when he starts testing , but where as the human brain is involved only one time at the develoment stage of scripts.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: JenK</title>
		<link>http://www.satisfice.com/blog/archives/58#comment-1832</link>
		<dc:creator>JenK</dc:creator>
		<pubDate>Fri, 08 Sep 2006 22:23:28 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/58#comment-1832</guid>
		<description>Maybe this is the dumb thought, but I tend to think of automating first those things that cannot be effectively tested manually.

Examples: A web service that clients will access to upload information to your DB; a console application that will transfer information between DBs; or evaluating how a site performs under load.  None of these can be effectively tested by manual means.

Better yet, if management is pushing automated UI testing, a dose of reality - in terms of the work and/or programming expertise involved in creating effective automation for the above - may put the discussion on firmer ground.

&lt;em&gt;[James' Reply: For each of your examples, I can think of ways to test manually. Ultimately, the human users of those functions must take an action or see some kind of result. You wisely used the word "effectively", however. I would certainly consider using tools to test those things better than I otherwise would be able.&lt;/em&gt;

&lt;em&gt;One thing I like to do is use tools to create an interface that allows me to manually and interactively test. Then I can fluidly develop test ideas.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Maybe this is the dumb thought, but I tend to think of automating first those things that cannot be effectively tested manually.</p>
<p>Examples: A web service that clients will access to upload information to your DB; a console application that will transfer information between DBs; or evaluating how a site performs under load.  None of these can be effectively tested by manual means.</p>
<p>Better yet, if management is pushing automated UI testing, a dose of reality - in terms of the work and/or programming expertise involved in creating effective automation for the above - may put the discussion on firmer ground.</p>
<p><em>[James&#8217; Reply: For each of your examples, I can think of ways to test manually. Ultimately, the human users of those functions must take an action or see some kind of result. You wisely used the word &#8220;effectively&#8221;, however. I would certainly consider using tools to test those things better than I otherwise would be able.</em></p>
<p><em>One thing I like to do is use tools to create an interface that allows me to manually and interactively test. Then I can fluidly develop test ideas.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rick Fisk</title>
		<link>http://www.satisfice.com/blog/archives/58#comment-1452</link>
		<dc:creator>Rick Fisk</dc:creator>
		<pubDate>Fri, 01 Sep 2006 04:54:39 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/58#comment-1452</guid>
		<description>Great article. The way I see it, automated tests provide us with two important things:

1. A general comfort level - presuming the tests are valid - in areas where many different combinations must be excercised.
2. Time to explore and mumble the keys.</description>
		<content:encoded><![CDATA[<p>Great article. The way I see it, automated tests provide us with two important things:</p>
<p>1. A general comfort level - presuming the tests are valid - in areas where many different combinations must be excercised.<br />
2. Time to explore and mumble the keys.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ken Sommerville</title>
		<link>http://www.satisfice.com/blog/archives/58#comment-1369</link>
		<dc:creator>Ken Sommerville</dc:creator>
		<pubDate>Wed, 30 Aug 2006 04:36:51 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/58#comment-1369</guid>
		<description>Maybe I oversimplify things, but I tend to think of test automation not only as a means to exercising a system under test, but as way of completing many of the daily tasks that I do as a tester. For example, generating test data, analyzing test results, preparing defect reports, retrieving information about system configurations, scouring log files, etc. All of these are tasks that are routinely done but seldom automated.
Why does it seem that many testers rule out these kinds of activities when talking about "test automation"? Many people seem to only focus on the "test" in "test automation".

Another challenge I have in working with my non-technical colleagues is that they focus on the "point, click, record, playback" type of automation, which I despise and hesitate to even call testing. I have used record/playback as a means to understand a commercial tool, but have rarely relied on it to actually exercise the system under test, mainly because I find it inflexible as far as responding to changes in the system.

Any suggestions on handling these types of "automation evangelists"?

&lt;em&gt;[James' Reply: I'm of the same mind, Ken. I define test automation as "tool-supported testing." I think of the typical scripted regression testing atuomation as one facet of that. I usually pull out my agile test automation slides to try and expand the imagination of people who think tools should replace human minds.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Maybe I oversimplify things, but I tend to think of test automation not only as a means to exercising a system under test, but as way of completing many of the daily tasks that I do as a tester. For example, generating test data, analyzing test results, preparing defect reports, retrieving information about system configurations, scouring log files, etc. All of these are tasks that are routinely done but seldom automated.<br />
Why does it seem that many testers rule out these kinds of activities when talking about &#8220;test automation&#8221;? Many people seem to only focus on the &#8220;test&#8221; in &#8220;test automation&#8221;.</p>
<p>Another challenge I have in working with my non-technical colleagues is that they focus on the &#8220;point, click, record, playback&#8221; type of automation, which I despise and hesitate to even call testing. I have used record/playback as a means to understand a commercial tool, but have rarely relied on it to actually exercise the system under test, mainly because I find it inflexible as far as responding to changes in the system.</p>
<p>Any suggestions on handling these types of &#8220;automation evangelists&#8221;?</p>
<p><em>[James&#8217; Reply: I&#8217;m of the same mind, Ken. I define test automation as &#8220;tool-supported testing.&#8221; I think of the typical scripted regression testing atuomation as one facet of that. I usually pull out my agile test automation slides to try and expand the imagination of people who think tools should replace human minds.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Scott Sehlhorst</title>
		<link>http://www.satisfice.com/blog/archives/58#comment-979</link>
		<dc:creator>Scott Sehlhorst</dc:creator>
		<pubDate>Fri, 18 Aug 2006 04:16:07 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/58#comment-979</guid>
		<description>Thanks James for an inspiring idea.  We've expanded on it some at Tyner Blain (linked to my name).  Hope you like it.  Here's the excerpt:

There’s a piece of North American folklore about John Henry, who was a manual laborer during the expansion of the railroads in our country. His job was being replaced by steam-driven heavy equipment, as the railroad industry applied technology to become more efficient. The same dynamics are happening today with manual testers. We need to make sure that manual testers avoid John Henry’s fate - read on to see why.</description>
		<content:encoded><![CDATA[<p>Thanks James for an inspiring idea.  We&#8217;ve expanded on it some at Tyner Blain (linked to my name).  Hope you like it.  Here&#8217;s the excerpt:</p>
<p>There’s a piece of North American folklore about John Henry, who was a manual laborer during the expansion of the railroads in our country. His job was being replaced by steam-driven heavy equipment, as the railroad industry applied technology to become more efficient. The same dynamics are happening today with manual testers. We need to make sure that manual testers avoid John Henry’s fate - read on to see why.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shrini</title>
		<link>http://www.satisfice.com/blog/archives/58#comment-791</link>
		<dc:creator>Shrini</dc:creator>
		<pubDate>Fri, 11 Aug 2006 07:47:14 +0000</pubDate>
		<guid>http://www.satisfice.com/blog/archives/58#comment-791</guid>
		<description>Continuing with what Michael said about Manual+explotatory+Scripted  vs Automated +scripted test scenario -- how about following rules ?

# 3 All automated tests  (by design, nature, definition) are scripted (any exceptions ?)

&lt;em&gt;[James' Reply: This depends on your specific definition of automation and script. If to be automated means that the action is carried out by a machine made by humans, instead of by humans themselves, and if to be scripted means to act in a way that is determined in part by a set of instructions, then some automated tests may not be scripted, because some machines do not operate using instructions (I can use a hammer to hit a keyboard, which is a machine that is operating by direct manipulation, instead of by a script). I can also use automation to *design* manual tests, in which case it would be a partially-scripted partially automated test. There are many other examples.&lt;/em&gt;

&lt;em&gt;In general, I would say that most people who point at test automation are going to be pointing at a fairly scripted test.]&lt;/em&gt;

# 4 (converse of #3) All scripted tests can be automated (if tool and Oracle willing)

So aren't we limited by tool and oracle to satisfy rule #4

Shrini&lt;em&gt; &lt;/em&gt;

&lt;em&gt;[James' Reply: It is not true that all scripted tests can be automated, because of the limits of what machines can do. There are straightforward computability limits, such as those that would require a computer to spend 10,000 years to solve the problem. There are also scripted commands that no one could perform, under any circumstances, including the instruction "run all possible tests" or "notice all possible bugs."
&lt;/em&gt;

&lt;em&gt;There are many possible actions that we can script to some degree, and which a human could do in an acceptable way, but which would be very hard or impossible for a computer to do. These include "check to see if something went wrong" which is almost always an implicit part of a test script, and "record any new test ideas that occur to you while  performing this test."]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Continuing with what Michael said about Manual+explotatory+Scripted  vs Automated +scripted test scenario &#8212; how about following rules ?</p>
<p># 3 All automated tests  (by design, nature, definition) are scripted (any exceptions ?)</p>
<p><em>[James&#8217; Reply: This depends on your specific definition of automation and script. If to be automated means that the action is carried out by a machine made by humans, instead of by humans themselves, and if to be scripted means to act in a way that is determined in part by a set of instructions, then some automated tests may not be scripted, because some machines do not operate using instructions (I can use a hammer to hit a keyboard, which is a machine that is operating by direct manipulation, instead of by a script). I can also use automation to *design* manual tests, in which case it would be a partially-scripted partially automated test. There are many other examples.</em></p>
<p><em>In general, I would say that most people who point at test automation are going to be pointing at a fairly scripted test.]</em></p>
<p># 4 (converse of #3) All scripted tests can be automated (if tool and Oracle willing)</p>
<p>So aren&#8217;t we limited by tool and oracle to satisfy rule #4</p>
<p>Shrini<em> </em></p>
<p><em>[James&#8217; Reply: It is not true that all scripted tests can be automated, because of the limits of what machines can do. There are straightforward computability limits, such as those that would require a computer to spend 10,000 years to solve the problem. There are also scripted commands that no one could perform, under any circumstances, including the instruction &#8220;run all possible tests&#8221; or &#8220;notice all possible bugs.&#8221;<br />
</em></p>
<p><em>There are many possible actions that we can script to some degree, and which a human could do in an acceptable way, but which would be very hard or impossible for a computer to do. These include &#8220;check to see if something went wrong&#8221; which is almost always an implicit part of a test script, and &#8220;record any new test ideas that occur to you while  performing this test.&#8221;]</em></p>
]]></content:encoded>
	</item>
</channel>
</rss>
