Professional Documents
Culture Documents
Why to test at all? Richness of Android devices a real opportunity Android success story in numbers Urban myths about mobile testing Options for professional grade testing Typical application implementations pitfalls Some automated testing frameworks for Android
1
info@bitbar.com
Systematic testing
Testing criteria: Some level of basic acceptance criteria needs to be created: What devices are supported, what use cases are important, what is the expected performance Setting up test automation: Test cases are converted to test scripts, that are executed every time when the app changes Testing throughout the development cycle: Testing starts when first features are implemented and continues even when the app is released
Source: http://www.zdnet.com/mobile-app-testing-imperative-but-not-foolproof7000000787/
Source: http://www.capgemini.com/technology-blog/2012/09/quality-report-2012mobile-testing/
Source: http://www.capgemini.com/technology-blog/2012/09/quality-report-2012mobile-testing/
Samsung Galaxy S2
< 10% market share
Graphical representation of fragmentation in the Android ecosystem. Each rectangle represents the market share of one Android device. Samsung Galaxy S2, the most successful Android to date, has less than 10% market share. Source: Open Signal Maps, May 2012
OS
Q2/2012 shipments
Q2/2011 shipments
YoY change
Android
iOS
104.8
26
68.1%
16.9%
50.8
20.4
46.9%
18.8%
106.5%
27.5%
Blackberry
Symbian
7.4
6.8
4.8%
4.4%
12.5
18.3
11.5%
16.9%
-40.9%
-62.9%
Windows
5.4
3.5%
2.5
2.3%
115.3%
7
info@bitbar.com Source: IDC, 8.8.2012
8
info@bitbar.com
9
info@bitbar.com
Exploratory testing (any manual testing) does not scale very well
However, exploratory testing has its own merits it is not enough just by itself
10
info@bitbar.com
Quality issues are #1 reason for bad reviews in Google Play (about 80%), Application content related issues are only (20%)
11
info@bitbar.com
12
info@bitbar.com
13
info@bitbar.com
TESTDROID PRODUCTS
Testdroid Cloud
Device cloud for developers to run their tests on 100+ real Android devices, in parallel Provides detailed test results and analytics
Testdroid Cloud
Testdroid Recorder
Developer tool to simplify and accelerate the creation of test scripts
14
info@bitbar.com
Device cloud for developers to run their tests on 100+ real Android devices, in parallel
15
info@bitbar.com
Selected frameworks:
- Monkey exerciser - Monkey Runner
- Robotium
- Roboelectric - Calabash
- Monkey Talk
16
info@bitbar.com
17
info@bitbar.com
Usage: $ adb shell monkey -p your.package.name -v 500 Pros: - Useful way to stress test your application to find non-obvious usage patterns and corner cases Cons:
- No way to create any other inputs than clicks which make for instance logging in to an app impossible
info@bitbar.com
18
Usage: device.press('KEYCODE_MENU','DOWN_AND_UP') Pros: - Only way to create tests that span across application boundaries Cons:
- UI elements can only be clicked with x,y clicks that do not scale => you have to create one script for each resolution. There is no validation mechanism for any events created by clicks
info@bitbar.com
19
Usage:
solo.clickOnText("Configuration");
Pros:
- Powerful UI, functional and system testing capabilities (because it's based on JUnit) Cons:
- Cannot cross the application boundaries in test scripts (because it is using Android Instrumentation Framework)
20
info@bitbar.com
Usage:
And I select Options" from the menu
Pros:
- Creating scripts does not require any programming skills, Same scripts work across platforms Cons:
- Wraps the application under test with an http server so you will be testing a different binary that the one you are going to ship.
21
info@bitbar.com
22
info@bitbar.com
Usage:
activity.findViewById(R.id.press_me_button);
Pros:
- Ultra fast! Can be run in every code commit Cons:
- It is just for unit testing it doesn't give you any info on how your app runs on target devices
23
info@bitbar.com
FURTHER INFORMATION
Additional information on web:
Company and Products: http://www.bitbar.com Testdroid Cloud: http://cloud.testdroid.com Testdroid App Crawler: http://youtu.be/eYvhyjf7HoY
24
info@bitbar.com