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

こんにちは、ヤプリで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!
【誰もが簡単にスマホアプリを作れる世の中に。】 「アプリのテクノロジーを開放する」をコンセプトに、ノンプログラミングで誰でも高品質なiOS, Androidアプリの制作・運用ができるアプリプラットフォーム「Yappli」を開発・提供しています。( https://yapp.li/ ) 「Yappli」はB2B SaaSとして展開しており、直近3年間での導入企業数は300社を超え、各導入クライアントが制作したアプリの累計DL数は2800万を突破いたしました。 アプリ開発のノウハウを持たない事業会社にとって無くてならないプラットフォームへと近づきつつあります。 参考:導入事例(https://yapp.li/voice.html) これまで『SLUSH ASIA』『Tech in Asia』等の海外コンテスト、カンファレンスでの受賞経験を持ち、YJキャピタル、Salesforce Ventures、個人投資家 川田尚吾氏をはじめとして累計10.3億円を調達しています。
株式会社ヤプリ
iOSエンジニア
優秀なエンジニアの元で働きたい!注目の成長ベンチャーでiOSエンジニア募集
【誰もが簡単にスマホアプリを作れる世の中に。】 「アプリのテクノロジーを開放する」をコンセプトに、ノンプログラミングで誰でも高品質なiOS, Androidアプリの制作・運用ができるアプリプラットフォーム「Yappli」を開発・提供しています。( https://yapp.li/ ) 「Yappli」はB2B SaaSとして展開しており、直近3年間での導入企業数は300社を超え、各導入クライアントが制作したアプリの累計DL数は2800万を突破いたしました。 アプリ開発のノウハウを持たない事業会社にとって無くてならないプラットフォームへと近づきつつあります。 参考:導入事例(https://yapp.li/voice.html) これまで『SLUSH ASIA』『Tech in Asia』等の海外コンテスト、カンファレンスでの受賞経験を持ち、YJキャピタル、Salesforce Ventures、個人投資家 川田尚吾氏をはじめとして累計10.3億円を調達しています。
株式会社ヤプリ
株式会社ヤプリ's job postings
Anonymous
557823 3318020362409 1698215452 n
18668ef1 c597 4409 87be 437dee6de5d9?1546865065
892cd462 1617 48d2 b362 2a1ffa6d3416?1527866441
20155982 679952712201205 3143013050889310413 n
10628174 622643437846248 1048492477500642517 n
10 Likes
Anonymous
557823 3318020362409 1698215452 n
18668ef1 c597 4409 87be 437dee6de5d9?1546865065
892cd462 1617 48d2 b362 2a1ffa6d3416?1527866441
20155982 679952712201205 3143013050889310413 n
10628174 622643437846248 1048492477500642517 n
10 Likes

Weekly ranking

Show other rankings

Page top icon