Thursday, August 23, 2012

The Test in Intestines

Gut instinct. If you're a working tester you probably use it, oooh, roughly, I'd say, well, on average, y'know, in a manner of speaking, perhaps, erm, just about all the time.

Feel, or the intuition bred of experience, is rolled into everything you do. In every decision you make, it's playing a part. Every time you speculatively poke the system this way or that, or don't poke it, or poke it twice quickly, or with a series of sticks with lengths in powers of two, or with a null stick, or a log, a twig, a stake or a bâton, every one of those, and pretty much everything else, in some way, involves your gut.

Which is why you'd better feed it. And what does it like to eat? Data.

Data: gather some, test some, generate some, analyse some, learn some.Yum, yum.
Image: http://flic.kr/p/4LxvsgWith thanks to The Social Tester

Thursday, August 16, 2012

The Honest Womaniser


The Dev Manager has a phrase that he uses from time to time when he wants to take some shaky code, perhaps lashed together for speed or an acute need, or prototyped as a script, or created as a demo, and bring it into the product.

Let's make an honest woman out of that, he'll say. The novelty of the unexpected anthropomorphism with a side of sexism soon wears off, although some of those kinds of projects can feel a lot like organising a wedding - expense, stress, unrealistic expectations, Mothers-in-law. (Go on, tell me you've never had a Ma-in-law on your project.)

What I've taken from it is the idea that I should always consider coding my quick-and-dirty investigative scripts with a view to making them part of a regression suite later. I don't go that way every time. For instance, when I know it's a stricly one-shot deal like processing log files to diagnose an issue, I'll use whatever is fastest. And when I can get what I need inside an existing suite easily I'll probably do that, although sometimes the overheads there are high.

When I've chosen to write outside a suite but I'm thinking of future incorporation I'll try to match up against the suite on the following kinds of things:
  • the language, framework, libraries
  • any variable names (where they're equivalent) or other coding conventions
  • the structure of any data the tests use
  • the way the tests are invoked
but only to the extent that I think it's worth trading my main mission against later ease of migration. Or to put it another way, I like my dishonest women fast and my honest women cheap.
Image: http://flic.kr/p/6qijcD

Wednesday, August 8, 2012

What the Duck?


Me and my mate Dave were sitting on the river bank down by the Mill one dinner time, years ago, when we were doing our PhDs at the Computer Lab. We've both ended up in software - he's a developer and I'm in test - but back then there were no chips on our shoulders, no Bugzilla to converse through, no wall to chuck builds over and no barely concealed distaste in each other's presence.

No, in those sunny days we were just young bucks flexing our intellects in the finest Cambridge tradition, speculating about the meaning of life, fencing with fine verbal sabres on the origin of the universe, nature versus nurture, the merits of a range of economic models and whether we could tempt a duck over the weir using the crusts off our sandwiches.

We spent the best part of an hour, and our cheese and pickle, getting the thing progressively closer to the edge until finally it reached too far forwards after a crumb and slipped onto the lip. Victory!  And then immediately launched itself into the air using its, erm, wings. Defeat!

The message here? Yes, have test ideas. Yes, experiment to confirm or deny them. Yes, stay focussed while you do it. But? But beware of being seduced by the concept, of missing the bleedin' obvious. You haven't got time to waste.