E2Eテストとは?
E2Eテストとは、ユーザー視点でシステムを操作し、システム全体が正しく機能しているか?想定通りの動作となっているのか?をテストすることです。
E2Eテストを実施することで、ユーザーが利用する際に実際に発生する可能性のある問題やバグを検出することができます。
E2Eテスト自動化への期待
E2Eテスト自動化に取り組む場合、テスト対象アプリの画面操作を自動化すること(UIテスト自動化)で、テストの効率や品質を向上できます。
最近は、E2Eテスト自動化へ取り組もうという方も多くなってきていますが、E2Eテスト自動化に取り組んだ結果、思ったよりも効果が得られなかったという話はよく聞きます。
「テスト自動化」という言葉を聞くと、ロボットやAIが、これまでやっていた人間の作業を完全に代替えして自動化してくれる、というイメージを持ちがちですが、テスト自動化ツールはあくまでツールであり、決まった操作を実施することを得意としています。
そのため、テスト自動化ツールですべての作業を自動化しようとすると、テストの作成に膨大な時間がかかってしまい、思っていたよりも自動化の効果が得られないといった結果になります。
E2Eテスト自動化を実施するには、自動化の効果が出やすい作業を自動化することが重要となります。
そこで、E2Eテスト自動化に向いているケースと向いていないケースについて、簡単にまとめてみました。
E2Eテスト自動化に向いているケース
ユーザーの利用頻度が高い画面や機能
すべての機能のテストを自動化するのではなく、主機能(王道シナリオ)から自動化をおこないます。
理由として、最初からすべての操作を自動化しようとすると、テストの作成に多くの時間を要してしまい、なかなかテスト実行までに至らないという結果となります。
まずは主機能から自動化をおこない、徐々にテスト範囲を広げていくことで、自動化の効果が出やすくなります。
複数のデータパターンを入力する画面
アプリケーションへのログイン操作など、複数のデータパターンをテストする必要がある画面は、自動化に向いています。
理由として、テストツールを利用することで、手動テストでは網羅しきれない、膨大なデータパターンでのテストを短時間でおこなえます。
テスト自動化をおこなうことで、これまで手動テストでは実施しきれなかったテストまで実施することができます。
複数ブラウザーで動作するアプリケーション
同じテストを複数の環境で実行する必要がある場合には、既存のテストケースを流用することで、新しくテストケースを作る手間が省けます。
Webアプリケーションの場合、Chrome、Firefox、Edgeブラウザーなどのクロスブラウザーのテストは自動化に向いています。デスクトップアプリケーションの場合、パッチ適用後のOS上でのテストなどで使用できます。
E2Eテスト自動化に向いていないケース
ユーザーの主観的な判断が必要な操作
例として、視覚的な要素や感触に基づく判断が必要な場合、テスト自動化は難しいです。
理由として、自動化ツールはあくまでツールとなり、決まった操作を得意としています。そのため、人の感覚で判断するようなテストをツールでおこなうことは難しく、自動化に向いていません。
テスト対象が頻繁に変更される場合
テスト対象アプリの画面が頻繁に変更される場合、アプリの更新内容によっては、作成したテストシナリオの修正作業(メンテナンス)が発生します。
テストシナリオのメンテナンスが多く発生してしまうと、テストのメンテナンスに多くの時間を費やすことになり、本来目的としていたテスト工数の削減がおこなえません。
そのため、テスト対象アプリが頻繁に変更されるケースは、テスト自動化に向いていません。
実行回数が少ない場合
テスト自動化は、作成したテストの実行回数が多いほど自動化の効果が見込めます。
テストの作成には多少なりとも時間を要します。作成したテストを1-2回しか実行しない場合、本来手動テストでかかっていた時間よりもテストの作成時間の方が多くなってしまい、自動化の効果が得られません。
そのため、作成したテストは実行回数が多ければ多いほど、費用対効果が高くなります。
まとめ
今回、E2Eテスト自動化に向いているテスト・向いていないテストについて簡単にまとめてみました。
E2Eテスト自動化に取り組む場合には、向いているテストを自動化することが成功の近道となります。
また、今後自動化ツールを選定する場合、大前提としてテスト自動化ツールがテスト対象アプリに対応している必要があります。
UIテスト自動化ツールの Ranorex は、デスクトップアプリ・Webアプリ・モバイルアプリに対応しているテスト自動化ツールとなります。
Ranorex はテスト対応アプリの幅が広いため、テスト対象アプリが複数ある場合には、Ranorex 1つですべてのアプリに対して自動化できます。
E2Eテストを自動化するメリット、自動化のポイントについては、以下の記事で紹介されています。
合わせてご覧ください。
・E2Eテストとは?
https://ranorex.techmatrix.jp/what_is_e2e_test/