Ranorex Studio v8.3 でのテスト作成機能の拡張

Ranorex バージョン8.3のリリースの大きな目的は、Ranorex 初心者をテスト自動化の成功に導くことと、堅牢で持続可能なテスト作成のためのベストプラクティスを徹底させることです。本ブログ記事では、そのために実装された以下の機能について説明します。

  • RocketStart ソリューションウィザード
  • テスト自動化のベストプラクティス - テスト環境のセットアップとクリーンアップ
  • Recorder Control Center

RocketStart ソリューションウィザード

RocketStart ソリューションウィザードは、Ranorex Studio を初めて開いたとき、または「ファイル」メニューの「新規作成」から「ソリューション(ウィザードを使用)」を選択したときに、自動的に起動されます。

まず、このウィザードにて、テスト対象のテクノロジーを選択します。その後、下記の設定に必要な操作がウィザードから指示されます。

  1. ニーズに合わせたテスト自動化ソリューションの設定
  2. テスト対象のデスクトップ、Web、モバイル アプリケーションの選択と設定
  3. エラーのないレコーディングのための最適なレコーディング設定の選択
(レコーディング設定の選択)

レコーディング設定は、以下のオプションから選択できます。

  • 単一のアプリケーションをレコーディング:テスト対象のアプリケーションで実行されるアクションだけをレコーディング対象とします。その他の実行中のアプリケーションとのやり取りは無視します。
  • 複数のアプリケーションをレコーディング:特定の複数アプリケーションとのやり取りをレコーディング対象とします。
  • すべてのアプリケーションをレコーディング:すべてのアプリケーションのやり取りをレコーディング対象とし、UI 要素を検索する際に、実行中のすべてのプロセスを考慮します。

Ranorex Studio では、この機能をホワイトリストと呼びます。テストに関連するプロセスだけをレコーディングするのには 以下の2 つのメリットがあります。

  • テストのレコード、実行、および Ranorex SPY のパフォーマンスが向上します。
  • ホワイトリスト化されたプロセスだけを対象とできるため、クリーンなレコーディングを作成できます。また、ホワイトリスト化されたプロセスについては、Ranorex Studio の「ホワイトリスト」ペインで確認できます。
(Ranorex Studioのホワイトリスト)

RocketStart ソリューションウィザードの操作が完了すると、下図のように「ファーストステップガイド」が表示されます。このガイド機能には、初めてRanorexを操作するユーザー向けに、テスト作成、実行およびテスト結果レポートの確認方法について表示されます。

(ファーストステップガイド)

テスト自動化のベストプラクティス - テスト環境のセットアップとクリーンアップ

Ranorex バージョン8.3では、テスト対象のアプリケーションに対して、従来の Ranorex よりも広範な視点をテストスイートに与えることで、ベストプラクティスを適用しました。

以前のバージョンでは、テストのレコーディングのたびに、テスト対象のアプリケーションの選択する必要がありました。バージョン8.3では、この選択を StartAUT モジュールとして独立させました。StartAUT モジュールは、RocketStart ソリューションウィザードによって生成され、テストケースのSetupに追加されます。また、テスト対象のアプリケーションを終了するための CloseAUT モジュールが Teardown に追加されます。

そして、バージョン8.3では、テストのレコーディング時に、レコーディングモジュールでテスト対象のアプリケーションを選択するのではなく、RocketStart ソリューションウィザードで選択します。

(従来のテストケースとレコーディングモジュール)
(バージョン8.3 のテスト ケースとレコーディングモジュール)

テストケース/スマートフォルダーに設定される Setup は、テストの最初に実行されます。Setup のベストプラクティスとして、Setup にテストを実行するための初期処理を設定することです。たとえば、テスト対象のアプリケーションの起動を行うためのモジュールなどです。

Teardown は、Teardown が設定されたテストスイートや、テストケース/スマートフォルダーにおいて、最後に実行されます。(テスト実行時にエラーが発生した際にも、最後に実行されます)Teardown のベストプラクティスとして、テスト実行の後処理として使用することです。たとえばテスト対象のアプリケーションの終了などです。

これらのベストプラクティスに従うと、堅牢で持続可能な自動化テストをセットアップすることができます。新しいテストケースを作成する際は、次のテスト実行でエラーを発生させないために必要なすべてのクリーンアップ作業と合わせて、アプリケーションのクリーンな起動と終了を必ず含めてください。もっと複雑なテストスイートの概要については、Ranorex Studio に同梱のデスクトップアプリのサンプルを参照してください。

(デスクトップアプリのサンプル)

上図では、スマートフォルダー(AddNewEntry)に Setup/Teardown が設定されています。Setupには、テスト対象のアプリケーション(KeePass)を実行してログインするモジュールグループがあります。Teardown には、変更の保存と、アプリケーション(KeePass)を終了するモジュールがあります。テストケース(AddNewGroup)についても同様です。Setup にテスト対象のアプリケーションの起動とログインのモジュールがあり、Teardown に変更の保存と終了の操作を行うモジュールがあります。このテストスイートでは、テストスイート全体に対する Teardown もあります。テスト全体が成功してもしなくても、Teardown のモジュールは実行されるため、前回のテスト実行環境がクリーンアップされます。

いくつかの異なるテクノロジーにまたがるエンドツーエンドテストを行う場合、テクノロジーごとにプロジェクトを用意するのが良いでしょう。簡単な方法として、テスト対象のテクロノジーまたはアプリケーションごとにモジュールライブラリを作成し、1つのテストスイートにまとめます。

例として、クロスプラットフォームのサンプルソリューションを開きます。デスクトップ、Web、iOS、Android のそれぞれに 1 つのモジュール ライブラリが存在します。さらに1つのテストスイート(CrossPlatform)があり、複数のライブラリにあるモジュールを テストスイートにまとめています。このテストスイートのすべてのテストケースに Setup/Teardown があります。この Setup/Teardown は、テクノロジー固有のモジュールライブラリにあるモジュールを利用して、異なるテクノロジーのスタートアップ/クリーンアップを実行します。

(クロスプラットフォームのサンプルソリューション)

Recorder Control Center

バージョン8.3では、Recorder Control Center の機能が改善され、レコーディングをさらに制御できるようになりました。レコーディング時において、レコーディングされたアプリケーションの操作に対し、直近の 4つの操作(アクション)までが履歴として表示され、操作の確認と変更(削除や、コメントの追加など)を行うことができます。

(Recorder Control Center)

(この記事は、開発元 Ranorex 社 Blog 「Test creation improvements with Ranorex Studio 8.3」2018年10月10日の記事を元にしています。)