E2E/UIテスト自動化においてテストを作成するうえで、一般的に保守性やメンテナンス性などを考え、ガイドラインなどを用意するかと思います。
テスターがガイドラインに従ってテストスクリプトを作成後、レビュアーがレビューをおこない、テスターが修正します。しかしながらレビューに人手が入ることでレビュー漏れが発生してしまうことや、レビュー自体にコストが掛かるといった問題もあります。
UIテスト自動化ツールであるRanorexでは、Ranorex Coach機能が実装されており、テストの設計におけるベストプラクティスに従うためのヒントをレポートしてくれます。このヒントには、テストを改善するためのTIPSが含まれています。
Ranorex Coachには、理想的なテストを作成するために、以下のTIPSが用意されています。
テスト作成時に、これらのTIPSから外れたテストを作成した場合、Ranorexが自動で問題点を指摘してくれます。
テストスイートに関するTIPS
テストをどのように実行するかを構成するテストスイートに関するTIPSになります。
-
ネストされた条件分岐/データソースの継承
テストスイートが複数のテストコンテナー(テストケース、スマートフォルダー)でネストされた条件分岐/データソースを使用している場合に指摘されます。
-
空のテストコンテナ
テストスイートに配置されたテストコンテナ(テストケース、スマートフォルダー)において、何も設定されていない無駄なテストケースやフォルダーが配置されている場合に指摘されます。
-
Setup/Teardown領域が設定されていないテストケース
テストケースでSetup(前処理)/Teardown(後処理)が無い場合に指摘されます。
-
説明がないテストコンテナ
テストコンテナ(テストケース、スマートフォルダー)に説明がない場合に指摘されます。
-
デフォルト名のデータソース
指定されたデータソースの名前がデフォルト名(NewConnector)の場合に指摘されます。
-
TestRunの未使用
テストスイートで、チェックボックスが無効(テスト実行対象外)となっているテストコンテナー(テストケース、スマートフォルダー)があるにも関わらず、TestRunが設定されていない場合に指摘されます。
レコーディングモジュールに関するTIPS
テストスクリプト(レコーディングモジュール)の作成に関するTIPSになります。
-
空のレコーディングモジュール
アクションが指定されていない空(意味のない)のレコーディングモジュールがある場合に指摘されます。
-
30個以上のアクションが含まれるレコーディングモジュール
アクションの数が30個以上含まれるレコーディングモジュールがある場合に指摘されます。
-
マージ可能なKey sequenceアクションがあるレコーディングモジュール
マージが可能なKey sequenceアクションがある場合に指摘されます。
-
入力値が読みにくいKey sequenceアクション
テキスト以外(キーストローク値を含む)の値を設定しているKey sequenceアクションがある場合に指摘されます。
-
レコーディングモジュール中の無効化されたアクション
無効化されているアクションがある場合に指摘されます。
-
リポジトリアイテムとリンクされていないアクション
リポジトリアイテム(オブジェクト)とリンクしていないアクションがある場合に指摘されます。
-
直前にDelayアクションが配置されているValidationアクション
Validationアクションの前に待ち時間としてDelayアクションを使用している場合に指摘されます。
-
絶対パスが指定されているRun applicationアクション
テスト対象アプリケーションの指定で絶対パスを設定しているRun applicationアクションがある場合に指摘されます。
-
ネットワーク ドライブが指定されているRun applicationアクション
ネットワークドライブにあるテスト対象アプリケーションを設定しているRun applicationアクションがある場合に指摘されます。
-
Mouse down/upアクションの順序が逆のレコーディングモジュール
down/upの設定順序が逆になっているMouseアクションがある場合に指摘されます。
-
Mouse wheelアクションが含まれるレコーディングモジュール
Mouse wheelアクションを使用している場合に指摘されます。
リポジトリに関するTIPS
オブジェクト(リポジトリ)に関するTIPSになります。
-
Search timeoutが長すぎる/短すぎるリポジトリアイテム
リポジトリアイテムのプロパティで、検索タイムアウト(Search timeout)が10秒未満または5分を超えた値を設定している場合に指摘されます。
-
ルートフォルダーでの変数の使用
ルートフォルダーで設定しているRanoreXPathに変数を使用している場合に指摘されます。