Troubleshooting Mobile Applications

Author: Prachi Kulkarni

Posted On Feb 20, 2011   |   4 Mins Read

Now-a-days the mobile application development is advancing towards higher levels of sophistication. Attractive UI and animations supporting cool functionality are still the major factors in making the application popular. However, there is no denying that other factors like availability in different network coverages as well as device resource utilization and memory leaks as well as overall performance contribute a lot in converting the initial buzz to sustainable popularity for an application.

A lot of diagnostic information is available for mobile devices now, which helps the developer assess the application on these non functional criteria. Our team at Harbinger has expertise in various troubleshooting aspects of the mobile platforms and tools used therein. Here is a birds’ eye view of those efforts.

Function Platform Description
Unit Testing iPhone OCUnit can be used for tracking functionality issues as well as Unit Test case automation
Android JUNIT can be used for Unit Test case automation.Commands for monkey testing are supported hence various Test cases which include Black Box (Device) Testing can be done on emulator without actual need of device.
WinMo Slilverlight Unit Test Framework for Windows Phone 7 is the tool of choice
BlackBerry b-unittesting and J2MEUnit tools can be used for unit testing. There is no built-in support for unit testing BlackBerry Apps.
Bada The bada IDE provides a tool for unit testing. Unit tests wizards as well as API for test case development can be used for the testing. Test results are in the form of XML files.
UI testing and Automation iPhone Instruments tool can be used for UI testing and automation
Android UI/Application Exerciser Monkey can be used for UI testing
WinMo Silverlight UI Automation Testing using Prism 4.0 can be the tool of choice.
Bada UI sequencer can be used for the UI automation of the application
Memory Leaks iPhone Static analyzer will show memory leaks in the application while building it.
Leaks Instrument is useful to find memory leaks while running the application.
Android Android supports DDMS tool which can be utilized for tracking memory utilization by various threads, and memory released during garbage collection, profiling application etc.
WinMo Application Verifier tool can detect and pinpoint memory leaks, handle leaks, and leaks in graphics device interface (GDI) objects. The tool can also detect some forms of heap corruption. The profiling tools can also help detect memory-related performance issues.
BlackBerry The BlackBerry JDE provides two tools to help find memory leaks – Memory Statistics tool and Objects tool
Bada Memory usage checker tool monitors application memory usage, which will help in analyzing memory leaks
Code Coverage / Profiling iPhone “Instruments” can be used for code coverage and profiling
Android Android supports DDMS tool which can be utilized for code profiling
WinMo Ants performance profiler, CLR Memory profiler as well as profiling tools in Visual Studio Visual Studio can be used for profiling.
BlackBerry The Profiler tool, included in the Blackberry JDE, can be used to optimize application code.
Bada Bada Testing Tool also contains a code coverage tool.
Network details, overall performance iPhone Charles” tool can be used to simulate various network availability scenarios. Using this tool, we can find out performance of the application.
Android ADB tool provided by Android supports lots of debugging features. It runs on adb shell and calls (Linux) system specific commands to debug the application, trace memory logs, retrieve time consumptions and radio informations, stack etc.
WinMo Microsoft.Phone.NetNetworkInformation namespace is used to check the availability of various network connection types like MobileBroadbandCdma, MobileBroadbandGsm etc.EQATEC Profiler can be used to monitor Windows Phone 7 application performance
Bada We can monitor resource usage statistics using the Resource Monitor. This will help in assessing overall performance of the application.
Logging and Debugging iPhone Logging and Debugging can be done in Xcode
Android Android supports api’s for Event Logs, Logging Method calls, and tracing data in application
WinMo Visual studio provides logging and debugging ability for windows phone 7 applications.
BlackBerry EventLogger API can be used to log various events in the application.

In addition to these, there are various troubleshooting abilities provided by SDKs and third party tools for all mobile platforms. The above table covers tools and\or API for most of the critical non-functional testing aspects mobile application developers face today