SlideShare a Scribd company logo
selenium   Users Anonymous
   34

   Se




                        by Dave Haeffner
Selenium Users Anonymous
Show of hands
How many of you are human?
   100%
How many of you use Selenium?
   Most
Just getting started in test automation?
   40%
Comfortable with test automation? Using it regularly?
   50%
Test automation guru's?
   1-2 people
Development background
   60%
Tech proficient -- know enough to be dangerous?
   15%
Scared to death of tech?
   Some smiles but no one raised their hand
Selenium Users Anonymous
Exercise 1
What are your biggest pain points when it comes to using
Selenium? Or Test Automation in general?

In 5 minutes, write them down

One issue per post-it

Keep it concise

Keep it to yourself
Selenium Users Anonymous
Evolutionary paths of Selenium Suites
Se-IDE
Simple tests captured that can grow into an albatross that
is unmaintainable, brittle, and makes you spit nails. Most
people (hopefully) realize this is not the way to go and
export their tests into a real programming language

Se-RC
What you used to export your Se-IDE tests into. But not
anymore, it's reaching end-of-life.

Se-WebDriver
Behold the future! Pure browser integration (read: fast and
awesome)
Entrees

Breaking/brittle/untrustworthy/unstable tests
          Hard to decipher results
   Hard to interpret what your tests test
              False positives
                    Slow
              Too many tests
                Ownership
               Maintenance
        Out of band communication
           Works on my machine
Desserts



  Manual testing as a crutch
     QA as a bottle neck
Defects caught late in the cycle
Selenium Users Anonymous
Exercise 2
You have 5 minutes

Come to the front of the room with your post-its from
Exercise 1

Post them on the wall

Group like with like
12
1 - Admit You Have a Problem
It's not entirely your fault
Selenium was Built by Developers for Developers. Some
assembly required, oh, and RTFM.

Along the way someone built a Selenium IDE to make it
easy for mere mortals to capture automated tests, while
this got newcomers to use the tool, it reinforced some bad
habits -- causing people to build painful and unmaintainable
test suits

While there is a great community and good documentation,
there is not a cohesive, standard "here you guy" guide... yet

It can be overwhelming for a newcomer. But most times
you duct-tape together a solution to your problem with
answers found in blog posts and stack overflow threads.
2 - Take a deep breath
It's Okay

Take into account that you are doing something difficult

And that you are outside of your comfort zone, and that will
likely not change

But it's okay, people have gone before you

And you have to fail to learn
3 - Try looking at things differently
Try these on for size

Zooming
Be able to "zoom in" deal with the day to day details while
also "zooming out" to see the big picture -- making sure
that both the high and low level are aligned

Effectiveness = Quality x Acceptance
It's much easier to improve quality than it is acceptance.
Where are you spending your effort?

Personas & Motivation
QA's are either very technical or very analytical. Engineers
tend to want to solve problems. Understanding these things
will help you unlock untapped potential.
4 - Pump some Tech iron
Pump you up

I've seen a lot of people who are fearful of technology but
they play on the razor's edge of it. Weird.

Pump some iron. Learn to code. Or least, learn the broad
strokes. It will help you with your "tech comfort".

Resources abound -- books, blogs, meetups, classes,
conferences, etc.

Sharpen your tools
5

Find Your
  Inner
Napoleon,

Develop A
 Strategy
It's less about the tool and more about the people

Think big, keep it simple, capture value

Envision the future and build a roadmap to it

Some example questions to ask
Type of app?
Data heavy?
Rich UI?
How does the business makes money?
Available Usage metrics?
Browsers you care about?
Current S/W dev workflow? Release cycle?
Resources available?
QA Team make-up? Dev Team make-up?
Top-down support?
Bottom-up interest?
6

Break
Down
 The
 Wall
Make friends with the Developers -- work together!

Choose a technology stack for building a framework that
makes sense for you and your team -- this is a topic in and
of itself

To start, focus on you and your team's context -- e.g.
strengths, comfort, confidence, and excitement

Also consider your company's current tech stack

Put it to the team to try and decide

Also, have them give it a fun name -- this stuff matters!
7 - Learn the
                terrain
Try stuff

             Commit and make progress

Learn what you need along the way to become effective

        Fill in your knowledge gaps as you go

         And don't be afraid to ask questions
8 - Test Less
Perform a Pareto analysis. It posits that 80% of the value
comes from 20% of the inputs -- and it's correct. Consider
this a power law.

A good heuristic to follow for this -- 3 buckets.

There are 3 things you should care about when it comes to
testing: Table Stakes, Money Makers, Back Breakers
● Table Stakes: The simple things that should just work
● Money Makers: How does your business make
    money/generate value?
● What is risky, prone to breakage, overly complicated?
If you get these right, then you are on to something great

This requires tight collaboration with business and tech
9 - Test Well
Grow a framework that can be used by the whole team

Proper abstraction -- e.g. Page Object Pattern

Single Responsibility Principle -- do one thing and do it well

Atomic testing -- each test should be able to run and be
understood independently

Test under the hood -- you can verify important business
logic against the underlying API/WebServices

Parallelize -- e.g. SauceLabs, DIY w/ SeleniumGrid --
SeleniumHQ has a list of all of the players out there

Provide timely, valuable feedback for both Tech & Biz -- e.
g. Use CI & sexy reporting

Remember that manual/exploratory testing has its place
10

Keep It Lean
 & Optimize
This is a good way to gauge your success and mine for
ways to improve

Continually assess how you're doing

Are you solving problems or just testing for testing sake?

Make changes, try, observe, make changes, try, observe…
you get the idea!

Once you are doing things that are generating value,
optimize them, not before
11
                           Mailing
 Meetups
                           Lists
                  Google
    Blogs         Groups
                           Stack
Twitters    IRC            Overflow
                   Quora
12
Learn something that you had to cobble together?
   Write a blog post

See a question on Stack Overflow that you know the
answer to?
   Answer it

Have an idea worth sharing?
  Give a talk a local Selenium/Tech Meetup

No Local Selenium Meetup?
   Start one!
   Contact ashley@saucelabs.com to find out how
12 Steps Recap
Assess reality, always start with why, be strategic, test
smarter, pay attention, you've always got a friend, pay it
forward

This can be a linear progression, but it shouldn't be
You can practice any of these steps individually. In fact, I
encourage you to
You don't need to be an expert to pay it forward
You become an expert by paying it forward
If you have a strategy and it doesn't seem to be working, be
lean and revisit things
Always be learning and pumping your tech iron
And don't forget to breath

But most importantly, and I hope this has been readily
apparent. It's less about the tool than you think.
@TourDeDave


dave@arrgyle.com
Appendix
Recommendations
Sites
●   Official Selenium Blog
●   Sauce Labs Blog
●   Selenium HQ
●   Selenium Meetups
●   Quora
●   Agile Testing Mailing List
●   Selenium Users Google Group
Posts
●   What Makes A Good Test Suite
●   Testing vs Checking
●   Get Out of the Quality Assurance Business
●   Zooming
Books
● Bridging the Communication Gap
● Specification By Example
● Learn To Program
● Everyday Scripting with Ruby
● The Cucumber Book
● How Google Tests Software
● Continuous Integration

More Related Content

PPTX
Agile testing for mere mortals
PPT
Reliable tests with selenium web driver
PDF
Selenium Frameworks
ODP
@LinkingNote annotation in YATSPEC
PDF
Four Stages of Automated Testing by Bradley Temple
PDF
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
PPTX
TDD That Was Easy!
PDF
A Taste of Exploratory Testing
Agile testing for mere mortals
Reliable tests with selenium web driver
Selenium Frameworks
@LinkingNote annotation in YATSPEC
Four Stages of Automated Testing by Bradley Temple
Hey You Got Your TDD in my SQL DB by Jeff McKenzie
TDD That Was Easy!
A Taste of Exploratory Testing

What's hot (20)

PPTX
TestWorksConf: Experience exploratory testing
PPTX
Development without Testers: Myth or Real Option?
PPTX
Breaking Dependencies to Allow Unit Testing - DevIntersection Spring 2016
PPTX
Is Groovy better for testing than Java?
PPT
Lessons Learned in a Continuously Developing Service-Oriented Architecture
PPTX
Improving the Quality of Existing Software - DevIntersection April 2016
PPTX
Test-Driven Development In Action
PPTX
TDD - Test Driven Development
PDF
Test Drive Development
PDF
The Test Coverage Outline: Your Testing Road Map
PPTX
How to Test Anything
PPTX
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
PDF
Code Review Matters and Manners
PDF
Hands On with Selenium and WebDriver
PDF
Twelve Tips for Becoming a More Professional Tester
PPTX
Code review
PDF
Evil testers guide to technical testing
PDF
Distributed Agility
PPTX
How to be proud when you are done
PPTX
XP Injection
TestWorksConf: Experience exploratory testing
Development without Testers: Myth or Real Option?
Breaking Dependencies to Allow Unit Testing - DevIntersection Spring 2016
Is Groovy better for testing than Java?
Lessons Learned in a Continuously Developing Service-Oriented Architecture
Improving the Quality of Existing Software - DevIntersection April 2016
Test-Driven Development In Action
TDD - Test Driven Development
Test Drive Development
The Test Coverage Outline: Your Testing Road Map
How to Test Anything
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
Code Review Matters and Manners
Hands On with Selenium and WebDriver
Twelve Tips for Becoming a More Professional Tester
Code review
Evil testers guide to technical testing
Distributed Agility
How to be proud when you are done
XP Injection
Ad

Viewers also liked (20)

PPT
Full Stack Testing Done Well
PDF
How To Use Selenium Successfully
PDF
The Testable Web
PDF
Selenium Basics
PDF
Getting Started with Selenium
PDF
Bdd lessons-learned
PPTX
Cucumber Crash Course
PPTX
Open Source Investing
PDF
How To Find Information On Your Own
PDF
How To Use Selenium Successfully (Java Edition)
PDF
Selenium Tips & Tricks
PDF
Creating Maintainable Automated Acceptance Tests
PDF
How To Use Selenium Successfully
PDF
Selenium for Designers
PPTX
(Seleniumcamp) Selenium RC for QA Engineer
PDF
A Whirlwind Tour of Test::Class
PDF
Selenium Page Objects101
PDF
Selenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
PDF
Funcargs & other fun with pytest
KEY
JavaScript Testing VIA Selenium
Full Stack Testing Done Well
How To Use Selenium Successfully
The Testable Web
Selenium Basics
Getting Started with Selenium
Bdd lessons-learned
Cucumber Crash Course
Open Source Investing
How To Find Information On Your Own
How To Use Selenium Successfully (Java Edition)
Selenium Tips & Tricks
Creating Maintainable Automated Acceptance Tests
How To Use Selenium Successfully
Selenium for Designers
(Seleniumcamp) Selenium RC for QA Engineer
A Whirlwind Tour of Test::Class
Selenium Page Objects101
Selenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
Funcargs & other fun with pytest
JavaScript Testing VIA Selenium
Ad

Similar to Selenium Users Anonymous (20)

PDF
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
PPT
Agile Testing
PPTX
Colleagues to Community Test Atelier 09-05-2017
PDF
Getting Started With Selenium at Shutterstock
PDF
10 Lessons learned in test automation
PDF
Demise of test scripts rise of test ideas
PPTX
Growing Up The Right Way: An Example of How to Scale When You're Aren't a Sta...
PDF
The Road to QA
PPTX
Олександр Струков “QA skills keeping it up to date”
PDF
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
PDF
Lessons Learned When Automating
PDF
5 Steps to Jump Start Your Test Automation
PPTX
Faster Usability Testing in an Agile World presented at Agile2011
PDF
A Self Funding Agile Transformation
PDF
High Performance Software Engineering Teams
PPTX
Agile testingandautomation
PPTX
Creating change from within - Agile Practitioners 2012
PPTX
Is Test Planning a lost art in Agile? by Michelle Williams
PDF
Test Automation
PDF
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Agile Testing
Colleagues to Community Test Atelier 09-05-2017
Getting Started With Selenium at Shutterstock
10 Lessons learned in test automation
Demise of test scripts rise of test ideas
Growing Up The Right Way: An Example of How to Scale When You're Aren't a Sta...
The Road to QA
Олександр Струков “QA skills keeping it up to date”
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
Lessons Learned When Automating
5 Steps to Jump Start Your Test Automation
Faster Usability Testing in an Agile World presented at Agile2011
A Self Funding Agile Transformation
High Performance Software Engineering Teams
Agile testingandautomation
Creating change from within - Agile Practitioners 2012
Is Test Planning a lost art in Agile? by Michelle Williams
Test Automation
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical

Recently uploaded (20)

PPT
Teaching material agriculture food technology
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
A Presentation on Artificial Intelligence
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation theory and applications.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Teaching material agriculture food technology
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Empathic Computing: Creating Shared Understanding
“AI and Expert System Decision Support & Business Intelligence Systems”
Mobile App Security Testing_ A Comprehensive Guide.pdf
NewMind AI Monthly Chronicles - July 2025
NewMind AI Weekly Chronicles - August'25 Week I
Encapsulation_ Review paper, used for researhc scholars
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
A Presentation on Artificial Intelligence
MYSQL Presentation for SQL database connectivity
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
The AUB Centre for AI in Media Proposal.docx
Encapsulation theory and applications.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Network Security Unit 5.pdf for BCA BBA.
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...

Selenium Users Anonymous

  • 1. selenium Users Anonymous 34 Se by Dave Haeffner
  • 3. Show of hands How many of you are human? 100% How many of you use Selenium? Most Just getting started in test automation? 40% Comfortable with test automation? Using it regularly? 50% Test automation guru's? 1-2 people Development background 60% Tech proficient -- know enough to be dangerous? 15% Scared to death of tech? Some smiles but no one raised their hand
  • 5. Exercise 1 What are your biggest pain points when it comes to using Selenium? Or Test Automation in general? In 5 minutes, write them down One issue per post-it Keep it concise Keep it to yourself
  • 7. Evolutionary paths of Selenium Suites Se-IDE Simple tests captured that can grow into an albatross that is unmaintainable, brittle, and makes you spit nails. Most people (hopefully) realize this is not the way to go and export their tests into a real programming language Se-RC What you used to export your Se-IDE tests into. But not anymore, it's reaching end-of-life. Se-WebDriver Behold the future! Pure browser integration (read: fast and awesome)
  • 8. Entrees Breaking/brittle/untrustworthy/unstable tests Hard to decipher results Hard to interpret what your tests test False positives Slow Too many tests Ownership Maintenance Out of band communication Works on my machine
  • 9. Desserts Manual testing as a crutch QA as a bottle neck Defects caught late in the cycle
  • 11. Exercise 2 You have 5 minutes Come to the front of the room with your post-its from Exercise 1 Post them on the wall Group like with like
  • 12. 12
  • 13. 1 - Admit You Have a Problem
  • 14. It's not entirely your fault Selenium was Built by Developers for Developers. Some assembly required, oh, and RTFM. Along the way someone built a Selenium IDE to make it easy for mere mortals to capture automated tests, while this got newcomers to use the tool, it reinforced some bad habits -- causing people to build painful and unmaintainable test suits While there is a great community and good documentation, there is not a cohesive, standard "here you guy" guide... yet It can be overwhelming for a newcomer. But most times you duct-tape together a solution to your problem with answers found in blog posts and stack overflow threads.
  • 15. 2 - Take a deep breath
  • 16. It's Okay Take into account that you are doing something difficult And that you are outside of your comfort zone, and that will likely not change But it's okay, people have gone before you And you have to fail to learn
  • 17. 3 - Try looking at things differently
  • 18. Try these on for size Zooming Be able to "zoom in" deal with the day to day details while also "zooming out" to see the big picture -- making sure that both the high and low level are aligned Effectiveness = Quality x Acceptance It's much easier to improve quality than it is acceptance. Where are you spending your effort? Personas & Motivation QA's are either very technical or very analytical. Engineers tend to want to solve problems. Understanding these things will help you unlock untapped potential.
  • 19. 4 - Pump some Tech iron
  • 20. Pump you up I've seen a lot of people who are fearful of technology but they play on the razor's edge of it. Weird. Pump some iron. Learn to code. Or least, learn the broad strokes. It will help you with your "tech comfort". Resources abound -- books, blogs, meetups, classes, conferences, etc. Sharpen your tools
  • 21. 5 Find Your Inner Napoleon, Develop A Strategy
  • 22. It's less about the tool and more about the people Think big, keep it simple, capture value Envision the future and build a roadmap to it Some example questions to ask Type of app? Data heavy? Rich UI? How does the business makes money? Available Usage metrics? Browsers you care about? Current S/W dev workflow? Release cycle? Resources available? QA Team make-up? Dev Team make-up? Top-down support? Bottom-up interest?
  • 24. Make friends with the Developers -- work together! Choose a technology stack for building a framework that makes sense for you and your team -- this is a topic in and of itself To start, focus on you and your team's context -- e.g. strengths, comfort, confidence, and excitement Also consider your company's current tech stack Put it to the team to try and decide Also, have them give it a fun name -- this stuff matters!
  • 25. 7 - Learn the terrain
  • 26. Try stuff Commit and make progress Learn what you need along the way to become effective Fill in your knowledge gaps as you go And don't be afraid to ask questions
  • 27. 8 - Test Less
  • 28. Perform a Pareto analysis. It posits that 80% of the value comes from 20% of the inputs -- and it's correct. Consider this a power law. A good heuristic to follow for this -- 3 buckets. There are 3 things you should care about when it comes to testing: Table Stakes, Money Makers, Back Breakers ● Table Stakes: The simple things that should just work ● Money Makers: How does your business make money/generate value? ● What is risky, prone to breakage, overly complicated? If you get these right, then you are on to something great This requires tight collaboration with business and tech
  • 29. 9 - Test Well
  • 30. Grow a framework that can be used by the whole team Proper abstraction -- e.g. Page Object Pattern Single Responsibility Principle -- do one thing and do it well Atomic testing -- each test should be able to run and be understood independently Test under the hood -- you can verify important business logic against the underlying API/WebServices Parallelize -- e.g. SauceLabs, DIY w/ SeleniumGrid -- SeleniumHQ has a list of all of the players out there Provide timely, valuable feedback for both Tech & Biz -- e. g. Use CI & sexy reporting Remember that manual/exploratory testing has its place
  • 31. 10 Keep It Lean & Optimize
  • 32. This is a good way to gauge your success and mine for ways to improve Continually assess how you're doing Are you solving problems or just testing for testing sake? Make changes, try, observe, make changes, try, observe… you get the idea! Once you are doing things that are generating value, optimize them, not before
  • 33. 11 Mailing Meetups Lists Google Blogs Groups Stack Twitters IRC Overflow Quora
  • 34. 12
  • 35. Learn something that you had to cobble together? Write a blog post See a question on Stack Overflow that you know the answer to? Answer it Have an idea worth sharing? Give a talk a local Selenium/Tech Meetup No Local Selenium Meetup? Start one! Contact ashley@saucelabs.com to find out how
  • 36. 12 Steps Recap Assess reality, always start with why, be strategic, test smarter, pay attention, you've always got a friend, pay it forward This can be a linear progression, but it shouldn't be You can practice any of these steps individually. In fact, I encourage you to You don't need to be an expert to pay it forward You become an expert by paying it forward If you have a strategy and it doesn't seem to be working, be lean and revisit things Always be learning and pumping your tech iron And don't forget to breath But most importantly, and I hope this has been readily apparent. It's less about the tool than you think.
  • 39. Sites ● Official Selenium Blog ● Sauce Labs Blog ● Selenium HQ ● Selenium Meetups ● Quora ● Agile Testing Mailing List ● Selenium Users Google Group
  • 40. Posts ● What Makes A Good Test Suite ● Testing vs Checking ● Get Out of the Quality Assurance Business ● Zooming
  • 41. Books ● Bridging the Communication Gap ● Specification By Example ● Learn To Program ● Everyday Scripting with Ruby ● The Cucumber Book ● How Google Tests Software ● Continuous Integration