SlideShare a Scribd company logo
1 of 45
Download to read offline
Pavel Kulagin
Scaling Mobile Automation
…probably not just mobile in the end…
Pavel Kulagin
Hello, my name is
github.com/badoo
badootech.badoo.com
github.com/kuwizard
Professional focus: QA & mobile since 2009
Background: big Russian companies - Yandex and OK
Current role: scaling automation at Badoo for the last 2.5 years
About
350m
Messages per day
380m
Registered users
worldwide
60m
Monthly active users
300k
New daily sign ups
Agenda
First tests and first problems
Increasing amount of tests
Company culture
Tips & Tricks
Mythbusting
Why Automate?
We need tests to provide confidence
that the software being released to
production works as intended
“
”
— Sathish Gogineni,
Badoo mobile automation team lead
Continuous Integration
• The first few tests are green
• It takes only 10 minutes to run all of the tests
• We’ve even included tests for the automated
deployment pipeline!
Build Release
Internal
App
Store
QA
Auto
Tests
Auto
Tests
Build
Internal
App
Store
QA Release
Auto
Tests
Auto
Tests
Build
Internal
App
Store
QA Release
Auto
Tests
Auto
Tests
Build
Flaky tests
Auto
Tests
Auto
Tests
Build
Slow tests
Flaky tests
• Flaky App
Wait for specific event
Backdoors
• Wait/sleeps
• User is not eligible
Flaky tests
Flaky tests
• Fragile Locators
• Flaky App
Wait for specific event
Backdoors
Use server API to get users
• Wait/sleeps
• User is not eligible
Fragile locator example
(//div[contains(@title,’title’)]//p[text()="Some Text 1”]/following-sibling::span[5]/parent/)[position() < 6]
Flaky tests
• I know this test fails usually
• Fragile Locators
Work with/as a
developer
Debug and fix it!
• Flaky App
Wait for specific event
Backdoors
Use server API to get users
• Wait/sleeps
• User is not eligible
• Slow response from server
Slow tests
• Something else
• Tests do some repetitive
actions
• Slow infrastructure
Mock it
Backdoors again!
😥
Analyse every test
step-by-step and
think bigger
Build
Internal
App
Store
QA Release
Auto
Test
Build
Internal
App Store
QA
Release
Fixes
Happy release pipeline
Mutes
Auto
Tests
Auto
Tests
Auto
Tests
First tests and first problems
Increasing amount of tests
Company culture
Tips & Tricks
Mythbusting
Agenda
Scaling is…
NOT about
increasing amount of UI tests!
Manual
QA
Test Pyramid
Integration
tests
Unit tests
UI
tests
Test Pyramid
Integration
tests
Unit
tests
UI
tests
Test Pyramid
UI
tests
Integration
tests?
Unit
tests?
Test Pyramid
Integration
tests
Unit tests
UI
tests
Agenda
First tests and first problems
Increasing amount of tests
Company culture
Tips & Tricks
Mythbusting
Company culture
Company culture
• Help, don’t obstruct
• Move away from the “Devs VS QA” paradigm
• Help, don’t obstruct
• Move away from the “Devs VS QA” paradigm
Company culture
• Calculate the time you saved for others
Calculations example
Before After
x
3 days
Total: 12 person-days
x
2 days
=
6 person-days
x
0.5 days
=
0.5 person-days
Total: 6.5 person-days
• Help, don’t obstruct
• Move away from the “Devs VS QA” paradigm
• Calculate the time you saved for others
• Use company resources (people)
• Involve others to contribute
• Make it easy to procure hardware
Company culture
• Gather feedback for your tool and make it convenient to use
Fast-forward to the future
Agenda
First tests and first problems
Increasing amount of tests
Company culture
Tips & Tricks
Mythbusting
• Treat automation code as production one
• Support parallelisation (Selenium Grid?)
• Smartify your test runs
• Write documentation
• Make first start as easy as possible
Tips & Tricks
Automation framework installation instructions
Before After
• Install Docker
• Run docker-compose run <options> test <tests>
Agenda
First tests and first problems
Increasing amount of tests
Company culture
Tips & Tricks
Mythbusting
Mythbusting
Mythbusting
• You can automate 100% of functionality (and dismiss QAs)
• You should test everything on real devices only
Mythbusting
• We need to cover every possible environment
• Every test should be atomic - check one thing only
• You can automate 100% of functionality (and dismiss QAs)
• You should test everything on real devices only
Summary
• Decrease flakiness
• Increase speed
• Make easy-to-use tool
• Keep the test pyramid in mind
• Support developers & QA
Thank you!
Pavel Kulagin
pavel.kulagin@corp.badoo.com
kuwizard

More Related Content

What's hot

Strategies in continuous delivery
Strategies in continuous deliveryStrategies in continuous delivery
Strategies in continuous delivery
Aviran Mordo
 

What's hot (20)

Is Groovy better for testing than Java?
Is Groovy better for testing than Java?Is Groovy better for testing than Java?
Is Groovy better for testing than Java?
 
Adventures in QA
Adventures in QAAdventures in QA
Adventures in QA
 
Staying Ahead of the Curve
Staying Ahead of the CurveStaying Ahead of the Curve
Staying Ahead of the Curve
 
Strategies in continuous delivery
Strategies in continuous deliveryStrategies in continuous delivery
Strategies in continuous delivery
 
Software testing presentation
Software testing presentationSoftware testing presentation
Software testing presentation
 
Test Automation Canvas
Test Automation CanvasTest Automation Canvas
Test Automation Canvas
 
Rapid Performance Testing: No Load Generation Required
Rapid Performance Testing: No Load Generation RequiredRapid Performance Testing: No Load Generation Required
Rapid Performance Testing: No Load Generation Required
 
MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...
MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...
MCE^3 - Konstantin Raev - React Native: Open Source Continuous Build and Deli...
 
АННА ТИМОФІЄВА & СЕРГІЙ МАЛИНОВСЬКИЙ «Tools and Tips of video connection test...
АННА ТИМОФІЄВА & СЕРГІЙ МАЛИНОВСЬКИЙ «Tools and Tips of video connection test...АННА ТИМОФІЄВА & СЕРГІЙ МАЛИНОВСЬКИЙ «Tools and Tips of video connection test...
АННА ТИМОФІЄВА & СЕРГІЙ МАЛИНОВСЬКИЙ «Tools and Tips of video connection test...
 
The StartUp Agency - A Case Study on CFPB
The StartUp Agency - A Case Study on CFPBThe StartUp Agency - A Case Study on CFPB
The StartUp Agency - A Case Study on CFPB
 
Accelerating Your Test Execution Pipeline
Accelerating Your Test Execution PipelineAccelerating Your Test Execution Pipeline
Accelerating Your Test Execution Pipeline
 
АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»
АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»
АНТОН МУЖАЙЛО «Test Team Development and Management Techniques»
 
Selenium Users Anonymous
Selenium Users AnonymousSelenium Users Anonymous
Selenium Users Anonymous
 
Software devops engineer in test (SDET)
Software devops engineer in test (SDET)Software devops engineer in test (SDET)
Software devops engineer in test (SDET)
 
Quality at Speed - Penny Wyatt
Quality at Speed - Penny WyattQuality at Speed - Penny Wyatt
Quality at Speed - Penny Wyatt
 
Selenium Frameworks
Selenium FrameworksSelenium Frameworks
Selenium Frameworks
 
Regression Testing: Down the Rabbit Hole (MEWT 2014)
Regression Testing: Down the Rabbit Hole (MEWT 2014)Regression Testing: Down the Rabbit Hole (MEWT 2014)
Regression Testing: Down the Rabbit Hole (MEWT 2014)
 
DevOps for CTOs
DevOps for CTOsDevOps for CTOs
DevOps for CTOs
 
Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019
 
DevOps Requires Agility
DevOps Requires AgilityDevOps Requires Agility
DevOps Requires Agility
 

Similar to Scaling mobile automation by Pavel Kulagin

Do testers have to code... to be useful? Janet Gregory and Lisa Crispin plena...
Do testers have to code... to be useful? Janet Gregory and Lisa Crispin plena...Do testers have to code... to be useful? Janet Gregory and Lisa Crispin plena...
Do testers have to code... to be useful? Janet Gregory and Lisa Crispin plena...
lisacrispin
 
Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"
GoIT
 
Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
Devopsdays
 

Similar to Scaling mobile automation by Pavel Kulagin (20)

Testing API's: Tools & Tips & Tricks (Oh My!)
Testing API's: Tools & Tips & Tricks (Oh My!)Testing API's: Tools & Tips & Tricks (Oh My!)
Testing API's: Tools & Tips & Tricks (Oh My!)
 
Agile testing
Agile testingAgile testing
Agile testing
 
Automated tests
Automated testsAutomated tests
Automated tests
 
Hanno Jarvet BeWise loeng "An Introduction to Scrum" (20.11.2013 EBS)
Hanno Jarvet BeWise loeng "An Introduction to Scrum" (20.11.2013 EBS)Hanno Jarvet BeWise loeng "An Introduction to Scrum" (20.11.2013 EBS)
Hanno Jarvet BeWise loeng "An Introduction to Scrum" (20.11.2013 EBS)
 
Vladimirs Ivanovs - Creating children book in 45 minutes thanks to Scrum
Vladimirs Ivanovs - Creating children book in 45 minutes thanks to ScrumVladimirs Ivanovs - Creating children book in 45 minutes thanks to Scrum
Vladimirs Ivanovs - Creating children book in 45 minutes thanks to Scrum
 
Continuous delivery is more than dev ops
Continuous delivery is more than dev opsContinuous delivery is more than dev ops
Continuous delivery is more than dev ops
 
DevOps in the Amazon Warehouse - Shawn Gandhi
DevOps in the Amazon Warehouse - Shawn GandhiDevOps in the Amazon Warehouse - Shawn Gandhi
DevOps in the Amazon Warehouse - Shawn Gandhi
 
Do testers have to code... to be useful? Janet Gregory and Lisa Crispin plena...
Do testers have to code... to be useful? Janet Gregory and Lisa Crispin plena...Do testers have to code... to be useful? Janet Gregory and Lisa Crispin plena...
Do testers have to code... to be useful? Janet Gregory and Lisa Crispin plena...
 
The Importance of Culture: Building and Sustaining Effective Engineering Org...
The Importance of Culture:  Building and Sustaining Effective Engineering Org...The Importance of Culture:  Building and Sustaining Effective Engineering Org...
The Importance of Culture: Building and Sustaining Effective Engineering Org...
 
SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612SOASTA Webinar: Process Compression For Mobile App Dev 120612
SOASTA Webinar: Process Compression For Mobile App Dev 120612
 
Lean, Kanban and TFS
Lean, Kanban and TFSLean, Kanban and TFS
Lean, Kanban and TFS
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"
 
Dev ops lessons learned - Michael Collins
Dev ops lessons learned  - Michael CollinsDev ops lessons learned  - Michael Collins
Dev ops lessons learned - Michael Collins
 
Adapt your testing for Agile
Adapt your testing for AgileAdapt your testing for Agile
Adapt your testing for Agile
 
AUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event PresentationsAUG NYC June 12 - Event Presentations
AUG NYC June 12 - Event Presentations
 
Vladimirs Ivanovs IPMA GYCW2013 Agile - traditional or balanced mix
Vladimirs Ivanovs IPMA GYCW2013 Agile - traditional or balanced mixVladimirs Ivanovs IPMA GYCW2013 Agile - traditional or balanced mix
Vladimirs Ivanovs IPMA GYCW2013 Agile - traditional or balanced mix
 
Anatomy of Test Driven Development
Anatomy of Test Driven DevelopmentAnatomy of Test Driven Development
Anatomy of Test Driven Development
 
Approaches to Kanban with Microsoft Team Foundation Server (TFS) Dec 6-2012
Approaches to Kanban with Microsoft Team Foundation Server (TFS)  Dec 6-2012Approaches to Kanban with Microsoft Team Foundation Server (TFS)  Dec 6-2012
Approaches to Kanban with Microsoft Team Foundation Server (TFS) Dec 6-2012
 
Qa role in agile teams
Qa role in agile teamsQa role in agile teams
Qa role in agile teams
 

More from Badoo

Busuu App
Busuu AppBusuu App
Busuu App
Badoo
 

More from Badoo (7)

How we improved i os delivery speed from qa side by Kateryna Sprynsian
How we improved i os delivery speed from qa side by Kateryna SprynsianHow we improved i os delivery speed from qa side by Kateryna Sprynsian
How we improved i os delivery speed from qa side by Kateryna Sprynsian
 
How we saved time by teaching developers to test their own code by Kateryna S...
How we saved time by teaching developers to test their own code by Kateryna S...How we saved time by teaching developers to test their own code by Kateryna S...
How we saved time by teaching developers to test their own code by Kateryna S...
 
Manual to automation
Manual to automationManual to automation
Manual to automation
 
Windows Phone architecture and tools
Windows Phone architecture and toolsWindows Phone architecture and tools
Windows Phone architecture and tools
 
Whichit - lessons from building a startup
Whichit - lessons from building a startupWhichit - lessons from building a startup
Whichit - lessons from building a startup
 
Busuu App
Busuu AppBusuu App
Busuu App
 
Nightmapper's presentation
Nightmapper's presentationNightmapper's presentation
Nightmapper's presentation
 

Recently uploaded

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Recently uploaded (20)

WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
WSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration Tooling
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2Driving Innovation: Scania's API Revolution with WSO2
Driving Innovation: Scania's API Revolution with WSO2
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
WSO2CON 2024 - Lessons from the Field: Legacy Platforms – It's Time to Let Go...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 

Scaling mobile automation by Pavel Kulagin