日経テクノロジーonline SPECIAL

第4回DT10活用セミナー・レポート

第4回DT10活用セミナー・レポート
 

ハートランド・データは2015年10月2日、「第4回DT10活用セミナー」を東京都内で開催した。最新の事例を通してDT10など動的テストツールの活用法を学ぶセミナーで、3社のユーザ企業担当者が登壇した。EIZOの冨田氏は、ASICのファームウエア開発で工数の半分以上を占める評価作業で、DT10を使って工数の大幅削減を実現した事例を披露。一方、三菱スペース・ソフトウエアの西村氏は、派生開発での影響調査など設計段階でDT10を活用し、大きな効果を上げたことを紹介した。またカルソニックカンセイの新井氏は、モデルベース開発ツールを補うことを目的とした動的テストツールの使い方を解説し、DT10のような動的テストツールの活用シーンが、不具合解析だけにとどまらず、さらに広がり続けていることを来場者に印象づけた。

EIZO事例:「一生かかっても終わらないと思っていたテスト作業が
DT10の活用で短時間で可能になった」

 「以前はソースコード1行ごとにステップ実行してテストしていた。しかしそんな方法では一生かけても終わらない」。EIZOの映像技術開発部ASIC開発課の冨田純一郎氏は、DT10の導入を考えるきっかけになったテスト負担の大きさをそう語る。

冨田 純一郎氏
映像技術開発部ASIC開発課

 液晶ディスプレイなどのモニタ市場で強い存在感を発揮する同社の製品の中でも、特に高い精度が求められるのが、医療用のモニタだ。レントゲン画像などを表示するモニタは、診断にあたる医師に正しい情報を提供するため、濃淡などの正確な再現が求められる。モニタの設置環境をもとに補正を行う必要があり、補正を行うASICは同社が独自開発している。そのASIC制御用のファームウエアライブラリの開発を担当しているのが冨田氏だ。

 冨田氏によると、ファームウエア開発工数のうち54%は評価作業が占めるという。「その多くは機械的な作業なので、自動化で効率化できると考えた。しかしツールの多くは自動実行はできても、実行した結果を収集することができなかった」(冨田氏)。そこで注目したのがDT10だったという。

80時間かかっていた分析作業が3時間に

 冨田氏はDT10の活用事例を、単体テスト、結合テスト、総合テストそれぞれについて紹介した。単体テストでは自動実行による関数のパステストに導入。DT10の自動テストポイント挿入機能を使って実施し、関数ごとのカバレッジ測定や判定作業を自動化したことで、工数を59.3%削減することができたとしている。

 結合テストでは、シーケンスの可視化に使用した。シーケンスが設計通りのものになっているかをテストする際、以前は汎用I/Oインタフェースとオシロスコープを使っていたが、「担当者によってテストのバラツキが大きく、結果を承認することができない」(冨田氏)。しかしDT10では、どの関数がどのタイミングで動くかなどを具体的に可視化することができるため、解析が容易になったという。

 特に効果が大きかったのが、総合テストだ。その例として冨田氏は、モニタ起動時にごくまれに発生するエラーの原因分析の例を紹介した。起動しても画面が表示されないエラーだが、1万回に1回程度しか発生しないうえに、検証のためにデバッガをつなぐとエラーは起きないため、対応に苦慮していたという。

 従来は原因を推測したうえで実機でエラーを再現し、オシロスコープで確認しながら検証する作業を繰り返しながら問題を特定していた。しかし推測に頼るため原因が簡単にはヒットせず、特定できるまで繰り返す必要があったため、その作業には熟練者でも80時間を要していたという。しかもそもそも問題の発生が極めてまれなため、エラーを再現すること自体にも多くの時間がかかり、「再現作業まで含めると解決に1カ月近くかかっていた」(冨田氏)。

 そこで冨田氏は、そのエラーの原因分析にDT10を活用することにした。対象のモニタをDT10につなぎ、プログラムにDT10のコードを埋め込んでテストを行った。テストを行うこと自体は入社2年目の経験の浅い技術者でも、わずか2.5時間で可能だったという。

テストした結果の解析には熟練の技術者のノウハウが必要だが、それも0.5時間程度であり、再現時間を除けば、80時間かかっていた作業が3時間で済むことになった。その工数削減の幅は96.25%にも及ぶ。

 冨田氏は、「DT10は作業の効率化だけでなく、カバレッジの数値化やシーケンスの可視化により品質向上ももたらした」と強調した。今後は夜間の自動解析や、お客様のシステム内で万が一にも問題が発生した際のトレース手段として、製品版ファームウエアに対してもDT10のテストポイント有効化を検討していくとしている。

三菱スペース・ソフトウエア事例:設計フェーズでも使えるDT10
シーケンス図の自動作成で影響範囲を見える化
西村 慎太郎氏
関西事業部第三技術部第三課課長

三菱スペース・ソフトウエア関西事業部の西村慎太郎氏は、車載機器用のプログラム開発でDT10を活用した事例を紹介した。紹介した事例の中でも特に来場者の関心を集めたのが、設計フェーズでのDT10活用だ。

 西村氏が取り上げたのは、カーナビ用プログラムの派生開発時の設計作業効率化の事例だ。一般に派生開発は、プログラムのコード記述の部分では新規開発に比べて工数は少ないものの、その前段階で行うソースコードの理解や変更時の影響範囲の調査、開発後の結合テストなどで工数がかさむことが多い。

  特に今回の事例は、「もともと別の会社で開発していたプログラムからの派生開発であり、通常よりも大きな負荷がかかることが予想された」(西村氏)。そこでその負荷軽減をDT10ではかることを目指した。

 西村氏は、実機に搭載したDT10が出力したログを活用。そのログをもとに、Windows用のUMLモデリングツールを使ってシーケンス図を自動生成することで、コードの内容の見える化を容易に実現できたという。コードをくまなく眺めながら内容を理解する必要がなくなり、「コードのどこをどう変更すればよいか、という純粋な設計作業に専念できるようになった」(西村氏)。

 シーケンス図の自動生成の機能は、モデリングツール自体が持っていることも多い。しかしWindowsなどモデリングツールが実行可能な機器に限られるため、今回の対象であるカーナビのような組み込み環境では適用できない。一方DT10は実行環境に依存しないため、DT10でテストできる環境である限り、今回の方法によるシーケンス図の自動生成は可能だ。

 西村氏は、「ソースコードにgrepをかけて影響範囲を調べていた従来の方法に比べ、開発担当者のスキルに依存しない正確な調査が可能になった」と指摘。レビューが本質的な作業にフォーカスしたものになり、プログラムの品質向上を実現できたとしている。

カルソニックカンセイ事例:DT10でモデルベース開発の弱点を補う
テストパターンを自動生成して検証

 組み込みシステムでも広く使われるようになったモデルベース開発。機械の物理的な現象を数式化し、それをモデルを使った図式に置き換えて机上でシミュレーションを行いながら、制御の妥当性を評価する手法だ。モデルベース開発用のツールは、この図式化やシミュレーション作業、検証したモデルからC言語のコードを自動生成する機能を持ち、代表的なツールの一つとしてMATLAB/Simulinkがある。

新井 正敏氏
グローバルテクノロジー本部デジタル化推進グループシニアエキスパートエンジニア

 組込みシステムの上流工程で品質を高めたうえで、コーディングなど下流工程に進めることができるため、開発の手戻り防止などに効果があるとされる。しかしその半面、現在のモデルベース開発ツールには弱点もあるとカルソニックカンセイの新井正敏氏は指摘する。

 モデルから自動生成するコードの使用頻度を分析することだ。「モデルベース開発は、製品の部分的のシミュレーションに終わるわけではない。製品全体をシミュレーションし、使われない部品と使用頻度が高い部品を分析する必要がある。モデルベースを使って網羅的なテストパターンを作り、これを製品全体でシミュレーションした場合、使われない部品があった場合、その部品はテストされていないことになるし、論理的にその部品は使われることはないので無駄となる。また、使用頻度が高い部品やより効率的なコードにしておくべきである」(新井氏)そのため、モデルから自動生成したコードから部品の使用頻度の統計を取る必要がある。

 しかしプログラムのサイズが肥大化する中、自動生成したコードに人間が検証用のコードを埋め込むのは無理がある。そこで新井氏は、検証作業の中で統計情報をとるためのコードを自動化するためにWindows 用アプリケーションの動的テストツールDT-Winを活用している。

 DT-Winでは簡単なGUI 操作で自動に検証用コードが埋め込まれる。実行後は、単に部品の使用頻度の統計情報だけでなく、部品の階層構造ならびに状態遷移に基づいたグラフィカルな表示や、部品同士の動作タイミングが分かり易く表示されて開発効率向上が図れた。

 テストパターンは、プログラム全体を網羅するように生成するとなると、その数は天文学的なものになりかねない。その作業がDT-Winで階層構造で表示されたことで、コードチェックの中で可視化が図れ、チェックに優先度を付けることが可能になったという。新井氏は「モデルベースで全て開発が完結するわけではない。開発の質を高めるためにはDT-Winのようなツールが必要になる」と強調した。

お問い合わせ
  • ハートランド・データ
    ハートランド・データ

    プロセスマネジメント事業部

    〒326-0338 栃木県足利市福居町361

    TEL:0284-22-8791

    FAX:0284-22-8792

    URL:www.hldc.co.jp

    メールでのお問い合わせはこちら