公開オブジェクト自動認識で保守コストを削減:Web、デスクトップ、モバイルと70種類以上の多様なテクノロジに対応するUIテスト自動化ツールのRanorexとは何かテクマトリックスが国内販売するUIテスト自動化ツール「Ranorex」を紹介するセミナーが開催された。同ツールの大きな特徴は、デスクトップ/Web/モバイルという広い範囲のクロスプラットフォーム対応と、テストケースの保守を大幅に省力化するUIオブジェクト自動認識機能だ。Peinhopf氏テクマトリックスは2015年10月30日、目黒雅叙園でUIテスト自動化ツール「Ranorex」の紹介セミナーを開催。開発元のRanorex社はオーストリアで2007年に創業し、テスト自動化ツールの分野で実績を伸ばしてきた。この分野では後発ながら、クロスプラットフォームとUIオブジェクト自動認識機能を武器に、CAGR(年平均成長率)30%台と順調に売上を伸ばし続けている。「テスト自動化ツールの分野では、かつては包括的なツールに人気があった。パートナーマネジメント)は説明。「モバイル分野の重要性が高まっている」のも最近の傾向である。多様なプラットフォームへの対応と、アジャイル開発に適応したテスト自動化、そしてテストケース保守の効率化に取り組んだ結果としてRanorexは評価を高めてきた。「シスコシステムズ、英Vodafoneを含む2000社がRanorexを採用している」(Peinhopf氏)。アジャイル開発手法はテスト自動化が不可欠Ranorex社のPeinhopf氏は「テストはいつやったらいいのか?」と問い掛ける。ウオーターフォール手法では、テストは開発プロセスの終盤に至らないと実施できない。バグ発見のタイミングが遅くなるほど修正コストは高くなる。今やソフトウエア開発を推進する多くの組織がアジャイル開発手法を取り入れている。アジャイル開発手法では、機能のアップデートを素早いサイクルで実施する反復型開発が特色となる。開発サイクルが回るごとにテストを実施するため、テストの重要性が高い。テストを自動化して効率化する強い動機があるわけだ。「アジャイル手法の普及が、テスト自動化の追い風になっている。手動テストではアジャイル手法に沿った開発はできないからだ。テスト自動化に積極的な企業ではテスト自動化の比率は80%に達する。一方で、多くの企業では自動化の比率は20%程度にとどまっている」(Peinhopf氏)。モバイル対応、クロスプラットフォーム対応に強みテスト自動化ツールの大きな課題の一つは、クロスプラットフォーム対応、特にモバイル対応だ。スマートフォン、スマートデバイスの普及で、クロスプラットフォームでのUIテストの必要性は高まっている。Ranorexのユーザーが使っているテクノロジの「トップ3」は次のようになる。Web分野では、HTML5、Ajax、ASP.NET。デスクトップ分野では.NET、WPF、Java/Swing。最新のWebテクノロジはもちろんのこと、デスクトップ分野の.NETテクノロジやJavaテクノロジにそれぞれ根強いニーズがある。Ranorexは、これら複数の環境に加えて、iOSやAndroidといったモバイル環境にも対応する点が強みだ。RanorexがUIテストで対応するテクノロジは多岐にわたる「毎年のように、テスト対象となる対応テクノロジの数が増えているが、Ranorexは、それらに即座に対応している」(Peinhopf氏)。「可能な限り多くのテクノロジに対応する」ことが、同社のスタンスだという。多様なテクノロジに対応するために「Ranorexの開発チームは、2〜3カ月に1回のペースで製品をアップデートしている」(Peinhopf氏)。今回のセミナーでは意外な話を聞くことができた。「グレープシティ社が販売するグリッドコンポーネントを認識できた」ことが差別化要因になった事例の説明である。Windows上のGUIアプリケーション開発で使われる市販ソフトウエア部品、特に表計算ソフトウエアの機能を部品化したコンポーネントは根強い人気がある。今までは残念ながらこのようなサードベンダー製コンポーネントをテスト自動化の範囲に含めるツールがほとんどなかった。そんな中、Ranorexは、このようなサードベンダー製コンポーネントもテスト自動化の対象としている。クロスプラットフォーム対応、多様なテクノロジへの対応を特徴とするRanorexの強みが発揮された例といえる。UIオブジェクト自動認識機能が「売り」Ranorexの強力な機能が、UIオブジェクト自動認識機能だ。ソフトウエア開発の現場では、UIの変更は非常に頻繁に発生する。UIテストの自動化のためのテストケースを、UIを変更するたびに書き直していたのでは、テストの負荷は増す一方だ。そこでUIの変更、例えばUIオブジェクトの位置(画面上の座標)が変わったとしても、テストケースを手で書き直すのではなく自動的に対応してくれる機能が求められる。それがUIオブジェクト自動認識機能だ。「もしボタンの位置が変わっても、テストケースが『Fail』(失敗)になってはいけない。機能テストではボタンの位置は重要ではなく、ボタンを押したときに想定した動作が起こることが重要だからだ」(Peinhopf氏)。このように、テストケースが、UIの変更に対して「安定して堅牢な」状態になっていること、つまりテストケース保守の負担が非常に小さいことを、Ranorexの大きな特徴として強調した。開発者によるテストにも、非開発者によるテストにも対応テストチームのスキルが高い場合も、高くない場合にも対応できる柔軟性も、Ranorexの「売り」の一つだ。「自分たちでコードを書ける開発者がテストをする場合でも、コードを書いたことがない非エンジニアの『ドメインテスター』がテストをする場合にも、対応できる」(Peinhopf氏)。Recorder」を使えば、コードを一行も書かずにテストケースを作成することも可能だ。その一方で、例えばC#言語を使いこなすプログラマーがRanorexを使う場合には、先ほどのオブジェクト自動認識機能を含めた広い機能をC#で書かれたテストプログラムから活用することが可能だ。「Recorder」機能の使用例アジャイル手法との組み合わせで注目が高まっているCI(継続的インテグレーション)ツールとの連携機能も備えている。Managerと組み合わせた利用例も多いという。Healthcare社でのRanorex利用事例が紹介された。CT(コンピューター断層撮影機器)のような医療機器のプログラムのUIテストにRanorexを活用して効果を上げたという。同社はテスト自動化ツールを選ぶため、4社の製品を検討して2製品に候補を絞り、3カ月の評価を経てRanorexを選んだ。採用の理由は、各種テクノロジへのサポートが良いこと、前述のUIオブジェクト自動認識機能、それにRanorexのサポートの良さだった。同社の医療機器のプログラムはWindows搭載PCで稼働する。開発過程では、PCと医療機器の実機と組み合わせた動作テストが必要となる。非常に高価な医療機器を占有するため、実機を使うテストの実行時間は短い方が望ましい。Healthcareは、Ranorex導入以前は社内開発の独自ツールを活用していたが、Ranorexを導入することで、テスト実行時間を40%も削減できた。テスト対象アプリケーションが利用しているテクノロジは.NETとJavaである。前述したように、UIオブジェクト自動認識機能はRanorexの大きな優位性である。「ボタンの左右が入れ替わっただけでテストケースがFail(失敗)してしまうようでは、保守作業が大変になる」(Peinhopf氏)。そこでRanorexではテスト対象アプリケーションをコードレベルで解析してUIオブジェクトを自動認識する。同社の開発チームのおよそ3割は、オブジェクト自動認識に取り組むことをミッションとしているという。このUIオブジェクト自動認識機能を実現するには、さまざまな異なる環境での「共通言語」が必要だ。各種のOSのUIを抽象化した新たなレイヤーが必要となる。XPathモデルに基づく「RanoreXPath」と呼ぶ手法を用いて、各種の異なる環境のUIを抽象化している。このRanoreXPathにより、UIオブジェクトを画面上の座標ではなく、機能と結び付いた「名前」で指定することができる。海外製のツールのため、日本語化の度合いが気になる方もいることだろう。課長の福永一寛氏によれば、日本語版ではGUI(メニューなど)はほぼ完成しており、またマニュアル翻訳作業を進めている。日本語版は、2016年1月中にリリースの予定だ。ライセンス形態として次の3種類を用意する。デスクトップ、Web、モバイルの各アプリケーションのテスト作成・実行に対応し、特定の1名が1台のマシンで利用できる「Premiumノードロック」が39万8000円(年間保守更新が7万8000円)同様の機能でライセンス数の範囲内で複数の利用者が同時にテスト作成・実行に利用できる「Premiumフローティング」が69万8000円(年間保守更新が13万8000円)ライセンス数の範囲内で複数の利用者が同時にテストを実行できる「Runtimeフローティング」が13万8000円(年間保守更新が2万9800円)30日間、全機能を無償で利用できる「無料体験版」も用意されるので、興味を持った方は、試してみてはいかがだろうか。大規模になり、処理の分岐を追うだけで一苦労だ。開発者が本来の生産的な作業に入る手前で膨大な時間ロスが発生している。この問題を解決するのが、ソースコード構造解析ツールだ。テクマトリックスが提供する「Understand」は、強力な解析エンジンを実装しており、ソースコード100万行であれば約2分で解析が完了する。その三つの特長を担当者に聞いた。メールマガジンをご購読ください。申し込みページへ利用規約ITmediaはアイティメディア株式会社の登録商標です。