SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
Christopher Hoey

  ■ Senior IT Manager - Wireless Generation

  ■ Started in QA

  ■ Switched over to Operations

  ■ Selenium abuser since 2006

  ■ Got to see the Selenium vs Webdriver Cage Fight live
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Thanks!
Ashley Wilson
Lindsey Baron
Sauce Labs
Conductor
NYC Metro Selenium Users


Selenium Developers

Jmeter Developers


                             Founded 12/14/06   Closed 07/16/09

 Dev + Ops = DevOps --> QA + Ops = QAOps
 NYC Metro Selenium Users Meetup
 March 15, 2012
Show of hands

       Numbers collected and updated before sharing slides

      About 35 attended and participated in informal poll




Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - primary job title




  Quality Assurance ?
           12
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - primary job title




                   Developer ?
                      10
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - primary job title




                  Operations ?
                      5
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - experience with Selenium




        Have not used it?
                5
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - experience with Selenium



             Tried Selenium
                  IDE?
                    8
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - experience with Selenium



   Mastered Selenium
         IDE?
           1
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - experience with Selenium



            Tried Selenium
            RC/Webdriver?
                   13
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - experience with Selenium



   Mastered Selenium
    RC/Webdriver?
           6
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - experience with Selenium



    Selenium tied to CI
      build system?
             10
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - experience with Selenium



              Running a
            Selenium Grid?
                   7
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - use of Selenium



     Functional Testing
      New Features?
             9
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - use of Selenium



                     Regression
                      Testing?
                        10
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - use of Selenium


                    Load/Stress
                    Testing?              really?




                        1
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - use of Selenium



              Benchmarking
              Performance?
                    1
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - use of Selenium



         Automating Data
             Entry?
                1
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - use of Selenium



                Monitoring for
                Operations?
                      1
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Show of hands - use of Selenium

        Something Strange?

                                                2
                                          Filling out forms to renew trial licenses when expired
                                          Running build jobs for a build tool that does not have a cli
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Dev + Ops = DevOps --> QA + Ops = QAOps


                            Disclaimers
                            Not a talk about best practices

                            Forcing Selenium to do things not originally intended

                            A lot of talk about Selenium IDE

                            QAOps term kind of meant as a joke but might have meaning?

                            Times have changed, tools improved and storms have passed




Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
About Wireless Generation

   ●   Create tools that make teacher's jobs easier

   ●   Primarily focused around assessment and reporting apps

   ●   Mix of mature code/platforms and new development projects

   ●   Experiencing rapid growth year over year




Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Going MacGyver in early days of Ops
 Faith in monitors pretty low

 Manual configuration management

 Serious bugs in third party tools

 Large increases in user traffic

 Lots of new projects to juggle while
 keeping existing work online

 Sysadmins manually checking site =(

 Reuse anything that helps!


 Selenium to the rescue!
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Suites of Smoke Tests for Operations
  ●   Use Selenium IDE so anyone in Operations with Firefox can use

  ●   Suites are happy path smoke tests that are not brittle

  ●   Focus on touching all moving parts of infrastructure

  ●   All suites can run with any username

  ●   All suites can run on any environment

  ●   Sysadmins running Selenium tests -- still done manually =/



Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Suites for Operations



                               DEMO
                               TIME
                             Removing brittleness from Selenium
                             IDE tests against a site with difficult
                                           locators




Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Suites for Operations - DEMO TIME
 All we really want to know is if we threw any errors while loading pages that touch on all parts of our
 platform.

 Two simple regex searches for every page gets us the desired minimal coverage




  Yes that looks way too simple but it did the job very well.

  These tests started finding issues before our customers did.

  Confidence increased dramatically!




Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Suites for Operations - DEMO TIME
 https://zzz.yyy.net/wgen/tpri/LoadTpriClasseSummary.do?
 ppkDefaultVersionId=7&ppkPeriodId=20&ppkClassId=550987013&ppkCompetencyDisplayId=1&ppkInstI
 d=33645685&ppkSchoolGroupId...
 We know the starting URL pattern.

 The rest of the URL is really dynamic and the page locators that happen to be available are not Selenium
 friendly. We could use XPath but that has proven to be really brittle for us.

 Solution - Store the html source and use storeEval with a regex to find the correct link every time




Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Automation - judges.py
   ■   Headless Selenium servers

   ■   Suites of tests for each production webapp using
       smoke tests

   ■   Run through suites serially in a never ending loop

   ■   Any failure in suites marks the status as failed for
       that server

   ■   Look at each servers total result time running the
       suite based on thresholds

   ■   Running helps see what server is currently being
       tested
   ■   Results projected on wall in Ops area


Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
We have a fundamental problem




              Sysadmins                   Customers

Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Solution - Any browser any platform


         Bromine

         Grid
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Loadtesting Selenium vs JMeter




   ●   Lots of start up overhead             ●   Loads quickly

   ●   ~30 concurrent sessions before        ●   ~300 concurrent sessions before
       strange things happen                     strange things happen

   ●   Lots of requirements / coordination   ●   Java and a jar, headless is easy
       headless is a hack


Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Loadtesting with JMeter
                                   Queries to find
                                  interesting users


Selenium Scripts IN
                            Scripts to replace variables
                                for Selenium suites



                            Playback Selenium scripts
                              through JMeter proxy

                                                           JMeter Scripts OUT

Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Loadtesting with JMeter



                              DEMO
                              TIME
                             Setting up jmeter as a proxy
                                recorder for Selenium
                                      playback



Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Loadtesting with JMeter - DEMO TIME




                   Start JMeter and create a new basic WorkBench
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Loadtesting with JMeter - DEMO TIME




          Add an HTTP Proxy Server: Edit -> Add -> Non-Test Elements -> HTTP Proxy Server
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Loadtesting with JMeter - DEMO TIME




   Set your port, any record filters of what to include or exclude and click start to fire up the proxy
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Loadtesting with JMeter - DEMO TIME




   Set Firefox network settings to use localhost and the port you configured JMeter proxy to use
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Loadtesting with JMeter - DEMO TIME




   Playback your tests using Selenium and watch as JMeter records the hits
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Loadtesting with JMeter - DEMO TIME




   Add a thread group by right clicking Test Plan -> Add -> Threads -> Thread Group
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Loadtesting with JMeter - DEMO TIME




   Name your thread group, pick how many threads you want, ramp up time and how many loops
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Loadtesting with JMeter - DEMO TIME




                       Run your tests and set servers ablaze. Run -> Start

Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Finding hard bugs




             Uh oh! Just throwing more memory at the problem will not solve this!
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Finding hard bugs




 Did we see this in the environments below Production? Not very noticeable unless looking hard for it.
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Finding hard bugs




Ramping up JMeter threads of a specific user in an endless loop reproduces issue in every environment
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Dashboard Setup?




  Use Selenium to login and navigate to your various dashboards for TV's and sharing with teams.
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
QAOps?




                                                       A lot of quick wins can
                                                       be made here.


Getting most of the focus these days.
Certainly best of all worlds coming
together. Takes a while to be a good          Selenium IDE makes it trivial
practitioner based on tech debt | servers |   for Ops to start running and
timeboxes | complexity | culture              developing tests



Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Questions?

              We are hiring!
               http://www.wirelessgeneration.com
Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Picture Credits
            http://uploads.neatorama.com/wp-content/uploads/2010/06/macgyver.jpg



             http://www.packagingsuppliesbymail.com/images/C/Duct%20Tape.jpg



             http://www.russpainter.com/shop/images/clip.jpg




             http://g-ecx.images-amazon.com/images/G/01/stores/sport-goods/1209-huntsman.jpg




             http://www.agilegeoscience.com/storage/post-images/python-logo-small.png?
             __SQUARESPACE_CACHEVERSION=1316752792052




Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Picture Credits
             http://www.pptbackground.net/plog-content/images/powerpoint/education-backgrounds/raising-hands-
             together-powerpoint-backgrounds.jpg


              http://seleniumhq.org/images/selenium-ide-logo.png



             http://upload.wikimedia.org/wikipedia/en/0/07/Jakarta_jmeter_logo.jpg




             http://cdn.babble.com/momcrunch/files/2012/02/SauceLabs_Logo_Vert_150px.gif




             http://gigaom2.files.wordpress.com/2011/01/firefox-ie.png




Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Picture Credits
            http://3.bp.blogspot.com/_t5Xqp0AYeg4/S74FdH-SO-I/AAAAAAAAAOU/OlMrI9m8VIE/s320/smileyface1.jpg



             http://blogs.babycenter.com/wp-content/uploads/2008/02/crying-face.jpg



             http://www.portlandmercury.com/imager/dr-strangelove/b/original/3791589/80b9/mwbw-drstrangelove.jpg




             http://stylreesta.files.wordpress.com/2011/07/caution_big.png




             http://en.wikipedia.org/wiki/File:Devops.png




Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012
Picture Credits
            http://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Tux.png/220px-Tux.png



             http://www.wisedatasecurity.com/imagenes/ie-8.jpg



             http://seleniumhq.org/images/selenium-grid-logo.png




             http://www.studiosysadmins.com/site_media/attachments.
             gallery/2009/05/12/ServerRoomFireWeb.jpg



             http://blogs.splunk.com/wp-content/uploads/2010/02/Picture-65.png




Dev + Ops = DevOps --> QA + Ops = QAOps
NYC Metro Selenium Users Meetup
March 15, 2012

Weitere ähnliche Inhalte

Kürzlich hochgeladen

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Kürzlich hochgeladen (20)

Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
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
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Empfohlen

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Empfohlen (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

QaOps - NYC Selenium Users Meetup - 03/15/12

  • 1. Christopher Hoey ■ Senior IT Manager - Wireless Generation ■ Started in QA ■ Switched over to Operations ■ Selenium abuser since 2006 ■ Got to see the Selenium vs Webdriver Cage Fight live Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 2. Thanks! Ashley Wilson Lindsey Baron Sauce Labs Conductor NYC Metro Selenium Users Selenium Developers Jmeter Developers Founded 12/14/06 Closed 07/16/09 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 3. Show of hands Numbers collected and updated before sharing slides About 35 attended and participated in informal poll Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 4. Show of hands - primary job title Quality Assurance ? 12 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 5. Show of hands - primary job title Developer ? 10 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 6. Show of hands - primary job title Operations ? 5 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 7. Show of hands - experience with Selenium Have not used it? 5 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 8. Show of hands - experience with Selenium Tried Selenium IDE? 8 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 9. Show of hands - experience with Selenium Mastered Selenium IDE? 1 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 10. Show of hands - experience with Selenium Tried Selenium RC/Webdriver? 13 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 11. Show of hands - experience with Selenium Mastered Selenium RC/Webdriver? 6 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 12. Show of hands - experience with Selenium Selenium tied to CI build system? 10 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 13. Show of hands - experience with Selenium Running a Selenium Grid? 7 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 14. Show of hands - use of Selenium Functional Testing New Features? 9 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 15. Show of hands - use of Selenium Regression Testing? 10 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 16. Show of hands - use of Selenium Load/Stress Testing? really? 1 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 17. Show of hands - use of Selenium Benchmarking Performance? 1 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 18. Show of hands - use of Selenium Automating Data Entry? 1 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 19. Show of hands - use of Selenium Monitoring for Operations? 1 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 20. Show of hands - use of Selenium Something Strange? 2 Filling out forms to renew trial licenses when expired Running build jobs for a build tool that does not have a cli Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 21. Dev + Ops = DevOps --> QA + Ops = QAOps Disclaimers Not a talk about best practices Forcing Selenium to do things not originally intended A lot of talk about Selenium IDE QAOps term kind of meant as a joke but might have meaning? Times have changed, tools improved and storms have passed Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 22. About Wireless Generation ● Create tools that make teacher's jobs easier ● Primarily focused around assessment and reporting apps ● Mix of mature code/platforms and new development projects ● Experiencing rapid growth year over year Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 23. Going MacGyver in early days of Ops Faith in monitors pretty low Manual configuration management Serious bugs in third party tools Large increases in user traffic Lots of new projects to juggle while keeping existing work online Sysadmins manually checking site =( Reuse anything that helps! Selenium to the rescue! Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 24. Suites of Smoke Tests for Operations ● Use Selenium IDE so anyone in Operations with Firefox can use ● Suites are happy path smoke tests that are not brittle ● Focus on touching all moving parts of infrastructure ● All suites can run with any username ● All suites can run on any environment ● Sysadmins running Selenium tests -- still done manually =/ Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 25. Suites for Operations DEMO TIME Removing brittleness from Selenium IDE tests against a site with difficult locators Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 26. Suites for Operations - DEMO TIME All we really want to know is if we threw any errors while loading pages that touch on all parts of our platform. Two simple regex searches for every page gets us the desired minimal coverage Yes that looks way too simple but it did the job very well. These tests started finding issues before our customers did. Confidence increased dramatically! Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 27. Suites for Operations - DEMO TIME https://zzz.yyy.net/wgen/tpri/LoadTpriClasseSummary.do? ppkDefaultVersionId=7&ppkPeriodId=20&ppkClassId=550987013&ppkCompetencyDisplayId=1&ppkInstI d=33645685&ppkSchoolGroupId... We know the starting URL pattern. The rest of the URL is really dynamic and the page locators that happen to be available are not Selenium friendly. We could use XPath but that has proven to be really brittle for us. Solution - Store the html source and use storeEval with a regex to find the correct link every time Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 28. Automation - judges.py ■ Headless Selenium servers ■ Suites of tests for each production webapp using smoke tests ■ Run through suites serially in a never ending loop ■ Any failure in suites marks the status as failed for that server ■ Look at each servers total result time running the suite based on thresholds ■ Running helps see what server is currently being tested ■ Results projected on wall in Ops area Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 29. We have a fundamental problem Sysadmins Customers Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 30. Solution - Any browser any platform Bromine Grid Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 31. Loadtesting Selenium vs JMeter ● Lots of start up overhead ● Loads quickly ● ~30 concurrent sessions before ● ~300 concurrent sessions before strange things happen strange things happen ● Lots of requirements / coordination ● Java and a jar, headless is easy headless is a hack Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 32. Loadtesting with JMeter Queries to find interesting users Selenium Scripts IN Scripts to replace variables for Selenium suites Playback Selenium scripts through JMeter proxy JMeter Scripts OUT Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 33. Loadtesting with JMeter DEMO TIME Setting up jmeter as a proxy recorder for Selenium playback Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 34. Loadtesting with JMeter - DEMO TIME Start JMeter and create a new basic WorkBench Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 35. Loadtesting with JMeter - DEMO TIME Add an HTTP Proxy Server: Edit -> Add -> Non-Test Elements -> HTTP Proxy Server Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 36. Loadtesting with JMeter - DEMO TIME Set your port, any record filters of what to include or exclude and click start to fire up the proxy Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 37. Loadtesting with JMeter - DEMO TIME Set Firefox network settings to use localhost and the port you configured JMeter proxy to use Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 38. Loadtesting with JMeter - DEMO TIME Playback your tests using Selenium and watch as JMeter records the hits Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 39. Loadtesting with JMeter - DEMO TIME Add a thread group by right clicking Test Plan -> Add -> Threads -> Thread Group Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 40. Loadtesting with JMeter - DEMO TIME Name your thread group, pick how many threads you want, ramp up time and how many loops Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 41. Loadtesting with JMeter - DEMO TIME Run your tests and set servers ablaze. Run -> Start Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 42. Finding hard bugs Uh oh! Just throwing more memory at the problem will not solve this! Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 43. Finding hard bugs Did we see this in the environments below Production? Not very noticeable unless looking hard for it. Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 44. Finding hard bugs Ramping up JMeter threads of a specific user in an endless loop reproduces issue in every environment Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 45. Dashboard Setup? Use Selenium to login and navigate to your various dashboards for TV's and sharing with teams. Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 46. QAOps? A lot of quick wins can be made here. Getting most of the focus these days. Certainly best of all worlds coming together. Takes a while to be a good Selenium IDE makes it trivial practitioner based on tech debt | servers | for Ops to start running and timeboxes | complexity | culture developing tests Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 47. Questions? We are hiring! http://www.wirelessgeneration.com Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 48. Picture Credits http://uploads.neatorama.com/wp-content/uploads/2010/06/macgyver.jpg http://www.packagingsuppliesbymail.com/images/C/Duct%20Tape.jpg http://www.russpainter.com/shop/images/clip.jpg http://g-ecx.images-amazon.com/images/G/01/stores/sport-goods/1209-huntsman.jpg http://www.agilegeoscience.com/storage/post-images/python-logo-small.png? __SQUARESPACE_CACHEVERSION=1316752792052 Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 49. Picture Credits http://www.pptbackground.net/plog-content/images/powerpoint/education-backgrounds/raising-hands- together-powerpoint-backgrounds.jpg http://seleniumhq.org/images/selenium-ide-logo.png http://upload.wikimedia.org/wikipedia/en/0/07/Jakarta_jmeter_logo.jpg http://cdn.babble.com/momcrunch/files/2012/02/SauceLabs_Logo_Vert_150px.gif http://gigaom2.files.wordpress.com/2011/01/firefox-ie.png Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 50. Picture Credits http://3.bp.blogspot.com/_t5Xqp0AYeg4/S74FdH-SO-I/AAAAAAAAAOU/OlMrI9m8VIE/s320/smileyface1.jpg http://blogs.babycenter.com/wp-content/uploads/2008/02/crying-face.jpg http://www.portlandmercury.com/imager/dr-strangelove/b/original/3791589/80b9/mwbw-drstrangelove.jpg http://stylreesta.files.wordpress.com/2011/07/caution_big.png http://en.wikipedia.org/wiki/File:Devops.png Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012
  • 51. Picture Credits http://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Tux.png/220px-Tux.png http://www.wisedatasecurity.com/imagenes/ie-8.jpg http://seleniumhq.org/images/selenium-grid-logo.png http://www.studiosysadmins.com/site_media/attachments. gallery/2009/05/12/ServerRoomFireWeb.jpg http://blogs.splunk.com/wp-content/uploads/2010/02/Picture-65.png Dev + Ops = DevOps --> QA + Ops = QAOps NYC Metro Selenium Users Meetup March 15, 2012