Selenium Committer Day 2017に参加してきました

7月1日にヤフー株式会社で開催されたSelenium Committer Day 2017に参加してきました。 Seleniumのコアコミッターの方々の話を日本で聞ける貴重な機会。Seleniumの歴史から、Seleniumを実務を使う上でのTipsまで、充実の内容でした。

Seleniumの次に来るのは何か? - Jim Evans

Seleniumの過去と現在と未来について熱く語っていただきました。

Selenium 1.0から、JSON Wired Protocolを用いたwebdriverベースのSelenium 2.0になり、所謂クリスマスまでにリリースと言われたSelenium 3.0まで。 Firefox 48とそのextensionの規約変更に伴う開発の苦悩の話などの裏話も聞けました。 Selenium 4.0からはW3CJSON wired protocolに準拠する形でのリリースになるので 、ブラウザベンダーだけでなく、Sauce LabsやBrowserstackなどの周辺ツールベンダーへの影響も大きいそうです。 Selenium 4.0のリリース動向も含めて、各社ベンダーの対応に注視していきたいです。

また、コアコミッターさんとは言え、ボランティアという立場であるということを心なしか強調しているように感じました。ユーザーとしては感謝の気持ちを忘れないようにしたいです。

SeleniumとBrowsermobを活用したE2Eテスト分析 - Marcus Merrell

A/Bテストなどの、Business Intelligenceな評価にも、QAとして積極的に関わっていきましょうというお話。 BIって確かにビジネスの意思決定などにおける重要度は大きい割に、機能試験などに比べ疎かになりがちな気がします。

実際のBIの評価の方法として、BrowserMob proxyを用いた評価を紹介していただきました。 BrowserMob proxyはselenium committerの方が開発しているようで、Seleniumとの親和性が非常に高いとのことです。 BIの評価は仕事でもやっていますが、自動試験という形での運用はできていないので、紹介していただいた、BrowserMob ProxyやWAATなどと併せて自動化を進めたいと思います。

github.com

コンテナを使ったテスト - Manoj Kumar

CICDに耐えうる試験インフラを、と言うことで、スケーラブルなテスト環境のためのDockerについてのお話。 従来のVMベースの仮想化技術と比較したDockerの優位性を説明した上で、Selenium, Selenium GridをDockerで構築する評価環境と評価の実施ということでDDD(Docker Driven Development)という言葉を用いて、その手順やツールなどを紹介していただきました。

実際に仕事でDockerは使っているものの、Reusableではありつつも、ScalableにはDockerを有効活用できていない気がしているので、Selenium Gridなども含めて取り入れきれていない技術もあるので、これを機会にいくつか取り入れてみようと思います。

Manoj-sanの話の中で紹介頂いた、各種ツールのGithubのリンクなどを貼り付けておきます。

コミッター + 会場 Q&Aパネルディスカッション

聞くのに夢中でメモできず。。省略

E2E自動テストの長期運用に耐えるための5つの手法 - Toshiya Komoda

www.slideshare.net

内容はslideshareを参照ください。 debugログの改善なんかは地道な活動ですけど、すごく重要だなあと最近思います。テストツールのユーザビリティが疎かになった結果、職人にしか理解できないという状況が現在の職場でも起きています。 ユーザーフレンドリーなテストを作るのも、テストエンジニアの重要な仕事ですね。

あとinput topic identification with machine learningもすごいなあと思いました。Page Objectをメンテナンスするコストも排除できるし、ユーザビリティの評価にも使えたりと、使い方次第で広がりもありそうです。

Let's step into the OSS community - KazuCocoa

CookpadのKazuCocoaさんから、OSSのcommunityに参加して行きましょうという話。

Cookpadは会社としてもOSSでの活動を推進しているとのこと。弊社は結構長いプロセスを踏まないといけないので、そういった環境は単純に羨ましいです。 OSSでの積極的な活動によりRubyのコアコミッターをハイアリングしたりと、会社としてもそのメリットを享受できているようで、そういったメリットを自分の会社も理解した上で、もう少し積極的な姿勢に変わっていければと思っています。

私もサンフランシスコで働いたときの経験から、ソフトウェアという世界で生きる上でOSSで活動することは、自分のキャリアを豊かにする小さな意味はもちろん、世界を豊かにするという大きな意味も含めて重要な活動だと思っているので、今後はもう少しそういった活動に足を突っ込んでいきたいです。

継続的E2Eテスト - Tomotaka Asagi

www.slideshare.net

内容はslideshareを参照ください。 DeNAの方の内容と重複するような内容。きっと多くの人が、Seleniumを使ったE2Eテストを継続的に実施することが難しいと考えているから、このような内容の発表が多いのではと思います。 実際、Seleniumを使ったE2Eテストの継続的な運用を、最初から成功させているようなところは少ないのではと思います。SeleniumのE2Eテストの設計は、最初から100点満点なものを作るのは難しいと思うので、テストウェアを継続的に改善していける体制を整えることが、E2Eテストを継続的に運用するコツなのかなあと個人的には思っています。

Windows Application DriverでWindowsアプリも自動テスト^_^ - Kenichiro Ota

Windows Application Driverを実際に触った上での感触と感想を話していただきました。 実際の話して頂いた内容ではないですが、同じくOtaさんのWindows Application Driverを触ってみた際の記事がQiitaにあったので貼り付けておきます。 qiita.com

そもそもほとんどWindows環境でSeleniumを使ったことがないので、勉強がてらどこかで触ってみようかなと思います。

最後に

Seleniumを使うようになってから1年半くらい経ちますが、まだまだ、と言うか全然使い切れていないなあと、今回のイベントを通して思いました。 運用面で今のE2Eテストを見直していくのが最優先課題なので、まずはその辺りからやっつけていきたいと思います。