レポート

モバイルでもクラウドでもSelenium「第2回日本Seleniumユーザーコミュニティ勉強会」レポート

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

クックパッドアプリの開発を支援するAppiumの話し(松尾和昭氏)

松尾和昭氏

松尾和昭氏

クックパッドでテストエンジニアとして活動している松尾氏,今回はSelenium勉強会ということもありAppiumの話で大丈夫かと思ったが,そんなことはまったくなかったので一安心している,と冒頭に述べたあと,今回の発表の経緯について,Appiumに関するブログ記事を書いたら,声をかけられた」と述べられました。

Appiumを使うまでの経緯

Appiumは,モバイルアプリのテストを自動化できるツールです。Webを飛ばしてモバイルアプリと言う流れは,世界的な流れとして一気に来ており,クックパッドでも,モバイルファーストということでモバイルに力を入れています。モバイルのテストにはAppiumを使ってみることにしました。

リリースビルドをテストする

描画テストを実行する場合,SDK+専用ビルドで行っていたが,これはリリースビルドとは別物で,追加でリリースビルドの動作確認もしなければいけませんでした。デバッグ用のSDKを内蔵して作ったビルドで,UIが崩れるという事象も起きていました。Appiumを使えば,リリースビルドに対し,OSの提供するテストフレームワークを使用してテストを行えるようになります。

Appiumの良い点

松尾氏は,Appiumの良い点として以下を挙げました。

  • リリースビルドをテストできる
  • 他のさまざまなツールとの組み合わせが可能
  • OSの変化に追従しやすそう

Appiumのあまり良くない点

逆にAppiumのあまり良くない点は以下を挙げていました。

  • 実例がない。今も開発が活発で変化が激しく,エラーに対処するために自分たちで修正が必要なこともある
  • 実行に時間がかかる。UIからアプリを操作する点はSeleniumと同じで,工夫が必要
  • 環境構築に手間がかかり,社内に広めるきっかけの妨げになっている

クックパッドにおける活用事例

クックパッドでは,Appiumを開発の全フェーズで使っており,帰り際にテストを動かして翌朝結果を見ているとのことです。主な確認項目は,画面遷移とレイアウト崩れ(スクリーンショットで確認)を中心に,1capabilityあたり100テストケース,テスト時間は1時間とのことでした。

工夫

Appiumを利用する際の工夫として以下の点を挙げていました。

  • Appiumはまだ開発が活発にされているため,変化への追従が大事
  • Appium側の修正によってテストシナリオを修正する必要がないよう,テストシナリオとAppiumによる具体的なテスト実装を,ラッパを作って分離している

どんなテストをAppiumにまかせるか?

どのようなテストをAppiumにまかせるのがよいかについては,以下の点を挙げていました。

  • 機械が実行可能なタスクは機械に任せる
  • 人間が忘れがちなシナリオは機械に任せる
  • 人間は,機械が実施していない領域を探索的にテストする

これまでの成果と課題について

Appiumでモバイルアプリの自動テストを実行するようになって,バグをこれまでよりつぶせるようになったからか,お客様からの問い合わせが減ってきています。非常に便利なツールですが,iOS 8対応や,自動テストでカバーできる範囲は限られているので,評価体制をスケールすることなどが今後の課題としてあります。

Q&A

Q:テストは実機で行っているのですか?
A:実機は手間がかかるので,すべてシミュレータで行っています。

以上,駆け足ながら「第2回日本Seleniumユーザーコミュニティ勉強会」の紹介でした。書籍発売や大手Web企業による活用事例の発表など,日本でもSeleniumが着実に普及してきたように感じます。まだ使っていないという方は,この機会にSelenium,Appiumにトライしてみてはいかがでしょうか。

著者プロフィール

矢野聡(やのあきら)

株式会社オープンストリームにおいて,SEとして開発案件に従事。テスト嫌いだったので,何とかする方法はないかと思い「日本Seleniumユーザーコミュニティ」に参加。継続的インテグレーション,継続的デリバリーなどの単語が絡むものが好物。