Skip to main content

コマツ

最新型建機に搭載されるICTモニターGUIテストにSquishを活用
自動化により工数が21.4%削減しテスト網羅率は100%に拡大

21.4%

自動化によって削減したテスト工数

100%

テスト網羅率

 

コマツについて

 

石川県小松市の遊泉寺銅山を経営した竹内鉱業の機械修理部門が1921年(大正10年)に独立し小松鉄工所として創立。その後建設、鉱山、産業機械分野を中心に、世界中で商品・サービス・ソリューションを提供する世界屈指の建設機械メーカーに発展。現在は世界190以上の国と地域で、土木、解体・産廃・リサイクル、マイニング、採石、林業、農畜産、物流、社会インフラなどの分野で活用される建設機械、産業機械、特殊車両を開発・生産・販売する。
https://www.komatsu.jp/ja

 

Squishを選択した理由

自動テストの可能な範囲と機能拡大が実現しテスト作業が効率化

GUIテストが自動化したことで手動テスト実施時より工数が21.4%削減

自動テストにより全水準でのテストが可能になり、テスト網羅率は100%に拡大

OCR機能と連携することで27言語の多言語テスト判定に活用

建設、鉱山、林業、産業機械分野を中心にグローバルで商品・サービスを提供する株式会社小松製作所(以下、コマツ)は、最新の建機に搭載されるICTモニターのGUIテスト自動化に向けてSquishを採用。自動テストの可能な範囲と機能の拡大を実現するとともに、テスト工数の削減とテスト網羅率の向上も同時に達成した。

 

手動テストには大きな工数がかかる
ICTモニターの自動テストを本格的に検討

コマツは、鉱物資源の供給を支える鉱山機械や、インフラ開発と都市化の促進を支える建設機械、ものづくりの生産を支える産業機械、木材の持続可能な活用を支える林業機械などを世界190以上の国と地域に提供する建設機械メーカーだ。近年は業界に先駆けてICT化に取り組み、機械の稼働状況や警告情報を遠隔で確認する「Komtrax」や、建設生産プロセス全体を見える化・最適化して安全性と生産性を創造する「スマートコンストラクション®」の導入を進めるなど、国内外から注目と期待を集めている。

MrNishihata_rgb

コマツ
開発本部 フィールドオートメーション開発センタ 建機自動化第三グループ
グループマネージャ
西畑 考志 氏

そのスマートコンストラクション®の開発で2000年代から利用環境の整備を進めてきたのが、位置計測技術や3次元設計データを活用する情報化施工だ。開発本部 フィールドオートメーション開発センタ 建機自動化第三グループ グループマネージャ 西畑 考志氏は

「当グループでは情報化施工を支援する『ICT油圧ショベル』や『ICTブルドーザー』の車載用ICTコンポーネントを開発しています。その中で建機のキャビンに設置するECU(電子制御装置)タッチパネルモニター(以下、ICTモニター)は、GNSS(グローバル衛星測位システム)で建機の位置をデジタル空間上で示しながら、設計図面の3Dデータを基に現況地形に沿って施工可能にしているのが特徴です」と説明する。

そのICTモニターに搭載されるアプリの機能テストにおいて、Qt Groupが提供するGUIテスト自動化ツール「Squish」が活用されている。従来は主に手動で機能テストを実施し、一部のみキャプチャリプレイツールを活用したテストの自動化を試みていたという。開発本部 フィールドオートメーション開発センタ 建機自動化第三グループ 技師 熊倉 祥人氏は

「ICTモニターは定期的にアプリの更新が発生するため、多くのテストケースで再試験を実施する必要があります。しかし当時のツールは座標や待機時間を指定する必要があったほか、部分的な背反検証でしか活用できなかったため、満足に自動化できなかったことが課題でした」 と振り返る。

MrKumakura_rgb

コマツ
開発本部 フィールドオートメーション開発センタ 建機自動化第三グループ
技師
熊倉 祥人 氏

GUI開発ツールのQtと相性がよく
利便性も高いと判断しSquishを選定

そこで建機自動化第三グループでは、定期的に繰り返し実施するテストと、仕様変更が少ない箇所のテストを優先して自動化を試みることにした。様々なツールを調査した結果、条件を満たしたのはSquishだった。選定ポイントは2つ。1つは、既にICTモニターのGUI開発でQtを活用しており、連携性を強化した「Squish for Qt」でテスト自動化が強力にサポートされていたこと。もう1つは、オブジェクト名を指定するだけでテキスト情報や位置情報などを取得できること。Squishは利便性が高いと判断し、201411月に採用を正式に決定。順次活用が開始された。現在は、座標計算の入出力値テストと多言語テストでSquishが活用されている。
同グループの取り組みがユニークなのは、①シナリオ(手動テストケースの内容を基に記述したスクリプト)、②ライブラリ(シナリオで使用する汎用的な処理を記述したスクリプト)、③データリソース(テスト水準の変わる部分だけを抜き出したCSVファイル)の3つの構成で自動テストが実施されている点だ。開発した熊倉氏はその意味について

「変更に強い仕組みを作るため」と話す。「ライブラリ化をしないままテストを行うと、同様の内容を様々な箇所に書き込んでしまい、変更が発生した場合にそれらを漏れなく更新することが困難になると考えました」と話す。 

また、複数のアプリに対応するため、ライブラリは特定のアプリに依存しない「汎用ライブラリ」と、個々のアプリに特化した「アプリ固有ライブラリ」に分けて作成している。これにより、ボタン押下やファイル操作などの汎用的な動作については複数アプリ共通で自動テストが可能になっている。
さらに、ICTモニターはECUと連携して情報を送受信する必要があるため、通信エミュレータを開発。Squishとのコンポーネント間通信も自動化した。

 

ICTモニターのGUIテストを自動化し
手動テスト時の20%以上も工数を削減

Squishの活用により以下の3つの効果が確認されている。第1は、自動テストの可能な範囲と機能拡大の実現。各アプリ共通の汎用ライブラリ化が容易になったため、テスト作業が格段に効率化し、規模の大きいシステムの構築も可能になったという。
第2は、GUIテスト工数の削減。以前はICTモニターの手動テストに11人月かけていた工数が、自動テストを導入することにより2.4人月削減し、工数を21.4%削減することが可能となった。
第3は、テスト網羅率の向上。以前は手動テストがメインだったため一部の機能においては特定の水準だけに絞らざるを得ず、その機能における網羅率は約1%(約75H)に留まっていたが、自動テストが回せるようになってからは、全水準で100%まで拡大できるようになった。
こうした効果は同グループならではの工夫とノウハウの獲得によるところが大きい。テスト指針について熊倉氏は、無分別に自動化を目指すのではなく次のようなステップを実践しているという。

「まず、手動で工数を多く要するテストであるか最初に判断します。次に、手動テスト担当者にヒアリングを行い、自動化に効果があるかを定性的に確認します。効果がありそうであれば、自動化にかかる工数を見積もり、定量的に評価を行います」(熊倉氏)

また、現在のICTモニターは27種類もの言語に対応しているため、Squishと連携可能なOCR機能を活用し多言語テストの判定条件に含めているという。「文字列一致判定、表示範囲判定、OCR判定の3つを全て満たしたときに合格としています」と熊倉氏は解説する。  

テスト作業の効率化と再利用性が
Squishを長年使い続けてきた理由

今後、同グループでは、仕様書から自動テストの実行を目指しているという。

「自動テストは手動テストのシナリオをベースに共通手順をライブラリ化して実行されるため、仕様書のフォーマットを厳密に決定すれば、自動テストを作成・実現することは可能であると考えています」と熊倉氏は述べる。

そして、これまでの取り組みについて西畑氏は、

ICTモニターとSquishは非常に親和性が高いと感じています。人間が触れるタッチパネルは常に改良されるため、仕様変更が頻繁に発生します。従来は個々に座標の位置を特定し、テストツールも作り直していましたが、Squishを活用してからは画面上で位置情報の座標指定を行わずオブジェクト名を指定するだけで機能を追従できるので、テスト作業が大幅に効率化し、テストケースの再利用性も高まりました。それが他社のテストツールにはない優位性であり、長く活用し続けている理由でもあるのです」と語る。

コマツのICTコンポーネントは、労働力不足や安全性向上など世界中の建設生産現場が抱える様々な課題を解決へ導くものと期待されている。Qt GroupはこれからもSquishの機能向上と最適化を図りながら、コマツの挑戦と革新を支えていく。

 

work menu

 

 

Squishによるテスト自動化事例