今回は、回数で言うと第6回目の「動的テストの自動化を考える」の回ですが、番外編を掲載いたします。
先日ビッグサイトでESEC(第21回 組込みシステム開発技術展)が開催されました。ハートランド・データのブースでは、「動的テストの自動化」の一環として、組込み機器のテストを自動で行うためのソリューションの展示を行いました。Jenkins連携というよりはむしろ組込み機器のテストを自動で行うためのツールとの連携を強めたソリューションとなります。今回は、その組込み機器のテスト自動化ソリューションを少しだけご紹介したいと思います。
その名は「DT-ACE」
今回展示したソリューションですが、組込み機器に特化したテスト自動化ソリューションと銘を打って「DT-ACE」と名付けています。「Dynamic Test Automation environment Constructing solution for Embedded devices」の頭文字を取って「DT-ACE」としました。日本語では「組込み機器向け動的テスト自動化環境構築ソリューション」となります。目指すところは、組込み機器のテストを完全に自動化し、更に同時に動的テストも実施することです。
皆さんご存知のように、組込み機器のテストを自動化する上で、物理的な操作、表示内容の認識、電気的な信号の検知をどのように制御・認知するかが悩みの種となります。これらを解決するためのうまい策がなかなか見つからないため、組込み機器のテストの自動化のハードルがぐっと高くなっているのが実情だと思います。
確かに、HILSのようにハードウェアを使用することで組込み機器のテストを自動化することは可能かもしれませんがやはり用途は限られます。また、PC上で完結するようなSILS環境や実際の動きをシミュレーションできる環境があったとしても、やはり組込み機器ならではの実機上のパフォーマンスを計測するのは難しいはずです。
そこで、組込み機器のテストの自動化、更には組込み機器の動的テストの自動化を実現するために、「DT-ACE」は積極的に他のソフトウェアやハードウェアと連携しツールチェーンを構築しています。これらのツールチェーンを用いることで、組込み機器のテストの自動化の課題が解決し、ハードルがぐっと下がるのではと考えています。
「DT-ACE」の三大特長
DT-ACEには、次の3つの大きな特長があります。
組込み機器のテストを自動化
今まで、組込み機器のテストの自動化の障壁となっていた物理的な操作、表示内容の認識、電気的な信号の検知に関する課題を、ソフトウェアとハードウェアをうまく連携させ解決します。
テストケース作成・自動実行をサポート
GUIテストツールと連携することで、組込み機器のテストケースの作成、テストケースの自動実行、出力結果のバリデーションも可能になります。
バグの発生個所を特定
テスト実行中の経路情報をDT10で取得しておき、テストの結果がOKとNGの時の経路情報を比較することで、バグの発生個所の特定が可能になります。
「DT-ACE」のデモ動画
今回のESECでは、次のような構成でデモの展示を行いました。図内の中継アプリが今回のソリューションの肝の部分となります。この中継アプリが介在することで、テスト対象機を人手を介さずに、PC側からテストすることが可能になります。
今回のデモ展示では、エアコンの操作リモコンを模したデモ機をテストの対象機とし、このデモ機を自動でテストしバリデーションとテストケースがNGのときのバグの発生個所を特定するまでのデモンストレーションを行いました。PC側の中継アプリでボタンを操作し、表示器に出力される文字や記号をカメラで取り込みOCRで画像認識します。テスト対象機の操作と期待値との比較はGUIテストツール(今回はRanorexを使用)で行っています。
次の動画はブースプレゼンで使用した動画の一部ですが、「DT-ACE」を使用した組込み機器のテストを自動化している様子が確認いただけます。(全画面での再生をおすすめします)
最後に
いかがでしたでしょうか?「DT-ACE」の目指すところについてご理解いただけると幸いです。
今回は参考出展ということもあり、あまり多くは語ることはできませんが、情報が整い次第また改めてご案内いたします。
次回の「動的テストの自動化を考える」は、第6回として通常通り掲載いたします。今回の記事もそうでしたが動画があることでかなりイメージが伝わりやすくなったのではと考えております。次回、第6回ではJenkinsで作成したJobが動いている様子を動画でご紹介したいと思います。
バックナンバー
- 「動的テストの自動化を考える #1」- 動的テスト自動化のメリット
- 「動的テストの自動化を考える #2」- テストポイント挿入のための4W2H
- 「動的テストの自動化を考える #3」- CUIによるテストポイント挿入
- 「動的テストの自動化を考える #4」- DTシリーズ製品をJenkinsで動かすための準備
- 「動的テストの自動化を考える #5」- 動的テスト自動化のための設計
- 「動的テストの自動化を考える 番外編」- ESEC2018に出展したテスト自動化のデモ
- 「動的テストの自動化を考える #6」- Jobの設計
- 「動的テストの自動化を考える #7」- Jenkinsのパイプラインで何ができるか
- 「動的テストの自動化を考える 番外編2」- ET2018に出展したテスト自動化デモ
- 「動的テストの自動化を考える #8」- Jenkinsのパイプラインで動的テストの自動化を設計
- 「動的テストの自動化を考える #最終回」- Jenkinsのパイプラインで動的テストの自動化を実現
- 「動的テストの自動化を考える #最終回のおまけ」- Jenkinsによる動的テスト自動化の動画