SlideShare a Scribd company logo
Continuous Shift-Left Automated
Testing in
native Mobile apps
MTS 1, Software Engineer, Quality
About Suparna
■ XCTest, XCUITest, Selenium, Appium, Espresso, UIAutomator,
SeeTest, Postman, Jenkins, CircleCI, Junit, Nunit, TestNG, GIT
■ Written Tech solutions in BrowserStack, Lambdatest, Medium
■ 1st Winner of TechGig Testathon 2018 - "India's Best Tester"
■ Silver Winner of Applitools Automation Hackathon 2020 -
Top 70
suparna-khamaru
/in/suparnakhamaru/ super-tester.medium.com
Agenda
Why Shift Left in Mobile?
Mobile Test Automation Pyramid
How much Mobile Automation is enough?
Right way to Automate
Best Practices in Mobile Automation
How to Shift Left?
Do we test enough?
Do we automate enough?
Are we using the right resources which
is
 Time saving
 Fast &
 Adding Value?
Manual
Testing
Non
Functional
Testing
Functional
Testing
Integration Testing
Unit Testing
(5%)
(95%)
60%
15%
10%
10%
Manual
Testing
Non
Functional
Testing
Functional
Testing
Integration Testing
Unit Testing
(5%)
(95%)
60%
15%
10%
10%
Manual
Testing
Non
Functional
Testing
Functional Testing
Integration Testing
•Unit Tests
•Snapshot Tests
Unit Testing
(5%)
(95%)
60%
15%
10%
10%
Manual
Testing
Non
Functional
Testing
Functional Testing
•API Integration Tests
•SDK Integration Tests
Integration Testing
•Unit Tests
•Snapshot Tests
Unit Testing
(5%)
(95%)
60%
15%
10%
10%
Manual
Testing
Non
Functional
Testing
•End to End Tests
•UI Tests on Staging
•UI Tests with SDK integration
•UI Tests on Mock Server
Functional Testing
•Library / SDK / Framework /
API Integration Tests
Integration Testing
•Unit Tests
•Snapshot Tests
Unit Testing
(5%)
(95%)
60%
15%
10%
10%
Automation Test Framework
Development
Build
Unit Test Suite UI Test Suite Integrated to CI
Locators
Network
Layer
Set Accessibility
Identifiers
Reusable
& Optimised page
objects
Tests
Test Plan
Report with logs
& screenshots
Test Data
UI tests with
test/prod
environment
UI Tests with SDK
integration
UI tests with API
integration
UI Tests with
Mock API
Code & Test Coverage
UI tests with Test/Prod environment
UI Tests with SDK integration
UI tests with API integration
UI Tests with Mock API
Network Layers in E2E Testing
App
Test
Environment
UI Test
Flaky
Tests
UI tests with Test/Prod environment
UI Tests with SDK integration
UI tests with API integration
UI Tests with Mock API
Network Layers in E2E Testing
App
Mocke
d API
UI Test
100%
Reliable
Tests
Swifter
Embassy
Nimble
Wiremock
OkHttp
UI tests with Test/Prod environment
UI Tests with SDK integration
UI tests with API integration
UI Tests with Mock API
Network Layers in E2E Testing
API
call
App UI Test
UI tests with Test/Prod environment
UI Tests with SDK integration
UI tests with API integration
UI Tests with Mock API
Network Layers in E2E Testing
App
SDK
Library
SDK Unit
Test
UI Test
UI Tests with SDK integration
Network Layers in E2E Testing
Manual
Testing
•Accessibility Tests
•Security Scans
•Performance Tests
•Localisation & Internationalization Tests
Non
Functional
Testing
•End to End Tests
•UI Tests on Staging
•UI Tests with SDK integration
•UI Tests on Mock Server
Functional Testing
•Library / SDK / Framework /
API Integration Tests
Integration Testing
•Unit Tests
•Snapshot Tests
Unit Testing
(5%)
(95%)
60%
15%
10%
10%
Accessibility Testing
Localization Testing
■ Calendar / region / Time zone
■ Language support
■ Locale / location
NavigationBar, {{0.0, 20.0}, {375.0, 44.0}}, identifier: 'Rewards'
Button, {{8.0, 20.0}, {43.0, 44.0}}, label: 'Back'
StaticText, {{151.5, 30.0}, {72.0, 22.5}}, label: 'Rewards'
Table, {{0.0, 64.0}, {375.0, 603.0}}
Other, {{0.0, -1091.5}, {375.0, 115.0}}, identifier: ‘BottleTile'
Image, {{139.5, -1091.5}, {96.0, 96.0}}, identifier: 'AwardImage'
Cell, {{0.0, -976.5}, {375.0, 2359.0}}
Button, {{18.0, -966.5}, {169.0, 46.0}}, identifier: ‘Alexa', label: ‘Talk'
Button, {{187.5, -966.5}, {169.0, 46.0}}, identifier: ‘Google', label: ‘Write'
•Upgradation Tests
•Exploratory Tests
•Dog Food - Alpha & Beta Tests
Manual
Testing
•Accessibility Tests
•Security Scans
•Performance Tests
•Localisation & Internationalization Tests
Non
Functional
Testing
•End to End Tests
•UI Tests on Staging
•UI Tests with SDK integration
•UI Tests on Mock Server
Functional Testing
•Library / SDK / Framework /
API Integration Tests
Integration Testing
•Unit Tests
•Snapshot Tests
Unit Testing
(5%)
(95%)
60%
15%
10%
10%
•Upgradation Tests
•Exploratory Tests
•Dog Food - Alpha & Beta Tests
Manual
Testing
•Accessibility Tests
•Security Scans
•Performance Tests
•Localisation/Internationalization
Non
Functional
Testing
•End to End Tests
•UI Tests on Staging
•UI Tests with SDK
•UI Tests on Mock Server
Functional
Testing
•Library / SDK /
Framework / API
Integration Tests
Integration Testing
•Unit Tests
•Snapshot Tests
Unit Testing
(5%)
(95%)
60%
15%
10%
10%
•Upgradation Tests
•Exploratory Tests
•Dog Food - Alpha & Beta Tests
Manual
Testing
•Accessibility Tests
•Security Scans
•Performance Tests
•Localisation/Internationalization
Non
Functional
Testing
•End to End Tests
•UI Tests on Staging
•UI Tests with SDK
•UI Tests on Mock Server
Functional
Testing
•Library / SDK /
Framework / API
Integration Tests
Integration Testing
•Unit Tests
•Snapshot Tests
•Code & Test
Coverage
Unit Testing
(5%)
(95%)
60%
15%
10%
10%
 Nightly Run
 Nightly Run
 Nightly Run
 Every PR
 Every PR
 Every PR
Easiest CI integrations
■ Simulators / Emulators
■ Browserstack
■ LambdaTest
■ AWS Device farm
■ TestingBot
■ SauceLabs
■ Firebase Test Lab
xcodebuild test -workspace sampleApp.xcworkspace -scheme sampleAppUITests
-destination 'platform=iOS Simulator,name=iPhone 11' -resultBundlePath
ResultBundle.xcresult
./gradlew connectedAndroidTest
Upload
app
Upload
test suite
Build
Best Practices
■ Appoint Dedicated personnel for each Job
■ Continuous Testing
■ Our test should FAIL gracefully
■ Separate test plans
■ No flaky tests
■ Not replacing Exploratory / Manual
Testing
■ Write maintainable, reusable, optimized &
readable Test code
Summary
 Accessibility
 Common Repository
 Robust and Low
maintenance
 High Reusability of code
 Fastest Test Executions
 Fastest Bug Detections
 Fastest Scripting
 Parallel Automation
 Boosts confidence
 Fastest Time to Market
every time
 Reduced human errors in
testing
 Earliest Bug Fix
 More mature & Reliable
Inner Peace
In God I trust, rest must pass the automated test suites
THANK YOU 🙏
/in/suparnakhamaru
suparna-khamaru
super-tester.medium.com

More Related Content

What's hot

AWS Innovate: Mobile App testing with AWS Device Farm- Kevin Kim
AWS Innovate: Mobile App testing with AWS Device Farm- Kevin KimAWS Innovate: Mobile App testing with AWS Device Farm- Kevin Kim
AWS Innovate: Mobile App testing with AWS Device Farm- Kevin Kim
Amazon Web Services Korea
 
Spring Cloud Workshop
Spring Cloud WorkshopSpring Cloud Workshop
Spring Cloud Workshop
YongSung Yoon
 
Redux Saga - Under the hood
Redux Saga - Under the hoodRedux Saga - Under the hood
Redux Saga - Under the hood
Waqqas Jabbar
 
스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해
beom kyun choi
 
Offzone | Another waf bypass
Offzone | Another waf bypassOffzone | Another waf bypass
Offzone | Another waf bypass
Дмитрий Бумов
 
Node js overview
Node js overviewNode js overview
Node js overview
Eyal Vardi
 
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
Arawn Park
 
Kafka as an Event Store - is it Good Enough?
Kafka as an Event Store - is it Good Enough?Kafka as an Event Store - is it Good Enough?
Kafka as an Event Store - is it Good Enough?
Guido Schmutz
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
Lee Barnes
 
WebAssembly Overview
WebAssembly OverviewWebAssembly Overview
WebAssembly Overview
Alexandr Skachkov
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
NAVER D2
 
What's new in API Connect and DataPower - 2019
What's new in API Connect and DataPower - 2019What's new in API Connect and DataPower - 2019
What's new in API Connect and DataPower - 2019
IBM DataPower Gateway
 
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
Amazon Web Services Korea
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberKMS Technology
 
I got 99 problems, but ReST ain't one
I got 99 problems, but ReST ain't oneI got 99 problems, but ReST ain't one
I got 99 problems, but ReST ain't one
Adrian Cole
 
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Domenic Denicola
 
Meetup angular http client
Meetup angular http clientMeetup angular http client
Meetup angular http client
Gaurav Madaan
 
자바에서 null을 안전하게 다루는 방법
자바에서 null을 안전하게 다루는 방법자바에서 null을 안전하게 다루는 방법
자바에서 null을 안전하게 다루는 방법
Sungchul Park
 
API Testing for everyone.pptx
API Testing for everyone.pptxAPI Testing for everyone.pptx
API Testing for everyone.pptx
Pricilla Bilavendran
 
Integrating FIDO Authentication & Federation Protocols
Integrating FIDO Authentication & Federation ProtocolsIntegrating FIDO Authentication & Federation Protocols
Integrating FIDO Authentication & Federation Protocols
FIDO Alliance
 

What's hot (20)

AWS Innovate: Mobile App testing with AWS Device Farm- Kevin Kim
AWS Innovate: Mobile App testing with AWS Device Farm- Kevin KimAWS Innovate: Mobile App testing with AWS Device Farm- Kevin Kim
AWS Innovate: Mobile App testing with AWS Device Farm- Kevin Kim
 
Spring Cloud Workshop
Spring Cloud WorkshopSpring Cloud Workshop
Spring Cloud Workshop
 
Redux Saga - Under the hood
Redux Saga - Under the hoodRedux Saga - Under the hood
Redux Saga - Under the hood
 
스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해스프링 시큐리티 구조 이해
스프링 시큐리티 구조 이해
 
Offzone | Another waf bypass
Offzone | Another waf bypassOffzone | Another waf bypass
Offzone | Another waf bypass
 
Node js overview
Node js overviewNode js overview
Node js overview
 
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
잘 키운 모노리스 하나 열 마이크로서비스 안 부럽다
 
Kafka as an Event Store - is it Good Enough?
Kafka as an Event Store - is it Good Enough?Kafka as an Event Store - is it Good Enough?
Kafka as an Event Store - is it Good Enough?
 
Building a Test Automation Strategy for Success
Building a Test Automation Strategy for SuccessBuilding a Test Automation Strategy for Success
Building a Test Automation Strategy for Success
 
WebAssembly Overview
WebAssembly OverviewWebAssembly Overview
WebAssembly Overview
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
 
What's new in API Connect and DataPower - 2019
What's new in API Connect and DataPower - 2019What's new in API Connect and DataPower - 2019
What's new in API Connect and DataPower - 2019
 
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
AWS 고객이 주로 겪는 운영 이슈에 대한 해법-AWS Summit Seoul 2017
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
 
I got 99 problems, but ReST ain't one
I got 99 problems, but ReST ain't oneI got 99 problems, but ReST ain't one
I got 99 problems, but ReST ain't one
 
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
Callbacks, Promises, and Coroutines (oh my!): Asynchronous Programming Patter...
 
Meetup angular http client
Meetup angular http clientMeetup angular http client
Meetup angular http client
 
자바에서 null을 안전하게 다루는 방법
자바에서 null을 안전하게 다루는 방법자바에서 null을 안전하게 다루는 방법
자바에서 null을 안전하게 다루는 방법
 
API Testing for everyone.pptx
API Testing for everyone.pptxAPI Testing for everyone.pptx
API Testing for everyone.pptx
 
Integrating FIDO Authentication & Federation Protocols
Integrating FIDO Authentication & Federation ProtocolsIntegrating FIDO Authentication & Federation Protocols
Integrating FIDO Authentication & Federation Protocols
 

Similar to Suparna - Shift Left Testing in Mobile.pptx

Suparna - XCUITest
Suparna - XCUITestSuparna - XCUITest
Suparna - XCUITest
SUPARNA KHAMARU
 
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
TEST Huddle
 
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
TEST Huddle
 
Test Analyst-Santosh Ukade
Test Analyst-Santosh UkadeTest Analyst-Santosh Ukade
Test Analyst-Santosh UkadeSantosh Ukade
 
Neev Independent Testing Services
Neev Independent Testing ServicesNeev Independent Testing Services
Neev Independent Testing Services
Neev Technologies
 
Mobile test automation perfecto star east
Mobile test automation perfecto star eastMobile test automation perfecto star east
Mobile test automation perfecto star east
Perfecto Mobile
 
[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi
[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi
[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi
Applitools
 
Web Automation Testing for developers?
Web Automation Testing for developers?Web Automation Testing for developers?
Web Automation Testing for developers?
Victor Kushchenko
 
Digital Assurance Center of Excellence
Digital Assurance Center of ExcellenceDigital Assurance Center of Excellence
Digital Assurance Center of Excellence
Ira Agarwal
 
Top 20 best automation testing tools
Top 20 best automation testing toolsTop 20 best automation testing tools
Top 20 best automation testing tools
QACraft
 
"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian Karl"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian Karl
TEST Huddle
 
Meticulous Planning of Test Automation
Meticulous Planning of Test AutomationMeticulous Planning of Test Automation
Meticulous Planning of Test Automation
ssuser2e8d4b
 
Quality in dev ops east 2017
Quality in dev ops east 2017Quality in dev ops east 2017
Quality in dev ops east 2017
Amir Rozenberg
 
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Riccardo Coppola
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
Neev Technologies
 
Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...
Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...
Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...
Profesia Srl, Lynx Group
 
GUI, Performance, Load and API testing with Test Studio
GUI, Performance, Load and API testing with Test StudioGUI, Performance, Load and API testing with Test Studio
GUI, Performance, Load and API testing with Test Studio
Thessaloniki Software Testing and QA meetup
 
End to End Testing with Quality Enthusiasts: SDET Technologies
End to End Testing with Quality Enthusiasts: SDET TechnologiesEnd to End Testing with Quality Enthusiasts: SDET Technologies
End to End Testing with Quality Enthusiasts: SDET Technologies
sdettech
 
Large-Scale Agile Test Automation Strategies in Practice
Large-Scale Agile Test Automation Strategies in PracticeLarge-Scale Agile Test Automation Strategies in Practice
Large-Scale Agile Test Automation Strategies in Practice
TechWell
 
Diving into the World of Test Automation The Approach and the Technologies
Diving into the World of Test Automation The Approach and the TechnologiesDiving into the World of Test Automation The Approach and the Technologies
Diving into the World of Test Automation The Approach and the Technologies
QASymphony
 

Similar to Suparna - Shift Left Testing in Mobile.pptx (20)

Suparna - XCUITest
Suparna - XCUITestSuparna - XCUITest
Suparna - XCUITest
 
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
 
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
Kristian Karl - Experiences of Test Automation at Spotify - EuroSTAR 2013
 
Test Analyst-Santosh Ukade
Test Analyst-Santosh UkadeTest Analyst-Santosh Ukade
Test Analyst-Santosh Ukade
 
Neev Independent Testing Services
Neev Independent Testing ServicesNeev Independent Testing Services
Neev Independent Testing Services
 
Mobile test automation perfecto star east
Mobile test automation perfecto star eastMobile test automation perfecto star east
Mobile test automation perfecto star east
 
[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi
[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi
[webinar] Cutting-edge Functional UI Testing Techniques - w/ Adam Carmi
 
Web Automation Testing for developers?
Web Automation Testing for developers?Web Automation Testing for developers?
Web Automation Testing for developers?
 
Digital Assurance Center of Excellence
Digital Assurance Center of ExcellenceDigital Assurance Center of Excellence
Digital Assurance Center of Excellence
 
Top 20 best automation testing tools
Top 20 best automation testing toolsTop 20 best automation testing tools
Top 20 best automation testing tools
 
"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian Karl"Experiences Of Test Automation At Spotify" with Kristian Karl
"Experiences Of Test Automation At Spotify" with Kristian Karl
 
Meticulous Planning of Test Automation
Meticulous Planning of Test AutomationMeticulous Planning of Test Automation
Meticulous Planning of Test Automation
 
Quality in dev ops east 2017
Quality in dev ops east 2017Quality in dev ops east 2017
Quality in dev ops east 2017
 
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
Automated Generation, Evolution and Maintenance: a perspective for mobile GUI...
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
 
Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...
Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...
Wso2 italia Open Break session #7 - Test di API e microservizi nelle architet...
 
GUI, Performance, Load and API testing with Test Studio
GUI, Performance, Load and API testing with Test StudioGUI, Performance, Load and API testing with Test Studio
GUI, Performance, Load and API testing with Test Studio
 
End to End Testing with Quality Enthusiasts: SDET Technologies
End to End Testing with Quality Enthusiasts: SDET TechnologiesEnd to End Testing with Quality Enthusiasts: SDET Technologies
End to End Testing with Quality Enthusiasts: SDET Technologies
 
Large-Scale Agile Test Automation Strategies in Practice
Large-Scale Agile Test Automation Strategies in PracticeLarge-Scale Agile Test Automation Strategies in Practice
Large-Scale Agile Test Automation Strategies in Practice
 
Diving into the World of Test Automation The Approach and the Technologies
Diving into the World of Test Automation The Approach and the TechnologiesDiving into the World of Test Automation The Approach and the Technologies
Diving into the World of Test Automation The Approach and the Technologies
 

Suparna - Shift Left Testing in Mobile.pptx

  • 1. Continuous Shift-Left Automated Testing in native Mobile apps MTS 1, Software Engineer, Quality
  • 2. About Suparna ■ XCTest, XCUITest, Selenium, Appium, Espresso, UIAutomator, SeeTest, Postman, Jenkins, CircleCI, Junit, Nunit, TestNG, GIT ■ Written Tech solutions in BrowserStack, Lambdatest, Medium ■ 1st Winner of TechGig Testathon 2018 - "India's Best Tester" ■ Silver Winner of Applitools Automation Hackathon 2020 - Top 70 suparna-khamaru /in/suparnakhamaru/ super-tester.medium.com
  • 3. Agenda Why Shift Left in Mobile? Mobile Test Automation Pyramid How much Mobile Automation is enough? Right way to Automate Best Practices in Mobile Automation
  • 4. How to Shift Left?
  • 5.
  • 6. Do we test enough? Do we automate enough? Are we using the right resources which is  Time saving  Fast &  Adding Value?
  • 7.
  • 10. Manual Testing Non Functional Testing Functional Testing Integration Testing •Unit Tests •Snapshot Tests Unit Testing (5%) (95%) 60% 15% 10% 10%
  • 11.
  • 12. Manual Testing Non Functional Testing Functional Testing •API Integration Tests •SDK Integration Tests Integration Testing •Unit Tests •Snapshot Tests Unit Testing (5%) (95%) 60% 15% 10% 10%
  • 13. Manual Testing Non Functional Testing •End to End Tests •UI Tests on Staging •UI Tests with SDK integration •UI Tests on Mock Server Functional Testing •Library / SDK / Framework / API Integration Tests Integration Testing •Unit Tests •Snapshot Tests Unit Testing (5%) (95%) 60% 15% 10% 10%
  • 14. Automation Test Framework Development Build Unit Test Suite UI Test Suite Integrated to CI Locators Network Layer Set Accessibility Identifiers Reusable & Optimised page objects Tests Test Plan Report with logs & screenshots Test Data UI tests with test/prod environment UI Tests with SDK integration UI tests with API integration UI Tests with Mock API Code & Test Coverage
  • 15. UI tests with Test/Prod environment UI Tests with SDK integration UI tests with API integration UI Tests with Mock API Network Layers in E2E Testing App Test Environment UI Test Flaky Tests
  • 16. UI tests with Test/Prod environment UI Tests with SDK integration UI tests with API integration UI Tests with Mock API Network Layers in E2E Testing App Mocke d API UI Test 100% Reliable Tests Swifter Embassy Nimble Wiremock OkHttp
  • 17. UI tests with Test/Prod environment UI Tests with SDK integration UI tests with API integration UI Tests with Mock API Network Layers in E2E Testing API call App UI Test
  • 18. UI tests with Test/Prod environment UI Tests with SDK integration UI tests with API integration UI Tests with Mock API Network Layers in E2E Testing App SDK Library SDK Unit Test UI Test
  • 19. UI Tests with SDK integration Network Layers in E2E Testing
  • 20. Manual Testing •Accessibility Tests •Security Scans •Performance Tests •Localisation & Internationalization Tests Non Functional Testing •End to End Tests •UI Tests on Staging •UI Tests with SDK integration •UI Tests on Mock Server Functional Testing •Library / SDK / Framework / API Integration Tests Integration Testing •Unit Tests •Snapshot Tests Unit Testing (5%) (95%) 60% 15% 10% 10%
  • 21.
  • 22. Accessibility Testing Localization Testing ■ Calendar / region / Time zone ■ Language support ■ Locale / location NavigationBar, {{0.0, 20.0}, {375.0, 44.0}}, identifier: 'Rewards' Button, {{8.0, 20.0}, {43.0, 44.0}}, label: 'Back' StaticText, {{151.5, 30.0}, {72.0, 22.5}}, label: 'Rewards' Table, {{0.0, 64.0}, {375.0, 603.0}} Other, {{0.0, -1091.5}, {375.0, 115.0}}, identifier: ‘BottleTile' Image, {{139.5, -1091.5}, {96.0, 96.0}}, identifier: 'AwardImage' Cell, {{0.0, -976.5}, {375.0, 2359.0}} Button, {{18.0, -966.5}, {169.0, 46.0}}, identifier: ‘Alexa', label: ‘Talk' Button, {{187.5, -966.5}, {169.0, 46.0}}, identifier: ‘Google', label: ‘Write'
  • 23. •Upgradation Tests •Exploratory Tests •Dog Food - Alpha & Beta Tests Manual Testing •Accessibility Tests •Security Scans •Performance Tests •Localisation & Internationalization Tests Non Functional Testing •End to End Tests •UI Tests on Staging •UI Tests with SDK integration •UI Tests on Mock Server Functional Testing •Library / SDK / Framework / API Integration Tests Integration Testing •Unit Tests •Snapshot Tests Unit Testing (5%) (95%) 60% 15% 10% 10%
  • 24. •Upgradation Tests •Exploratory Tests •Dog Food - Alpha & Beta Tests Manual Testing •Accessibility Tests •Security Scans •Performance Tests •Localisation/Internationalization Non Functional Testing •End to End Tests •UI Tests on Staging •UI Tests with SDK •UI Tests on Mock Server Functional Testing •Library / SDK / Framework / API Integration Tests Integration Testing •Unit Tests •Snapshot Tests Unit Testing (5%) (95%) 60% 15% 10% 10%
  • 25. •Upgradation Tests •Exploratory Tests •Dog Food - Alpha & Beta Tests Manual Testing •Accessibility Tests •Security Scans •Performance Tests •Localisation/Internationalization Non Functional Testing •End to End Tests •UI Tests on Staging •UI Tests with SDK •UI Tests on Mock Server Functional Testing •Library / SDK / Framework / API Integration Tests Integration Testing •Unit Tests •Snapshot Tests •Code & Test Coverage Unit Testing (5%) (95%) 60% 15% 10% 10%  Nightly Run  Nightly Run  Nightly Run  Every PR  Every PR  Every PR
  • 26. Easiest CI integrations ■ Simulators / Emulators ■ Browserstack ■ LambdaTest ■ AWS Device farm ■ TestingBot ■ SauceLabs ■ Firebase Test Lab xcodebuild test -workspace sampleApp.xcworkspace -scheme sampleAppUITests -destination 'platform=iOS Simulator,name=iPhone 11' -resultBundlePath ResultBundle.xcresult ./gradlew connectedAndroidTest Upload app Upload test suite Build
  • 27. Best Practices ■ Appoint Dedicated personnel for each Job ■ Continuous Testing ■ Our test should FAIL gracefully ■ Separate test plans ■ No flaky tests ■ Not replacing Exploratory / Manual Testing ■ Write maintainable, reusable, optimized & readable Test code
  • 28. Summary  Accessibility  Common Repository  Robust and Low maintenance  High Reusability of code  Fastest Test Executions  Fastest Bug Detections  Fastest Scripting  Parallel Automation  Boosts confidence  Fastest Time to Market every time  Reduced human errors in testing  Earliest Bug Fix  More mature & Reliable
  • 29. Inner Peace In God I trust, rest must pass the automated test suites

Editor's Notes

  1. Slower To write tests Slower to Execute the tests Slower to Fix Cost of Bug
  2. Unit tests is directly done by Dev team with XCTest and Junit frameworks on unit levels, sometimes using stubs. Snapshot tests are also known as Visual tests and screenshot tests, where you literally save lot of time. - https://medium.com/dev-jam/snapshot-testing-in-swift-9d52cbec075c - https://github.com/robertofrontado/snapshot-testing-sample Security Scans (Veracode, Ostorlab) Performance Tests (Newrelic, Firebase) End to End Tests (Distributed Parallel)
  3. Security Scans (Veracode, Ostorlab) Performance Tests (Newrelic, Firebase) End to End Tests (Distributed Parallel)
  4. E2E Test Suite End to End Tests (Distributed Parallel) Code & Test Coverage Measures
  5. E2E Test Suite End to End Tests (Distributed Parallel) Code & Test Coverage Measures
  6. E2E Test Suite End to End Tests (Distributed Parallel) Code & Test Coverage Measures
  7. Security Scans (Veracode, Ostorlab) Performance Tests (Newrelic, Firebase) End to End Tests (Distributed Parallel)
  8. Compare with third party automation tools Versus Google and apple test frameworks
  9. Specialities