{"id":7,"date":"2017-04-28T08:10:17","date_gmt":"2017-04-28T08:10:17","guid":{"rendered":"https:\/\/blog.mozilla.org\/fxtesteng\/?p=7"},"modified":"2017-05-22T19:13:35","modified_gmt":"2017-05-22T19:13:35","slug":"selenium-conference-austin-2017-wrap-up-notes","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/fxtesteng\/2017\/04\/28\/selenium-conference-austin-2017-wrap-up-notes\/","title":{"rendered":"Selenium Conference, Austin 2017 Wrap-up Notes"},"content":{"rendered":"<p>We went to Selenium Conference (Austin, Texas, 2017) looking for a few key things:<\/p>\n<ol>\n<li>The latest news and perspectives from the Selenium project and its core committers, particularly around formalizing the WebDriver specification<\/li>\n<li>How are teams integrating Selenium tests into their CI\/CD workflows?<\/li>\n<li>Has the nature of\/use-cases for Selenium tests changed?\u00a0 Are teams writing more, or fewer?\u00a0 What are the considerations?<\/li>\n<li>The latest in automated security, performance, and accessibility testing.<\/li>\n<li>What are the major trends among our peers &#8211; where are they going, or hoping to go with, with testing?<\/li>\n<li>And finally, though not least of all: what are the experiences and challenges in testing with Firefox, in the geckodriver-based, Marionette-backed WebDriver world?<\/li>\n<\/ol>\n<h2>Major themes throughout the conference:<\/h2>\n<ol>\n<li>Quality belongs to all<\/li>\n<li>Test establishes baseline for tooling\/apps\/practices &#8211; we are responsible for advising others on best practices<\/li>\n<li>Security<\/li>\n<li>Diversity<\/li>\n<\/ol>\n<h2>Here are a few of our highlights and takeaways:<\/h2>\n<h3><\/h3>\n<h3>Future of Headless-Browser Testing<\/h3>\n<ul>\n<li><a href=\"http:\/\/phantomjs.org\/\">PhantomJS<\/a> and other headless-browser testing frameworks were brought up, with the question of &#8220;who here uses a headless browser to browser the Web?&#8221; directed at the audience.\u00a0 Instead of using a third-party framework, as some do now, browser-vendor supplied testing modes should be used, once available.\u00a0 <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1338004\">Bug 1338004<\/a> tracks Firefox&#8217;s headless-browsing mode.<\/li>\n<\/ul>\n<h3>Team and Testing Culture<\/h3>\n<ul>\n<li>in many of the talks we attended, and in conversations we had, QA\/testing teams and individuals were no longer structured, organizationally-wise, or at least considered as, &#8220;separate.&#8221;\u00a0 Many testers were either directly integrated into their project teams, or, commonly as well, in &#8220;advisory&#8221; roles: bringing their battle-earned test-coverage\/approach recommendations, and adapting them with and for their team(s).<\/li>\n<li>likewise, test teams are moving much closer to controlling, or at least being partly responsible for, and having input on, the test environment, and development workflows.<\/li>\n<\/ul>\n<h3>Tooling<\/h3>\n<ul>\n<li>many teams are using Jenkins for their main continuous-integration server, as part of, typically a continuous deployment workflow; few, however, have yet migrated to or even looked at <a href=\"https:\/\/jenkins.io\/solutions\/pipeline\/\">Jenkins Pipeline<\/a>.\u00a0 Those which have, have found it useful, but have had to file bugs and use workarounds (<a href=\"http:\/\/davehunt.co.uk\/2016\/12\/19\/jenkins-pipeline-walkthrough.html\">as have we<\/a>), to have a working setup.<\/li>\n<li>also quite a few Travis CI users, as well, with the use-cases being largely similar to ours: running linters, subsets of test-suites, and\/or specialized, pre-build testing.<\/li>\n<li>somewhat surprisingly, adoption of (and tooling for) accessibility, performance, and security testing still seems relegated to a few automated tools.\u00a0 Unsurprisingly, though, these are nuanced areas which are either better (or at least primarily) served by focused teams, and\/or difficult to reliably test in an automated manner.<\/li>\n<\/ul>\n<h3>&#8220;Best Practices&#8221;<\/h3>\n<ul>\n<li>&#8220;less (fewer Selenium tests) is more:&#8221; Selenium is a great tool, but use it appropriately.\u00a0 Find ways and tools (unit tests, monitoring, etc.) to augment your testing strategy, so it&#8217;s faster, more reliable, and less maintenance.<\/li>\n<li>config as code\n<ul>\n<li>test your tests, and their test infrastructure<\/li>\n<li>goal: repeatable, disposable, and scalable test+deploy infrastructure<\/li>\n<\/ul>\n<\/li>\n<li>(prepare to) do more with your test data\n<ul>\n<li>even if you don&#8217;t think you need, or can use, now, your test data, if you can publish and store test artifacts, you might find a use for them in the near future<\/li>\n<li>Dave Hunt has started exploring this with <a href=\"http:\/\/davehunt.co.uk\/2017\/03\/21\/analysing-pytest-results-using-activedata.html\">ActiveData<\/a> and <a href=\"http:\/\/davehunt.co.uk\/2017\/04\/10\/reporting-test-results-to-treeherder.html\">Treeherder<\/a>, using our team&#8217;s projects<\/li>\n<\/ul>\n<\/li>\n<li>directly from core committers, and a recommendation of ours since at least 2012: <a href=\"https:\/\/blog.mozilla.org\/webqa\/2012\/07\/12\/how-to-webdriverwait\/\">use explicit waits as often as possible<\/a> (at least over implicit waits).\u00a0 Many agreed they would remove implicit waits from the codebase\/support, if it weren&#8217;t for the fact that many still have strategies, and appear to heavily rely on them.<\/li>\n<\/ul>\n<h3>Geckodriver and Marionette<\/h3>\n<ul>\n<li>in his <a href=\"https:\/\/www.youtube.com\/watch?v=gyfUpOysIF8&amp;t=255s\">Selenium: State of the Union keynote<\/a>, Simon covered <a href=\"https:\/\/w3c.github.io\/webdriver\/webdriver-spec.html\">WebDriver&#8217;s<\/a> new status as a Candidate Recommendation, acknowledging some of the community&#8217;s frustrations at the &#8220;speed at which Geckodriver has been moving&#8221; and asking if anyone in the audience had been &#8220;bitten by Firefox.&#8221;\u00a0 However, after catching the audience up briefly on Marionette and the lead-up to what is now the &#8220;probably the first spec compliant WebDriver implementation,&#8221; calling testing with the specific combination of the latest <a href=\"http:\/\/www.seleniumhq.org\/download\/\">Selenium<\/a> + <a href=\"https:\/\/github.com\/mozilla\/geckodriver\">Geckodriver<\/a> + <a href=\"https:\/\/nightly.mozilla.org\">Firefox nightly<\/a> &#8220;a pretty sweet combination.&#8221;<\/li>\n<li>outside of the presenters&#8217; talks, we fielded a few comments and questions about Geckodriver, but with rare exception, most folks hadn&#8217;t-yet tried the above combination, or had primarily hit <a href=\"https:\/\/github.com\/seleniumhq\/selenium\/issues\/2110\">issues with Firefox 47.0<\/a> (fixed in 47.0.1), or had tried using <a href=\"https:\/\/github.com\/SeleniumHQ\/selenium\/issues\/2559\">Firefox 48+ without Geckodriver<\/a>.<\/li>\n<\/ul>\n<h3>Core Committers&#8217; Panel, and Selenium&#8217;s Future<\/h3>\n<ul>\n<li>one of the key topics in the <a href=\"https:\/\/www.youtube.com\/watch?v=OiCBCnmr4cA&amp;index=25&amp;list=PLRdSclUtJDYXFVU37NEqh4KkT78BLqjcG\">Closing Keynote: Q&amp;A With the Selenium Committers<\/a> panel was their hope that once WebDriver&#8217;s specification has been finalized, browser vendors take the brunt of development and maintenance, helping the project move faster, yet be stable and continue to add features testers need.<\/li>\n<\/ul>\n<h3><strong>Final Thoughts<\/strong><\/h3>\n<p>Rebecca Billings and Stephen Donner both really enjoyed <a href=\"https:\/\/www.youtube.com\/playlist?list=PLRdSclUtJDYXFVU37NEqh4KkT78BLqjcG\">Selenium Conference 2017 in Austin<\/a>. It was well organized and offered a lot of interesting talks to attend. Not to mention that it was well attended by many industry peers, which provided valuable networking. We both look forward to attending a <a href=\"http:\/\/seleniumconf.com\/\">future event<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We went to Selenium Conference (Austin, Texas, 2017) looking for a few key things: The latest news and perspectives from the Selenium project and its core committers, particularly around formalizing &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/fxtesteng\/2017\/04\/28\/selenium-conference-austin-2017-wrap-up-notes\/\">Read more<\/a><\/p>\n","protected":false},"author":512,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[409],"tags":[19632],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/posts\/7"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/users\/512"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/comments?post=7"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/posts\/7\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/media?parent=7"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/categories?post=7"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/fxtesteng\/wp-json\/wp\/v2\/tags?post=7"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}