2017/7/1に行われた、Selenium Committer Day 2017 – connpassに行ってきました。

今回はSeleniumコミッターの方々の講演もあるということで、先着200名のキャパに対して250名くらい応募があって、結局仕事の都合とか街が多すぎとかでキャンセルが出て、イベントページ上は191名の参加でした。

以下、ゲストスピーカーさんの各セッションとQ&Aの内容についてメモ書き&雑感です。

なお、見出しはイベントページからのコピペです。敬称略、実際の講演時刻と異なる場合がありますのでご了承ください。

※意図的にミスリードしてる箇所はありませんので、誤りがあったら指摘いただけると本当に嬉しいです。

Nozomi Ito 開会の挨拶 13:00-13:10

今日でたまたまコミュニティ4周年。

Slackのチャットルームは人が増えていて、質問や回答が活発に行われている。みんな参加しよう。(私は完全ROM専になってます・・・)

Jim Evans Seleniumの次に来るのは何か? (What’s Next For Selenium?) 13:10-14:00

Jim Evans(@jimevansmusic)さん | Twitter

.NETバインディングやIEドライバーの開発をされている方。

Seleniumの歴史とこれからについての講演でした。

歴史については、javascriptで動かしていたころに始まり、Webdriverになり、3.0になったりMozillaと色々あったり・・・といった内容。本とか読めばある程度は書いてあるのでさらっと知っていたものの、やはりコミッタの方の口から「当時クリスマスにはまでには3を出すよ!(ただし今年とは言っていない)」のネタが聞けたので、会場(の皆の心の中は)大盛り上がりでしたね。

講演の時間配分的にはこの歴史の話が多かったのですが、個人的にはやっぱりこれから先が知りたいところで。

「Selenium4はクリスマスまでにリリースするよ!」というジョークが飛び出したり、あとはプロジェクトのスリム化を進めたり、Seleniumのオープンソース部分が少なくなる?という発言も。

これは会場に若干の誤解を与えたようで、後のほうの質問タイムで「Seleniumはオープンソースじゃなくなるの?」といった質問が出ていました。

これは間違いで、各ブラウザ向けドライバーをブラウザベンダーが作成しているため、例えばEdgeドライバーの中身やSafariドライバーの中身をオープンソースにするかどうかは、ブラウザベンダーの判断次第だよ、ということ。

そういった各ブラウザ向けドライバーは、前は有志が作っていたこともあってオープンだったのを、各ブラウザベンダーが提供するようになったおかげで精度が上がった、という側面もありますし、一概に悪いことではないなと個人的には思っています。

一方でIEドライバーなんかはMicrosoftがメンテをもうしないので、Seleniumコミュニティ側でメンテをしていくそう。

また皆が気になるIDEどうなるの問題については、正直分からないそうです。

コミッタやその他コントリビュートしてる方々の間でIDEなどのキャプチャリプレイ部分の優先度がそれほど高くないこともあり、いつまでに何を作るみたいな将来は見えていないそうです。

Marcus Merrell SeleniumとBrowsermobを活用したE2Eテスト分析 (Using Selenium and Browsermob to Test Analytics End-to-end) 14:00-14:50

mmerrell(@mmerrell)さん | Twitter

「(一つ前のゲストスピーカーの)ジムほど(発表しながら)歩き回るかはわかりませんが」という軽快なジョークと共にスタート。

Web/User analyticsのお話でした。

マーケティングとQAの間に距離、例えば

marketing -> business intelligence -> product manager -> engineering -> qa

といった流れで決定事項や情報が回ってきてるのって遠いよね、という問題。

実際にMarcusさんの近傍では、マーケティング側が入れたアナリティクスタグのミスによってWebサイトに想定外の動作が起こり、4時間で12万ドルの損害を出したという経験があるそうです。こういったインパクトのあることを体験したら、それは問題意識持ちますよね・・・

しかも、こういったアナリティクス部分などは「タグ入れるだけでしょ」とかとか、新人エンジニアや新人QAがアサインされることも多くあって、でもそういう「どうでもいい」ところではない、と。もしデータが間違っていたりすると、金銭や信用が簡単に失われる。

なので、テスト・QAをする側も、そういったマーケティング、アナリティクスの部分まで首突っ込んでいって情報集めましょう。という話だと捉えました。

Manoj Kumar コンテナを使ったテスト (Testing Inside Containers) 15:00-15:50

「来たのは初めてだけどニホンダイスキだよ!今日のスライドのデザインも日本の国旗をイメージして、白ベースに赤い文字を入れて作ったんだぜ」というナイスガイKumarさん。実際スライドデザインが綺麗で見やすかった。

Assert Selenium – Selenium Automation in a right way!というブログをやっていて、シドニーに住んでバスケとカヤックが趣味だそうです。(言ってみたいわ)

今回は機能テストのDocker化のお話でした。

いまどきのソフトウェア・ウェブ開発は、

  • リリースまでのスピード
  • コスト削減
  • パラダイムシフト(CI, CD, DevOps…)

など要求が厳しい。

なので効率的にテストを行っていく必要がある。

効率よく行うためには自動化なんだけども、色々と課題があって。

できるだけ速くテストしたいし、継続的にテストしたい。

→テストが大きくなる。

→時間が伸びる

→パラレル化する

と進んでいくものの、メンテが大変になるし、CIツールも導入やメンテの面でコストがそれなりにかかる。

そこでコンテナ!

この後Docker等コンテナとVirtualMachineの違いの説明や、docker selenium関連のオススメツールとしてzalando/zalenium: Allows anyone to have a disposable and flexible docker-based Selenium Grid infrastructure featuring video recording, live preview and online/offline dashboards.など挙げてました。

コミッター + 会場 Q&Aパネルディスカッション 15:50-16:40

ゲストスピーカーの発表の後は、個別にQ&Aタイムを設けずにパネルディスカッションというスタイルでした。

一部上のセッションレポでQ&Aの内容を含めたので、以下はセッションの全てではないですが、いくつかピックアップして載せておきます。

SeleniumとAppiumの統合はある?

→ないよ

Seleniumプロジェクトはデスクトップブラウザの自動化、Appiumは他のことを目的としている。実際の業務でも、デスクトップソフトのソースとモバイル版のソースを同じリポジトリに入れて開発したことがあるんだけど失敗だった。iOSとAndroidも分けたくらい。

同じことがSeleniumとAppiumにも言えると思う。

アルバムを出したそうですが>Jim

2枚出してる。ロックなやつ。もうほぼミュージシャンとしては活動していないんだよね。

Jim Evansでspotifyして!

headless browserが出た時どう思ったか。使っているか。

その手の質問が出たときに、いつも逆質問するんだけど、なぜヘッドレスを使う?はやくなるから?実際速くないよ。ブラウザが自分のマシンをコントロールしてほしくないって?Dockerとかあるよ。

もう一つ、失礼かもしれないけど、これもいつも聞いていて、自分がお客さんとしてWebサイトを訪れるときに、ヘッドレスブラウザ使ったことある?無いでしょ。

壊れにくいテストケースをつくるには

通常テストの環境ではチェックインした1日後くらいにテストをして、壊れて直さないといけなくなる。

コードをチェックインする前にデベロッパに壊れたことを認識してもらうことが出来ると良い。

あとは教育する。良いロケータと悪いロケータを。

それとコーディング規約を守ってもらう。

Seleniumのコードを静的解析して、良いテストか悪いテストかを評価してくれるようなツールを開発中。

デイブハフナーさんのlocution

Locution: Grading Your Selenium Tests

以上、ゲストスピーカー部分のレポートでした。スライド等公開されたら追記していきます。

スポンサー&公募セッションはコチラ

Selenium Committer Day 2017参加レポートその2〜スポンサー&公募セッション編 | テストウフ