SlidePub
Home
Categories
Login
Register
Home
General
Badoo: Cross platform Mobile Test Automation and Continuos Delivery
Badoo: Cross platform Mobile Test Automation and Continuos Delivery
codefest
1,368 views
53 slides
Apr 06, 2015
Slide
1
of 53
Previous
Next
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
About This Presentation
Sathish Gogineni, Badoo, QA-секция CodeFest 2015
Size:
32.39 MB
Language:
en
Added:
Apr 06, 2015
Slides:
53 pages
Slide Content
Slide 1
Badoo:&Cross&pla,orm&mobile&test&
automa3on&and&con3nuous&delivery&&
Sathish'Gogineni'
Mobile'QA'Automa4on'Lead'
Slide 3
Raise&your&hands&if….&
• You’re'working'in'Mobile'pla=orm?'
• You'have'apps'on'mul4ple'mobile'pla=orms?'
• You’re'aware'of'the'test'automa4on'tools'in'
Mobile?'
• You'are'using'func4onal'test'automa4on?'
• You’re'using'“Cross'pla=orm”'test'automa4on?'
Slide 4
A&bit&of&self&promo3on&
Slide 5
Who&is&Badoo?&
• A'social'networking'service'
• 241'million'users'
• Available'in'190'countries.''
• Support'45'languages'on'mobile'
• 250'employees'based'in'London'and'Moscow'
Slide 6
More&about&Badoo&
• Badoo'has'2'popular'products'
'
'
• Apps'support'4'mobile'pla=orms'
– Badoo'
– HotOrNot'
Slide 7
Mobile&Test&Automa3on&at&Badoo&
• A'single'test'automa4on'code'base'
– Run'across'two'products'
– Run'on'three'pla=orms'
– Run'on'phones'and'tablets'
'
• We'have'
– 68%'func4onal'coverage'for'Badoo'in'Android'&'iOS'('390'
scenarios')'
– 76%'func4onal'coverage'for'HotOrNot'in'Android'&'iOS'('250'
scenarios')'
– 52%'func4onal'coverage'in'MobileWeb'('165'scenarios')'
– And'in'Windows'pla=orm'we'have'0%'
Slide 9
A&bit&about&Cross&pla,orm&test&
Slide 10
Mobile&cross&pla,orm&test&automa3on?&
• Write'once','Run'anywhere(?)'
'
• Write'test'specifica4ons'
'
• Implement'the'tests'at'high'level'
'
• Implement'the'pla=orm/applica4on'UI'
code'
'
Slide 11
Cross&pla,orm&stack&in&BDD&
Scenarios&
Feature&
Step&defini3ons&
Android&Page& iOS&Page&
Test'Specifica4on'
High'level'
implementa4on'
Pla=orm'specific'
Slide 12
Why&cross&pla,orm&test&automa3on?&
• Business'logic'is'same.'It'is'only'
interac4on'with'UI'is'change'
'
• Pooled'resources'
'
• More'reusable'code.'Less'
maintenance'
'
Slide 13
What&should&be&considered?&
• Who'is'wri4ng'the'test'cases?''
''''App'developers'/'QA'developers?'
'
• Which'mobile'pla=orms?'
• Wri4ng'in'language'other'than'
pla=orm'specific'
Slide 15
A&bit&about&Cross&Pla,orm&test&tools&
Slide 16
Mobile&Cross&Pla,orm&Tools&
• Instrument'based'tools'
'
'
'
• Image'Recogni4on'tools'
'
– Calabash'
– Appium'
– Monkey'Talk'
– eggPlant'
– seetest'
Slide 17
A&bit&about&Calabash&
Slide 18
What&is&Calabash?&
'
• A'framework'wriben'in'“Ruby”'
'
• Has'clientcserver'architecture'using'JSON'
'
• Integrated'with'cucumber'
'
• Supports'Android'and'iOS'pla=orms'
Slide 19
Calabash&:&Pros&&&Cons&
• Pros'
– Has'well'structured'client'framework'
– Supports'backdoor'opera4ons'to'interact'with'
Applica4on'code'
'
• Cons'
– Can’t'run'on'“Produc4on”'build'in'iOS'
– Have'to'use'Ruby'programming'language'
– Forced'to'write'test'cases'in''BDD'('‘Given'When'
Then’')'
Slide 20
A&bit&about&Appium&
Slide 21
What&is&Appium?&
• Is'a'Server'wriben'in'Node.js'using'JavaScript'
'
• Uses'pla=ormcprovided'frameworks'under'the'
hood'
• Supports'Web'driver'JSONWire'protocol'
'
• Supports'iOS,'Android,'Mobile'Web'and'Hybrid'
applica4ons'
'
'
'
Slide 22
Appium&:&Pros&&&Cons&
• Pros'
– Tests'can'be'wriben'in'any'('most'of')'
programming'languages'
– Good'community'support'
– Can'use'same'produc4on'builds'for'tes4ng'
'
• Cons'
– Lible'bit'“buggy”'
Slide 24
A'bit'about'Con4nuous'Delivery'
Slide 25
Con3nuous&Delivery&is…&
'
A'prac4ce'of'crea4ng,'tes3ng'
and'releasing'stable'applica4on'
frequently'in'smaller'chunks'
Slide 26
What&is&Con3nuous&Delivery?&
Con3nuous&&
Delivery&
=&
Con3nuous&
Integra3on&&&
+&
Con3nuous&
Test&Automa3on&
Slide 27
Con3nuous&Test&Automa3on&
Development'Branch'
Slide 28
Con3nuous&Test&Automa3on&
Development'Branch'
Slide 29
Con3nuous&Test&Automa3on&
Development'Branch'
Implement''
Feature'tests'
Slide 30
Con3nuous&Test&Automa3on&
Development'Branch'
Feature&
Tests'Implement''
Feature'tests'
Slide 31
Con3nuous&Test&Automa3on&
Development'Branch'
Feature&
Tests'
Smoke'
Tests'
Implement''
Feature'tests'
Slide 32
Con3nuous&Test&Automa3on&
Development'Branch'
Feature&
Tests'
Smoke'
Tests'
Implement''
Feature'tests'
Slide 33
Con3nuous&Test&Automa3on&
Development'Branch'
Feature&
Tests'
Smoke'
Tests'
Nightly''
Builds'
Nightly''
Builds'
Implement''
Feature'tests'
Slide 34
Con3nuous&Test&Automa3on&
Development'Branch'
Feature'2'
Feature'1'
Slide 35
Con3nuous&Test&Automa3on&
Development'Branch'
Master'
Feature'2'
Feature'1'
Slide 36
Con3nuous&Test&Automa3on&
Development'Branch'
Integra4on'Branch'
Master'
Feature'2'
Feature'1'
Slide 37
Con3nuous&Test&Automa3on&
Development'Branch'
Integra4on'Branch'
Integra4on'
Tests'
Master'
Feature'1'
Feature'2'
Slide 38
Con3nuous&Test&Automa3on&
Development'Branch'
Integra4on'2'
Integra4on'1'
Master'Branch'
Slide 39
Con3nuous&Test&Automa3on&
Development'Branch'
Integra4on'2'
Integra4on'1'
Master'Branch'
Nightly''
Builds'
Nightly''
Builds'
Slide 40
Con3nuous&Test&Automa3on&
Development'Branch'
Integra4on'2'
Integra4on'1'
Master'Branch'
Release'Branch'
Slide 41
Con3nuous&Test&Automa3on&
Development'Branch'
Integra4on'2'
Release'
Tests'
Integra4on'1'
Master'Branch'
Release'Branch'
Slide 42
Con3nuous&Test&Automa3on&
Development'Branch'
Integra4on'2'
Integra4on'1'
Master'Branch'
Release'Branch'
Release'
Tests'
Release'
Tests'
Slide 44
Scaling'build'infrastructure'
Slide 45
How&we&started?&
• A'single'build'machine'with'Jenkins'
• Running'on'Android'emulator'and'iOS'
simulator'
'
• Run'the''tests'only'on'“master”'branch'
every'night'
Slide 47
What&we&have&today?&
• Distributed'CI'server'with'12'maccmini'
agents''
'
• Each'Agent'has'Android'and'iOS'device'
connected'
• Running'the'tests'on'Real'devices'
• Integrated'with'JIRA'
'
'
'
Slide 50
What&we&will&do&in&future?&
'
• More'devices'to'each'agent'and'Parallelizing'
test'suite'
• Using'VMs'for'scaling'build'agents'
'
'
Slide 51
Summary&
'
• Worth'wri4ng'cross'pla=orms'tests.'It'Ensure'
behavior'is'same'in'every'pla=orm''
'
• Mobile'Test'Automa4on'tools'are's4ll'evolving'
'
• And,'they'have'limita4ons'
Slide 52
Nevertheless…&
'
• We'reduced'Regression'tes4ng'to'a'day'for'
every'release'('66%'4me'save')'
• 3X'more'releases'to'the'app'stores'
• More'stable'applica4on.'Crash'rate'reduced'
from'6%'to'2%'
Slide 53
hQps://techblog.badoo.com/&
&
Sathish&Gogineni&
[email protected]
&
'
Tags
gogineni
badoo
codefest
Categories
General
Download
Download Slideshow
Get the original presentation file
Quick Actions
Embed
Share
Save
Print
Full
Report
Statistics
Views
1,368
Slides
53
Favorites
1
Age
3893 days
Related Slideshows
22
Pray For The Peace Of Jerusalem and You Will Prosper
RodolfoMoralesMarcuc
32 views
26
Don_t_Waste_Your_Life_God.....powerpoint
chalobrido8
33 views
31
VILLASUR_FACTORS_TO_CONSIDER_IN_PLATING_SALAD_10-13.pdf
JaiJai148317
31 views
14
Fertility awareness methods for women in the society
Isaiah47
30 views
35
Chapter 5 Arithmetic Functions Computer Organisation and Architecture
RitikSharma297999
27 views
5
syakira bhasa inggris (1) (1).pptx.......
ourcommunity56
29 views
View More in This Category
Embed Slideshow
Dimensions
Width (px)
Height (px)
Start Page
Which slide to start from (1-53)
Options
Auto-play slides
Show controls
Embed Code
Copy Code
Share Slideshow
Share on Social Media
Share on Facebook
Share on Twitter
Share on LinkedIn
Share via Email
Or copy link
Copy
Report Content
Reason for reporting
*
Select a reason...
Inappropriate content
Copyright violation
Spam or misleading
Offensive or hateful
Privacy violation
Other
Slide number
Leave blank if it applies to the entire slideshow
Additional details
*
Help us understand the problem better