30: Dima Kovalenko : Selenium Design Patterns and Best Practices

Podcast Published on:

Selenium Design Patterns and Best Practices

Nothing is more soul crushing than having a test suite that is all over the place and just fails randomly. If you have ever felt this way, I’ve got the cure for all your test automation flakyness blues.

In this episode Dima Kovalenko, author of Selenium Design Patterns and Best Practices shares with us the best strategies to create reusable, maintainable, stress-free Selenium tests.

About Dima Kovalenko

Dima_Headshot

Dima is the author of Selenium Design Patterns and Best Practice. He started his career in 2003 as a quality assurance intern during his summer internship at Rosetta Stone. Since then, he has spent many years testing software in both a manual and automated fashion in companies such as ThoughtWorks, Groupon, and many others.
He has participated in many different types of projects, including language-learning software, web e-commerce stores, and legacy maintenance for telecommunication and airline companies. His experience includes support to Ruby, Java, iOS, Android, and PHP projects as an automated tester and software developer.
His first real experience with computers was at the age of 14, shortly after moving to the United States of America from Russia; this encounter has sparked a lifelong passion for technology.

Quotes & Insights from this Test Talk

  • In automated test projects, the Spaghetti pattern development is characterized by lack of perceived architecture and design.
  • The Hermetic test pattern is the polar opposite of the Spaghetti pattern; it states that each test should be completely independent and self-sufficient.
  • Refactoring is the act of restructuring your code to improve the internal efficiency, stability, and long-term maintainability without adding or modifying any of the underlying functionality. At the end of the refactoring session, we should not have any new tests; the only goal is to improve the existing tests.
  • Types of test to focus on when automating are the money path, new feature and bug-growth strategy
  • Creating automated tests with the same care and respect as the application that we are trying to test is the key to long-term success.
  • The open source Selenium-Grid extra helps simplify the management of the Selenium Grid Nodes and stabilize said nodes by cleaning up the test environment after the build has been completed
  • Never slow down and never stop learning!

Selenium Book

Resources

Connect with Dima

May I Ask You For a Favor?

Thanks again for listening to the show. If it has helped you in any way, shape or form, please share it using the social media buttons you see on the page.

Additionally, reviews for the podcast on iTunes are extremely helpful and greatly appreciated! They do matter in the rankings of the show and I read each and every one of them.
TestTalks Sponsored SauceLabs

Sponsored by Sauce Labs

Special offer for TestTalks listeners, get 20 hours of automated testing for free when you sign-up with promo code testtalks14 (more info).

6 responses to “30: Dima Kovalenko : Selenium Design Patterns and Best Practices”

  1. Hi Joe

    I purchased this book, and I was really glad to hear this podcast, especially it was with Dima , the author of the book.

    Thanks to both of you.

  2. I find it amazing that this, being a “test talk” about QA and all, has the HTML layout all destroyed (http://imgur.com/a/ODk2f).
    The header is absolutely and clearly broken, the footer looks bad, and you implemented almost-infinite scrolling along a footer.
    Great job guys.

    • LOL – Sorry you make a good point. Shame on me. I think it has something to do with the theme Im using and some browsers. I can’t repro on my machines. I have to change themes on my TODO list to resolve this issue since others have reported it. What browser version are you using?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.