SlideShare a Scribd company logo
Multiplication and division of calabash tests
About Myself
• Rajdeep Varma
• 5 years in Quality Engineering. I work at
ThoughtWorks
• Passionate about test automation and agile
practices
• Tested a number of web apps and recently
started testing mobile apps
I will talk about
• Our Problem:
A. Long running automation
B. Running Automation on Multiple devices
• Our Solution: parallel_calabash
Typical CI Pipeline Of Mobile Project
Git Push
Compile
+
Unit Test
Build App UI Tests Distribute
“Fast Feedback”
Multiplication and division of calabash tests
Stats
• 5 git repo
• Avg. 30 commits a day
• Approx. 100 Automated UI tests.
• “GitPush” TO “TestedOK” > 1 Hrs
With slow tests
Git Push
UI Tests
Deploy to
next stage
Umm…slow tests—Chai Break—damn! test failed :(
Fixed!
<pain>its so slow<pain/>— Pray —
LOL
:(
Patience Is Not Always A Virtue
Choose One
a) Lots of automated tests for good coverage
b) Faster automation run
c) BOTH!
How?
http://sharpreflections.com/wp-content/uploads/2012/06/multi_core_cpu.png
Our tool-set
• MobileWeb: Cucumber + waitr-webdriver + parallel_tests
• AndroidApp: Calabash
Options
• Multiple parallel builds in CI
• Proprietary cloud based tools
• Create a tool that matches our need
http://images.clipartpanda.com/choice-clipart-fork-choice-hi.png
parallel_calabash
Demo
Multiplication and division of calabash tests
Multiplication and division of calabash tests
Single Device Parallel
Time
CPUUsage
How it works?
<feature_grouper>
1_digit_addition.feature
2_digit_addition.feature
3_digit_addition.feature
4_digit_addition.feature
5_digit_addition.feature
6_digit_addition.feature
7_digit_addition.feature
8_digit_addition.feature
Detect
Devices
Feature
Grouper
1_digit_addition
2_digit_addition
3_digit_addition
4_digit_addition
5_digit_addition
6_digit_addition
7_digit_addition
8_digit_addition
How it works?
<process spawner>
1_digit_addition
2_digit_addition
3_digit_addition
4_digit_addition
5_digit_addition
6_digit_addition
7_digit_addition
8_digit_addition
ENV[ADB_DEVICE_ARG] = emulator-5554
ENV[TEST_PROCESS_NUMBER] = 1
Process
Spawner
ENV[ADB_DEVICE_ARG] = emulator-5556
ENV[TEST_PROCESS_NUMBER] = 2
ENV[ADB_DEVICE_ARG] = emulator-5558
ENV[TEST_PROCESS_NUMBER] = 3
ENV[ADB_DEVICE_ARG] = emulator-5560
ENV[TEST_PROCESS_NUMBER] = 4
S
U
M
M
A
R
I
Z
E
R
E
S
U
L
T
stdout
Reporting
config/cucumber.yml
default: --format html --out my_report_<%=ENV['DEVICE_INFO']%>.html
Reports from 3 devices:
my_report_GT_N7100.html
my_report_Samsung_Galaxy_Note_2___4_3___API_18___720x1280_1.html
my_report_Samsung_Galaxy_Note_2___4_3___API_18___720x1280_2.html
Optimization in test
distribution
• Issue with distribution based on cucumber
“featue” files
• Distribution based on “Scenario” instead of
features
• --group-by-scenarios
Advantages of fast tests
• Fast Feedback
• Faster development cycle for BDD environment
• Modern machines have multiple cores and
parallelization can make Maximum use of
Hardware
• Faster tests makes developers & Testers happy
I will talk about
• Our Problem:
A. Long running automation
B. Running Automation on Multiple devices
• Our Solution: parallel_calabash
Device Fragmentation
parallel_calabash -a <path/to/apk> features --concurrent
what did we achieve?
• 70% increase in testing velocity.
• Scalability
• Reporting
• Process specific action using
ENV[TEST_PROCESS_NUMBER]
Multiplication and division of calabash tests
Choose One
a) Lots of automated tests for good coverage
b) Faster automation run
c) BOTH!
TIME
https://github.com/rajdeepv/parallel_calabash
https://rubygems.org/gems/parallel_calabash
parallel_calabash
References:
• https://github.com/grosser/parallel_tests
• http://martinfowler.com/
• http://continuousdelivery.com/
• http://watirmelon.com/
?

More Related Content

PPT
Nakal think test_2015
Rajdeep Varma
 
PDF
Selenium Testing on Chrome - Google DevFest Armenia 2015
Sargis Sargsyan
 
PPTX
Advanced Appium
Dan Cuellar
 
PDF
Better Page Object Handling with Loadable Component Pattern
Sargis Sargsyan
 
PPTX
Selenium for Jobseekers
Seshu Madhav Chaturvedula
 
PPTX
JavaScript Unit Testing
Keir Bowden
 
PPTX
Responsive App Design with the Salesforce Lightning Design System
Keir Bowden
 
PDF
Optimizing React Native views for pre-animation
ModusJesus
 
Nakal think test_2015
Rajdeep Varma
 
Selenium Testing on Chrome - Google DevFest Armenia 2015
Sargis Sargsyan
 
Advanced Appium
Dan Cuellar
 
Better Page Object Handling with Loadable Component Pattern
Sargis Sargsyan
 
Selenium for Jobseekers
Seshu Madhav Chaturvedula
 
JavaScript Unit Testing
Keir Bowden
 
Responsive App Design with the Salesforce Lightning Design System
Keir Bowden
 
Optimizing React Native views for pre-animation
ModusJesus
 

What's hot (20)

PDF
No more waiting for API - Android Stub Server
Sylwester Madej
 
PPT
Automated Testing With Jasmine, PhantomJS and Jenkins
Work at Play
 
PDF
Testing desktop apps with selenium
Filip Braun
 
PDF
Scaling your Automated Tests: Docker and Kubernetes
Manoj Kumar Kumar
 
PDF
JHipster
Yuen-Kuei Hsueh
 
PDF
An iOS Developer's Perspective on React Native
Aleksandras Smirnovas
 
PPTX
How we built a job board in one week with JHipster
Kile Niklawski
 
PPTX
Nightwatch JS for End to End Tests
Sriram Angajala
 
PPTX
Serverless patterns v2 public
Yochay Kiriaty
 
PPTX
Serverless patterns v3 public
Yochay Kiriaty
 
PDF
Better Page Object Handling with Loadable Component Pattern - SQA Days 20, Be...
Sargis Sargsyan
 
PDF
Agile Testing
Sargis Sargsyan
 
PPTX
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
Codemotion
 
PDF
Automated android testing using jenkins ci
sveinungkb
 
PPTX
SenchaCon 2016: The Changing Landscape of JavaScript Testing - Joel Watson an...
Sencha
 
PDF
Orgchart for Alfresco lightning talk
ITD Systems
 
PPTX
Moving From a Selenium Grid to the Cloud - A Real Life Story
Sauce Labs
 
PPTX
Introduction to cypress in Angular (Chinese)
Hong Tat Yew
 
DOCX
Protractor end-to-end testing framework for angular js
codeandyou forums
 
PDF
Cracking android app. Мокиенко Сергей
Alina Dolgikh
 
No more waiting for API - Android Stub Server
Sylwester Madej
 
Automated Testing With Jasmine, PhantomJS and Jenkins
Work at Play
 
Testing desktop apps with selenium
Filip Braun
 
Scaling your Automated Tests: Docker and Kubernetes
Manoj Kumar Kumar
 
JHipster
Yuen-Kuei Hsueh
 
An iOS Developer's Perspective on React Native
Aleksandras Smirnovas
 
How we built a job board in one week with JHipster
Kile Niklawski
 
Nightwatch JS for End to End Tests
Sriram Angajala
 
Serverless patterns v2 public
Yochay Kiriaty
 
Serverless patterns v3 public
Yochay Kiriaty
 
Better Page Object Handling with Loadable Component Pattern - SQA Days 20, Be...
Sargis Sargsyan
 
Agile Testing
Sargis Sargsyan
 
React Native - Unleash the power of React in your device - Eduard Tomàs - Cod...
Codemotion
 
Automated android testing using jenkins ci
sveinungkb
 
SenchaCon 2016: The Changing Landscape of JavaScript Testing - Joel Watson an...
Sencha
 
Orgchart for Alfresco lightning talk
ITD Systems
 
Moving From a Selenium Grid to the Cloud - A Real Life Story
Sauce Labs
 
Introduction to cypress in Angular (Chinese)
Hong Tat Yew
 
Protractor end-to-end testing framework for angular js
codeandyou forums
 
Cracking android app. Мокиенко Сергей
Alina Dolgikh
 
Ad

Similar to Multiplication and division of calabash tests (20)

PPT
Build FAST with parallel_calabash
Thoughtworks
 
PPTX
Test automation
Xavier Yin
 
PPTX
Cucumber - Maria Machlowska
Women in Technology Poland
 
DOCX
Calabash my understanding
FARHAN SUMBUL
 
PPTX
Device Farm Lab DFL to run UI testing on Android devices
Abdulrohim sama
 
PPT
Calabash automated test
kellinreaver
 
PPTX
Testdroid:
Lingkai Shao
 
PPT
Evergreen build
dimakovalenko
 
PPTX
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
COMAQA.BY
 
PPTX
Calabash-android
Adnan8990
 
PPT
COMAQA Conf #2. Никита Мещаненко. Xamarin test cloud
COMAQA.BY
 
PPTX
Building High Quality Android Applications
Leif Janzik
 
PDF
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...
Ondřej Machulda
 
PDF
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
flufftailshop
 
PDF
Супер быстрая автоматизация тестирования на iOS
SQALab
 
PDF
Viktar Karanevich – iOS Parallel Automation
Badoo Development
 
PDF
Remote iOS Devices Server – Scaling iOS
Nick Abalov
 
PDF
Selenium Israel Meetup
Justin Ison
 
PDF
OnDemand Cloud Testing
Clever Moe
 
Build FAST with parallel_calabash
Thoughtworks
 
Test automation
Xavier Yin
 
Cucumber - Maria Machlowska
Women in Technology Poland
 
Calabash my understanding
FARHAN SUMBUL
 
Device Farm Lab DFL to run UI testing on Android devices
Abdulrohim sama
 
Calabash automated test
kellinreaver
 
Testdroid:
Lingkai Shao
 
Evergreen build
dimakovalenko
 
Дмитрий Лемешко. Comaqa Spring 2018. Continuous mobile automation in build pi...
COMAQA.BY
 
Calabash-android
Adnan8990
 
COMAQA Conf #2. Никита Мещаненко. Xamarin test cloud
COMAQA.BY
 
Building High Quality Android Applications
Leif Janzik
 
Workshop: Functional testing made easy with PHPUnit & Selenium (phpCE Poland,...
Ondřej Machulda
 
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
flufftailshop
 
Супер быстрая автоматизация тестирования на iOS
SQALab
 
Viktar Karanevich – iOS Parallel Automation
Badoo Development
 
Remote iOS Devices Server – Scaling iOS
Nick Abalov
 
Selenium Israel Meetup
Justin Ison
 
OnDemand Cloud Testing
Clever Moe
 
Ad

Recently uploaded (20)

PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PPTX
Simple and concise overview about Quantum computing..pptx
mughal641
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Simple and concise overview about Quantum computing..pptx
mughal641
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
AI-Cloud-Business-Management-Platforms-The-Key-to-Efficiency-Growth.pdf
Artjoker Software Development Company
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 

Multiplication and division of calabash tests