"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.

Saturday, May 12, 2007

Developers Developed by Tester Tested

I was testing a product last year in a capacity where the development team was just a floor away from me. Initially, I found so many crashes during the first few releases and there were crashes that I could find even after a couple of months and that's bad ( may not be too).

I take the credit of making those developers to do a better unit testing. I did not do that just by finding bugs but did a few things that I'd like to list for you:

1. Festivals and realizations:

One day, I went to the developers with a print out of heuristics and test data that I have been using to find crashes that made them sit and fix bugs, during festival season. It's painful to sit in office and work when the whole nation is celebrating. This psychologically affects them and in my opinion, developers need our help to enjoy festivals and weekends.

So by giving them my customized cheat sheet, I made them aware of those tests that have made them work during festivals. I did not say anything more than that during that meet. Some changes are set to happen by it self, all it needs is a trigger and I provided it.

Outcome:

1.a. Developers used my cheat sheet for unit testing.

1.b. I forced myself to think of more test ideas to find more important problems, quickly.

1.c. It became easy for me to ask the developers, "please send me your unit test results".

1.d. One of them told, "I am using this sheet because I want to enjoy my holidays and not that I want to do unit testing". Whatever is the reason, I am happy that they are doing!

1.e. The unit test results they produce, gave me new ideas.

2. Two to tango:

I frequently consulted other teams during "critical moments" ( as they call ) that they faced. I once had to pair with a developer for a testing activity.

It was a little gimmick that I played with him that got him thinking of doing unit testing better than before. All I did is to say, "Hey, you better close your eyes and don't see what I am doing. I would do some little tricks that testers usually do to find some important problems. If you are careful and observant, testers like me might not be able to find bugs in your code".

Outcome:

2.a. Had I continued without that gimmick, he might not have opened himself for a careful observation of the kind of tests that I did as any other developer to my knowledge doesn't carefully observe a tester at work.

2.b. He unit tested and then said to me one day, "Pradeep, you shouldn't have showed me the tricks. Now my testers are facing a tough time to look for those crashes that they usually find in my code". I just had a smile in my face. I was convinced that he didn't understand what was running in my mind but that's fine with me.

2.c. Maybe the testers of his team might have come out with more test ideas than to look for the same crash that they are accustomed to. Well, I admit I don't know about that but it's my guess.

3. Patterns and structure of crimes:

Sherlock Holmes, as many of you might know still lives in Bakers Street providing inspiration to testers like
( not a great tester ) me , Robert Sabourin (great tester) and many other great testers, observes patterns and structure of people whom he suspect to be criminals and tracks down the criminal based on the pattern and structure of crime.

I observe a pattern and structure through the bugs that arise from a developer's code. It has helped to build my intuition and hence when I get a release with changes made by a specific developer, I look for those patterns and structure, which has been handy sometimes to find important problems, rapidly.

I felt it's a good idea to inform the developer, my observation about the pattern and structure of the bugs that arises of his code and did it in a polite way ( developers aren't criminals, remember).

Outcome:

3.a. He said, "Thank you! I now know where to work on and develop my development skills."

3.b. Our relationship got stronger.

3.c. I am convinced that good testers can help developers to develop their development skills.
(For those developers looking at this post, I hope you got a reason why you should lend your hand when we want to shake hand with you, for your own benefit. We love shaking hands with anyone who could help us better our testing and you are important to us)

Meta cognition helps me develop my testing skills and testing activity and I am happy that it helped others too.


-- Pradeep Soundararajan - pradeep.srajan@gmail.com - +91-98451-76817

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

6 comments:

Venkat Reddy said...

Pradeep,

Yet another creative post.

I liked the Patterns and Structure of crimes section.

Each developer has his / her own bug patterns & It's good to compile them when we are working closely with them.

They might miss on
1. Usabity Aspects
2. Input & Output Validations
3. Boundary Values
4. Handling Null Values

The list can go on ...

Pradeep Soundararajan said...

@Venkat,

Thanks. I'd suggest a tester to take notes of the patterns they observe or think that developers have.

It's important to take notes since only those testers who take notes, know the power of notes AND I know it's importance.

I am not sure why I have seen EOF crashes with almost all developers that I worked with when testing media players during their initial development phases.

My notes come handy, to find such important problems quickly.

viv said...

hello pradeep this post is amazing stuff. know wat i have startd to look into bug tracking system ( Bugzilla ) of my project and looking for the kind of bugs and the developers to whom developed it.

i am doing some creative work and enjoying thank you very much

Pradeep Soundararajan said...

@Viv,

I am happy because I never said, "look into your bug tracking system" but you did it. Maybe there are more ideas you could think of and make me more happy.

Testing is creative by itself, not many realize it. I am happy that you realize it.

Anonymous said...

this is cool one pradeep. I am happy to have readint this blog and it makes my job wonderful everyday I read something from it.

I would be expecting to meet you someday and talk hours together.

your fan and tester who is building passion

panindra

Pradeep Soundararajan said...

@Panindra,

Thanks a lot for your comment. If you intend to make me happy, you might want to get in touch with me over e-mail too [ pradeep.srajan@gmail.com ]

If you have hit my blog, you might have gone through James Bach, Michael Bolton and may other true experts and I wish you continue reading everyone's blog since everyone have their own knowledge motivation and experiences to share that could make you more passionate.

For instance, I wasn't as passionate as I am today if I hadn't discovered James Bach and then he introduced me to Jerry Weinberg and Michael Bolton and the chain grew.

Mind it, I am still in India!