テストの自動化、特にE2Eテストの自動化を行ううえで、ツールの選定はとても悩ましい問題ではないでしょうか。

特に有償のツールを用いる場合、会社でお金を払ってライセンスの購入や契約をするわけなので、「なんとなく」や「有名だから」「他社が使っているから」では通りません。

OSS等の無料のツールを用いる場合は一見そうした説明責任からは無縁に見えますが、導入後にトラブルが起こった際には「選定の責任者」としての対応を迫られることになります。

いずれの場合も、ツール選定のプロセスを明示して組織内で合意をとる必要があります。そんなときによく用いられるのが、ツールの比較表です。筆者も過去テスト自動化のコンサルテーションを行っていた際には何度も作成しました。比較表があることで、他にも候補がある中でこんな項目を比較して選びました、という証拠にもなります。

そんなツール比較表ですが、使い方・結果の捉え方次第では、ツール選択に悪い影響を及ぼすこともあるのです。

本記事では、そんな比較表を用いたツール選定で失敗しないよう、活用方法や注意すべきポイントについて見ていきます。少しニッチな内容ですが、参考になれば嬉しいです。

なお、E2Eテストの定義については玉川さんの記事E2Eテストの自動化を最速で成功させる秘訣 | Sqriptsと同じとします。

ツール比較表とはどんなものか

本記事で扱う「ツール比較表」とはどういったものでしょうか?

細かいフォーマットは作成者によって異なりますが、一般的には以下のようなものを指します。

Image from Gyazo

一方の軸にツールの名称、もう一方の軸に比較したい項目を書き、交差するマスに○△✕や、直接情報を記載して作成します。
この表を埋めて、自分たちのニーズに最も合うツールを選ぶ、という使い方が一般的です。

比較表を用いて選定することの注意点

このツール比較表を作成すれば自分たちにあったツールが選択できると思われがちですが、いくつか気をつけなければいけないポイントがあります。

注意点1:比較表の陳腐化

昨今は「変化が早い時代」「開発サイクルの高速化」などとよく言われますが、これはテスト自動化ツールについても同様です。ツールを開発している各社は、自分たちのツールをよりよいものにすべく、日々機能追加や改善を行っています。

結果、ツール比較表を作成しても1週間後、1ヶ月後には内容が古くなっている可能性があります。しかし、各ツールの更新情報を常にチェックして比較表を最新に保つ、というのは現実的ではありません。そのため、ツール比較表の情報はどうしても古くなってしまいがちです。

まずこの点に注意が必要です。

注意点2:比較表には現れないポイントがある

ツールの比較表の項目は、ツールの機能・スペックの比較になりがちです。これらももちろん大事ですが、一方で比較表には現れづらいけれども選定の材料になるポイントがいくつかあります。例えば以下が挙げられます。

  • 使い勝手
  • サポートの質
  • 開発・ユーザコミュニティの活発さ

使い勝手については主観も多分に含むため、単純な比較は困難です。これは後の項目でも触れますが、実際にトライアルをしてチーム内で意見を募ることで一定の判断ができます。

一方、サポートの質は短期のトライアルでは判断しづらい部分もあるかもしれません。トライアル前後のツール会社とのやりとりの際に、レスポンスの早さなどから間接的に推測することになります。最低限、何営業日以内に返事がくるか、サポートセンターがあれば国内か海外か、日本語でのやりとりがどの程度可能かなどは調べておきましょう。

また、特にOSSの場合は、開発の活発さやコミュニティの盛り上がり具合なども注意すべきです。具体的な線引きは難しいですが、GitHub等でツールのリポジトリを確認し、最終更新が “4 Years Ago”など古いものは注意が必要です。OSやブラウザ、使用している言語のバージョンアップに対応されない可能性が高いです。

注意点3:比較項目を挙げること自体にスキルが要る

これが最も見逃されがちな点かもしれません。そもそも、多種多様なテスト自動化ツールについての比較項目を挙げること自体に、一定のスキルが必要です。

システムテスト自動化の知識や経験がない状態で比較表を作成すると、例えば「データ駆動テストが可能か」「オブジェクト管理の機能があるか」などを挙げるのは困難でしょう。これらの項目について調べるには、システムテスト自動化においてテストスクリプトのメンテナンス性が大事であること、メンテナンス性を高めるためのデザインパターンや機能があること、を知っていなければなりません。

もちろん、スキルが必要だからといって、すぐに身につくものではありません。大切なのは、テスト自動化についての知見が無い状態で作った比較表の信頼度はそれほど高くない、と理解をすることです。必要であれば、中立的な立場のテストベンダーやコンサルタントなど、テスト自動化の専門家にツール選定のアドバイスをもらうことも検討してみましょう。

ツール選定の基本的な考え方と比較表の活用方法

ここまでに述べた注意点に気をつけながら、実際のツール選定はどのように行なえばよいでしょうか。

大きくは以下の流れで進めましょう。

  1. 必須条件を満たすツールをリストアップする
  2. 比較表を作成しながら、2, 3のツールに絞る
  3. トライアルを行う

それぞれ詳しく見ていきます。

1. 必須条件を満たすツールをリストアップする

最初から比較表を作って比べようとすると、手間がかかることがあります。そこで、まずは選定対象を選定する、ところからスタートしましょう。

この段階における「必須条件」とは、以下を指します。

  • テスト対象の操作・確認にツールが対応しているか
    • 例:ツールからDBへのアクセスができるか、Edgeが操作できるか、Flutter製のモバイルアプリが操作できるか、など
  • 社内のルールに対応できるか
    • 例:SaaS使用不可、LDAP連携必須、など

上記の条件は、テスト対象やチームによらず必ずチェックすべきポイントです。ツールの対応については、これが満たされなければそもそもテスト自動化はできないため、機能や使い勝手の比較を行う必要がありません。また社内ルールへの対応についても、初期段階で調べておくべき重要なポイントになります。会社によってセキュリティチェックシートやツール・サービス利用時の導入条件などが設定されている場合があるので、確認をしておきましょう。

2. 比較表を作成しながら、2, 3のツールに絞る

ツール候補をリストアップできたら、次は実際に比較表を作成しながら最終的には2つか3つ程度のツールに絞っていきます。

ここでいきなり比較項目を挙げていくのではなく、まずはテスト自動化の目的・ゴールから考えていきましょう。

テスト自動化の目的やゴールはさまざまで、チームによって異なると思います。E2Eテストの自動化を最速で成功させる秘訣 | Sqriptsなどを参考に、チームの中で話し合ってみてください。

目的が見えてきたら、次はその目的が達成された際の、開発・テストの流れを想像してみてください。そこではシステムテストの自動化が行われているはずですが、誰がどのタイミングで自動テストを実行しているでしょうか。開発者か、QAエンジニアか。それともCIツールから自動実行しているでしょうか。自動テストの結果は誰が確認をして、テストが失敗(NG/Fail)していた場合は誰が原因の調査をしているでしょうか。

あえて回りくどい言い方をしましたが、大事なポイントはテストを自動化して運用している姿をイメージしてみましょうということです。

そして、ツール比較表で比較すべきは、自動テストの運用に必要な要素です。

自動テストを作って動かすのが開発者なのかテストエンジニアなのかによって、ツールに求める要件は異なります。前者の場合は、プログラムを書いて自動化するタイプのツールが良いかもしれませんし、後者の場合はノーコードで自動化できるツールのほうが良いかもしれません。

自動テストの結果をチームのSlackで確認する運用がしたい、という場合は、Slackとの連携機能やWebhook対応などが比較項目になるでしょう。

このように、単純にツール間の機能有無を比較して「なんでもできそうな(○がいっぱいついている)ほうが良い」といってツールを選ぶのではなく、自分たちがテストを自動化して日々運用するのに必要な機能を持っているツールを選ぶことが大切です。
この点を意識して、意味のある比較項目を出すことができれば、そのツール比較表は有効なものになるでしょう。

3. トライアルを行う

前の段階で、ツールはほぼ絞られると思います。最後に必ず行っていただきたいのが、トライアルです。有償のツールでも、OSSのような無料のツールでも、必ず使い比べたうえで検討を行いましょう。

トライアルで確認するべき点はツールを絞る際と同じで、想定通りに運用ができるかどうか、が主になります。ツールの仕様上「可能」となっていることが、テスト対象との相性などで難しい、ということも稀にあるため、注意しておきましょう。

まとめ:比較表だけで選定するのではなく、あくまでも材料としての活用を心がけよう

本記事では、テスト自動化ツールの選定時によく用いられるツール比較表について、注意すべき点と活用方法についてご説明しました。

一番お伝えしたかったポイントはツール選定の流れにおける2番め、テスト自動化とその運用のイメージをもとに比較項目を考えましょう、という点です。この順番を意識していただければ、テスト自動化ツールの選定で大きく失敗することは無くなります。

今回はテスト自動化ツール全般に関わる選定方法でしたが、次回はここ数年導入事例が増えてきている「AI自動テストツール選定時の考え方」についてご紹介します。

連載一覧

テスト自動化ツールの選定【前編】~ツールの比較表をどう活用するか
テスト自動化ツールの選定【後編】~AI自動テストツールを選ぶ時に気をつけるべきポイント
テスト自動化の普及と推進【前編】~阻害要因と対策
テスト自動化の普及と推進【後編】~個人レベルでテスト自動化を学ぶ
テスト自動化とテスト設計【前編】~作成済のテストケースの整理と加工
テスト自動化とテスト設計【後編】~テスト自動化のためのテスト設計

SHARE

  • facebook
  • twitter

SQRIPTER

伊藤 由貴(いとう よしき)

記事一覧

テスト自動化エヴァンジェリストとして、エンジニア育成・テスト自動化コンサルテーション・部署の立ち上げ・マネジメントなどを経験。
現在は複数Webサービスを運営する会社の横断部門にて、QAエンジニアとして活動中。

RANKINGアクセスランキング
#TAGS人気のタグ
  • 新規登録/ログイン
  • 株式会社AGEST
NEWS最新のニュース

Sqriptsはシステム開発における品質(Quality)を中心に、エンジニアが”理解しやすい”Scriptに変換して情報発信するメディアです

  • 新規登録/ログイン
  • 株式会社AGEST