For the mobile content developer, obstacles exist at every turn: ever-increasing consumer demands and expectations, thousands of handsets for which content must be developed, and limited access to devices from different regions of the world.
For years, mobile industry veterans Faraz Syed and David Marsyla recognized the problems and issues associated with manual testing of mobile applications. They understood that acquiring physical handsets or deferring to emulators and simulators were not appropriate or cost-effective alternatives to live handset testing. They sought to create a product that would enable developers to conduct live testing on real handsets without the hassle and cost of purchasing physical devices. Further, the rise of the ever-changing mobile industry, as well as consumer demand for richer, more advanced mobile content, gave way to a need for a medium through which developers could easily access and efficiently test on devices worldwide.
If only, Syed and Marsyla thought, there were a way to instantly access any global device one needed. Their work led to the creation of DeviceAnywhere™, a company that today offers a solution that solves these problems for embedded software developers. Offered through a Software-as-a-Service (SaaS) model, DeviceAnywhere provides a platform that allows developers to access 1,500 real handsets from around the world in a low-maintenance, easy-to-use, low-cost format. This article describes the DeviceAnywhere concept, and how IBM® Rational® ClearQuest® users can take advantage of the technology for controlling text execution and keeping track of results.
The SaaS business model
The SaaS format is a highly beneficial model for customers, as it enables DeviceAnywhere to cater to the immediate needs of a wide range of users while providing them with flexible payment schedules, as well as technical support for problems that may arise. Users pay only for the time they use on DeviceAnywhere -- in a pay-as-you-go format -- rather than a fixed cost from which they may not get their money's worth. Devices are grouped into packages containing different carriers and handsets from around the world; customers choose which packages they want and pay a monthly bill for hours used.
Further, customers have access to around-the-clock customer care representatives who can help with glitches or specific problems users may have while using the service. Because the program is internally controlled and managed by DeviceAnywhere, technical support representatives are able to view customers' screens during the support process to more accurately pinpoint problems and offer solutions.
Keeping up with a changing global marketplace
As the marketplace changes, so too must the tools used to create high-quality mobile content. Most recently, consumers have demanded advanced, next-generation applications, such as global positioning systems (GPS) and Web connectivity.
Meeting such demands is not without its concerns and complications. A 2007 study by Harris Interactive revealed that 80% of consumers will never return to a particular carrier, manufacturer, or application after a poor mobile experience. As mobile content and applications continue to grow in complexity and sophistication, so too grows the number of issues that can arise. Therefore, it is imperative that developers thoroughly test and ensure the quality of material to optimize the end-user's experience.
Through DeviceAnywhere, developers and testers can remotely access live handsets to collaborate with colleagues worldwide, run monitoring features to catch glitches before end-users, and create automated test scripts to save time and manpower. These solutions enable developers to bring rich, high-quality content to market quicker than they would through manual testing.
How it works
Figure 1 illustrates Direct-to-Device technology, which facilitates interactive access between a user and a live device over the Internet. By employing the Direct-to-Device technology, users are able to control all inputs and view all outputs. The technology takes the form of an electrical integration system involving wires connected to each mobile handset's input/output interfaces, such as the buttons, touch screen, LCD, speaker, ringer, backlight, microphone, battery, etc.
Figure 1: One of DeviceAnywhere's data centers, where real devices are connected to servers, making it possible for users to remotely access more than 1,500 mobile devices via a computer interface.
Input signals, such as button clicks, are streamed from a user's desktop computer to the handset over the Internet; output signals such as LCD and audio are streamed back to provide real-time, interactive handset access. Thus, you can fully interact with a device as if you were holding it in your hand and remotely press buttons, tap touch screens, view backlights, and hear the device sounds, all through a simple desktop interface. Further, all interactions can be mapped and saved, enabling users to track development and testing progress, as well as determine where problems and issues occurred.
Users can also leverage dedicated devices (for exclusive use by their personnel) either in their own data centers or at another location anywhere across the globe.
Figure 2 shows the automation layer that enables visual and API-based scripting. By employing the automation features, users can run automated test scripts and phone interactions.
Figure 2: The automation layer enables visual and API-based scripting.
The automation layer enables a complete monitoring framework that empowers developers to catch issues and problems inherent in applications before end users. Additionally, test automation scripts reduce the amount of time and manpower that developers must devote to running application tests on handsets. Scripts can be run on any device overnight or at other scheduled times, enabling developers to devote time to bigger issues and other development tasks.
Together, the technologies created to power DeviceAnywhere give developers remote access to 1,500 real devices from around the world -- all accessible through a simple desktop interface available via the Internet. A device-, carrier-, and operating system-agnostic solution, DeviceAnywhere supports handsets across the spectrum to bring developers remote access to full phone banks containing any devices they may require. Employing DeviceAnywhere's technology for testing needs reduces the need for manual testing, as well as the costs and inefficiencies associated with it. Collaboration features make it possible for teams in the United States to work with teams in Japan on the same project and device.
Integration with Rational
In early 2008, DeviceAnywhere became fully integrated with IBM Rational ClearQuest. This integration gives the IBM user community access to mobile application testing on more than 1,200 real handsets across the globe, while employing ClearQuest to control execution of tests and keep track of results. Users can employ DeviceAnywhere's test automation layer to create and automate scripts on handsets, then utilize ClearQuest to control the execution tests, keep track of results, and manage change requests, as shown in Figure 3.
Figure 3: Users can employ DeviceAnywhere's test automation layer to create and automate scripts on handsets, then utilize ClearQuest to control the execution tests, keep track of results, and manage change requests.
Users can view and edit scripts through the DeviceAnywhere Pro interface, which can be launched through either ClearQuest or DeviceAnywhere. Once a script is ready, users can execute it by running the configured test case associated with ClearQuest. Through ClearQuest, users can view the status of the scripts, as well as a test log that shows each script step and result. If a test fails, the user can view a detailed log to find out where a test misfired, so he can easily determine exactly where changes need to be made. Further, all issues and defects are logged through ClearQuest, ensuring a seamless and easily referable testing process.
How to use the DeviceAnywhere/ClearQuest integration
A simple deployment plug-in allows the configuration for the needed information to associate the ClearQuest and DeviceAnywhere applications. This information includes:
- The file location where information about the available DeviceAnywhere server is stored
- The DeviceAnywhere username and password information, to be entered into ClearQuest
- The directory where the DeviceAnywhere program files are stored
This information allows the user to both launch DeviceAnywhere from the ClearQuest interface and associate ClearQuest-configured test cases with DeviceAnywhere scripts. Through the dialog box shown in Figure 4, users select a DeviceAnywhere script to associate with a ClearQuest-configured test case.
Figure 4: Through the dialog box shown in Figure 4, users select a DeviceAnywhere script to associate with a ClearQuest-configured test case.
Viewing and editing DeviceAnywhere scripts
Users view and edit DeviceAnywhere scripts through the DeviceAnywhere Pro interface (see DeviceAnywhere product descriptions at the conclusion of this article), known as DeviceConductor. This interface can be easily launched from within ClearQuest by right-clicking on a configured test case that is associated with a DeviceAnywhere script and then selecting "open script" from the menu.
If DeviceAnywhere is already open on the user's computer, the script will be opened and viewable within the DeviceConductor client interface. If the user has not yet launched DeviceAnywhere, it will automatically launch and the DeviceAnywhere client software package will automatically log in the user. DeviceConductor will then appear, with the selected script open. At this point, users are able to acquire devices and edit scripts, as shown in Figure 5.
Figure 5: DeviceConductor allows users to acquire devices and edit scripts, as shown in the nested folders in the upper left of this screen.
Executing tests through ClearQuest
Once a script is ready, users can execute it by running the configured test case associated with it through ClearQuest, as shown in Figure 6.
Figure 6: Running the configured test case associated with a script
ClearQuest provides a high-level view of the status of running scripts.
Viewing test results
Once a test case is executed, both high-level and detailed results are available.
Through ClearQuest, users can view a Test Log, shown in Figure 7. For failed tests, users can obtain a more detailed view of the test steps, including all inputs and resulting device outputs.
Figure 7: Viewing the test log
To view the detailed output, users select View Detailed Log on the screen shown above, and then select View Detailed Results. The test results stored by DeviceAnywhere Pro will appear in the ClearQuest Results pane illustrated in Figure 8.
Figure 8: The test results stored by DeviceAnywhere Pro will appear in the ClearQuest Results pane.
Creating a defect
Users can apply ClearQuest to log issues for any executed test cases. Defects are then linked to the saved test results through DeviceAnywhere Pro, so that users can view the precise results from the test, as well as view the errors generated, as shown in Figure 9.
Figure 9: Viewing precise test results and errors generated
Founded in 2003, DeviceAnywhere is located in San Mateo, California, with additional locations in the U.K., Germany, France, Japan, Canada, and Pakistan. Since the launch of DeviceAnywhere in January 2006, developers have had remote access to handsets and end-to-end mobile development solutions that ensure the creation and distribution of high-quality mobile content. Currently, DeviceAnywhere supports more than 1,000 real devices hooked up to live servers and more than twenty-five carriers worldwide -- with devices and carriers being added on a continuous basis. Additionally, DeviceAnywhere's cost-effective SaaS model reduces the costs associated with manual testing and empowers developers to bring content to market faster than ever before.
In 2008, DeviceAnywhere plans to continue expansion throughout Asia and Western Europe.
DeviceAnywhere offers complete solutions for the mobile development lifecycle. In addition to the standard DeviceAnywhere service, several more advanced products live within the DeviceAnywhere family.
DeviceAnywhere Pro is an intelligent and comprehensive platform that allows you to create and run automated tests on over 1,200 real devices in live global networks. Unlike alternative products that use emulators or simulators, DeviceAnywhere Pro combines the convenience of automation software with the accuracy of real devices to generate reliable, repeatable, and reportable results. Through DeviceAnywhere Pro, users can automate applications, record results, create simple and complex test scripts, test the same script across multiple devices, and schedule tests to run at their convenience.
DeviceAnywhere Monitoring enables content providers to monitor their applications on real mobile handsets that are connected to live networks -- right from the convenience of their own desktops. Employing Mobile Complete's proven Direct-To-Device™ technology, users are able to determine crucial data -- such as how long it takes for content to download on different carrier networks and whether or not content appears exactly as it should on various handset models. DeviceAnywhere Monitoring empowers users to find glitches before end-users do, collect and analyze results, understand performance trends, and monitor video with video-specific metrics.
DeviceAnywhere Consumer employs virtual models created by crawling actual devices to map out virtual replicas of the phones, using a technology called Virtual-Device™. A cutting-edge Web renderer then delivers this massive phone map via HTML by leveraging the latest in Web 2.0 technologies. The result is fully interactive virtual phones -- available over the Internet. With DeviceAnywhere Consumer, businesses can offer their customers the ability to try out fully interactive virtual handsets, applications and services over the Internet. Consumers can explore and interact with different mobile devices, experience the content and applications on those handsets, and accustom themselves to the phones to determine which ones they like best, as well as become better educated on how to use features and functionality specific to particular handset models. DeviceAnywhere Consumer may also be deployed in a customer care environment to help carriers, manufacturers, and developers better educate and support customers -- improving customer satisfaction and increasing the adoption of products. Further, it can be a useful tool to train employees on various handsets.
For more information about DeviceAnywhere, please visit www.deviceanywhere.com.
John Brody would like to thank Pat McCarthy at IBM Rational for his tireless assistance and sage advice about Rational and Eclipse.
- Participate in the discussion forum.
- A new forum has been created specifically for Rational Edge articles, so now you can share your thoughts about this or other articles in the current issue or our archives. Read what your colleagues the world over have to say, generate your own discussion, or join discussions in progress. Begin by clicking HERE.
- Global Rational User Group Community
Dig deeper into Rational software on developerWorks
Get samples, articles, product docs, and community resources to help build, deploy, and manage your cloud apps.
Keep up with the best and latest technical info to help you tackle your development challenges.
Software development in the cloud. Register today to create a project.
Evaluate IBM software and solutions, and transform challenges into opportunities.