So, I write this topic to share with you guys some
problems we often faced with it when executing automation testing. All of them
are my opinions, and it may not all right. So, I hope I will receive feedback
from you to improve this topic.
Sometime, when I’m working with automation testing,
my running machine often dyes or acts slowly. And those problems are caused my
performance slowly. After researching, investigating and watching, I find out
some of reasons as bellows:
I.
RAM
issues
a) Caused
-
Application you have tested that have
not good garbage collection in their code.
-
When command line/tools/application
sends out a message that handled web actions (such as navigate to some urls)
and threads that handled this message was stuck at queue, so they was timeout.
At this time, another thread killed assigned browsers (timeout, killed by
hand…), and then this message will be assigned to default browser. After many
time of failure like that, the opened tabs will be uncountable => dump ram.
b) Impact
-
Dump ram will make your automation test
stop immediately. This means, if you forget to check status of running machine,
you will receive no result.
c) Possible
solutions
-
Closed all programs unnecessary.
-
Take care of running status or machine
status carefully.
II.
CPU
issues
a) Caused
-
Too many programs/services run at the
same time.
-
Remote
desktop issue: you have to share some of your CPU
resource for remote desktop.
-
Running
machine is a virtual machine, means they will be
affected by main PC’s performance.
b) Impact
-
We will have to spend more time for
running scripts on those machines.
-
Some time, it will cause deadlock.
c) Possible
solutions
-
Close all unnecessary
applications/services.
-
Give virtual machine more resources.
-
After start jobs on remote machine, turn
off your remote.
III.
Internet
connectivity issues
a) Caused
-
One machine is given a limit bandwidth
for network. This means, if this machine is remote to server, it will have to
share some of its bandwidth for remote tasks.
-
With each program that request access to
network (Such as youtube loading, torrent…), it will need some bandwidths. So,
the bandwidth for this machine will be also reduced.
-
Some of antivirus (AV) software often
cause and contribute to internet connectivity issues, especially when this
program was not configured correctly. More than, when data transferred from
server want to come to local, they have to go through a lot of AV Program’s
shields.
b) Impact
-
Some steps of test cases will be
timeout.
-
Time for execute test cases will
increased => reduce performance.
c) Possible
Solutions
-
Carefully choosing and configuring any
anti-virus program you want to install.
-
Remove/stop any unnecessary application
that directly uses bandwidth resources.
-
Increase timeout for each steps in test cases
=> this is a trade-off option.
-
After start jobs on remote machine, turn
off your remote.
HoaLe
HoaLe