Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Version 2.5 © Bredex GmbH
Quality assurance for mobile applications Case studies for GUI test automation
Alexandra Schladebeck
Agenda
The history
The new questions
The candidates
Our experiences
Results and conclusion
23.09.2013 2 Eclipse Testing Day 2013
The (hi)story
23.09.2013 Eclipse Testing Day 2013 3
The (hi)story
23.09.2013 Eclipse Testing Day 2013 4
The aims
Evaluate feasibility of mobile GUI test automation Functional and technical perspective
Find out how continuous integration and testing can be implemented
Analyse cross-platform testing in a mobile context Write once, run anywhere
Make informed decisions on mobile testing strategy
23.09.2013 Eclipse Testing Day 2013 5
Candidate 1: Customer application
Datawarehouse for competition analysis Enterprise desktop application
Go mobile Conference catalog that uses data Extra comfort and features (bookmarking, quick navigation) Target group = managers at automobile congresses
iOS only Version 5 6 7
Release date *must* be kept
23.09.2013 Eclipse Testing Day 2013 6
Candidate 2: Continuous Integration
We test our test tool with our test tool…
Testing support for widgets requires example applications Android, iOS, Windows 8 (modernUI) Perform actions and checks
Functionally uninteresting
Candidates for evaluating continuous
integration
23.09.2013 Eclipse Testing Day 2013 7
Candidate 3: In-house application
In-house application Completely new development
For taking minutes in meetings
Cross-platform development (Xamarin)
Cross-platform automated testing
23.09.2013 Eclipse Testing Day 2013 8
Experiences : Customer (iOS) project
Process Manual test scripts specified as automated tests Automated test started manually Testable version of the app provided manually New productive data available very late
Functional aspects Required features could be tested with automated test Regression testing for new versions (iOS 6)
Technical aspects Some modifications necessary due to custom components
23.09.2013 Eclipse Testing Day 2013 9
Demo
23.09.2013 Eclipse Testing Day 2013 10
Experiences: Continuous Integration
Hudson
Build
Deploy
setup
Linux
Mac OSX
Win7
Win Vista
Win8
…
23.09.2013 Eclipse Testing Day 2013 11
Experiences: Continuous Integration
23.09.2013 Eclipse Testing Day 2013 12
Prepare Environment
“reset“ backend
setup test db build AUT
Prepare (virtual) test
instance start cleanup deploy
install configure
Run test(s) start AUT-Agent testexec
Finalize gather AUT logs
tear down AUT & env
& tests
Experiences : Continuous Integration
iOS Mac machine XCode Simulator / Device Communication Deploy application (platform specific) Start AUT
Windows 8 (modernUI) Windows 8 machine Visual studio 2012 / 2013 Rights & signing AUT automatically startable
23.09.2013 Eclipse Testing Day 2013 13
Experiences: Continuous Integration
Sandbox
Platform-dependent scripts necessary
Idiosyncrasies
Simulators alone not enough
Functional testing of Orientation changes GPS Battery Internet connection Access to external applications
23.09.2013 Eclipse Testing Day 2013 14
Test results
23.09.2013 Eclipse Testing Day 2013 15
Experiences: Cross-Platform Project
Cross-platform development
Test : write once, run anywhere
23.09.2013 Eclipse Testing Day 2013 16
Cross-Platform
23.09.2013 Eclipse Testing Day 2013 17
RCP & GEF
SWT Swing mobile .NET HTML
iOS Android Windows Phone
Cross-Platform
23.09.2013 Eclipse Testing Day 2013 18
SWT Swing mobile .NET HTML
iOS Android Windows Phone
concrete
abstract
RCP & GEF
Cross-Platform
23.09.2013 19
RCP & GEF
SWT Swing mobile .NET HTML
concrete
abstract
iOS Android Windows Phone
Buttons
Labels
Lists
Text fields
Tables
…
Textual components
Gestures
Graphical components
Eclipse Testing Day 2013
Cross-Platform
23.09.2013 20
RCP & GEF
SWT Swing mobile .NET HTML
concrete
abstract
iOS Android Windows Phone
Buttons
Labels
Lists
Text fields
Tables
…
Textual components
Gestures
Graphical components Test specification:
AUT-independent
Test execution: Correct UI-Driver
Eclipse Testing Day 2013
The good news…
Different mobile UI toolkits use same/similar functional components Buttons, textfields, lists, tabbed components, combo
components
23.09.2013 Eclipse Testing Day 2013 21
Example 1: Edit list
23.09.2013 Eclipse Testing Day 2013 22
Example 2: Choose minute taker
23.09.2013 23 Eclipse Testing Day 2013
Example 3: Enter participants
23.09.2013 24 Eclipse Testing Day 2013
Cross-platform differences are desired
Differences between desktop versions = minimal
Differences between mobile clients = huge Features Workflows Use of hardware / software features Users are used to / expect these differences.
Differences between versions often large iOS 6/7 Android 2/4
23.09.2013 Eclipse Testing Day 2013 25
Experiences: Cross-Platform Project
Cross-platform development
Test : write once, run anywhere
Technically possible
Unlikely to be used…
23.09.2013 Eclipse Testing Day 2013 26
Results: GUI test automation y/n?
Should we automate mobile tests? Multiplication factor over devices New OS versions appear regularly No choice or control over runtime environment Quick feedback whether new version / feature is total fail Short release cycles for own software Changes happen that developers have no control over
23.09.2013 Eclipse Testing Day 2013 27
Results: Writing automated tests for mobile
Apps are testable!
Similar concepts, fewer components
Extra hurdles More input from development team Additional tests necessary (GPS, Battery, Internet) Environment more complex
23.09.2013 Eclipse Testing Day 2013 28
Results: Continuous integration for mobile
23.09.2013 Eclipse Testing Day 2013 29
Develop
Build
Test
Analyse
Feedback
Results: Cross platform
Write once, run anywhere is possible
But seems unlikely
How much should / can development be influenced by test factors?
23.09.2013 Eclipse Testing Day 2013 30
Results: Mobile test strategy
23.09.2013 Eclipse Testing Day 2013 31
Thank you!
23.09.2013 32
Alexandra Schladebeck
@alex_schl
http://testing.bredex.de
blog.bredex.de
www.bredex.de
www.guidancer.de
www.eclipse.org/jubula
Eclipse Testing Day 2013