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

Extreme Testing with Jenkins and Selenium

  • Upload
    clodia

  • View
    62

  • Download
    0

Embed Size (px)

DESCRIPTION

Extreme Testing with Jenkins and Selenium. Jason Huggins ( @hugs ) CTO, Cofounder - Sauce Labs Inc Creator - Selenium Saucelabs.com. Selenium’s #1, baby!. 2 Extreme Stories. In the cloud In the garage. Mantra:. Parallelizability (p15y) leads to fast software builds. - PowerPoint PPT Presentation

Citation preview

Title of talk

Extreme Testing with Jenkins and SeleniumJason Huggins (@hugs)CTO, Cofounder - Sauce Labs IncCreator - Selenium

Saucelabs.com Jenkins User ConferenceSan Francisco, Oct 2nd 2011Seleniums #1, baby!

Jenkins User ConferenceSan Francisco, Oct 2nd 20112 Extreme StoriesIn the cloudIn the garage Jenkins User ConferenceSan Francisco, Oct 2nd 2011Parallelizability (p15y) leads to fast software builds.Fast builds lead to happy developers.Happy developers lead to happy customers.Mantra: Jenkins User ConferenceSan Francisco, Oct 2nd 2011Q: Want happy customers?A: Use parallel-ready testing tools! Jenkins User ConferenceSan Francisco, Oct 2nd 2011Story #1- Massive testing (in the cloud) Jenkins User ConferenceSan Francisco, Oct 2nd 2011A large domestic airline Jenkins User ConferenceSan Francisco, Oct 2nd 2011Build and test entire site in 20 minutes.(10 min build, 10 min Selenium testing)Massive parallelism Jenkins User ConferenceSan Francisco, Oct 2nd 2011Parallelism x2! Jenkins User ConferenceSan Francisco, Oct 2nd 20111 Jenkins master10 physical slaves10 Virtual IPs per slave100 potential total nodesEach Jenkins executor on client side could generate ~30 threads at Sauce for cloud testing100 x 30 -> 3000 potential parallel threads of test execution. *

* Current use about 30-300 cloud browsers running tests at any give time throughout the entire day.Jenkins Jenkins User ConferenceSan Francisco, Oct 2nd 2011Every story is written with JBehaveJBehave can parallelize each story.JBehave -> regex -> groovy page objects-> java -> Selenium2Each story compiles to an end-to-end full stack + Selenium test run.JBehave Jenkins User ConferenceSan Francisco, Oct 2nd 2011Smoke suiteRegression suiteTeam-specific feature testingplusComponent testsJavaScript unit tests (jasmine)All that... multiplied Jenkins User ConferenceSan Francisco, Oct 2nd 2011ProcessTrunk-based development (aka "Don't break the build!")Branch per releaseAt any given moment, 2 lines (release branch + trunk) are in use.Fixes go to trunk first, then branchFeature toggles (aka "Feature flags")Every jBehave test suite stands up its own app stack for testing. (Amdahl's Law) Jenkins User ConferenceSan Francisco, Oct 2nd 2011Next...Improve reliability, then go for scale and speed Jenkins User ConferenceSan Francisco, Oct 2nd 2011More info about JBehavehttps://github.com/paul-hammant/jbehave-webdriver-tutorial Jenkins User ConferenceSan Francisco, Oct 2nd 2011Story #2 Mobile Testing (with Robots!) Jenkins User ConferenceSan Francisco, Oct 2nd 2011Bitbeambot(http://bitbeam.org)

Jenkins User ConferenceSan Francisco, Oct 2nd 2011

Video Demo(click to start) Jenkins User ConferenceSan Francisco, Oct 2nd 2011BitbeamBot What?A computer-controlled (CNC) robot for testing applications on mobile devicesOpen Source components:Electronics: ArduinoMechanics: BitbeamLego Technic compatible building toyMade from BasswoodDesigned with 3D tool OpenSCADLasercut at TechShop San FranciscoSoftware: Python, Selenium Jenkins User ConferenceSan Francisco, Oct 2nd 2011BitbeamBot - 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. Jenkins User ConferenceSan Francisco, Oct 2nd 2011The Clicker (1st prototype)

Jenkins User ConferenceSan Francisco, Oct 2nd 2011

Jenkins User ConferenceSan Francisco, Oct 2nd 2011Links:JBehave: https://github.com/paul-hammant/jbehave-webdriver-tutorialSelenium: http://seleniumhq.orgBitbeam: http://bitbeam.orghttps://github.com/hugs/bitbeamSauce Labs:http://saucelabs.comMe (Jason Huggins):http://twitter.com/hugs Jenkins User ConferenceSan Francisco, Oct 2nd 2011Thank You To Our Sponsors

PlatinumSponsorGoldSponsorSilverSponsorBronzeSponsors

Jenkins User ConferenceSan Francisco, Oct 2nd 2011