Sunday, 23 September 2012

How to conduct performance testing on mobile applications? Please share the basic work flow

"With the technological advancement the demand for mobile applications is increasing by leaps and bounds and hence its market too. There are a lot many mobile applications available, capturing the market in accordance of their reliability and performance factor. So to satisfy the customers the performances of these applications should be unbeaten, that is why performance testing has become an indistinguishable part of the step to satisfy the customers. Performance testing can be done in many efficient ways one of them is to use the performance testing tool like eggplant.

Performance testing tool for the mobile applications like eggplant can time the individual events and sequences of events as well. This tool is can be used either to generate or to increase the existing small loads. There are other tools available in the market which create artificial load on the application on the other hand eggplant test the load by simulating the interactions of the real user. Eggplant is capable of validating and verifying the applications remotely across any platform
It is a black-box driven tool which does not make any interaction with underlying code. It includes many features which make it simple and powerful.
1. Image doctor: It can diagnose when the image changes and it continues script execution without any failure with matching the images. It provides the user with option to update the script automatically if a new image is found.
2. Connection List: With this feature it controls the connections by opening and closing them automatically during the script execution. There are a lot many other features like Results Pane, AHDB and Scheduler which are very helpful in making it a fast and easy to use tool."
As a whole world is going mobile today, performance testing is one of the most critical aspects for all mobile applications. Performance testing is basically testing of a system in terms of response time, stability under stressful situation. Performance testing of mobile is very important as mobile devices have some limitations in terms of utilization, memory usage etc. Mobile applications use protocol (HTTP, WAP, SOAP, etc.) to communicate to the server, using wireless devices. These calls get transferred through various network devices (e.g., routers, gateways of ISP) to connect the mobile application server. So we need to select performance tools which mimic the mobile application client traffic and record it from the mobile client or simulator. There are several tools available in the marketplace such as HP's Load Runner, Jmeter, Mobitest, IBM Rational Performance Tester, etc.
The performance testing of mobile applications is slightly different from the traditional performance testing due to its volatility. There are number of operating systems available on Mobiles such as – Windows, Android, iOS, Blackberry etc. And to test these devices selecting a right performance testing tool is very important; there are various open source tools available in the marked like Jmeter, Rubidium, etc. In Jmeter different devices can be various depending on the user agents. Also, before doing performance test on mobile application we have to ensure that the tool we are using has the ability to emulate in various network conditions (GPRS, EDGE, HSDPA, HSPA+ etc.) with quick and fast turnaround time. In today’s fast growing environment performance testing of mobile application plays very significant role, as an application is run on Mobile Phones of different parameters like memory, processor, screen size, resolutions and different network. Performance testing is initiated to determine system response and stability under a specific workload. Set of testing requirements may vary from application to application.

In order to test mobile application accurately it is necessary that following criteria must be included in our testing solution-
1.  Must support multiple devices
2. Must support native applications as well as web applications
3. Ability to record through the device as well as directly from a browser to reduce complexity
4. Ease of use and fast response time
5. Must have an ability to generate load from various locations, leveraging the cloud

Testing is performed until the application under test, results the desired levels of performance.

The Basic work flow:
Analyze the application
→ Test Plan and Test cases → Create environment → Simulate multiple Scenario → Execute → Result → Defect reporting → Test report

No comments:

Post a Comment