10 Tips you should read before automating your testing workwhen to automate, how to automate or should we automate our testing work? 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.
|