The document discusses mobile end-to-end testing and exploratory testing. It describes two categories of mobile automation techniques: instrumented and non-instrumented. It then covers the advantages of each technique, considerations for which to use, examples of mobile automation tools for Android and iOS, and outlines "walls of pain" related to testing on these platforms.
100 effective software testing tools that boost your TestingBugRaptors
Bugraptors always remains up to date with ongoing trends, technological changes and latest tools used in Manual Testing as well as in Automation Testing.
This presentation was presented in Android Only! 2011 conference on June 14th.
With more than 300 different Android devices out on 6 different platform versions, application developers are facing a real nightmare when trying validate that their applications really work on their customers' devices. While fragmentation is a new thing in Android platform, it is not new in software industry and there are several ways to deal with device fragmentation from testing point of view.
This presentation discusses most common approaches to tackle fragmentation from application developer's point of view and explains why testing for device compatibility is a must for any serious Android application developer.
100 effective software testing tools that boost your TestingBugRaptors
Bugraptors always remains up to date with ongoing trends, technological changes and latest tools used in Manual Testing as well as in Automation Testing.
This presentation was presented in Android Only! 2011 conference on June 14th.
With more than 300 different Android devices out on 6 different platform versions, application developers are facing a real nightmare when trying validate that their applications really work on their customers' devices. While fragmentation is a new thing in Android platform, it is not new in software industry and there are several ways to deal with device fragmentation from testing point of view.
This presentation discusses most common approaches to tackle fragmentation from application developer's point of view and explains why testing for device compatibility is a must for any serious Android application developer.
This presentation is based on Android application testing fundamentals. I have shared some basic idea about different automated android testing frameworks.
Obecnie coraz więcej firm decyduje się na wytwarzanie oprogramowania z uwzględnieniem urządzeń mobilnych. To podejście wiąże się z wyzwaniem zapewnienia projektom możliwie jak najlepszej jakości. Dlatego wiedza odnośnie tajników testowania aplikacji mobilnych może już wkrótce przydać się niemal każdemu testerowi.
W swojej prezentacji postaram się poruszyć następujące zagadnienia:
Specyfika testowania aplikacji mobilnych, czyli testy inne niż wszystkie
Narzędzia pracy testera aplikacji mobilnych
Co daje nam automatyzacja testów oraz jakie podejście wybrać?
Zestawienie najpopularniejszych narzędzi do automatyzacji testów oraz ich charakterystyka
Robotium/Espresso
Uruchamianie testów automatycznych na wielu urządzeniach jednocześnie
Uczestnicy mojej prezentacji będą mieli okazję dowiedzieć się, czym różni się podejście do testowania aplikacji mobilnych od innych testów.
Podczas prezentacji postaram się omówić różne narzędzia do automatyzacji testów. Zaprezentuję także przykładowe testy napisane z wykorzystaniem jednego z najpopularniejszych frameworków do automatyzacji testów aplikacji na urządzenia z systemem Android (Espresso lub Robotium).
Different Android Test Automation Frameworks - What Works You the Best?Bitbar
Watch a live presentation at http://offer.bitbar.com/different-android-testing-frameworks-what-works-you-the-best
Implementing the test automation as part of your daily activities can provide you an enormous value: coverage to detect bugs and errors, early and later during the development, reducing the costs of failure, save time through its repeatability and earlier verification. Today, there are bunch of different options available for testing frameworks on Android – what would work the best for you?
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Intuit Inc.
In the past few years, Intuit has put an intense focus on ramping up its innovation engine. A big part of this effort is speeding up time-to-market for its hundreds of native mobile apps, while maintaining the highest quality standards. The apps need to work across an ever-increasing number of devices and versions of the operating system.
Once our engineers had access to all possible combinations of devices and operating systems, they needed to be able to kick off automated testing whenever they checked in code. We enable mobile continuous integration by integrating our virtual device lab with our test execution platform and Jenkins system. A notification system detects the arrival of a new build of our mobile products, which kicks off execution of automated tests based on a pre-configured test matrix.
The result is a 95% reduction in the time it takes to test our mobile apps.
A workshop about the "dark side" of iOS, Objective-C and Xcode. Discussion about private API, why Apple doesn't want you to use it and how they enforce that. What information can you extract from a compiled binary? Let's take a look at the possibilities of reverse engineering including demos and showcases.
SeeTestAutomation - Mobile Test Automation Tool by ExperitestExperitest
Run the same test on different mobile devices and operating systems with a mobile test automation tool that allows test portability
• Perform mobile test automation using real devices and emulators
• Create a test on one device and run it on any other device model or operating system
• Increase coverage with full peripheral testing capabilities - GPS, Touch ID, camera and audio
• Start your mobile test automation quickly with a simple plug, record and play tool
• Enhance your mobile test automation by Integrating into all your major ALM environments
• Integrate with WebDriver (Selenium), HP UFT/QTP, JUnit, Microsoft Visual Studio and more
• Integrate with any continuous integration environment - HP Quality Center (ALM), Jenkins and more
Experitest and Tech Mahindra on joint webinar on the topic :"UFT vs Selenium- which is better for your mobile strategy?"
This session address the issues mobile testers face when deciding which testing environment to use:
- Should I migrate from UFT to Selenium?
- How important is a user interface?
- How much programming experience do you require in your testing team?
- One test at a time or all of them at once?
- How vital is third party tech support?
- Can I get the best of both?
At Experitest we understand that the best option is to optimize the benefits of both choices. Our SeeTest UFT Addon enables you to extend your UFT testing to mobile applications. We also support Selenium, enabling you to create test scripts that run on this framework.
Watch this webinar to learn how TechM & Experitest can help you succeed choosing the right testing environment for your needs.
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest
Experitest & Infosys held a co-webinar, discussing Continuous Integration & Mobile Performance Test Strategies, Tools and Certification services that can guarantee a quality app for the end user.
This presentation will take on the perspective of the independent developer and what needs to be considered prior to releasing an App onto Apple’s App Store. While the information shared will be useful to larger companies and corporations, the assumed actor will be an individual one person does it all perspective (as larger companies would need to involve communications, marketing and legal representation for many of the steps to a successful launch). The presentation will include such topics as setting up a relationship with Apple, preparing for a web presence, and how to handle user feedback and suggestions. It will also go into device provisioning, pricing, and the use of promo codes when getting people to use your App for the first time.
Watch a live presentation at http://offer.bitbar.com/learn-the-best-practices-of-mobile-game-testing
To get the best start for your mobile game - or just to improve the existing game's possibility to get in front of hundreds of millions of gamers - we'll be sharing our insights, best practices and lots of tips&tricks how to gain advantage in this race.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Improve the quality of your iOS, Android, and web applications by testing against browsers and real mobile devices hosted by Experitest
• Gain immediate access to a large pool of browsers, physical mobile devices, simulators and emulators hosted at Experitest data centers
• Choose from a wide selection of physical mobile devices including newly released models and OS beta versions
• Remotely access and fully control devices for manual testing, development and debugging
• Integrate with any development tools, IDE, and testing environment including open source such as Appium, XCTest, and Espresso, Android Studio
• Run your test automation suite in parallel on multiple devices
• Seamlessly integrate with any CI environment: Jenkins, HP ALM, Team City
• Use advanced test analytics system to gain quality insights and drive improvements
• Optimize performance by simulating real world network conditions and monitoring device vitals consumption (CPU, memory, and battery)
• Be confident that your application and data are secured as your device is isolated and cleaned up when you are done using it
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with AppiumSrijan Technologies
Speaker: Justin Ison
Check out the complete session slides here: http://www.srijan.net/webinar/mobile-...
This session dives into the history of Appium, and it's pros and cons. The speaker also looks at how to write a good test setup and collect meaningful data points. We look at quick demos and comparisons of how Appium significantly reduces test times.
And you definitely should hang around till the Q&A session, where participants pitch in with their issues and queries. The speaker answers all the questions, sharing additional information and tips on Appium.
This presentation is based on Android application testing fundamentals. I have shared some basic idea about different automated android testing frameworks.
Obecnie coraz więcej firm decyduje się na wytwarzanie oprogramowania z uwzględnieniem urządzeń mobilnych. To podejście wiąże się z wyzwaniem zapewnienia projektom możliwie jak najlepszej jakości. Dlatego wiedza odnośnie tajników testowania aplikacji mobilnych może już wkrótce przydać się niemal każdemu testerowi.
W swojej prezentacji postaram się poruszyć następujące zagadnienia:
Specyfika testowania aplikacji mobilnych, czyli testy inne niż wszystkie
Narzędzia pracy testera aplikacji mobilnych
Co daje nam automatyzacja testów oraz jakie podejście wybrać?
Zestawienie najpopularniejszych narzędzi do automatyzacji testów oraz ich charakterystyka
Robotium/Espresso
Uruchamianie testów automatycznych na wielu urządzeniach jednocześnie
Uczestnicy mojej prezentacji będą mieli okazję dowiedzieć się, czym różni się podejście do testowania aplikacji mobilnych od innych testów.
Podczas prezentacji postaram się omówić różne narzędzia do automatyzacji testów. Zaprezentuję także przykładowe testy napisane z wykorzystaniem jednego z najpopularniejszych frameworków do automatyzacji testów aplikacji na urządzenia z systemem Android (Espresso lub Robotium).
Different Android Test Automation Frameworks - What Works You the Best?Bitbar
Watch a live presentation at http://offer.bitbar.com/different-android-testing-frameworks-what-works-you-the-best
Implementing the test automation as part of your daily activities can provide you an enormous value: coverage to detect bugs and errors, early and later during the development, reducing the costs of failure, save time through its repeatability and earlier verification. Today, there are bunch of different options available for testing frameworks on Android – what would work the best for you?
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Intuit Inc.
In the past few years, Intuit has put an intense focus on ramping up its innovation engine. A big part of this effort is speeding up time-to-market for its hundreds of native mobile apps, while maintaining the highest quality standards. The apps need to work across an ever-increasing number of devices and versions of the operating system.
Once our engineers had access to all possible combinations of devices and operating systems, they needed to be able to kick off automated testing whenever they checked in code. We enable mobile continuous integration by integrating our virtual device lab with our test execution platform and Jenkins system. A notification system detects the arrival of a new build of our mobile products, which kicks off execution of automated tests based on a pre-configured test matrix.
The result is a 95% reduction in the time it takes to test our mobile apps.
A workshop about the "dark side" of iOS, Objective-C and Xcode. Discussion about private API, why Apple doesn't want you to use it and how they enforce that. What information can you extract from a compiled binary? Let's take a look at the possibilities of reverse engineering including demos and showcases.
SeeTestAutomation - Mobile Test Automation Tool by ExperitestExperitest
Run the same test on different mobile devices and operating systems with a mobile test automation tool that allows test portability
• Perform mobile test automation using real devices and emulators
• Create a test on one device and run it on any other device model or operating system
• Increase coverage with full peripheral testing capabilities - GPS, Touch ID, camera and audio
• Start your mobile test automation quickly with a simple plug, record and play tool
• Enhance your mobile test automation by Integrating into all your major ALM environments
• Integrate with WebDriver (Selenium), HP UFT/QTP, JUnit, Microsoft Visual Studio and more
• Integrate with any continuous integration environment - HP Quality Center (ALM), Jenkins and more
Experitest and Tech Mahindra on joint webinar on the topic :"UFT vs Selenium- which is better for your mobile strategy?"
This session address the issues mobile testers face when deciding which testing environment to use:
- Should I migrate from UFT to Selenium?
- How important is a user interface?
- How much programming experience do you require in your testing team?
- One test at a time or all of them at once?
- How vital is third party tech support?
- Can I get the best of both?
At Experitest we understand that the best option is to optimize the benefits of both choices. Our SeeTest UFT Addon enables you to extend your UFT testing to mobile applications. We also support Selenium, enabling you to create test scripts that run on this framework.
Watch this webinar to learn how TechM & Experitest can help you succeed choosing the right testing environment for your needs.
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest
Experitest & Infosys held a co-webinar, discussing Continuous Integration & Mobile Performance Test Strategies, Tools and Certification services that can guarantee a quality app for the end user.
This presentation will take on the perspective of the independent developer and what needs to be considered prior to releasing an App onto Apple’s App Store. While the information shared will be useful to larger companies and corporations, the assumed actor will be an individual one person does it all perspective (as larger companies would need to involve communications, marketing and legal representation for many of the steps to a successful launch). The presentation will include such topics as setting up a relationship with Apple, preparing for a web presence, and how to handle user feedback and suggestions. It will also go into device provisioning, pricing, and the use of promo codes when getting people to use your App for the first time.
Watch a live presentation at http://offer.bitbar.com/learn-the-best-practices-of-mobile-game-testing
To get the best start for your mobile game - or just to improve the existing game's possibility to get in front of hundreds of millions of gamers - we'll be sharing our insights, best practices and lots of tips&tricks how to gain advantage in this race.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Improve the quality of your iOS, Android, and web applications by testing against browsers and real mobile devices hosted by Experitest
• Gain immediate access to a large pool of browsers, physical mobile devices, simulators and emulators hosted at Experitest data centers
• Choose from a wide selection of physical mobile devices including newly released models and OS beta versions
• Remotely access and fully control devices for manual testing, development and debugging
• Integrate with any development tools, IDE, and testing environment including open source such as Appium, XCTest, and Espresso, Android Studio
• Run your test automation suite in parallel on multiple devices
• Seamlessly integrate with any CI environment: Jenkins, HP ALM, Team City
• Use advanced test analytics system to gain quality insights and drive improvements
• Optimize performance by simulating real world network conditions and monitoring device vitals consumption (CPU, memory, and battery)
• Be confident that your application and data are secured as your device is isolated and cleaned up when you are done using it
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with AppiumSrijan Technologies
Speaker: Justin Ison
Check out the complete session slides here: http://www.srijan.net/webinar/mobile-...
This session dives into the history of Appium, and it's pros and cons. The speaker also looks at how to write a good test setup and collect meaningful data points. We look at quick demos and comparisons of how Appium significantly reduces test times.
And you definitely should hang around till the Q&A session, where participants pitch in with their issues and queries. The speaker answers all the questions, sharing additional information and tips on Appium.
This talk aims to summarize the typical challenges one encounters in testing mobile applications. At the ThoughtWorks Pune office we have developed multiple mobile applications across various platforms (mobile web, hybrid apps, native apps, apps for tablets etc.). In this talk we will bring together lessons learnt around mobile testing. This talk was done by Vikrant Chauhan and Dubinsky De Soares
Speed and quality through Mobile Continuous Integration on Real Devices at Intuit. The presentation share about our key considerations for 3rd-party vs custom built solutions and how we created Virtual Device Lab and test automation framework to enable end-2-end Mobile continuous integration that reduce development iteration cycle from Days to Minutes
Optimize mobile applications defects with our mobile testing/mobile applications testing services. There are different types of Testing / Mobile Testing / Mobile Application Testing (iPhone Mobile Testing, iPad Testing, Android Mobile Testing, BlackBerry Testing &Windows Phone Testing) and this slide presentation helps you to learn in systematic way.
A Comprehensive Guide to Efficiently Writing and Implementing iOS Unit Tests.pdfflufftailshop
As a business owner, you know the importance of testing your products before launch. With the introduction of iOS unit testing, the app testing process has been made much easier. iOS unit testing is software testing that involves testing individual units of source code for iOS apps. Using iOS swift unit testing and iOS app unit testing, you can identify bugs quickly and make sure that your app functions properly and meets the required standards.
XCUITest for iOS App Testing and how to test with XcodepCloudy
pCloudy is the most powerful cloud based App Testing Platform. It has the the most comprehensive set of Mobile Devices and Tools to Improve Quality of your App.
pCloudy provides single click access to 500+ Android and IOS devices directly from your browser. You can use these real Mobile Devices to click-and-perform Manual Testing and Automation Testing for your App. You can also Integrate pCloudy with CI for continuous Automation.
An overview of Appium mobile testing framework, presented at the Selenium Israel Meetup (http://bit.ly/1yyY80D) on February 2014, by Daniel Puterman, Applitools Head Developer.
Functional Testing is system level , end-to-end testing of your app from a user's perspective. Automating the process of functional testing of your app offers several benefits – it saves time and effort, it's repeatable, simplifies regression testing, enables testing with large data sets and it can be tied into your Continuous Integration process. UI Automations is an automated functional test framework from Apple. Here, user interactions are driven by test scripts are written in JavaScript and executed using the Instruments Automation tool.
1. MOET
https://github.com/eing/moet
Mobile End-to-End Testing
Mobile Exploratory Testing
Eing Ong
Intuit, Inc.
@eingong|eing.ong@intuit.com
1
1
2. Mobile automation technologies
• Two categories
• Instrumented technique
• Non-instrumented technique
• What is instrumentation?
• Tests are compiled with the app
• Tests are installed & launched with the app
• Source code is required and may need to be modified
• Only one app can be executed at a time
• White box approach
2
3. Advantages of both techniques
Non-‐‑instrumentation
Instrumentation
• Device platform agnostic
• Elements can be accessed
• Test code reuse
• Debugging ease
• Test language & test harness • Test verification ease
autonomy
• Reduce tools dependencies
• Support for
• Support for
Multi-‐‑applications testing
Installing application
Custom composite UI elements
Launching application
Database/server API assertions
Cleanup (kill application)
Use of external libraries
Test execution on device
(e.g. hardware/image libraries)
Code coverage
3
4. Which technique should I use ?
Non-instrumentation Instrumentation
External
interaction
Hardware Text-‐‑based
interaction
features
Image based
features
4
5. Mobile automation tools
Mobile
Non-‐‑ Instrumentation
OS
instrumentation
Android
eggPlant, Sikuli, MOET, Robotium, Calabash,
MonkeyRunner
MonkeyTalk
iOS
eggPlant, Sikuli, MOET
UIAutomation, KIF,
iCuke, Frank, UISpec,
Zucchini, Bwoken,
Calabash, MonkeyTalk,
Applecart, iOS-‐‑driver
5
6. MOET
Test
• Think design Login(“user1”,”passwd1”)
o Interfaces
o Creational pattern iPhone implementation
touch(100,100)
• Think reuse enter(username)
touch(100,200)
o Device independent tests
enter(password)
• Think One touch(150, 300)
o IDE
o Test harness and language iPhone Sikuli library
void enter()
void touch(x,y)
6
7. Anatomy of MOET
Mobile Application Interface
Device Independent Tests
Runtime binding
Simulator/Device libraries
Android application iPhone application
implementation
implementation
Android MonkeyRunner
iPhone Sikuli Library
Library
7
8. Top Ten Wish List
a.k.a.
Mobile test automation
Wall of Pain
8
8
9. Android Wall of Pain
10. There’s more to test execution
o Command with report file generation :
adb shell am instrument -w -e reportFile junit-report.xml
com.intuit.test/com.zutubi.android.junitreport.JUnitReportTestRunner
o Date-time fix if using device snapshots :
adb shell date -s `date +"%Y%m%d.%H%M%S”`
9. Where are the test results ?
o Pulling results from device :
adb pull /data/data/com.intuit.test/files/junit-report.xml junit-
report.xml
9
10. Android Wall of Pain
10. There’s more to test execution
o Command with report file generation :
adb shell am instrument -w -e reportFile junit-report.xml
com.intuit.test/com.zutubi.android.junitreport.JUnitReportTestRunner
o Date-time fix if using device snapshots :
adb shell date -s `date +"%Y%m%d.%H%M%S”`
9. Where are the test results ?
o Pulling results from device :
adb pull /data/data/com.intuit.test/files/junit-report.xml junit-
report.xml
10
11. iOS Wall of Pain
8. iOS simulator…the singleton pattern
o Multiple instances of simulator
o Headless execution
7. What test harness ?
o Test grouping, test assertions, base test class
o Results needs to be displayable in browser
6. How about a CI plugin
o Test execution
o Code coverage
11
12. iOS Wall of Pain
8. iOS simulator…the singleton pattern
o Multiple instances of simulator
o Headless execution
7. What test harness ?
o Test grouping, test assertions, base test class
o Results needs to be displayable in browser
6. How about a CI plugin
o Test execution
o Code coverage
12
13. iOS Wall of Pain
8. iOS simulator…the singleton pattern
o Headless execution
o Multiple instances of simulator
7. What test harness ?
o Test grouping, test assertions, base test class
o Results needs to be displayable in browser
6. How about a CI plugin
o Test execution
o Test results
o Code coverage
13
14. iOS Wall of Pain
5. Where’s the IDE plugin ?
o Code formatting
o API completion
o Breakpoints, debugger
o “javadoc” help
o One click test execution of test method/testsuite
14
15. All mobile platforms
4. Problem ? Search ?
o Blogs, stackoverflow, developer groups for devices, etc.
o Mobile testing one-stop tips & tricks (not questions)
o Community driven effort
Tip – Remove authorization prompt
Administrative rights
Update /etc/authorization
<key>system.privilege.taskport</key>
<dict>
<key>allow-root</key>
<!-- previous value <false/> -->
<true/>
Tip – Clean cache, preferences, SQLite
~/Library/Application Support/iPhone Simulator/{SDK}/Applications/<uuid>
Library: Preferences, Caches
Documents: sqlite3 <app>.sqlitedb
15
16. All mobile platforms
3. How about a mobile test report ?
o Mobile test report standard e.g. mobile-test-report.xml
• Screenshots and video recording of failed tests
• Device logs
• Device detection
2. Wireless?
o OTA app installation
o Testing via wifi and carrier networks
o Selenium grid-like test infrastructure
16
17. All mobile platforms
3. How about a mobile test report?
o Mobile test report standard e.g. mobile-test-report.xml
• Screenshots and video recording of failed tests
• Device logs
• Device detection
2. Mobile testing is anything but mobile
o OTA app installation and execution
o Testing via wifi and carrier networks
o Test tool independent component
o Selenium grid-like test infrastructure
17
18. All mobile platforms
1. Yet another proprietary language?
o Open sourced test harness & language for
• Instrumented tests
• Non-instrumented tests
• Hybrid apps tests
18
19. Next steps
Eclipse mobile Test Test Test Continuous
testing plugin development execution reporting integration
Mobile Application Interface
Device Independent Tests
Runtime binding
Simulator/Device libraries
Non-‐‑instrumented Instrumented application
application implementation
implementation
Monkey-‐‑
Sikuli
?Android?
?iOS?
Runner
19