SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
Selenium in the Enterprise
What went right, what went wrong (so far)
                   Noah Sussman
             Selenium Conf 2012, London

             #SEConf • @noahsussman
Our mission is to empower people to change the way
the global economy works. We see a world in which
very-very small businesses have much-much more
sway in shaping the economy, local living economies
are thriving everywhere, and people value authorship
and provenance as much as price and convenience.
We are bringing heart to commerce and making the
world more fair, more sustainable, and more fun.
Chad Dickerson Describes the History of Etsy
The story of how I became a Web hacker
begins with Willoughby Sharp.




                                         Pamela Seymour Smith
1999
Clicking all these links is a waste of my time and it hurts
my wrist. There has got to be some way to tell the
computer to click everything, without my having to
move the mouse.
2000
In 2006, Ben Strawbridge introduced me to Selenium.
2006
Selenium Core was nothing but JavaScript and Markup
If you have to choose between perfecting it and shipping it...




                                                         Kellan Elliott-McCrea
And then the Web exploded.




                             Randall Munroe
In 2007, I led my first large enterprise Web project.

UI team geographically separated from services team.

UI development began months in advance of services.
INTEGRATION HELL
We decoupled the UI from the services layer.

We ensured all the HTML was valid.

We treated the DOM structure as a contract.
UI AS CONTRACT
A frameset wrapped in a proxy server wrapped in an enigma.

Hacking Selenium requires some serious programming chops.
In 2008 I worked on a green field project.

The UI was constantly in flux. I couldn’t keep up.

So I wrote a Perl script that sniffed for invalid response codes.

To my surprise, the script caught a lot of bugs.

It was the simplest thing that could possibly work.
Detectable errors tend not to be subtle.
In 2009 I worked on several large enterprise projects.
Hundreds of tests in HTML files

Took all day to run by hand

Enormous maintenance cost

No automation

No visibility
Various attempts were made to convert manual QA
steps into automated tests.

Attempts were made to test deep and subtle aspects of
the application.
In the end, I wrote a few small tests for the critical path.

It was the simplest thing that could possibly work.
“What did it just do?”

“Why does it say Element Not Found?”

“Isn’t this going to fail next time we update the UI?”
iOS Functional Testing in 2009.

Automation frameworks barely existed.

All I could provide were crash tests.

The crash tests were very helpful to the QA team.

It was the simplest thing that could possibly work.
A Brief History of the Etsy CI System

Lots of functional tests, some unit tests.

Expensive, slow fixtures.

Written in Python but the stack is PHP.
The Etsy CI System Today

Functional tests mostly replaced with Nagios + StatsD.

Remaining functional tests rewritten in Behat + Mink.

We made it really easy to write unit tests.
We can rapidly detect and fix problems in production.
Every Etsy admin gets to help with testing and debugging.
Maintaining a large functional test suite is hard.

Interpreting the results of functional tests is an art.

Often a simple solution is all you need.
Being able to move fast is more important than
being able to prove you are safe from failure.

Failure is inevitable. Recovery is what matters.
First, do the simplest thing that can possibly work.

That’s probably all you need.
etsy.com/careers   @noahsussman




                           Mashable Cubicle Spy

Mais conteúdo relacionado

Mais procurados

cengiz kılavuz-135061-civil engineering
cengiz kılavuz-135061-civil engineeringcengiz kılavuz-135061-civil engineering
cengiz kılavuz-135061-civil engineeringcengiz klavuz
 
모글루_모바일 창투 이렇게 이끌었다
모글루_모바일 창투 이렇게 이끌었다모글루_모바일 창투 이렇게 이끌었다
모글루_모바일 창투 이렇게 이끌었다VentureSquare
 
Alexis Ohanian talk in Edinburgh: Starting An Internet Venture
Alexis Ohanian talk in Edinburgh: Starting An Internet VentureAlexis Ohanian talk in Edinburgh: Starting An Internet Venture
Alexis Ohanian talk in Edinburgh: Starting An Internet VentureAlexis Ohanian
 
VentBox Web 2.0 PowerPoint
VentBox Web 2.0 PowerPointVentBox Web 2.0 PowerPoint
VentBox Web 2.0 PowerPointNate Westheimer
 
Full Circle Back to Freelance
Full Circle Back to FreelanceFull Circle Back to Freelance
Full Circle Back to FreelanceJim Jeffers
 
Embracing Friction - Zoltan Kollin
Embracing Friction - Zoltan KollinEmbracing Friction - Zoltan Kollin
Embracing Friction - Zoltan KollinZoltan Kollin
 
WordPress for Charity by Victor Boit
WordPress for Charity  by Victor BoitWordPress for Charity  by Victor Boit
WordPress for Charity by Victor Boitnairobiwordcamp
 
Remote Project Management WordCamp OC 2018
Remote Project Management WordCamp OC 2018Remote Project Management WordCamp OC 2018
Remote Project Management WordCamp OC 2018Jamie Schmid
 
Microservices
MicroservicesMicroservices
Microservicesrouanw
 
Responsive Web Time Machine 2
Responsive Web Time Machine 2Responsive Web Time Machine 2
Responsive Web Time Machine 2bootnumlock
 
Simplicity & Value Creation
Simplicity & Value CreationSimplicity & Value Creation
Simplicity & Value CreationLeonardo Neves
 

Mais procurados (13)

cengiz kılavuz-135061-civil engineering
cengiz kılavuz-135061-civil engineeringcengiz kılavuz-135061-civil engineering
cengiz kılavuz-135061-civil engineering
 
모글루_모바일 창투 이렇게 이끌었다
모글루_모바일 창투 이렇게 이끌었다모글루_모바일 창투 이렇게 이끌었다
모글루_모바일 창투 이렇게 이끌었다
 
Alexis Ohanian talk in Edinburgh: Starting An Internet Venture
Alexis Ohanian talk in Edinburgh: Starting An Internet VentureAlexis Ohanian talk in Edinburgh: Starting An Internet Venture
Alexis Ohanian talk in Edinburgh: Starting An Internet Venture
 
VentBox Web 2.0 PowerPoint
VentBox Web 2.0 PowerPointVentBox Web 2.0 PowerPoint
VentBox Web 2.0 PowerPoint
 
Full Circle Back to Freelance
Full Circle Back to FreelanceFull Circle Back to Freelance
Full Circle Back to Freelance
 
Embracing Friction - Zoltan Kollin
Embracing Friction - Zoltan KollinEmbracing Friction - Zoltan Kollin
Embracing Friction - Zoltan Kollin
 
WordPress for Charity by Victor Boit
WordPress for Charity  by Victor BoitWordPress for Charity  by Victor Boit
WordPress for Charity by Victor Boit
 
Remote Project Management WordCamp OC 2018
Remote Project Management WordCamp OC 2018Remote Project Management WordCamp OC 2018
Remote Project Management WordCamp OC 2018
 
Microservices
MicroservicesMicroservices
Microservices
 
Under armour i will
Under armour i willUnder armour i will
Under armour i will
 
Top 7 Home Based Jobs
Top 7 Home Based JobsTop 7 Home Based Jobs
Top 7 Home Based Jobs
 
Responsive Web Time Machine 2
Responsive Web Time Machine 2Responsive Web Time Machine 2
Responsive Web Time Machine 2
 
Simplicity & Value Creation
Simplicity & Value CreationSimplicity & Value Creation
Simplicity & Value Creation
 

Destaque

xUnit Style Database Testing
xUnit Style Database TestingxUnit Style Database Testing
xUnit Style Database TestingChris Oldwood
 
xUnit Test Patterns - Chapter19
xUnit Test Patterns - Chapter19xUnit Test Patterns - Chapter19
xUnit Test Patterns - Chapter19Takuto Wada
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012Justin Gordon
 
Test Automation Principles
Test Automation PrinciplesTest Automation Principles
Test Automation PrinciplesNetSuite
 
Developer testing 101: Become a Testing Fanatic
Developer testing 101: Become a Testing FanaticDeveloper testing 101: Become a Testing Fanatic
Developer testing 101: Become a Testing FanaticLB Denker
 

Destaque (6)

xUnit Style Database Testing
xUnit Style Database TestingxUnit Style Database Testing
xUnit Style Database Testing
 
xUnit Test Patterns - Chapter19
xUnit Test Patterns - Chapter19xUnit Test Patterns - Chapter19
xUnit Test Patterns - Chapter19
 
xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012xUnit and TDD: Why and How in Enterprise Software, August 2012
xUnit and TDD: Why and How in Enterprise Software, August 2012
 
Test Automation Principles
Test Automation PrinciplesTest Automation Principles
Test Automation Principles
 
Developer testing 101: Become a Testing Fanatic
Developer testing 101: Become a Testing FanaticDeveloper testing 101: Become a Testing Fanatic
Developer testing 101: Become a Testing Fanatic
 
xUnit
xUnitxUnit
xUnit
 

Semelhante a Selenium in the enterprise what went right and what went wrong so far - selenium conf 2012 london

The Path to Business Agility for Vodafone: How Amazon made us "boring" - Sess...
The Path to Business Agility for Vodafone: How Amazon made us "boring" - Sess...The Path to Business Agility for Vodafone: How Amazon made us "boring" - Sess...
The Path to Business Agility for Vodafone: How Amazon made us "boring" - Sess...Amazon Web Services
 
Adventures with Microservices
Adventures with MicroservicesAdventures with Microservices
Adventures with MicroservicesAnand Agrawal
 
AWS Summit Melbourne 2014 | The Path to Business Agility for Vodafone: How Am...
AWS Summit Melbourne 2014 | The Path to Business Agility for Vodafone: How Am...AWS Summit Melbourne 2014 | The Path to Business Agility for Vodafone: How Am...
AWS Summit Melbourne 2014 | The Path to Business Agility for Vodafone: How Am...DiUS
 
Awesome Windows Phone Development (Aberdeen)
Awesome Windows Phone Development (Aberdeen)Awesome Windows Phone Development (Aberdeen)
Awesome Windows Phone Development (Aberdeen)Matt Lacey
 
iOS Testing With Appium at Gilt
iOS Testing With Appium at GiltiOS Testing With Appium at Gilt
iOS Testing With Appium at GiltGilt Tech Talks
 
Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Christian Heilmann
 
Microservices rubyconf-2013
Microservices rubyconf-2013Microservices rubyconf-2013
Microservices rubyconf-2013Mohit Thatte
 
Using Customer Development to get Traction in a Crowded Space
Using Customer Development to get Traction in a Crowded SpaceUsing Customer Development to get Traction in a Crowded Space
Using Customer Development to get Traction in a Crowded SpaceOutlyer
 
Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)David Benjamin
 
Aufbau von agilen und effizienten IT Organisationen mit DevOps
Aufbau von agilen und effizienten IT Organisationen mit DevOpsAufbau von agilen und effizienten IT Organisationen mit DevOps
Aufbau von agilen und effizienten IT Organisationen mit DevOpsAWS Germany
 
Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05guestaa42e9
 
Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05Guang Ying Yuan
 
AWS Summit Sydney 2014 | The Path to Business Agility for Vodafone: How Amazo...
AWS Summit Sydney 2014 | The Path to Business Agility for Vodafone: How Amazo...AWS Summit Sydney 2014 | The Path to Business Agility for Vodafone: How Amazo...
AWS Summit Sydney 2014 | The Path to Business Agility for Vodafone: How Amazo...Amazon Web Services
 
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.02014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0Joakim Lindbom
 
From 🤦 to 🐿️
From 🤦 to 🐿️From 🤦 to 🐿️
From 🤦 to 🐿️Ori Pekelman
 
devops, microservices, and platforms, oh my!
devops, microservices, and platforms, oh my!devops, microservices, and platforms, oh my!
devops, microservices, and platforms, oh my!Andrew Shafer
 
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!VMware Tanzu
 
Startup Saturday: Mobilliance 2013 Telerik presentation
Startup Saturday: Mobilliance 2013 Telerik presentationStartup Saturday: Mobilliance 2013 Telerik presentation
Startup Saturday: Mobilliance 2013 Telerik presentationCasey Lau
 

Semelhante a Selenium in the enterprise what went right and what went wrong so far - selenium conf 2012 london (20)

The Path to Business Agility for Vodafone: How Amazon made us "boring" - Sess...
The Path to Business Agility for Vodafone: How Amazon made us "boring" - Sess...The Path to Business Agility for Vodafone: How Amazon made us "boring" - Sess...
The Path to Business Agility for Vodafone: How Amazon made us "boring" - Sess...
 
Adventures with Microservices
Adventures with MicroservicesAdventures with Microservices
Adventures with Microservices
 
Micro services
Micro servicesMicro services
Micro services
 
AWS Summit Melbourne 2014 | The Path to Business Agility for Vodafone: How Am...
AWS Summit Melbourne 2014 | The Path to Business Agility for Vodafone: How Am...AWS Summit Melbourne 2014 | The Path to Business Agility for Vodafone: How Am...
AWS Summit Melbourne 2014 | The Path to Business Agility for Vodafone: How Am...
 
Awesome Windows Phone Development (Aberdeen)
Awesome Windows Phone Development (Aberdeen)Awesome Windows Phone Development (Aberdeen)
Awesome Windows Phone Development (Aberdeen)
 
iOS Testing With Appium at Gilt
iOS Testing With Appium at GiltiOS Testing With Appium at Gilt
iOS Testing With Appium at Gilt
 
Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015Of innovation and impatience - Future Decoded 2015
Of innovation and impatience - Future Decoded 2015
 
Microservices rubyconf-2013
Microservices rubyconf-2013Microservices rubyconf-2013
Microservices rubyconf-2013
 
Using Customer Development to get Traction in a Crowded Space
Using Customer Development to get Traction in a Crowded SpaceUsing Customer Development to get Traction in a Crowded Space
Using Customer Development to get Traction in a Crowded Space
 
Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)Agile Development Overview (with a bit about builds)
Agile Development Overview (with a bit about builds)
 
Aufbau von agilen und effizienten IT Organisationen mit DevOps
Aufbau von agilen und effizienten IT Organisationen mit DevOpsAufbau von agilen und effizienten IT Organisationen mit DevOps
Aufbau von agilen und effizienten IT Organisationen mit DevOps
 
Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05
 
Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05
 
AWS Summit Sydney 2014 | The Path to Business Agility for Vodafone: How Amazo...
AWS Summit Sydney 2014 | The Path to Business Agility for Vodafone: How Amazo...AWS Summit Sydney 2014 | The Path to Business Agility for Vodafone: How Amazo...
AWS Summit Sydney 2014 | The Path to Business Agility for Vodafone: How Amazo...
 
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.02014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
 
why agile?
why agile?why agile?
why agile?
 
From 🤦 to 🐿️
From 🤦 to 🐿️From 🤦 to 🐿️
From 🤦 to 🐿️
 
devops, microservices, and platforms, oh my!
devops, microservices, and platforms, oh my!devops, microservices, and platforms, oh my!
devops, microservices, and platforms, oh my!
 
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
 
Startup Saturday: Mobilliance 2013 Telerik presentation
Startup Saturday: Mobilliance 2013 Telerik presentationStartup Saturday: Mobilliance 2013 Telerik presentation
Startup Saturday: Mobilliance 2013 Telerik presentation
 

Mais de Noah Sussman

The Invisible Art Of Software Testing
The Invisible Art Of Software TestingThe Invisible Art Of Software Testing
The Invisible Art Of Software TestingNoah Sussman
 
Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014Noah Sussman
 
JavaScript Static Analysis Tools and Techniques - STP Online Session 2013
JavaScript Static Analysis Tools and Techniques - STP Online Session 2013JavaScript Static Analysis Tools and Techniques - STP Online Session 2013
JavaScript Static Analysis Tools and Techniques - STP Online Session 2013Noah Sussman
 
Continuous Improvement (GroupOn, Palo Alto 2013)
Continuous Improvement (GroupOn, Palo Alto 2013)Continuous Improvement (GroupOn, Palo Alto 2013)
Continuous Improvement (GroupOn, Palo Alto 2013)Noah Sussman
 
Jenkins data mining on the command line - Jenkins User Conference NYC 2012
Jenkins data mining on the command line - Jenkins User Conference NYC 2012Jenkins data mining on the command line - Jenkins User Conference NYC 2012
Jenkins data mining on the command line - Jenkins User Conference NYC 2012Noah Sussman
 
The user experience of CI systems - Penguicon 2012
The user experience of CI systems - Penguicon 2012The user experience of CI systems - Penguicon 2012
The user experience of CI systems - Penguicon 2012Noah Sussman
 
Software Entomology or Where Do Bugs Come From?
Software Entomology or Where Do Bugs Come From?Software Entomology or Where Do Bugs Come From?
Software Entomology or Where Do Bugs Come From?Noah Sussman
 
Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011
Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011
Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011Noah Sussman
 

Mais de Noah Sussman (9)

The Invisible Art Of Software Testing
The Invisible Art Of Software TestingThe Invisible Art Of Software Testing
The Invisible Art Of Software Testing
 
Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014Continuous Automated Testing - Cast conference workshop august 2014
Continuous Automated Testing - Cast conference workshop august 2014
 
JavaScript Static Analysis Tools and Techniques - STP Online Session 2013
JavaScript Static Analysis Tools and Techniques - STP Online Session 2013JavaScript Static Analysis Tools and Techniques - STP Online Session 2013
JavaScript Static Analysis Tools and Techniques - STP Online Session 2013
 
Continuous Improvement (GroupOn, Palo Alto 2013)
Continuous Improvement (GroupOn, Palo Alto 2013)Continuous Improvement (GroupOn, Palo Alto 2013)
Continuous Improvement (GroupOn, Palo Alto 2013)
 
Jenkins data mining on the command line - Jenkins User Conference NYC 2012
Jenkins data mining on the command line - Jenkins User Conference NYC 2012Jenkins data mining on the command line - Jenkins User Conference NYC 2012
Jenkins data mining on the command line - Jenkins User Conference NYC 2012
 
The user experience of CI systems - Penguicon 2012
The user experience of CI systems - Penguicon 2012The user experience of CI systems - Penguicon 2012
The user experience of CI systems - Penguicon 2012
 
Software Entomology or Where Do Bugs Come From?
Software Entomology or Where Do Bugs Come From?Software Entomology or Where Do Bugs Come From?
Software Entomology or Where Do Bugs Come From?
 
Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011
Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011
Fast and Good: Alternate Approaches to Quality at Etsy - STPCon fall 2011
 
Scaling Selenium
Scaling SeleniumScaling Selenium
Scaling Selenium
 

Último

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Último (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Selenium in the enterprise what went right and what went wrong so far - selenium conf 2012 london

  • 1. Selenium in the Enterprise What went right, what went wrong (so far) Noah Sussman Selenium Conf 2012, London #SEConf • @noahsussman
  • 2. Our mission is to empower people to change the way the global economy works. We see a world in which very-very small businesses have much-much more sway in shaping the economy, local living economies are thriving everywhere, and people value authorship and provenance as much as price and convenience. We are bringing heart to commerce and making the world more fair, more sustainable, and more fun.
  • 3. Chad Dickerson Describes the History of Etsy
  • 4. The story of how I became a Web hacker begins with Willoughby Sharp. Pamela Seymour Smith
  • 6. Clicking all these links is a waste of my time and it hurts my wrist. There has got to be some way to tell the computer to click everything, without my having to move the mouse.
  • 8. In 2006, Ben Strawbridge introduced me to Selenium.
  • 10. Selenium Core was nothing but JavaScript and Markup
  • 11. If you have to choose between perfecting it and shipping it... Kellan Elliott-McCrea
  • 12. And then the Web exploded. Randall Munroe
  • 13. In 2007, I led my first large enterprise Web project. UI team geographically separated from services team. UI development began months in advance of services.
  • 15. We decoupled the UI from the services layer. We ensured all the HTML was valid. We treated the DOM structure as a contract.
  • 17. A frameset wrapped in a proxy server wrapped in an enigma. Hacking Selenium requires some serious programming chops.
  • 18. In 2008 I worked on a green field project. The UI was constantly in flux. I couldn’t keep up. So I wrote a Perl script that sniffed for invalid response codes. To my surprise, the script caught a lot of bugs. It was the simplest thing that could possibly work.
  • 19. Detectable errors tend not to be subtle.
  • 20. In 2009 I worked on several large enterprise projects.
  • 21. Hundreds of tests in HTML files Took all day to run by hand Enormous maintenance cost No automation No visibility
  • 22. Various attempts were made to convert manual QA steps into automated tests. Attempts were made to test deep and subtle aspects of the application.
  • 23. In the end, I wrote a few small tests for the critical path. It was the simplest thing that could possibly work.
  • 24. “What did it just do?” “Why does it say Element Not Found?” “Isn’t this going to fail next time we update the UI?”
  • 25. iOS Functional Testing in 2009. Automation frameworks barely existed. All I could provide were crash tests. The crash tests were very helpful to the QA team. It was the simplest thing that could possibly work.
  • 26. A Brief History of the Etsy CI System Lots of functional tests, some unit tests. Expensive, slow fixtures. Written in Python but the stack is PHP.
  • 27.
  • 28. The Etsy CI System Today Functional tests mostly replaced with Nagios + StatsD. Remaining functional tests rewritten in Behat + Mink. We made it really easy to write unit tests.
  • 29. We can rapidly detect and fix problems in production.
  • 30. Every Etsy admin gets to help with testing and debugging.
  • 31.
  • 32. Maintaining a large functional test suite is hard. Interpreting the results of functional tests is an art. Often a simple solution is all you need.
  • 33. Being able to move fast is more important than being able to prove you are safe from failure. Failure is inevitable. Recovery is what matters.
  • 34. First, do the simplest thing that can possibly work. That’s probably all you need.
  • 35. etsy.com/careers @noahsussman Mashable Cubicle Spy