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 05Guang Ying Yuan
 
Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05guestaa42e9
 
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
 
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
 
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
 
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 🐿️
 
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!
 
devops, microservices, and platforms, oh my!
devops, microservices, and platforms, oh my!devops, microservices, and platforms, oh my!
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

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 

Último (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 

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