SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
selenium   Users Anonymous
   34

   Se




                        by Dave Haeffner
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
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
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
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

Contenu connexe

Tendances

TestWorksConf: Experience exploratory testing
TestWorksConf: Experience exploratory testingTestWorksConf: Experience exploratory testing
TestWorksConf: Experience exploratory testingMaaret Pyhäjärvi
 
Development without Testers: Myth or Real Option?
Development without Testers: Myth or Real Option?Development without Testers: Myth or Real Option?
Development without Testers: Myth or Real Option?Mikalai Alimenkou
 
Breaking Dependencies to Allow Unit Testing - DevIntersection Spring 2016
Breaking Dependencies to Allow Unit Testing - DevIntersection Spring 2016Breaking Dependencies to Allow Unit Testing - DevIntersection Spring 2016
Breaking Dependencies to Allow Unit Testing - DevIntersection Spring 2016Steven Smith
 
Is Groovy better for testing than Java?
Is Groovy better for testing than Java?Is Groovy better for testing than Java?
Is Groovy better for testing than Java?Trisha Gee
 
Lessons Learned in a Continuously Developing Service-Oriented Architecture
Lessons Learned in a Continuously Developing Service-Oriented ArchitectureLessons Learned in a Continuously Developing Service-Oriented Architecture
Lessons Learned in a Continuously Developing Service-Oriented Architecturemdwheele
 
Improving the Quality of Existing Software - DevIntersection April 2016
Improving the Quality of Existing Software - DevIntersection April 2016Improving the Quality of Existing Software - DevIntersection April 2016
Improving the Quality of Existing Software - DevIntersection April 2016Steven Smith
 
Test-Driven Development In Action
Test-Driven Development In ActionTest-Driven Development In Action
Test-Driven Development In ActionJon Kruger
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentTung Nguyen Thanh
 
Test Drive Development
Test Drive DevelopmentTest Drive Development
Test Drive Developmentsatya sudheer
 
The Test Coverage Outline: Your Testing Road Map
The Test Coverage Outline: Your Testing Road MapThe Test Coverage Outline: Your Testing Road Map
The Test Coverage Outline: Your Testing Road MapTechWell
 
How to Test Anything
How to Test AnythingHow to Test Anything
How to Test AnythingJames Thomas
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flexmichael.labriola
 
Code Review Matters and Manners
Code Review Matters and MannersCode Review Matters and Manners
Code Review Matters and MannersTrisha Gee
 
Hands On with Selenium and WebDriver
Hands On with Selenium and WebDriverHands On with Selenium and WebDriver
Hands On with Selenium and WebDriverTechWell
 
Twelve Tips for Becoming a More Professional Tester
Twelve Tips for Becoming a More Professional TesterTwelve Tips for Becoming a More Professional Tester
Twelve Tips for Becoming a More Professional TesterTechWell
 
Evil testers guide to technical testing
Evil testers guide to technical testingEvil testers guide to technical testing
Evil testers guide to technical testingAlan Richardson
 
Distributed Agility
Distributed AgilityDistributed Agility
Distributed AgilityCory Foy
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are doneAleksey Solntsev
 

Tendances (20)

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

En vedette

Full Stack Testing Done Well
Full Stack Testing Done WellFull Stack Testing Done Well
Full Stack Testing Done WellDave Haeffner
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium SuccessfullyDave Haeffner
 
Getting Started with Selenium
Getting Started with SeleniumGetting Started with Selenium
Getting Started with SeleniumDave Haeffner
 
Cucumber Crash Course
Cucumber Crash CourseCucumber Crash Course
Cucumber Crash CourseDave Haeffner
 
Open Source Investing
Open Source InvestingOpen Source Investing
Open Source InvestingDave Haeffner
 
How To Find Information On Your Own
How To Find Information On Your OwnHow To Find Information On Your Own
How To Find Information On Your OwnDave Haeffner
 
How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)Dave Haeffner
 
Selenium Tips & Tricks
Selenium Tips & TricksSelenium Tips & Tricks
Selenium Tips & TricksDave Haeffner
 
Creating Maintainable Automated Acceptance Tests
Creating Maintainable Automated Acceptance TestsCreating Maintainable Automated Acceptance Tests
Creating Maintainable Automated Acceptance TestsJez Humble
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium SuccessfullyDave Haeffner
 
(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA EngineerYan Alexeenko
 
A Whirlwind Tour of Test::Class
A Whirlwind Tour of Test::ClassA Whirlwind Tour of Test::Class
A Whirlwind Tour of Test::ClassCurtis Poe
 
Selenium Page Objects101
Selenium Page Objects101Selenium Page Objects101
Selenium Page Objects101Adam Goucher
 
Selenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
Selenium Tips & Tricks, presented at the Tel Aviv Selenium MeetupSelenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
Selenium Tips & Tricks, presented at the Tel Aviv Selenium MeetupDave Haeffner
 
Funcargs & other fun with pytest
Funcargs & other fun with pytestFuncargs & other fun with pytest
Funcargs & other fun with pytestBrianna Laugher
 
JavaScript Testing VIA Selenium
JavaScript Testing VIA SeleniumJavaScript Testing VIA Selenium
JavaScript Testing VIA SeleniumAdam Christian
 

En vedette (20)

Full Stack Testing Done Well
Full Stack Testing Done WellFull Stack Testing Done Well
Full Stack Testing Done Well
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium Successfully
 
The Testable Web
The Testable WebThe Testable Web
The Testable Web
 
Selenium Basics
Selenium BasicsSelenium Basics
Selenium Basics
 
Getting Started with Selenium
Getting Started with SeleniumGetting Started with Selenium
Getting Started with Selenium
 
Bdd lessons-learned
Bdd lessons-learnedBdd lessons-learned
Bdd lessons-learned
 
Cucumber Crash Course
Cucumber Crash CourseCucumber Crash Course
Cucumber Crash Course
 
Open Source Investing
Open Source InvestingOpen Source Investing
Open Source Investing
 
How To Find Information On Your Own
How To Find Information On Your OwnHow To Find Information On Your Own
How To Find Information On Your Own
 
How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)How To Use Selenium Successfully (Java Edition)
How To Use Selenium Successfully (Java Edition)
 
Selenium Tips & Tricks
Selenium Tips & TricksSelenium Tips & Tricks
Selenium Tips & Tricks
 
Creating Maintainable Automated Acceptance Tests
Creating Maintainable Automated Acceptance TestsCreating Maintainable Automated Acceptance Tests
Creating Maintainable Automated Acceptance Tests
 
How To Use Selenium Successfully
How To Use Selenium SuccessfullyHow To Use Selenium Successfully
How To Use Selenium Successfully
 
Selenium for Designers
Selenium for DesignersSelenium for Designers
Selenium for Designers
 
(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer(Seleniumcamp) Selenium RC for QA Engineer
(Seleniumcamp) Selenium RC for QA Engineer
 
A Whirlwind Tour of Test::Class
A Whirlwind Tour of Test::ClassA Whirlwind Tour of Test::Class
A Whirlwind Tour of Test::Class
 
Selenium Page Objects101
Selenium Page Objects101Selenium Page Objects101
Selenium Page Objects101
 
Selenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
Selenium Tips & Tricks, presented at the Tel Aviv Selenium MeetupSelenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
Selenium Tips & Tricks, presented at the Tel Aviv Selenium Meetup
 
Funcargs & other fun with pytest
Funcargs & other fun with pytestFuncargs & other fun with pytest
Funcargs & other fun with pytest
 
JavaScript Testing VIA Selenium
JavaScript Testing VIA SeleniumJavaScript Testing VIA Selenium
JavaScript Testing VIA Selenium
 

Similaire à Selenium Users Anonymous

Making Support Fun & Profitable: DrupalCon Portland
Making Support Fun & Profitable: DrupalCon Portland Making Support Fun & Profitable: DrupalCon Portland
Making Support Fun & Profitable: DrupalCon Portland Anne Stefanyk
 
DrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & ProfitableDrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & ProfitablePromet Source
 
2010 10 15 the lean startup at tech_hub london
2010 10 15 the lean startup at tech_hub london2010 10 15 the lean startup at tech_hub london
2010 10 15 the lean startup at tech_hub londonEric Ries
 
Get Faster - While You're Getting Better
Get Faster - While You're Getting BetterGet Faster - While You're Getting Better
Get Faster - While You're Getting Betterantoineg
 
How to successfully grow a code review culture
How to successfully grow a code review cultureHow to successfully grow a code review culture
How to successfully grow a code review cultureNina Zakharenko
 
12 Tips to Become a more Professional Tester
12 Tips to Become a more Professional Tester12 Tips to Become a more Professional Tester
12 Tips to Become a more Professional TesterPractiTest
 
10+ Testing Pitfalls and How to Avoid them
10+ Testing Pitfalls and How to Avoid them 10+ Testing Pitfalls and How to Avoid them
10+ Testing Pitfalls and How to Avoid them PractiTest
 
Cn 5 Day Presentation
Cn 5 Day PresentationCn 5 Day Presentation
Cn 5 Day Presentationdeidredutcher
 
The Innovation Recipe: Six steps to turn your ideas into results
The Innovation Recipe: Six steps to turn your ideas into resultsThe Innovation Recipe: Six steps to turn your ideas into results
The Innovation Recipe: Six steps to turn your ideas into resultsJenny Vandyke
 
Software testing-in-gurgaon
Software testing-in-gurgaonSoftware testing-in-gurgaon
Software testing-in-gurgaonAP EDUSOFT
 
How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014gdusbabek
 
Growth Marketing Conference '17 Atlanta - Creating a Company Wide Growth Culture
Growth Marketing Conference '17 Atlanta - Creating a Company Wide Growth CultureGrowth Marketing Conference '17 Atlanta - Creating a Company Wide Growth Culture
Growth Marketing Conference '17 Atlanta - Creating a Company Wide Growth CultureThibault Imbert
 
Leveraging on scalable technology to expand regionally
Leveraging on scalable technology to expand regionallyLeveraging on scalable technology to expand regionally
Leveraging on scalable technology to expand regionallyMichael Smith Jr.
 
Echelon Thailand 2017 – Leveraging On Scalable Technology To Expand Regionally
Echelon Thailand 2017 – Leveraging On Scalable Technology To Expand RegionallyEchelon Thailand 2017 – Leveraging On Scalable Technology To Expand Regionally
Echelon Thailand 2017 – Leveraging On Scalable Technology To Expand Regionallye27
 
The real c in cro is communication
The real c in cro is communicationThe real c in cro is communication
The real c in cro is communicationVWO
 

Similaire à Selenium Users Anonymous (20)

Making Support Fun & Profitable: DrupalCon Portland
Making Support Fun & Profitable: DrupalCon Portland Making Support Fun & Profitable: DrupalCon Portland
Making Support Fun & Profitable: DrupalCon Portland
 
DrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & ProfitableDrupalCon 2013 Making Support Fun & Profitable
DrupalCon 2013 Making Support Fun & Profitable
 
2010 10 15 the lean startup at tech_hub london
2010 10 15 the lean startup at tech_hub london2010 10 15 the lean startup at tech_hub london
2010 10 15 the lean startup at tech_hub london
 
Get Faster - While You're Getting Better
Get Faster - While You're Getting BetterGet Faster - While You're Getting Better
Get Faster - While You're Getting Better
 
Intro to Agile Practices and Values
Intro to Agile Practices and ValuesIntro to Agile Practices and Values
Intro to Agile Practices and Values
 
How to successfully grow a code review culture
How to successfully grow a code review cultureHow to successfully grow a code review culture
How to successfully grow a code review culture
 
12 Tips to Become a more Professional Tester
12 Tips to Become a more Professional Tester12 Tips to Become a more Professional Tester
12 Tips to Become a more Professional Tester
 
10+ Testing Pitfalls and How to Avoid them
10+ Testing Pitfalls and How to Avoid them 10+ Testing Pitfalls and How to Avoid them
10+ Testing Pitfalls and How to Avoid them
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Cn 5 Day Presentation
Cn 5 Day PresentationCn 5 Day Presentation
Cn 5 Day Presentation
 
DBA Best Practices.ppt
DBA Best Practices.pptDBA Best Practices.ppt
DBA Best Practices.ppt
 
The Innovation Recipe: Six steps to turn your ideas into results
The Innovation Recipe: Six steps to turn your ideas into resultsThe Innovation Recipe: Six steps to turn your ideas into results
The Innovation Recipe: Six steps to turn your ideas into results
 
Software testing-in-gurgaon
Software testing-in-gurgaonSoftware testing-in-gurgaon
Software testing-in-gurgaon
 
How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014How To (Not) Open Source - Javazone, Oslo 2014
How To (Not) Open Source - Javazone, Oslo 2014
 
Growth Marketing Conference '17 Atlanta - Creating a Company Wide Growth Culture
Growth Marketing Conference '17 Atlanta - Creating a Company Wide Growth CultureGrowth Marketing Conference '17 Atlanta - Creating a Company Wide Growth Culture
Growth Marketing Conference '17 Atlanta - Creating a Company Wide Growth Culture
 
Adopting innovation
Adopting innovationAdopting innovation
Adopting innovation
 
Leveraging on scalable technology to expand regionally
Leveraging on scalable technology to expand regionallyLeveraging on scalable technology to expand regionally
Leveraging on scalable technology to expand regionally
 
Build a great Technical Team
Build a great Technical TeamBuild a great Technical Team
Build a great Technical Team
 
Echelon Thailand 2017 – Leveraging On Scalable Technology To Expand Regionally
Echelon Thailand 2017 – Leveraging On Scalable Technology To Expand RegionallyEchelon Thailand 2017 – Leveraging On Scalable Technology To Expand Regionally
Echelon Thailand 2017 – Leveraging On Scalable Technology To Expand Regionally
 
The real c in cro is communication
The real c in cro is communicationThe real c in cro is communication
The real c in cro is communication
 

Dernier

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"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
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
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
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"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
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
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
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 

Selenium Users Anonymous

  • 1. selenium Users Anonymous 34 Se by Dave Haeffner
  • 2.
  • 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
  • 4.
  • 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
  • 6.
  • 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
  • 10.
  • 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