Whether you’re talking about smartphones or tablets, the sales of mobile devices are skyrocketing. While Apple’s iPad and iPhone and Android dominate the news, and sales, there are a huge number of options. By their very nature they’re connected to the web, and use the Internet for much richer applications than just email and web browsing. Everything from games to video is available on these devices, putting a strain on bandwidth and the back end servers that are providing the content.
That makes performance testing very important and companies such as Netflix, Glu, Leapfrog, Capcom and more have come to SOASTA to make sure they can handle the load. So, how do we do it?
When testing any web application, whether browser-based or not, CloudTest captures, replays and reports on every message between the client and the application infrastructure. Unlike other tools, CloudTest’s unique recording does not depend on a browser plug-in to record web traffic, which also limits you to using the browsers for which you have plug-ins. Instead, we use a web proxy to record traffic. An agent, called Conductor, is installed on any system that you want to have act as a proxy. This can be the same laptop used to record browser-based traffic or a completely different system.
This means that all messages from any device (browser, phone, tablet, toy, etc) that you point to the proxy for web traffic can be recorded into a CloudTest test case. Once recorded, the requests can be parameterized, manipulated and otherwise massaged to create the complex usage patterns and high volumes of traffic needed for a load test.
In some cases, such as games running on the phone or tablet, the application is simply making web services calls. We record that message traffic just as easily as we do for any other application. CloudTest automatically parses WSDLs, has built-in OAuth support and features for making RESTful web services testing simple.
CloudTest is not testing the functional capabilities of the device. When we play the test back, we’re emulating the traffic just as the device would communicate to the infrastructure. This simulated load puts the same stress on the back end as the devices themselves would, at whatever levels of use you want to test.
CloudTest Analytics captures and displays in real-time the performance metrics on the message traffic, such as response times, bandwidth usage, error rates, time to first byte, etc. If monitoring is in place on the infrastructure we’ll also capture and display metrics such as CPU utilization, memory consumption, heap size and process counts on the same time-line as the performance metrics, helping our customers to quickly find the bottlenecks that might impact the user experience.