テストの本質を探る ――30年の歴史を持つ 「ソフトウェア工学」の知恵に学ぶ

伊藤昌夫

tag: 組み込み

技術解説 2004年4月24日

2)テストの対象を絞る

 ソフトウェアには,いくつかの「メトリックス」と呼ばれる指標があります.もっとも有名なものは,McCabeの循環複雑度というものです.循環複雑度Cは,次式によって求めることができます.

  C=e-n+2p

 ここで,eは制御フローをグラフで表現したときのエッジ(枝)の数,nはノード(節点)の数です.pはグラフの数で,通常は1と考えます.図4に示すグラフでは,C=6-6+2×1=2となります.なにか難しい式のようですが,この式の値は,グラフによって区切られた空間の数に等しくなります.つまり,グラフを書いてしまえば,多くの場合,簡単に数えることができます.複雑度Cが大きい場合,その関数は誤る確率が高くなります.McCabeはCの目安として10という数字を挙げています.したがって,なんらかの代替手段があり,すべてのコードをテストできない場合は,この指標を用いてテストの対象を絞ることを考えることができます.

3)テストの支援ツールを利用する

 発見できる不ぐあいの数は,テスト担当者の労力に依存するということをお話ししました.テストをいかに効率良く行うかということは,テスト担当者の作業プロセスを自動化ツールがいかに支援するかということと密接に関係しています.

 すでに,テストを支援するためのいくつかの自動化ツールが市販されています注4.例えば,ユーザの操作を繰り返し実行することで,負荷テストや回帰テストを実施するツール,パス・テストなどで実際に通過した(累積の)パスを記録して,一度も通っていないパス(コード)を示してくれるツール,プログラムの複雑さを計測して,重点的に調べるべきコードを知らせてくれるツールなどです.

 注4;テストに関するツールとしては,ここに挙げた不ぐあい追跡ツールをはじめとして,いくつかの種類がある.例えば,以下のようなツール・カテゴリがある.テスト計画用ツール,テスト進ちょくモニタリング用ツール,構成管理用ツール(どのバージョンでテストしていて,それはどのモジュールの組み合わせなのかを管理する),画面キャプチャ/プレイバック用ツール,負荷・破壊テスト用ツール,カバレッジ計測ツール,シミュレータ,テスト・データ生成ツール(テスト・ケースと入力ベクトルを自動生成するツール),テスト・ドライバ自動生成ツール(単体テストで必要なドライバ/スタブを生成するツール).

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日