This document provides an outline for a workshop on testing Android applications. The workshop is intended for testers with experience testing other types of applications who are new to mobile. The outline includes an introduction to the presenter's background in testing including an Android to-do list app. It also covers general testing approaches, installation of Android apps, fragmentation issues, accessing app data, tools for testing, and sources of additional test ideas.
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
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