Mobile Testing-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
Mobile Testing-as-a-Service (Mobile TaaS or MTaaS) Jerry Gao, Ph.D. - - PowerPoint PPT Presentation
Mobile Testing-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
Jerry Gao, Ph.D. Professor Computer Engineering Department San Jose State University
Sch Compt Infor & Dec Sys Engr Arizona State University
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
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.
No existing definition for Mobile TaaS. Our first definition: (Mobile TaaS in a cloud infrastructure): “Mobile Testing 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.”
On-Demand Function Services with APIs Searchable, Discoverable, Deployable, and Executable Multi-Tenancy and Elastic Scalability Online Distributed Mobile Access at Anywhere & Anytime Mobility and Connectivity Over wireless Internet Mobile Client Software (Thin/Smart/Thick Client) Pay-as-you-go Billing Model Customization and Configuration
On-Demand Mobile Test Run & Control Compatibility, Interoperation ability and Usability Testing Multi-Tenancy Testing On Mobile Clouds Internationalization Testing on Mobile Mobility and Connectivity Testing Function and Behavior Testing Mobile Test Simulation and Virtualization QoS Testing (Performance, load, Scalability..)
Large-Scale On-demand Mobile Test Services On-Demand Scalable Mobile Test Infrastructures and Environments Contracting, Utilization Billing and Reporting Test Project-Oriented Multi-Tenancy & Customization Support Control and Configuration Of Mobile Test Environments Test Tracking, Monitoring, and Coverage Analysis Easy Interoperation ability, Mobility & Connectivity Testing at Anywhere & Anytime (365/7/24) for Mobile App/Web App.
(platforms, connectivity, and configurations)
High costs on mobile test infrastructures due to: Frequent changes and upgrades on:
Complex mobile user interfaces
Complexity
Large-scale on:
Large-Scale
Multi-tenancy of mobile app/web applications
Multi-Tenancy
Service Component Unit Testing Service Component Integration Tenant-Based System Function Testing Tenant-Based System Testing Mobile Feature Testing Tenant-Based Continuous Testing Fault/Disaster Recovery Testing Live Upgrading Testing Live State Scenario Testing Live Re-Test Testing Multi-tenancy Testing APP Installation & Deployment Security Testing Usability Testing Compatibility Testing Connectivity Testing System QoS Testing Mobile Security Testing Scalability Testing Reliability Testing Performance & Load Testing Availability Testing Function Testing GUI-Based /Scenario Testing Business Intelligence Testing Behavior Testing Black-Box Testing White-Box Testing Performance Testing Component API Testing Internationalization Testing Interoperability Testing Mobility Feature Testing
MITE MonkeyTal k seeTestMob ile Neoload SandStorm MobileClou d Sikuli Calabash eggPlant MonkeyRu nner Robotiu m Dollop Selenium Android WebDriver Testing Focus Functional Testing R e-Testing Performance Testing Load Testing Platform Support Linux Windows Mac Tests on Mobile O.S Android iOS Windows Testing Mobile Web Apps Testing ative Apps Source code based testing Tests done using Emulator Real Device Scrip languages Java Python Jython Ruby Perl Record & Replay Image based Service Cost License / Subscription Open Source
Emulation-Based Testing
Emulation-Based Mobile GUI Mobile App server
Simulation-Based Mobile Testing
Simulation-Based Mobile GUI Mobile App server
Device-Based Mobile Testing
Mobile App server Wireless Internet Mobile Device in a Lab.
Remote Device-Based Mobile Testing
Mobile App server Wireless Internet Remote Mobile Device in a third-party mobile Lab.
Perspectives/ Different Approaches Emulation-Based Testing Simulation-Based Testing Mobile Device Based Testing in a Lab. Remote Device Based Mobile Testing in a Lab. System Function Testing Limitations on device-specific functions Limitations on device-specific functions Support Support End-to-End System Behavior Testing w/o real mobile device behaviors w/o real mobile device behaviors Support Support Mobile Compatibility & Interoperability Testing Very limited Very limited Require diverse mobile devices and platforms Require diverse mobile devices and platforms Mobile GUI and Usability Testing Limited w/o devices Limited w/o devices Good for real device experience Good for real device experience Load Testing Require server-
testing solutions Easy to generate simulation-based system loads Costly to generate real mobile traffic loads Costly to generate real mobile traffic loads Wireless Connectivity Testing Limited coverage Limited coverage Good coverage but require local wireless network connection control Good coverage, but require remote wireless network connection control Operation Costs Low Low High High Download & deployment Not support for Mobile Native App Not support for Mobile Native App Support Support
Perspectives/ Different Approaches Emulation-Based Testing Simulation-Based Testing Mobile Device Based Testing Remote Device Based Mobile Testing Scalability Testing Limited Support Limited Support Not Support Not Support Performance Testing Check emulation- based mobile system performance Check simulation- based mobile system performance Check mobile device user and system performance Check remote mobile device and system performance Multi-Tenancy Testing Limited coverage on multi-tenanted GUI features for specific devices Limited coverage on multi-tenanted GUI features for specific devices Supported with very high costs Supported with very high costs Mobility and Location-based Testing Limited testing based on configured locations Limited testing based on simulated locations Limited to signed device testing Limited to signed device testing Mobile Security Testing Limited coverage on real mobile OS/ platforms and mobile clients Limited coverage on mobile OS/ platforms and mobile clients Support testing on very limited scale Support testing on very limited scale Test Automation Easy for GUI testing Easy for GUI testing and load testing Required integrated mobile test beds with wireless connectivity Required integrated mobile test beds with wireless connectivity
Emulation-Based Mobile Testing on Clouds
Emulation-Based Mobile clients Mobile App Instances Wireless Internet
Simulation-Based Mobile Testing on Clouds
Simulation-Based Mobile clients Wireless Internet Mobile App Instances
Device-Based Mobile Testing on Clouds
Mobile App Instances Wireless Internet Mobile Device in a private cloud
Mobile TaaS Server
Internet WAN G4 G3
Private/Public Cloud
Intranet
Mobile Test Platform Management Server
Public/Private Cloud 2G,3G,4G,5G
Internet
Remote Mobile Device Cloud Remote Mobile Emulation Cloud Mobile TaaS Server
Mobile Test Platform Management Server
Mobile Test Automation Mobile Test Efficiency Large-Scale Test/Simulation Mobile Test Environment Costs Mobile Device Costs Mobile Testing Operation Costs Manual Test Operations Test Service Process Tim Pay-As- You-Test Test Anywhere Crossing Diverse Wireless Networks Crossing Platforms
Perspectives/ Different Approaches Emulation-Based Testing on Clouds Simulation-Based Testing On Clouds Mobile Device Based Testing on Clouds Remote Device Based Mobile Testing On Clouds Testing Service Model Emulation-based Mobile TaaS Service Model Simulation-based Mobile TaaS Service Model Private Mobile TaaS Service Model Remote Mobile TaaS Service Model Business and Billing Model Pay-as-you-use on device emulation could and TaaS server cloud Pay-as-you-use on device simulation could and TaaS server cloud Pay-as-you-use
could and TaaS server cloud Pay-as-you-use on remote device could and TaaS server cloud Testing Environment Emulation-Based Mobile TaaS Infrastructure on Clouds Simulation-Based Mobile TaaS Infrastructure on Clouds Private Mobile TaaS Infrastructure on Clouds Remote Mobile TaaS infrastructure on Clouds Costs No costs on mobile devices No costs on mobile devices High-costs for mobile devices Pay-as-you-use for third-party mobile devices Mobile Usability Testing No Support No Support Complete Support Complete Support Mobile End-To-End Transaction Testing Complete Support Complete Support Complete Support Complete Support Mobile Function and Behavior Testing No coverage on device-specific GUI function & behaviors No coverage on device-specific GUI function and behavior Complete Support Complete Support
Perspectives/ Different Approaches Emulation-Based Testing on Clouds Simulation- Based Testing On Clouds Mobile Device Based Testing on Clouds Remote Device Based Mobile Testing On Clouds Scalable Function Testing Supported Supported Supported Supported Scalable GUI Testing Not Supported for device-specific features Not Supported for device-specific features Supported Supported Scalable Behavior Testing Lack test coverage
behaviors Lack test coverage
behaviors Supported Supported Scalable Transaction Testing Supported Supported Supported Supported Scalable Compatibility & Interoperability Testing limited support on mobile Very limited support on mobile Good support Good Support Scalable QoS Testing Supported Supported Supported Supported Scalable Mobility and Location-based Testing Limited Support Limited Support Supported Supported Scalable Testing Simulation and Virtualization Emulation-based Simulation-based Supported Supported
Mobile TaaS Server
Internet WAN (G2-G5)
Under-Test Mobile APP Server
routers Mobile device cloud
Back-end Test Environment Agent
Major Objectives:
Mobile TaaS Server
Mobile Test Platform Server (s) Mobile Device Test Bed Mobile Test Platform Mobile Test Network Mobile Test Engine Deployed Mobile APP. Mobile Test-Ware Agent Mobile Test Control Agent Mobile Test Comm. Agent Mobile Test Migration Agent MTaaS Contract and Billing MTaaS User Management Mobile TaaS Manager Mobile TaaS Big Repository
Mobile Test Instance
Mobile Test Instance Mobile Test Instance
Mobile TaaS Cloud Mobile Test Bed Cloud Mobile TaaS Agent
Mobile Test Server(s) Mobile Device Test Bed Mobile Test Platform Mobile Test Network Mobile Test Engine Deployed Mobile APP.
Mobile Test Instance
Mobile Test Instance Mobile Test Instance
Mobile Test Bed Cloud
Defined Mobile Device Test Bed Defined Mobile Test Platform Defined Mobile Test Network Defined Mobile Test Intelligence Defined Mobile App. Deployment. Mobile Device Test Bed Mobile Test Platform Mobile Test Network Mobile Test Engine Deployed Mobile APP.
Mobile Test Instance Mobile Test Stack
Mobility Test Model & Criteria Connectivity Test Model & Criteria Mobile Envir. Test Model & Criteria Multi-tenancy Test Model & Criteria Interoperability Test Model & Criteria Mobile Security Test Model & Criteria Mobile Usability Test Model & Criteria End-To-End Transaction Test Model & Criteria Mobile App QoS Test Model & Criteria Mobile User Interface Test Model & Criteria Compatibility Test Model & Criteria Mobile Function Test Model & Criteria Mobile Behavior Test Model & Criteria
Mobility Functions Behaviors QoS REQs Mobile Environments And Compatibility Connectivity & Interoperability Usability &Languages Multi-Tenancy Mobile GUIs Mobile GUI Events GUI Forms/Contents Operation Flows Device Features Tenanted Data Tenanted Behaviors Tenanted Functions Tenanted GUIs State Paths State Transactions Dynamic States Scenarios Partitions Boundaries Decisions Throughputs Loads Performance Scalability Appliances & APIs OS/Platforms Mobile Devices Diverse Browsers Mobility Features Mobility Transactions Mobility Data External Connections Wireless Connections SaaS Connections Device API Connections Look & Feel Languages Operation Flows
Smartphone Tablet Web phone Select-1 Mobile device Wireless PAN (such as NFC/BlueTooth) Network Connectivity AND Platform/OS Select-1 Android iOS S40 Window RT BlackBerry Select-1 Version #1 Version #k Appliance APIs Select-1 Wireless LAN (such as WiFi..) WAN(2G/3G/4G..) Wireless internet Celluar Network (such as GSM/PCS) Smartphone A API-A API-B OR Mobile Device Mobile Environment Set-up Function Fi Dj Ek Fi (Dj, Ek)
i.e. System dynamics Dynamic Scalability and Performance Models for Testing Adaptive Dynamic Resource-Oriented Scalability Models Dynamic Models for Scalability Costs and QoS & SLAs Modeling dynamic behaviors of allocating computing resources at the cloud level (such as cloud infrastructures) Modeling dynamic behaviors of MSaaS/application performance in scalable cloud environment. Modeling scalability-based economic costs, QoS Performance and Scalability based SLA agreements for MSaaS Above Clouds SaaS Level Cloud Level Resource Measurement Performance Measurement Cost Measurement Scalability Measurement
Multi-Tenants Sharing Forms or Frames GUI Events Operation Flows Mobile GUI Structure MSaaS Business Logics App Workflows Service Functions DB Schema & Service DB Tables Mobile SaaS DB Mobile SaaS App Logics Mobile GUI Single Tenant Forms or Frames GUI Events Operation Flows Mobile GUI Structure MSaaS Business Logics MSaaS App Workflows Service Functions DB Schema & Service DB Tables Isolating
W1 W2 W3 W4 e12 e24 e43 e13 e21 e31 e42 e34 S0 e1 e2 e24
GWFM
Loop node Switch node
Mobile GUI forms Mobile Style & Profile Mobile GUI Flow Model Mobile Client Structure Model
GCSM SQL DB
Tenant-A
GDT GWF scheme GGFM
Service Workflow Decision Table
NoSQL DB
State diagram
GSD
API flow diagram
GAPI
Data test model
GDM
Mobile GUI Flow Model Mobile Client Structure Model
GB
CSM
SQL DB Tenant-B
GB
DT
GB
WF
scheme GB
GFM
Workflow Decision Table NoSQL DB State diagram
GB
SD
API flow diagram
GB
API
GB
DM
Data test model Mobile GUI Flow Model Mobile Client Structure Model
GA
CSM
SQL DB Tenant-A
GA
DT
GA
WF
scheme GA
GFM
Workflow Decision Table NoSQL DB State diagram
GA
SD
API flow diagram
GA
API
GA
DM
Data test model
5/19/2013 34
metadata to control almost all execution
significant computation requires data retrieval from the associated databases, new database model such as eventual consistency, writers over readers
redundant components, data, processors, storage, and communication
redundant load balancers, stateless service design, automated migration, automated data partitioning, automated workload detection
5/19/2013 35
36
Poly- Morphic Application
application generator dynamically builds applications in response to specific user requests
management
Network Services Storage Services Backup Services Monitoring Services
NA0 Pod NA1 Pod NA2 Pod NA3 Pod NA4 Pod NA5 Pod
EMEA Pod APAC Pod
Sandbox Pod EMEA2 Pod NA6 Pod NA7 Pod
“N” Pod
Threshold User Capacity = Add a POD
black box and provides chunk-level redundancy and recovery.
PaaS resources to different tanants, such as partitioning storage and network resources (Cisco, VmWare, NetApp for tenants.
mechanisms on top of a PaaS. R&R can be at the scheduler level,
38
Si Si Si SiTaaS 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
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
40
TA Analysis TA Analysis Combinatorial Testing Combinatorial Testing Interaction (X, F, P, N, U) Configuration (X, F, P, N, U) Eliminate configurations from testing considerations (1) Identify pass/fault configurations (2) Identify fault location Automated detection of X or F configurations using existing test results AR AETG IPO
5/19/2013 41
… Workflows Services … Databases … Workflows Services (a) SOA model (b) SaaS model … Databases … … Workflows Services … Continuous Testing by Trigger Rules triggers Continuous Testing by Obtaining Input/Output triggers (c) Continuous Testing in SaaS …
5/19/2013 44
5/19/2013 45
Automated test scalability: Need to deal with scalability of 1) applications, 2) cloud infrastructure; 3) TaaS. – Testing 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:
tasks to different processors for execution
5/19/2013 46
configurations is 10 billion.
4500.
0.1%, 1.1%, 2.2%, 3.3%, 6.67%, and 11.1% of 4,500 2-way interactions respectively.
48
0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1 200 1200 2200 3200 4200 5200 6200
final faults/faults
5 faults 50 faults 100 faults 200 faults 300 faults
test is permitted to contain this interaction. For example, it may be infeasible to select two GUI components in one configuration such that
whose execution gave an operational result, the interaction cannot be faulty.
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.
is required but not currently known.
49
50
51
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.
there must be an error in the testing results. Addition operations
52
different servers to test, and these sets do not need to be non-overlapping.
interaction (c, d, e) is infeasible, and all other interactions pass the testing.
53
(a) Diversity of mobile devices and platforms à high complexity of mobile testing environments à high cost on set-up cloud-based mobile testing infrastructure
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
control-oriented script language and protocol for remote control and control)
solutions
(c) Lack of standards à higher cost in test tool integration and set-up for mobile test automaton
among test tools
cloud services
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
loads and user accesses
(e) Globalization and internationalization à higher cost and difficulty in testing for diverse language contents and Mobile User interfaces