前述した「UIオブジェクトを自動化ツールが認識してくれるか」と密に関係することだが、Ranorexは、Java、.NET、Web、Flashを始め幅広い種類のテクノロジのオブジェクト認識機能を強みとする。「創業以来、多様な環境で安定してオブジェクト認識を行えるようにすることに努力してきた。残念ながらオブジェクト認識機能がうまく動いている状態では、この機能の良さは実感されにくい。オブジェクト認識機能に問題があれば、すぐに分かるのだが」(Ranorex社 パートナーマネジメント、Mark Peinhopf氏)。
浦口氏らも、Ranorexのオブジェクト認識の機能を高く評価している。理由の一つは、認識できるオブジェクトの対象が広く、前述のグレープシティのグリッドコンポーネントを認識できたこと。そしてもう一つは、テスト自動化を運用する現場でのオブジェクトの保守管理、文書化についてもよく考えられていたことだ。
浦口氏らが実施したテスト自動化ツールの評価により、Ranorexでは画面構成要素(オブジェクト)のリポジトリをツールが作成してくれることが分かった。スクリプトと分離してオブジェクトの保守管理ができる。さらに、Excelとリポジトリ内のUIオブジェクト情報をひも付けられる機能が備わっている。浦口氏は、ExcelでUIオブジェクトのリポジトリを管理できる機能を「これはすごい」と高く評価する。UIオブジェクトとその変更管理が、現場で使い慣れたExcelを使って容易に実行でき、画面更改時にも効率良く保守できる。同社の現場で運用のニーズに実に良く合致する機能を備えていたのだ。
テスト自動化ツールの評価では、人間のキーボード/マウス操作からテストスクリプトを自動生成するやり方を採用している。ただし現実のプロジェクトでは、多くの局面では手組でテストコードを書いた。このようなやり方に備えて、「最後は力業」で対応できる「包容力」が重要だと、浦口氏は指摘する。ユーザー操作をキャプチャしてテストスクリプトを作成できる機能と、プログラマーがテストコードを書く際の柔軟性の両方の機能が重要だとする。
前述したように、Ranorexはグレープシティが販売するグリッドコンポーネントを認識してくれた。浦口氏にとって特に印象的だったのは、グリッドのプロパティを検出できたことだ。グリッド(ワークシート)の各セルのプロパティ属性に含まれる「行、列」の値をテストツールが検出してくれる。浦口氏らが評価した複数のテストツールの中で、Ranorexだけがこの機能を備えていた。このプロパティの認識を手掛かりに、対象セルに対する値投入や編集操作を自動化することも可能だ。
「これを見たときには震えた」と浦口氏は語る。例えば「グリッドの2行目の3列目に値Xを入れる」といったテストスクリプトを書くことも可能となる。これは、グリッドコンポーネントを主要画面で駆使していた同プロジェクトにとって、テスト自動化の範囲を大きく広げてくれる機能だった。
今回の導入プロジェクトでは、以前は4%にとどまっていた自動化の範囲が20%以上に拡大。また、従来は39人日を要していた性能テストのためのデータ登録の工数を、スクリプト作成に2日、データ登録に2日と大幅に削減できた。
このようにテスト自動化だけではなく、データ登録の自動化も工数削減に大きく寄与している。同プロジェクトでは性能テストの項目数が非常に多く、人手でデータを作成していたのでは39人日と多くの工数を必要としていた。この省力化を狙い、テスト自動化ツールによるデータ登録の自動化を進めることで、「2日間」、その正味としては29時間でデータ登録を完了させることに成功した。
さらに定性的な効果も大きかった。テスト自動化導入の「段取り」が今回の導入プロジェクトをきっかけに整理されてきたこと、またグレープシティが販売するコンポーネントのような、サードパーティツールを活用したGUI画面の自動化の道筋が付き、提案可能になったことなどである。最後に、プロジェクトチーム内に「自動化は役に立つ」との実感が復活してきたことを、浦口氏は導入の効果として挙げた。
テスト自動化の効果は大きい。ただし、その効果を発揮するには、プロジェクトの性質や自動化ツールの特性をよく見極めて導入する必要がある。このハードルを乗り越えた浦口氏の講演からは、今後の展開への自信を感じることができた。
Copyright © ITmedia, Inc. All Rights Reserved.