Sunday, March 29, 2009

The Art of War in Software Testing

One of the things I like to do is checking for similarities between history or other methods and software testing. Recently I was heading towards my assignment and got stuck in a traffic jam. You have some of those days. A radio station brought again some information about some war somewhere. Like software testing, no war is the same. No test process is the same. I think there should be some similarity between war and test processes due to the fact they are build upon a mission, vision, strategy, objectives, leadership and a context.
Types of war

On WikiPedia I searched if there was some information about different types of War . On this site I found a table containing types of war explained. (see below)

Environments of warfare

In warfare the environment has a huge impact on the type of battle which take place. You have conventional and unconventional warfare. In conventional warfare an attempt is made to reduce an opponent’s capability through open battle. In unconventional warfare is trying to achieve victory through acquiescence, capitulation, or clandestine support for one side of an existing conflict.

Environments of testing

I think in Software Testing you also might consider conventional and unconventional environments. Below a shot how this could be presented.

Each type of environment has its own type of leadership and needs its own type of strategy and approach.

War strategy

In an old computer game (Civilization II) I learned about Sun Tzu. I understood that this book is a must read for any strategist. Sun Tzu: The Art of War In this book in thirteen chapters an explanation is given how the context of warfare an be defined.

The combination of leadership, environment and goal makes each war different. I think therefore there is a similarity between warfare and software testing. In software testing you also have different objectives, circumstances and resources.

Test approach
When looking at the thirteen chapters of The art of War there is some similarity which can be translated to testing. I tried to visualize it in the image below.
Similarity between warfare and software testing
Is there a similarity between warfare and software testing?
Perhaps there is, in both situations:
- The environment and goal has impact on the type of execution and leadership
- The chance for creating chaos is high
- Dealing with chaos should be part of the strategy
- The desired outcome is victory, only at the end you know about failure
- Best practices is not a guarantee for success, it depends, and most of the time on the context.

No comments:

Post a Comment