This document discusses factors to consider when choosing a mobile test automation framework for continuous integration (CI). It covers various mobile development technologies, test automation frameworks for both native and cross-platform apps, and how frameworks fit with CI pipelines. The key aspects to evaluate include the development technology, who will write tests, whether tests need access app internals, the programming languages and skills available, and whether the CI server supports mobile testing. The document emphasizes that the most important thing is to start writing tests and refining the approach over time based on lessons learned.
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
NSTC2019: Choosing CI Friendly Mobile Automation Framework
1.
2.
3. Choosing a CI friendly Mobile
Test Automation Framework
National Software Testing Conference 2019
The British Museum, London
Shashikant Jagtap [XCTEQ Limited ]
@Shashikant86
4. Agenda
• Mobile App Development Technologies
• Mobile Test Automation Frameworks
• Mobile Test Automation & CI/CD Pipelines
• How to make decision?
@Shashikant86
5. Mobile Platforms
• iOS ( Apple )
• Android ( Google )
• Windows ( Microsoft )
• Symbian and many more…
@Shashikant86
8. Native vs Cross-Platform
• Native tools and technologies are the best and preferred if budget and deadlines
are feasible
@Shashikant86
9. Native vs Cross-Platform
• Native tools are the best but ….
• Project Budget
• Project Deadlines
• Hiring Cost
• Separate Skills
• So companies make decision to use cross-platform tools
@Shashikant86
10. Native Mobile UI Test Automation
• XCUITest ( Apple )
• Expresso ( Google )
@Shashikant86
11. Benefits of Native UI Test tools
• Fast
• Test code goes into the apps code
• Dev/Test Collaboration
• Easy to plug into CI system
• Maintained by Google or Apple
@Shashikant86
13. Framework Specific Mobile UI Test Tools
• Flutter ( Flutter Driver )
• Xamarin ( Xamarin.UITest )
• React Native ( No Official Support for UI Testing )
@Shashikant86
14. Commercial Mobile UI Test Tools
• Many more Commercial or Paid Mobile Test Automation tools.
@Shashikant86
15. How to choose Mobile Test Framework?
• OMG! There are so many options. How do I choose the test framework for my mobile
app?
@Shashikant86
16. Mobile UI Test Tools + CI
• Native Tools are easy and faster for CI Pipelines
• Third-party tools required additional setup and custom scripting
• Third-party tools required pre-built app for every CI build
• Real Device Testing Services adds additional complexity for CI
• Some CI Server/Services has out of the box Support for Mobile UI Testing
@Shashikant86
17. Tool Selection: Usual Process
• Pick the most commonly used framework and hope that I will work for your app
( e.g Appium )
@Shashikant86
18. Tool Selection: Usual Process
• Pick the most commonly used framework and hope that will work for your app ( e.g Appium )
• Your engineer/QA have used it before so it would be easy to setup and use
• That’s hot in the market, let’s pick that for our project
• That’s too new, let’s not try it before someone else share their experience.
• It’s open-source has too many or not too many contributors
• Its build by famous company so it would be good.
• Why use others? Let’s build our own.
@Shashikant86
19. Things to Consider
• Native App - Native Test Tools (XCUITest and Espresso), No brainer!
@Shashikant86
20. Things to Consider
• Cross-platform development: Cross-Platform test tool but which one?
@Shashikant86
21. Things to Consider
• Cross-platform development: Cross-Platform test tool but which one?
• Appium or Detox or Something else? More things to consider……
@Shashikant86
22. More Things to Consider
• Who will be writing UI test? QA or Developers
@Shashikant86
23. More Things to Consider
@Shashikant86
if QA {
choose Appium || Detox
} else if developer {
choose platform specific tools || Flutter Drive ||
Xamarin.UITest
} else if developer && QA {
choose agreed tool based on skill
} else {
choose nothing
}
24. More Things to Consider
• Black-Box or Grey-Box
• Do want to access API and Data from your app?
@Shashikant86
25. More Things to Consider
• Grey-Box == Detox
• Black-Box == Appium || Flutter Driver
@Shashikant86
26. More Things to Consider
• In-Process Test or Out-of-Process
• Programming language & Skills
• How much you want to invest in UI Test Automation
• How long your project will be?
• Does your CI server/Service provides out-of -the box support to execute tests?
@Shashikant86
27. After Making Decision
• “There is no such as wrong decision”. You have to prove that decision taken was
right!
• “When it comes to choices, it’s 100% okay to choose again, and again, and again…”
@Shashikant86
28. After Making Decision
• Full Dedication on learning and making things work
• Write a first test and configure on CI
• Don’t worry about the test design pattern in the first place.
• Refactor as you go!
• Measure ROI and value provided by test automation.
• Hire smart people with strong experience of decided tools
@Shashikant86