システム開発のためのテスト技法「第4章 ホワイトボックステスト」

 ◇概要
  ・テスト対象となるソフトウェア(プログラムソース)を見ながらテストパターンを考える
   ⇒テスト開発が完了し、テストパターンを検討する。
   ⇒プログラミング言語に関する詳細な知識が必要となる。

   ※ソースコードレビューとホワイトボックステストの違い
    ソースコードレビュー:
     プログラムを動かさずにレビュー
    ホワイトボックステスト
     プログラムを動かしながらテストパターンを考えテストを実施
 ◇ホワイトボックステストの技法種類
  ・ホワイトボックステストは、実行していない(テストしていない)命令が無いように、
   テストする制御パス(実行経路)を設計する

  (テスト技法に用いる構造図)
   制御フローダイアグラム(CFD)・・・プログラムの流れを表すために記述する図

  (テスト技法種類)
   ・制御フローテスト
   ・プログラムがどのように制御され実行されるかに着目しテスト項目を抽出する
    命令網羅(C0網羅)・・・・基準:全ての命令を最低1回は実行する
                  弱点:分岐の時、片方だけのテストのみとなる為
                     網羅率が低い為、テストが不十分でリスクを伴う
                  美点:コストが最も低い
    分岐網羅(C1網羅)・・・・基準:各条件分岐の真と偽を最低1回は実行する
                  弱点:テストパターンが増える為、コストが高くなる
                  美点:品質が高い
    全パス網羅(C∞網羅)・・・基準:か区分貴店の真と偽の組合せを全て実行する
                  弱点:コストが最も高い
                  美点:品質が最も高い
   ・データフローテスト
   ・プログラムの中で使用するデータ(変数)に着目しテスト項目を抽出する。
    ※データフローテストは、制御フローテストを補完する目的で用いる。

  (複合条件のテストデータ)
   条件分岐が複数の条件の組合せになっている場合、より慎重にテストデータを考える

   例)(overHour>30,type=1)を満たすテストデータを考える
     1.overHour>30,type!=1
     2.overHour<30,type=1
     3.overHour<30,type!=1

   複数の条件を持つ分岐は各条件の真偽の組合せを網羅するようにテストデータを選ぶ
   必要がある。
   これを、”複合条件網羅基準”という。