|
|
Automation
is an
important
aspect of
software
testing.
Testers use
different
tools to
automate
their
testing
activities.
The choice
of tool
would depend
upon the
type of
application
under test.
There are
different
tools
available in
the market
such as
Rational
Robot,
Mercury
Quick Test
Pro ,
TestComplete
and many
more.
Automation
is done to
make a
testers life
easy but
automating
itself is a
challenging
task. There
are many
problems
faced while
automating
an
application
and a tester
has to find
a get around
that
problem.
|
In this section Testing
Geek would give some tips
for automation. These tips
are basically drawn from
personal experiences and are
very helpful in case a
tester is stuck in a similar
situation. Each week Testing
Geek would try to give some
new tip and if you have any
tip which you would like to
share with other then just
drop us a mail at
t e s t i n g g e e k AT g m a i
l DOT c o m
with a brief description
about yourself.
Tip No 1:
Waiting for Long
processing to complete
A common
problem faced while
automating financial applications
or application involving a
lot of processing time is waiting for certain
windows to appear or buttons
to become active after very
long processing operations.
This processing time may vary from 5 min. to 30 min.
Sometimes the automation tool
becomes unresponsive after
such a long intervals. One
such problem was
encountered while automating
an insurance based
application. The processing
time was more than 15
minutes and the tool used
for automation became
unresponsive after 15
minutes. The result was that
tests could not be
completely automated. To
address this issue many options
were available :
-
WaitProperty: It
lets you pause the
script execution until
the specified object
property becomes equal
to the specified value,
or until the specified
timeout is over
- WaitChild
: This functions delays the script
execution for the
specified period of time
or until the specified
object appears.
-
BUT
these tricks did not
work well for longer
processing times such as 30
minutes. So the work
around was to monitor
the CPU usage. Since
this function 'Process.CPUUsage'
will constantly monitor
the CPU and will pause
script execution till
the CPU consumption has
dropped down to zero or
any lower level. This
trick is very effective. Even
after 40 minutes of
processing time I was
able to continue with my
script execution as
intended. Just wait in
the loop until CPU usage
becomes 0.
|