Sansan Builders Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

Webテスト自動化に向けて ~ツール選定編~

こんにちは。技術本部 Quality Assuranceグループの藤原です。過去にモバイルアプリのテスト自動化の取り組みについて書きましたが、今回はWebテスト自動化に向けて各ツールの特徴などを書いていきたいと思います。
buildersbox.corp-sansan.com

Webテスト自動化を考え始めたきっかけ

SansanのWebテストを担当するPCチームではプロジェクト毎にテストを担当しています。最近、チームへのテスト依頼が増えてきたり、定期リリースの導入も始まっていたりしており、PCチームの限られたリソースを少しでも有効活用しようとWebテストの自動化を考え始めました。

Webテスト自動化の目的

Webテスト自動化にむけて、まずは自動化の目的を整理しました。
SansanのPCチームでは下記を自動化の目的とし、自動化ツール選定を行うこととしました。

  • 機能リリースの際に既存機能に影響がないことを確認する
  • 日々予期せぬ不具合でシステムが落ちていないことを確認する
  • ブラウザのバージョンアップによる影響がないか確認する

ツール選定

ツール選定で重要視した点は以下になります。

  • 開発経験のないテストエンジニアでも容易に操作が行えること
  • クロスブラウザテストできること
  • CI連携ができること

特に重要視した点はモバイルアプリのテスト自動化の時と同じように、Webテストの自動化ツールに関しても、誰でもシナリオ作成ができ、メンテナンスができるように「開発経験のないテストエンジニアでも容易に操作が行えること」を重要視しました。
その中で今回はAutify、mabl、MagicPodのトライアルに申し込んで実際に使用した使用感や特徴などを書いていきたいと思います。

使用感

簡単に各ツールの使用感やテストシナリオ作成概要を書いていきます。

Autify

コーデイング不要のノーコードでテストが作れるツールになります。
操作した手順がレコーディングされテストシナリオが作成されます。
特別な知識がなくても直感的に操作でき、シナリオ作成はとても楽でした。

シナリオ作成手順

①左側のシナリオをタップして右上の新規シナリオをタップ
f:id:k_fujiwara:20220122104434p:plain
②テスト対象のURLを入力しレコーディングを開始をタップする
f:id:k_fujiwara:20220122104557p:plain
③テスト項目通りの操作をして、操作が完了したら右下の保存ボタンをタップする
f:id:k_fujiwara:20220122104734p:plain
参考サイト:https://autify.com/ja

mabl

mablもコーデイング不要のノーコードでテストが作れるツールになります。
mablも操作した手順がレコーディングされテストシナリオが作成されます。
mablについては過去の掲載記事を見ていただけたらと思います。
buildersbox.corp-sansan.com

MagicPod

MagicPodもコーデイング不要のノーコードでテストが作れるツールになります。
上記のツールと比較すると若干操作に慣れる必要があると感じました。
MagicPodのモバイル版の使用経験があれば違和感なく使いこなせると思います。

シナリオ作成手順

①右上の起動をタップする
f:id:k_fujiwara:20220122111901p:plain
②テスト対象のURLを入力する
f:id:k_fujiwara:20220122111955p:plain
③テスト対象のスクリーンキャプチャを取得する
f:id:k_fujiwara:20220122112041p:plain
④右上のUI画像をタップし、操作したい要素を左側にドラッグ&ドロップする
f:id:k_fujiwara:20220122112748p:plain
⑤操作したいコマンドを選択する
f:id:k_fujiwara:20220122113237p:plain
参考サイト:https://magic-pod.com/

特徴

シナリオ作成の各ツールの特徴は、Autifyとmablは操作がレコーディングされてシナリオが作成され、MagicPodはスクリーンキャプチャを取得して操作したい要素やコマンドを選択していくという違いがありました。
Autifyとmablは直感的に操作ができてシナリオ作成が楽、MagicPodはシナリオ作成は若干の慣れが必要ですがアサーションの種類が多かったり分岐条件が使えたりと細かい設定ができるなど、各ツールに違いがあるので自動化の目的に合ったツールを選ぶ必要があると思います。
簡単に各ツールの違いを下記にまとめてみました。
f:id:k_fujiwara:20220126233134p:plain

まとめ

各ツールで料金体系や対応ブラウザに違いがありました。
細かくみていくと各ツールでできることも若干違いがあります。
毎日実行したいのか定期的に実行したいのかなどの実行頻度や、自動化対象のサポート対象ブラウザをすべてテストしたいのか特定のブラウザだけテストできればいいのかなど、自動化の目的を明確にしてからツールを導入しないとやりたかったことができないなど失敗する可能性があると思いました。
次回は導入候補のツールを使い込んだ感想や自動化導入に向けて取り組むことなどをお伝えさせていただく予定です。

© Sansan, Inc.