(originally posted may 25 2013)
I stay out of heated discussions on context driven testing versus scripted testing and plan to stay out of it. However if I were to be put on the spot I would certainly consider myself context driven. I never bothered though to define why.
A discussion on if we should put astronauts on Mars or rovers however somehow gave me a nice analogy. In the discussion someone gave some nice numbers. Now I don’t know if the numbers are exactly true, but I think there is a lot of truth in it.
Here are the numbers: The Mars Rover Opportunity has been happily roving on Mars since early 2004 and is still at it. That is over nine years of activity. That is a great and awesome achievement for NASA. But as the guy in the discussion pointed out: in that nine years it had travelled the same distance as the astronauts of the last Moon mission had in a week. And the science performed was equivalent to a months worth of an astronaut.
These numbers are probably debatable. But I do believe men and/or women could do a lot more in the same time on Mars.
Mars is long distance away from us. A radio signal takes between four and twenty minutes to get from Earth to Mars and vice versa. So assuming an engineer on Earth sees something on the camera that forms a hazard, that was at least four minutes ago. If the engineer sends the signal to brake, that takes another four minutes. We don’t have to do the math here, that is much too long.
If you were to take all steps sequentially, i.e. move ten centimeters and then judge if you the rover is to go on or make bit of turn things take for ever.
The answer to this is to carefully plan and ‘script’ how the rover moves around and what it does. And there is no option to quickly respond to something interesting. If for instance it would be drilling in some rock and the rock would show some green material, by the time the stop signal arrives the drilling has gone on for at least eight minutes and the opportunity to stop and change what you are doing has gone.
All this means that a lot of work goes into planning what the rover is to do and I do think we could safely say that an astronaut on site could do a lot more. Time is spent on planning, scripting. Then in comparison a relatively short time compared to all the planning real actions take place with no opportunity to act on anomalies.
I am still in awe over NASA’s achievement! And of course this is a way over the top comparison with scripted testing. You would assume that a scripted tester does notice things and stops and acts if during a scripted test an anomaly occurs. It still doesn’t quite explain why I prefer context driven testing, but I do believe in the value of it.
You know, maybe it actually does explain it: ever since I was eleven, in my heart I have always wanted to be an astronaut!