[フレーム]
PPTX, PDF3,730 views

Extreme Testing with Selenium - @hugs at Jenkins User Conference 2011

At the Jenkins User Conference in San Francisco on October 2, 2011, Jason Huggins discussed the benefits of using Jenkins and Selenium for extreme testing. He highlighted the importance of parallelizability in speeding up software builds, showcased a massive testing infrastructure for a large airline, and introduced BitbeamBot for mobile application testing. The session emphasized the use of cloud resources and automation to enhance reliability and efficiency in testing practices.

Embed presentation

Downloaded 107 times
Jenkins User Conference San Francisco, Oct 2nd 2011 Extreme Testing with Jenkins and Selenium Jason Huggins (@hugs) CTO, Cofounder - Sauce Labs Inc Creator - Selenium Saucelabs.com
Jenkins User Conference San Francisco, Oct 2nd 2011 Selenium’s #1, baby!
Jenkins User Conference San Francisco, Oct 2nd 2011 2 Extreme Stories In the cloud In the garage
Jenkins User Conference San Francisco, Oct 2nd 2011 Mantra: • Parallelizability (p15y) leads to fast software builds. • Fast builds lead to happy developers. • Happy developers lead to happy customers.
Jenkins User Conference San Francisco, Oct 2nd 2011 • Q: Want happy customers? • A: Use parallel-ready testing tools!
Jenkins User Conference San Francisco, Oct 2nd 2011 Story #1- Massive testing (in the cloud)
Jenkins User Conference San Francisco, Oct 2nd 2011 A large domestic airline
Jenkins User Conference San Francisco, Oct 2nd 2011 • Build and test entire site in 20 minutes. • (10 min build, 10 min Selenium testing) • Massive parallelism
Jenkins User Conference San Francisco, Oct 2nd 2011 Parallelism x2!
Jenkins User Conference San 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 side couldgenerate ~30 threads at Sauce for cloud testing • 100 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 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 full stack + Selenium test run.
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)
Jenkins User Conference San Francisco, Oct 2nd 2011 Process • Trunk-based development (aka "Don't 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. (Amdahl's Law)
Jenkins User Conference San Francisco, Oct 2nd 2011 Next... • Improve reliability, then go for scale and speed
Jenkins User Conference San Francisco, Oct 2nd 2011 More info about JBehave • https://github.com/paul- hammant/jbehave-webdriver-tutorial
Jenkins User Conference San Francisco, Oct 2nd 2011 Story #2 – Mobile Testing (with Robots!)
Jenkins User Conference San Francisco, Oct 2nd 2011 Bitbeambot (http://bitbeam.org)
Jenkins User Conference San Francisco, Oct 2nd 2011 Video Demo (click to start)
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
Jenkins User Conference San Francisco, Oct 2nd 2011 BitbeamBot - Why? • Selenium is a software-based robot. • Selenium’s 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 Conference San Francisco, Oct 2nd 2011 The "Clicker" (1st prototype)
Jenkins User Conference San Francisco, Oct 2nd 2011
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.org https://github.com/hugs/bitbeam • Sauce Labs: http://saucelabs.com • Me (Jason Huggins): http://twitter.com/hugs
Jenkins User Conference San Francisco, Oct 2nd 2011 Thank You To Our Sponsors Platinum Sponsor Gold Sponsor Silver Sponsor Bronze Sponsors

More Related Content

Smarter ways to do selenium automation @ work, Selenium, automation
PPTX
Smarter ways to do selenium automation @ work, Selenium, automation
Testing with Jenkins, Selenium and Continuous Deployment
KEY
Testing with Jenkins, Selenium and Continuous Deployment
Selenium2 and Jenkins: Almost pain-free UI Testing
PPT
Selenium2 and Jenkins: Almost pain-free UI Testing
Jenkins & Selenium
PDF
Jenkins & Selenium
Java notes
PDF
Selenium (1)
PPT
Selenium (1)
Basics of Selenium IDE,Core, Remote Control
PDF
Basics of Selenium IDE,Core, Remote Control
Mastering selenium for automated acceptance tests
ODP
Mastering selenium for automated acceptance tests
Smarter ways to do selenium automation @ work, Selenium, automation
Smarter ways to do selenium automation @ work, Selenium, automation
Testing with Jenkins, Selenium and Continuous Deployment
Testing with Jenkins, Selenium and Continuous Deployment
Selenium2 and Jenkins: Almost pain-free UI Testing
Selenium2 and Jenkins: Almost pain-free UI Testing
Jenkins & Selenium
Jenkins & Selenium
Java notes
Selenium (1)
Selenium (1)
Basics of Selenium IDE,Core, Remote Control
Basics of Selenium IDE,Core, Remote Control
Mastering selenium for automated acceptance tests
Mastering selenium for automated acceptance tests

What's hot

Selenium
PPTX
Selenium
Selenium
PPT
Selenium
Efficient Automated Test Creation With Selenium IDE Plugins
PDF
Efficient Automated Test Creation With Selenium IDE Plugins
Automated UI testing. Selenium. DrupalCamp Kyiv 2011
ODP
Automated UI testing. Selenium. DrupalCamp Kyiv 2011
Introduction to selenium
PPTX
Introduction to selenium
Selenium IDE Introduction, Installation and Working
PDF
Selenium IDE Introduction, Installation and Working
Selenium webdriver course content rakesh hansalia
DOCX
Selenium webdriver course content rakesh hansalia
Run Selenium Tests With Jenkins and BrowseEmAll
PPTX
Run Selenium Tests With Jenkins and BrowseEmAll
Introduction to Selenium Automation
PDF
Introduction to Selenium Automation
Selenium ppt
PPT
Selenium ppt
From IDE to Selenium 2
ZIP
From IDE to Selenium 2
Automation Testing
PDF
Automation Testing
QSpiders - Automation using Selenium
PPT
QSpiders - Automation using Selenium
An Overview of Selenium
PPTX
An Overview of Selenium
Selenium Automation at Incapsula
PPTX
Selenium Automation at Incapsula
Automated UI testing with Selenium
ODP
Automated UI testing with Selenium
Get Started With Selenium 3 and Selenium 3 Grid
PPTX
Get Started With Selenium 3 and Selenium 3 Grid
Python Testing 101 with Selenium
PDF
Python Testing 101 with Selenium
Automated Web Testing With Selenium
PPTX
Automated Web Testing With Selenium
Selenium Ide Tutorial
PDF
Selenium Ide Tutorial
Selenium
Selenium
Selenium
Selenium
Efficient Automated Test Creation With Selenium IDE Plugins
Efficient Automated Test Creation With Selenium IDE Plugins
Automated UI testing. Selenium. DrupalCamp Kyiv 2011
Automated UI testing. Selenium. DrupalCamp Kyiv 2011
Introduction to selenium
Introduction to selenium
Selenium IDE Introduction, Installation and Working
Selenium IDE Introduction, Installation and Working
Selenium webdriver course content rakesh hansalia
Selenium webdriver course content rakesh hansalia
Run Selenium Tests With Jenkins and BrowseEmAll
Run Selenium Tests With Jenkins and BrowseEmAll
Introduction to Selenium Automation
Introduction to Selenium Automation
Selenium ppt
Selenium ppt
From IDE to Selenium 2
From IDE to Selenium 2
Automation Testing
Automation Testing
QSpiders - Automation using Selenium
QSpiders - Automation using Selenium
An Overview of Selenium
An Overview of Selenium
Selenium Automation at Incapsula
Selenium Automation at Incapsula
Automated UI testing with Selenium
Automated UI testing with Selenium
Get Started With Selenium 3 and Selenium 3 Grid
Get Started With Selenium 3 and Selenium 3 Grid
Python Testing 101 with Selenium
Python Testing 101 with Selenium
Automated Web Testing With Selenium
Automated Web Testing With Selenium
Selenium Ide Tutorial
Selenium Ide Tutorial

Similar to Extreme Testing with Selenium - @hugs at Jenkins User Conference 2011

Testing Salesforce at Cloud Scale
PDF
Testing Salesforce at Cloud Scale
HH.JS - State of the Automation
PDF
HH.JS - State of the Automation
Distributed Testing Environment
PDF
Distributed Testing Environment
Selenium camp v1
PDF
Selenium camp v1
Berlin.JS Meetup
PDF
Berlin.JS Meetup
Jenkins Evolutions - JEEConf 2012
PPTX
Jenkins Evolutions - JEEConf 2012
Selenium at STPCon - Dallas 2011
KEY
Selenium at STPCon - Dallas 2011
byhugs
Designing Top-Class Test Suites for Web Applications
PDF
Designing Top-Class Test Suites for Web Applications
Sel
DOC
Automation Testing by Ashwin Shiv
PPTX
Automation Testing by Ashwin Shiv
Automated Testing and Continuous Integration for Mobile Apps: Jenkins & Cloud...
PPT
Automated Testing and Continuous Integration for Mobile Apps: Jenkins & Cloud...
The challenge - testing the oVirt project
PDF
The challenge - testing the oVirt project
Web Testen mit Selenium
ODP
Web Testen mit Selenium
Selenium practical
PPTX
Selenium practical
Ijetcas14 413
PDF
Ijetcas14 413
Automation Open Source tools
PDF
Automation Open Source tools
Presentation sem 1.pptx
PPTX
Presentation sem 1.pptx
Comprehensive List of Open Source QA Tools
PPTX
Comprehensive List of Open Source QA Tools
How to Set Up Mobile Continuous Integration with Real Devices: CloudBees & SO...
PPT
How to Set Up Mobile Continuous Integration with Real Devices: CloudBees & SO...
Hacking Selenium @ JSConf
PDF
Hacking Selenium @ JSConf
byhugs
Testing Salesforce at Cloud Scale
Testing Salesforce at Cloud Scale
HH.JS - State of the Automation
HH.JS - State of the Automation
Distributed Testing Environment
Distributed Testing Environment
Selenium camp v1
Selenium camp v1
Berlin.JS Meetup
Berlin.JS Meetup
Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012
Selenium at STPCon - Dallas 2011
Selenium at STPCon - Dallas 2011
byhugs
Designing Top-Class Test Suites for Web Applications
Designing Top-Class Test Suites for Web Applications
Sel
Automation Testing by Ashwin Shiv
Automation Testing by Ashwin Shiv
Automated Testing and Continuous Integration for Mobile Apps: Jenkins & Cloud...
Automated Testing and Continuous Integration for Mobile Apps: Jenkins & Cloud...
The challenge - testing the oVirt project
The challenge - testing the oVirt project
Web Testen mit Selenium
Web Testen mit Selenium
Selenium practical
Selenium practical
Ijetcas14 413
Ijetcas14 413
Automation Open Source tools
Automation Open Source tools
Presentation sem 1.pptx
Presentation sem 1.pptx
Comprehensive List of Open Source QA Tools
Comprehensive List of Open Source QA Tools
How to Set Up Mobile Continuous Integration with Real Devices: CloudBees & SO...
How to Set Up Mobile Continuous Integration with Real Devices: CloudBees & SO...
Hacking Selenium @ JSConf
Hacking Selenium @ JSConf
byhugs

More from hugs

Selenium, Appium, and Robots!
PDF
Selenium, Appium, and Robots!
byhugs
Selenium Conf - Robots
PDF
Selenium Conf - Robots
byhugs
selenium-2-mobile-web-testing
PDF
selenium-2-mobile-web-testing
byhugs
PinThing
PDF
PinThing
byhugs
Selenium 2 - PyCon 2011
PDF
Selenium 2 - PyCon 2011
byhugs
The Secret Sauce in the Open Cloud
PDF
The Secret Sauce in the Open Cloud
byhugs
Selenium and Sauce Labs
PDF
Selenium and Sauce Labs
byhugs
Orbison Orb - Pycon 2010
PDF
Orbison Orb - Pycon 2010
byhugs
Node.js - JavaScript Chicago Meetup
PDF
Node.js - JavaScript Chicago Meetup
byhugs
WTFV is the new RTFM
PDF
WTFV is the new RTFM
byhugs
The Future Of Web App Testing and How To Stop It
PDF
The Future Of Web App Testing and How To Stop It
byhugs
Selenium, Appium, and Robots!
Selenium, Appium, and Robots!
byhugs
Selenium Conf - Robots
Selenium Conf - Robots
byhugs
selenium-2-mobile-web-testing
selenium-2-mobile-web-testing
byhugs
PinThing
PinThing
byhugs
Selenium 2 - PyCon 2011
Selenium 2 - PyCon 2011
byhugs
The Secret Sauce in the Open Cloud
The Secret Sauce in the Open Cloud
byhugs
Selenium and Sauce Labs
Selenium and Sauce Labs
byhugs
Orbison Orb - Pycon 2010
Orbison Orb - Pycon 2010
byhugs
Node.js - JavaScript Chicago Meetup
Node.js - JavaScript Chicago Meetup
byhugs
WTFV is the new RTFM
WTFV is the new RTFM
byhugs
The Future Of Web App Testing and How To Stop It
The Future Of Web App Testing and How To Stop It
byhugs

Recently uploaded

Integrating AI with Meaningful Human Collaboration
PDF
Integrating AI with Meaningful Human Collaboration
Nexsan and Vates: Secure, High-Performance Open Virtualization
PDF
Nexsan and Vates: Secure, High-Performance Open Virtualization
CompTIA Cybersecurity Analyst (CySA+) CS0-003: Unit 4
PDF
CompTIA Cybersecurity Analyst (CySA+) CS0-003: Unit 4
Welcome by Uni Systems: Shaping Experiences
PDF
Welcome by Uni Systems: Shaping Experiences
Agentic Intro and Hands-on: Build your first Coded Agent
PDF
Agentic Intro and Hands-on: Build your first Coded Agent
Automating ECommerce Product and Pricing Intelligence Across India’s Top Plat...
PDF
Automating ECommerce Product and Pricing Intelligence Across India’s Top Plat...
System Software_CIE_AS_LEVEL_CS_9618 .pptx
PPTX
System Software_CIE_AS_LEVEL_CS_9618 .pptx
Mulesoft Meetup Online Portuguese: MCP e IA
PDF
Mulesoft Meetup Online Portuguese: MCP e IA
The Beginner-Friendly Guide to Web Scraping with Rust - Unlocking the Power o...
PPTX
The Beginner-Friendly Guide to Web Scraping with Rust - Unlocking the Power o...
[BDD 2025 - Full-Stack Development] Digital Accessibility: Why Developers nee...
PDF
[BDD 2025 - Full-Stack Development] Digital Accessibility: Why Developers nee...
Cybersecurity Prevention and Detection Specialization
PDF
Cybersecurity Prevention and Detection Specialization
Amazon Web Services (AWS) Fundamentals Certificate
PDF
Amazon Web Services (AWS) Fundamentals Certificate
How Cloud Migration Enhances Performance and Reduces Downtime for Digital Pla...
PDF
How Cloud Migration Enhances Performance and Reduces Downtime for Digital Pla...
Formulation and Evaluation of herbal peel off mask gel
PPTX
Formulation and Evaluation of herbal peel off mask gel
LESSON 07 COMPROG.pptx COMPUTER PROGRAMMING
PPTX
LESSON 07 COMPROG.pptx COMPUTER PROGRAMMING
Developing AI Agents in 15 minutes with RAG and MCP
PDF
Developing AI Agents in 15 minutes with RAG and MCP
How to optimise the critical path in multi-phase projects for Orangescrum
PDF
How to optimise the critical path in multi-phase projects for Orangescrum
Cheryl Hung, Vibe Coding Auth Without Melting Down! isaqb Software Architectu...
PDF
Cheryl Hung, Vibe Coding Auth Without Melting Down! isaqb Software Architectu...
Introduction of Python class 9 CDC Nepal.pptx
PPTX
Introduction of Python class 9 CDC Nepal.pptx
Agentic AI Applications Capabilities Framework.pptx
PPTX
Agentic AI Applications Capabilities Framework.pptx
Integrating AI with Meaningful Human Collaboration
Integrating AI with Meaningful Human Collaboration
Nexsan and Vates: Secure, High-Performance Open Virtualization
Nexsan and Vates: Secure, High-Performance Open Virtualization
CompTIA Cybersecurity Analyst (CySA+) CS0-003: Unit 4
CompTIA Cybersecurity Analyst (CySA+) CS0-003: Unit 4
Welcome by Uni Systems: Shaping Experiences
Welcome by Uni Systems: Shaping Experiences
Agentic Intro and Hands-on: Build your first Coded Agent
Agentic Intro and Hands-on: Build your first Coded Agent
Automating ECommerce Product and Pricing Intelligence Across India’s Top Plat...
Automating ECommerce Product and Pricing Intelligence Across India’s Top Plat...
System Software_CIE_AS_LEVEL_CS_9618 .pptx
System Software_CIE_AS_LEVEL_CS_9618 .pptx
Mulesoft Meetup Online Portuguese: MCP e IA
Mulesoft Meetup Online Portuguese: MCP e IA
The Beginner-Friendly Guide to Web Scraping with Rust - Unlocking the Power o...
The Beginner-Friendly Guide to Web Scraping with Rust - Unlocking the Power o...
[BDD 2025 - Full-Stack Development] Digital Accessibility: Why Developers nee...
[BDD 2025 - Full-Stack Development] Digital Accessibility: Why Developers nee...
Cybersecurity Prevention and Detection Specialization
Cybersecurity Prevention and Detection Specialization
Amazon Web Services (AWS) Fundamentals Certificate
Amazon Web Services (AWS) Fundamentals Certificate
How Cloud Migration Enhances Performance and Reduces Downtime for Digital Pla...
How Cloud Migration Enhances Performance and Reduces Downtime for Digital Pla...
Formulation and Evaluation of herbal peel off mask gel
Formulation and Evaluation of herbal peel off mask gel
LESSON 07 COMPROG.pptx COMPUTER PROGRAMMING
LESSON 07 COMPROG.pptx COMPUTER PROGRAMMING
Developing AI Agents in 15 minutes with RAG and MCP
Developing AI Agents in 15 minutes with RAG and MCP
How to optimise the critical path in multi-phase projects for Orangescrum
How to optimise the critical path in multi-phase projects for Orangescrum
Cheryl Hung, Vibe Coding Auth Without Melting Down! isaqb Software Architectu...
Cheryl Hung, Vibe Coding Auth Without Melting Down! isaqb Software Architectu...
Introduction of Python class 9 CDC Nepal.pptx
Introduction of Python class 9 CDC Nepal.pptx
Agentic AI Applications Capabilities Framework.pptx
Agentic AI Applications Capabilities Framework.pptx

Extreme Testing with Selenium - @hugs at Jenkins User Conference 2011

  • 1.
    Jenkins User Conference San Francisco, Oct 2nd 2011 Extreme Testing with Jenkins and Selenium Jason Huggins (@hugs) CTO, Cofounder - Sauce Labs Inc Creator - Selenium Saucelabs.com
  • 2.
    Jenkins User Conference San Francisco, Oct 2nd 2011 Selenium’s #1, baby!
  • 3.
    Jenkins User Conference San Francisco, Oct 2nd 2011 2 Extreme Stories In the cloud In the garage
  • 4.
    Jenkins User Conference San Francisco, Oct 2nd 2011 Mantra: • Parallelizability (p15y) leads to fast software builds. • Fast builds lead to happy developers. • Happy developers lead to happy customers.
  • 5.
    Jenkins User Conference San 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 Conference San 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 Conference San 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 side couldgenerate ~30 threads at Sauce for cloud testing • 100 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.
  • 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 full stack + 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 "Don't 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. (Amdahl's Law)
  • 14.
    Jenkins User Conference San Francisco, Oct 2nd 2011 Next... • Improve reliability, then go for scale and speed
  • 15.
    Jenkins User Conference San 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 2011 Bitbeambot (http://bitbeam.org)
  • 18.
    Jenkins User Conference San Francisco, Oct 2nd 2011 Video 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. • Selenium’s 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 Conference San 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.org https://github.com/hugs/bitbeam • Sauce Labs: http://saucelabs.com • Me (Jason Huggins): http://twitter.com/hugs
  • 24.
    Jenkins User Conference San Francisco, Oct 2nd 2011 Thank You To Our Sponsors Platinum Sponsor Gold Sponsor Silver Sponsor Bronze Sponsors

AltStyle によって変換されたページ (->オリジナル) /