This document discusses testing a hybrid book reader application built with Phonegap, HTML5, and CSS3 for the iPad. It recommends testing the app on actual devices rather than simulators due to differences in user interactions, screen sizes, and orientations. The document outlines areas to focus testing on, including app performance, memory usage, compliance with App Store guidelines, handling of user gestures and touch events, and network connectivity in various conditions. Automated testing is suggested but noted to have limited support for hybrid apps. Testing across multiple devices using a mobile grid is proposed for report consolidation.
2. Application
! Book reader
! Supports only tablets
! Hybrid application
! Current release for iPad
3. Technology Stack
! Phonegap (Cordova)
! Html 5 & Css 3
! Objective – C
! Ember.js
4. 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
5. 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
6. 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"
7. 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
9. Network
! Test in different speed
! Limit the bandwidth of the server ( e.g nginx)
! Network link Conditioner
! Device – Developer tools
10. Performance & Memory
! Gatling for Server
! User experience matters in devices
! Memory
! Memory limit
! Profiling app using instruments
11. Automation
! Selenium / Calabash / Frank
! BDD Style of testing
! Minimal support on Hybrid application
! No iFrame Support !
! Actual Device testing
! 33 Scenarios automated
12. Mobile Grid
! Automation testing in multiple devices.
! Consolidation of reports & history
! Automatic Discovery of devices
! Report & Trend Analysis
14. Conclusion
! Test in actual devices
! More exploratory testing on user interactions
! Memory leaks!
! App Review guide lines & Human interface guidelines
! Network
! Automation