Wednesday, July 15, 2009

The Future of Software Testing!!!@@@##!!!

I saw a poll in on of the internal communities in my organization titled “What is the future of software testing”
In my opinion, It would be of a very brave attempt if someone tries to decipher this “the future of software testing”. The reason why I say this is because in my opinion, we are far to understand “Software Testing”. As a tester community we are still arguing, discussing and trying to understand “What software Testing is all about” and “how are we supposed to go about doing it” and so on.

Because of these obvious reasons (that I’m still trying to understand software testing) it seemed an act of extreme bravery to see some part of tester community trying to judge the future of software testing. Driven by curiosity I read further i.e. the options that were given to testers (I remembered the testing certifications while reading them).

i) Depends on Programming trends
ii) Will more rely on automation testing
iii) Will get harder, more expensive and therefore less efficient
iv) Will always have a future. As long as developers will write code there will be bugs

When I read the first option, I felt that I understood (perhaps felt like understood) that the author is trying to perhaps check the awareness degree or may be with the following options he would try to improve. With this context in mind, I had a choice in my mind, what could be the best answer for this question.

When I went on and completed the list, I was more than disappointed to find that my opinion wasn’t there as an option at all. What made me thwarted further were the rest of the options and some of the responses. But the consolation was the first half of the option iv that there will always have a future

What follows further in the post is my attempt to make awareness about testing.

Depends on Programming trends
Testing was never dependant on programming trends and it never will. Programming trends can have some influence on some of the process that the testers follow to test a software and this is extremely context driven. I wouldn’t say the both are immune of each other. As much information or details as possible on the programming methodologies or trends followed while developing a software will certainly help in figuring out a better testing solution but as a tester I can test a software without any of that information as well.

Will more rely on Automation Testing
“Automation testing” is in my opinion, larger-than-life myth in the software testing. There is a perception that everything in testing can be automated. I wonder what they mean by testing here. Well, this is vast subject hence back to the subject, Automation testing can perhaps cover some stupid-box (Hureeey! I found a new word in the series of black box, white box and so on) testing like activity .

Will get harder, more expensive and therefore less efficient
Well Yes, testing is difficult; from the context of the intelligence that it calls for. No quality-product costs less hence testing can be expensive. Because testing is difficult (contextually) and can be expensive (contextual again) I wonder how in the world it can be less efficient (I am not talking about the stupid box testing here).

Will always have a future. As long as developers will write code there will be bugs
For once I agree but half of the line. Yes, testing will always be there. Not because developers write code (all those who write code are not developers) but it’s the human who does.

[Updated on July 16] As Pradeep says At the end of the Software Life Cycle, what we get is a non-solid, non-liquid basically a form-less thing – A Software. No software runs on its own, which means, it needs another software to run along, to run on. This creases the volatility of the product (Software) ie the volatility gets squared, tripled and so on.

If not for all the above said reasons, because its human brain that creates a software which always in a amoebian form, the testing will exist..


1 comment:

Pradeep Soundararajan said...


At the end of the Software Life Cycle, what we get is a non-solid, non-liquid basically a form-less thing – A Software. No software runs on its own, which means, it needs another software to run along, to run on. This creases the volatility of the product (Software) ie the volatility gets squared, tripled and so on.


It might have been nice if you quoted me for that.