"Some birds aren't meant to be caged, their feathers are just too bright"- Morgan Freeman, Shawshank Redemption. This blog is from one such bird who couldn't be caged by organizations who mandate scripted software testing. Pradeep Soundararajan welcomes you to this blog and wishes you a good time here and even otherwise.

Monday, December 10, 2007

Ants solve problems that testers struggle to!

Ants can go into corners of tables and chair, which we humans might not be able to.
Ants can travel to any country without a passport or Visa (if they manage to slip into someone's baggage).
Ants can live anywhere and yet not pay rent or property tax.
Ants can eat junk food forever and live happily.

Doesn't all of them sound so obvious?

So, here is something that might not be so obvious about ants... Little creatures that we commonly refer to as ants have solved a problem that many testers today struggle to.

Have you heard a tester say, "I haven't tested this before / this is too complex / I don't know how to start testing it".

The important thing to note is that we might have heard it from our own mouth or heart and sometimes from others, too.

Here are some experiments that I did with ants to see how they respond to complexity:

Experiment 1

I took an ounce of sugar, placed it near a colony of ants and observed what happened to the sugar I placed after a while.

My experiment resulted in each ant carrying a crystal of sugar and moved them to their nest. Sugar is all gone!

Experiment 2


I placed a cake of size approximately 1000 times bigger than an ant in the same place and observed what happened to the cake.

This experiment resulted in each ant breaking the huge cake into smaller fragments and moved it to their nest bit by bit. Cake is all gone!

Experiment 3

I put a piece of solidified sugar candy near the same colony, which was hard to break for an ant.


This experiment resulted in ants trying to break the candy to smaller segments, but probably the smart ants realized it to be complex than their earlier two assignments I gave them and then they all co-ordinated together and carried the candy to their nest. Candy is all gone!

I bet I could place a mammoth of food for them and they, without bothering about the complexity of it, would try moving it to their nest or create more nests and colonies to accomodate it or work a strategy to get it to their nest or much it as much as they can till the mammoth lies there...

Ben Simo, a wonderful tester you might already know, recently wrote a post titled Solving Intractable Problems and ended it beautifully by saying, "Start with what you recognize" - which I now think is what ants do instead of saying, "That food(work) is not for us, it is for bigger (skilled) ants"

After having done these experiments I was ashamed of my behavior of hesitating to test a product (which I did a couple of years ago) just because something appeared to be too complex or I thought I didn't know about the product or technology.

No, I said, *I* was ashamed and I am not going to ask if you were ashamed because you might have not done that.

After all they are ants and they don't have the super brains we have and lets ignore them folks and continue to live as happy as we are, complaining that things are complex.

Silly ants, they don't even know they are dealing with complexity. I think they should be ashamed of it.


Pradeep Soundararajan - http://testertested.blogspot.com - +91-98451-76817 - pradeep.srajan@gmail.com

"Pradeep's first language is not English--his first language appears to be testing." -- Michael Bolton

11 comments:

Anonymous said...

This is some pretty nice testing ;) but I think your conclusions might not be adequate when it comes to comparing ants and human testers.
They succeeded in carrrying away the sugar, which might be compared to a tester doing tests on small pieces of a large software. No problem.

They succeeded in carrying away the cake, by braking it up into pieces and then carry out the same task as before.

They also succeeded in carrying away the candy, BUT they were not able to break the problem down into smaller parts, so it's rather a workaround than an actual solution.

As a tester I'm probably not able to break down the system to get it being more testable, but I'll have to go to a developer an ask for the product to be made more testable. As such I'm also making a workaround.

Feelings and the process of thought are also part of turning down jobs, which I think is something ants are not "hampered" by but I'm not too much into biology and don't want to make a fool of myself (<- see what happened?!).

Pradeep Soundararajan said...

@Markus,

This is some pretty nice testing ;) but I think your conclusions might not be adequate when it comes to comparing ants and human testers.

I never thought I was concluding on anything in this post and hence you might want to say, "The message that occurs to me when reading this post is..."

I have seen a movie with a friend of mine and at the end we had different learnings from it, so the same story might be interpreted many ways as many people read it.

They also succeeded in carrying away the candy, BUT they were not able to break the problem down into smaller parts, so it's rather a workaround than an actual solution.

The mission for them is to get the food into their nest, and in my opinion they achieved it.

Hitting a ball to the audience seated on the right side might not score a run for a person playing baseball but certainly is a gather of 6 more runs to someone playing a cricket.

So if I do the same thing for different mission, I wouldn't achieve the same result.

As testers, we have a mission for the next hour, for the next half of the day and for the next month. Many testers who complain complexity might not understand what their mission is for the next hour and might complain about the complexity of achieving a result at end of the month.

It certainly looks complex for a tester who fails to look at the hourly mission and just looks at the mission that he/she might want to achieve at the end of the month. Also what those testers fail to realize is the fact that the hourly mission helps in progressing towards the monthly mission.


However, I appreciate you for bringing a new perspective to this post that might also help more readers who might be dropping by this post since your comment and mine is published.

Feelings and the process of thought are also part of turning down jobs, which I think is something ants are not "hampered" by but I'm not too much into biology and don't want to make a fool of myself (<- see what happened?!).

I am sure there is a joke hidden above but I need your help in breaking it down to appreciate it better. If there is no joke there, excuse me, you still might want to help me understand it.

Anonymous said...

Well part is jokingly part is serious. As you didn't take the job of testing the 'too complex system' I don't take the job of trying to explain the 'too complex behaviour of ants' because I _think_/_believe_ that I'm not skilled enough.

Pradeep Soundararajan said...

@Markus,

Thanks for coming back. I think I got a little of what you wanted to mean but I admit that I don't feel I understood it to the extent I want to understand things.

You might skilled enough but you might not be aware of it.

Anonymous said...

OK, since my original reply seems to have been lost in depths of blogspot,
here comes a short resume of my thoughts.

In my first comment I wrote "They also succeeded in carrying away the candy, BUT they were not able to break the problem down into smaller parts, so it's rather a workaround than an actual solution."

By now I think I left out some point from my biology lessons :)

What if the ants go by instinct. They have been developing for millions of years and probably
there's just three solutions for them about "how to handle food".

if (it is food)
{
__if (we can take away the pieces)
__{
____everyone grab a piece and off you go
__}
__else if (we can break it up)
__{
____break it up;
____everyone grab a piece and off you go
__}
__else if (we can take it away as a whole)
__{
____gather as many ressources as necessary;
____let's get it to the hive;
__}
}

They don't develop new skills in the moment they get this task, they just see food
and use their problem solving strategy which they have developed during their evolution.

Pradeep Soundararajan said...

@Markus,

Thanks for considering to post the comment again.

This post is not about ants that develop new skills to solve their problems BUT is about ants who do not spend time bothering in what form the food is and will they be able to eat it or not - who finally break down the food or find a quick work around as compared to human testers who complain about the form or complexity of the product.

I hope I have helped you get it right now?

Anonymous said...

You helped me in understanding your point, and I'm with you to some extent.

Nevertheless, I don't think human beings can make a decision by guts once they realize the complexity of a system - which will be within seconds or minutes if we talk about highly skilled personel.

On the other side you have ants acting by instinct leaving feelings and thinking, i.e. realizing complexity aside.

Sometimes we really should "just do it" (thank you Nike) but acting against a well thought ought strategy of reducing risk is hard because you can't switch of thinking.

Anonymous said...

Hi Marcus, don't focus on the Ants, but the meaning that the author try to bring. your point of view is different, i guess you have wrong focus, you shoudl focus on the real problem in your tests.
Cheers.

Pradeep Soundararajan said...

@Anonymous,

Yes, Markus did have some challenge understanding it but the good thing about the blog is the comment section that helped him understand, a little later.

All fine.


Thanks for spending your time.

Anonymous said...

It really took some time :)

As an addition I will post the email I sent to Pradeep yesterday. He encouraged me to also present it here.

-----

Hi Pradeep,
as you might remember a few months ago we had some discussion about your "testing ants" experiment which I didn't think was an appropriate comparisson to the work of testers.

Now I must say the approach itself works.

I'm almost through David Allen's "Getting things done" and want to get started on its implementation. The main problem I see is "How can I implement all this stuff now that I'm abroad with only a rough timeline on when I'll be back in Germany? Setting up a big filing system is no option, creating baskets at the appartment and at work either, and without that
the rest doesn't make sense. 'Tickler' file, no chance."

But then I realised that I had already started taking the first, and most easy to use advise: Clear the email inbox. I had taken the first thing I saw that I could manage and got it done. Yesterday evening I did another step which could be done without creating piles of paper: I collected my "mental open loops".

If you haven't done already you might want to look at David's book, since it is about picking the right thing todo at the right time and being confident with the decision made.

-----

Pradeep Soundararajan said...

@Markus,

It is so inspiring to read your comment. A wonderful demonstration of unlearning and learning I have witnessed.

Thank you Markus, for your experiments, passion, interest and the time you took to comment and e-mail!