レポート

コミッターが語るSeleniumのいま,そして未来 ―「Selenium Committer Day 2017」レポート

この記事を読むのに必要な時間:およそ 5 分

2017年7月1日,東京ガーデンテラスのヤフー株式会社にて,日本Seleniumユーザーコミュニティ主催の「Selenium Committer Day 2017」が開催されました。今回は3名のSeleniumコミッターを招き,今後のSeleniumの動向や,さまざまなツールを併用したテスト事例の紹介,そしてコミッターとのQ&Aパネルディスカッションが行われました。また,計4本のスポンサーセッション・公募セッションも設定され,会場で行われた懇親会も含め,非常に充実した勉強会になりました。

Jim Evans ―Seleniumの次に来るのは何か?(What’s Next For Selenium?)

1番手であるJim Evans氏は2010年からSeleniumのプリンシパルコントリビュータを務め,とくに.NETバインディングやIEドライバーの開発で貢献してきました。今回のセッションは,2004年に開発されてから現在までのSeleniumの足跡を振り返り,その上でSeleniumの今後について発表しました。本記事では,Seleniumの今後の方向性について語られた部分を中心に記載します。

Jim Evans氏

Jim Evans氏

Selenium 4.0 ―W3C仕様に準拠したリリース

W3C(World Wide Web Consortium)という団体があり,そこでHTMLやCSSなどのWeb技術の規格が策定されています。Selenium 4.0からは,このW3Cの仕様に準拠する形でリリースされる予定になっています。

これにより,ブラウザベンダーがW3Cの標準に合わせて,それぞれドライバーを提供・メンテナンスするようになります。ブラウザを一番よく知る人たちが,ブラウザを自動化するツールを提供・維持する形が望ましいのです。Seleniumはオープンソースプロジェクトですが,ドライバーの中身に関してオープンソースにするかどうかは,各ブラウザベンダーに委ねられます。Seleniumがオープンソースでなくなる,ということではありません。

Seleniumのこれから

中期的に考えると,Seleniumプロジェクトはスリムになっていく方向で進んでいくでしょう。コードの量を減らし,バインディングされる言語も限られてくると思います。ただ,実際どういった形で継続されていくのかはわかりません。たとえばドキュメンテーションひとつとっても,現在あまり良い状態ではないということはわかっています。レコード・プレイバックツールのSelenium IDEやSelenium Builderも最近メンテナンスできていません。しかし,状況を良くしていくにしても,時間が必要です。これはあくまでもボランティアプロジェクトですから,常に人手が充足しているというわけではありませんし,貢献しているメンバーが興味を持っていないプロジェクトについては,どうしても後回しになってしまうのです。

Seleniumが誕生した2004年から13年間で,本当にいろいろなことがありました。世界中に数百万人のユーザが存在するプロジェクトになりましたが,まだまだ拡大していくのではないかと考えています。新しいものがどんどん現れるといいですね。

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

2番目に登壇したMarcus Merrell氏は,QAエンジニアとして長いキャリアがあり,ここ数年は,RetailMeNot社の技術責任者として,ユーザー駆動機能開発のマネジメントも行っている方です。

Marcus Merrell氏

Marcus Merrell氏

Software Freedom Conservancy

初めにSoftware Freedom Conservancyという団体について触れさせてください。この団体はブランディングやコピーライトなどのオープンソースの管理をしているNPO団体で,非常に限られた予算で活動しています。SeleniumプロジェクトはこのSoftware Freedom Conservancyの支えにたいへん助けられており,たいへん感謝しています。

ユーザアナリティクス

Webサイトを訪れるユーザがどのように行動を分析するGoogle-Analyticsを使うことで,企業はユーザがどのようにサイトを移動するかがわかります。

こうした分析で得た,ユーザの動きの情報を生かすことができます。たとえば,ユーザがよく見るところに人気商品のリンクを設置したりできます。広告とアナリティクスが果たす役割は似ています。

損失を出した失敗談

A/Bテストは,たとえば90%は現状のものを残して,10%だけは変更するといった仕様変更のときに行われます。変更した部分に対してプラス効果があったら,そちらに移行します。QAのメンバーは,こういう要件が入ってきたときに,ほとんど話し合いに参加しません。

4年前に,とあるクーポンページのリリースに携わっていたときのことです。一部の仕様が変更されることになりましたが,QAは誰一人このことを知りませんでした。知らないままでA/Bテストが実施され,機能がリリースされた後で,なんと最も人気のないクーポンが一番上に表示されてしまったのです。原因はそのクーポンのインデックスがゼロにリセットされてしまっていたことでした。インデックスが少ないクーポンが上に表示される仕様について,アナリティクス側は認識していませんでした。

結果として,私たちは大変な損失を出してしまったのです。一番人気のないクーポンを,最もユーザの目につく一番上に表示してしまったのですから。それからというもの,私はアナリティクスに自分から関わるようになりました。

QAとアナリティクス

この問題は,開発プロセスにおいて,QAが上流工程から切り離されていることから起こります。通常,マーケティングで得たデータを元にビジネス戦略が決まり,その施策を実現するソフトウェアを開発するため,プロダクトマネージャ主導のもとで,開発者とQAが実装とテストを行います。開発者とQAには経験の浅い人材がアサインされることが多いこともあって,なかなかそのソフトウェアが何のために開発されているのかまで意識することができません。

そうした構造的な問題はありますが,品質を向上し,損失や信用の失墜を防ぐために,もっとQAが活躍できる場があるはずです。自分の会社がどのようにアナリティクスを活用しているかを知り,関わっていくようにしてください。QAがアナリティクスに入っていくことは,業界にとっても大事なことです。

アナリティクスに役立つツール

BrowserMob Proxyというオープンソースプロジェクトがあります。Seleniumと親和性が高く,トラフィックを監視し,やり取りされるデータが適切であるか,リンクは壊れていないかといったことをテストできます。

TestNGなどのツールでテストを行い,Kibanaで集計すれば,テスト結果が表示されます。テスト対象のWebサイトの品質がわかるのです。

また,Anand Bagmarは以前Seleniumのカンファレンスで,WAAT(Web Analytics Automation Testing)というツールについて発表していました。極めて簡単にアナリティクスのテストができるようでした。

著者プロフィール

河原田政典(かわらだまさのり)

Selenium・Appiumに偏りがちなテスト自動化エンジニア。紙の書籍と電子書籍をいかに使い分けるかが最近の関心事。
2017年10月ドイツで開かれるSeleniumConf Berlin 2017に参加するため,ついにパスポートを取得。わくわくがとまらない29歳の夏。

コメント

コメントの記入