Welcome!

Wireless Authors: Maureen O'Gara, John Hornsby, John Savageau, Yeshim Deniz, Onkar Singh

Related Topics: Wireless

Wireless: Article

The Truth About Software Testing on Wireless Devices

Carriers and content providers are looking to boost revenue streams through the introduction of new applications

Carriers and content providers are looking to boost revenue streams through the introduction of new applications and services such as data-rich and multimedia 3G services. Another key area of revenue growth for carriers is mobile workforce automation applications, which include tracking an organization's sales force or managing its field service using mobile technologies. Today's handset silicon designers, manufacturers, and software developers are building the next-generation mobile handsets that will provide the foundation for these new applications and revenue streams.

Given their large infrastructure investment to support enhanced multimedia and data services (such as broadcast video, instant messaging, and streaming music) and the need to ensure flawless deployment, carriers are increasingly demanding that handset manufacturers prove the reliability and consistency of their products over live networks before carriers are willing to release them to subscribers. This entails comprehensive testing that demonstrates not only functional capabilities but quality as well. To maximize their investment, handset manufacturers need automated tools and reusable test assets that carry not only between generations of a design but between different models and even different operating systems. In addition, since everyone in the value chain wants to guarantee that handsets reliably access services across live networks, being able to collaborate and share test assets leads to accelerated testing with higher reliability and less investment all around.

The Truth About Testing
An important part of testing handsets is being able to focus testing on these emerging services that promise to bring significant new revenue to carriers and content providers. For these services to be successful, they must be rolled out flawlessly. For example, early adopters who have trouble using consumer multimedia services will switch over to other carriers who have implemented these "have-to-have" services properly. For workforce automation applications, businesses will likewise drop services if they fail to reap expected productivity improvements.

Often these services are pitched as substantially simplifying operations and reducing costs, and subscribers have high expectations for them. Personal media players, for example, have already set a high quality expectation in consumer subscribers. For carriers, the stakes are high as this is the time when initial multimedia market share is being carved out. For businesses employing workforce automation, they are often attempting to mobilize critical business processes, which means they are basing the success of their enterprise on these services. In other words, they are counting on an error-free deployment.

There are three primary contributors in the handset value chain: the chipset vendors, operating system software developers, and handset manufacturers. These first three pretty much create the handsets that will be available, and everyone else in the value chain - application developers, content providers, carriers, and subscribers - must choose from and are limited to the choices they make available. While carriers don't directly contribute to the manufacturing of handsets, they are increasingly influencing handset specifications.

One fundamental consideration is that many of the tests performed across the value chain are, from a testing perspective, virtually identical. For example, both handset manufacturers and carriers need to verify functionality and quality of handsets within a carrier's live network. Certainly, if a carrier is going to invest the time to verify a particular handset, it wants to have reasonable confidence that the handset manufacturer has done all it can to make sure the handset will pass.

The reality is carriers want handsets to pass. At this time, however, carriers are concerned about revealing too much about what they test for fear that this would set a minimum baseline of what manufacturers would test. The key to resolving this issue is through automation with collaboration. In this way, carriers and handset manufacturers can work together to establish and develop handset verification tests and processes that streamline testing while meeting the verification requirements of all parties concerned.

Automating Test Processes
Many handset manufacturers and carriers rely on manual testing methodologies to verify handset functionality and quality, especially for multimedia services. For example, in order to verify the quality of a sports highlight video service, the quality of the received video must be tested in several ways, including image quality, playback start latency, and frames per second (fps), among others.

Testing video services manually is time-consuming, tedious, and prone to error. Technicians will make mistakes - either when entering commands or evaluating results - which can mask real problems. Manual key entry is a slow process and many tests are comprised of complex interactions. Manual testing requires additional personnel who must be retrained with each successive product generation or variation. Quality testing is subjective with results varying from hour-to-hour. In addition, many carriers manage test cases and test execution manually as well, using tools such as Microsoft Excel, which are not designed for the job.

In recent years, handset manufacturers and carriers have begun taking advantage of automated testing technology to simplify testing and manage the growing test burden. Automation increases testing consistency, conformance, and reliability. Testing platforms don't make typing mistakes and can operate 24/7 to accelerate testing. Errors cannot be overlooked and overall testing is faster because measurements and evaluations are computed quickly.

In addition, automation of testing processes enables development of reusable test assets. Rather than describe a test case specifically (i.e., which keys to press to send a text message), developers can utilize Adaptive Test Case technology to define test cases abstractly. Once created, these test assets can be used across different platforms, OSes, and even carrier networks (see Figure 1). They can also be shared across the value chain. Consider the value of being able to provide not only a handset but also a complete test suite verifying interoperability over a carrier's network. This simplifies testing for the carrier, accelerating the handset's adoption process. Furthermore, providing automated test assets ensures that carriers will test handsets properly as well as guarantee that manual testers will not accidentally fail handsets due to human error. Automated tests provide consistency between tests executed by handset manufacturers and carriers since interpretation plays no role in automated tests. If desired, carriers and manufacturers can also collaborate on testing guidelines, which can then be automated and added to the test assets as well.

Developing test assets that comprehensively verify the functionality of a handset is not a trivial undertaking. One of the major challenges for defining comprehensive tests, whether manual or automated, is determining all of the various modes of operation for a given handset function. For example, a subscriber can send a text message with just text, text with the current image just taken by the integrated camera, or even text with a saved image. In addition, this message could be sent to a new contact just typed in, to someone from the address book, in reply to a message, or broadcast to a group. The subscriber could have initiated this action from the main menu, by scrolling through various menus, or as an option from another application. When sending a message, the phone could also receive an incoming call, the subscriber could return to a game in progress, or another text message might be incoming.

What is being tested in all these cases is the robustness of the handset under different use-case scenarios. Carriers want to ensure that there isn't some hidden problem lurking in a handset that will cause the phone to malfunction or operate improperly when used in a certain way. However, in order to test each of these cases in this simple example, a developer would have to construct over 100 test cases (3 x 4 x 3 x 3). Fortunately, not every combination must be tested in order to obtain reasonably good test coverage. In most cases, testing the important and common use-cases as well as the various boundary conditions or operational extremes is a good start. Determining which test cases to implement and use is the most important part of defining the overall test bench. Even with pruning, however, it isn't uncommon for test suites to contain over a thousand test cases.

The reality is that developing an efficient handset verification process requires significant investment in the creation of test cases as well as a commitment of resources to perform the actual testing. Automation streamlines both the creation and execution of test processes, enabling the comprehensive test coverage required to ensure that handsets fail in the lab where errors can be corrected instead of in the field where carriers risk losing subscribers.


More Stories By David Haggerty

David Haggerty is chief research officer at TestQuest, Inc., a provider of test automation and management solutions for the mobile and wireless industry. He joined TestQuest in 2000 as vice president of engineering. He has over 25 years of experience developing complex hardware and software systems. David holds a BS in mathematics and a BA in physics from Bemidji State University. He has authored numerous articles and is the inventor or co-inventor on several patents in the area of automated testing.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.