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.

Unit TestingiPhoneOCUnit can be used for tracking functionality issues as well as Unit Test case automation
AndroidJUNIT 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.
WinMoSlilverlight Unit Test Framework for Windows Phone 7 is the tool of choice
BlackBerryb-unittesting and J2MEUnit tools can be used for unit testing. There is no built-in support for unit testing BlackBerry Apps.
BadaThe 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 AutomationiPhoneInstruments tool can be used for UI testing and automation
AndroidUI/Application Exerciser Monkey can be used for UI testing
WinMoSilverlight UI Automation Testing using Prism 4.0 can be the tool of choice.
BadaUI sequencer can be used for the UI automation of the application
Memory LeaksiPhoneStatic analyzer will show memory leaks in the application while building it.
Leaks Instrument is useful to find memory leaks while running the application.
AndroidAndroid supports DDMS tool which can be utilized for tracking memory utilization by various threads, and memory released during garbage collection, profiling application etc.
WinMoApplication 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.
BlackBerryThe BlackBerry JDE provides two tools to help find memory leaks – Memory Statistics tool and Objects tool
BadaMemory usage checker tool monitors application memory usage, which will help in analyzing memory leaks
Code Coverage / ProfilingiPhone“Instruments” can be used for code coverage and profiling
AndroidAndroid supports DDMS tool which can be utilized for code profiling
WinMoAnts performance profiler, CLR Memory profiler as well as profiling tools in Visual Studio Visual Studio can be used for profiling.
BlackBerryThe Profiler tool, included in the Blackberry JDE, can be used to optimize application code.
BadaBada Testing Tool also contains a code coverage tool.
Network details, overall performanceiPhoneCharles” tool can be used to simulate various network availability scenarios. Using this tool, we can find out performance of the application.
AndroidADB 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.
WinMoMicrosoft.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
BadaWe can monitor resource usage statistics using the Resource Monitor. This will help in assessing overall performance of the application.
Logging and DebuggingiPhoneLogging and Debugging can be done in Xcode
AndroidAndroid supports api’s for Event Logs, Logging Method calls, and tracing data in application
WinMoVisual studio provides logging and debugging ability for windows phone 7 applications.
BlackBerryEventLogger 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