Thursday, May 18, 2006

My new role

"Never judge a work of art by its defects." ~ Washington Allston.

My sister loves to paint since her early childhood days. In the days when we both stayed at home, whenever she painted a picture, I was usually the first critic. She used to bring the beautifully painted picture to me for my opinion.

She: How much will you give this on a scale of ten?
I: Probably six (The painting was probably worth nine).
She: I’ll beat you up!
I: Ah… then probably seven.
She: Nooooooooo… What’s wrong with it?
I: Oh…now you see, this eye is a bit smaller than that one, and again, the hands are a bit longer than they should be. This mountain is a bit too steep, the trees are too small, the windows are too high, and so on, and so forth…

She’d force me to give a nine and leave. Some time later, she came up with the quote at the top of this post. And after thinking about that line for some time, I had to agree that it was exactly what I had been doing. Since then, I have tried to change my viewpoint.

But now it’s my job. I have been made a software tester.

For those who don’t know, the formal definition of software testing is, “The process of executing a software with the intention of finding bugs.” The developer makes a program, and I have to find flaws (bugs) in it so that they can be corrected. By definition, “A successful test is one where a bug is uncovered”. A tester’s job is as important as a developer’s job, if not more. But I don’t want to do this work.

And why don’t I want to do this work? Is it because I don’t like it? Not at all! On the contrary, I don’t want to do this work because I’m afraid I might like it.

Programmers and testers are supposed to be two totally different kinds of people. The former group believes things will work as expected, the latter group believes they won’t. the former group aims at creating a system, the latter group aims at destroying it.

The former group is where I want to be, the latter group is where I have been put.

Over the last few days, my whole outlook towards things has changed. I have been looking at things to find flaws. Since yesterday three of my friends have sent me links to their blogs, and I was surprised to find that I actually mailed back a list of mistakes to them.

Imagine looking at the Mona Lisa and only seeing its imperfections. Imagine going to watch a Chaplin or Ray classic and making a list of goof-ups. At a party, when you find nothing wrong about the excellent food, imagine saying, “Another couple of days and this fish would have turned bad*.” Would you ever be able to enjoy anything in life if you started behaving like that? I wouldn’t.

As a person I’m more comfortable with creating things. I like to make things work. I want to cry out “Eureka!” when a program works, not when a program crashes. That is precisely why I don’t want to do testing (though my tester friend Bhavana keeps motivating me from Bangalore, and even sends me links). Testing may be good work, but it's something which I feel changes people. I don’t want to change myself.

And I already see it happening. I am getting a sadistic pleasure by finding mistakes in the beautiful documents our development team has prepared. Earlier probably I would be interested to know the program design, but not anymore. I only want it to get ready so that I can break it down. I no longer appreciate the developers’ work. I only appreciate the look on their faces when I point out their mistakes to them.

Somebody take me out of here please, I’m afraid I’m starting to like my job.


*
This is an old Bengali joke.

14 comments:

  1. nice dude..

    Last day you tested my blog too very strictly...

    If something happens, happens for good..be patient to wait for the results.

    ;-) you may be hired by Microsofyt as Chief Excecutive Tester(CET).

    ReplyDelete
  2. @abhijit: The following bugs were encountered in your comment:
    1. N should be capital in 1st line
    2. Y should be capital in 2nd last line
    3. Spelling of "Microsoft" is wrong
    4. Spelling of "Executive" is wrong

    Otherwise it was a nice comment... I don't want to be CET even for MS, but thanks for your wishes anyway. ;-)

    ReplyDelete
  3. hi,

    Tester Tested ! that's me , btw who is bhavana who is making an attempt to motivate you through my blog.

    My best wishes to you to become a wonderful developer.

    Regards,

    Pradeep Soundararajan

    ReplyDelete
  4. @pradeep soundararajan: Thanks for visiting my blog and commenting... I'm a big admirer of your blog, although I don't want to be a tester.
    Bhavana is my online friend who lives in Bangalore. She is a tester, and a very good one, I must say, because she has won awards for her work. And to a large extent, her brainwashing is responsible for whatever love I have developed for testing.
    And thanks for your wishes!

    ReplyDelete
  5. A very astute post, JF. But think of it this way: only when you've tested 999,999 botched lines of code can you write the millionth botched line of code yourself :))

    BTW, I believe testing and reading code does make better programmers.

    (Off-topic: I read your post on the rickshaw guy. You are right - we have so much to be grateful for.)

    ReplyDelete
  6. tahole bhebe dyakh bhobishyote koto testerke tui tader saddistic pleasure theke bonchito korbi...i mean once you become a developer...

    ReplyDelete
  7. convey my regards to bhavana then :D , i would be interested to read some posts based on dev out here.

    ReplyDelete
  8. i seem to be the opposite, have an aversion to criticise, which is also not very wise... though it maybe blamed safely on my over the top critical PhD advisor. Am slowly getting into the real world again, and learning that not all criticism is bad :)

    ReplyDelete
  9. @km: What you feel is perfectly OK. Testing does make better programmers, and testing 999,999 lines of code makes us capable of writing the millionth line. But the catch is, here in the industry, when a fresher has tested 999,999 lines of code, he is a tester, and it becomes very hard for him to get even a single line of code-writing work.

    @dipasoke: He he... let's hope I do...!

    @pradeep soundararajan: Regards conveyed. As for a post on development, here's one touching the subject. I'll write a more detailed one probably sometime later.

    @bidi-k: Actually I also don't want to criticise. I want to be part of the discussions to develop a new solution for a problem. That requires innovation. Testing (although sometimes it too requires innovation) is more or less similar for most projects.
    All criticism is not bad. But having to criticise everything all the time is a bad job, according to me.

    ReplyDelete
  10. well....new role influencing ur personality!great!but i guess u must restore ur balance if u feel ur creativity is at stake....just like u change ur formal clothes and get into ur night suit when u get to bed...u shred the role of a tester and be the "sweet guy next door" once u r home....be yourself!ur friends love u for that!!

    ReplyDelete
  11. Hi Joy,welcome to the world of S/W testing.One of my clients once said to me that a software can run correctly in only one way but can fail in a thousand or more ways.My experience has been that 60% of any good SDLC should be devoted to testing.Devising the testing strategies is the most critical tasks and most of the investment banks where codes are directly related to money have a separate QA lab in their IT shop.
    Hope this makes you feel better.

    ReplyDelete
  12. !offtopic! You should look at the face of my TM when he sees the final application. He is not concerned about the functionality that we have put so laboriously, rather he would say "just make sure it does not crash" and "testing hua na?" !/offtopic!

    Well, both development and testing are important to a project, but my personal opinion is that testing requires a much more experience and dedication than development, and i believe that the biggest blunder that the Indian IT firms do is that they trust the poor rookies with most of it. In my project, I had a tough time explaining the tester what all he is supposed to do ;)

    When you say you want to feel the "eureka" after you develop something, i can so relate with you. I learnt a lot from my project, and a lot of eureka's later, i kinda also started fearing that they might put me to testing after my job here is done. Well, true, depends on person to person. :)

    Cheers!!!

    PS: Very nicely written sugata, might sound rude, but i was more mesmerized by the artistic point of view :D

    ReplyDelete
  13. hmm..tester well as monami says itz ok to be one when it is required but when not..a friendly,understanding nd caring person is probably d most cherishd one ever!!

    ReplyDelete
  14. @monami and kadambari: I try my best to do that...

    @bishu: All that is fine. But you know, usually a tester remains a tester in the industry. That's where my problem is. I hate to think that I might have to do this job whole life...

    @rohit mahajan: Thanks... Once you work in some good development project, you get to apply your creativity a lot. But as I said, testing is more or less same for most projects...
    And yes, I do think programming is an art.

    ReplyDelete