CAST2007 – Harry Robinson
I skipped the morning session since nothing really appealed to me, so the next session was the lunchtime keynote by Google’s Harry Robinson. Harry’s keynote was entitled The Bionic Tester in which he wants to turn us all into cyborgs. Not in the Cybermen context, but as in the How We Became Posthuman sense where a metaphoric cyborg is “the user locked in a ‘cybernetic circuit’ with a computer terminal”. I got a lot out of the talk, but I’m not sure if people who knew more about MBT (model based testing) would have got as much, but I think most of the audience had similar knowledge profiles.
- The best soundbyte of the conference was ‘an idle cpu is an unhappy cpu’. You can take advantage of the idle cpu cycles, but you need to change how you do things slightly. The modification is of course to do MBT (Harry is the MBT guy.
- Book – Practical Model-Based Testing
- Explain to the computer how to do a test (via a model), and then let the computer do the testing
- Software is not chaotic (as much as we think it might be) which means that it is governed by a set of rules. Usually there are not too too many of those rules (at least at a feature level)
- How is MBT exploratory?
- Creating the model (that is used for the automation) forced a systemic exploration of the behavior of the app
- You can start with a small model build it in the direction(s) you think will do the most good
- You can choose to ‘steer’ the tests through weighting the probability of an event higher or lower
- The model becomes the spec of the system
- Harry showed a cool tool for comparing 2 images at the pixel level called Eggplant (I’m guessing the part they were using was the Image Doctor)
- One heuristic the Google Maps team uses for route calculations is to see if the reverse directions for a route are within 40 calculated miles than the original
- In MBT, you can’t count test cases, which is fine because it is a poor metric anyways. Instead use spec, model or code coverage if someone really wants it
- The conclusions slide:
- Scripted automation has a place, just make sure it is not your only way
- Exploratory Automation extends our reach into an app’s behavior
- EA can start with the scripts you already have
- Don’t prioritize automation prematurely
- Be prepared to accomodate the machines you are working with
- Be prepared to be creative