新人技術者のためのロジカル・シンキング入門(9) ―― メモリ転送速度の最適化設計

冴木 元

tag: 組み込み

技術解説 2008年11月 6日

【3】最適化によるバグに注意(2/2)

● テスト実施を自動化して対応

 テスト・ケースを実施するのにも時間がかかるため,テストの効率化も実は必要となってきます.テストの効率化というと,まず,

・不要なテスト項目を省いて工数削減

というアプローチが考えられます.しかし,効率化の手段がこれだけしかない場合は問題です.なぜなら,このアプローチはしばしばテスト項目の省きすぎにつながるからです.差し迫った開発工数の中で「多分大丈夫なはずだ」と考えて,テストを大幅に省略してしまう誘惑に勝つのは容易ではありません.従って,

・テストの自動化による工数削減

という別のアプローチが有効だと考えられます.具体的には,テストそのものをプログラム化してしまうことでテスト工程を自動化し,テストにかかる工数を少なくしながら,テストを確実に実施できるようにするわけです(図7)

zu07_01.gif
図7 テスト実施の自動化
最適化作業中の品質劣化を防ぐためには,適切なテストを効率良く実施することが不可欠である.よく用いられるのは,テストそのものをプログラムによって自動化してしまう方法である.もちろん,テスト・ケースそのものが適切に工夫されていることが前提となる.

 組み込みモジュールの場合,リファレンス・モデルが出力する期待値との一致をもってテストの合否を判定するケースはよくあります(2).このような場合,テスト・プログラムが動作パラメータを受け付けられるようにしておけば,パラメータの組み合わせをスクリプトでテスト・プログラムに与えられます.こうすると,何千通りのテスト・パターンがある場合でも,テストそのものはスクリプトで自動化されているので,人間の作業は新しいモジュールをテスト環境に結合する作業だけとなります.スクリプトの動作時間は長いかもしれませんが,十分なCPU速度を備えたパソコンを用意するなどによって短縮できるでしょう.テスト・プログラムを夜間に動作させるようにすれば,わずかな修正→終夜運転による再テスト→翌日リリース,というステップを踏むことができます.この方法なら,テスト項目をあれこれ削ってテスト工数を削減するよりも確実な品質が見込めます.

● テスト・ケースの中身が大事

 もちろん,実施するテスト・ケースそのものに無駄や漏れがあっては,いくらテストを自動化しても品質の劣化は防げません.自動化の前提には,テスト・ケースが適切に確立されていることが前提となります.テスト・ケースが不十分であったり,偏りがあって的確にバグが洗い出せないものであった場合には,ただやみくもにテストを自動化したとしても,バグ混入は避けられないでしょう.テストは,実施方法が自動化されている,いないにかかわらず,まずテスト・ケースが適切に組み立てられていることが重要なのです.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日