A Primer in Testing Mobile Phone Applications

[article]
Summary:

It took eighteen months for Julian Harty to overcome the various challenges of testing mobile wireless applications. In turn, he has learned some valuable lessons that he wants to share with you in this week's column.

Eighteen months ago, I started learning about the joys and challenges of testing mobile wireless applications. This article is dedicated to the various tips and tricks I've collected along the way that may help you become productive much more quickly.

Reduce Setup Time
Find ways to reduce the time required to configure the phone, install the software, and learn about the underlying connectivity. For example:

  • Your carrier or handset manufacturer may enable you to download the Internet settings to your phone rather than trying to discover and then manually key in the obscure settings.
  • Often the software needs to be installed from a Web site. Use text messages to send long Web addresses. Keying a URL can take several minutes and one false move may mean starting again!
  • Learn how to use a computer to install the software. Many manufacturers provide free software that will enable you to add and remove software applications relatively painlessly from a computer.

Figure Out Connectivity
Mobile connectivity remains a challenge. But remember, a connection relies on at least four elements:

  1. Configuration of the phone
  2. The service provided by the carrier (and paid for by the user)
  3. The connectivity between the carrier's wireless network and the Internet (where gateways can filter, modify, convert, or even block communications for various reasons)
  4. And the rest of the connection to the Web/application server, which may include more gateways, firewalls, etc.

Phones provided by carriers may have the network settings preconfigured. If you have to configure these settings, you will need to learn about Access Point Names (APN), WAP gateway settings, and, possibly, login details for the service provided by the carrier.

Understand Your Data Plan
Carriers may offer a range of data services, from very limited access to a small list of approved Web sites (called a walled garden in the industry) to full "Internet" access that may even allow Voice over IP, video streaming, etc. Some carriers provide clear information on which services are available for each price plan; for others, you may have to research what services and Web addresses work reliably.

Check how much you pay for data before embarking on data-intensive applications. I had a monthly data bill that was more than $300-even though I didn't use any of the installed applications on my phone during that time. However, one of the applications polled its server in the background while I was abroad. At $16/MB transferred, it was an expensive lesson to learn!

Understand the Impact of Transcoders
Transcoders help make a majority of the Internet more accessible to mobile devices; however, sometimes transcoders have unexpected consequences for the application you want to test. For browser-based Web content, these problems are often visible and therefore relatively easy to discover. However, for custom applications written to run on the mobile devices, transcoders may adversely affect the data communications and cause the application to report errors or even crash without telling you what's going wrong.

Find Ways to Understand and Simplify Problems
I have found diagnostic client software and diagnostic Web servers particularly useful for discovering and debugging issues with transcoders. Both the client and the server are designed to report the information that is sent and received. Find out whether the content is expected to be transcoded, and if so, how. If not, the data sent by one end should be received unchanged at the destination and vice-versa. The diagnostic software recorded all the data and made problems easier to detect.

If possible, run your diagnostic software on a personal computer with a wireless data modem to debug transcoder or carrier network issues. Generally this

About the author

Julian Harty's picture Julian Harty

A senior test engineer at Google, Julian Harty finds ways to test lots of fun products, including the mobile wireless software used by millions of users worldwide. He's been involved in software and online systems for more than twenty years and enjoys working with others to find ways to solve testing challenges productively. A presenter at both STAREAST and STARWEST, Julian has been involved in international conferences and workshops on software testing.

StickyMinds is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

Apr 29
Apr 29
May 04
Jun 01