<?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: Tester Pilot</title>
	<atom:link href="http://www.satisfice.com/blog/archives/411/feed" rel="self" type="application/rss+xml" />
	<link>http://www.satisfice.com/blog/archives/411</link>
	<description>The Consulting Software Tester</description>
	<lastBuildDate>Fri, 03 Feb 2012 10:21:43 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Fionna O'Sullivan</title>
		<link>http://www.satisfice.com/blog/archives/411/comment-page-1#comment-244440</link>
		<dc:creator>Fionna O'Sullivan</dc:creator>
		<pubDate>Mon, 22 Feb 2010 07:13:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=411#comment-244440</guid>
		<description>This is an interesting analogy for test automation, and a very good point. On the one hand, I&#039;d say that it is important to be aware of what your automation system is actually testing and proving - water salinity and volume, say, but &lt;b&gt;not&lt;/b&gt; that there aren&#039;t any problems with the float pump.

On the other hand, though, (and I know nothing about planes) would you then have done the manual checks too? Or only done manual checks if the automated tests had flagged something. I try for the former, but am probably guilty of the latter too often for comfort.

A very good and timely reminder to keep alert!
&lt;em&gt;
[James&#039; Reply: A sapient pilot is always needed. Automation is fine as long as you don&#039;t mind when it fails. We have lots of automation on our cars, for instance, but failure there generally leads to being stuck at the side of the road. Automation failure on aircraft is considerably more risky. That&#039;s why we pilots are constantly watching and checking and cross-checking.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>This is an interesting analogy for test automation, and a very good point. On the one hand, I&#8217;d say that it is important to be aware of what your automation system is actually testing and proving &#8211; water salinity and volume, say, but <b>not</b> that there aren&#8217;t any problems with the float pump.</p>
<p>On the other hand, though, (and I know nothing about planes) would you then have done the manual checks too? Or only done manual checks if the automated tests had flagged something. I try for the former, but am probably guilty of the latter too often for comfort.</p>
<p>A very good and timely reminder to keep alert!<br />
<em><br />
[James' Reply: A sapient pilot is always needed. Automation is fine as long as you don't mind when it fails. We have lots of automation on our cars, for instance, but failure there generally leads to being stuck at the side of the road. Automation failure on aircraft is considerably more risky. That's why we pilots are constantly watching and checking and cross-checking.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kerry</title>
		<link>http://www.satisfice.com/blog/archives/411/comment-page-1#comment-243542</link>
		<dc:creator>Kerry</dc:creator>
		<pubDate>Thu, 18 Feb 2010 00:21:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=411#comment-243542</guid>
		<description>What Albert misses also is that the automation would then itself need to be tested (and if he wanted to automate testing that then he&#039;d be on the path to madness...)</description>
		<content:encoded><![CDATA[<p>What Albert misses also is that the automation would then itself need to be tested (and if he wanted to automate testing that then he&#8217;d be on the path to madness&#8230;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Armin Albarracin</title>
		<link>http://www.satisfice.com/blog/archives/411/comment-page-1#comment-243231</link>
		<dc:creator>Armin Albarracin</dc:creator>
		<pubDate>Mon, 15 Feb 2010 14:54:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=411#comment-243231</guid>
		<description>&#039;Dude, I&#039;m not opposed to test automation. I&#039;m opposed to wild irresponsible claims made about test automation. This is based on extensive experience with test automation that I have, as a programmer and as a tester and as a consultant who has written reports about test automation failures&#039;

James, I really liked your statement above. Since years you seem like the one of the few serious voices advocating automation WHEN it makes sense - and not just everywhere it might. The ROI in automation is indeed an issue and should be taken more seriously. Everybody can sell automation - it sounds so nice specially to those not in the know - and the dream of the magic button.</description>
		<content:encoded><![CDATA[<p>&#8216;Dude, I&#8217;m not opposed to test automation. I&#8217;m opposed to wild irresponsible claims made about test automation. This is based on extensive experience with test automation that I have, as a programmer and as a tester and as a consultant who has written reports about test automation failures&#8217;</p>
<p>James, I really liked your statement above. Since years you seem like the one of the few serious voices advocating automation WHEN it makes sense &#8211; and not just everywhere it might. The ROI in automation is indeed an issue and should be taken more seriously. Everybody can sell automation &#8211; it sounds so nice specially to those not in the know &#8211; and the dream of the magic button.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Bolton</title>
		<link>http://www.satisfice.com/blog/archives/411/comment-page-1#comment-243175</link>
		<dc:creator>Michael Bolton</dc:creator>
		<pubDate>Sun, 14 Feb 2010 20:28:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=411#comment-243175</guid>
		<description>Albert said, &quot;State should be defined by a sufficient set of criteria: amount of water in a float, chemical activity of water (pH, electro-conductivity, etc), vibration, pump performance, - as much as required.&quot;

Funny how even after James gave, in his story, explicit critical criteria that pointed to the problem&#8212;color, taste, smell&#8212;they &lt;i&gt;still&lt;/i&gt; don&#039;t appear on the list.

The argument is simple:  unlike humans, automation &lt;i&gt;doesn&#039;t have expectations&lt;/i&gt;.  It is capable of detecting matches or mismatches based on the expectations we feed it.  Humans, by contrast, can identify expectations prospectively, in advance of an observation (&quot;If this were to come to pass, it would indicate a problem&quot;); on the fly, during an observation (&quot;Hey... I didn&#039;t expect that; that could be a problem&quot;); and retrospectively (&quot;Now that I&#039;ve seen the problem, I can figure out how I might have detected it&quot; or &quot;Now that I have a better model, I realize that I could have tested for this, even though a problem hasn&#039;t manifested itself yet.&quot;).

&lt;i&gt;Just light the red lamp for a pilot if a parameter changed to a value outside of defined range.&lt;/i&gt;

One indicator of a problem with any analysis is the appearance of the word &quot;just&quot;.  Yes:  lighting a red lamp is a simple enough thing.  Knowing when to light it and when not to light it is the complicated bit.  Interpreting it is also complicated.  Here&#039;s an example of a one-bit communications protocol:  someone honks the horn at you, as you&#039;re driving.  How would one interpret accurately that without a walloping dose of context to go along with it?

---Michael B.</description>
		<content:encoded><![CDATA[<p>Albert said, &#8220;State should be defined by a sufficient set of criteria: amount of water in a float, chemical activity of water (pH, electro-conductivity, etc), vibration, pump performance, &#8211; as much as required.&#8221;</p>
<p>Funny how even after James gave, in his story, explicit critical criteria that pointed to the problem&mdash;color, taste, smell&mdash;they <i>still</i> don&#8217;t appear on the list.</p>
<p>The argument is simple:  unlike humans, automation <i>doesn&#8217;t have expectations</i>.  It is capable of detecting matches or mismatches based on the expectations we feed it.  Humans, by contrast, can identify expectations prospectively, in advance of an observation (&#8220;If this were to come to pass, it would indicate a problem&#8221;); on the fly, during an observation (&#8220;Hey&#8230; I didn&#8217;t expect that; that could be a problem&#8221;); and retrospectively (&#8220;Now that I&#8217;ve seen the problem, I can figure out how I might have detected it&#8221; or &#8220;Now that I have a better model, I realize that I could have tested for this, even though a problem hasn&#8217;t manifested itself yet.&#8221;).</p>
<p><i>Just light the red lamp for a pilot if a parameter changed to a value outside of defined range.</i></p>
<p>One indicator of a problem with any analysis is the appearance of the word &#8220;just&#8221;.  Yes:  lighting a red lamp is a simple enough thing.  Knowing when to light it and when not to light it is the complicated bit.  Interpreting it is also complicated.  Here&#8217;s an example of a one-bit communications protocol:  someone honks the horn at you, as you&#8217;re driving.  How would one interpret accurately that without a walloping dose of context to go along with it?</p>
<p>&#8212;Michael B.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Albert Gareev</title>
		<link>http://www.satisfice.com/blog/archives/411/comment-page-1#comment-242771</link>
		<dc:creator>Albert Gareev</dc:creator>
		<pubDate>Thu, 11 Feb 2010 16:04:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=411#comment-242771</guid>
		<description>Hi James,

This is the lesson to think about...

&quot;Crash pilots given conflicting orders&quot;
http://news.bbc.co.uk/2/hi/europe/2115425.stm

[quote]
German investigators have revealed that the pilots of the Russian airliner involved in last week&#039;s mid-air collision with a cargo plane received contradictory instructions seconds before the crash. 
They said voice recorders recovered from both aircraft showed Swiss air traffic controllers told the Russian pilots to descend, while the on-board warning system instructed them to climb. 

All 69 people - including 45 schoolchildren - aboard the Russian Tu-154, and two crew members on the Boeing 757 were killed when the two aircraft collided at 35,000 feet (10,500 metres) over the German-Swiss border. 

According to German authorities, cockpit warning systems told the Tu-154 to climb and the cargo jet to descend, just 45 seconds before the collision. But voice recorders reveal that one second later, Zurich air traffic controllers told the Russian pilots to descend. The Russian crew did not respond, so the Zurich control tower repeated the order 14 seconds later, investigators say. 

The Russian plane responded and the two aircraft collided 30 seconds later. 

Although the aircraft were flying over Germany at the time, they were under the control of the Swiss air traffic control body, Skyguide. 

[/quote]

Thank you,
Albert Gareev
&lt;em&gt;
[James&#039; Reply: It is customary to call an example like this a lesson. But really, it&#039;s not a lesson. This is a story. It becomes a lesson when we interpret it and make it a part of ourselves. My interpretation of this, I suspect, is different from your interpretation. 

I see this as a lesson about the automation bias and the need for vigorous training in order to pilot aircraft safely.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>Hi James,</p>
<p>This is the lesson to think about&#8230;</p>
<p>&#8220;Crash pilots given conflicting orders&#8221;<br />
<a href="http://news.bbc.co.uk/2/hi/europe/2115425.stm" rel="nofollow">http://news.bbc.co.uk/2/hi/europe/2115425.stm</a></p>
<p>[quote]<br />
German investigators have revealed that the pilots of the Russian airliner involved in last week&#8217;s mid-air collision with a cargo plane received contradictory instructions seconds before the crash.<br />
They said voice recorders recovered from both aircraft showed Swiss air traffic controllers told the Russian pilots to descend, while the on-board warning system instructed them to climb. </p>
<p>All 69 people &#8211; including 45 schoolchildren &#8211; aboard the Russian Tu-154, and two crew members on the Boeing 757 were killed when the two aircraft collided at 35,000 feet (10,500 metres) over the German-Swiss border. </p>
<p>According to German authorities, cockpit warning systems told the Tu-154 to climb and the cargo jet to descend, just 45 seconds before the collision. But voice recorders reveal that one second later, Zurich air traffic controllers told the Russian pilots to descend. The Russian crew did not respond, so the Zurich control tower repeated the order 14 seconds later, investigators say. </p>
<p>The Russian plane responded and the two aircraft collided 30 seconds later. </p>
<p>Although the aircraft were flying over Germany at the time, they were under the control of the Swiss air traffic control body, Skyguide. </p>
<p>[/quote]</p>
<p>Thank you,<br />
Albert Gareev<br />
<em><br />
[James' Reply: It is customary to call an example like this a lesson. But really, it's not a lesson. This is a story. It becomes a lesson when we interpret it and make it a part of ourselves. My interpretation of this, I suspect, is different from your interpretation. </p>
<p>I see this as a lesson about the automation bias and the need for vigorous training in order to pilot aircraft safely.]</em></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel Åberg</title>
		<link>http://www.satisfice.com/blog/archives/411/comment-page-1#comment-242732</link>
		<dc:creator>Daniel Åberg</dc:creator>
		<pubDate>Thu, 11 Feb 2010 08:22:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=411#comment-242732</guid>
		<description>Hi James!

Great story today. Your one-liners such as: 
“Unless you landed at the rainbow lake on Unicorn Planet, there may be a hydraulic leak in there.” or 
\In that way, we are like secret service agents, trained to deal with known threats and to have a good chance to discern fresh and unusual threats, too.\
makes me smile all day in office.
Back to testing
Cheers</description>
		<content:encoded><![CDATA[<p>Hi James!</p>
<p>Great story today. Your one-liners such as:<br />
“Unless you landed at the rainbow lake on Unicorn Planet, there may be a hydraulic leak in there.” or<br />
\In that way, we are like secret service agents, trained to deal with known threats and to have a good chance to discern fresh and unusual threats, too.\<br />
makes me smile all day in office.<br />
Back to testing<br />
Cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aaron Hodder</title>
		<link>http://www.satisfice.com/blog/archives/411/comment-page-1#comment-242704</link>
		<dc:creator>Aaron Hodder</dc:creator>
		<pubDate>Wed, 10 Feb 2010 22:35:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=411#comment-242704</guid>
		<description>Nice story.  I&#039;m insanely envious at your opportunity to go bush flying in such a beautiful part of the world.  I&#039;m stuck doing it in Flight Simulator ;)

&quot;The question “Can I explain everything that I see?” is a good heuristic to keep in mind while testing.&quot;
I find this heuristic to be valuable.  In the past, I&#039;ve seen an anomaly, say, &quot;yesterday the program wasn&#039;t sending me emails, but today it is.&quot;  It&#039;s insanely easy to say &quot;Well, it&#039;s working now, so it passes, and that&#039;s ok.&quot;  I always try and make a point now of asking &quot;why was it not working yesterday, but today it is?&quot; rather than just being content that it now works.  The investigative path often leads to very interesting information, even if you never end up explaining the anomaly.</description>
		<content:encoded><![CDATA[<p>Nice story.  I&#8217;m insanely envious at your opportunity to go bush flying in such a beautiful part of the world.  I&#8217;m stuck doing it in Flight Simulator <img src='http://www.satisfice.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>&#8220;The question “Can I explain everything that I see?” is a good heuristic to keep in mind while testing.&#8221;<br />
I find this heuristic to be valuable.  In the past, I&#8217;ve seen an anomaly, say, &#8220;yesterday the program wasn&#8217;t sending me emails, but today it is.&#8221;  It&#8217;s insanely easy to say &#8220;Well, it&#8217;s working now, so it passes, and that&#8217;s ok.&#8221;  I always try and make a point now of asking &#8220;why was it not working yesterday, but today it is?&#8221; rather than just being content that it now works.  The investigative path often leads to very interesting information, even if you never end up explaining the anomaly.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Albert Gareev</title>
		<link>http://www.satisfice.com/blog/archives/411/comment-page-1#comment-242698</link>
		<dc:creator>Albert Gareev</dc:creator>
		<pubDate>Wed, 10 Feb 2010 20:58:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=411#comment-242698</guid>
		<description>&gt;&gt; But if I were to have automated my float pump tests, I would never have found this problem. Because unlike a human, a program can’t look at something and just try to explain it. It must be told exactly what to look for.

Hi James,

You suddenly decided to pump the float (the action wasn&#039;t really required) and discovered an issue that could have become a serious problem. That is a typical situation in testing but I don&#039;t see why you [hypothetically] have problems imagining automation of float pump tests that would find unexpected/undefined problem. Below is the simplified illustration.

Layer One: Detection
I&#039;m sure you&#039;ve heard of Boolean algebra and I&#039;m 100% confident you practically used elements of it as you did some programming.
&lt;em&gt;
[James&#039; Reply: This is how you&#039;re going to start your argument? Okay. Why yes, Albert, I have heard of Boolean algebra. It came in handy when I was writing machine code for those video games I wrote for the Apple II, Commodore64, PC, and Amiga, back in the eighties. And indeed it&#039;s essential in writing the test tools and automation that I create, today. I sure hope the point you are about to make is better informed about computer science than it is about my technical background...]&lt;/em&gt;

The main rule that you would need to use here is &quot;FALSE = NOT TRUE&quot;
Implementation would require heuristic too: instead of looking for problems automatic unit must look after the object&#039;s (float, pump, and peripherals) state. If object&#039;s state is deviated from the base one - that is an indicator of [possible] problem. State should be defined by a sufficient set of criteria: amount of water in a float, chemical activity of water (pH, electro-conductivity, etc), vibration, pump performance, - as much as required.
&lt;em&gt;
[James&#039; Reply: This fails in two ways to address the issue I raised, both of which you need to understand if you want to get good at test automation:

1. When I test sapiently, I do not need to bring to conscious attention all of the factors that I am indeed considering. However, when I automate, I must do so. You have made a list of factors that you have thought about. But you have not made a list of things you have not yet thought about, so this wouldn&#039;t have solved the problem that I did indeed solved in this situation-- namely, testing something that I hadn&#039;t identified in advance as a potential issue.

2. The false positive problem. Sure, I&#039;ve worked with automation that sqawks if something changes. But that&#039;s not testing, that&#039;s change detection. Once we notice a change we have to evaluate it. Then it becomes testing. The problem is, how can the automation judge which change reports will waste my time and which will not? This is exactly why, when I&#039;m flying, I disable the landing gear alarm that comes on whenever I decelerate below 80 mph. That system assumes that I&#039;m preparing for landing, but actually my cruising speed is 85 and my climbing speed is 70, so the alarm is constantly going off. The manufacturer who created that bit of automation didn&#039;t know that.

There are certainly situations we both could cite where we would think that any change to a particular variable is highly likely to be bad. However, in my experience working with complex dynamic systems and complex testing thereof, those situations are not commonplace. Frequently it requires clever coding to mince our way around things that are fully expected to change. The more you write such code, the more expensive your automation becomes.] &lt;/em&gt;

//Note. That already could be sufficient enough, depending on context. Just light the red lamp for a pilot if a parameter changed to a value outside of defined range. However, we may end up with too many lamps or red lights indicating low threat that could have been ignored if checked by a human being. To avoid that problem an automatic checking unit should become a little smarter on its own and do evaluation.//

&lt;em&gt;[James&#039; Reply: In the cockpit, I have a number of instruments that can indicate potential trouble, but just that indication-- which is all automation can do-- is not enough for excellent flying (or testing). There is no &quot;everything is okay&quot; detector on the plane. Nor can there be. The designers have anticipated various specific kinds of problems and I have detectors for those (a stall warning tone, for instance). But on top of all that-- and here is the point I&#039;m trying to make-- my sapience must interpolate and extrapolate; generate ideas and filter them. The automation can help, but it cannot replace sapience.]
&lt;/em&gt;

Layer Two: Evaluation
Boolean algebra is not sufficient enough here. Fuzzy Logic methods (or Artificial Neural Network for more complicated cases) are needed to be used.

&lt;em&gt;[James&#039; Reply: I would argue that a natural neural network is needed.]
&lt;/em&gt;

From the context of your story: small amount of water in a float isn&#039;t a problem itself; a little salty water is also a valid case. That is, &quot;true&quot; or &quot;false&quot; state of event doesn&#039;t give basis for evaluation. It&#039;s combination of events and weight of each event that matter. 
Examples.
Little water + high electro-conductivity = alert
Little water + high/low pH = alert

&lt;em&gt;[James&#039; Reply: What is the false positive rate for that and wouldn&#039;t it be easier just to taste the water? This also demonstrates my point about pink water: I don&#039;t see anything here that detects pinkness. Here&#039;s some homework for you. At minute 27 of &lt;a href=&quot;http://www.researchchannel.org/prog/displayevent.aspx?rID=25008&amp;fID=567&quot; rel=&quot;nofollow&quot;&gt;this video&lt;/a&gt;, this doctor explains how a particular form of automation has made medical testing WORSE.]
&lt;/em&gt;

//Note. It should be seen pretty clear now that implementation of such a solution isn&#039;t a quick patch. Therefore it should be reasonable and affordable.//

From the safety and security stand points it could be reasonable even for a light aircraft. Economically it could be affordable if it&#039;s sold along with 100 of planes. Or 100,000. Or one large plane.
&lt;em&gt;
[James&#039; Reply: But Albert, your very example suggests that it&#039;s intractable, because you are either unwilling or unable to supply me with a complete list of things to check for and a complete design of the equipment to check for it. Oh, and how much will this equipment weigh? How expensive is it to test and maintain? Simplicity and lightness is important in designing light aircraft.

You haven&#039;t addressed these concerns, nor would I expect you to, because my argument is that it&#039;s ridiculously hard to do so, and not at all worth doing compared to training the pilot to handle these things himself.]&lt;/em&gt;

It also may lead to what I wouldn&#039;t want to happen but what could happen and happens anyway.
For example - replacing a highly qualified mechanic with a combination &quot;automatic unit&quot; + &quot;2-week trainee&quot;.  It could be because it&#039;s too hard to get or too long to grow a professional, or because it&#039;s much cheaper to employ 10 surrogates. Or in an organization with extremely high turnover of staff. That used to be only army in action but now seems to be any big corporation.
This approach has come and stayed, and it looks very attractive in accounting books. What is not visible in balance sheets that professional armed with automation can bring performance to new levels of excellence while amateurish workers even with automation have problems performing just as good.

So my point is that instead of trying to stop the progress maybe better to walk ahead of it? 

&lt;em&gt;[James&#039; Reply: What do you mean progress? I&#039;m not standing in the way of any progress. But I would say that it is not progress to seek to do with automation expensively and poorly what can be done far better and far less expensively by a skilled tester.]
&lt;/em&gt;

(Remember, Mars Pathfinder over-succeeded in 1997, working automatically,  without direct radio guidance)
&lt;em&gt;
[James&#039; Reply: Yes, when I taught my testing class at JPL and saw the new rover under construction. That&#039;s wonderful and extremely expensive technology. It also had a critical fault in it that almost ended the mission on the second day!

Dude, I&#039;m not opposed to test automation. I&#039;m opposed to wild irresponsible claims made about test automation. This is based on extensive experience with test automation that I have, as a programmer and as a tester and as a consultant who has written reports about test automation failures.]&lt;/em&gt;

Thank you,
Albert Gareev
http://automation-beyond.com/
</description>
		<content:encoded><![CDATA[<p>&gt;&gt; But if I were to have automated my float pump tests, I would never have found this problem. Because unlike a human, a program can’t look at something and just try to explain it. It must be told exactly what to look for.</p>
<p>Hi James,</p>
<p>You suddenly decided to pump the float (the action wasn&#8217;t really required) and discovered an issue that could have become a serious problem. That is a typical situation in testing but I don&#8217;t see why you [hypothetically] have problems imagining automation of float pump tests that would find unexpected/undefined problem. Below is the simplified illustration.</p>
<p>Layer One: Detection<br />
I&#8217;m sure you&#8217;ve heard of Boolean algebra and I&#8217;m 100% confident you practically used elements of it as you did some programming.<br />
<em><br />
[James' Reply: This is how you're going to start your argument? Okay. Why yes, Albert, I have heard of Boolean algebra. It came in handy when I was writing machine code for those video games I wrote for the Apple II, Commodore64, PC, and Amiga, back in the eighties. And indeed it's essential in writing the test tools and automation that I create, today. I sure hope the point you are about to make is better informed about computer science than it is about my technical background...]</em></p>
<p>The main rule that you would need to use here is &#8220;FALSE = NOT TRUE&#8221;<br />
Implementation would require heuristic too: instead of looking for problems automatic unit must look after the object&#8217;s (float, pump, and peripherals) state. If object&#8217;s state is deviated from the base one &#8211; that is an indicator of [possible] problem. State should be defined by a sufficient set of criteria: amount of water in a float, chemical activity of water (pH, electro-conductivity, etc), vibration, pump performance, &#8211; as much as required.<br />
<em><br />
[James' Reply: This fails in two ways to address the issue I raised, both of which you need to understand if you want to get good at test automation:</p>
<p>1. When I test sapiently, I do not need to bring to conscious attention all of the factors that I am indeed considering. However, when I automate, I must do so. You have made a list of factors that you have thought about. But you have not made a list of things you have not yet thought about, so this wouldn't have solved the problem that I did indeed solved in this situation-- namely, testing something that I hadn't identified in advance as a potential issue.</p>
<p>2. The false positive problem. Sure, I've worked with automation that sqawks if something changes. But that's not testing, that's change detection. Once we notice a change we have to evaluate it. Then it becomes testing. The problem is, how can the automation judge which change reports will waste my time and which will not? This is exactly why, when I'm flying, I disable the landing gear alarm that comes on whenever I decelerate below 80 mph. That system assumes that I'm preparing for landing, but actually my cruising speed is 85 and my climbing speed is 70, so the alarm is constantly going off. The manufacturer who created that bit of automation didn't know that.</p>
<p>There are certainly situations we both could cite where we would think that any change to a particular variable is highly likely to be bad. However, in my experience working with complex dynamic systems and complex testing thereof, those situations are not commonplace. Frequently it requires clever coding to mince our way around things that are fully expected to change. The more you write such code, the more expensive your automation becomes.] </em></p>
<p>//Note. That already could be sufficient enough, depending on context. Just light the red lamp for a pilot if a parameter changed to a value outside of defined range. However, we may end up with too many lamps or red lights indicating low threat that could have been ignored if checked by a human being. To avoid that problem an automatic checking unit should become a little smarter on its own and do evaluation.//</p>
<p><em>[James' Reply: In the cockpit, I have a number of instruments that can indicate potential trouble, but just that indication-- which is all automation can do-- is not enough for excellent flying (or testing). There is no "everything is okay" detector on the plane. Nor can there be. The designers have anticipated various specific kinds of problems and I have detectors for those (a stall warning tone, for instance). But on top of all that-- and here is the point I'm trying to make-- my sapience must interpolate and extrapolate; generate ideas and filter them. The automation can help, but it cannot replace sapience.]<br />
</em></p>
<p>Layer Two: Evaluation<br />
Boolean algebra is not sufficient enough here. Fuzzy Logic methods (or Artificial Neural Network for more complicated cases) are needed to be used.</p>
<p><em>[James' Reply: I would argue that a natural neural network is needed.]<br />
</em></p>
<p>From the context of your story: small amount of water in a float isn&#8217;t a problem itself; a little salty water is also a valid case. That is, &#8220;true&#8221; or &#8220;false&#8221; state of event doesn&#8217;t give basis for evaluation. It&#8217;s combination of events and weight of each event that matter.<br />
Examples.<br />
Little water + high electro-conductivity = alert<br />
Little water + high/low pH = alert</p>
<p><em>[James' Reply: What is the false positive rate for that and wouldn't it be easier just to taste the water? This also demonstrates my point about pink water: I don't see anything here that detects pinkness. Here's some homework for you. At minute 27 of <a href="http://www.researchchannel.org/prog/displayevent.aspx?rID=25008&#038;fID=567" rel="nofollow">this video</a>, this doctor explains how a particular form of automation has made medical testing WORSE.]<br />
</em></p>
<p>//Note. It should be seen pretty clear now that implementation of such a solution isn&#8217;t a quick patch. Therefore it should be reasonable and affordable.//</p>
<p>From the safety and security stand points it could be reasonable even for a light aircraft. Economically it could be affordable if it&#8217;s sold along with 100 of planes. Or 100,000. Or one large plane.<br />
<em><br />
[James' Reply: But Albert, your very example suggests that it's intractable, because you are either unwilling or unable to supply me with a complete list of things to check for and a complete design of the equipment to check for it. Oh, and how much will this equipment weigh? How expensive is it to test and maintain? Simplicity and lightness is important in designing light aircraft.</p>
<p>You haven't addressed these concerns, nor would I expect you to, because my argument is that it's ridiculously hard to do so, and not at all worth doing compared to training the pilot to handle these things himself.]</em></p>
<p>It also may lead to what I wouldn&#8217;t want to happen but what could happen and happens anyway.<br />
For example &#8211; replacing a highly qualified mechanic with a combination &#8220;automatic unit&#8221; + &#8220;2-week trainee&#8221;.  It could be because it&#8217;s too hard to get or too long to grow a professional, or because it&#8217;s much cheaper to employ 10 surrogates. Or in an organization with extremely high turnover of staff. That used to be only army in action but now seems to be any big corporation.<br />
This approach has come and stayed, and it looks very attractive in accounting books. What is not visible in balance sheets that professional armed with automation can bring performance to new levels of excellence while amateurish workers even with automation have problems performing just as good.</p>
<p>So my point is that instead of trying to stop the progress maybe better to walk ahead of it? </p>
<p><em>[James' Reply: What do you mean progress? I'm not standing in the way of any progress. But I would say that it is not progress to seek to do with automation expensively and poorly what can be done far better and far less expensively by a skilled tester.]<br />
</em></p>
<p>(Remember, Mars Pathfinder over-succeeded in 1997, working automatically,  without direct radio guidance)<br />
<em><br />
[James' Reply: Yes, when I taught my testing class at JPL and saw the new rover under construction. That's wonderful and extremely expensive technology. It also had a critical fault in it that almost ended the mission on the second day!</p>
<p>Dude, I'm not opposed to test automation. I'm opposed to wild irresponsible claims made about test automation. This is based on extensive experience with test automation that I have, as a programmer and as a tester and as a consultant who has written reports about test automation failures.]</em></p>
<p>Thank you,<br />
Albert Gareev<br />
<a href="http://automation-beyond.com/" rel="nofollow">http://automation-beyond.com/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anne-Marie</title>
		<link>http://www.satisfice.com/blog/archives/411/comment-page-1#comment-242611</link>
		<dc:creator>Anne-Marie</dc:creator>
		<pubDate>Wed, 10 Feb 2010 11:37:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.satisfice.com/blog/?p=411#comment-242611</guid>
		<description>What a lovely tale about you and your Dad. 

I was wondering if the fact that he was your Dad affected the way you approached your &#039;testing&#039;? You mention that you were &#039;determined&#039; to find something wrong with the plane.  Do you think this is typical of your approach to life or is there a natural competition between you and your Dad?

Makes me think that perhaps who we work with affects how we test too!

Anne-Marie
&lt;em&gt;
[James&#039; Reply: It doesn&#039;t occur to me to compete with him. I&#039;m on the same team. I want to live up to the standard he embodies.]&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>What a lovely tale about you and your Dad. </p>
<p>I was wondering if the fact that he was your Dad affected the way you approached your &#8216;testing&#8217;? You mention that you were &#8216;determined&#8217; to find something wrong with the plane.  Do you think this is typical of your approach to life or is there a natural competition between you and your Dad?</p>
<p>Makes me think that perhaps who we work with affects how we test too!</p>
<p>Anne-Marie<br />
<em><br />
[James' Reply: It doesn't occur to me to compete with him. I'm on the same team. I want to live up to the standard he embodies.]</em></p>
]]></content:encoded>
	</item>
</channel>
</rss>

