Sansan Tech Blog

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

Webテスト自動化に向けて ~導入準備編~

こんにちは。技術本部 Quality Assuranceグループの藤原です。前回はWebテスト自動化に向けてのツール選定編を書きましたが、今回はツール選定後に自動化導入までに準備することなどを書いていきたいと思います。
buildersbox.corp-sansan.com

どのツールを選んだか

前回のツール選定編で、Autify、mabl、MagicPodを比較してみて、料金体系と操作性の観点で大きく2つに分類できると思いました。
操作性(シナリオ作成やメンテナンスのし易さ)を重要視するのであればAutifyかmabl、料金を重要視するのであればMagicPodになると思います。
今回のツール選定で重要視した点の中に「開発経験のないテストエンジニアでも容易に操作が行えること」がありましたので、操作性を重要視し、Autifyとmablで検討することにしました。
両者とも料金体系や操作性に差ほど違いはありませんでしたが、mablの方が外部ツール連携が多くできたり、トライアルで使用してみた感じでは、機能的にもmablの方ができることが多く、将来的にmablの方が多く自動テストを実装できると判断しmablを使うことにしました。
f:id:k_fujiwara:20220126233134p:plain

何を自動化するか

前回も書かせていただきましたが、自動テストの目的を明確化することがとても重要だと思います。改めて今回の自動テストの目的は下記になります。

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

次に目的を実現させるために下記を考える必要がありました。

  • 実行環境をどうするか
  • 実行頻度をどうするか
  • 自動テスト項目はどの範囲まで自動化するか

実行環境について

実行環境については、開発環境で実行するのか本番環境で実行するのか、自動テストの目的によって異なります。
「機能リリースの際に既存機能に影響がないことを確認する」場合は開発環境での実行になりますし、「日々予期せぬ不具合でシステムが落ちていないことを確認する」場合は本番環境になります。
特に注意が必要なのは開発環境で実行する場合です。開発環境で実行する場合は外部からのアクセスを許可する必要がありました。外部からのアクセスになりますのでセキュリティ面をどう担保するかが問題になります。
今回比較した3つのツールは固定IPアドレスを割り振ってもらえるので、そのIPアドレスのみアクセスを許可するなどの対応が必要になりました。
この記事をお読みいただいている、みなさまの会社によってルールが異なると思いますので、事前に確認が必要になると思います。

実行頻度について

mablの料金体制は、契約したプランによって実行回数に上限があります。
可能な限り多くの項目を自動テストで毎日実行したい気持ちがありましたが、あれもこれも毎日実行してしまうと上限を超えてしまい追加で料金がかかってしまいます。
毎日実行する必要があるのか、必要な項目はどれなのかを導入前に明確にしておくことが重要だと思います。

自動テスト項目について

モバイルアプリのテスト自動化でも触れましたが、まずは基本的な項目から実装を進めるスモールスタートがいいと思います。
簡単な項目から実装を始め、ツールの操作に慣れてくると、ツールで出来ることと出来ないことの判断が早めにできるようになり、自動テスト項目の精査や自動テストの実装速度が上がっていくと思います。
最終的には、可能な限り多くの項目を自動テストで実行できるようにし、手動テスト工数の削減に繋げていきたいと考えています。
buildersbox.corp-sansan.com

まとめ

どのツールを使うか決めたあとに、改めて自動テストの目的を整理し、目的を実現させる手段を考えるといいと思います。
今回のように実行環境によってはセキュリティ面をどのように担保するかや、契約プランによって実行回数に上限があるので実行項目をどうするかなど、事前に考慮すべき点が明確になると思います。各ツールともトライアルで使用できるので、まずは使ってみることをおすすめします。
次回は実際にmablを使用した運用編をお伝えさせていただく予定です。

© Sansan, Inc.