deviceconnect Core of the Enterprise Mobile App Infrastructure
Executive Summary Mobile devices have become the dominant venue for delivering customer-facing, B2B, and workplace apps as enterprise IT groups move from mobile first to mobile everything. While mobility brings ease of use to end users, enterprise IT faces massive challenges brought about by the enormous variety of device types and software platforms in the market. Moreover, development and testing has dramatically changed in earlier, desktop-web development, the number of test cases largely determined quality, since there was little variation among browsers. In mobility, however, quality is determined both by the number of test cases and the variety of devices tested. At the sunset of desktop Web s dominance, its development hums along using Agile methodologies and DevOps capabilities; enterprise IT is able to leverage virtual servers to facilitate rapid change, continuous deployment, and to closely align production and test environments. However, more apps, higher end user expectations, and the burgeoning proliferation of mobile device types quickly bring chaos to the mobile everything enterprise, and DevOps gains can grind to a halt. For enterprise apps, new technologies are needed to bring order to the chaos of mobile development. The new core of the infrastructure is the mobile device cloud that can easily make a variety of devices available to developers and testers and can deliver key DevOps capabilities. A mobile device cloud must perform well, offer scheduling and DevOps capabilities, and be secure. As the core component, a device cloud can speed app delivery, reduce capital outlays, and reduce rework costs. After discussing the benefits of the core of the new infrastructure, we will look at the technology and capability of Mobile Labs private device cloud, deviceconnect. Mobility Pain Points The chaos of mobile app development brings a number of pain points that are caused by the technology differences between mobile app development, test, and delivery, and what has come before. It is clear that the costs of mobile app development and test can quickly outstrip traditional desktop Web. $ Huge number of $ Lower productivity caused test cases by waiting to use devices $ Mobile DevOps inefficiencies $ Damage to brand, loss of business $ Cost to repair poor quality $ Capital expense for a large variety of devices
The variety of mobile platforms requires a huge number of test cases; time wasted waiting to touch devices slows developers and testers; quality suffers and costs rise dramatically because of bloated capital budgets and the costs of rework. When delivery slows and quality is challenged, end user reactions can damage brands and cost business. Global system integrator Infosys advises its clients, [mobile] app quality is directly related to the number of devices tested. Infosys believes that test teams need better and more cost-effective solutions to avoid any compromise on quality. But the job of rising to the Infosys challenge quickly becomes overwhelming: GSM Arena reports there are 97 manufacturers of mobile devices Open Signal reports that in more than 600,000 downloads of its app, there were thousands of different Android devices detected Apple alone has delivered 28 different devices to market There are five different, viable versions of ios in the market There are 10 different, viable versions of Android in the market Costs of Poor Quality If developers don t get to check out apps on a sufficient variety of devices, then testers must catch problems. If testers don t get to check apps on a sufficient variety of devices, then users catch problems. When users experience problems in mobile apps, poor perception of quality leads to poor app store reviews or, worse, the app gets deleted. Failing to find problems before users do ratchets up costs. A NASA software study showed that finding defects after deployment was up to 5-6 times more expensive than finding them during testing. The major challenge facing development and QA teams is how to test on a sufficient variety of devices to ensure that users aren t the ones finding problems. And that can bloat capital budgets.
Capital Expense Control Taking a hypothetical case where 100 developers and testers need access to just 24 device types, a mobile device cloud can make a remarkable difference in the budget. At the extreme end is a plan that purchases one of each device type for each engineer. But a $700K annual budget (assuming device life of two years) grows when new devices are announced. For example, in the fall of 2014, Google and Apple announced six new device types; by making those available to the team, the annual budget grows to more than a million dollars. Covering the same testers with 96 devices in a device cloud, even after absorbing the newly-announced devices, the budget is cut to a fraction. It is clear that a device cloud has powerful potential to reduce capital budgets. Core of the Enterprise Mobile App Infrastructure The basic architecture of a device cloud makes devices available to remote users wherever they are in an deviceconnect Server enterprise s worldwide infrastructure. Without the instant access that a device cloud can provide, there are significant risks of under-utilized devices and under-utilized engineers. The cloud can put the right device in Local (LAN) Users Mobile Devices Off-Shore Users the control of the right user instantly without delays caused by searching for or shipping devices. With more types of devices readily available, developers and testers can ensure app quality is optimized. Heart of the Infrastructure Developers Test Engineers Support Engineers Trainers Architects Sales Engineers Hea
The usefulness and appeal of the device cloud is not exclusive to developers and testers. Support engineers, trainers, architects, sales engineers, and others involved in the mobile app development lifecycle gain productivity and greater ability to collaborate from use of the device cloud, making it truly the core of the infrastructure. Pain Relief from a Cloud Blog site e-testing notes, Cloud-based testing makes it possible to collaborate more effectively, to test across multiple platforms with less hardware, and to spend less on testing efforts, both long and short term. By making mobile devices instantly available, by scheduling access to devices, and by facilitating mobile DevOps, a device cloud helps customer support, development, and quality engineers to: produce better quality apps by testing on the widest possible variety of devices while reducing capital budgets; eliminate waits for devices through instant or scheduled access, covering more locations and more shifts with the same device pool; instantly collaborate, boosting productivity; utilize user interface automation to make possible running more test cases more frequently; reduce costs of rework by finding problems earlier in the delivery cycle; reduce the chances of lost business or brand damage. A mobile device cloud relieves pain when it restores order to the world of mobile app development and testing. Significantly more cost effective than a one of everything for everybody strategy, a device cloud can: make possible more complete test coverage over a given range of devices. Rare or out-of-manufacture devices can be made available for app checkout and automated testing; make possible more complete device utilization through cloud automation. The device cloud can run automated tests when devices are otherwise idle. The cloud either automates or eliminates manual steps involved; make possible more complete device utilization through time-shifts. For example, an offshore team may be able to use the same set of devices used by the domestic team while the domestic team is not working; facilitate critical collaboration through screen sharing, video recording, and sharing of automated run results. The best minds can tackle the toughest problems as a team. Multiple developers can investigate a problem, and developers, support engineers, and test engineers can observe and analyze device behavior concurrently in real time, even if located on different continents.
Rebuilding DevOps Capability The need for a sufficient variety of devices is a revolutionary turn of events for enterprise development and test teams; until the advent of mobility, the same computers used to develop code could be used to test it, and a single type of workstation could be used for all work. The DevOps revolution rode on virtualization that enabled gains in rapidly applying changes, continuous integration, test bed deployment, and selective functional updates. Without a device cloud, mobility may significantly reduce these gains: The development tools run on different systems than the apps, with different CPUs, hardware architectures, and operating systems. One type of development environment is not sufficient; Apple s Xcode mandates a Mac system, for example. Virtualization cannot help because software simulators are not an answer; real devices are needed for any kind of serious testing. Simulators do not account for variations in CPU or memory performance, on-device hardware emulation, network access, or OS supervisory reactions to device conditions like memory availability, temperature, or battery state. The development tools cause a serious productivity drain because testing or checking out apps involves manual processes: the developer or tester must locate the correct binary version of the app and then must install the app on a test device, manual processes that use Apple and Google tools or webbased delivery apps. A mobile device cloud must have DevOps support and goals to shape the state of the art in mobile DevOps. The cloud should be able to automate continuous integration, the setup of the right apps on the right devices, and should be able to support automatic test case execution, relieving developers, testers, and other engineers of most if not all of the manual processes that use Apple and Google tools or web-based delivery apps. Build System New App Build Test Environment App Up and Running
Public vs. Private Cloud technology that delivers processing power, data, and apps is becoming pervasive. Significant cost savings and gains in efficiency are the primary drivers for cloud technology. Yet public clouds can carry risk. Global Knowledge Training points out ten major security concerns, among them: Where is the data? How many backups? Where are the backups? Is the data stored in a country with fewer controls or less effective intellectual property protections? Can other users see your data? Who has access? Global Knowledge says, Insider attacks are a huge risk. What kind of training does the provider offer its employees? Global Knowledge points out that people will always be the weakest link in security. Is there a data classification system and is data encrypted? When is data not encrypted? (For example, when running on a remote device). Regulatory Requirements. Does the cloud provider meet ISO 27003, Safe Harbor, ITIL, and COBIT requirements? Is the provider willing to undergo certification, accreditation, and review? What are the procedures for a security breach? What services will the provider offer in the case of a breach? As Global Knowledge points out, cloud-based services are an attractive target to hackers. What is the disaster recovery plan and business continuity plan? What seems to be evolving is more strategic use of cloud technology public clouds are used for many functions, but private clouds are being deployed by securityconscious enterprises when their more sensitive or proprietary data is at risk. InformationWeek s 2014 Private Cloud Survey shows that the percentage of respondents owning functional private clouds more than doubled from 2012 to 2014, from 21 per cent to 47 per cent. It would be difficult to overstate the success of the private cloud vision as reported by our respondents, InformationWeek noted. The significant factors causing companies to consider private clouds included: Significant operational cost savings (61%) Significant capital cost savings (54%) Compelling technical advantage (48%) Lower cost to entry (48%) When asked the reasons they would not use a public cloud, the two major citations were: Security and privacy concerns (73%) Regulatory, compliance, or legal restrictions (33%)
Introducing deviceconnect a Private Mobile Device Cloud Mobile Labs deviceconnect is a mobile device cloud that makes it easy for testers and developers to get live access to a real mobile device. A single unit holds up to 48 mobile devices that are attached to a server using powered USB hubs. More than one unit can be deployed if more devices are needed, and larger form factors of 100 devices and greater are planned. deviceconnect supports three closely-connected solution domains: automated testing of mobile applications and mobile websites, management of devices, users, and applications, and manual testing of mobile applications and mobile websites. The functional capabilities of deviceconnect include: Testing includes automated and manual testing of apps, websites, and hybrid apps that combine the two. Mobile Labs Trust, a certified add-in to HP s Unified Functional Test (UFT), supports automation; User Interface Automation includes using Trust with UFT; Selenium tests using WebDriver; open-source scripting using Frank, Calabash, and others; and partner automation including SOASTA TouchTest, Tricentis Tosca TestSuite, TurnKey and others; Performance Testing includes using UFT scripts to measure performance on real devices; Performance Metrics includes gathering device metrics through partner Crittercism; Load Testing includes using real mobile devices with HP s LoadRunner; Network Virtualization includes using real mobile devices as part of network virtualization tests using Shunra; Monitoring includes service level analysis and application health checking on real mobile devices using HP s BPM; Scheduling includes the ability to reserve devices in advance for individual use or for automated test runs. Devices can be reserved for a specific time or on a recurring basis; App Management includes the ability to make multiple versions of an app available for testing, to ensure the right version of the app is used for testing, and to inventory and select apps for testing as needed. Apps may be installed on devices or removed from devices remotely;
Device Management includes the ability to charge the device, view device Testing Reporting App Management details, see the state of the battery and charging system, view device logs, analyze device provisioning, and to remotely reboot; Mobile DevOps Device Management User Management includes the ability to authorize users, disable users, assign user roles, and manage passwords; Scheduling User Management DevOps includes the ability to script most deviceconnect management functions, allowing the automated installation of new builds onto appropriate devices and running automated tests without manual intervention. For example, Mobile Labs has a certified plug-in for IBM Urban Code Deploy that can be used in continuous integration scenarios to move apps onto mobile devices automatically every time a new build is issued. Test Your Way As a central component of the development and test infrastructure, deviceconnect performs device management, DevOps automation, application management, inventory, and scheduling operations regardless of whether UI testing is done manually or with automation tools. The deviceconnect strategy for testing takes into account that each enterprise is unique, and that not all enterprises will choose the same automation testing solution. Automation offerings are made available by Mobile Labs as supported add-ons to deviceconnect when popular, existing tools can be enabled to do mobile device testing. Mobile Labs first offering was an add-in for HP s Unified Functional Test (UFT) product. The add-in, Mobile Labs Trust, enables UFT-trained engineers immediately to be productive writing automated tests to run on real mobile devices. Our second offering will be a set of libraries that extend the Selenium WebDriver protocol to both native apps and websites with object intelligence supplied by Mobile Labs components on the device.
Native Apps Real Devices Hybrid Apps Mobile Websites Many organizations choose other automation solutions to use with deviceconnect. There are offerings from our partners (SOASTA, TurnKey, Tricentis), as well as open-source frameworks like Frank, Calabash, and Selenium WebDriver. The philosophy can be summed up as, Test Your Way, allowing enterprises to benefit from the infrastructure savings and improvements of deviceconnect without being locked into a single automation strategy or tool. deviceconnect Cloud Architecture deviceconnect Server Local (LAN) Users Mobile Devices Off-Shore Users The primary job of deviceconnect is to connect users with real mobile devices. Users connect to the deviceconnect server, select a device, and obtain control of the device through a remote viewer. Heart of the Infastructure Developers Test Engineers deviceconnect Cloud Security Architecture Support Engineers Trainers Architects deviceconnect has been designed to provide superior security when compared to public offerings. Sales As Engineers a private device cloud, deviceconnect is installed behind the corporate firewall and does not require access to the wide area network.
Moreover, deviceconnect has been designed so that customers can easily isolate their Wi-Fi networks from the internal LAN. All communication with deviceconnect occurs over wired connections LAN from desktop to the deviceconnect server and USB from the server to the devices. This important security measure means that the devices do not have to appear on the same subnet as the internal LAN and can be routed through proxy servers or other security measures as needed. This architecture has the added advantage of leaving the Wi-Fi and cellular connections for dedicated use in app testing without the interference of test management traffic like events and screenshots. All test management data flows into and out of the device over USB. Remote Device Control The user has a real-time view of the device screen whether sitting in the same room or across an ocean. The viewer can be used to input gestures like scroll, swipe, and tap. The device immediately executes such gestures. The viewer may also be used with automation software to identify objects and script actions against those objects. deviceconnect Server Secure Mobile Testing. Simplified. deviceconnect ships as a self-contained, pre-configured unit ready for instant setup and operation. The server, server software, and USB hubs are pre-configured at the factory. All that is required is to plug mobile devices into the USB hubs using cables manufacturers supply with each device. To capture the ease of installation, the deviceconnect cart is sometimes called an appliance.
The form factor pictured here represents one of many either offered or planned by Mobile Labs. Yet all form factors share the same basic anatomy. They may vary the number of devices supported, number of servers installed, and number of USB hubs installed. Because all functions of deviceconnect are performed by Mobile Labs software running on the Mac OS server, the hardware side of deviceconnect is simple and elegant. Devices are installed on one or more shelves in the interior of the appliance, and the server system is installed on a separate shelf. Because deviceconnect may be installed in a standard office environment and does not need data center power or data center cooling, setup of the device cloud is as simple as plugging it into standard wall outlet power and plugging a single Ethernet cable into the local area network. At right is one of three high-power USB hubs mounted in the rear of the unit; to add devices to the deviceconnect inventory, simply plug their USB cables into the hub. The system automatically recognizes and adds the device to the inventory. The hubs supply constant power to the devices and can switch into a higherpower charge mode for devices needing it.
Server Software Architecture deviceconnect consists of three software server programs running on a single system: DC-WEB DC-HUB DC-GATEWAY The dc-web server manages the web user interface that testers, developers, and administrators use to manage device inventory, connect to devices, manage device state, reserve devices, manage authorized users, and manage mobile apps. The dc-hub server provides services to the mobile devices like installing apps, removing apps, launching apps, rebooting the device, and retrieving device logs. The dc-gateway server is the communication bridge between a viewer on the user s desktop and a connected mobile device. Whether using our deviceviewer Windows app or our web viewer in a browser, the gateway process manages the interaction between the user and the device and, if using automation, between the automation component and the device. A high-performance, realtime display of the device screen is shown in the viewer. deviceagent Mobile Labs deviceagent DC-WEB DC-HUB DC-GATEWAY In addition to the three servers, deviceconnect installs software on the mobile device. The deviceagent program is installed automatically by deviceconnect when an app is launched on the device. The deviceagent program produces a deep object inventory of the app and processes events and screen updates; it also works Mobile App
with our devicecontrol apps to provide remote manual access to the entire UI of a device (not just one instrumented app). The deviceconnect servers exchange data with deviceagent that then manages the device and any app being tested. Three-tier Software Architecture The server is but one component of a three-tier distributed software architecture that includes the viewer/ automation on the user s desktop, the server, and a software instrument that runs on the device. deviceagent Mobile Labs Viewer deviceconnect Software Mobile App Software Tier-1: User/Administration - deviceviewer, webviewer - Automation components - Management interface Tier-2: deviceconnect servers - Web Server - Hub Server - Gateway Server Tier-3: deviceagent - devicecontrol - Realtime updates - Object-based testing Mobile Labs has developed the software for each of the three tiers: Management, automation components, and viewers on the user s desktop The deviceconnect servers The deviceagent instrument that processes events, returns screen contents, and discovers the complete object structure of a mobile app or a mobile website. Patent Applications Mobile Labs has three major patent claims pending concerning deviceconnect: Mobile Application Testing System Hardware topology as applied to mobile testing system deviceagent functionality Taken together, the patent portfolio describes the appliance concept and its cornerstone hardware and software architecture and functions.
Putting it All Together deviceconnect, a secure, private mobile device cloud, can help the mobile everything enterprise shorten cycle times, improve app quality, and reduce capital budgets by bringing order to the chaos of mobile app development and testing. With its Test Your Way philosophy, deviceconnect encourages collaboration and improves DevOps efficiencies for continuous integration and makes it easy to test on a wide variety of devices. Automation solutions from Mobile Labs, partners, and open source teams enable the greater numbers of test cases that mobility demands. Whole team collaboration among development, QA, customer support, training, and even sales support is possible with device cloud access and scheduling. As the core of the new mobile development and test infrastructure, deviceconnect provides answers to the new challenges that the mobile everything enterprise faces on the road to high-quality, secure, and efficient mobile app development and testing.
About Mobile Labs Mobile Labs provides enterprise-grade, next generation testing tools for mobile app testing, mobile device testing and mobile website testing. With a focus on security, agility and affordability, Mobile Labs delivers solutions to help enterprises deploy quality cross-platform mobile apps. The company s on-premises device cloud, deviceconnect, leverages patent-pending technology to provide highly secure access to and management of the entire inventory of test devices across major mobile platforms. Mobile Labs solutions provide support for both manual and automated testing on real mobile devices without jailbreaking or rooting. For more information, please visit www.mobilelabsinc.com.