SlideShare a Scribd company logo
Break The Ice
Go to https://kahoot.it
Demystifying Selenium Grid
Syam Sasi
Senior Software Engineer @ Carousell
https://about.me/syamsasi
About Me
● 8 Years in Industry
● Ex-Oracalite
● Co-Organizer of TAQELAH Meetups in Singapore
God’s Own Country
Need For Selenium Grid
● Run test cases on different browsers / devices or platforms
● Minimize the test execution time
● Scaling up the test infrastructure
What is Selenium Grid?
https://www.youtube.com/watch?v=6nq1dOiTdC8
Hub And Node
● Hub – Hub will be the central machine which will redirect the commands to the
respective node based on parameter
● Node- Node will be the actual machine where the test will be executed.
Starting The HUB
1. Download the selenium server from here
2. Create a folder called grid and copy the downloaded jar to this folder
3. Launch the hub by the following command
java -jar selenium-server-standalone-3.x.y.jar -role hub
4. Go to http://localhost:4444/grid/console and check hub is running or not
Starting The Nodes
1. Register the node by the following command
java
-Dwebdriver.gecko.driver="/Users/carousell/SeleniumGridVietnam/drivers/geckodriver"
-jar selenium-server-standalone-3.x.y.jar -role webdriver -hub
http://a.b.c.d:4444/grid/register -port 5566
2. Go to http://localhost:4444/grid/console and check node is registered
Hub using JSON Configuration
{
"port": 4444,
"newSessionWaitTimeout": -1,
"servlets" : [],
"withoutServlets": [],
"custom": {},
"capabilityMatcher":
"org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
"registryClass": "org.openqa.grid.internal.DefaultGridRegistry",
"throwOnCapabilityNotPresent": true,
"cleanUpCycle": 5000,
"role": "hub",
"debug": false,
"browserTimeout": 0,
"timeout": 1800
}
java -jar selenium-server-stand-alone-3.x.y.jar -role hub
-hubConfig hubConfig.json
Node using JSON Configuration
java
-Dwebdriver.gecko.driver="/Users/carousell/SeleniumGridVietnam/driv
ers/geckodriver"
-Dwebdriver.chrome.driver="/Users/carousell/SeleniumGridVietnam/dri
vers/emulator/chromedriver" -jar
selenium-server-standalone-3.x.y.jar -role node -nodeConfig
nodeConfig.json
Default Node Config file can be found here
Grid For Mobile Browsers
appium --nodeconfig node-config-device4724.json -p 4724 -cp
4726 --chromedriver-executable="/path/to/chromedriver"
Selenium Grid Extras
● Ability to control individual grid nodes, following is an incomplete list of OS level tasks:
○ Killing any browser instance by name
○ Stopping any Process by PID
○ Moving mouse to specific location
○ Get Memory usage and disk statistics
● Automatically upgrade WebDriver binaries
● Restart node after a set number of test executions
● Central storage of configurations for all nodes on the HUB server
● Screenshots at the OS level
https://github.com/groupon/Selenium-Grid-Extras
Docker Containers For Selenium Grid
● Zalenium
● Selenoid
Q and A
References
● https://github.com/syamsasi99/SeleniumGridVietnam/tree/master
● http://learn-automation.com/selenium-grid-for-remote-execution/
● https://github.com/aerokube/selenoid
● https://github.com/zalando/zalenium
● https://github.com/groupon/Selenium-Grid-Extras
● https://rationaleemotions.github.io/gridopadesham/CUSTOMIZE_GRID.html
Thank You!
Carousell Quality Culture
Ngan Do
Software Engineer @ Carousell
https://www.linkedin.com/in/do-thi-my-ngan/
About Me
● 3 Years in Industry
● 3 Years working at Carousell
● 3 Years experience in Mobile Automation
Testing
Quality Throughout The Development Cycle
● Plan
● Design
● Development
● Release
● Monitor
Quality Throughout The Development Cycle
Shift Left
The earlier a problem is found the easier and cheaper it is to fix it!
Carousell Quality Methodologies
● Testing party
● Fast Feedback Tests
● Run Auto-Regression Test every day
● Dogfooding
Testing Party
Fast Feedback Tests
Feedback about
functional quality to
devs
Tests that cover
critical flows
Execution time < 15 minutes
Detecting & fixing breaking
issues earlier
Fast Feedback Tests as a quality gate for pull requests
Verify Every Change
✔✘
Run Auto-Regression Test Every Day
nightly build
Dogfooding
Build the Quality Culture ...
● Software engineers
● Software engineers in testing
● Scrum masters
● Product managers
● Designers
● Helpdesk / support
● Managers
● Recruiters
● ...
… to deliver Quality to the users
● It’s all about the users!
● 7 markets, ~200 million listings, ~70 million items sold
● https://blog.carousell.com/carousellstories
Q&A
Thank you!
Weekly Release Process
for Mobile Apps
Long Ly
Senior Software Engineer @ Carousell
https://www.linkedin.com/in/longlyme/
About Me
● 5 Years in Industry
● Used to work both in outsource and product
companies
● Mainly taking care release process in Carousell
Agenda
1. Why Weekly?
2. Main Phases
3. Follow up Activities
4. Tools
5. Q&A
Why Weekly?
Why Weekly?
● Releases are time-based, rather than content-based
● As-short-as needed dev cycle
● Deliver new features to users faster
● Fix user’s bug reported faster
● Receive customer feedback faster
● Eliminates the need for hotfixes
Main Phases
Main Phases
Main Phases
Hotfix?
Follow up Activities
Follow up Activities
➔ Checking messages in #dogfood-report (staff users) and
#support (external users) channels to know asap if any
reports for released builds!?
➔ If any issue, consider to halt the rollout process?
◆ Hotfixes
● Before submission: easy to go
● After submission: painful and take time
Tools
Tools
● Release activities (Carousell internal bot)
● Monitoring
● Release testing
● Translations
Keys Takeaway
❖ Weekly release process for quickly users’ experience and
feedback
❖ Making sure quality by shift-left testing
➢ Fast feedback test
➢ Nightly regression
➢ Weekly release testing
❖ Tools
➢ Automate all activities that we can (slack bots, CI tools)
➢ Monitor app’s health
Q&A
Quiz Time
Go to https://kahoot.it
Thank you!

More Related Content

What's hot

Appium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation IntroductionAppium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation Introduction
snevesbarros
 
Advanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan LippsAdvanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan Lipps
Perfecto by Perforce
 
Automated UI Testing Frameworks
Automated UI Testing FrameworksAutomated UI Testing Frameworks
Automated UI Testing Frameworks
TestObject - Mobile Testing
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
Manoj Kumar Kumar
 
Appium troubleshooting
Appium troubleshootingAppium troubleshooting
Appium troubleshooting
adi ben aroya
 
Appium basics
Appium basicsAppium basics
Appium basics
Syam Sasi
 
Advanced Appium
Advanced AppiumAdvanced Appium
Advanced Appium
Dan Cuellar
 
iOS Automation with Cucumber, Appium and Saucelabs
iOS Automation with Cucumber, Appium and SaucelabsiOS Automation with Cucumber, Appium and Saucelabs
iOS Automation with Cucumber, Appium and Saucelabs
Shashikant Jagtap
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with Selendroid
Vikas Thange
 
Appium - test automation for mobile apps
Appium - test automation for mobile appsAppium - test automation for mobile apps
Appium - test automation for mobile apps
Aleksejs Trescalins
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
Knoldus Inc.
 
The Future of Selenium Testing for Mobile Web and Native Apps
The Future of Selenium Testing for Mobile Web and Native AppsThe Future of Selenium Testing for Mobile Web and Native Apps
The Future of Selenium Testing for Mobile Web and Native AppsSauce Labs
 
Appium ppt
Appium pptAppium ppt
Appium ppt
natashasweety7
 
Hassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device TestingHassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device Testing
Bitbar
 
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn ToànTech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
Nexus FrontierTech
 
BCS Selenium Workshop
BCS Selenium WorkshopBCS Selenium Workshop
BCS Selenium Workshop
Colin McDonald
 
MDC2011 Android_ Webdriver Automation Test
MDC2011 Android_ Webdriver Automation TestMDC2011 Android_ Webdriver Automation Test
MDC2011 Android_ Webdriver Automation TestMasud Parvez
 
iOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs
iOS Developers Conference-iOS Automation with Cucumber, Appium and SaucelabsiOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs
iOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs
Shashikant Jagtap
 
[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team
Srijan Technologies
 

What's hot (20)

Appium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation IntroductionAppium Meetup #2 - Mobile Web Automation Introduction
Appium Meetup #2 - Mobile Web Automation Introduction
 
Advanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan LippsAdvanced Appium Tips & Tricks with Jonathan Lipps
Advanced Appium Tips & Tricks with Jonathan Lipps
 
Automated UI Testing Frameworks
Automated UI Testing FrameworksAutomated UI Testing Frameworks
Automated UI Testing Frameworks
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Appium troubleshooting
Appium troubleshootingAppium troubleshooting
Appium troubleshooting
 
Appium basics
Appium basicsAppium basics
Appium basics
 
Advanced Appium
Advanced AppiumAdvanced Appium
Advanced Appium
 
iOS Automation with Cucumber, Appium and Saucelabs
iOS Automation with Cucumber, Appium and SaucelabsiOS Automation with Cucumber, Appium and Saucelabs
iOS Automation with Cucumber, Appium and Saucelabs
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with Selendroid
 
Appium - test automation for mobile apps
Appium - test automation for mobile appsAppium - test automation for mobile apps
Appium - test automation for mobile apps
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
 
The Future of Selenium Testing for Mobile Web and Native Apps
The Future of Selenium Testing for Mobile Web and Native AppsThe Future of Selenium Testing for Mobile Web and Native Apps
The Future of Selenium Testing for Mobile Web and Native Apps
 
Appium ppt
Appium pptAppium ppt
Appium ppt
 
Behat sauce
Behat sauceBehat sauce
Behat sauce
 
Hassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device TestingHassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device Testing
 
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn ToànTech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
 
BCS Selenium Workshop
BCS Selenium WorkshopBCS Selenium Workshop
BCS Selenium Workshop
 
MDC2011 Android_ Webdriver Automation Test
MDC2011 Android_ Webdriver Automation TestMDC2011 Android_ Webdriver Automation Test
MDC2011 Android_ Webdriver Automation Test
 
iOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs
iOS Developers Conference-iOS Automation with Cucumber, Appium and SaucelabsiOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs
iOS Developers Conference-iOS Automation with Cucumber, Appium and Saucelabs
 
[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team[Srijan Wednesday Webinars] Building a High Performance QA Team
[Srijan Wednesday Webinars] Building a High Performance QA Team
 

Similar to Vietnam qa meetup

Cloudstack Continuous Delivery
Cloudstack Continuous DeliveryCloudstack Continuous Delivery
Cloudstack Continuous Deliverybuildacloud
 
GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers Workshop
Jody Garnett
 
Droidcon Spain 2016 - The Pragmatic Android Programmer: from hype to reality
 Droidcon Spain 2016 - The Pragmatic Android Programmer: from hype to reality Droidcon Spain 2016 - The Pragmatic Android Programmer: from hype to reality
Droidcon Spain 2016 - The Pragmatic Android Programmer: from hype to reality
Daniel Gallego Vico
 
DevOps / Agile Tools Seminar 2013
DevOps / Agile Tools Seminar 2013DevOps / Agile Tools Seminar 2013
DevOps / Agile Tools Seminar 2013
Ethan Ram
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal info
Synapseindiappsdevelopment
 
Common Sense Agile
Common Sense AgileCommon Sense Agile
Common Sense Agile
Alex Apollonsky
 
Continuous Development Pipeline
Continuous Development PipelineContinuous Development Pipeline
Continuous Development Pipeline
Izzet Mustafaiev
 
Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)
Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)
Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)
STePINForum
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master Builder
Philip Norton
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
Roberto Pérez Alcolea
 
Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentation
Drew Hannay
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performance
Andrew Siemer
 
Selendroid in Action
Selendroid in ActionSelendroid in Action
Selendroid in Action
Dominik Dary
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deploy
Thibaud Gravrand
 
How to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineHow to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipeline
ElasTest Project
 
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Martin Spier
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Michael Lihs
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsMy "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails Projects
GR8Conf
 
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays
 
Ansible Automation to Rule Them All
Ansible Automation to Rule Them AllAnsible Automation to Rule Them All
Ansible Automation to Rule Them All
Tim Fairweather
 

Similar to Vietnam qa meetup (20)

Cloudstack Continuous Delivery
Cloudstack Continuous DeliveryCloudstack Continuous Delivery
Cloudstack Continuous Delivery
 
GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers Workshop
 
Droidcon Spain 2016 - The Pragmatic Android Programmer: from hype to reality
 Droidcon Spain 2016 - The Pragmatic Android Programmer: from hype to reality Droidcon Spain 2016 - The Pragmatic Android Programmer: from hype to reality
Droidcon Spain 2016 - The Pragmatic Android Programmer: from hype to reality
 
DevOps / Agile Tools Seminar 2013
DevOps / Agile Tools Seminar 2013DevOps / Agile Tools Seminar 2013
DevOps / Agile Tools Seminar 2013
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal info
 
Common Sense Agile
Common Sense AgileCommon Sense Agile
Common Sense Agile
 
Continuous Development Pipeline
Continuous Development PipelineContinuous Development Pipeline
Continuous Development Pipeline
 
Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)
Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)
Docker–Grid (A On demand and Scalable dockerized selenium grid architecture)
 
Becoming A Drupal Master Builder
Becoming A Drupal Master BuilderBecoming A Drupal Master Builder
Becoming A Drupal Master Builder
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentation
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performance
 
Selendroid in Action
Selendroid in ActionSelendroid in Action
Selendroid in Action
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deploy
 
How to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipelineHow to plan and define your CI-CD pipeline
How to plan and define your CI-CD pipeline
 
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
 
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
Continuous Integration with Open Source Tools - PHPUgFfm 2014-11-20
 
My "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails ProjectsMy "Perfect" Toolchain Setup for Grails Projects
My "Perfect" Toolchain Setup for Grails Projects
 
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
apidays LIVE New York - Navigating the Sea of Javascript Tools to Discover Sc...
 
Ansible Automation to Rule Them All
Ansible Automation to Rule Them AllAnsible Automation to Rule Them All
Ansible Automation to Rule Them All
 

Recently uploaded

在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
ydteq
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
Kerry Sado
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
Jayaprasanna4
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
manasideore6
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
karthi keyan
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
ongomchris
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
BrazilAccount1
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
zwunae
 

Recently uploaded (20)

在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
H.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdfH.Seo,  ICLR 2024, MLILAB,  KAIST AI.pdf
H.Seo, ICLR 2024, MLILAB, KAIST AI.pdf
 
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
一比一原版(UofT毕业证)多伦多大学毕业证成绩单如何办理
 
Hierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power SystemHierarchical Digital Twin of a Naval Power System
Hierarchical Digital Twin of a Naval Power System
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 
ethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.pptethical hacking in wireless-hacking1.ppt
ethical hacking in wireless-hacking1.ppt
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Fundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptxFundamentals of Electric Drives and its applications.pptx
Fundamentals of Electric Drives and its applications.pptx
 
power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
CME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional ElectiveCME397 Surface Engineering- Professional Elective
CME397 Surface Engineering- Professional Elective
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
space technology lecture notes on satellite
space technology lecture notes on satellitespace technology lecture notes on satellite
space technology lecture notes on satellite
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
AP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specificAP LAB PPT.pdf ap lab ppt no title specific
AP LAB PPT.pdf ap lab ppt no title specific
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证成绩单专业办理
 

Vietnam qa meetup

  • 1.
  • 2. Break The Ice Go to https://kahoot.it
  • 4. Syam Sasi Senior Software Engineer @ Carousell https://about.me/syamsasi About Me ● 8 Years in Industry ● Ex-Oracalite ● Co-Organizer of TAQELAH Meetups in Singapore
  • 6. Need For Selenium Grid ● Run test cases on different browsers / devices or platforms ● Minimize the test execution time ● Scaling up the test infrastructure
  • 7. What is Selenium Grid? https://www.youtube.com/watch?v=6nq1dOiTdC8
  • 8. Hub And Node ● Hub – Hub will be the central machine which will redirect the commands to the respective node based on parameter ● Node- Node will be the actual machine where the test will be executed.
  • 9. Starting The HUB 1. Download the selenium server from here 2. Create a folder called grid and copy the downloaded jar to this folder 3. Launch the hub by the following command java -jar selenium-server-standalone-3.x.y.jar -role hub 4. Go to http://localhost:4444/grid/console and check hub is running or not
  • 10. Starting The Nodes 1. Register the node by the following command java -Dwebdriver.gecko.driver="/Users/carousell/SeleniumGridVietnam/drivers/geckodriver" -jar selenium-server-standalone-3.x.y.jar -role webdriver -hub http://a.b.c.d:4444/grid/register -port 5566 2. Go to http://localhost:4444/grid/console and check node is registered
  • 11. Hub using JSON Configuration { "port": 4444, "newSessionWaitTimeout": -1, "servlets" : [], "withoutServlets": [], "custom": {}, "capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher", "registryClass": "org.openqa.grid.internal.DefaultGridRegistry", "throwOnCapabilityNotPresent": true, "cleanUpCycle": 5000, "role": "hub", "debug": false, "browserTimeout": 0, "timeout": 1800 } java -jar selenium-server-stand-alone-3.x.y.jar -role hub -hubConfig hubConfig.json
  • 12. Node using JSON Configuration java -Dwebdriver.gecko.driver="/Users/carousell/SeleniumGridVietnam/driv ers/geckodriver" -Dwebdriver.chrome.driver="/Users/carousell/SeleniumGridVietnam/dri vers/emulator/chromedriver" -jar selenium-server-standalone-3.x.y.jar -role node -nodeConfig nodeConfig.json Default Node Config file can be found here
  • 13. Grid For Mobile Browsers appium --nodeconfig node-config-device4724.json -p 4724 -cp 4726 --chromedriver-executable="/path/to/chromedriver"
  • 14. Selenium Grid Extras ● Ability to control individual grid nodes, following is an incomplete list of OS level tasks: ○ Killing any browser instance by name ○ Stopping any Process by PID ○ Moving mouse to specific location ○ Get Memory usage and disk statistics ● Automatically upgrade WebDriver binaries ● Restart node after a set number of test executions ● Central storage of configurations for all nodes on the HUB server ● Screenshots at the OS level https://github.com/groupon/Selenium-Grid-Extras
  • 15. Docker Containers For Selenium Grid ● Zalenium ● Selenoid
  • 17. References ● https://github.com/syamsasi99/SeleniumGridVietnam/tree/master ● http://learn-automation.com/selenium-grid-for-remote-execution/ ● https://github.com/aerokube/selenoid ● https://github.com/zalando/zalenium ● https://github.com/groupon/Selenium-Grid-Extras ● https://rationaleemotions.github.io/gridopadesham/CUSTOMIZE_GRID.html
  • 20. Ngan Do Software Engineer @ Carousell https://www.linkedin.com/in/do-thi-my-ngan/ About Me ● 3 Years in Industry ● 3 Years working at Carousell ● 3 Years experience in Mobile Automation Testing
  • 21. Quality Throughout The Development Cycle ● Plan ● Design ● Development ● Release ● Monitor
  • 22. Quality Throughout The Development Cycle
  • 23. Shift Left The earlier a problem is found the easier and cheaper it is to fix it!
  • 24. Carousell Quality Methodologies ● Testing party ● Fast Feedback Tests ● Run Auto-Regression Test every day ● Dogfooding
  • 26. Fast Feedback Tests Feedback about functional quality to devs Tests that cover critical flows Execution time < 15 minutes Detecting & fixing breaking issues earlier Fast Feedback Tests as a quality gate for pull requests
  • 28. Run Auto-Regression Test Every Day nightly build
  • 30. Build the Quality Culture ... ● Software engineers ● Software engineers in testing ● Scrum masters ● Product managers ● Designers ● Helpdesk / support ● Managers ● Recruiters ● ...
  • 31. … to deliver Quality to the users ● It’s all about the users! ● 7 markets, ~200 million listings, ~70 million items sold ● https://blog.carousell.com/carousellstories
  • 32. Q&A
  • 35. Long Ly Senior Software Engineer @ Carousell https://www.linkedin.com/in/longlyme/ About Me ● 5 Years in Industry ● Used to work both in outsource and product companies ● Mainly taking care release process in Carousell
  • 36. Agenda 1. Why Weekly? 2. Main Phases 3. Follow up Activities 4. Tools 5. Q&A
  • 38. Why Weekly? ● Releases are time-based, rather than content-based ● As-short-as needed dev cycle ● Deliver new features to users faster ● Fix user’s bug reported faster ● Receive customer feedback faster ● Eliminates the need for hotfixes
  • 43. Follow up Activities ➔ Checking messages in #dogfood-report (staff users) and #support (external users) channels to know asap if any reports for released builds!? ➔ If any issue, consider to halt the rollout process? ◆ Hotfixes ● Before submission: easy to go ● After submission: painful and take time
  • 44. Tools
  • 45. Tools ● Release activities (Carousell internal bot) ● Monitoring ● Release testing ● Translations
  • 46. Keys Takeaway ❖ Weekly release process for quickly users’ experience and feedback ❖ Making sure quality by shift-left testing ➢ Fast feedback test ➢ Nightly regression ➢ Weekly release testing ❖ Tools ➢ Automate all activities that we can (slack bots, CI tools) ➢ Monitor app’s health
  • 47. Q&A
  • 48. Quiz Time Go to https://kahoot.it