Caiipa: Automated Large-scale Mobile App Testing through Contextual Fuzzing



Similar documents
Mobile Test Strategy. Shankar Garg. Senior Consultant - Testing

STeP-IN SUMMIT June 18 21, 2013 at Bangalore, INDIA. Enhancing Performance Test Strategy for Mobile Applications

SEACW DELIVERABLE D.1.6

WHITEPAPER BEST PRACTICES IN MOBILE APPLICATION TESTING

RUN THE RIGHT RACE. Keep pace with quickening release cycles. Discover automation with the human touch. CHOOSE A TEST TO RUN BELOW

Efficient Mobile Testing Georg Thurner Mike Nemeth, September 18, Copyright 2014, Tricentis GmbH. All Rights Reserved. 1

Cognizant Mobility Testing Lab. The faster, easier, more cost-effective way to test enterprise mobile apps.

DOCUMENT REFERENCE: SQ EN. SAMKNOWS SMARTPHONE-BASED TESTING SamKnows App for Android White Paper. March 2014

Peach Fuzzer Platform

The CEO s Manual to DNTX How to use DNTX.com

ADMINISTRATOR GUIDE FOR USA MOBILITY AMC SELECT

Empowering Developers to Estimate App Energy Consumption. Radhika Mittal, UC Berkeley Aman Kansal & Ranveer Chandra, Microsoft Research

DOCUMENT REFERENCE: SQ EN. SAMKNOWS SMARTPHONE-BASED TESTING SamKnows App for Android White Paper. May 2015

Things to consider before you do an In-place upgrade to Windows 10. Setup Info. In-place upgrade to Windows 10 Enterprise with SCCM

Continuously Improve Mobile App Quality: IBM Mobile Quality Assurance

Mobile Test Automation - Right Tools and Right Approach

Mobile App Testing Guide. Basics of Mobile App Testing

Optimizing Background Sync on Smartphones

Statement of Direction

Adobe Marketing Cloud Bloodhound for Mac 3.0

Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality,

Guide to Mobile Testing

Simple Mobile Application & Browser Testing

Image Area. White Paper. Best Practices in Mobile Application Testing. - Mohan Kumar, Manish Chauhan.

Syllabus Version

Enterprise Mobile App Management Essentials. Presented by Ryan Hope and John Nielsen

MCBDirect Corporate Logging on using a Soft Token

BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: Security Note

Microsoft DFS Replication vs. Peer Software s PeerSync & PeerLock

Lee Barnes, CTO Utopia Solutions. Utopia Solutions

Using the Shockbox Application on your Android Phone (ver 1.5)

Testing & Assuring Mobile End User Experience Before Production. Neotys

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

Andrej Zdravkovic Regional Vice President, Platform Solutions Intellinet

Performance Workload Design

How To Use The Elena Mobile App

Quick Installation Guide

Using the owncloud Android App

ENERGY SAVING SYSTEM FOR ANDROID SMARTPHONE APPLICATION DEVELOPMENT

AUTOMATED MOBILE TESTING REQUIRES BOTH REAL DEVICES AND EMULATORS

NAS 242 Using AiMaster on Your Mobile Devices

Five Strategies for Performance Testing Mobile Applications

U.S. Mobile Benchmark Report

Introduction to ios Testing

Windows 8.1/Windows Server 2012 R2 Support Information

Tableau Server Scalability Explained

SysAid MDM User Guide for Android

Kaseya 2. User Guide. Version 7.0. English

How to Print Using the PrinterOn Hosted Service & FAQs

MOBILE APPS. QA Testing for mobile applications

Building a Mobile App Security Risk Management Program. Copyright 2012, Security Risk Advisors, Inc. All Rights Reserved

4G Customer F.A.Q s. What is 4G? 4G is the fourth generation of mobile phone technology and follows on from 2G and 3G services. What are the benefits?

Automated testing for Mobility New age applications require New age Mobility solutions

AVM Software Upgrade + New Hardware Release. Saturday 13 TH June 2015

Introduction to Android

The Tablet Revolution: A Report on Tablet Usage, Tablet Conversation Analysis & How Tablet Users Interact with Search Ads

Juniper Secure Analytics Release Notes

Mobile Test Automation: Lessons Learned in the Trenches

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday

Available on VitalSource

HP Cloud Printing. Rachel Tang, Market Development Manager 3 Dec, 2013

McAfee Enterprise Mobility Management Performance and Scalability Guide

Mobile Performance Management Tools Prasanna Gawade, Infosys April 2014

H0/H2/H4 -ECOM100 DHCP & HTML Configuration. H0/H2/H4--ECOM100 DHCP Disabling DHCP and Assigning a Static IP Address Using HTML Configuration

Mobile Operating Systems & Security


How to Use YourPrintCloud Wireless Printing for Xerox Copiers & Printers. revised 30 Jan

How to use the PraxisUnico event app

A Beginners Guide To Responsive, Mobile & Native Websites 2013 Enhance.ie.All Rights Reserved.

Cognizant Mobility Testing Lab A state of the art Integrated platform for Mobility QA

Mobile Testing, Agile Methodologies & You!

Choosing a Mobile Application Development Approach

Operating Systems. Notice that, before you can run programs that you write in JavaScript, you need to jump through a few hoops first

Discovering Computers

Transcription:

Caiipa: Automated Large-scale Mobile App Testing through ual Fuzzing Chieh-Jan Mike Liang (MSR); Nicholas D. Lane (MSR); Niels Brouwers (Delft); Li Zhang (USTC); Borje F. Karlsson (MSR); Hao Liu (Tsinghua); Yan Liu (SJTU); Jun Tang (Harbin); Xiang Shan (Harbin); Ranveer Chandra (MSR); Feng Zhao (MSR)

> Two Million Apps > 500,000 Developers

The Health of the App Eco-system Drives the Mobile Platform Success But Music download apps not working Saturday 17th of March 2012 Has anyone noticed their music download apps not working the last few days? I have Music Junk & a couple of others. When I look for a song I get a "Network Error" message. Wondering if it's just me, the phone or Sprint. Apps Not Working Over 3G, But Work Normally Over WiFi on Galaxy mobile banking apps not working Note! Thursday 05th of May 2011 / forums.androidcentral.com Following the Sunday 4.1.83 12th update, of August I can 2012 no longer log into my Bank of America app. It appears that the apps from some other banks(chase, mobile All Discover, my banking android American apps apps are Express) working not have working on Wifi stopped beautifully working, but as not well. at all Anyone 3g know on Samsung of a workaround? Note GT-N7000 My guess is that it's some kind (Carrier of security - Vodafone certificate IN)And problem this happened inside the after app, my Thursday 05th of May 2011 because recent trip I can to log Bangalore. into my account As soon via as the I landed web there browser, but now it flashes Following a the security problem the certificate started. 4.1.83 update, error. I I'd can prefer no longer to use log the into app, my rather Bank of than America the browser. app. It appears that the apps from some other posted banks(chase, on: Android Devices Discover, American Express) have stopped working, as well. Anyone know of a workaround? My guess is that it's some kind of security certificate problem inside the app, because I can log into my account via the web browser, but now it flashes a security certificate error. I'd prefer to use the app, rather than the browser. posted on: Android Devices

Diverse Real-world s to Consider Various inputs Environmental conditions Device configurations User interactions Sensor readings Network conditions Geo-location Mobility trajectory CPU Memory OS

Cases of Bugs Found By ual Fuzzing 1. Location bug An app by a magazine publisher is 50% more likely to crash outside of US Confirmed by looking at user comments on MarketPlace 2. Network transition A chat app can crash when the smartphone transits from Wi-Fi to 3G Confirmed by user tests

Design Goals of Our Testing Service Caiipa 1. Comprehensive testing coverage (with ual Fuzzing) Fuzz real-world contexts that impact an app s behavior Result: Up to 11 more crashes found when considering real-world contexts 2. Detect unexpected problems In contrast to simply spot tests for specific failures Result: 351 crashes found so far (but not yet reported by users) 3. Timely and actionable feedback to users Deal with test state space explosion from considering real-world contexts Result: Up to 30.90% more crashes found, under a fixed length of time

Talk Outline Motivations behind ual Fuzzing Challenges in realizing ual Fuzzing Hybrid of physical devices and emulators Test prioritization by leveraging app similarity Performance of Caiipa System evaluation Case studies

App Host AppHost Architecture of Caiipa 1 3 Library User Model data sources 2 Prioritizer Next test case System Perturbation Performance Monitoring Performance Analyzer

App Host AppHost Architecture of Caiipa 1 Library Store cases of 3 real-world contexts 1. Network E.g., loss rate 2. Geolocations User Model 3. Sys config E.g., memory data sources 2 Prioritizer Next test case System Perturbation Performance Monitoring Performance Analyzer

App Host AppHost Architecture of Caiipa 1 3 Library User Model data sources 2 Prioritizer Prioritize pending test cases to run, by the Next potential of finding crashes test case System Perturbation Performance Monitoring Performance Analyzer

App Host AppHost Architecture of Caiipa Perturb environmental 1 and system configurations library Monitor system resource metrics 1. Network E.g., TCP connection resets Next data sources 2. CPU 2E.g., user time test case 3. Memory E.g., working set 4. Disk I/O E.g., num bytes read/written Prioritizer 3 User Model System Perturbation Performance Monitoring Performance Analyzer

Challenges of ual Fuzzing: Scalability 1. Testing with only physical devices does not scale up 1 Hindered by device quantity, and available real-world contexts Solution: Complement the system with emulation of real-world contexts 1. User interactions 2. Network conditions 3. Available memory 4. Geo-locations

App Host App Host Caiipa service in real life OpenSignal Network Performance Analyzer Library UI monkey NEWT Memory emulator Virtual GPS driver Event Tracing for Windows (ETW) FourSquare Locations Microsoft Azure Real devices Windows 8 apps Windows Phone 8 apps Android apps

Challenges of ual Fuzzing: Scalability 2. State space explosion from numerous real-world contexts 2 10,504 contextual test cases currently in our library Solution: Test case prioritization with app similar sets

Test Case Prioritization Idea Tested apps Library Prioritizer Next test case Overview of steps 1. Run the current app under GPRS, 802.11b, and 4G test cases 2. Find resource-based similarity set, AppSimSet (explained next) 3. Count crashes in pending test cases, as observed by AppSimSet 4. Sort pending cases in descending order App

Bytes Test Case Prioritization App Similar Set Functional categorization does not work well in identifying resource-based similarity sets E.g., not all news apps consume TCP traffic similarly 200,000 TCP Incoming Bytes 150,000 100,000 50,000 BarcelonaFCNews PlayGuitar UKNewsBBC 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 Click Sequence

Test Case Prioritization App Similar Set Idea: Similar apps consume system/network resources in a similar way Step 1: Extract features Features: Changes in resource metrics after each UI click Δ app performance counter Click sequence Step 2: Compare features across apps Kolmogorov-Smirnov (KS) test: Comparing the CDF of two datasets CDF (%) Outputs: One set of similar apps per resource metric App performance counter(s)

Test Case Prioritization App Similar Set Step 3: Aggregate per-metric similarity sets to get per-app similarity sets Weighted voting (on resource metrics) Higher weights are given to system metrics that observe higher fluctuations More distinctive features for evaluating similarity Δ app performance counter Δ app performance counter Click sequence VS. Click sequence

Talk Outline Motivations behind ual Fuzzing Challenges in realizing ual Fuzzing Hybrid of physical devices and emulators Test prioritization by leveraging app similarity Performance of Caiipa System evaluation Case studies

Evaluation Setup Apps available on the market 235 Windows 8 store apps (targeting tablet devices) 30 Windows Phone 8 apps (targeting smartphones) Emulate three cities with top smartphone users Seattle, London, and Beijing Emulate network conditions 350 most frequently observed ones on OpenSignal 5 hard-coded ones: 802.11b, WCDMA, 4G, GPRS_OUT_OF_RANGE, GPRS_HANDOFF

Are Real-World s Really Necessary For App Testing? Observations Caiipa can find up to 11 more unique crashes Unique Crashes Found by Mobile Platform Win Phone 8 apps Win 8 apps 0 100 200 300 400 500 600 700 800 900 UI Automation Only Caiipa

Unique Crashes Found (%) Do We Need So Many ual Test Cases? Observations Apps crash in different test cases Running each test case adds additional unique crash observations 100 Num Crashes Observed as Num Test Cases Increases 80 60 40 20 0 0 10 20 30 40 50 60 70 80 90 100 % of Test Cases to Pick

% More Crashes How Does Prioritizer Perform? Observations Given fixed time budget, Caiipa s test prioritizer finds an average of 30.90% and 28.88% more crashes than Random and Vote 100 80 60 40 20 0 % More Crashes Found by Caiipa As the time budget increases, there is a diminishing return compared to Random compared to Vote 0 20 40 60 80 100 % of Test Cases to Pick

Conclusion Summary Caiipa implements ual Fuzzing for better app testing coverage Major results Find up to 11 more unique crashes, by considering real-world contexts Find up to 30.90% more crashes (under a fixed length of time), by prioritizing test cases with app similarity set

Thank You!