There are times when I'm talking about my profession the other person doesn't understand why software testing is so exiting. I think they don't understand me because due to my enthusiasm I went too deep into details. This made me wonder how I can compare software testing.
So I try to go into the height instead the depth.
I think software testing can be explained as flying in a hot air balloon. The project you are into is similar as the balloon. You also have balloons in different sizes and shapes.
Other characteristics of flying in a balloon are the equipment you have. Is the basket large enough? Is it an open or closed basket? Are there enough sand backs on board? Is there an on board heater? Do we need navigation tools?
Besides equipment there are other factors which influence the flight. Is there someone with experience flying a balloon on board? Is it planned to be a long journey or a short trip? Are you flying together with other balloons or is it just in the sky? Is there enough wind? Is it cloudy or clear sight? Did you get on board when the balloon was making an intermediate landing? Did you bring food and drinks with you when you started the trip?
In software testing you can have similar questions.
- sky = organization
- balloon = project
- balloonist = project manager
- basket = project size
- heater and sand backs = tools to adjust direction
- flight size = project schedule
- single vs combined flight = project environment
- sight = project goals
- wind = resources like time and budget
- food and drinks = personal skills and experience
Perhaps testing is like flying a hot air balloon. It can be exiting, turbulent, you do all what you can to reach your goal, every time it is different.
In testing you are part of a small team which has the goal to fly from one location to a location 100 kilometers to the North. The sky is blue and the wind is also blowing North. The basket is large enough for us. The balloonist is experienced to fly under these conditions. And we fly together with other balloons.
During the flight the winds fades. And some balloons losing direction. Our balloon is slightly going down. And as we know, there are more bugs living on the ground or nearby the ground. First we turn on the heater. Then we throw down some sand backs. And we continue flying in the right direction. The sight becomes unclear and our navigation tools stops working.
In testing you also define a plan where you want to go and how you want to reach it. During the project you have to watch how the environment changes. To do this you measure the system and the project environment. And if bugs are found we suggest for counter measures. And some times to get on time on the location you intended to, you drop some functionality. And if time is up, you give advice if the system is good enough to meet the criteria as defined as our goal.