Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

安定・スケールするAppiumテストを実現するための、最先端のモバイルテスト環境と戦略とは【Appium Conf 2019】

Appium Conf 2019参加レポート 第3回

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

 6月14日から15日にかけて、インド・バンガロールでAppium Conf 2019が開催されました。300人を超える自動化エンジニア、QAエンジニアが集い、Appiumを活用した自動テストを中心に30以上ものセッションが行われました。今回は主にAppiumをはじめとしたモバイルテストを実行させるテスト環境についてのセッションをまとめて紹介します。

目次

Appiumをはじめとしたモバイルテストを安定・高速化させる重要性

 Appiumは実際に対象アプリを動かすため、主にモバイルアプリのE2E UIテストとして用いられます。

 テストピラミッドからも分かる通り、E2E UIテストは以下の特徴があります。

  • 実行時間がかかりやすい
  • 環境要因などで不安定(Freaky)になりがち
  • すべてを結合させた上でテストをするため、テストの忠実度は高い
「Test Pyramid」(Martin Fowler)より引用

「Test Pyramid」(Martin Fowler)より引用

 そのため、適切なサイズのE2E UIテストをいかにして安定・高速に動かすことができるかが重要になってきます。

 今回のAppiumConfでも、AppiumをメインにE2E UIテストを安定・高速で実行できる環境に関するセッションがいくつかありました。

安定した複数のブラウザ・モバイルテスト環境を作るためには

 Diego Molina氏による「Building a Mobile Testing Infracture: What I Learned」では、彼がブラウザ・モバイルテスト環境を作る中で得た学びやTipsを紹介していました。

 セッションでは、安定したテスト環境を提供するためには下記のポイントが重要だと主張していました。

  • 独立性(Docker, Virtual Box, QEMU)
  • Infrastructure as Code(Puppet, Ansible, Chef)
  • パフォーマンスモニタリング(Prometheus)

 テスト環境起因による不安定を減らし、安定的にテストを動かすためには、テスト環境にも本番アプリケーションと同レベルの環境を提供すべきという点でついては私も共感しました。

 また、そのテスト環境のスコープ・戦略をよく考える必要があるとも主張していました。

 例えば実機デバイスを使ったテスト環境の場合、簡単にスケールしたりクリーンな状態にするのは難しく、メンテナンスコストも高くなりがちです。そのテスト環境でWeb画面のレスポンシブだけを確認するのはコストパフォーマンスに見合いません。提供するテスト環境ではどういうテストを実行させたいのか、それは他のプラットフォーム(今回だとエミュレーターなど)でも代替できないかなどを十分に検討する必要があると主張していました。

 Diego Molina氏はSauceLabsというブラウザ・モバイルのクラウドテスト環境を提供するサービスのエンジニアのため、ブラウザ・モバイルテスト環境に関する豊富な知見がありました。セッションでも、それぞれのブラウザ・モバイルOSなどでどのようにテスト環境を作ればよいか解説してあり、現場でも活用していきたいと思います。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • 根本 征(株式会社メルカリ)(ネモト タダシ)

    株式会社メルカリ Automation & QA グループ(通称:AQA)自動化エンジニア。 2016年4月に新卒でメルカリに入社。QAエンジニアと共にモバイルをメインとしたUIテスト自動化を推進していく傍、モバイル CI / CD改善や社内の生産性を上げるための自動化・サポートを行なって...

バックナンバー

連載:「Appium Conf 2019」レポート
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5