Tuesday, May 13, 2014

RAM_CPU_Internet Connection_Problem



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