出題と解説/ET教育フォーラム (越川 恒俊,坂井 直美)

<今号の問題から>
あるプログラムに対する有効な入力値が整数で「0以上10以下」である場合,同値分割により設定したテスト項目として適切なものはどれか
  1.  0,10(2項目)
  2.  -5,3,12(3項目)
  3.  -1,0,10,11(4項目)
  4.  0,1,2,3,4,5,6,7,8,9,10(11項目)

 プログラミングが終わると,テスト工程に入ります。通常は,モジュール単位で行う単体テスト,モジュールを結合して行う結合テスト,実際の運用時に近い環境で全体的な機能を確認するシステム・テストのように,段階的にテストを進めていきます。

 テストは,最も重要な工程といっても過言ではありません。上位工程で定義した要件を満たしているか,設計した通りにプログラムが動いているかを徹底的に確認します。正常系だけでなく,エラーが発生したときに適切に処理できるかを確認することも大切です。

 テストを適切に行うためには,事前に計画を立て,テスト項目を設定します。テスト項目とは,テストの対象と目的,テストの方法,テスト・データやその結果などを定めたものです。テスト項目は,確認漏れや抜けがないように抽出する必要があります。一方で,効果のないものや重複を避け,効率的にテストを実行できるようにしなければなりません。

内部構造を網羅的に確認

 単体テストでは,各モジュールの内部構造に着目します。例えば,「if(x > 0)」というif文があれば,(x = 1)をテスト・データとして真への分岐を確認します。論理パスを余すところなく確認できるようにテスト項目を設定するために,命令網羅,分岐網羅,条件網羅などの手法を用います。

『日経エレクトロニクス』2009年6月15日号より一部掲載

6月15日号を1部買う