10 Tips you should read before automating your testing work

I was getting too many questions on when and how to automate testing process. Instead of answering them individually I thought it would be better to have some discussion here. I will put my thoughts about when to automate, how to automate or should we automate our testing work? I know there some of our readers are smarter than me. So it would be always a good idea to start a meaningful discussion on such vast topic to get in-depth idea and thoughts from experts from different areas and their experience in automation testing.

Why Automation testing?
1) You have some new releases and bug fixes in working module. So how will you ensure that the new bug fixes have not introduced any new bug in previous working functionality? You need to test the previous functionality also. So will you test manually all the module functionality every time you have some bug fixes or new functionality addition? Well you might do it manually but then you are not doing testing effectively. Effective in terms of company cost, resources, Time etc. Here comes need of Automation.
- So automate your testing procedure when you have lot of regression work.

2) You are testing a web application where there might be thousands of users interacting with your application simultaneously. How will you test such a web application? How will you create those many users manually and simultaneously? Well very difficult task if done manually.
- Automate your load testing work for creating virtual users to check load capacity of your application.

3) You are testing application where code is changing frequently. You have almost same GUI but functional changes are more so testing rework is more.
- Automate your testing work when your GUI is almost frozen but you have lot of frequently functional changes.

What are the Risks associated in Automation Testing?
There are some distinct situations where you can think of automating your testing work. I have covered some risks of automation testing here. If you have taken decision of automation or are going to take sooner then think of following scenarios first.

1) Do you have skilled resources?
For automation you need to have persons having some programming knowledge. Think of your resources. Do they have sufficient programming knowledge for automation testing? If not do they have technical capabilities or programming background that they can easily adapt to the new technologies? Are you going to invest money to build a good automation team? If your answer is yes then only think to automate your work.

2) Initial cost for Automation is very high:
I agree that manual testing has too much cost associated to hire skilled manual testers. And if you are thinking automation will be the solution for you, Think twice. Automation cost is too high for initial setup i.e. cost associated to automation tool purchase, training and maintenance of test scripts is very high.
There are many unsatisfied customers regretting on their decision to automate their work. If you are spending too much and getting merely some good looking testing tools and some basic automation scripts then what is the use of automation?

3) Do not think to automate your UI if it is not fixed:
Beware before automating user interface. If user interface is changing extensively, cost associated with script maintenance will be very high. Basic UI automation is sufficient in such cases.

4) Is your application is stable enough to automate further testing work?
It would be bad idea to automate testing work in early development cycle (Unless it is agile environment). Script maintenance cost will be very high in such cases.

5) Are you thinking of 100% automation?
Please stop dreaming. You cannot 100% automate your testing work. Certainly you have areas like performance testing, regression testing, load/stress testing where you can have chance of reaching near to 100% automation. Areas like User interface, documentation, installation, compatibility and recovery where testing must be done manually.

6) Do not automate tests that run once:
Identify application areas and test cases that might be running once and not included in regression. Avoid automating such modules or test cases.

7) Will your automation suite be having long lifetime?
Every automation script suite should have enough life time that its building cost should be definitely less than that of manual execution cost. This is bit difficult to analyze the effective cost of each automation script suite. Approximately your automation suite should be used or run at least 15 to 20 times for separate builds (General assumption. depends on specific application complexity) to have good ROI.

Here is the conclusion:

Automation testing is the best way to accomplish most of the testing goals and effective use of resources and time. But you should be cautious before choosing the automation tool. Be sure to have skilled staff before deciding to automate your testing work. Otherwise your tool will remain on the shelf giving you no ROI. Handing over the expensive automation tools to unskilled staff will lead to frustration. Before purchasing the automation tools make sure that tool is a best fit to your requirements. You cannot have the tool that will 100% match with your requirements. So find out the limitations of the tool that is best match with your requirements and then use manual testing techniques to overcome those testing tool limitations. Open source tool is also a good option to start with automation. To know more on choosing automation tools read my previous posts here and here.

Instead of relying 100% on either manual or automation use the best combination of manual and automation testing. This is the best solution (I think) for every project. Automation suite will not find all the bugs and cannot be a replacement for real testers. Ad-hoc testing is also necessary in many cases.

Over to you. I would like to here your experience about automation testing. Any practical experience will always be helpful for our readers.




Related Posts:

  • Software Testing Help: Best software testing articles of 2007
  • Manual and Automation testing Challenges
  • Best software testing articles of 2008
  • Software Testing Advice for Novice Testers
  • How to find a bug in application? Tips and Tricks
  • 58 comments ↓

    #1 Krupa on 10.27.07 at 12:45 pm

    I think Vijay is right. Automation testing is used in regression, performance and in load/stress testing. My opinion is before automating any feature of your application, the staff should have good knowledge of their application. Other point is automation test script should get updated when there is any changed in the functionality.

    #2 sailasri on 10.29.07 at 5:49 am

    Yes i agree with the point ,Instead of relying 100% on either manual or automation use the best combination of manual and automation testing

    #3 Faizal on 10.29.07 at 6:32 am

    That is really a good analysis, particularly all the risks u mentioned in Automation are really woth to consider before automation work.
    Last week my boss asked me to have some RnD on automation tools and he told me to come up with some feasible tools.
    It’s great that I found this article and now I will study my project according to all the mentioned risks to see how can I have my project work automated.
    Thanks for the great advice again.

    #4 Vikas on 10.29.07 at 6:53 am

    Its really a good discussion!!
    Right now i m involved in manual only……so its a good way to start & have knowledge of automation testg….which i m going 2 encounter shortly….
    Thank$ a lot man for all this
    :-)

    #5 Automation testing: What you should know before starting? Must read - SURESHKUMAR.NET FORUMS on 10.29.07 at 9:14 am

    […] work. Must read if you are doing manual testing and thinking to automate your testing work. Tips to start with Automation testing All you need to consider is: Resources? Initial cost? UI automation 100% automation possible? […]

    #6 Rajneesh on 10.29.07 at 4:30 pm

    Hi,

    This is very good!

    I am a software developer having experience of 4 years, and now I have just got interest towards testing.

    Most of the companies don’t try to analysis between manual and automation testing, at what level they require and end up spending more money than ROI……

    It’s the responsibility of test engineer to put some view over that what percentage it requires manual and what percentage it require automation and do the best practice in view of the power/ capability of the testing tool.

    We can make this discussion more focused, if we discuss some perfect percentage of stats involved in manual / automation testing.

    Thanks
    Gera

    #7 Debasis Pradhan on 10.31.07 at 8:08 am

    I have just one point to share! I don’t say if we should or should not adopt test automation! But we should be aware of the Test Automation Traps before jumping into automation! Adopting automation, simply because every one around us is adopting it might prove fatal for the health of the project!

    -Debasis

    #8 sridevi on 11.03.07 at 7:09 am

    Hi,

    I am working as a manual tester in a company since one year,actually I want to know about manual test case templete.in manual testing what are the steps we should follow. We are writing bug report in a excel sheet and maintain the power point to rectify reports. Our domain is medical insurance policies.
    Thanks & Regards.
    sridevi

    #9 bindu on 11.22.07 at 5:57 am

    hello vijay,
    you are giving very clear idea abt each and every topic of testing at the same time can u tell me qtp faqs
    website so that i can attend interview on qtp as i am working as manual tester.

    #10 tulasiram on 11.23.07 at 11:20 am

    hello
    this is very good information abt the automation of the tool . we are writing the test case on automobile compay in excel sheet .

    #11 raghava on 11.26.07 at 1:03 pm

    Hai vijay , i am not agreeing u r answer. This is the also one reason but it s not giving total picture in my view there are so many reasons to go to automation tool. Just for understanding i can give one example : In the Mainframe applications we use lots of millions of records we can test as testdata . So in this case in manual testing it’s less scope to found the bugs. So in this case we use Aumation Tool for efficitive testing and Quality. if any concers let me know. Meanwhile u r answer is also good. Thx.

    #12 Veni on 11.28.07 at 1:38 pm

    Hi,
    This is Veni.Vijay,u r giving very clear information.its good.Iam working in company since 6 months as a test engineer.Please tell me about Database testing.Its compulsary for me

    #13 Varsha on 12.17.07 at 7:30 am

    Hi Vijay

    You have given some very good points to ponder before going for automation. My company is going to automate the testing work soon. We are looking at open source tools like selenium & canoo webtest.
    Can u suggest some good links where I can get more info on these tools? Also pls suggest any other good open source tools for functional testing from your experience. Our domain is business performance management. Thanks.

    #14 Gatari Mishra on 12.20.07 at 11:39 am

    Can sumbody please tell me the process of reporting bug in QTP… , I am a new user so please help me out..

    Regards

    Gayatri

    #15 Ashwin Channe on 12.26.07 at 10:25 am

    Can anybody expalin about “Different Types of Metrics”

    #16 Arun on 01.05.08 at 11:33 am

    Hi vijay
    Well really ur explaination well statisfie me. then i want to know how to implement the automation testing when our software designed by Third party tools,For example if the s/w developed in .net but the grids are designed by Far Point then hoe can to identify the records in that grids . its very importan doubt for me.

    #17 Purvi on 02.04.08 at 12:01 pm

    hi all,
    can you please tell me how automation testing can be done? Do we need to have some software for it?

    #18 shridhar on 02.05.08 at 11:16 am

    hi,
    I would like to know more abt manual testing & need few templates for test cases & bug report

    #19 shiva on 02.05.08 at 4:22 pm

    do they write test case for automated testing??..plz mail me this answer or post it

    #20 Krishna on 02.08.08 at 6:26 am

    Nice and very informative article.

    #21 Manan on 02.10.08 at 5:43 pm

    Good Analysis. Only one point I would like to defer is that even though GUI is not fixed (But you have rough idea), you can go ahead and automate if functionality is fixed. But if you are carrying out functional testing and are trying to automate when functionality itself is not fixed then effort in maintaining the script might increase.

    #22 Surya on 02.13.08 at 7:58 am

    Hi all, Good analysis. we write test cases for automation, right, first write for smoke test(major functionality),secondly for functionality and regression so, my doubt is that these testcases consist of +ve,_ve,gui,database or we write seperately?

    #23 Mandeep $ Naveen on 02.26.08 at 8:29 am

    This has added up in ma knowledge. This information is very fruitful to us. I gained lot of things from this. Prior to this what I was thinking that Automation is the most important aspect in testing. I paid no attention to manual one. but Manual has its own importance in its own aspects.
    I like this line very much “Instead of relying 100% on either manual or automation use the best combination of manual and automation testing. This is the best solution (I think) for every project. Automation suite will not find all the bugs and cannot be a replacement for real testers. Ad-hoc testing is also necessary in many cases.”

    #24 Anish Bindal on 03.12.08 at 6:47 am

    In addition to points mentioned above, I believe we can follow some other ways to automate applicaitons where UI changes, complexity are often changinf instead of waiting to get it completely fixed. This results in close deadline of the product and we never automate. Keyword based automation is the fastest way I came across for such cases. Control information is outside the scripts and small scripting can help you to update it everytime in just couple of minutes.

    #25 vasant kumar on 03.24.08 at 9:18 am

    The info given is very productive Pls let me know about Automation testing in detail(ie; scripting purpose in QTP,Loadrunner,Silk & Rationale) what languages do u need to know to automate test cases….. thank u

    #26 Surya on 03.25.08 at 3:29 pm

    nice, Hi all, Good analysis. we write test cases for automation, right, first write for smoke test(major functionality),secondly for functionality and regression so, my doubt is that these testcases consist of +ve,_ve,gui,database or we write seperately?

    #27 Vishal Chhaperia on 03.28.08 at 7:02 am

    Hi Vijay,

    can you pls tell me what does ROI stands for??

    email: bishalchaperia@gmail.com

    #28 CHRR on 04.04.08 at 10:28 am

    what is automation test plan template

    #29 CHRR on 04.04.08 at 10:29 am

    how to write automation test cases from FRS docs

    #30 Rahul on 04.04.08 at 10:31 am

    @Vishal Chhaperia
    ROI–Return On Investment

    #31 Vishal Chhaperia on 04.04.08 at 11:23 am

    Thanks Rahul…………

    Call : 9830704327

    mail : bishalchaperia@gmail.com

    #32 Manual and Automation testing Challenges on 04.04.08 at 12:26 pm

    […] Automation testing: Many sub challenges - Should automate the testing work? Till what level automation should be done? […]

    #33 CHRR on 04.08.08 at 5:02 am

    diff betwen automation and manual test case template?

    #34 Sanjay on 04.14.08 at 1:23 pm

    how we will differenciate defect,bug and error ,its a genuan for interview.
    with warm regards
    sanjay bahttnagar

    #35 Sanjay on 04.14.08 at 1:43 pm

    Hi to all,
    can u plz tell me, what is ROI

    #36 Ryan on 04.14.08 at 5:59 pm

    Sanjay, that was answered above by Rahul.

    ROI = Return on Investment.

    The ratio of the cost savings achieved relative to the investment, in the form of time and resources dedicated to undertaking such a task.

    #37 chssekharrao on 04.20.08 at 2:09 am

    Can sumbody please tell me the process of reporting bug in QTP… , I am a new user so please help me out..

    do they write test case for automated testing??..plz mail me this answer or post it

    #38 Greg McNelly on 05.06.08 at 3:04 pm

    Functional testing of services is another area where you may realistically automate 100% of your tests, because you do not have the number or complexity of issues that you may have with a GUI.

    Over the past few years, I have become more appreciative of the value of test automation that goes beyond regression testing. Automating tests forces a more detailed analysis and understanding of the system under test; you help prove your understanding of the system by automating it. Automation also improves the behavior of the development team; they tend to test more and earlier if the automated tests are made available to them.

    Having programming skills within your testing group and having a good, well-defined testing process will protect you from test automation traps.

    #39 balaji on 05.13.08 at 12:47 pm

    hi good explanation but i need more about QTP can any one help me out

    #40 dsreddy on 05.17.08 at 10:12 am

    HI,
    THIS SITE IS TOO GOOD FOR TESTERS

    #41 Vijay on 05.21.08 at 2:48 pm

    I am also interested in the field of Software Testing, please guide me from your side & provide suggestions for switching my Networking domain to Testing domain…

    #42 Saurabh on 06.03.08 at 9:49 am

    Very Good infact Excellent.

    We cannot have 100% automated website or project. Some manual efforts are very neccesary.

    Tools are important but Manual testers with some Knowledge of code is also equally important in this scenario.

    I am a software tester from the last 14 months (previously i was in coding line but switched to testing line) and i have a good knowledge of QTP9.2 but i realy more on Manual testing at initial stage and in final stage. In middle i use tools for my satisfaction.

    If u have any question mail to me i will do my best to answer you.

    #43 Preety on 06.11.08 at 6:59 am

    Hi All,
    Hope you all are doing fine
    Can anyone of you help me out in converting the QTP generated Test results into HTML.

    Thanks

    #44 Anil on 06.13.08 at 5:47 am

    We want to automate the regression testing process for a website where there many links similar to a storage management,what tools you would suggest?

    #45 Sachin on 06.18.08 at 8:57 am

    Excellent Work
    Really important to think over all issues before automating our modules.
    It helped lot.

    #46 Aravind Sudam on 07.17.08 at 1:36 am

    Excellent post. It gives indepth idea for all the new testers about automation. Good Work

    #47 chetana on 08.01.08 at 3:55 am

    there is a web application which dosent have much user actions.its a HR related application which gives information about different pollicies in US.is it good to automate such kind of applications?

    #48 Arul on 08.26.08 at 3:55 am

    which testing best for releasing bug free application (automation are manual testing )

    #49 rahul on 08.26.08 at 5:37 am

    @Arul
    u r diverting urself..each testing has its own life in testing cycle..
    in the initial phase there in no meaning for Automation testing at all..its only manual and manual..
    and suppose there is only one version(release ) of a software then again automation doesnot play any role..
    its all depands on s.w..
    is it clear..for more info ping me back
    rahulkumarbangalore@yahoo.co.in

    #50 rahul on 08.26.08 at 5:38 am

    @Chetana..
    i have answered for Arul..same applicable to u..

    #51 rahul on 08.26.08 at 5:40 am

    @balaji
    please use ankur jain blog for QTP..its best

    #52 Madhuri on 09.15.08 at 5:24 am

    Hi Vijay,

    Please give more information about Silk Test tool

    #53 Venkat on 09.17.08 at 6:54 am

    hey very useful points are discussed here..
    but cam i know what is the difference between defects,bugs and errors..

    Thank you
    Venkat

    #54 Deepesh on 03.02.09 at 11:10 am

    Hi,

    I am looking for a open source Functionality Testing Tool for Windows based applciation, can any one please help me in this.

    Regards,
    Deepesh

    #55 Jayaprada on 03.03.09 at 4:51 pm

    I want to do certification in Software testing, can someone guide me @ the same.

    Regards,
    Jayaprada

    #56 Rahul on 03.05.09 at 1:36 pm

    @Jayaprada
    go for ISTqb if 1-3
    go for cste if >3 yrs of exp..
    gud lck

    #57 Rahul on 03.05.09 at 1:38 pm

    Deepesh
    pls use google will u find lots of freeware for functional tool..but no guarantee when it will crash and no support as well if u face any implication..
    so plan n choose..
    happy googling dude

    #58 Saroj Patnaik on 04.10.09 at 9:22 am

    It would be bad idea to automate testing work in early development cycle (Unless it is agile environment). Can anybody explain it in a detailed manner. specially the sentence “Unless it is agile environment”.

    Leave a Comment