テストスイートを使用してテストオートメーションを構造化する

Ranorexのテストスイートを使用すると、テストケースを管理し、堅牢なデータ駆動テストを構築するのが容易になります。また、テストオートメーションモジュールをチーム内で共有・再利用できます。この記事では、テストモジュールをグループ化したり、チーム内の他のテストスイートプロジェクトでテストモジュールを再利用する際に、Ranorexモジュールプロジェクトを使用するのが最良の方法である理由を説明します。

  • 複数のビュー
  • モジュールの分割
  • 複数のプロジェクト、1つのソリューション
  • ランタイムマシンでの実行
  • 1つのソリューションを複数のユーザーで使用する

複数のビュー

大規模なソフトウェア製品をテストする際、テストプロセスをいくつかのビューに分割するのが有益な場合があります。たとえば、1人のテストオートメーションエンジニアと数人のテスターからなるチームがあるとします。このチームの役割は、考えられるすべてのワークフローをカバーし、ワークフローを小さく分割して複数の再利用可能なモジュールにすることです。

いっぽうで、別個にテスターがいます。このテスターの役割は、テスト対象ソフトウェアによって処理される特定のワークフローをテストすることです。チームによってすでに必要なモジュールがすべて作成されているため、テスターは適切なモジュールを組み合わせるだけで、必要なワークフローを実現できます。

モジュールの分割

上で説明したとおり、ワークフローを小さく分割して自己完結した複数のモジュールにすると、別のシナリオで再利用するのに便利です。

これらのモジュールは、レコーディングモジュールまたはチームによって作成されたユーザーコードモジュールです。これらのモジュールを使用して、テスターはすばやく別のワークフローを作成できます。より汎用的なアプローチを可能にするため、特定のモジュールに変数を追加することもできます。テスターは、パラメーターによって値を指定するか、データソースを指定してデータソースの列と変数をバインドするだけです。

データ駆動テストおよびパラメーターの使用方法の詳細については、ユーザーガイドの「レッスン 3:データ駆動テスト」を参照してください。

複数のプロジェクト、1つのソリューション

DLLタイプのプロジェクト

チームとテスターのコラボレーションを可能にするには、チームは生成したモジュールをテスターに渡す必要があります。それには、特定のテストモジュールを含むRanorexテストスイートライブラリを提供します。テスターのテストスイートプロジェクトでライブラリを参照すると、ライブラリに含まれるすべてのモジュールを特定のテストケースに追加できます。

ライブラリには、チームによって作成されたすべてのレコーディングおよびユーザーコードモジュールのほか、モジュールがアクセスする要素を格納したリポジトリが含まれています。

いくつかのテストライブラリを含むテストプロジェクトがどのように見えるか、Ranorex Studioを確認してみましょう。

テスターがテストスイートライブラリを再利用するには、まず、ライブラリを参照する必要があります。それには、[参照の追加]ダイアログの[.Netアセンブリブラウザー]タブを開き([プロジェクト]->[参照の追加])、DLLファイルを追加します。このステップを実行すると、プロジェクトビューパッドの参照リストにDLLが表示されるはずです。

参照されたテストスイートライブラリは、Ranorexモジュールパッドにも、ライブラリのすべてのモジュールおよび変数とともに表示されます。

これでテスターは、モジュールブラウザーからテストスイートにモジュールをドラッグ&ドロップするだけで、特定のテストケースを構築できるようになりました。

EXEタイプのプロジェクト

異なるテストシナリオを処理するために、テストスイートにいくつかのテストスイート設定を追加できます。

テストスイート設定を変更することで、テストスイート内のさまざまなテストケースやフォルダーを選択して実行できます。

テストスイート設定の詳細については、ユーザーガイドの「テストスイートの実行」を参照してください。

テストスイート設定の変更では要件を満たせない場合、1つのソリューションに複数のテストスイートプロジェクトを追加することもできます。

ソリューション内のテストスイートプロジェクトごとに1つの実行モジュールが生成されます。


EXEタイプのプロジェクト

いくつかのテストスイートプロジェクトがあるRanorexソリューション

自動生成されたファイルだけでなく、テスト対象アプリケーションやデータコネクタによって提供されるテストデータを格納したファイルなど、他のプロジェクト関連ファイルをプロジェクトに追加できます。

(次のセクションで説明するように)他のマシンにテストプロジェクトを配置しても、これらのファイルを利用できるようにするには、追加されたファイルのプロパティタブを開いて[Copy to output directory]オプションに[Always]を設定する必要があります。

ランタイムマシンでの実行

生成されたテストプロジェクトは、少なくともRanorexランタイムライセンスがインストールされた任意のマシンに配置できます。

ランタイムマシンでテストプロジェクトを実行するには、実行モジュール(*.exe)、テストスイートファイル(*.rxtst)および使用されているライブラリ(*.dll)をマシンのフォルダーにコピーする必要があります。デフォルトでは、これらのファイルは、すでにプロジェクトの出力フォルダーにあります。

ランタイムマシンでテストプロジェクトを実行する方法は2つあります。

  • コマンドラインからテストプロジェクトを実行する:ユーザーズガイド「コマンド ラインによるテストの実行」を参照
  • Ranorex テストスイートランナーからテストプロジェクトを実行する:ユーザーズガイド「Ranorex テスト スイート ランナー」を参照

1つのソリューションを複数のユーザーで使用する

この記事で説明したとおり、ライブラリを使用すると、Ranorexソリューション全体をチームまたは複数のテスター間で共有できます。チームがDLLの形で提供するライブラリを、テスターがテストスイートプロジェクトで参照します。そうすると、すべてのメンバー(テスターおよびチーム)が同じRanorexソリューションを使用できます。

この方法がうまくいくよう、SVNなどのソース管理システムを使用することが推奨されます(SVNはRanorex Studioと統合できます)。ソース管理システムを使うと、以下のような利点があります。

  • プロジェクトに対するすべての変更の履歴が明確になる
  • バックアップ機能を提供できる
  • ネットワーク共有によるセキュリティ上の問題を回避できる(ソースコードはローカルにチェックアウトされる)

この記事で説明した方法に従うと、大規模なソフトウェアプロジェクトのテスト環境を構造化するのが容易になります。

(この記事は、開発元 Ranorex 社 Blog 「Organizing a Test Automation Project with Ranorex Test Suites」2011年10月31日の翻訳記事です。)