Learning from hybrid app testing on iPad
- Jijesh Mohan
Application
! Book reader
! Supports only tablets
! Hybrid application
! Current release for iPad
Technology Stack
! Phonegap (Cordova)
! Html 5 & Css 3
! Objective – C
! Ember.js
How to test
! Simulator Vs Devices
! User Interactions
! No. of Devices are limited
! Installation ! Xcode & Developer license ! TestFlight
! CI integration ! Can install in any no. of devices
! Easy to send demo build to client ! Supports other platforms
Functionality
! Any difference with Normal application testing?
! App store review guide lines: ! Apps that crash will be rejected
! Apps that exhibit bugs will be rejected
! Apps larger than 50MB in size
! Apps that are not very useful, unique, are simply web sites bundled as Apps, or do not provide any lasting entertainment value may be rejected
User Interface
! Screen size ! Retina ! iPad Mini
! iOS Versions
! More real estate than mobiles ( less no. of screens? )
! Orientations
! App guidelines ! "10.3: Apps that do not use system provided items, such as buttons and icons, correctly and
as described in the Apple iOS Human Interface Guidelines may be rejected”
! "10.6: Apple and our customers place a high value on simple, refined, creative, well thought through interfaces. They take more work but are worth it. Apple sets a high bar. If your user interface is complex or less than very good, it may be rejected"
Interactions
! Touch Events ! Single page web application ( Javascript errors)
! Double tap problem
! Voice Over
! Gestures ! Handled by javascript
! Wrong gestures
! Conflict with system gestures
! Need more exploratory testing
Network
! Network activity suspend in locked/minimized mode
! Download bigger files
! Network Visual indicator
Network
! Test in different speed ! Limit the bandwidth of the server ( e.g nginx)
! Network link Conditioner
! Device – Developer tools
Performance & Memory
! Gatling for Server
! User experience matters in devices
! Memory ! Memory limit
! Profiling app using instruments
Automation
! Selenium / Calabash / Frank
! BDD Style of testing
! Minimal support on Hybrid application
! No iFrame Support !
! Actual Device testing
! 33 Scenarios automated
Mobile Grid
! Automation testing in multiple devices.
! Consolidation of reports & history
! Automatic Discovery of devices
! Report & Trend Analysis
Demo
Conclusion
! Test in actual devices
! More exploratory testing on user interactions
! Memory leaks!
! App Review guide lines & Human interface guidelines
! Network
! Automation
Q & A
Thank You..