BloomScheme Blog

株式会社ブルームスキーム公式ブログ

UIテスト効率化

現在UIテストシナリオを全て手動で実行すると7時間かかるため、1人日潰れます。新機能をモリモリ追加している時期のため、頻繁にUIテストを実行したいのですが、例えば週1回実施すると、誰かのリソースの20%がUIテストだけで終わってしまう状況です。

これを解決するため、UIテスト自動化ツールを3種類試しました。

iMacros:

imacros.net

Puppeteer:

developers.google.com

 Katalon:

www.katalon.com

結果、弊社はKatalonでUIテストを自動化することに決定しました。

iMacrosはChrome版が文字入力を拾わないため却下、puppeteerはヘッドレスなためCIに組み込めるメリットはありますが、環境構築やテストコード含めエンジニアのメンテナンスが必要な点がデメリット。GUIでテストを作成できるpuppeteer recorderというツールもありますが、文字入力の認識に少し難がある、GUI操作で生成したコードを結局コンソールで実行する必要がある、生成されたコードが若干不安定(実行すると諸種のエラーで落ちることが多い)、といった点があり、非エンジニアが簡単にUIテストを生成するには少しハードルが高い印象。

一方、Katalonはローカルにインストールするスタンドアローンなアプリで、非エンジニアでもExcelのマクロを記録する感覚で使えます。テストの時間的コストを金銭換算した場合、誰でも実施できるというのは大きな魅力。生成されたテストもかなり安定しており、非本質的エラーで落ちることも少なかったです。

UIテストに起きがちな問題として、スクリーンショットを確認しないと分からないエラーは結局画像を確認しなければならず、テスト自動化の恩恵があまり感じられないというものがありますが、Katalonで撮ったスクリーンショットの画像差分を自動抽出することで解決が可能

UIテストをかなり自動化できそうです。自動化が完了し次第、どの程度効率化できたのか、本ブログにて報告の予定です。

f:id:BloomScheme:20190218190332j:plain