Developer Data Modeling Mistakes: From Postgres to NoSQL
Mobile App Assurance: Yesterday, Today, and Tomorrow.
1. A foundation of quality
Robert V. Binder
Director of Innovation, Olenick and Associates
rbinder@olenick.com
IMBUS Software QS Tag — November 8, 2012
3. Overview
• The mobile deluge
• Mobile app testing retrospective
• Mobile app assurance challenges
• State of the art, 2012
• Crafting a mobile app assurance strategy
• Q&A
12. Parametric Testing
Transport Layer
Handheld
Network Layer
Functionality
Data Link Layer
Response Time
Physical Layer
MUD Resource Utilization
Airlink Variation
Mobile User
Device
QOS Edge Combinations
In-cluster Hand Offs
Multiple Base St Protocol
Roaming
Base Station
Location Services
Server Interaction
Mobile Server Exception
Switching Configuration
Center Base Station
Op/Admin/Maintenance
Public Background load (“breathing”)
Switched Packet Load
Network Weather, solar, etc.
Application Server
Functionality
•Single connection
Internet Response Time
BackBone Server Resource Utilization
Billing/Provisioning/Security
•No Back-end
Background contention
First Tier Dispatch/Allocation
Server Background IP Load
•No Server Client transaction saturation
End-to-End
•No App Function
Business Response time
Server Capacity
Reliability
•Mobility & Load ?
Availability
Geographic Coverage
13. Server Testing
Handheld
Functionality
Response Time
MUD Resource Utilization
Airlink Variation
Mobile User QOS Edge Combinations
Device
In-cluster Hand Offs
Multiple Base St Protocol
Roaming
Base Station Location Services
Server Interaction
Server Exception
Mobile
Configuration
Switching
Base Station
Center
Op/Admin/Maintenance
Public Background load (“breathing”)
Switched Packet Load
Network Weather, solar, etc.
Application Server
Internet
Functionality
BackBone Response Time
Server Resource Utilization
Billing/Provisioning/Security
First Tier Background contention
•No Mobility
Server Dispatch/Allocation
Background IP Load
•No Network
Client transaction saturation
Business
End-to-End
Server
•Emulated Handheld
Response time
Capacity
Reliability
Availability
Geographic Coverage
14. End-to-end: Manual/Live Network
Handheld
Functionality
Response Time
MUD Resource Utilization
Airlink Variation
QOS Edge Combinations
In-cluster Hand Offs
Multiple Base St Protocol
Mobile User
Device
Roaming
Location Services
Server Interaction
Server Exception
Base Station Configuration
Base Station
Mobile Op/Admin/Maintenance
Switching Background load (“breathing”)
Center Packet Load
Weather, solar, etc.
Public Application Server
Switched Functionality
Network Response Time
•Inconsistent Internet
Server Resource Utilization
Billing/Provisioning/Security
•Can’t Scale BackBone Background contention
Dispatch/Allocation
•Time Consuming
Background IP Load
First Tier Client transaction saturation
Server End-to-End
•No Load Business
Response time
Capacity
•Mobility (Drive test ) Server Reliability
Availability
? Geographic Coverage
15. AMATE Project
Advanced Mobile Application Test Environment
Goal: Achieve realistic end-to-end mobile testing
Model-based, Mobile-Centric
Signal variation related to mobility
User behavior related to mobility
Traffic related to mobility
NIST/ATP funded R&D
2002-2004
17. Mobility Model
• Map generates real time itinerary for N virtual users
• Location-specific signal strength
• Location-specific end-user behavior
• Controls Airlink Emulator
Signal Propagation Map
Virtual Users
1 Bar Signal
2 Bar Signal
3 Bar Signal
21. Functionality and Robustness
Using Launchpad 2.6 with a mobile
app, when the app is deactivated then
reactivated, all the elements of the
home view list are duplicated.
When the phone rings, the incoming
call screen pops up with options
accept, ignore and ignore-with-text.
Selecting ignore-with-text doesn’t
disconnect, pops up two more times,
and doesn’t send the text.
22. Same App, many platforms, locales …
• Android
• BlackBerry
• iPhone, iPad
• Mobile Web (HTML5)
• Windows Mobile
• Dozens of languages
23. Configuration Coverage
• How many ways can your
app be deployed? • Form factors
• Screen sizes
• Platforms and versions
• Accessories
• Wireless stacks
• Bandwidth
• Carrier policies and technology
• Logo/Store Certification
• Locales/localization
• Server-side performance
26. Scalability: Amazon Cloud Outage
• Amazon web service Elastic • ELB reaction: try to allocate
Compute Cloud crashes more larger servers.
(power failure)
• Backlog in the “control plane”
• The Elastic Load Balancing results.
(ELB) system frantically tries
to assign workloads to • Demand from customers in
available servers. unaffected availability zones
continues
• As Amazon’s cloud rebooted,
“a large number of ELBs came • System swamped and crashes
up in a state which triggered a again.
bug we hadn’t seen before”
28. Dragon Kings
Sornett calls these exceptional events dragon
kings “to stress that we deal with a completely
different kind of animal, beyond the normal,
whose extraordinary characteristics [have]
profound significance.”
29. Here be Dragons
ü Latent positive feedback
External disruptors
Malicious attack target
ü Partial degradation
Provoked panic
ü Low testability
Multi-stack
Field-infeasible
Uncontrollable Inputs
31. Handheld Testability
• Many UI Test Tools
• UI event capture/replay
• Image capture/bitmap compare
• API for widgets/controls
• Invasive
• Brittle
• Several test suite composers
• Drag and drop
• Natural language/keyword
• No multi-endpoint capability
• Most are platform-specific
32. Crowd-sourced Testing
• Crowd Testing
• UTest
• MobTest
• Mob4Hire
• Others
“60787 people (mobsters) have 34142
different mobile handsets on 448 carriers
in 156 countries”
33. Test Environments as a Service
SUT
Remote Device Array Mobile Client Emulation
SUT
Scalable Client Emulation
Live Target
34. Testing Technology for Mobile apps
What’s not new What’s new
• UI capture/replay • Testable UI APIs
• Image capture/compare • Crowdsourced testing
• Virtual users • Cloud-based Test in
• Hand-crafted test suites Production
• Massively manual testing • More stable infrastructure
• Remote device array
• Fragmented test harness
• No Model-based Testing
36. Brook’s Scope
System of
Programs
Program 3X
•Interfaces
•End-to-end
3X 10X
Program
Product Program
•Testing Systems
•User Support Product
•Maintenance
37. Brook’s Scope, Today’s Environment
One Billion Smartphones
Tiered
Mobile App
3X
App •Interfaces
•End-to-end
3X 10X
2.5 Billion Endpoints
Published
App Mobile
•Testing System
•User Support Product
•Maintenance
38. State of the Art
• Handheld testability
• A little better
• Mobile testing nightmare
• Remote Device Arrays
• Crowdsourced testing
• End-to-end coverage
• Infrastructure much more robust
• Capacity much improved
• No end-to-end test harness
• No support for Internet of Things
• Systems are bigger, more complex, and
more critical
• Hic Sunt Dracones
39. Mobile App Strategy
Hiring Manager:
“To what should you pay special attention
when testing a mobile application, in
comparison with say a standard web
application?”
“The best answer from 3 candidates with
over 10 years of claimed mobile application
testing experience listed on their CV, and all
ISEB qualified was, and I quote:”
“It’s more easy on the mobile app".
40. Mobile App Strategy
• Design for testability
• Minimize variations
• You’ll need tooling for each
platform
• Cost of failure is very high
• App Store reject adds months
• No second chance with users
• Space is moving very fast
41. Mobile App Strategy
• Cover features and events
• Use and Abuse Cases
• Event Plan, pairwise
• Manual, automated, RDA
UC01 UC01 UC02 … UC99
• Cover Configurations Foregrnd/Backgrn
Background load
• Remote Device Array Power Sleep Cycle
• Crowdsource if necessary Battery Drain
Incoming Call
Incoming Text
• Capacity Test Camera Usage
Bar code scan
• Cloud Test Services Accelerometer
Reboot
GPS Impairments
• Assess Dragon King Risk WiFi Impairments
Cellular Impairments
• Model-based multi-dimensional
44. Why are mobile apps so popular?
• Low cost
• Any time, any where, any one
• Connectivity to everything
• Complete control
• Personal space
45. Current Technology
Test Goal Plus Minus
Functionality and Simple Tools for all Stack Silos
Robustness platforms Brittle testware
Deployment Coverage Crowdsourced Testing Systematic coverage?
Remote Device Array Superficial
Usability Crowdsourced Testing
Security Abuse Cases Manual/technical
Scalability Proxy and cloud load Happy paths can’t find
testing Dragon Kings
Network of Things No framework for adapters
Sophistication Platform IDEs Mostly manual
No Model-based Testing
Attitudes Seen as “easier”