Everybody is pregnant with ideas all the time. Women are gifted with a capability to be pregnant beyond ideas.
In 2010, I had the divine opportunity to learn about pregnancy through my wife who was carrying our first child. I couldn't stop my mind from co-relating pregnancy to testing software. I have been trying to crystallize my ideas for a long time (our child is more than two and half years old now) and this blog post was lying in draft version since early 2013. A long journey to get here.
When I attended Anne and Rob Saborin's talk in CAST 2008 - Testing Lessons from Labor Room, I had no way to co-relate what they were talking because I did not know about pregnancy or labor pain as much as I know after I experienced it through my wife. I wish, I could listen to that talk again.
Here is my version of ideas about pregnancy analogies for software testing. I want to structure it as questions (or situations) and answers (or responses) to it. Software testing is very simple to understand and this is why the world doesn't get it fucking right.
We are not ready for testing!
Sure. Not ready for what kind of testing. Not ready for testing the heart rate of the baby or its movements? Oh, you mean, you are in initial stages of pregnancy?
What about tests for healthiness of pregnancy? You maybe pregnant however sometimes there could be pregnancies that could lead to health risks. Ectopic Pregnancy is one such example. If you do not test for this (and that should be done much before your baby starts to take shape) , you may end up risking the mother and the child. You want to know about it earlier than later.
All tests are green. Can we push this code to production?
A doctor does not just look at a specific scan result to make a decision for C-section.She analyzes the patient history, current condition, determines what is safe for the child and the mother to make a decision for C-section.
It is a human who assesses all angles to make a decision and not just test results. Test results support the human to have more information when making decisions. Tests that bring in many kinds of information is important to good decision making. Having just one type of test keeps a different risk unaware.
When that successful company doesn't hire testers, why should I?
Delivering a baby is a life and death experience. There are many people who deliver babies at home or in situations where they are far away from hospital. The human race has not vanished because there were no hospitals or advanced technologies during the early days of civilization. Hospital and having doctors around has increased the survival rates, safety and health. Some babies have jaundice after birth and some babies develop fever post birth. Some babies like me don't cry the moment they are born. Having specialist doctors by side makes you focus on your baby than worry about what next.
Want to contribute your pregnancy analogy for testing/development/software? Write to me to my email id pradeep.srajan at the famous mountain view based gmail provider dot com and I shall mention your name and give the due credit if I like your idea in the upcoming parts.