ハートランド・データ(株)グレー・ボックス・テストというメソッドで第三者検証サービス事業を開始
tag:
2010年10月19日

ハートランド・データ(株)
グレー・ボックス・テストというメソッドで第三者検証サービス事業を開始
プログラムの実行を止めることなく,動作させながらトレース・デバッグができる「DT10」.今年5 月にはアナログ・データの監視をも可能にした「DT10 アナログBOX」を発売した,さらなる開発環境の効率化を目指すハートランド・データ(株).今年10 月からは「DT10」を活用した第三者検証サービスを新規事業としてスタートさせた.同社のシステム開発室 室長の落合亮 氏,システム開発室 主任の新井 雅嗣 氏にお話しを伺った.
![]() | ![]() |
システム開発室室長 落合 亮 氏 | システム開発室主任 新井 雅嗣 氏 |
◆ 「DT10」でプログラム実行経路の可視化を実現
──まずは「DT10」の概要を教えてください.
落合氏:「DT10」は,プログラムを走らせながら,実行経路,変数値をトレースし,効率的にデバッグを行うツールです.トレースのためテスト・ポイントを使用し,非常に簡単に効率よくトレース・デバッグが可能になります.
── トレース・デバッグとはどういうものなのでしょうか?
落合氏: 従来のデバッグはブレーク・デバッグといって,プログラムの実行を止めながらデバッグを行っていました.それに対して,トレース・デバッグはプログラムを実行しながら,リアル・タイムで各種情報を収集していきます.プログラムを止めずにデバッグする手法です.
── 世の中にあるデバッガではリアル・タイムで情報をキャプチャすることはできないのでしょうか?
落合氏:もちろん既存のデバッガでも可能です.ただ,トレースする情報がソフトウェアを開発する現場としては不満でした.必要な情報だけを長時間トレースできなければトレース・デバッグ手法に適しているツールとはいえません.「DT10」はこれが可能になるツールとして商品化されました.
──デバッグの際、テスト・ポイントは自動的に埋め込まれるとのことですが,どこに入るのでしょうか?
新井氏:具体的には関数の入り口と出口.分岐命令の前後です.また,プログラムの流れが変わるところにも自動的に埋め込まれます.もちろん,ユーザー側で任意の場所にテスト・ポイントを設定することもできます.さらに,変数値出力用の専用のテスト・ポイントを設定して外部に出力するという仕組みも入っています.
Printf デバッグが主体の開発では,このDT10のトレース・デバッグが効果を発揮しますので、特にLinux環境で開発されているお客様に好評です.
◆ デジタル情報とアナログ情報を1 対1 で監視する「DT10 アナログBOX」
──今年5月に発売されたDT10アナログBOX(写真1)について教えて下さい.
新井氏:それでは実際に動いている所を見てください(図1).今回はサンプルとして音声の出力プログラムを監視させています.
ピンク色の波形がデジタル信号を,水色の波形がアナログ信号を表しているので,ディジタル・オシロ・スコープと同じ機能を実現しています.それと同時に,下の画面にプログラムの経路情報が表示されます.
落合氏:つまりディジタルおよびアナログ信号と同時にプログラムの経路情報がトレースできるので,ターゲットのハードウェアとソフトウェアの挙動を1対1で監視することができます.また,異常な信号を計測したタイミングでアナログBOX の画面をクリックすると,トレース・レポート上のその時実行されていたプログラムの位置を表示します.
◆ Ver4.0 の新機能は,プログラムの実行過程で発生する関数の親子関係をグループ化する
──12月にリリース予定のVer4.0の新機能を教えていただけますか?
新井氏:注目すべき機能として,DTAdvisorがあります.DTAdvisorとは,関数の親子関係をまとめて監視することで,プログラムが正常な経路を通り実行されているのか,異常な経路を通っているのかを判定する機能です.その中でダイナミック・モジュールというアイディアを取り入れました.
──ダイナミック・モジュールとはどんなものですか?
新井氏:ダイナミック・モジュール(図2)は,プログラムの実行過程で発生した親子関係をひとかたまりにグルーピングする機能です.デバッグ時に大量に取り込んだデータを,人間の手で追いかけると膨大な時間がかかってしまう側面があります.そこで,データを人間の手ではなく,アプリケーションの方で解析するという仕組みを取り入れることにしました.
──他にはどんな新機能がありますか?
新井氏:ソフトウェアのバージョン管理のし易さを改善した機能です.ソース・コードからテスト・ポイントを抜いた状態でプロパティ情報を引き継げるので,最新のソース・コードに対して以前入力したプロパティ情報をいつでも戻すことが可能となりました.
◆ 「DT10」を使用したグレー・ボックス・テストでテスト時間の大幅短縮を目指す
──「DT10」を活用した第三者検証サービス「DT-Test」を始められたそうですが.
落合氏:「DT10」はトレース・デバッグ・ツールですが,それだけでなくグレー・ボックス・テスト・ツールにもなっています.グレー・ボックス・テストというのは,ソフトウェアの内部構成を意識しながら動作テストを行う手法です.「DT10」を使用した開発プロセスでは、設計・デバッグ工程でテスト・ポイントを埋めこんでおくことによりソフトウェアを可視化できるシステムができます.これを用いた動作テストを行うと,テスト・ポイントから出力されるトレース・データが収集されるので,ブラック・ボックス・テストでなくグレー・ボックス・テストが可能になります.
従来のブラック・ボックス・テストでは,入力に対する結果としての動作を検証するだけで,内部のプログラムの動きは文字通りブラック・ボックスでした.
しかし「DT10」ではテストの際に同時に内部構造を見ることができるので,テスト時間が劇的に変わってきます.そこで「DT10」のパフォーマンスを最大限活用したグレー・ボックス・テスト手法を弊社なりに確立し,検証サービスを開始することになりました.
──テスト内容を教えてください
落合氏:内容は,モジュール構造テスト,インターフェース・テスト,関数動作(単体)テスト,パフォーマンス・テストの4項目あります(図3).
「DT10」を用いることでプログラム上での未確認場所を把握しながら検証することが可能になるので,抜けのないテストを行えます.また,ムダな検証も把握できるので,必要にして十分なテスト計画を組み立てることが可能です.さらに,ソフトウェアの実行時間の計測,タイミングの検証も「DT10」を使えば同時にできるので,検証期間,コストの削減に貢献します.これにより,従来の検証にかかっていたコストを1/2,期間を1/3に削減することが可能となりました.
図3.DT-Test のテスト内容とメリット
ハートランド・データ(株) http://www.hldc.co.jp/
〒326-0338 栃木県足利市福居町361
TEL 0284-22-8791 / FAX 0284-22-8792