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
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.
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
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.
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!
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
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
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
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
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