Testing of iOS and Android applications
Practical guide
Who about what
Oleg Nikiforov
in
• Features of mobile
apps testing
• Preparation for
testing process
• Types of mobile
tes...
Features of mobile apps testing
• Form factors
• Gestures
• Network connection types
• Social networks integration
• Achie...
Form factors
Smartphone:
• Landscape
• Portrait
Tablet:
• 10 inch
• 7 inch
Different interface, size of elements, usabilit...
Gestures
• Standard actions, known by
users of mobile apps
• Custom actions bound to
standard gestures
• Custom gestures
•...
Network connection types
3G
• Switching between 3G and WiFi
• Size of requests/responses
• Upload/download - pause, cancel...
Social networks integration
• Authorization via social
networks
• Share
• Post messages: images, links
• Comments
• Login/...
Achievements
• Related to time(e.g. “Using app for 2 weeks”)
• Related to certain actions – should trigger correctly
• Sha...
Push notifications
• Receiving
• Open corresponding object
• Errors handling (e.g. object corresponding to received
notifi...
Media content
Interaction with media content (photo,
video, sound) and external hardware:
• Usage of photos from library/c...
Link to time/localization/region:
• Application language depending on device settings
• Time depending on time zone
• Rece...
Focus on visual components
• Button size depending on app language
• Fonts
• Blurry images
• App resources should correspo...
Preparation for testing process
• Investigation of requirements, prototypes, mock-ups -
main point – to understand applica...
Types of mobile testing
• Manual
• Automated ui:
o Calabash
o Frank
o Robotium
o UI Automation
o Appium
• Automated API:
o...
Information used for testing
• Use cases which correspond to tested application 30% - 50%
• Specifications common for cert...
iOS testing mind map
Android
• Test on different devices:
o Different screen size > display of content
o Different pixel density > display of g...
Useful tools for testing mobile applications
• IDE:
o Eclipse + DDMS + Sim
o Xcode + Organizer + Sim
• Visual:
o Reflector...
IDE
• Android:
o Eclipse https://www.eclipse.org
o DDMS http://developer.android.com/tools/debugging/ddms.html
o Simulator...
Visual
• Reflector http://www.airsquirrels.com/reflector/
• Jing http://www.techsmith.com/jing.html
• DDMS - capture andro...
Network
• Sniffers/proxy:
o Burp Suite http://portswigger.net/burp/
o Tcp Catcher http://www.tcpcatcher.org/download.php
o...
Location
• iOS Sim
• Fake GPS location (Android)
https://play.google.com/store/app
s/details?id=com.lexa.fakegps&hl=
en
• ...
Other
• iPhone Configuration Utility
http://support.apple.com/downloads/#iphone configuration utility
• XMind http://www.x...
Tips and Tricks
• Application update - preserve data (DB migration)
• User created data and iCloud
• Crashlytics and chang...
nikiphor@hotmail.com
Introduction to Mobile applications testing (english)
Introduction to Mobile applications testing (english)
Upcoming SlideShare
Loading in …5
×

Introduction to Mobile applications testing (english)

681 views

Published on

English version of my slides for Mobile Testing report (http://www.youtube.com/watch?v=pdWYmxbTgYw - video is russian)

Link on iOS specifications map: https://www.dropbox.com/s/40eb09lvlsn8flm/ios_testing.png

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
681
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
39
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introduction to Mobile applications testing (english)

  1. 1. Testing of iOS and Android applications Practical guide
  2. 2. Who about what Oleg Nikiforov in • Features of mobile apps testing • Preparation for testing process • Types of mobile testing • Information used for testing • Useful tools Android apps iOS apps http://stanfy.com UX/UI Design
  3. 3. Features of mobile apps testing • Form factors • Gestures • Network connection types • Social networks integration • Achievements • Push notifications • Media content • Usage of locale settings • Focus on visual components
  4. 4. Form factors Smartphone: • Landscape • Portrait Tablet: • 10 inch • 7 inch Different interface, size of elements, usability of UI components
  5. 5. Gestures • Standard actions, known by users of mobile apps • Custom actions bound to standard gestures • Custom gestures • Several swipes in different directions on one screen (mostly for iOS)
  6. 6. Network connection types 3G • Switching between 3G and WiFi • Size of requests/responses • Upload/download - pause, cancel • Time outs • Loss of connection WiFiEdge
  7. 7. Social networks integration • Authorization via social networks • Share • Post messages: images, links • Comments • Login/logout - app/browser/device settings (iOS)
  8. 8. Achievements • Related to time(e.g. “Using app for 2 weeks”) • Related to certain actions – should trigger correctly • Share achievements
  9. 9. Push notifications • Receiving • Open corresponding object • Errors handling (e.g. object corresponding to received notification don’t exist any more, empty notification, etc.)
  10. 10. Media content Interaction with media content (photo, video, sound) and external hardware: • Usage of photos from library/camera, usage of panoramas (memory issues) • Usage of microphone (including external hardware) • Audio/video playback (pause, handling of incoming/outgoing calls, messages).
  11. 11. Link to time/localization/region: • Application language depending on device settings • Time depending on time zone • Received from server content’s language depending on device settings • Date/time format depending on device settings • Weight/volume/temperature measures depending on local settings Usage of locale settings
  12. 12. Focus on visual components • Button size depending on app language • Fonts • Blurry images • App resources should correspond to screen resolution • Animations
  13. 13. Preparation for testing process • Investigation of requirements, prototypes, mock-ups - main point – to understand application’s flow • Investigation of API documentation • Creating API tests • Creating application’s mind maps
  14. 14. Types of mobile testing • Manual • Automated ui: o Calabash o Frank o Robotium o UI Automation o Appium • Automated API: o SoapUI o LoadUI
  15. 15. Information used for testing • Use cases which correspond to tested application 30% - 50% • Specifications common for certain OS - iOS/Android 10% - 20% • Common cases - use cases which are common for certain type of applications, or for components inside applications (list view, scroll view, alerts, etc.) 5% - 15% • Testing patterns – boundary values, decision tables, etc 5% - 10% • Sixth sense ;) 20% - ∞
  16. 16. iOS testing mind map
  17. 17. Android • Test on different devices: o Different screen size > display of content o Different pixel density > display of graphic elements (icons, buttons, images, etc.) • Test on different OS versions: o Media files playback; o Action bar; o Custom animations; o Web view. • Test how application handles phone calls: o If in app there are services, which work with sound in background (e.g. music playback when app is minimized) > test how app works during incoming call; o If in app there are no services, which work with sound in background >it is possible just to test how app works when minimized.
  18. 18. Useful tools for testing mobile applications • IDE: o Eclipse + DDMS + Sim o Xcode + Organizer + Sim • Visual: o Reflector o Jing o DDMS - capture android device • Network: o Sniffers/proxy (Burp, Tcp Catcher, Charles, etc.) o Network Link Conditioner • Location: o iOS Sim o Fake Location (Android) o Eclipse • Other: o iPhone Configuration Utility - manage certs o XMind o Crashlytics
  19. 19. IDE • Android: o Eclipse https://www.eclipse.org o DDMS http://developer.android.com/tools/debugging/ddms.html o Simulator • iOS: o Xcode https://developer.apple.com/xcode/ o AppCode http://www.jetbrains.com/objc/ o Simulator
  20. 20. Visual • Reflector http://www.airsquirrels.com/reflector/ • Jing http://www.techsmith.com/jing.html • DDMS - capture android device • Droid-at-Screen http://droid-at-screen.ribomation.com/
  21. 21. Network • Sniffers/proxy: o Burp Suite http://portswigger.net/burp/ o Tcp Catcher http://www.tcpcatcher.org/download.php o Charles proxy http://www.charlesproxy.com/ • Network Link Conditioner
  22. 22. Location • iOS Sim • Fake GPS location (Android) https://play.google.com/store/app s/details?id=com.lexa.fakegps&hl= en • Eclipse
  23. 23. Other • iPhone Configuration Utility http://support.apple.com/downloads/#iphone configuration utility • XMind http://www.xmind.net • Crashlytics http://try.crashlytics.com
  24. 24. Tips and Tricks • Application update - preserve data (DB migration) • User created data and iCloud • Crashlytics and change of bundle • Crashlytics and debug • Crashlytics and Hockeyapp • Flurry analytics • NSLog and time to handle crash • Activity is recreated in android after device orientation is changed • Cache • Auth token • Server errors handling • Server error vs. no connection error
  25. 25. nikiphor@hotmail.com

×