Episode 226: (REPLAY) The Croissants are Selenium w/ Jason Huggins
Categories: Podcasts , AB Testing
Hosts are replaying an episode featuring Jason Huggins, the creator of Selenium, which originally discussed UI automation and Selenium’s role in it. Jason Huggins returns to share his insights on the episode’s themes and provides context on the origins and evolutions of Selenium.
AB Testing
AB Testing - Each episode is a chat between Brent Jensen and Alan Page with an occasional special guest.
Episode Details
- Show Notes: https://podcasters.spotify.com/pod/show/abtesting/episodes/Episode-226-REPLAY-The-Croissants-are-Selenium-w-Jason-Huggins-e3ehn2d
- Published: 2026-02-02T17:50:18Z
- Duration: 00:57:24
- Author: AB Testing
Overview
The podcast revisits a discussion on UI automation and Selenium, examining its creation and evolution in response to the need for cross-browser testing in an earlier era with few automation options. Originally developed as a tool for developers, Selenium has grown into a widely adopted framework, significantly influencing modern testing practices. However, the conversation also highlights how Selenium’s power can be misused, leading to brittle and unreliable automated tests that may undermine the effectiveness of testing efforts.
The discussion delves into historical testing practices, including the division of roles between developers and testers, and references Dr. Nicole Forsgren’s research on team ownership of tests, pointing out how testing responsibilities have shifted over time. Concerns are raised about the diminishing role of traditional manual testing and the move toward more code-driven testing approaches. The podcast also touches on the impact of WebDriver, which some view as a potential successor to Selenium, and considers the future of testing with the emergence of AI-driven automation capable of generating tests automatically from user behavior and production data, reducing the need for human input.
Finally, the episode emphasizes the risks associated with improper use of automation tools and the importance of adhering to strong testing principles. It stresses that the focus should remain on delivering core user value rather than over-automating for its own sake, suggesting that thoughtful application of automation is key to effective software testing.
What If
-
What if you implemented a test automation linter to enforce best practices in Selenium test scripts?
- Concrete move: Integrate a static analysis tool that checks for fragile selectors (like XPath without unique IDs) and enforces the use of CSS selectors with meaningful class names. This tool would flag tests that rely on brittle automation patterns.
- Why now: The text highlights the widespread misuse of Selenium due to poor selectors, which leads to maintenance-heavy automation. Addressing this upfront ensures your tests are robust from day one.
- Expected upside: Reduced test flakiness, faster debugging, and a scalable automation suite that aligns with the principle that tools arent inherently badits their use that matters.
-
What if you adopted a test-first, developer-owned approach to all new features?
- Concrete move: Write unit and integration tests before implementing new code, using frameworks like pytest or Jest, and ensure all tests are maintained alongside the codebase. This ensures developers own the testing strategy rather than siloed test teams.
- Why now: Dr. Forsgrens research shows that dev teams owning tests correlate with better business outcomes. For a solo operator, this eliminates the divide between development and testing, reducing context-switching and ensuring quality by design.
- Expected upside: Higher code reliability, faster iteration cycles, and alignment with the evolution of testing where developers write tests that are lean, focused on value, and not just “checking boxes.”
-
What if you prototyped an analytics-driven test generator using AI to auto-generate test cases?
- Concrete move: Use production user analytics (e.g., click heatmaps, session recordings) to train an AI model that generates test scripts for “cow paths” of user behavior. Feed this into Selenium/WebDriver to automate regression testing for critical user flows.
- Why now: The text discusses the future of AI-driven testing where tests are generated from analytics data rather than manually. For a solo developer, this reduces the burden of writing tests while covering the most valuable user interactions.
- Expected upside: Automated regression testing for high-impact workflows, freeing you to focus on complex logic or innovation rather than maintenance. This aligns with the idea that analytics-driven development (ADD) could redefine test automation.
Takeaway
-
Adopt Stable Selectors in Automation: When using Selenium or similar tools, prioritize writing tests with unique, descriptive selectors (like IDs) rather than brittle XPath or CSS queries copied directly from browser dev tools to ensure long-term reliability and reduce maintenance overhead.
-
Encourage Developer-Owning Tests: Shift responsibilities to developers for writing and maintaining automated tests, as this leads to more thoughtful, necessary test designs and aligns with research showing teams that own automation see better business outcomes.
-
Upskill Beyond Tool Mastery: Invest in learning analytics, system understanding, and strategic testing principles (e.g., “money path” analysis) instead of focusing solely on tool-specific skills, to future-proof your role in an evolving industry.
-
Use CSS Selectors for Performance: Prefer CSS selectors over XPath in Selenium workflows, as they are faster, more widely supported in modern browsers, and better aligned with best practices for scalable, maintainable test code.
-
Break Down Team Silos: Foster collaboration between developers and testers by sharing ownership of automation, ensuring clear communication about code changes, and avoiding the “us vs. them” dynamic that leads to fragile test environments and poor maintenance practices.
For a PDF of longer Software Testing Podcast Episode Summaries with Briefing Notes and more detailed summary notes, visit EvilTester Patreon Podcast Summaries.