CADソフトのテスト工数削減にRanorexを導入し、単純なテストを自動化。センシティブなテストにリソースを集中

株式会社フォトロン(以下、フォトロン)は、CAD関連ソフトウェアの品質向上と人力でのテスト工数削減を目的としたプロジェクトを実施。UIテスト自動化ツール「Ranorex」を導入し、人力で3~4日かかっていたテストを、わずか数時間で完了させることでリソースの削減に成功した。そのリソースを別のセンシティブなテストに振り向けることで、より詳細なテストが可能になり、品質向上に大きく貢献しているという。

1968年7月10日設立。
主な事業内容は、民生用および産業用電子応用システム(CAD関連ソフトウェア、高速度カメラ・画像処理システム、放送用映像機器、映像情報関連システム、その他)の開発、製造、販売、輸出入

株式会社フォトロン
技術開発本部 ソフトウェア開発部
エンジニアグループ
マネージャー補佐

和久 雄太氏

人力のテストを削減するためUIテストの自動化に踏み出す

創業以来、画像処理領域で最高品質のハードウェアとソフトウェアを開発し続けるフォトロンは、独自技術をベースにユニークで特徴ある先進システムを数多く市場に送り出してきた。現在は、研究開発・生産現場向けハイスピードカメラや画像計測システムを提供する「イメージング事業」、2D/3D CAD・図面管理システムを開発する「CADソリューション事業」、放送・プロ映像機器のシステムを設計から導入まで提案する「放送映像システム事業」、映像制作のフローを支えるファイル転送プラットフォームを提供する「映像ネットワーク事業」などを柱とする。独創的かつ先進的な技術で画像処理の最先端市場をグローバルに創造している。
そんなフォトロンが最近チャレンジしたのは、ソフトウェア開発におけるUIテストの自動化だ。その背景について、技術開発本部 ソフトウェア開発部 エンジニアグループ マネージャー補佐 和久 雄太氏は次のように説明する。「当社のCAD関連ソフトウェアは歴史が古く、30年以上開発を重ねた結果、コマンド数が1000近くにも増え、設定項目もそれ以上の数になっています。そのため、バージョンアップなど大きな更新では受け入れテストを1サイクル回すにも数人月分の工数が必要になり、人力で品質を上げるのは困難になりつつありました。その課題を解決するため、UIテストの自動化に踏み出したのです」
従来、UIテストは外部テスターの協力も得て、限られたリソースの中で最大限に取り組んできた。人力でのテストを削減し、ツールで自動化できる範囲を増やせば、人でなければできないセンシティブなテストにリソースを振り向けることができると和久氏は期待したという。

容易性と高機能性を併せ持ち、サポートが充実したRanorexを選択

UIテストを自動化するツールを複数検討する中で、最も注目したのが、既に社内の一部で活用実績のあったRanorexだった。ポイントは主に3つあった。
1つめは、高機能かつリーズナブルなこと。UIテスト自動化ツールの導入条件について、和久氏は「当社の3D CADソフトウェアはGUI部分の構造が非常に複雑で、そのコントロールをツールが正しく認識できるかが非常に重要でした。その点Ranorexはコントロールの認識性能が高く、懸念された社内の検証も図脳CAD 3Dをメインに、他のCAD関連ソフトも含め無事クリアすることができました」と話す。また、価格が比較的安価で、導入費用を押えられたことも重要な要素だったという。
2つめは、使いやすく柔軟性が高いこと。和久氏は、「最初にRanorexのデモを見た時、他のテストツールと比べてGUIが成熟していて洗練されており、非常に使いやすいと感じました。ボタンを数回クリックするだけで、操作に沿ったテストシナリオが作成できました。さらに、作成したテストシナリオにテキストの検証値の設定や任意のユーザコード項目の追加も容易でした」と感想を述べる。フォトロンではテスト作業の多くを外部のテスターにも任せているため、操作の難易度を上げないことも重要だった。一方で、「パスを認識させる際の柔軟性や、設定項目も多いので、ある程度複雑なソフトウェアにも対応できます。そうした、容易性と高機能性を併せ持っている点にも魅力を感じました」と和久氏は言及する。
そして3つめは、日本のベンダーによる質の高いサポート。Ranorexは2015年からテクマトリックスが国内販売代理店として日本語化やユーザサポートなどを担っており、その安心感もきめ手のひとつになったという。和久氏は「日本に代理店があり、十分なサポートを受けられなければ導入に踏み切ることは難しい。テクマトリックスのハンズオンセミナーは社内でも好評で、トレーニングによって導入のハードルは格段に下がりました」と振り返る。
そうしたポイントを基に、最もバランスの取れたRanorexの導入を決定。2019年から正式に運用を開始した。

自動テストと手動テストを使い分け、テスト時間が大幅に短縮

Ranorexは、2D CAD「図脳RAPIDPRO20」や、3次元ダイレクトモデリングCAD「図脳CAD3D V2」、図面・技術資料管理システム「図脳TeCA」といったツールのテストに利用しているが、ツールの特性上、自動化するのが難しい部分もあるため、テストを自動化する部分と手動で実施する部分を切り分けている。Ranorexによるテスト自動化の対象は、インストールする際に認識するシリアルナンバーや、ダイアログボックスに表示されるテキスト情報のほか、コントロール自身が持っている属性で文字が認識できる部分と1000個近いコマンドのデフォルト値のチェックだ。手動テストの対象は、View内に表示される3Dデータ(モデル)などの画像の検証である。View内の画像は複雑でセンシティブなので、慣れたテスターが確認する方がずっと速い。単純な操作で作画できる図面は、操作部分をRanorexで自動化して、スクリーンショットを目視で確認するようにして、テスターの負荷を下げる工夫を行っている。
「当社のソフトウェアは大きなバージョンアップが年に1~2回、細かいバグ修正が年に3回程度あり、その際にアルファ版からテストを行っており、1回のバージョンアップで10回くらいテストを実施しています」と和久氏は説明する。Ranorexでテストを自動化したことにより、手動では3日~4日かかっていたテストを数時間で終えられるようになったという。「削減したリソースは、別のプラスアルファのテストに費やすことができるようになりました。Ranorexで自動化したことは非常に大きなメリットになっています」と和久氏は評価する。Ranorexの導入後はテスト項目が増え、1000~1500件のテストが新規に実施されるようになったという。それにより、単純なミスの見落としを発見できるようになるなど、品質向上に大きく貢献している。

3D CADソフトウェアのUIテスト状況。人力部分と自動化部分を適切に切り分けて実施

自動テストをCIツールに組み込み、他部門にも紹介し活用を拡大

RanorexによるテストをCIツールで自動実行する環境構築を行っており、まもなく本番運用を開始するそうだ。開発者がプログラムをGitにPushするとCIがRanorexをキックし、ビルドとUIテストを自動化するように設計した。仮に問題がある場合は、NG通知をプロジェクト管理ツールに送りチケットを飛ばす。テスト結果やビルドのエラーはタスク管理ツールに入るため、それを開発者が確認し、修正を行うという仕組みだ。開発者が日々ソースコードを更新してアップするたびにテストが実施されるようになり、問題点の早期対応が期待できる。
今後は、このUIテスト自動化の仕組みをCAD開発以外の部門にも紹介し、活用の機会を拡大していくという。また、Ranorexをテストケース管理ツール「TestRail」と連携させて、TestRailに入っているテストケース構成をRanorexに同期したり、Ranorexのテスト実行結果をTestRailに自動登録したり、といった管理の自動化を進める計画だ。「UIテストの自動化の範囲をできるだけ拡大するため、TestRailや課題管理ツールとの連携を早急にアップデートしていくつもりです。テクマトリックスにはこれからもサポートやトレーニングの面で支援いただけるのを期待しています」と和久氏は語る。
創業以来50年以上も画像処理分野のフロントランナーとして時代の先端を走り続けるフォトロン。その先進的なシステム開発をRanorexとテクマトリックスは今後も全面的に支えていく。

取材日:2021年7月