June 9, 2015

Spotlight On: Dave Haeffner

Dave Haeffner has been a big part of the Selenium community ever since Selenium WebDriver came out. He is a blogger, an author, a teacher, a consultant, and a lecturer. And most of the information and help he can give you to learn how to write automated tests in Selenium WebDriver is free.

After graduating from Morrisville State, taking various desktop support positions,  according to LinkedIn Dave spent four-and-a-half years at The Motley Fool, switching from the desktop support and system administrator field to becoming a quality analyst. By the time he left The Motley Fool, he had earned a MS in Management of Information Technology and worked his way up to a senior role, where he was responsible for "creating, implementing, maintaining, training and evangelizing the automated functional web testing infrastructure used by all QA's & Agile Software Development Teams".

Dave set up shop for himself, calling his sole proprietorship Arrgyle and himself the Chief Arrgonaut. "We're a small band of pirates navigating the high tech seas helping people figure out how to best leverage technology. Our primary focus is on QA strategy and open source tool implementation for Agile Software Development shops"... why "Arrgyle"? ... Have you ever heard the joke, "What is a pirate's favorite color?"

The Selenium Hangout

Tweeting on the @SeleniumHangout since July 2013, and blogging on WordPress since August of 2013, Dave gathers together active members of the Selenium community to form a virtual Meetup of sorts.
The World's Best Selenium Meetup  
August 9, 2013 - Tour de Dave @ 5:35 UTC
"Selenium Meetups are great, but… Have you ever wanted to attend a Selenium Meetup but there’s not one near you? Or maybe there is but something’s come up and you can’t make it out that night? Or maybe the meetup near you struggles to get good speakers and have a consistent schedule? [...]  
"Well, what if there were a way to attend a meetup regardless of location?  
"And what if each meetup you attended was lined with core maintainers of the Selenium project?

"And if you missed it, what if the whole thing was recorded and available for you to review at your leisure? Well, now you can.  
"[...] Introducing Selenium Hangout — the world’s best and most accessible Selenium meetup. An entirely online meetup that leverages Google Hangouts and live streaming to YouTube. All meetups will be recorded and posted online afterwards.  
"Each meetup will contain a small panel of people from the Selenium Community (e.g. core committers, automation practitioners, etc.) and they will discuss various topics [...]  How to attend Simply follow the SeleniumHangout Twitter account to find out more".
Dave is the co-founder of the group -- based on an idea he had at a Selenium meetup -- and main organizer.

Elemental Selenium

Elemental Selenium, Dave's blog, is a "free, once-weekly e-mail on how to use Selenium like a Pro". It's a very well organized list of automated tips and tricks written in Selenium with Ruby. All tips have been captured in his Tips Archive.

Each tip is labelled whether it is Beginner, Intermediate, or Advanced. They are also classified into categories such as Tools, Testing, Logging, Design, or Infrastructure.

The Selenium Guidebook

The main problem with Selenium WebDriver is that as an open source product, not only is it missing adequate documentation, but it is missing adequate documentation that is geared to the testers level.

Before Selenium WebDriver came to be in such demand, us software testers and QA Engineers were not expected to be coders. (Not sure what a QA Engineer is? You can read about it in my blog post, What is a QA Engineer?) We were end-user advocates. We sifted through the business requirements, the designs, and tried to find all the gaps in them while analyzing the software product, trying to get into our target audience's mindset. With WebDriver, a lot of us needed to learn this new skill set, and fast, else we were out of a job.

Back in December 2013, written in Ruby, Dave came out with what he called "The Selenium Guidebook", which quickly received endorsements from many of the core committers to the Selenium WebDriver project. Dave tailors this book to us, the QA Engineer who may be technical, but may be experiencing writing code for the first time.

There are three tiers to this guidebook: Just the 92 page eBook in mobi, ePub, and PDF format along with the source code for the examples; The Selenium Guidebook with a list of cheat sheets he prepared plus five or so videos; or the Selenium Guidebook, cheat sheets, and fifteen videos.

And why Ruby? Because most of us QA Engineers are not coders, Dave believes that because of how software languages such as Ruby handles most of the complexity for us, Ruby is a better programming language to use with Selenium than other more complex languages such as Java. Dave is not in favor of companies using Selenium with Java just because the company software product is also written in Java.

Luckily for me, as of March of 2015, since Fitbit-Boston's automation department uses Java, Dave came out with a Java version of his Selenium Guidebook. Even though I had last programmed in Java in grad school ten years ago, with this book and a few online courses, I have been able to get up to speed quickly.

If you go to http://seleniumguidebook.com/ you can request sample chapters of his book.

Or, if you want to try before you buy, you can go to ElementalSelenium.com or SeleniumGuidebook.com and sign up for his free Selenium Bootcamp. Over a five day period you will receive emails once a day introducing you to Selenium. The content is culled from his book and his collection of tips.

Talks and Lectures

Dave is an engaging and humorous speaker, very active in the Selenium community, travelling to different Meetups across the country. Luckily for us, we don't have to travel to see him. His lectures are posted on YouTube.

Below is a Webinar in two parts Dave gave recently about Selenium:

Selenium Test Automation: Practical Tips & Tricks: (4/7/2015)
Writeup from The Official Sauce Labs Blog:
Have unanswered Selenium questions? Want to learn how to use Selenium like a Pro? Join Dave Haeffner – author of The Selenium Guidebook – as he steps through the best and most useful tips & tricks from his weekly Selenium tip newsletter (elementalselenium.com).Topics covered include:
  • Headless test execution
  • Testing HTTP status codes
  • Blacklisting third-party content
  • Load testing
  • Broken image checking
  • Testing forgot password
  • Working with A/B testing
  • File downloads
  • Additional debugging output
  • Visual testing & cross-browser testing
There will be a live Q&A following the presentation with Dave.Join Applitools and Sauce Labs for this presentation on Tuesday, April 7th at 11am PDT/2pm EDT. There will be a Q&A following the end of the presentation.

Slides on Slideshare

With many of his presentations, Dave posts his slides on Slideshare at http://www.slideshare.net/tourdedave/presentations. I have been enjoying reviewing the slides, trying to backtrack to see if there are matching YouTube presentation.
"Dave is an experienced automated tester, and formerly the Senior Quality Assurance Analyst at The Motley Fool; responsible for creating, implementing, and overseeing their automated web testing infrastructure. He was a speaker at Agile 2010 and 2012, is an organizer of the DC Selenium meetup, and is an active member in both the Selenium and Ruby communities. Dave currently works with a range of companies to help improve their quality practices".


Need a playground to write sample Selenium tests? Dave wrote a site which showcases all the different types of page elements you will find on the internet. He has dubbed this showcase "The-Internet", so, as he jokes, he can say that he has designed the-internet.

You can access his site at https://the-internet.herokuapp.com/.

-T.J. Maher
 Sr. QA Engineer, Fitbit
 Boston, MA

// Automated tester for [ 3 ] month and counting!

Please note: 'Adventures in Automation' is a personal blog about automated testing. It is not an official blog of Fitbit.com

No comments: