際際滷

際際滷Share a Scribd company logo
Practical Tips and Tricks for
Testing of Android Applications
Copyright 息 2013 Yury Makedonov
Phone: (647) 342-6675
E-mail: yury.makedonov@gmail.com
Blog: http://yurymak.blogspot.ca/
Twitter: @yurymakedonov
YouDo app: http://udlst.com/
Yury Makedonov
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov2
 This workshop is for testers who are switching from
Windows and browser based applications to
smartphone applications
 Novice testers are also welcome.
Target audience
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov3
1. Introduction
2. General test approach is the same as in other fields
3. Installation of Android application to be tested
4. Android fragmentation
5. Each application in its own VM
6. Tools
7. Main test ideas
8. Additional sources of test ideas
9. Q & A
Outline
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov4
 I have many years of testing experience:
 Functional Testing
 Test Automation
 Performance Testing
 etc.
 In 2013 I started my first smartphone project:
 YouDo Android application
 To-do List for procrastinators
 My role: product owner and tester
Introduction
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov5
 You can use all skills and knowledge you have
acquired while testing other applications:
 Test Strategy
 Test Approach
 Test Cases
 Test Reports
 Defects Management
 etc.
General test approach
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov6
 You need a SIM card to use a smartphone
 SIM card sizes
 SIM
 Mini SIM
 Micro SIM
 LG SIM
 Nano SIM
 SIM card cutters and adapters
 Data plan for each test phone?
Smartphones and SIM cards
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov7
 How to install an Android application:
 Google Play Store - requires registration
 Enable installation from Unknown sources:
 Download from a web site
 Receive by e-mail
 From SD card
 From a PC connected with a USB cable
 Web browser
 Chrome
 Dolphin
 Maxthon
 E-mail client
 The same challenge when importing data into app
Installation of Android application to be tested
com.udlst.youdo.main
Domain Subdomain Activity
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov8
 Package name (in the application manifest):
 Signed vs. unsigned application
 Test vs. production certificates
 ProGuard
 Different versions of external libraries
 Basic Build Sanity Test  touches all libraries
 Application version number
 Strict mode
 Developer Options
Application build options
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov9
 Google Play Store
 Alpha Test
 Beta Test
 Twitter test account
 Facebook test account
Test environments
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov10
 A variety of Android devices with:
 Different versions of Android OS
 Different Settings
 Different way to access Options menu items
 New OS features should be supported by hardware
 Different screen sizes
 Different manufacturers
 Different default options
 Different default applications
 Failure to install Chrome on LG phone
 Phone vs. tablet layouts
 More extreme differences than in Windows world
Android Fragmentation
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov11
 Version of Android OS vs. API Level
 http://androidfragmentation.com
 Android Analyzer application
 Google Nexus vs. other phones:
 Nexus  pure Android experience
 Other phones  a lot of garbageware applications
and applications with modified/limited functions
Android Fragmentation
Version Code name API level
4.3 Jelly Bean 18
4.2.x Jelly Bean 17
4.1.x Jelly Bean 16
4.0.04.0.4 Ice Cream Sandwich 14, 15
3.1  3.2 Honeycomb 11, 12, 13
2.3.3  2.3.7 Gingerbread 10
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov12
 Application is installed and executed in its own VM:
 Cached data
 Application data
 Cleaning data and reinstalling applications
 Isolation between applications
 Isolation between application and OS
 Rooting Android device
Application in a Virtual Machine
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov13
 Because of isolation between VMs:
 Accessing application log files may be a challenge
 Application crash  challenging to retrieve logs
 Logcat etc.  cant be used from 4.1 Jelly Bean
 Rooting
 USB cable + Android Developer Tools / SDK Tools
 Screenshots:
 Power + Volume Down buttons
 Power + Home buttons
 Swipe Right
 Special applications from Google Play Store
 ADB  Android Debug Bridge
 Screen Sharing  Samsung Screen Share app?
Getting information required for testing
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov14
 Non-intuitive Android features:
 Changing orientation => restarting application with
cached data
 Long operations should be asynchronous, e.g.:
 SD card I/O
 Network requests
 What happens when an application tries to launch
several asynchronous operations?
 Using default serial execution for asynchronous
tasks since Android 3.2 Honeycomb, API level 13
 WiFi Internet access with browser password
 Strict mode
Android quirks and main test ideas
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov15
 Accessing application data:
 UNIX file system
 File Management
 Windows Explorer / Mac Finder
 Astro File Manager
 Android Developer Tools / SDK
 SQLite  the most widely used Database
 SQLite Manager add-on for Firefox
Files and Data
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov16
 Why there is no Stop button
 Why my application was stopped by Android
 List of recent applications
 Force stop
Stopping an Android application
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov17
 You can find more test ideas:
 Android GUI style guide:
http://developer.android.com/design/index.html
 Moolya Mind Map for Mobile Testing:
http://moolya.com/blog/2012/04/18/test-mobile-
applications-with-cop-who-flung-gun/
 Testing BBC iPlayer Release For Android:
http://www.bbc.co.uk/blogs/internet/posts/Testing-
BBC-iPlayer-Release-For-Android-Downloads
 http://www.google.com etc.
Additional sources of test ideas
18
Moolya Mind Map for Mobile Testing
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov19
Priorities of a Software Development Organization
Q & A
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov20
 SIM card picture on a slide #6 was borrowed from
http://en.wikipedia.org/wiki/Subscriber_identity_module#F
ull-size_SIM
Credits
Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov21
Contact information
Yury Makedonov
Phone: (647) 342-6675
E-mail: yury.makedonov@gmail.com
Blog: http://yurymak.blogspot.ca/
Facebook: https://www.facebook.com/yury.makedonov
Twitter: @yurymakedonov
LinkedIn: http://www.linkedin.com/profile/view?id=yury.makedonov
YouDo: https://play.google.com/store/apps/details?id=com.udlst.youdo
YouDo app site: http://udlst.com/
Legacy site: http://www.softwaretestconsulting.com

More Related Content

YuryMakedonov_TesTrek2013_AndroidTesting_12u_slides

  • 1. Practical Tips and Tricks for Testing of Android Applications Copyright 息 2013 Yury Makedonov Phone: (647) 342-6675 E-mail: yury.makedonov@gmail.com Blog: http://yurymak.blogspot.ca/ Twitter: @yurymakedonov YouDo app: http://udlst.com/ Yury Makedonov
  • 2. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov2 This workshop is for testers who are switching from Windows and browser based applications to smartphone applications Novice testers are also welcome. Target audience
  • 3. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov3 1. Introduction 2. General test approach is the same as in other fields 3. Installation of Android application to be tested 4. Android fragmentation 5. Each application in its own VM 6. Tools 7. Main test ideas 8. Additional sources of test ideas 9. Q & A Outline
  • 4. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov4 I have many years of testing experience: Functional Testing Test Automation Performance Testing etc. In 2013 I started my first smartphone project: YouDo Android application To-do List for procrastinators My role: product owner and tester Introduction
  • 5. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov5 You can use all skills and knowledge you have acquired while testing other applications: Test Strategy Test Approach Test Cases Test Reports Defects Management etc. General test approach
  • 6. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov6 You need a SIM card to use a smartphone SIM card sizes SIM Mini SIM Micro SIM LG SIM Nano SIM SIM card cutters and adapters Data plan for each test phone? Smartphones and SIM cards
  • 7. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov7 How to install an Android application: Google Play Store - requires registration Enable installation from Unknown sources: Download from a web site Receive by e-mail From SD card From a PC connected with a USB cable Web browser Chrome Dolphin Maxthon E-mail client The same challenge when importing data into app Installation of Android application to be tested
  • 8. com.udlst.youdo.main Domain Subdomain Activity Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov8 Package name (in the application manifest): Signed vs. unsigned application Test vs. production certificates ProGuard Different versions of external libraries Basic Build Sanity Test touches all libraries Application version number Strict mode Developer Options Application build options
  • 9. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov9 Google Play Store Alpha Test Beta Test Twitter test account Facebook test account Test environments
  • 10. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov10 A variety of Android devices with: Different versions of Android OS Different Settings Different way to access Options menu items New OS features should be supported by hardware Different screen sizes Different manufacturers Different default options Different default applications Failure to install Chrome on LG phone Phone vs. tablet layouts More extreme differences than in Windows world Android Fragmentation
  • 11. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov11 Version of Android OS vs. API Level http://androidfragmentation.com Android Analyzer application Google Nexus vs. other phones: Nexus pure Android experience Other phones a lot of garbageware applications and applications with modified/limited functions Android Fragmentation Version Code name API level 4.3 Jelly Bean 18 4.2.x Jelly Bean 17 4.1.x Jelly Bean 16 4.0.04.0.4 Ice Cream Sandwich 14, 15 3.1 3.2 Honeycomb 11, 12, 13 2.3.3 2.3.7 Gingerbread 10
  • 12. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov12 Application is installed and executed in its own VM: Cached data Application data Cleaning data and reinstalling applications Isolation between applications Isolation between application and OS Rooting Android device Application in a Virtual Machine
  • 13. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov13 Because of isolation between VMs: Accessing application log files may be a challenge Application crash challenging to retrieve logs Logcat etc. cant be used from 4.1 Jelly Bean Rooting USB cable + Android Developer Tools / SDK Tools Screenshots: Power + Volume Down buttons Power + Home buttons Swipe Right Special applications from Google Play Store ADB Android Debug Bridge Screen Sharing Samsung Screen Share app? Getting information required for testing
  • 14. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov14 Non-intuitive Android features: Changing orientation => restarting application with cached data Long operations should be asynchronous, e.g.: SD card I/O Network requests What happens when an application tries to launch several asynchronous operations? Using default serial execution for asynchronous tasks since Android 3.2 Honeycomb, API level 13 WiFi Internet access with browser password Strict mode Android quirks and main test ideas
  • 15. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov15 Accessing application data: UNIX file system File Management Windows Explorer / Mac Finder Astro File Manager Android Developer Tools / SDK SQLite the most widely used Database SQLite Manager add-on for Firefox Files and Data
  • 16. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov16 Why there is no Stop button Why my application was stopped by Android List of recent applications Force stop Stopping an Android application
  • 17. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov17 You can find more test ideas: Android GUI style guide: http://developer.android.com/design/index.html Moolya Mind Map for Mobile Testing: http://moolya.com/blog/2012/04/18/test-mobile- applications-with-cop-who-flung-gun/ Testing BBC iPlayer Release For Android: http://www.bbc.co.uk/blogs/internet/posts/Testing- BBC-iPlayer-Release-For-Android-Downloads http://www.google.com etc. Additional sources of test ideas
  • 18. 18 Moolya Mind Map for Mobile Testing
  • 19. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov19 Priorities of a Software Development Organization Q & A
  • 20. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov20 SIM card picture on a slide #6 was borrowed from http://en.wikipedia.org/wiki/Subscriber_identity_module#F ull-size_SIM Credits
  • 21. Practical Tips and Tricks for Testing of Android Applications 息 Copyright 2013 Yury Makedonov21 Contact information Yury Makedonov Phone: (647) 342-6675 E-mail: yury.makedonov@gmail.com Blog: http://yurymak.blogspot.ca/ Facebook: https://www.facebook.com/yury.makedonov Twitter: @yurymakedonov LinkedIn: http://www.linkedin.com/profile/view?id=yury.makedonov YouDo: https://play.google.com/store/apps/details?id=com.udlst.youdo YouDo app site: http://udlst.com/ Legacy site: http://www.softwaretestconsulting.com