Ranorex 基本機能 #2 テストの作成、実行を効率的に行う

前回の記事である『#1 Ranorexとは?』に引き続き、Ranorexの基本機能についてご紹介します。

テストに関して以下のような問題を抱えている方はいらっしゃいませんか。

テストを行う上での問題点

  1. 複数のテストで共通の操作部分があり、共通部分に変更が入ると同じ修正を何度も行わなければならないため、効率が悪く、メンテナンスが大変。
  2. 対象の入力フォームに色々なパターンの値を入力する際、手動の打鍵テストで行っているため、多大な工数を要する。
  3. テストの途中で検証ポイントがあり、毎回目視で行っているため、手間がかかり正確性もあいまいである。

これからご紹介するRanorexの機能を使うことで、上記の問題を解決することができます。

1. モジュール化

たとえば、下図のように業務ごとにそれぞれのオペレーションを記録し、テストを作成したとします。この場合、共通部分に変更が入ってしまうと、同じ修正をテストの数だけ行う必要があるため、メンテナンスに掛かるコストが大きくなります。

そこで今回ご紹介するRanorexのモジュール化機能が役立ちます。
たとえば、下図のように共通の画面遷移の操作を1つにまとめ、モジュール化を行います。そして業務ごとに作成したテストシナリオは同一のモジュールを参照します。結果、共通部分の修正は1回で済むため、メンテナンスにかかる時間を最小限に抑えることができます。

また、Ranorexでは、作成したテストシナリオはドラックアンドドロップによりテスト単位ごとに配置することで利用できます。この機能を使えば、テストのメンテナンスを効率的に行えます。


2. データ駆動型テスト

たとえば、対象の入力フォームに様々な値を入れるようなテストを手動で行っていませんか?このような打鍵テストでは、回帰テスト毎に手動でテストを実施する必要があるため、工数がかかります。また、手入力によるテストであるため、人的ミス等によりテストの質が安定せず、結果としてバグを見落とす可能性があります。そこでRanorexでは、対象の値を変数化し、データソースから値を流し込むことでデータ駆動型テストを行うことができます。データソースは、内部データセット(データテーブル)、外部データソース(Excel、CSV、SQLデータベース)に対応しています。これにより、入力パターンの作成が容易であり、かつ「自動」で回帰テストが実施できるため、テスト工数の削減及び品質向上につながります。

3. バリデーション

テストを実行する中で、期待通りの表示がされているか検証したいことはありませんか?
Ranorexでは、豊富な検証(バリデーション)方法を提供しています。バリデーションの種類として、以下のものがあります。

  • オブジェクトの存在検証:オブジェクトの存在の有無を検証します。
  • オブジェクトの属性検証:オブジェクトの属性値が期待値に一致するかを検証します。正規表現を使用した検証も行えます。
  • オブジェクトの画面ショット比較:オブジェクトの画面ショットが期待する画面ショットに一致するか検証します。詳しくは”イメージバリデーション機能の使用方法“の記事をご参照ください。

上記のバリデーション機能を使うことで、期待通りの結果が得られているか、細かい箇所まで確認することができます。また、もし期待値と異なる結果だった際にはバリデーションの結果が不合格となり、レポートにエラーメッセージが出力されます。エラー発生時のスクリーンショットもレポートに出力できるため、どこでエラーが発生したか画面ショットからも確認することができます。

これらの機能を使えば、様々なアプローチで効率的にテストを作成し、実行することができます。ぜひお試しください。