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 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!
Resources
- Cucumber – a BDD Tool
- Selenium-Grid extra
- Docker -An open platform for distributed applications for developers and sysadmins.
Connect with Dima
- Twitter:@dimacus
- Blog: agilesoftwaretesting.com
- Company: Groupon
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.
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).