SlideShare a Scribd company logo
Continuous test automation in
build pipeline
Hello!
I am Dmitry Lemeshko
Mobile QA Automation @ FrontierCarGroup, Berlin
@AutomateMeNow
Stackoverflow: dmle
2
Frontier Car Group
● 6 markets
● 3 web apps
● mobile apps
● ~20 microservices
3
Automation started
4
5
1
Build APK
Build points to Staging
environment & uploaded
to Google Storage
Run tests
Specify branch, run tests
on emulators, analyse
results and report to
developers
2
Gitlab CI
Android
pipeline
Test
automation
pipeline
First result
● Android/iOS tests in same repo
● Regression testing on master
● Run on Staging env
● Use local emulators
6
Problems
● Hard to maintain tests
● No full control over test env
● Hard to scale
● Bugs are spotted lately
● Lack of interests from dev team
7
Lets think
What do we want to achieve?
8
Continuous
mobile test
automation
It sounds good, right?
9
New pipeline
10
1
Build APK
Build points to isolated
environment & uploaded
to Google Storage
Deploy services
Specified branch for each
service, services are up-
and-running
2
Run tests
Take recent APK and run
tests on random device
from market pool
Upload artifacts to gitlab
CI job
3
Attach artifacts
4
Steps to do
● Move tests to Android/iOS project repos
● Configure test environment from tests
● Configurable end-points in mobile apps
● Integrate device cloud service
● Build in android pipeline
11
Split & move:
12
Mobile tools iOS testsAndroid tests
● page objects
● tests & hooks
● wd.js wrapper
● setup, logging
● cloud utils
13
Admin Web tests
New structure:
AUT
source
code
Dealer Web tests
Customer Web tests
Dealer iOS tests
Dealer Android tests
Web tools Tools (API/common) Mobile tools
Configure deployment from tests
● List services and branches
"services": [
{"name": "serviceDealer", "branch":
"master"},
{"name": "serviceAuction", "branch": "AUC-
270"}
]
● Specify env prefix
"prefix": "automation2.test14" 14
Custom mobile build for tests
That points to API with prefix configured before
15
Integrate cloud service
● Upload new builds from Google Storage
● Manage available devices
● Run tests in a single session*
● Handle cloud session time limit
● Set results and pull artifacts
16
Update pipeline
● Update docker image
● Add new job & gitlab CI runner
● Trigger for merge request:
○ Target branch is master
○ In sync with master
○ No WIP in title
○ Marked with `Reviewed` label
17
Update .gitlab-ci.yml:
deployAndUItests:
stage: build
script:
- export branch=$(echo $CI_BUILD_REF_NAME | tr
"[:upper:]" "[:lower:]" | sed "s/(da-[0-9]*).*/1/")
- bash /build.sh
...
- npm run deploy
- export appiumService=testobject env=automation
- npm run smoke
18
Update .gitlab-ci.yml:
artifacts:
name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}"
when: always
paths:
- tests/uiTests/screenshots
expire_in: 4 weeks
allow_failure: false
only:
- triggers
19
20
Before
● Testing after MR
● Shared non-flexible test env
● Self support for appium &
devices
● Tests maintenance on QA
● Results reporting delay
What do we get?
Now
● Testing before MR
● Isolated configurable test env
● Cloud service
● Tests maintenance is shared
QA/Dev
● Results in build pipeline
21
Flexibility
Any environment, any version of services
Shared maintenance
Developers are fixing tests :)
Fast feedback
Developers get results faster & directly
22
23
iOS project
coming next...
24
Thanks!
Any questions?
You can find me at @AutomateMeNow

More Related Content

What's hot (20)

PDF
Build pipelines with TeamCity
Anton Arhipov
 
PPTX
TCE Automation
Tikal Knowledge
 
PDF
Automated Testing in DevOps
Haufe-Lexware GmbH & Co KG
 
PDF
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
KMS Technology
 
PDF
Alon Fliess: APM – What Is It, and Why Do I Need It? - Architecture Next 20
CodeValue
 
PPTX
Jenkins as the Test Reporting Framework
Nitin Sharma
 
PDF
Canadian Cloud Summit 2022 - SharePoint Framework Tests Introduction
Laurent Sittler
 
PPTX
Configuration As Code: The Job DSL Plugin
Daniel Spilker
 
PPTX
Making Angular2 lean and Fast
Vinci Rufus
 
PDF
Putting Quality First through Continuous Testing
TechWell
 
PDF
Тестирование мобильных приложений используя облачные сервисы. TestDroid, Test...
COMAQA.BY
 
PDF
Product update aug_29
🌍 Job van der Voort
 
PDF
Continuous Delivery with Cloud Foundry
Platform CF
 
PDF
DevOps: Find Solutions, Not More Defects
TechWell
 
PDF
Apollo. The client we deserve
Yuri Nezdemkovski
 
PPTX
Modern software testing and processes 2019
Karim Fanadka
 
PDF
James Baxley - Statically typing your GraphQL app
React Conf Brasil
 
PPTX
What's new in c# 8.0
Moaid Hathot
 
PDF
OSMC 2008 | Lessons in Nagios Learnt From Developing Opsview by Ton Voon
NETWAYS
 
PDF
Go.cd - the tool that Jenkins ain't
Fredrik Wendt
 
Build pipelines with TeamCity
Anton Arhipov
 
TCE Automation
Tikal Knowledge
 
Automated Testing in DevOps
Haufe-Lexware GmbH & Co KG
 
Behavior-Driven Development and Automation Testing Using Cucumber Framework W...
KMS Technology
 
Alon Fliess: APM – What Is It, and Why Do I Need It? - Architecture Next 20
CodeValue
 
Jenkins as the Test Reporting Framework
Nitin Sharma
 
Canadian Cloud Summit 2022 - SharePoint Framework Tests Introduction
Laurent Sittler
 
Configuration As Code: The Job DSL Plugin
Daniel Spilker
 
Making Angular2 lean and Fast
Vinci Rufus
 
Putting Quality First through Continuous Testing
TechWell
 
Тестирование мобильных приложений используя облачные сервисы. TestDroid, Test...
COMAQA.BY
 
Product update aug_29
🌍 Job van der Voort
 
Continuous Delivery with Cloud Foundry
Platform CF
 
DevOps: Find Solutions, Not More Defects
TechWell
 
Apollo. The client we deserve
Yuri Nezdemkovski
 
Modern software testing and processes 2019
Karim Fanadka
 
James Baxley - Statically typing your GraphQL app
React Conf Brasil
 
What's new in c# 8.0
Moaid Hathot
 
OSMC 2008 | Lessons in Nagios Learnt From Developing Opsview by Ton Voon
NETWAYS
 
Go.cd - the tool that Jenkins ain't
Fredrik Wendt
 

Similar to Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pipeline (20)

PDF
Continuous mobile automation in build pipeline
dm l
 
PPTX
Building High Quality Android Applications
Leif Janzik
 
PDF
Scaling mobile testing on AWS: Emulators all the way down
Kim Moir
 
PPT
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA
 
PDF
MBLTDev15: Brigit Lyons, Soundcloud
e-Legion
 
PPTX
Build Automation in Android
Angelo Rüggeberg
 
PDF
Exercising and Scaling Up Mobile DevOps in the Enterprise
Bitbar
 
PDF
Cloud-Based, Automated Mobile App Testing for the Enterprise
TechWell
 
PPTX
CI in the mobile world
Godfrey Nolan
 
PDF
Test Automation for Mobile Applications
Ness Digital Engineering
 
PPTX
Testdroid: Release Perfect Apps with Mobile Visual Testing in the Cloud
Applitools
 
PDF
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
Bitbar
 
PDF
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest
 
PPTX
Continuous Testing and New Tools for Automation - Presentation from StarWest ...
Sauce Labs
 
PPTX
Device lab trials and tribulations
Heemeng Foo
 
PDF
Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...
TelecomValley
 
PPTX
The Role of Automation in Mobile Continuous Testing
Applitools
 
PPTX
SeeTestAutomation - Mobile Test Automation Tool by Experitest
Experitest
 
PDF
Mobile DevOps with VSTS and AppCenter
Okko Oulasvirta
 
PPTX
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Bitbar
 
Continuous mobile automation in build pipeline
dm l
 
Building High Quality Android Applications
Leif Janzik
 
Scaling mobile testing on AWS: Emulators all the way down
Kim Moir
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA
 
MBLTDev15: Brigit Lyons, Soundcloud
e-Legion
 
Build Automation in Android
Angelo Rüggeberg
 
Exercising and Scaling Up Mobile DevOps in the Enterprise
Bitbar
 
Cloud-Based, Automated Mobile App Testing for the Enterprise
TechWell
 
CI in the mobile world
Godfrey Nolan
 
Test Automation for Mobile Applications
Ness Digital Engineering
 
Testdroid: Release Perfect Apps with Mobile Visual Testing in the Cloud
Applitools
 
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
Bitbar
 
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest
 
Continuous Testing and New Tools for Automation - Presentation from StarWest ...
Sauce Labs
 
Device lab trials and tribulations
Heemeng Foo
 
Continuous testing - GUERLAIS ARGOT - Air France KLM Sogeti- Soirée du Test L...
TelecomValley
 
The Role of Automation in Mobile Continuous Testing
Applitools
 
SeeTestAutomation - Mobile Test Automation Tool by Experitest
Experitest
 
Mobile DevOps with VSTS and AppCenter
Okko Oulasvirta
 
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Bitbar
 
Ad

More from COMAQA.BY (20)

PDF
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
COMAQA.BY
 
PPTX
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
COMAQA.BY
 
PPTX
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
COMAQA.BY
 
PPTX
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
COMAQA.BY
 
PPTX
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
COMAQA.BY
 
PPTX
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
COMAQA.BY
 
PPTX
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
COMAQA.BY
 
PPTX
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
COMAQA.BY
 
PPTX
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
COMAQA.BY
 
PPTX
Моя роль в конфликте
COMAQA.BY
 
PPTX
Организация приемочного тестирования силами матерых тестировщиков
COMAQA.BY
 
PPTX
Развитие или смерть
COMAQA.BY
 
PPTX
Системный взгляд на параллельный запуск Selenium тестов
COMAQA.BY
 
PPTX
Эффективная работа с рутинными задачами
COMAQA.BY
 
PPTX
Как стать синьором
COMAQA.BY
 
PPTX
Open your mind for OpenSource
COMAQA.BY
 
PPTX
JDI 2.0. Not only UI testing
COMAQA.BY
 
PPTX
Out of box page object design pattern, java
COMAQA.BY
 
PDF
Static and dynamic Page Objects with Java \ .Net examples
COMAQA.BY
 
PDF
Design Patterns for QA Automation
COMAQA.BY
 
Тестирование аналогов инсталлируемых приложений (Android Instant Apps, Progre...
COMAQA.BY
 
Anton semenchenko. Comaqa Spring 2018. Nine circles of hell. Antipatterns in ...
COMAQA.BY
 
Vivien Ibironke Ibiyemi. Comaqa Spring 2018. Enhance your Testing Skills With...
COMAQA.BY
 
Roman Soroka. Comaqa Spring 2018. Глобальный обзор процесса QA и его важность
COMAQA.BY
 
Vladimir Polyakov. Comaqa Spring 2018. Особенности тестирования ПО в предметн...
COMAQA.BY
 
Kimmo Hakala. Comaqa Spring 2018. Challenges and good QA practices in softwar...
COMAQA.BY
 
Ivan Katunov. Comaqa Spring 2018. Test Design and Automation for Rest API.
COMAQA.BY
 
Vadim Zubovich. Comaqa Spring 2018. Красивое тестирование производительности.
COMAQA.BY
 
Alexander Andelkovic. Comaqa Spring 2018. Using Artificial Intelligence to Te...
COMAQA.BY
 
Моя роль в конфликте
COMAQA.BY
 
Организация приемочного тестирования силами матерых тестировщиков
COMAQA.BY
 
Развитие или смерть
COMAQA.BY
 
Системный взгляд на параллельный запуск Selenium тестов
COMAQA.BY
 
Эффективная работа с рутинными задачами
COMAQA.BY
 
Как стать синьором
COMAQA.BY
 
Open your mind for OpenSource
COMAQA.BY
 
JDI 2.0. Not only UI testing
COMAQA.BY
 
Out of box page object design pattern, java
COMAQA.BY
 
Static and dynamic Page Objects with Java \ .Net examples
COMAQA.BY
 
Design Patterns for QA Automation
COMAQA.BY
 
Ad

Recently uploaded (20)

PDF
google promotion services in Delhi, India
Digital Web Future
 
PPTX
法国巴黎第二大学本科毕业证{Paris 2学费发票Paris 2成绩单}办理方法
Taqyea
 
PDF
Enhancing Parental Roles in Protecting Children from Online Sexual Exploitati...
ICT Frame Magazine Pvt. Ltd.
 
PDF
BRKSP-2551 - Introduction to Segment Routing.pdf
fcesargonca
 
PPTX
原版一样(毕业证书)法国蒙彼利埃大学毕业证文凭复刻
Taqyea
 
PPTX
Softuni - Psychology of entrepreneurship
Kalin Karakehayov
 
PPTX
Academic Debate: Creation vs Evolution.pptx
JOHNPATRICKMARTINEZ5
 
PPTX
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
PDF
The Hidden Benefits of Outsourcing IT Hardware Procurement for Small Businesses
Carley Cramer
 
DOCX
Custom vs. Off-the-Shelf Banking Software
KristenCarter35
 
PPTX
美国电子毕业证帕克大学电子版成绩单UMCP学费发票办理学历认证
Taqyea
 
PDF
Top 10 Testing Procedures to Ensure Your Magento to Shopify Migration Success...
CartCoders
 
PPTX
西班牙巴利阿里群岛大学电子版毕业证{UIBLetterUIB文凭证书}文凭复刻
Taqyea
 
PDF
FutureCon Seattle 2025 Presentation Slides - You Had One Job
Suzanne Aldrich
 
PDF
Cleaning up your RPKI invalids, presented at PacNOG 35
APNIC
 
PDF
The Internet - By the numbers, presented at npNOG 11
APNIC
 
PDF
BRKAPP-1102 - Proactive Network and Application Monitoring.pdf
fcesargonca
 
PPTX
Lec15_Mutability Immutability-converted.pptx
khanjahanzaib1
 
PPTX
04 Output 1 Instruments & Tools (3).pptx
GEDYIONGebre
 
PPTX
Networking_Essentials_version_3.0_-_Module_3.pptx
ryan622010
 
google promotion services in Delhi, India
Digital Web Future
 
法国巴黎第二大学本科毕业证{Paris 2学费发票Paris 2成绩单}办理方法
Taqyea
 
Enhancing Parental Roles in Protecting Children from Online Sexual Exploitati...
ICT Frame Magazine Pvt. Ltd.
 
BRKSP-2551 - Introduction to Segment Routing.pdf
fcesargonca
 
原版一样(毕业证书)法国蒙彼利埃大学毕业证文凭复刻
Taqyea
 
Softuni - Psychology of entrepreneurship
Kalin Karakehayov
 
Academic Debate: Creation vs Evolution.pptx
JOHNPATRICKMARTINEZ5
 
L1A Season 1 ENGLISH made by A hegy fixed
toszolder91
 
The Hidden Benefits of Outsourcing IT Hardware Procurement for Small Businesses
Carley Cramer
 
Custom vs. Off-the-Shelf Banking Software
KristenCarter35
 
美国电子毕业证帕克大学电子版成绩单UMCP学费发票办理学历认证
Taqyea
 
Top 10 Testing Procedures to Ensure Your Magento to Shopify Migration Success...
CartCoders
 
西班牙巴利阿里群岛大学电子版毕业证{UIBLetterUIB文凭证书}文凭复刻
Taqyea
 
FutureCon Seattle 2025 Presentation Slides - You Had One Job
Suzanne Aldrich
 
Cleaning up your RPKI invalids, presented at PacNOG 35
APNIC
 
The Internet - By the numbers, presented at npNOG 11
APNIC
 
BRKAPP-1102 - Proactive Network and Application Monitoring.pdf
fcesargonca
 
Lec15_Mutability Immutability-converted.pptx
khanjahanzaib1
 
04 Output 1 Instruments & Tools (3).pptx
GEDYIONGebre
 
Networking_Essentials_version_3.0_-_Module_3.pptx
ryan622010
 

Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pipeline

  • 1. Continuous test automation in build pipeline
  • 2. Hello! I am Dmitry Lemeshko Mobile QA Automation @ FrontierCarGroup, Berlin @AutomateMeNow Stackoverflow: dmle 2
  • 3. Frontier Car Group ● 6 markets ● 3 web apps ● mobile apps ● ~20 microservices 3
  • 5. 5 1 Build APK Build points to Staging environment & uploaded to Google Storage Run tests Specify branch, run tests on emulators, analyse results and report to developers 2 Gitlab CI Android pipeline Test automation pipeline
  • 6. First result ● Android/iOS tests in same repo ● Regression testing on master ● Run on Staging env ● Use local emulators 6
  • 7. Problems ● Hard to maintain tests ● No full control over test env ● Hard to scale ● Bugs are spotted lately ● Lack of interests from dev team 7
  • 8. Lets think What do we want to achieve? 8
  • 10. New pipeline 10 1 Build APK Build points to isolated environment & uploaded to Google Storage Deploy services Specified branch for each service, services are up- and-running 2 Run tests Take recent APK and run tests on random device from market pool Upload artifacts to gitlab CI job 3 Attach artifacts 4
  • 11. Steps to do ● Move tests to Android/iOS project repos ● Configure test environment from tests ● Configurable end-points in mobile apps ● Integrate device cloud service ● Build in android pipeline 11
  • 12. Split & move: 12 Mobile tools iOS testsAndroid tests ● page objects ● tests & hooks ● wd.js wrapper ● setup, logging ● cloud utils
  • 13. 13 Admin Web tests New structure: AUT source code Dealer Web tests Customer Web tests Dealer iOS tests Dealer Android tests Web tools Tools (API/common) Mobile tools
  • 14. Configure deployment from tests ● List services and branches "services": [ {"name": "serviceDealer", "branch": "master"}, {"name": "serviceAuction", "branch": "AUC- 270"} ] ● Specify env prefix "prefix": "automation2.test14" 14
  • 15. Custom mobile build for tests That points to API with prefix configured before 15
  • 16. Integrate cloud service ● Upload new builds from Google Storage ● Manage available devices ● Run tests in a single session* ● Handle cloud session time limit ● Set results and pull artifacts 16
  • 17. Update pipeline ● Update docker image ● Add new job & gitlab CI runner ● Trigger for merge request: ○ Target branch is master ○ In sync with master ○ No WIP in title ○ Marked with `Reviewed` label 17
  • 18. Update .gitlab-ci.yml: deployAndUItests: stage: build script: - export branch=$(echo $CI_BUILD_REF_NAME | tr "[:upper:]" "[:lower:]" | sed "s/(da-[0-9]*).*/1/") - bash /build.sh ... - npm run deploy - export appiumService=testobject env=automation - npm run smoke 18
  • 19. Update .gitlab-ci.yml: artifacts: name: "${CI_JOB_NAME}_${CI_COMMIT_REF_NAME}" when: always paths: - tests/uiTests/screenshots expire_in: 4 weeks allow_failure: false only: - triggers 19
  • 20. 20
  • 21. Before ● Testing after MR ● Shared non-flexible test env ● Self support for appium & devices ● Tests maintenance on QA ● Results reporting delay What do we get? Now ● Testing before MR ● Isolated configurable test env ● Cloud service ● Tests maintenance is shared QA/Dev ● Results in build pipeline 21
  • 22. Flexibility Any environment, any version of services Shared maintenance Developers are fixing tests :) Fast feedback Developers get results faster & directly 22
  • 24. 24 Thanks! Any questions? You can find me at @AutomateMeNow