Pavel Kulagin discussed scaling mobile automation at Badoo. He covered first implementing tests and problems encountered, increasing test amounts while maintaining a proper test pyramid with more integration and unit tests than UI tests. Kulagin emphasized helping rather than obstructing others and calculating time saved. Tips included treating automation code like production, supporting parallelization, smart test runs, documentation and easy setup. Mythbusting dispelled ideas that 100% functionality can be automated or all tests require real devices. The key is decreasing flakiness, increasing speed, and creating an easy to use tool while supporting developers and QA.
2. 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
6. We need tests to provide confidence
that the software being released to
production works as intended
“
”
— Sathish Gogineni,
Badoo mobile automation team lead
7.
8. 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!
18. 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
19. • 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
34. • 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
36. Agenda
First tests and first problems
Increasing amount of tests
Company culture
Tips & Tricks
Mythbusting
37. • 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
41. Mythbusting
• You can automate 100% of functionality (and dismiss QAs)
• You should test everything on real devices only
42.
43. 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
44. Summary
• Decrease flakiness
• Increase speed
• Make easy-to-use tool
• Keep the test pyramid in mind
• Support developers & QA