Thursday, July 24, 2008

Exploring Your System

In my (not so copious) spare time, I play Civilization. It's an interesting game for a lot of reasons, but recently I was playing with a friend and noticed that he explores his world totally differently than I do  - and yet we each had never thought of the other way.

First, some background for those who don't play the game much. Basically, you're dropped into a world, and you have to explore that world, create towns, harvest resources, go to war with (or trade with) the other players, etc. The relevant notion here is exploring the world, which is done by walking people around - basically, you send a guy out and he walks around looking at stuff. The more he sees, the more you know about the world - mountains to the north of you, coastline to the east, desert to the south, etc.

Here's what you see when you first start: not much.

Now I generally explore basically by walking around in circles looking around me. It looks something like this:

This other player explores by making a beeline as far as he can go in one direction. When he hits something impassible - like, say, an ocean - he returns to home base, picks a new direction, and walks as far as he can.

It occurred to me that this is much like we explore a system. Some QA engineers will try all the "happy path" items first. Other QA engineers will do everything they can think of to one specific feature before they touch another feature.

The good news about the happy path types is that they get good coverage of a smoke test fast. If a feature is completely broken, they'll find it. The good news about the beeline types is that they get deep into a feature more quickly. If there is some nefarious but deep bug hiding in a feature, they may find it first... if they picked that feature to look at.

I'd like to make sure my team balances both - coverage and depth.

No comments:

Post a Comment