extreme testing with selenium - @hugs at jenkins user conference 2011

24
Jenkins User Conference San Francisco, Oct 2 nd 2011 Extreme Testing with Jenkins and Selenium Jason Huggins (@hugs ) CTO, Cofounder - Sauce Labs Inc Creator - Selenium Saucelabs.com

Upload: hugs

Post on 29-Jan-2015

107 views

Category:

Technology


0 download

DESCRIPTION

Slides from Jason Huggins' talk at Jenkins User Conference, October 2011 in San Francisco. Title: "Extreme Testing with Selenium - In the Cloud and In the Garage."

TRANSCRIPT

  • 1. Jenkins User ConferenceSan Francisco, Oct 2nd 2011Extreme Testingwith Jenkins and SeleniumJason Huggins (@hugs)CTO, Cofounder - Sauce Labs IncCreator - Selenium Saucelabs.com

2. Jenkins User ConferenceSan Francisco, Oct 2nd 2011Seleniums #1, baby! 3. Jenkins User Conference San Francisco, Oct 2nd 2011 2 Extreme StoriesIn the cloudIn the garage 4. Jenkins User Conference San Francisco, Oct 2nd 2011 Mantra: Parallelizability (p15y) leads to fast softwarebuilds. Fast builds lead to happy developers. Happy developers lead to happycustomers. 5. Jenkins User ConferenceSan Francisco, Oct 2nd 2011 Q: Want happy customers? A: Use parallel-ready testing tools! 6. Jenkins User Conference San Francisco, Oct 2nd 2011 Story #1- Massive testing (in the cloud) 7. Jenkins User Conference San Francisco, Oct 2nd 2011 A large domestic airline 8. Jenkins User ConferenceSan Francisco, Oct 2nd 2011 Build and test entire site in 20 minutes. (10 min build, 10 min Selenium testing) Massive parallelism 9. Jenkins User Conference San Francisco, Oct 2nd 2011 Parallelism x2! 10. Jenkins User ConferenceSan Francisco, Oct 2nd 2011 Jenkins 1 Jenkins master 10 physical slaves 10 Virtual IPs per slave 100 potential total nodes Each Jenkins executor on client sidecouldgenerate ~30 threads at Sauce for cloudtesting 100 x 30 -> 3000 potential parallel threads of testexecution. ** Current use about 30-300 cloud browsers runningtests at any give time throughout the entire day. 11. Jenkins User Conference San Francisco, Oct 2nd 2011 JBehave Every story is written with JBehave JBehavecan parallelize each story. JBehave -> regex -> groovy page objects->java -> Selenium2 Each story compiles to an end-to-end fullstack + Selenium test run. 12. Jenkins User Conference San Francisco, Oct 2nd 2011 All that... multiplied Smoke suite Regression suite Team-specific feature testing plus Component tests JavaScript unit tests (jasmine) 13. Jenkins User Conference San Francisco, Oct 2nd 2011 Process Trunk-based development (aka "Dont break the build!") Branch per release At any given moment, 2 lines (release branch + trunk) are in use. Fixes go to trunk first, then branch Feature toggles (aka "Feature flags") Every jBehave test suite stands up its own app stack for testing. (Amdahls Law) 14. Jenkins User Conference San Francisco, Oct 2nd 2011 Next... Improve reliability, then go for scale andspeed 15. Jenkins User ConferenceSan Francisco, Oct 2nd 2011 More info about JBehave https://github.com/paul- hammant/jbehave-webdriver-tutorial 16. Jenkins User Conference San Francisco, Oct 2nd 2011 Story #2 Mobile Testing (with Robots!) 17. Jenkins User Conference San Francisco, Oct 2nd 2011Bitbeambot (http://bitbeam.org) 18. Jenkins User Conference San Francisco, Oct 2nd 2011Video Demo (click to start) 19. Jenkins User Conference San Francisco, Oct 2nd 2011 BitbeamBot What? A computer-controlled (CNC) robot for testing applications on mobile devices Open Source components: Electronics: Arduino Mechanics: Bitbeam Lego Technic compatible building toy Made from Basswood Designed with 3D tool OpenSCAD Lasercut at TechShop San Francisco Software: Python, Selenium 20. Jenkins User Conference San Francisco, Oct 2nd 2011 BitbeamBot - Why? Selenium is a software-based robot. Seleniums mission is to mimic and automate how users interact with an application. For mobile, this means handling real devices. BitbeamBot is an experiment to take Selenium out of the screen and into the real world. 21. Jenkins User ConferenceSan Francisco, Oct 2nd 2011 The Clicker (1st prototype) 22. Jenkins User Conference San Francisco, Oct 2nd 2011 23. Jenkins User Conference San Francisco, Oct 2nd 2011 Links: JBehave: https://github.com/paul-hammant/jbehave-webdriver-tutorial Selenium:http://seleniumhq.org Bitbeam:http://bitbeam.orghttps://github.com/hugs/bitbeam Sauce Labs:http://saucelabs.com Me (Jason Huggins):http://twitter.com/hugs 24. Jenkins User ConferenceSan Francisco, Oct 2nd 2011 Thank You To Our Sponsors Platinum Sponsor Gold Sponsor Silver Sponsor Bronze Sponsors