Ranorex 基本機能 #1 Ranorexとは?

今回から複数回にわたり、Ranorexの基本的な機能を紹介していきたいと思います。

ところで皆様の中に、開発現場で以下のような問題に遭遇した経験を持つ方はいらっしゃいますか。

開発現場でありがちなテスト実施時の問題

  • テスト実施を一任されたが、プログラミングスキルが足りなく、テストプログラムの作成に時間を要した。
  • テストメンバーのアサインをしようとしたが、プログラムができるメンバーは別の開発で忙しく、アサインするメンバーの選定に悩んだ。
  • GUIテストを手作業で実施しており、バージョンアップや新しい実行環境に対応する度に毎回莫大な工数をかけてテストを実施しなければならない。
  • テストを実施するメンバーによって、テストの質が変わってしまうため、リリース毎のアプリケーションの質が安定しない。

これらの問題を解決してくれるツール、それがRanorexです。この回では、開発現場でありがちなこれらの問題を解決するRanorexの特徴を紹介します。

プログラミング知識0でレイアウト変更に強いテストを作成可能

Ranorexではユーザーの操作をレコーディングし、再生することができます。
ユーザーは簡単なGUI操作によりGUIテストを作成できるため、プログラミング知識は必要ありません。

また、レコーディング時にユーザーが操作したオブジェクトをRanoreXPathというテクノロジーを使用して認識します。
認識したユーザーの操作とオブジェクトは、Ranorexのアクションテーブルとオブジェクトリポジトリにそれぞれ保存されます。

座標記憶型GUIテストツールではテスト対象のアプリケーション(Application Under Test。以降AUTと表記)の画面レイアウトが変更された場合、それにともない、テストを修正する必要があります。
しかし、Ranorexの場合、座標には依存しない方法によりオブジェクトを認識しています。このため、AUTの画面レイアウトの変更があったとしても、テストシナリオの修正は必要がなく、オブジェクト情報の修正だけで済むため、テストのメンテナンス工数を削減できるとともに、より堅牢なテスト環境を構築することができます。
また、堅牢な自動テスト環境を作成することができれば、リグレッションテストを簡単に行うことができるため、「テストを実施する人によってテストの質がばらつく問題」は改善され、リリース毎のアプリケーションの品質を高いレベルで安定させることができます。
Ranorexはこのような堅牢なテストをプログラミング知識0で作成できる画期的なツールだと言えます。

デスクトップ、Web、モバイルをサポート

1つのソフトウェア実行環境でテスト自動化できても、他のソフトウェア実行環境でテストを実行できなければ、手作業でのGUIテストの手間の問題は解決しません。

Ranorexでは、Windows環境におけるデスクトップアプリケーションとWebアプリケーション(IE, Firefox, Chrome)、iOS/Android環境におけるネイティブアプリケーションとWebアプリケーションのテストをサポートしています。
また、デスクトップアプリケーションについては、以下のような多くのテクノロジーをサポートしています。

Ranorexは、このように多くのプラットフォーム、テクノロジーについて、GUIテストの作成・実行をサポートします。

クロスブラウザーテスト対応

と言っても、結局それぞれの環境毎にテストを作る必要があるのであれば、そのための作業工数が必要となり、新しい実行環境に対応する度に莫大な工数をかけてテストを実施しなければならない問題は残ります。

この問題でも、Ranorexはその威力を発揮します。
Ranorexではデスクトップブラウザーのクロスブラウザーテストをサポートしています。
これにより、複数の異なるブラウザについて、ブラウザ固有の機能を除いたテストシナリオの大部分を1つのテストで行えるため、クロスブラウザーテストの工数を削減できます。

皆様、いかがでしょうか。
Ranorexを使用すれば、開発現場でありがちな多くの問題を解決できそうですね。