Selenium Users Anonymous
Upcoming SlideShare
Loading in...5

Like this? Share it with your network

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 13,259 12,355 378 376 96 19 5 4 4 4
http://localhost 3 3 3 2 1 1 HTTP 1 1 1 1 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. selenium Users Anonymous 34 Se by Dave Haeffner
  • 2. Show of handsHow many of you are human? 100%How many of you use Selenium? MostJust getting started in test automation? 40%Comfortable with test automation? Using it regularly? 50%Test automation gurus? 1-2 peopleDevelopment background 60%Tech proficient -- know enough to be dangerous? 15%Scared to death of tech? Some smiles but no one raised their hand
  • 3. Exercise 1What are your biggest pain points when it comes to usingSelenium? Or Test Automation in general?In 5 minutes, write them downOne issue per post-itKeep it conciseKeep it to yourself
  • 4. Evolutionary paths of Selenium SuitesSe-IDESimple tests captured that can grow into an albatross thatis unmaintainable, brittle, and makes you spit nails. Mostpeople (hopefully) realize this is not the way to go andexport their tests into a real programming languageSe-RCWhat you used to export your Se-IDE tests into. But notanymore, its reaching end-of-life.Se-WebDriverBehold the future! Pure browser integration (read: fast andawesome)
  • 5. EntreesBreaking/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
  • 6. Desserts Manual testing as a crutch QA as a bottle neckDefects caught late in the cycle
  • 7. Exercise 2You have 5 minutesCome to the front of the room with your post-its fromExercise 1Post them on the wallGroup like with like
  • 8. 12
  • 9. 1 - Admit You Have a Problem
  • 10. Its not entirely your faultSelenium was Built by Developers for Developers. Someassembly required, oh, and RTFM.Along the way someone built a Selenium IDE to make iteasy for mere mortals to capture automated tests, whilethis got newcomers to use the tool, it reinforced some badhabits -- causing people to build painful and unmaintainabletest suitsWhile there is a great community and good documentation,there is not a cohesive, standard "here you guy" guide... yetIt can be overwhelming for a newcomer. But most timesyou duct-tape together a solution to your problem withanswers found in blog posts and stack overflow threads.
  • 11. 2 - Take a deep breath
  • 12. Its OkayTake into account that you are doing something difficultAnd that you are outside of your comfort zone, and that willlikely not changeBut its okay, people have gone before youAnd you have to fail to learn
  • 13. 3 - Try looking at things differently
  • 14. Try these on for sizeZoomingBe able to "zoom in" deal with the day to day details whilealso "zooming out" to see the big picture -- making surethat both the high and low level are alignedEffectiveness = Quality x AcceptanceIts much easier to improve quality than it is acceptance.Where are you spending your effort?Personas & MotivationQAs are either very technical or very analytical. Engineerstend to want to solve problems. Understanding these thingswill help you unlock untapped potential.
  • 15. 4 - Pump some Tech iron
  • 16. Pump you upIve seen a lot of people who are fearful of technology butthey play on the razors edge of it. Weird.Pump some iron. Learn to code. Or least, learn the broadstrokes. It will help you with your "tech comfort".Resources abound -- books, blogs, meetups, classes,conferences, etc.Sharpen your tools
  • 17. 5Find Your InnerNapoleon,Develop A Strategy
  • 18. Its less about the tool and more about the peopleThink big, keep it simple, capture valueEnvision the future and build a roadmap to itSome example questions to askType 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?
  • 19. 6BreakDown The Wall
  • 20. Make friends with the Developers -- work together!Choose a technology stack for building a framework thatmakes sense for you and your team -- this is a topic in andof itselfTo start, focus on you and your teams context -- e.g.strengths, comfort, confidence, and excitementAlso consider your companys current tech stackPut it to the team to try and decideAlso, have them give it a fun name -- this stuff matters!
  • 21. 7 - Learn the terrain
  • 22. Try stuff Commit and make progressLearn what you need along the way to become effective Fill in your knowledge gaps as you go And dont be afraid to ask questions
  • 23. 8 - Test Less
  • 24. Perform a Pareto analysis. It posits that 80% of the valuecomes from 20% of the inputs -- and its correct. Considerthis a power law.A good heuristic to follow for this -- 3 buckets.There are 3 things you should care about when it comes totesting: 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 greatThis requires tight collaboration with business and tech
  • 25. 9 - Test Well
  • 26. Grow a framework that can be used by the whole teamProper abstraction -- e.g. Page Object PatternSingle Responsibility Principle -- do one thing and do it wellAtomic testing -- each test should be able to run and beunderstood independentlyTest under the hood -- you can verify important businesslogic against the underlying API/WebServicesParallelize -- e.g. SauceLabs, DIY w/ SeleniumGrid --SeleniumHQ has a list of all of the players out thereProvide timely, valuable feedback for both Tech & Biz -- e.g. Use CI & sexy reportingRemember that manual/exploratory testing has its place
  • 27. 10Keep It Lean & Optimize
  • 28. This is a good way to gauge your success and mine forways to improveContinually assess how youre doingAre 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
  • 29. 11 Mailing Meetups Lists Google Blogs Groups StackTwitters IRC Overflow Quora
  • 30. 12
  • 31. Learn something that you had to cobble together? Write a blog postSee a question on Stack Overflow that you know theanswer to? Answer itHave an idea worth sharing? Give a talk a local Selenium/Tech MeetupNo Local Selenium Meetup? Start one! Contact to find out how
  • 32. 12 Steps RecapAssess reality, always start with why, be strategic, testsmarter, pay attention, youve always got a friend, pay itforwardThis can be a linear progression, but it shouldnt beYou can practice any of these steps individually. In fact, Iencourage you toYou dont need to be an expert to pay it forwardYou become an expert by paying it forwardIf you have a strategy and it doesnt seem to be working, belean and revisit thingsAlways be learning and pumping your tech ironAnd dont forget to breathBut most importantly, and I hope this has been readilyapparent. Its less about the tool than you think.
  • 33.
  • 34. AppendixRecommendations
  • 35. Sites● Official Selenium Blog● Sauce Labs Blog● Selenium HQ● Selenium Meetups● Quora● Agile Testing Mailing List● Selenium Users Google Group
  • 36. Posts● What Makes A Good Test Suite● Testing vs Checking● Get Out of the Quality Assurance Business● Zooming
  • 37. Books● Bridging the Communication Gap● Specification By Example● Learn To Program● Everyday Scripting with Ruby● The Cucumber Book● How Google Tests Software● Continuous Integration