SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
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!

Weitere ähnliche Inhalte

Was ist angesagt?

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 Introductionsnevesbarros
 
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 LippsPerfecto by Perforce
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with AppiumManoj Kumar Kumar
 
Appium troubleshooting
Appium troubleshootingAppium troubleshooting
Appium troubleshootingadi ben aroya
 
Appium basics
Appium basicsAppium basics
Appium basicsSyam Sasi
 
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 SaucelabsShashikant Jagtap
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with SelendroidVikas Thange
 
Appium - test automation for mobile apps
Appium - test automation for mobile appsAppium - test automation for mobile apps
Appium - test automation for mobile appsAleksejs Trescalins
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With AppiumKnoldus 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
 
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 TestingBitbar
 
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ànNexus FrontierTech
 
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 SaucelabsShashikant 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 TeamSrijan Technologies
 

Was ist angesagt? (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
 

Ähnlich wie Vietnam qa meetup

Cloudstack Continuous Delivery
Cloudstack Continuous DeliveryCloudstack Continuous Delivery
Cloudstack Continuous Deliverybuildacloud
 
GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers WorkshopJody 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 realityDaniel Gallego Vico
 
DevOps / Agile Tools Seminar 2013
DevOps / Agile Tools Seminar 2013DevOps / Agile Tools Seminar 2013
DevOps / Agile Tools Seminar 2013Ethan Ram
 
SynapseIndia drupal presentation on drupal info
SynapseIndia drupal  presentation on drupal infoSynapseIndia drupal  presentation on drupal info
SynapseIndia drupal presentation on drupal infoSynapseindiappsdevelopment
 
Continuous Development Pipeline
Continuous Development PipelineContinuous Development Pipeline
Continuous Development PipelineIzzet 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 BuilderPhilip 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 worldRoberto Pérez Alcolea
 
Expedia 3x3 presentation
Expedia 3x3 presentationExpedia 3x3 presentation
Expedia 3x3 presentationDrew Hannay
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performanceAndrew Siemer
 
Selendroid in Action
Selendroid in ActionSelendroid in Action
Selendroid in ActionDominik Dary
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deployThibaud 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 pipelineElasTest 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-20Michael 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 ProjectsGR8Conf
 
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 AllTim Fairweather
 

Ähnlich wie 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
 

Kürzlich hochgeladen

CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGSIVASHANKAR N
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)simmis5
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Dr.Costas Sachpazis
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSSIVASHANKAR N
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 

Kürzlich hochgeladen (20)

CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service NashikCall Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
Call Girls Service Nashik Vaishnavi 7001305949 Independent Escort Service Nashik
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLSMANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
MANUFACTURING PROCESS-II UNIT-5 NC MACHINE TOOLS
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 

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