Tuesday, May 15, 2007

Test Automation Realities

Ever Wondered why software Test Automation Fails

This is my First ever Blog on the internet and this happened just because of the person who i respect a lot and have learnt a lot of things from him. His name is Shrini, and he hired me at Aditi Technologies from where i started this career of Software Testing 4 years ago. Shrini as i know is a great follower of in depth learning about Software Testing and i have learnt a lot from him.

The views presented in the article below are completely mine and their might be people who do not fully agree to them. I am open for any comments for my views so that we can together make Software Testing better.
I know we all who are involved in this Software Testing world would have encountered sometimes in our Life a little bit of Test Automation using Testing tools. I would like to ask a question, what are the responsibilities of a Software Test Automation engineer?
The answer which i generally get is he/she should be able to automate the application after all that's what pretty simply is the definition about.

I have came across lots of people who will just be doing record and play back using the Test tools and do you feel they deserve to be called automation engineers? A straight answer is NO...

Well Test automation is not about recording and replaying the actions to see if something has broken. It is much more than that in fact and required lots of experience and skills to become a effective Automation engineer. The most important of which is to learn first what automation testing is all about and then rest all will fall in right place.

Do you find new bugs using Automation?

Their might be different views for this, but the truth is that Automation can never find new bugs.
It is always the same functionality and same scripts which you will be running usually called regression testing where you might say that this particular functionality which was working earlier is not working now but you cannot say that a new bug has been introduced because you simply don't have an automation script for that.

How Automation should be done then?

Software Test automation for most of the testers today is just a phrase. They don't really understand the meaning of it and just start jumping into it. To take an example in India we have these training institutes which i call money making shops which can be found at every nook and corner of the streets. But the reality comes when you actually join them. You find that there are no computers, no teaching faculty which is good enough. These shops do so many promises to you that we get lured by them, and yo here comes the easiest prey for them (The Fresher). A fresher who has just passed out from college who does not know ABC of Software Testing jumping into Software Automation...can you believe this? The shops charge heavy amount of money and provide with Placement guarantees at the end of the course...Heights..isnn't it....? If getting a Job was so easy then why do we in India have so many unemployed people still....A thing to ponder upon....

This happens because he has heard that get some knowledge about Software testing, learn 1 or 2 automation test tools which will add a Buzzword to your resume and then their are these so called recruiters who will do a CTRL F on the resumes to just find words like "Automation" and some famous automation tools and wow you have got an interview call. Now if you are smart enough then you can fake out the Interviewer and you are in....Look pretty simple...And the fact is that yes we have so many automation engineers today in so many comapnies but i would say that a person does not becomes an Automation Engineer just merely by working on a Tool and doing some scripting in that.

I still feel bad that people don't really understand the real meaning of Automation Testing. For most of them its just record and replay to test the application. If you want to be a good automation engineer then i would say do the following:

1. Spend some time to actually learn Software test automation and how is it different from normal testing.

2. Have your concepts and logic very clear so that given a programming language you can easily convert your logic and apply them in that language.

3. Learn a scripting language like Vb Script, Java Script as most of the Test Automation tools revolve around scripting.

4. Read good books on Software Test Automation, read articles by great personalities in Software Testing.

Only when you feel that you have done all what is mentioned above you should think of working on a Test Automation tool. To emphasise once again i would say that Automation tool is just a medium to achieve your goal. Their are thousands of people who call themselves automation test engineers and Good Test Automation Engineers are very few. To find them is also very difficult.

Don't be lost in this huge crowd of automation engineers, stand apart so that the world knows you. Browse the net and read interesting articles on Software Automation. Their is so much to learn and so less time. Don't waste time and prove your worth to this world. You are capable of doing it, it just needs a change in your attitude, your thinking and you can be a better Tester.

To be a Good tester you should have an attitude and most important you should be a better thinker.....Testing cannot be taught, it just comes out as a result from better thinking...



Ramya said...

Hi Madhukar,
I completely agree with you.We need to have lot many Madhukar's to make this testing world a better place to work.


Debasis Pradhan said...

Hi Madhukar,

Good Post. I am Debasis, a Self-Certified Passionate Tester. You may want to visit my blog here. Here I share my realtime experiences as a tester. Hope you like it.


Anonymous said...

Hi Madhukar,
I was never intrested in testing. But after reading your blogs I really wanted to learn about software testing.It is really informatory.