Mobile -as-a-service (Mobile TaaS or MTaaS) Jerry Gao, Ph.D. Professor Computer Engineering Department San Jose State University W. T. Tsai, Ph.D. Professor Sch Compt Infor & Dec Sys Engr Arizona State University
Table of Contents Introduction What is Mobile TaaS? Why is Mobile TaaS Important? Mobile Process Major Players and Tools Mobile Approaches, Infrastructures, and Comparisons Mobile TaaS Approaches, Infrastructures, and Comparisons Expected Benefits and Features Test Models and Test Coverage Criteria User View of TaaS Cloud Computing View of TaaS Issues and Needs for Future Research
Introduction Market Trends on Mobile According to the latest study from Juniper Research, the market for cloud-based mobile applications will grow 88% from 2009 to 2014. The market was just over $400 million this past year, says Juniper, but by 2014 it will reach $9.5 billion. Driving this growth will be the adoption of the new web standard HTML5, increased mobile broadband coverage and the need for always-on collaborative services for the enterprise.
Introduction Market Needs on Mobile
Knowledge Background for Mobile TaaS Research Software and Test Automation Mobile Computing Cloud Computing & SaaS Engineering
What Is Mobile TaaS? No existing definition for Mobile TaaS. Our first definition: (Mobile TaaS in a cloud infrastructure): Mobile as a Service (known as Mobile TaaS) provides on-demand testing services for mobile applications and SaaS to support software validation and quality engineering processes by leveraging a cloud-based scalable mobile testing environment to assure pre-defined given service-level-agreements (SLAs). Mobile TaaS on clouds offers a new business model for diverse mobile software validation services using the pay-as-you-test model to achieve cost-sharing and cost-reduction in mobile computing resources, networks, cloud computing and storage infrastructures.
Mobile SaaS Features Multi-Tenancy and Elastic Scalability Mobile Client Software (Thin/Smart/Thick Client) Searchable, Discoverable, Deployable, and Executable On-Demand Function Services with APIs Mobile SaaS Customization and Configuration Pay-as-you-go Billing Model Mobility and Connectivity Over wireless Internet Online Distributed Mobile Access at Anywhere & Anytime
Mobile Scope Multi-Tenancy On Mobile Clouds Function and Behavior Compatibility, Interoperation ability and Usability On-Demand Mobile Test Run & Control Mobile QoS (Performance, load, Scalability..) Mobile Test Simulation and Virtualization Mobility and Connectivity Internationalization on Mobile
Mobile TaaS Requirements and Needs Test Project-Oriented Multi-Tenancy & Customization Support at Anywhere & Anytime (365/7/24) for Mobile App/Web App. Contracting, Utilization Billing and Reporting On-Demand Scalable Mobile Test Infrastructures and Environments Mobile TaaS Large-Scale On-demand Mobile Test Services Control and Configuration Of Mobile Test Environments Test Tracking, Monitoring, and Coverage Analysis Easy Interoperation ability, Mobility & Connectivity
Why Is MTaaS Important? High costs on mobile test infrastructures due to: Diverse mobile devices and HW appliances &APIs Diverse mobile operation environments (platforms, connectivity, and configurations) Diverse wireless connectivity and configurations Frequent changes and upgrades on: Mobile devices, appliances, and their APIs Mobile applications, features, and service plans Mobile platforms, technologies, input solutions Complexity Large-Scale Complex mobile user interfaces Diverse mobile browsers and technologies Input approaches, display screens Multi-language mobile contents Large-scale on: On-demand mobile test service requests Mobile test simulation and traffic loads Virtualization of mobile devices and environments Multi-tenancy of mobile app/web applications Multi-Tenancy Functions, behaviors, and QoS REQs Data, security features, user interfaces
Why Is MTaaS Important?
Mobile Web vs. Native Apps: Differences in
Mobile Process for MSaaS/Mobile APP Tenant-Based Continuous Fault/Disaster Recovery Live Upgrading Live State Scenario Live Re-Test Mobile Feature Connectivity Compatibility Mobility Feature Usability Interoperability Mobile Security Internationalization Tenant-Based System APP Installation & Deployment Security System QoS Multi-tenancy Tenant-Based System Function Service Component Integration Scalability Function Reliability GUI-Based /Scenario Performance & Load Business Intelligence Availability Behavior Service Component Unit Black-Box White-Box Performance Component API
Major Players and Tools in Mobile MITE MonkeyTal k seetestmob ile Neoload SandStorm MobileClou Sikuli d Calabash eggplant MonkeyRu nner Robotiu mdollop Selenium Android WebDriver Focus Platform Support Tests on Mobile O.S Functional R e - Performance Load Linux Windows Mac Android ios Windows Mobile Web Apps ative Apps Source code based testing Tests done using Emulator Scrip languages Record & Replay Real Device Java Python Jython Ruby Perl Image based Service Cost License / Subscription Open Source
Mobile Environments and Infrastructures Emulation-Based Mobile App server Emulation-Based Mobile GUI Simulation-Based Mobile Mobile App server Simulation-Based Mobile GUI Device-Based Mobile Mobile App server Wireless Internet Mobile Device in a Lab. Remote Device-Based Mobile Mobile App server Wireless Internet Remote Mobile Device in a third-party mobile Lab.
Conventional Mobile Approaches Perspectives/ Different Approaches Emulation-Based Simulation-Based Mobile Device Based in a Lab. Remote Device Based Mobile in a Lab. System Function End-to-End System Behavior Mobile Compatibility & Interoperability Mobile GUI and Usability Load Wireless Connectivity Limitations on device-specific functions w/o real mobile device behaviors Limitations on device-specific functions w/o real mobile device behaviors Support Support Very limited Very limited Require diverse mobile devices and platforms Limited w/o devices Require serveroriented load testing solutions Limited w/o devices Easy to generate simulation-based system loads Good for real device experience Costly to generate real mobile traffic loads Limited coverage Limited coverage Good coverage but require local wireless network connection control Operation Costs Low Low High High Support Support Require diverse mobile devices and platforms Good for real device experience Costly to generate real mobile traffic loads Good coverage, but require remote wireless network connection control Download & deployment Not support for Mobile Native App Not support for Mobile Native App Support Support
Conventional Mobile Approaches Perspectives/ Different Approaches Emulation-Based Simulation-Based Mobile Device Based Remote Device Based Mobile Scalability Limited Support Limited Support Not Support Not Support Performance Multi-Tenancy Mobility and Location-based Mobile Security Check emulationbased mobile system performance Limited coverage on multi-tenanted GUI features for specific devices Limited testing based on configured locations Limited coverage on real mobile OS/ platforms and mobile clients Check simulationbased mobile system performance Limited coverage on multi-tenanted GUI features for specific devices Limited testing based on simulated locations Limited coverage on mobile OS/ platforms and mobile clients Test Automation Easy for GUI testing Easy for GUI testing and load testing Check mobile device user and system performance Supported with very high costs Limited to signed device testing Support testing on very limited scale Required integrated mobile test beds with wireless connectivity Check remote mobile device and system performance Supported with very high costs Limited to signed device testing Support testing on very limited scale Required integrated mobile test beds with wireless connectivity
Different Mobile TaaS Infrastructure Emulation-Based Mobile on Clouds Mobile App Instances Wireless Internet Emulation-Based Mobile clients Simulation-Based Mobile on Clouds Mobile App Instances Wireless Internet Simulation-Based Mobile clients Device-Based Mobile on Clouds Mobile App Instances Wireless Internet Mobile Device in a private cloud
Mobile TaaS Infrastructure for Native Mobile App App. Store Server WAN G3 G4 Private/Public Cloud Internet Mobile TaaS Server Intranet Mobile Test Platform Management Server
Mobile TaaS Infrastructures for Mobile Web App. Public/Private Cloud 2G,3G,4G,5G Remote Mobile Emulation Cloud Internet Mobile TaaS Server Mobile Test Platform Management Server Remote Mobile Device Cloud
Expected Features & Benefits of Mobile TaaS Crossing Platforms Crossing Diverse Wireless Networks Mobile Test Automation Mobile Test Efficiency Large-Scale Test/Simulation Mobile Test Environment Costs Mobile Device Costs Mobile Operation Costs Manual Test Operations Test Anywhere Pay-As- You-Test Test Service Process Tim
Different Mobile TaaS Approaches Perspectives/ Different Approaches Emulation-Based on Clouds Simulation-Based On Clouds Mobile Device Based on Clouds Remote Device Based Mobile On Clouds Service Model Business and Billing Model Environment Costs Mobile Usability Mobile End-To-End Transaction Mobile Function and Behavior Emulation-based Mobile TaaS Service Model Pay-as-you-use on device emulation could and TaaS server cloud Emulation-Based Mobile TaaS Infrastructure on Clouds No costs on mobile devices Simulation-based Mobile TaaS Service Model Pay-as-you-use on device simulation could and TaaS server cloud Simulation-Based Mobile TaaS Infrastructure on Clouds No costs on mobile devices Private Mobile TaaS Service Model Pay-as-you-use on private device could and TaaS server cloud Private Mobile TaaS Infrastructure on Clouds High-costs for mobile devices No Support No Support Complete Support Complete Support Complete Support Complete Support No coverage on device-specific GUI function & behaviors No coverage on device-specific GUI function and behavior Complete Support Remote Mobile TaaS Service Model Pay-as-you-use on remote device could and TaaS server cloud Remote Mobile TaaS infrastructure on Clouds Pay-as-you-use for third-party mobile devices Complete Support Complete Support Complete Support
Different Mobile TaaS Approaches Perspectives/ Different Approaches Emulation-Based on Clouds Simulation- Based On Clouds Mobile Device Based on Clouds Remote Device Based Mobile On Clouds Scalable Function Scalable GUI Scalable Behavior Scalable Transaction Scalable Compatibility & Interoperability Supported Supported Supported Supported Not Supported for device-specific features Lack test coverage on device-specific behaviors Not Supported for device-specific features Lack test coverage on device-specific behaviors Supported Supported Supported Supported Supported Supported Supported Supported limited support on mobile Very limited support on mobile Good support Good Support Scalable QoS Supported Supported Supported Supported Scalable Mobility and Location-based Scalable Simulation and Virtualization Limited Support Limited Support Supported Supported Emulation-based Simulation-based Supported Supported
Proposed Infrastructure for Mobile App. and SaaS Systems Major Objectives: Reduce mobile testing costs and complexity Easy to set up an integrated mobile test environment for projects Enable to support large-scale testing different types of mobile testing Mobile TaaS Server WAN (G2-G5) routers Internet Under-Test Mobile APP Server Back-end Test Environment Agent Mobile device cloud
Proposed Mobile Test Stack for Mobile App. and MSaaS Mobile TaaS Cloud Mobile TaaS Server MTaaS Contract and Billing MTaaS User Management Mobile TaaS Manager Mobile TaaS Big Repository Mobile TaaS Agent Mobile Test Control Agent Mobile Test-Ware Agent Mobile Test Migration Agent Mobile Test Comm. Agent Mobile Test Instance Mobile Test Engine Deployed Mobile APP. Mobile Test Platform Mobile Device Test Bed Mobile Test Network Mobile Test Instance Mobile Test Instance Mobile Test Platform Server (s) Mobile Test Bed Cloud
Proposed Mobile Test Stack for Mobile App. and SaaS Mobile Test Stack Defined Mobile Test Intelligence Defined Mobile App. Deployment. Defined Mobile Test Platform Defined Mobile Device Test Bed Defined Mobile Test Network Mobile Test Instance Mobile Test Engine Deployed Mobile APP. Mobile Test Platform Mobile Device Test Bed Mobile Test Network Mobile Test Instance Mobile Test Engine Deployed Mobile APP. Mobile Test Platform Mobile Device Test Bed Mobile Test Network Mobile Test Instance Mobile Test Instance Mobile Test Server(s) Mobile Test Bed Cloud
Test Models and Test Criteria Mobile User Interface Test Model & Criteria End-To-End Transaction Test Model & Criteria Mobile App QoS Test Model & Criteria Compatibility Test Model & Criteria Mobile Security Test Model & Criteria Mobile Behavior Test Model & Criteria Interoperability Test Model & Criteria Mobile Usability Test Model & Criteria Mobile Function Test Model & Criteria Mobile Envir. Test Model & Criteria Connectivity Test Model & Criteria Multi-tenancy Test Model & Criteria Mobility Test Model & Criteria
Mobile Apps and Mobile SaaS Test Coverage Functions Behaviors Multi-Tenancy Mobile GUIs Boundaries Partitions Scenarios Decisions Dynamic States State Transactions State Paths Tenanted Functions Tenanted Behaviors Tenanted Data Tenanted GUIs Device Features GUI Forms/Contents Operation Flows Mobile GUI Events Performance Loads Mobile Devices OS/Platforms Throughputs Diverse Browsers Scalability Appliances & APIs Mobility Transactions SaaS Connections Mobility Data External Connections Device API Connections Mobility Features Wireless Connections Languages Operation Flows Look & Feel QoS REQs Mobile Environments And Compatibility Mobility Connectivity & Interoperability Usability &Languages
Modeling for Mobile Test Environments Mobile device Select-1 Web phone Tablet Smartphone Function Fi Dj Ek Fi (Dj, Ek) Mobile Environment Set-up Mobile Device Smartphone A AND Platform/OS Select-1 S40 Android ios Window RT BlackBerry Network Connectivity Select-1 WAN(2G/3G/4G..) Wireless internet Appliance APIs API-A OR API-B Wireless PAN (such as NFC/BlueTooth) Select-1 Version #1 Version #k Celluar Network (such as GSM/PCS) Wireless LAN (such as WiFi..)
Scalability & Performance Modeling in Clouds Modeling dynamic behaviors of MSaaS/application performance in scalable cloud environment. Dynamic Scalability and Performance Models for Dynamic Models for Scalability Costs and QoS & SLAs Adaptive Dynamic Resource-Oriented Scalability Models i.e. System dynamics Modeling scalability-based economic costs, QoS Performance and Scalability based SLA agreements for MSaaS Modeling dynamic behaviors of allocating computing resources at the cloud level (such as cloud infrastructures) Above Clouds Cloud Level Resource Measurement Performance Measurement Cost Measurement Scalability Measurement SaaS Level
Multi-Tenancy of SaaS and Mobile SaaS Single Tenant Multi-Tenants Mobile GUI Structure GUI Events MSaaS App Workflows Operation Flows Forms or Frames Service Functions MSaaS Business Logics Mobile GUI Structure GUI Events App Workflows Operation Flows Forms or Frames Service Functions MSaaS Business Logics Mobile GUI Mobile SaaS App Logics DB Schema & Service DB Tables DB Schema & Service DB Tables Mobile SaaS DB Isolating Sharing
Multi-Tenancy Test Models Mobile Style & Profile Mobile GUI forms W1 e12 e13 e31 e21 W2 e24 W3 e34 e42 e43 W4 G GFM Mobile GUI Flow Model S0 Switch node G WFM e1 e2 e24 Loop node Mobile Client Structure Model G CSM Service Workflow G WF G DM SQL DB scheme G DT Tenant-A Data test model Decision Table G SD G API NoSQL DB State diagram API flow diagram
Multi-Tenancy for MSaaS Mobile GUI Flow Model G A GFM Mobile GUI Flow Model G B GFM Mobile Client Structure Model G A CSM Mobile Client Structure Model G B CSM G A WF G B WF Workflow Workflow Tenant-A G A DT Tenant-B G B DT Decision Table Decision Table G A DM Data test model scheme SQL DB State diagram G A API G A SD G B DM Data test model scheme SQL DB G B SD State diagram G B API NoSQL DB API flow diagram API flow diagram NoSQL DB
Cloud Computing as New Computing SaaS (software-as-a-service), PaaS (platform-as-a-service), and IaaS (infrastructure-as-a-service) as three principal components of cloud SaaS software, PaaS platform and IaaS infrastructure. In fact, SaaS software, PaaS platform, IaaS infrastructure. From user point of view: XaaS means online, rentable, composable, searchable, scalable, virtualized, seemingly unlimited computing, storage and networking 5/19/2013 34
XaaS Internal Point of View Decentralized operations: Parallel and distributed computing, P2P operations, and MapReduce operations Metadata-based computing: Separating metadata from data, and use metadata to control almost all execution Data-centric computing: Metadata and data will be retrieved often, significant computation requires data retrieval from the associated databases, new database model such as eventual consistency, writers over readers Automated redundancy and recovery: Automated triplicate writes, redundant components, data, processors, storage, and communication Automated scalability: Multi-level scalability architecture with redundant load balancers, stateless service design, automated migration, automated data partitioning, automated workload detection 5/19/2013 35
SaaS Example: Salesforce.com [3] Distributed operations Metadata-driven computing Data-centric computing: runtime application generator dynamically builds applications in response to specific user requests Automated redundancy and recovery management Automated scalability Poly- Morphic Application 36
Example Scalability Architecture (Salesforce.com) NA0 Pod NA1 Pod Network Services APAC Pod Sandbox Pod NA2 Pod Storage Services EMEA2 Pod NA3 Pod NA4 Pod NA5 Pod Backup Services Monitoring Services NA6 Pod NA7 Pod Threshold User Capacity = Add a POD EMEA Pod N Pod
Redundancy and Recovery Example (Salesforce.com) PaaS level: A PaaS system is often a black box and provides chunk-level redundancy and recovery. SaaS-oriented PaaS: This divides the PaaS resources to different tanants, such as partitioning storage and network resources (Cisco, VmWare, NetApp for tenants. SaaS-on-PaaS: Design SaaS R&R mechanisms on top of a PaaS. R&R can be at the scheduler level, ontology, data, metadata levels, and other levels. Si Si 38
TaaS from User Point of View TaaS means testing software will be online, composable, Web-based, on demand, searchable, scalable, virtualized and secure testing environment, unlimited computing, storage and networking Test case generation: Users or crowd can develop, debug, and evaluate test cases online using automated test case generation tools online or TaaS. One set of users can develop test cases, a different set can evaluate test cases, all participants can be ranked. Test script development: Users or crowd can develop, debug and evaluate test scripts using TaaS tools in a collaborative manner, or use SaaS approach where software is constructed by reusing components Test script compilation and deployment: can be done automatically by TaaS or as user directed Test script execution: Parallel, distributed, autonomous, or MapReduce Test result evaluation: Database operations such as automated saving, intelligent retrieval, concurrent, parallel, distributed and MapReduce evaluation execution 5/19/2013 39
Concurrent and Analysis in clouds Eliminate configurations from testing considerations TA Analysis Interaction (X, F, P, N, U) Configuration (X, F, P, N, U) Combinatorial AR AETG IPO Automated detection of X or F configurations using existing test results (1) Identify pass/fault configurations (2) Identify fault location 40
TaaS from Internal Point of View Decentralized operations: tasks may be Executed in a parallel, distributed, autonomously, ondemand, or triggered by policies; tasks may be migrated, performed in a redundant manner, or embedded within cloud operations. Metadata-based computing: Use metadata to Specify and control testing tasks such as time, frequency, multi-tasking, redundant testing, parallel testing Specify test cases, scripts, and environment Specify test results such as indexing, location, organization, profiles 5/19/2013 41
Built-in Continuous Services Services Workflows Workflows (a) SOA model Databases (b) SaaS model Continuous by Obtaining Input/Output Services triggers Workflows Databases Continuous by Trigger Rules (c) Continuous in SaaS triggers
Test Cases Generation from Metadata Test cases can be generated by examining metadata: For example, length of customer must be 64 bits, One can generate a collection of customers of 64 bits, another collection with 128 bits or any other bits. Random number from 0 ~ 2 64-1 Another set is negative numbers Greater than 2 64-1 The boundary value test cases can be generated from {-2, -1, 0, +1, +2} around boundary of the constraints, specifies by the metadata. The need for International standard on test metadata for TaaS
TaaS from Internal Point of View (continued) Data-centric testing: Use data in the SaaS, PaaS, or TaaS database for testing. This may include Automated test results saving in test databases like inmemory databases where data are classified as hot, warm, or cold Storing monitoring data intelligently with automated index generation Analysis of test data to optimize test strategies Multi-tenancy test script composition. i.e., one test code for all testing needs, and use different components to customize different testing needs Automated logging like LogStash or Splunk manner 5/19/2013 44
TaaS from Internal Point of View (continued) Automated test redundancy management and recovery: tasks can be partitioned and sent to different processors for parallel and redundant processing Test results can be merged following a mathematical principle to increase the confidence of test execution Test and test results can be recovered in case of failures in a processor or in a cluster due to automated redundancy management Recovery follows the metadata-based approach 5/19/2013 45
TaaS from Internal Point of View (continued) Automated test scalability: Need to deal with scalability of 1) applications, 2) cloud infrastructure; 3) TaaS. scalability of applications and cloud infrastructure: Need to follow cloud scalability mechanisms (such as 2-level scalability architecture, stateless service design, and automated migration), testing needs to set up an environment including test input, relevant SaaS and PaaS services, execute test, and evaluate the performance. TaaS scalability: as the SUT scales up at runtime (with more resources and more data generated), TaaS needs to scale up proportionally to track and monitor the execution. TaaS scalability mechanism may include: Multi-level TaaS load balancers used to dispatch (stateless) testing tasks to different processors for execution Automated testing tasks migration to optimize test execution 5/19/2013 46
Combinatorial TaaS Combinatorial (CT) can detect failures triggered by interactions of parameters with a covering array test suite generated. Many outstanding algorithms are available, and they focus on test coverage. But cloud computing need to identify faults, not just failures. Also need a algebra to allow to Inference of the test results of a subset to the test results of its superset. Allowing asynchronous merging of test results. Allow test problem space to be decomposed. Allow concurrent and asynchronous testing Allow storage of intermediate test results
Tenant Application with Fault Detection 10 components and 10 values in each components. Thus the total number of configurations is 10 billion. Faults scale ( only for two-way faults ): the number of 2-way interactions is 4500. Simulated different number of faults: 5, 50, 100, 200, 300, 500, that represent 0.1%, 1.1%, 2.2%, 3.3%, 6.67%, and 11.1% of 4,500 2-way interactions respectively. final faults/faults 1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 5 faults 50 faults 100 faults 200 faults 300 faults 0,2 0,1 0 200 1200 2200 3200 4200 5200 6200 48
Five Status Indicators Infeasible (X): For certain interactions, it may happen that no feasible test is permitted to contain this interaction. For example, it may be infeasible to select two GUI components in one configuration such that one says the wall is GREEN but the other says RED. Faulty (F): If the interaction has been found to be faulty. Operational (P): Among the rest, if an interaction has appeared in a test whose execution gave an operational result, the interaction cannot be faulty. Irrelevant (N): For some feasible interactions, it may be the case that certain interactions are not expected to arise, so while it is possible to run a test containing the interaction, there is no requirement to do so. Unknown (U): If neither of these occurs then the status of the interaction is required but not currently known. 49
Multiplication Rule The binary operation has the following properties of commutatively and associativity. Superset of X or F are still or F. 50
Concurrent Framework 51
Merging Concurrent Results The testing results of a interaction T in different servers should satisfy the following constraints. If V (T ) = U in one cluster, then in other clusters the V (T ) can be either F, P, N, or U. If V (T ) = N in one cluster, then in other clusters, the V (T ) can be either F, P, N, or U. If V (T ) = P in one cluster, then the V (T ) can be either P, N, or U in all clusters; If V (T ) = F in one cluster, then in other clusters, the V (T ) can be F, N, or U. If V (T ) = X in one cluster, then in other clusters, the V (T ) can be X only. If these constraints are satisfied, then the testing results can be merged. Otherwise, there must be an error in the testing results. Addition operations 52
Partition Configurations Algebraic rules allow one to partition configurations into different sets for different servers to test, and these sets do not need to be non-overlapping. Fifteen configurations, assuming only interaction (c, d, f) is faulty, and only interaction (c, d, e) is infeasible, and all other interactions pass the testing. 53
Issues in Mobile TaaS (a) Diversity of mobile devices and platforms à high complexity of mobile testing environments à high cost on set-up cloud-based mobile testing infrastructure o Diverse mobile devices with different configurations/operation environments o Diverse mobile appliances, drivers, and APIs from different vendors o Diverse wireless connectivity o Private/public cloud infrastructure for both mobile client and mobile SaaS servers (b) Mobile test automation in large-scale à require intelligent large-scale concurrent test automation à require automatic test control and handling methods for test failures o Lack of high-level test automation control technology (for example, test control-oriented script language and protocol for remote control and control) o Lack of well-defined scripting standards, techniques and hierarchical control solutions
Issues in Mobile TaaS (c) Lack of standards à higher cost in test tool integration and set-up for mobile test automaton o Lack of standard interfaces, languages, and connectivity protocols, and APIs among test tools o Lack of well-defined QA processes and test criteria for mobile Apps and mobile cloud services o Lack of standard test interfaces, APIs, and connectivity protocols to support mobile app testing and mobile cloud service validation (d) Lack of effective open mobile test stack/frameworks, and test tools à the difficulties and challenges in mobile test automation o Lack of an effective mobile test bed for diverse mobile apps o Lack of a scalable mobile test tool to support large-scale mobile traffic loads and user accesses o Diverse wireless connectivity (e) Globalization and internationalization à higher cost and difficulty in testing for diverse language contents and Mobile User interfaces