Testing Software is like Making Love

Work with me for a minute here.

One of the things I dislike about a recent trend in the software testing profession is the lack of analogies and examples that relate to me as an adult. Yes, it's interesting that children are innocent, curious and are natural explorers, but they are also naive, inexperienced and cannot reason or abstract like adults can. I don't find it helpful to me or when training new testers to say you need to be more like children. I'm an adult, so how can you help me now? Do you have an analogy that relates to me as an adult?

Here's an analogy that I think might help.

Testing software is like making love.

What does that mean? For a start, what's the difference between 'making love' and 'having sex'? I think the big difference is caring about the person you are with and wanting to satisfy their needs.

Is there just one way to do it? No. Every person's needs are different, just like every project we help test is unique.

I think people/consultants who specialise in certain things like an automation tool or a process improvement model are kind of like porn stars. They've mastered a technique and go around showing everyone just how good they are. Often, the perceived satisfaction in their results is just superficial and temporary because we are so impressed with their performance and showmanship. Is there real satisfaction or addressing of customer/stakeholder needs in specialists like these? I don't think so. Well, maybe sometimes, but I highly doubt it's the silver bullet/best practice they make it out to be.

Is there a need for specialists? Yes, I think so. We can (usually? often? sometimes?) learn from them. I believe that people (customers, here) fall into high-level patterns and that we (who want to address their needs) should learn from those who have experienced successes in working with certain kinds of customer needs. Does that mean that we should only look to one specialist in our lifetime? That's up to you. That's like saying you only want to learn to use a hammer and will look at all of life's situations with the one tool you know how to use.

Is there value in getting a certificate to show that you've learnt a particular sexual technique? Would you be proud of it? Would you post it up on your wall at work? Would you put it on a t-shirt, business card or advertise that you have this knowledge and/or experience?

There are so many books out there on sex, love and relationships - there are so many different needs and patterns to try and address. If this analogy holds true then the Software Testing industry has a long way to go to catch up on the number of different books published to help people be successful and happy in testing software and systems.

Perhaps we need something like the Kama Sutra of Software Testing. (ooo, I like that. just made it up.)

Does making love involve intercourse? What about tantric sex? What about just cuddling? What if you're alone? Maybe sometimes sex is all you really need at that moment - get in, get the job done, get out. Maybe it's what the customer both needs and wants. Don't think too much about it then. Do your best and move on. Porn stars don't need to build relationships to be famous or successful.

What's the difference between providing someone with what they want compared with what they need? Here's a good follow-up question to ponder: if you provide your customer with what they need instead of what they want, will they still be happy? Will they tell you that? Are you sure that you've really identified what they needed? How do you know? How are you certain about what you think you know?

Talk to your customers. Get to know them. Try to understand both what they are really asking for and what you think they need. Do your best to try and address their needs. Provide everyone on the project with the information they need to be successful in the project constraints. We are only human and therefore make mistakes and miss things sometimes. People can be forgiving too and may provide you with other opportunities to show that you've learned from past experiences and that you care about growing and doing a better job next time.

If the client/organisation isn't forgiving, then take the one-night stand as a learning opportunity and move on. Seek out what you desire. I believe that the best software testers are truly the ones who care about the people we work with and for. They care about doing a good job, about learning, growing and improving their performance and satisfaction level. It's unfortunate that not all of the organisations we work for see that or care. It doesn't stop us though. We're a caring bunch. We're weird that way. ;)

Good software testers are lovers.


  1. That is quite a unique way to describe software testing. Software testing is a trade-off between budget, time and quality.

  2. kama sutra for testers..mmm
    i think analogy with making love should be hold in every professional sphere, no matter IT or not it is even.

  3. Here I found much more information regarding testing fundamental and it will be helps me in my project work.

  4. Yes, absolutely testing the software is a kind of love. It is not a easy. You will have to handle very humble and polite like a girl. Then only you will get the result what you want.