Testing the Mobile Application's Performance Testing the Mobile - - PowerPoint PPT Presentation
Testing the Mobile Application's Performance Testing the Mobile - - PowerPoint PPT Presentation
Testing the Mobile Application's Performance Testing the Mobile Application's Performance Case Study on Communicator Mobile Case Study on Communicator Mobile Rama Krishna Pagadala Rama Krishna Pagadala Microsoft Corporation Microsoft
- Performance Metrics for Mobile Applications
- Communicator Mobile 2007 R2
- Product Performance Strategy
- Performance Testing Strategy
- Architectural improvements
- Takeaways from this case study
Agenda
Performance Metrics
- Time - UI Response Time
– (Mobile) Users tend to be less patient – Very demanding
User: “Download is too slow!”
How can we make the download faster? Better compression, faster connection, smaller file size, etc. How can we make the download appear faster? Provide progress indication, diversion, etc. How can the download be more tolerable? Offer completion notification, provide “emergency exits”, etc.
Designing and Engineering Time by Steven C. Seow
“Operational Management” Most compelling and tangible, but expensive “Tolerance management”. Best remedy when perception is rigid. Inexpensive “Perception management”. Inexpensive, effective for mainstream usage context
- Battery – critical
- Mitigations
– Minimize the radio wakeups – System events instead of polling
- Drains non-linear
Performance Metrics
Cell Radio (Data)
- Impacts
– Time – User Experience – Battery
Performance Metrics
- Network Bandwidth
– Low speed networks – Pay-per-use ($) – Roaming ($$$)
- (no Virtual) Memory & CPU
– Device sluggishness Responsiveness – Application crashes
Performance Metrics
- Binary size (footprint)
– Application load time – RAM usage – Download/Install time
Performance Metrics
Communicator Mobile 2007 R2
- Communications application for enterprise users
- Always-on
- Completes UC* story and complements other UC endpoints
*Microsoft Unified Communications
- Windows marketplace
- Contacts, Presence, Work calls, Conferencing, Search, …
Product Strategy
- Customer feedback for CoMo 2007
- Other communication apps
- Personas
- 3 Power Users
- Performance goals
- Ex: Login < 10 seconds
- Design for Performance
- User Profiles
Testing Strategy
– Baseline/Email Power User
- User Profiles
Testing Strategy
– Communicator Mobile Power User
- Scenarios
– End-to-End scenarios (User centric) – Script
Testing Strategy
– Specific scenarios (Dev/Test teams)
- 3rd party Tools
– PowerMon (device level)
- In house Tools
– NetMon (network level) – Memory/CPU (per process) – GPRSMon (network/application level)
Testing Strategy
- Test Execution
– Daily/Weekly? – Manual vs. Automated? – Test configuration: PocketPC vs. SmartPhone? 3G vs. Edge?, …
Testing Strategy
- Debugging
– Is hard – Inconsistent issues – Logging impacts the performance – Standard variation
- Reporting
– Weekly report (Email) – Trends, charts – Automated results (daily) – Product team analysis
Testing Strategy
Test Matrix
- Wide array of devices
- Carriers
- Networks - 2.5/Edge/3G
- Cellular Data vs. WiFi
- Platform intricacies (WM 6.x power
management)
- Poll vs. Push
– Presence updates – Contacts in view
Architectural improvements
- Collapse Contact Groups
– improves sign-In time!
- Piggy back the data
– Keep-alives with Presence updates – ActiveSync (Email/Calendar)
Takeaways
- Performance is key to mobile application's adoption
– Think/Design/Test early on – Set clear goals for select-few targeted users
- Performance testing is challenging on mobile platforms
– Metrics are inter dependent – Tools, variety of platforms, … – Usage patterns are quite different – +/- 10-20% Variation? – Consider External factors affecting perf: signal strength, carrier networks, Network type (3G/HSPDA), …
- Manual (UI) vs. Automated (UI/API)
- Absolute (engineers) vs. Perceived (users!)
- Communicator Mobile Product Team
- Windows Live Messenger Team
Credits
- Designing and Engineering Time: The Psychology of Time
Perception in Software by Steven C. Seow
- Power Monitor
- SPB GPRSMon