1
/
5

ヤプリのテストエンジニアによるテストの自動化の話

こんにちは、ヤプリでQAを担当している望月です。

子育てに生命を燃やす一方で、最近はDjangoとSREがマイブームです。今回はヤプリにおけるテスト自動化の取り組みについて紹介したいと思います。

なぜ自動化?

現行体制のQAが発足して半年ほどになりますが、これまでは主にQA文化の定着・各種QA/リリースプロセスの構築を中心に進めてきました。その間にも会社の成長に伴って多数のエンジニアがジョインし、開発スピードがどんどん上がっています。

そのためQAもさらに強化すべく、体制強化は進めながらも今の段階から自動化で解決できる課題にも取り組んでいきたいと考えています。

まずは直近の課題を解決

ヤプリをご利用いただいている各アプリは、ページのデザインなどこだわって作り込まれていることが多いです。そのため、プログラム修正により表示が1pxずれるような不具合が混入しても、アプリユーザーのUI/UX上で大きな問題が生じる可能性があります。

しかし、リリース毎にピクセル単位まで考慮してパターンを網羅することは実質不可能なため、実際に運用中のアプリを用いて影響がないかをチェックすることが現実的です。ただ現時点で250を超えるアプリがあり、また今後も増え続けることを考えると、目視でのチェックは難しい状況です。

この課題に対して、まずは取り組み第一弾として自動化での解決を試みています。


なるべくシンプルな処理に

最初なのでなるべくシンプルに、各ページのスクリーンショットを自動で取得して、前バージョンと比較する方針としました。

1)AppiumでiOS/Androidアプリの各ページを表示
2)各ページでスクリーンショットを取得
3)前バージョンのスクリーンショットと比較
4)差異があるページはSlackに通知して目視でチェック


作っただけで終わらせない

各アプリは定期的にセール情報が掲載されたり、季節物のページが追加されたり、ページ構成が頻繁に変わります。自動化にあたって運用後のメンテナンス性は重要ですが、上記変化への対応ができないといずれ利用されなくなってしまいます。

今回は2段階の対応により、メンテナンス性の向上を図っています。

「Appiumの実行スクリプト」と「ページ構成の情報」を別管理
各アプリでページ構成の情報をyamlで定義して、Appiumの実行スクリプトはyamlをロードして順番にページ表示・スクリーンショット取得するだけの流れにしました。

これにより、

  • ページ構成が変わっても、実行スクリプトに手を入れず定義情報の変更のみで対応可能
  • 新しくアプリが増えても、定義情報の追加のみで対応可能
  • yamlなので非エンジニアでもある程度の調整が可能

などの効果を狙っています。

「ページ構成の情報」を自動生成

こちらはToBeですが、アプリのページ構成などの情報が更新されたら、その更新データを元にyamlの定義情報を自動生成する仕組みを検討中です。

ここまで実現すればメンテナンスの自動化にも繋がるため、意欲的に取り組んでいます。


最後に

まだ開始したばかりで効果計測はこれからですが、今後も手動/自動それぞれが有効な箇所を見極めながら自動化を促進していきたいと考えています。

既にこれ以外にプッシュ通知の到達確認を自動化したり、ブラウザベースのスモークテストをSeleniumで実行したり、アナリティクスデータを自動で検証するなどの取り組みを開始していますので、また機会がありましたら紹介できればと思います!

QAエンジニア
アプリで世界を変える!ヤプリを守るQAエンジニアWanted!
【誰もが簡単にスマホアプリを作れる世の中に。】 「Mobile Tech for All」をミッションに、アプリ開発・運用・分析をノーコードで提供するアプリプラットフォーム「Yappli」( https://yapp.li/ )を提供しています。 Yappliの導入実績は700社を超え、店舗やEコマースなどのマーケティング支援から、社内や取引先とのコミュニケーションをモバイルで刷新する社内DX(デジタルトランスフォーメーション)、バックオフィスや学校法人の支援まで、幅広い業界の課題解決に活用されています。 2020年12月にはグロース市場へ上場し、アプリのダウンロード数も累計2億を突破しました。今後もアプリ開発のノウハウを持たない事業会社にとって無くてならないプラットフォームを目指し、事業・組織ともに成長を続けていきます。 導入事例:https://yapp.li/voice.html インフォグラフィック:https://yapp.li/anniv/2020/
株式会社ヤプリ
iOSエンジニア
優秀なエンジニアの元で働きたい!注目の成長ベンチャーでiOSエンジニア募集
【誰もが簡単にスマホアプリを作れる世の中に。】 「Mobile Tech for All」をミッションに、アプリ開発・運用・分析をノーコードで提供するアプリプラットフォーム「Yappli」( https://yapp.li/ )を提供しています。 Yappliの導入実績は700社を超え、店舗やEコマースなどのマーケティング支援から、社内や取引先とのコミュニケーションをモバイルで刷新する社内DX(デジタルトランスフォーメーション)、バックオフィスや学校法人の支援まで、幅広い業界の課題解決に活用されています。 2020年12月にはグロース市場へ上場し、アプリのダウンロード数も累計2億を突破しました。今後もアプリ開発のノウハウを持たない事業会社にとって無くてならないプラットフォームを目指し、事業・組織ともに成長を続けていきます。 導入事例:https://yapp.li/voice.html インフォグラフィック:https://yapp.li/anniv/2020/
株式会社ヤプリ
株式会社ヤプリの採用/求人一覧 - Wantedly
株式会社ヤプリの採用・求人募集140件を掲載中。職種や採用形態からあなたにあった募集を見つけることができます。募集では「どんなことをやるのか」はもちろん、「なぜやるのか」「どうやるのか」や実際に一緒に働くメンバーについて知ることができます。
https://www.wantedly.com/companies/yappli/projects
株式会社ヤプリ's job postings
9 Likes
9 Likes

Weekly ranking

Show other rankings
Like Masahito Mochizuki's Story
Let Masahito Mochizuki's company know you're interested in their content