SlideShare a Scribd company logo
1 of 34
Mesut Güneş
www.testrisk.com
November 19, 2021
HUSTEF 2021
#hustef21
Mesut Güneş
www.testrisk.com
Motto: Be part of the development team by native way!
BENEFITS OF USING NATIVE AUTOMATION
TOOLING FOR MOBILE APPS
Mesut Güneş
www.testrisk.com
MESUT GÜNEŞ
Staff SDET in Mobile
in/gunesmes
gunesmes
story/gunesmes
gunesmes
testrisk.com
gunesmes@gmail.com
Mesut Güneş
www.testrisk.com
■ Test automation
■ Mobile testing
■ Mobile automation tools
■ Native mobile automation tools
■ Benefits of native tooling
TALK INCLUDE THESE TOPICS
Mesut Güneş
www.testrisk.com
TABLE OF
CONTENTS
MOBILE
AUTOMATION
ECOSYSTEM
What we have for automation
NON-NATIVE
SOLUTIONS
How non-native tools work
01
03
02
04
05
06
NATIVE
SOLUTIONS
How native tools work
BENEFITS: HANDLING
OBJECTS
What things are handled differently
BENEFITS:
PERFORMANCE
How we can maximize the
benefits
BENEFITS: TEAM
BUILDING
What kind of benefits we
can have
Mesut Güneş
www.testrisk.com
MOBILE AUTOMATION
ECOSYSTEM
01
Mesut Güneş
www.testrisk.com
Mobile applications are packages/binaries that can be installed to the users mobile
devices so that you can let them do what you want.
Mobile applications testing is installing the packages to the target devices and
performing test steps through the application in the devices.
Automation means that all the thing required for manual testing are done by
tools and scripts.
So mobile applications automation requires the followings:
● Application packages (apk / app / ipa)
● Mobile devices/emulator/simulator (Android / iOS)
● Networks
● Permissions
● etc.
WHAT IS MOBILE APPS AUTOMATION
Mesut Güneş
www.testrisk.com
What tests in what level we should test the apps.
TEST TYPES AND LEVELS
Test Level
Test Types
Functional Nonfunctional
Unit unit tests
load, stress, security, code
coverage (metric)
Integration
unit integration tests,
component
integration tests,
microservices
testing
load, stress, security, contract
test
System end-to-end test
load, stress, security, reliability,
maintainability, scalability
Acceptance
uat test, alpha - beta
testing
load, stress, security, usability,
AB test
Mesut Güneş
www.testrisk.com
Identify the purpose of the automation to get a better result
Automate everything that are possible and meaningful
● Classes/Methods
● Integrations
○ Unit
○ Component
○ System
● Requirements
○ Functional
○ Non-functional
● Processes
○ Development
○ Testing
○ Distributing
WHAT TO AUTOMATE
Mesut Güneş
www.testrisk.com
Regarding the the end-to-end testing automation, it can be done by the tools that can
interact to the element of the application inside the devices.
Basically we can classify these tooling as follows
● Native toolings
○ Available inside the development framework
● Non-native tooling
○ External tools that make automation possible
HOW TO AUTOMATE
Mesut Güneş
www.testrisk.com
NON-NATIVE SOLUTIONS
02
Mesut Güneş
www.testrisk.com
Non-native mobile automation tools are external tools and interact with the mobile
application object by a server connected to the mobile apps that are running inside a
mobile device/simulator/emulator.
Non-native tooling requires a server to translate automation commands to actions on
apps for black-box testing
● Depends on server-client communication
● Depends on some native libraries that are always upgraded by manufacturer
● Totally black-box testing technique
WHAT IS NON-NATIVE TOOLING
Mesut Güneş
www.testrisk.com
Non-native toolings work with http server to interact with mobile objects
Interaction can be done by two ways
● Interact with instrumentation/UI library
○ Espresso / UIAutomator / UIAutomator2
○ Robotium
○ XCUITests / UIAutomation
● Image recognition
○ Server take screenshot and find the relevant part of the screen
HOW NON-NATIVE TOOLS WORK
Mesut Güneş
www.testrisk.com
APPIUM
Appium is one of the most popular mobile automation solution.
Its popularity comes from the following advantages:
● Familiarity with the Selenium Webdriver
● Supports most of the popular languages
● Supports multiple platforms such as Android, iOS, Windows
● Easily extent one automation code base for all projects
Mesut Güneş
www.testrisk.com
APPIUM ARCHITECTURE
Appium is a non-native automation tool whose drivers use native automation
libraries in the http server.
Image: https://digital.ai/catalyst-blog/what-is-appium-server-a-complete-end-to-end-guide
Mesut Güneş
www.testrisk.com
CALABASH
Calabash is another mobile automation tool for black-box testing. It was very
popular until 2016 but now it almost become history.
Its popularity comes from the following advantages:
● Behaviour Driven test framework for Mobile automation
● Open-Sourced project: Calabash-android and Calabash-ios
● Supports iOS and Android and Hybrid Apps (Webviews) - (Cross-platform)
● Supports simulators / emulators / real devices
● Supports CI / CD and Clouds - (CLI tools)
● Ruby Based
● Integrated Cucumber
● Calabash Console for real time automation development
Mesut Güneş
www.testrisk.com
CALABASH ARCHITECTURE
Calabash is also a non-native automation tool. Android version uses Robotium
which is an external automation library and iOS version uses XCUITest that is a
native framework.
Calabash-Android Calabash-iOS
Mesut Güneş
www.testrisk.com
NATIVE SOLUTIONS
03
Mesut Güneş
www.testrisk.com
Native mobile automation toolings are integrated libraries to the mobile application
development framework so that developers can write UI tests for the products
under development.
Native toolings are part of the development frameworks so it is guarantee that the
tools are always up to date with the development frameworks and upcoming new
features.
Since we are talking about two major mobile device operating system, we are just
focus on the following platforms:
● Android
○ Espresso
● iOS
○ XCUITest
WHAT IS NATIVE TOOLING
Mesut Güneş
www.testrisk.com
HOW NATIVE TOOLS WORK
Native tools works natively, which means that they are providing direct methods via
APIs to use inside the development project globally.
Interactions are made by directly calling the UI objects inside project architecture
by the APIs.
So these are the main benefits:
● APIs know the state of the objects
● We are free to use tool as black-box as well as
contributing the development code as white-box
● We are free to reach the UI objects
● If the app is the Matrix, native tools are the agents
inside the matrix
Mesut Güneş
www.testrisk.com
ESPRESSO - WHAT
Espresso is a test automation tool developed by Google for Android UI Tests.
Espresso is open-source, very stable and there many frameworks have been
developed around Espresso.
● It has full feature-set of Junit that works with Espresso
● Android studio provides everything you need
● It provides white-box testing
Mesut Güneş
www.testrisk.com
ESPRESSO - HOW
Mesut Güneş
www.testrisk.com
XCUITEST - WHAT
XCUITest stands for Xcode User Interface Testing and it is UI automation
framework iOS applications. XCUITest is developed on top of XCTest and
Accessibility. It is launch by Apple in 2015. It supports all iOS functionality in
terms of testing them by white-box testing techniques.
● XCUITest is native and inside the app source code with different target
● XCode provides everything you need
● It provides white-box testing
● XCTest provides everything you need for testing capabilities
● Accessibility provides UI interaction for all kind of XCode product
Mesut Güneş
www.testrisk.com
XCUITEST - HOW
Mesut Güneş
www.testrisk.com
BENEFITS: HANDLING OBJECTS
04
Mesut Güneş
www.testrisk.com
Native toolings are inside the projects so no need to worry about the use external tool
to get the related objects
Espresso and XCUITest provides the following benefits
● APIs provide methods for all kind of object
● Methods are always up-to-date with latest improvements/updates
● Freely update the source code for the sake of ui-test
NATIVELY AVAILABLE OBJECTS
Mesut Güneş
www.testrisk.com
IDEs ARE FRIENDLY
Mesut Güneş
www.testrisk.com
BENEFITS: PERFORMANCE
05
Mesut Güneş
www.testrisk.com
The performance is very important when you grow and have to handle hounderents
tests. The main point for the performance is that how much time your tests require for
running them locally and in a cloud services
● Simple UI frameworks interact with the objects so no need to translate with
servers
● Native tooling know the state of the elements so no need to check them
regularly
● Automation code is inside the test package so no need to handle it
differently while testing on the cloud. This reduce the time drastically
SERVERS --- NO
Mesut Güneş
www.testrisk.com
Simple test to compare performance of the tools shows that native toolings are always
better than Appium. This was done by TestProject engineers.
Reference: https://blog.testproject.io/2020/04/08/fastest-mobile-automation-testing-tool-appium-vs-
xcuitest-vs-testproject-vs-uiautomator-vs-espresso/
COMPARE THE PERFORMANCE
Mesut Güneş
www.testrisk.com
BENEFITS: TEAM BUILDING
06
Mesut Güneş
www.testrisk.com
Better performance from an automation project can be only get when the developers
and testers work cooperatively. Developers are are always result oriented people so
they focus on the development of the features, but the QAs/SDETs must be keen on
the quality. This quality not only the product quality but also quality of the tests,
process, and the documentation. This can be achieved by cross-functional-team
building.
Cross-functional-team requires the followings:
● Team spirit
● Shared common knowledge, every team members
should know basics about
○ What is being built
○ How the things are developed
○ How the things are being tested
● Absence of one person from a role can be filled by from
another role
○ QA/SDET can be developer
○ Developer can be QA/SDET
BUILD TEAM AROUND QUALITY
Mesut Güneş
www.testrisk.com
How I am lucky to get those feedbacks from experienced mobile developers :)
● DEV provides testable features
● QA/SDET writes test
● When QA/SDET get familiarity with whole project, s/he can update/add missing
parts for deterministic test
● Dev are ready for making test framework better :)
BUILD TEAM AROUND QUALITY
Mesut Güneş
www.testrisk.com
CREDITS: This presentation template was created by Slidesgo, including
icons by Flaticon, and infographics & images by Freepik.
Please keep this slide for attribution.
Does anyone have any questions?
THANKS
References:
● https://developer.android.com/training/testing/espresso
● https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual
/testing_with_xcode/chapters/09-ui_testing.html
● https://appium.io/docs/en/about-appium/intro/
● https://www.browserstack.com/guide/getting-started-xcuitest-framework
● https://www.browserstack.com/guide/appium-vs-espresso
● https://blog.testproject.io/2020/04/08/fastest-mobile-automation-testing-tool-appium-
vs-xcuitest-vs-testproject-vs-uiautomator-vs-espresso/
● https://devexperts.com/blog/ios-ui-testing-frameworks-performance-comparison/

More Related Content

Similar to Benefits of using native automation tooling for mobile application testing.pptx

Top Automated UI Testing Tools 2023.pdf
Top Automated UI Testing Tools 2023.pdfTop Automated UI Testing Tools 2023.pdf
Top Automated UI Testing Tools 2023.pdfpcloudy2
 
Decoding Appium No-Code Test Automation With HeadSpin.pdf
Decoding Appium No-Code Test Automation With HeadSpin.pdfDecoding Appium No-Code Test Automation With HeadSpin.pdf
Decoding Appium No-Code Test Automation With HeadSpin.pdfkalichargn70th171
 
Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Perfecto Mobile
 
Basics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdfBasics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdfpcloudy2
 
Building High Quality Android Applications
Building High Quality Android ApplicationsBuilding High Quality Android Applications
Building High Quality Android ApplicationsLeif Janzik
 
Android testing
Android testingAndroid testing
Android testingBitbar
 
Choosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for YouChoosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for YouPerfecto by Perforce
 
A Complete Guide to Codeless Testing.pdf
A Complete Guide to Codeless Testing.pdfA Complete Guide to Codeless Testing.pdf
A Complete Guide to Codeless Testing.pdfpCloudy
 
Is Codeless Automation Testing Revolutionizing the Testing Industry.pdf
Is Codeless Automation Testing Revolutionizing the Testing Industry.pdfIs Codeless Automation Testing Revolutionizing the Testing Industry.pdf
Is Codeless Automation Testing Revolutionizing the Testing Industry.pdfMindfire LLC
 
A Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and BeyondA Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and BeyondPratik Patel
 
Mobile Automation Meetup Presentation [English]
Mobile Automation Meetup Presentation [English]Mobile Automation Meetup Presentation [English]
Mobile Automation Meetup Presentation [English]Maria Carcar
 
The Best Automation Testing Tools To Use In 2022 | BMN Infotech
The Best Automation Testing Tools To Use In 2022 | BMN InfotechThe Best Automation Testing Tools To Use In 2022 | BMN Infotech
The Best Automation Testing Tools To Use In 2022 | BMN InfotechBMN Infotech
 
Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)Sauce Labs
 
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Intuit Inc.
 
Automated Application Testing
Automated Application TestingAutomated Application Testing
Automated Application TestingCodal
 
What is the importance of tools in automated ui testing
What is the importance of tools in automated ui testingWhat is the importance of tools in automated ui testing
What is the importance of tools in automated ui testingTestingXperts
 
Top 10 Mobile Application Testing Tools | Edureka
Top 10 Mobile Application Testing Tools | EdurekaTop 10 Mobile Application Testing Tools | Edureka
Top 10 Mobile Application Testing Tools | EdurekaEdureka!
 
Appium an introduction
Appium   an introductionAppium   an introduction
Appium an introductionVivek Shringi
 
100 effective software testing tools that boost your Testing
100 effective software testing tools that boost your Testing100 effective software testing tools that boost your Testing
100 effective software testing tools that boost your TestingBugRaptors
 
Visual Studio 2015 / Visual Studio Team Services Overview
Visual Studio 2015 / Visual Studio Team Services OverviewVisual Studio 2015 / Visual Studio Team Services Overview
Visual Studio 2015 / Visual Studio Team Services OverviewHimanshu Desai
 

Similar to Benefits of using native automation tooling for mobile application testing.pptx (20)

Top Automated UI Testing Tools 2023.pdf
Top Automated UI Testing Tools 2023.pdfTop Automated UI Testing Tools 2023.pdf
Top Automated UI Testing Tools 2023.pdf
 
Decoding Appium No-Code Test Automation With HeadSpin.pdf
Decoding Appium No-Code Test Automation With HeadSpin.pdfDecoding Appium No-Code Test Automation With HeadSpin.pdf
Decoding Appium No-Code Test Automation With HeadSpin.pdf
 
Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017
 
Basics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdfBasics of Scriptless Automation for Web and Mobile Apps (1).pdf
Basics of Scriptless Automation for Web and Mobile Apps (1).pdf
 
Building High Quality Android Applications
Building High Quality Android ApplicationsBuilding High Quality Android Applications
Building High Quality Android Applications
 
Android testing
Android testingAndroid testing
Android testing
 
Choosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for YouChoosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for You
 
A Complete Guide to Codeless Testing.pdf
A Complete Guide to Codeless Testing.pdfA Complete Guide to Codeless Testing.pdf
A Complete Guide to Codeless Testing.pdf
 
Is Codeless Automation Testing Revolutionizing the Testing Industry.pdf
Is Codeless Automation Testing Revolutionizing the Testing Industry.pdfIs Codeless Automation Testing Revolutionizing the Testing Industry.pdf
Is Codeless Automation Testing Revolutionizing the Testing Industry.pdf
 
A Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and BeyondA Modern Dive into QA Automation and Beyond
A Modern Dive into QA Automation and Beyond
 
Mobile Automation Meetup Presentation [English]
Mobile Automation Meetup Presentation [English]Mobile Automation Meetup Presentation [English]
Mobile Automation Meetup Presentation [English]
 
The Best Automation Testing Tools To Use In 2022 | BMN Infotech
The Best Automation Testing Tools To Use In 2022 | BMN InfotechThe Best Automation Testing Tools To Use In 2022 | BMN Infotech
The Best Automation Testing Tools To Use In 2022 | BMN Infotech
 
Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)Best Practices in Mobile CI (webinar)
Best Practices in Mobile CI (webinar)
 
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
 
Automated Application Testing
Automated Application TestingAutomated Application Testing
Automated Application Testing
 
What is the importance of tools in automated ui testing
What is the importance of tools in automated ui testingWhat is the importance of tools in automated ui testing
What is the importance of tools in automated ui testing
 
Top 10 Mobile Application Testing Tools | Edureka
Top 10 Mobile Application Testing Tools | EdurekaTop 10 Mobile Application Testing Tools | Edureka
Top 10 Mobile Application Testing Tools | Edureka
 
Appium an introduction
Appium   an introductionAppium   an introduction
Appium an introduction
 
100 effective software testing tools that boost your Testing
100 effective software testing tools that boost your Testing100 effective software testing tools that boost your Testing
100 effective software testing tools that boost your Testing
 
Visual Studio 2015 / Visual Studio Team Services Overview
Visual Studio 2015 / Visual Studio Team Services OverviewVisual Studio 2015 / Visual Studio Team Services Overview
Visual Studio 2015 / Visual Studio Team Services Overview
 

More from Mesut Günes

TestOps: What is it and Why we need it
TestOps: What is it and Why we need itTestOps: What is it and Why we need it
TestOps: What is it and Why we need itMesut Günes
 
Cross Platform Mobile Automation with Calabash on Cloud and More
Cross Platform Mobile Automation with Calabash on Cloud and MoreCross Platform Mobile Automation with Calabash on Cloud and More
Cross Platform Mobile Automation with Calabash on Cloud and MoreMesut Günes
 
Regular Expression (Regex) Fundamentals
Regular Expression (Regex) FundamentalsRegular Expression (Regex) Fundamentals
Regular Expression (Regex) FundamentalsMesut Günes
 
Exploring the best method of forecasting for short term electrical energy demand
Exploring the best method of forecasting for short term electrical energy demandExploring the best method of forecasting for short term electrical energy demand
Exploring the best method of forecasting for short term electrical energy demandMesut Günes
 
Test Mühendisliğine Giriş Eğitimi - Bölüm 1
Test Mühendisliğine Giriş Eğitimi - Bölüm 1Test Mühendisliğine Giriş Eğitimi - Bölüm 1
Test Mühendisliğine Giriş Eğitimi - Bölüm 1Mesut Günes
 
Test Mühendisliğine Giriş Eğitimi - Bölüm 2
Test Mühendisliğine Giriş Eğitimi - Bölüm 2Test Mühendisliğine Giriş Eğitimi - Bölüm 2
Test Mühendisliğine Giriş Eğitimi - Bölüm 2Mesut Günes
 
Software development life cycle yazılım geliştirme yaşam döngüsü
Software development life cycle   yazılım geliştirme yaşam döngüsüSoftware development life cycle   yazılım geliştirme yaşam döngüsü
Software development life cycle yazılım geliştirme yaşam döngüsüMesut Günes
 
Test automation methodologies
Test automation methodologiesTest automation methodologies
Test automation methodologiesMesut Günes
 

More from Mesut Günes (8)

TestOps: What is it and Why we need it
TestOps: What is it and Why we need itTestOps: What is it and Why we need it
TestOps: What is it and Why we need it
 
Cross Platform Mobile Automation with Calabash on Cloud and More
Cross Platform Mobile Automation with Calabash on Cloud and MoreCross Platform Mobile Automation with Calabash on Cloud and More
Cross Platform Mobile Automation with Calabash on Cloud and More
 
Regular Expression (Regex) Fundamentals
Regular Expression (Regex) FundamentalsRegular Expression (Regex) Fundamentals
Regular Expression (Regex) Fundamentals
 
Exploring the best method of forecasting for short term electrical energy demand
Exploring the best method of forecasting for short term electrical energy demandExploring the best method of forecasting for short term electrical energy demand
Exploring the best method of forecasting for short term electrical energy demand
 
Test Mühendisliğine Giriş Eğitimi - Bölüm 1
Test Mühendisliğine Giriş Eğitimi - Bölüm 1Test Mühendisliğine Giriş Eğitimi - Bölüm 1
Test Mühendisliğine Giriş Eğitimi - Bölüm 1
 
Test Mühendisliğine Giriş Eğitimi - Bölüm 2
Test Mühendisliğine Giriş Eğitimi - Bölüm 2Test Mühendisliğine Giriş Eğitimi - Bölüm 2
Test Mühendisliğine Giriş Eğitimi - Bölüm 2
 
Software development life cycle yazılım geliştirme yaşam döngüsü
Software development life cycle   yazılım geliştirme yaşam döngüsüSoftware development life cycle   yazılım geliştirme yaşam döngüsü
Software development life cycle yazılım geliştirme yaşam döngüsü
 
Test automation methodologies
Test automation methodologiesTest automation methodologies
Test automation methodologies
 

Recently uploaded

APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024hassan khalil
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Serviceranjana rawat
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 

Recently uploaded (20)

APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024Architect Hassan Khalil Portfolio for 2024
Architect Hassan Khalil Portfolio for 2024
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
(RIA) Call Girls Bhosari ( 7001035870 ) HI-Fi Pune Escorts Service
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 

Benefits of using native automation tooling for mobile application testing.pptx

  • 1. Mesut Güneş www.testrisk.com November 19, 2021 HUSTEF 2021 #hustef21
  • 2. Mesut Güneş www.testrisk.com Motto: Be part of the development team by native way! BENEFITS OF USING NATIVE AUTOMATION TOOLING FOR MOBILE APPS
  • 3. Mesut Güneş www.testrisk.com MESUT GÜNEŞ Staff SDET in Mobile in/gunesmes gunesmes story/gunesmes gunesmes testrisk.com gunesmes@gmail.com
  • 4. Mesut Güneş www.testrisk.com ■ Test automation ■ Mobile testing ■ Mobile automation tools ■ Native mobile automation tools ■ Benefits of native tooling TALK INCLUDE THESE TOPICS
  • 5. Mesut Güneş www.testrisk.com TABLE OF CONTENTS MOBILE AUTOMATION ECOSYSTEM What we have for automation NON-NATIVE SOLUTIONS How non-native tools work 01 03 02 04 05 06 NATIVE SOLUTIONS How native tools work BENEFITS: HANDLING OBJECTS What things are handled differently BENEFITS: PERFORMANCE How we can maximize the benefits BENEFITS: TEAM BUILDING What kind of benefits we can have
  • 7. Mesut Güneş www.testrisk.com Mobile applications are packages/binaries that can be installed to the users mobile devices so that you can let them do what you want. Mobile applications testing is installing the packages to the target devices and performing test steps through the application in the devices. Automation means that all the thing required for manual testing are done by tools and scripts. So mobile applications automation requires the followings: ● Application packages (apk / app / ipa) ● Mobile devices/emulator/simulator (Android / iOS) ● Networks ● Permissions ● etc. WHAT IS MOBILE APPS AUTOMATION
  • 8. Mesut Güneş www.testrisk.com What tests in what level we should test the apps. TEST TYPES AND LEVELS Test Level Test Types Functional Nonfunctional Unit unit tests load, stress, security, code coverage (metric) Integration unit integration tests, component integration tests, microservices testing load, stress, security, contract test System end-to-end test load, stress, security, reliability, maintainability, scalability Acceptance uat test, alpha - beta testing load, stress, security, usability, AB test
  • 9. Mesut Güneş www.testrisk.com Identify the purpose of the automation to get a better result Automate everything that are possible and meaningful ● Classes/Methods ● Integrations ○ Unit ○ Component ○ System ● Requirements ○ Functional ○ Non-functional ● Processes ○ Development ○ Testing ○ Distributing WHAT TO AUTOMATE
  • 10. Mesut Güneş www.testrisk.com Regarding the the end-to-end testing automation, it can be done by the tools that can interact to the element of the application inside the devices. Basically we can classify these tooling as follows ● Native toolings ○ Available inside the development framework ● Non-native tooling ○ External tools that make automation possible HOW TO AUTOMATE
  • 12. Mesut Güneş www.testrisk.com Non-native mobile automation tools are external tools and interact with the mobile application object by a server connected to the mobile apps that are running inside a mobile device/simulator/emulator. Non-native tooling requires a server to translate automation commands to actions on apps for black-box testing ● Depends on server-client communication ● Depends on some native libraries that are always upgraded by manufacturer ● Totally black-box testing technique WHAT IS NON-NATIVE TOOLING
  • 13. Mesut Güneş www.testrisk.com Non-native toolings work with http server to interact with mobile objects Interaction can be done by two ways ● Interact with instrumentation/UI library ○ Espresso / UIAutomator / UIAutomator2 ○ Robotium ○ XCUITests / UIAutomation ● Image recognition ○ Server take screenshot and find the relevant part of the screen HOW NON-NATIVE TOOLS WORK
  • 14. Mesut Güneş www.testrisk.com APPIUM Appium is one of the most popular mobile automation solution. Its popularity comes from the following advantages: ● Familiarity with the Selenium Webdriver ● Supports most of the popular languages ● Supports multiple platforms such as Android, iOS, Windows ● Easily extent one automation code base for all projects
  • 15. Mesut Güneş www.testrisk.com APPIUM ARCHITECTURE Appium is a non-native automation tool whose drivers use native automation libraries in the http server. Image: https://digital.ai/catalyst-blog/what-is-appium-server-a-complete-end-to-end-guide
  • 16. Mesut Güneş www.testrisk.com CALABASH Calabash is another mobile automation tool for black-box testing. It was very popular until 2016 but now it almost become history. Its popularity comes from the following advantages: ● Behaviour Driven test framework for Mobile automation ● Open-Sourced project: Calabash-android and Calabash-ios ● Supports iOS and Android and Hybrid Apps (Webviews) - (Cross-platform) ● Supports simulators / emulators / real devices ● Supports CI / CD and Clouds - (CLI tools) ● Ruby Based ● Integrated Cucumber ● Calabash Console for real time automation development
  • 17. Mesut Güneş www.testrisk.com CALABASH ARCHITECTURE Calabash is also a non-native automation tool. Android version uses Robotium which is an external automation library and iOS version uses XCUITest that is a native framework. Calabash-Android Calabash-iOS
  • 19. Mesut Güneş www.testrisk.com Native mobile automation toolings are integrated libraries to the mobile application development framework so that developers can write UI tests for the products under development. Native toolings are part of the development frameworks so it is guarantee that the tools are always up to date with the development frameworks and upcoming new features. Since we are talking about two major mobile device operating system, we are just focus on the following platforms: ● Android ○ Espresso ● iOS ○ XCUITest WHAT IS NATIVE TOOLING
  • 20. Mesut Güneş www.testrisk.com HOW NATIVE TOOLS WORK Native tools works natively, which means that they are providing direct methods via APIs to use inside the development project globally. Interactions are made by directly calling the UI objects inside project architecture by the APIs. So these are the main benefits: ● APIs know the state of the objects ● We are free to use tool as black-box as well as contributing the development code as white-box ● We are free to reach the UI objects ● If the app is the Matrix, native tools are the agents inside the matrix
  • 21. Mesut Güneş www.testrisk.com ESPRESSO - WHAT Espresso is a test automation tool developed by Google for Android UI Tests. Espresso is open-source, very stable and there many frameworks have been developed around Espresso. ● It has full feature-set of Junit that works with Espresso ● Android studio provides everything you need ● It provides white-box testing
  • 23. Mesut Güneş www.testrisk.com XCUITEST - WHAT XCUITest stands for Xcode User Interface Testing and it is UI automation framework iOS applications. XCUITest is developed on top of XCTest and Accessibility. It is launch by Apple in 2015. It supports all iOS functionality in terms of testing them by white-box testing techniques. ● XCUITest is native and inside the app source code with different target ● XCode provides everything you need ● It provides white-box testing ● XCTest provides everything you need for testing capabilities ● Accessibility provides UI interaction for all kind of XCode product
  • 26. Mesut Güneş www.testrisk.com Native toolings are inside the projects so no need to worry about the use external tool to get the related objects Espresso and XCUITest provides the following benefits ● APIs provide methods for all kind of object ● Methods are always up-to-date with latest improvements/updates ● Freely update the source code for the sake of ui-test NATIVELY AVAILABLE OBJECTS
  • 29. Mesut Güneş www.testrisk.com The performance is very important when you grow and have to handle hounderents tests. The main point for the performance is that how much time your tests require for running them locally and in a cloud services ● Simple UI frameworks interact with the objects so no need to translate with servers ● Native tooling know the state of the elements so no need to check them regularly ● Automation code is inside the test package so no need to handle it differently while testing on the cloud. This reduce the time drastically SERVERS --- NO
  • 30. Mesut Güneş www.testrisk.com Simple test to compare performance of the tools shows that native toolings are always better than Appium. This was done by TestProject engineers. Reference: https://blog.testproject.io/2020/04/08/fastest-mobile-automation-testing-tool-appium-vs- xcuitest-vs-testproject-vs-uiautomator-vs-espresso/ COMPARE THE PERFORMANCE
  • 32. Mesut Güneş www.testrisk.com Better performance from an automation project can be only get when the developers and testers work cooperatively. Developers are are always result oriented people so they focus on the development of the features, but the QAs/SDETs must be keen on the quality. This quality not only the product quality but also quality of the tests, process, and the documentation. This can be achieved by cross-functional-team building. Cross-functional-team requires the followings: ● Team spirit ● Shared common knowledge, every team members should know basics about ○ What is being built ○ How the things are developed ○ How the things are being tested ● Absence of one person from a role can be filled by from another role ○ QA/SDET can be developer ○ Developer can be QA/SDET BUILD TEAM AROUND QUALITY
  • 33. Mesut Güneş www.testrisk.com How I am lucky to get those feedbacks from experienced mobile developers :) ● DEV provides testable features ● QA/SDET writes test ● When QA/SDET get familiarity with whole project, s/he can update/add missing parts for deterministic test ● Dev are ready for making test framework better :) BUILD TEAM AROUND QUALITY
  • 34. Mesut Güneş www.testrisk.com CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, and infographics & images by Freepik. Please keep this slide for attribution. Does anyone have any questions? THANKS References: ● https://developer.android.com/training/testing/espresso ● https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual /testing_with_xcode/chapters/09-ui_testing.html ● https://appium.io/docs/en/about-appium/intro/ ● https://www.browserstack.com/guide/getting-started-xcuitest-framework ● https://www.browserstack.com/guide/appium-vs-espresso ● https://blog.testproject.io/2020/04/08/fastest-mobile-automation-testing-tool-appium- vs-xcuitest-vs-testproject-vs-uiautomator-vs-espresso/ ● https://devexperts.com/blog/ios-ui-testing-frameworks-performance-comparison/

Editor's Notes

  1. We mainly focus on doing the functional tests on system and acceptance level but we can also check that the performance of the apps during this test by keeping all dependent parts (such as network, backend services, devices, test data, test steps) stable so that we can catch the deviation in the performance of the app.
  2. A simple automation code creates a request with a json-wire protocol to the Appium server then Appium server gets the capabilities and creates a driver accordingly then starts to connect to devices/emulators/simulators to interact with the Bootstrap framework inside the target devices and finally the Bootstrap tries to complete the requests. Once the requests completed or failed for any reasons it sends back the log to the client so there is mutual communication during execution of the simple automation command. Appium created based on the Selenium Webdriver that was created for web automation so making this technology for mobile solution requires a lot of engineering. Appium includes lot of development to cover many edge cases and it will be also updated/refactored by upcoming updates in native automation frameworks, Espresso and XCUITest, that are updated every year by Google and Apple. As a result, Appium is an over-engineered tool.
  3. Same as in the Appium, a simple automation command that is initiated by step definition send requests to the server inside the devices so it can interact with the app UI objects. This interaction is provided by Robotium for android and by XCUITest for iOS. There is also a detail that the iOS server should be inside the build app which means that you need to rebuild iOS app for the Calabash target. The main differences between Appium and Calabash is that the server is inside the devices for the Calabash and you are sending query for the UI objects.
  4. Talk about followings: What native means Where app code, UI code, unit test code How to apply white-box testing How Espresso is initiated How Espresso can be architectured POM
  5. Talk about followings: What native means Where app code, UI code, unit test code How to apply white-box testing How Espresso is initiated How Espresso can be architectured POM