テストの作成
この章では、前章で学習した内容を踏まえて、様々なテスト スイート アイテムを使用して簡単なテストを作成します。
スクリーンキャスト
以下のスクリーンキャストで、この章で説明している内容を確認できます。
サンプル ソリューションのダウンロード
チュートリアルを実行するため、以下からサンプル ソリューションをダウンロードしてください。
サンプル ソリューション
Theme: Build a test
Time: 15 minutes
インストール:
任意のフォルダーに解凍します。
Ranorex Studio を起動し、ソリューション ファイル RxDatabase.rxsln
を開きます。
ヒント
このサンプル ソリューションは、Ranorex Studio 8.0 以降で利用できます。8.2 以降を利用している場合には、ソリューションのアップグレードをおこなってください。
テストの定義
テストを構築する前に、テストの内容を定義する必要があります。今回作成するテストではシンプルに、データベースにエントリを追加し、正常に追加されたかを検証します。テスト対象アプリは Ranorex Demo Application です。必要な手順は以下の通りです。
- Ranorex Demo Application を起動します。
- Test database タブをクリックします。
- First name フィールドに名前を入力します。
- Last name フィールドに名字を入力します。
- Department ドロップダウンで、所属を選択します。.
- Age フィールドに、年齢を入力します。
- Gender ボックスで、性別を選択します。
- Add Entry をクリックします。
- Number of entries が 0 から 1 に変更されたことを検証します。
- Ranorex Demo Application を終了します。
Animated test definition
レコーディング モジュールのレビュー
サンプル ソリューションには必要なレコーディング モジュールが既に配置されています。これを確認してみましょう。
モジュールは 2 つのフォルダーで構造化されています。Application functions フォルダーには、アプリケーション自体の制御、つまり、アプリの起動と終了に必要なモジュールが含まれています。Database functions フォルダーには、データベースへのエントリの追加に関するモジュールが含まれています。
これらのフォルダー内のモジュールは、その名前から分かるように、非常に具体的です。それぞれのモジュールには、それぞれの手順に必要なアクションだけが含まれています。このように構築されたモジュールは、再利用が容易です。これにより、テストを構築する際の柔軟性が向上します。
テストの組み立て
必要なものは揃っているので、テストの構築に移りましょう。プロジェクトには、RxDatabase.rxtst というテスト スイートが 1 つあり、既に開かれているはずです。もし開かれていない場合には、プロジェクト ビューでファイルをダブルクリックしてください。
Setup 領域の追加
テスト スイート ビューは、デフォルトの名前を持つ一つのテスト ケースを除いて、ほとんど空の状態です。今回のテスト定義の最初の手順としてテスト対象アプリを起動するため、最初にこれを追加します。テスト対象アプリの起動は、グローバルの Setup 領域に含めるべきモジュールの良い例です。これがなければ、他のテスト 手順は機能しません。グローバル Setup 領域の追加は、以下の手順でおこないます。
テスト スイート ビューでテスト スイートを右クリックし、Setup の追加 をクリックします。
Adding a setup region using the context menu
モジュール ブラウザーから、StartAUT モジュールを Setup へドラッグします。StartAUT モジュールは、デモアプリの起動に加えて、Test database タブのクリックもおこないます。これは、今回のテスト定義の手順 2 に当たります。
テストの追加
今回のテスト定義の手順 3 から 9 は、データベースへのエントリの追加とその検証に当たります。これは、今回のテストで最も重要な部分のため、固有のテスト ケース名を付けるべきです。既存のテスト ケース名を使用することもできますが、より分かりやすい名前にしましょう。
名前の変更は以下の手順でおこないます。
テスト ケースを選択し、F2 を押します。
名前を SimpleDatabaseTest に変更し、Enter を押します。
Renaming a test case
テスト ケースに必要なモジュール InsertName, SelectDepartment, InsertAge, SelectGender, AddEntry, ValidateEntries を配置しましょう。最初の 4 つのモジュールは順不同ですが、AddEntry は最後から 2 番目に、ValidateEntries は最後に配置してください。
モジュールの追加は以下の手順でおこないます。
モジュール ブラウザーから、モジュールをテスト ケースへドラッグします。
- 一つずつ追加することも、Ctrl キーで複数選択して一度に追加することもできます。
- 間違った場所にドラッグしてしまった場合には、正しい場所にドラッグしなおしてください。
モジュール グループの作成
InsertName, InsertAge, SelectGender, SelectDepartment モジュールはすべて、データベースに追加されるデータの定義に関する一連の手順です。したがって、これらをモジュール グループでグループ化するのは、理にかなっています。同じ手順が必要なテスト ケースをさらに作成するときに、これらの 4 つのモジュールを何度も追加する必要はなくなります。モジュール グループは以下の手順で追加します。
テスト スイート ビューで 4 つのモジュールを Ctrl キーまたは Shift キーで複数選択します。
右クリック メニューから、選択中のモジュールをグループ化 をクリックします。
作成したモジュール グループが、モジュール グループ ビューで表示されます。
Creating a module group with direct grouping
モジュール グループの名前を InsertPerson に変更します。
テスト ケースに、新しく InsertPerson モジュール グループが配置され、モジュールブラウザーにも、このモジュール グループが表示されます。
スマート フォルダーの追加
テストが大きくなるにつれて、テスト スイートの管理が難しくなります。スマートフォルダーは、この問題を解決するのに役立つ構造化アイテムです。一つのテスト ケースに 50 個のモジュールを配置するのではなく、スマート フォルダーを追加してモジュールを構造化します。スマート フォルダーを使用すると、テスト ケースの特定の部分が実行されないようにすることも容易になります。今回の例では、この利用方法をおこなってみます。検証は必ずしも実行するとは限らないので、スマート フォルダーに配置します。ValidateEntries モジュールを、スマート フォルダーに追加します。
テスト ケース SimpleDatabaseTest を右クリックし、追加 > 新しいスマート フォルダー をクリックします。
Adding a smart folder
作成したスマート フォルダーに、ValidateEntries をドラッグします。
Filling a smart folder with a recording module
スマート フォルダーの名前を Validation に変更します。
参照
テスト実行からアイテムを除外する方法については、Ranorex Studio 基礎 > テスト スイート > ⇢ テスト スイートの実行 を参照してください。
Teardown 領域の追加
テストがほぼ完成しました。あとは最後の手順、テスト対象アプリの終了を追加するだけです。これ以降、他のテスト アクションは実行されないため、グローバル Teardown 領域に追加すべき手順の良い例です。システムはテスト実行前の状態に復元されます。通常これには、作成されたすべてのエントリの削除も含まれますが、今回のデータベースは終了時にエントリを保存しないため、このアクションを含める必要はありません。Teardown 領域の追加は以下の手順でおこないます。
テスト スイート ビューでテスト スイートを選択し、右クリック メニューから Teardown の追加 をクリックします。
Adding a teardown region
モジュール ブラウザーから、ExitAUT モジュールをTeardown にドラッグします。
テストの実行
おめでとうございます。テスト スイートでのテストの構築が完了しました。このチュートリアルでおこなった基礎は、これから作成する他のテストにも適用できます。
次の章では、テストの実行について説明します。ひとまず、テスト スイート ビューにある RUN ボタンをクリックし、テストが実行されることをお楽しみください。
参照
テストの実行については、Ranorex Studio 基礎 > テスト スイート > ⇢ テスト スイートの実行 を参照してください。