SSブログ

ホワイトボックステスト [プロジェクトマネージャ]

詳細設計に基づくテストケースを設計し、単体テストで使われる技法です。
各網羅パターンの図は、左にフロー図、右にテストパターンでまとめてみました。

また、テスト実施の際にカバレッジツールを使うと、品質がグッと上がります。
但し、カバレッジツールはテストのサポートツールなので、カバレッジ100%になっても完璧なソフトウェア(モジュール)という訳ではないことに注意が必要です。
逆にカバレッジ100%に拘泥しすぎるのも効率が悪くなる場合があるので、あくまでも考慮漏れを効率よく発見できる程度の認識で使うのがいいと思います。
とはいえ、カバレッジツールは破壊力抜群なので、積極的に使っていきましょう。
  • 目的は品質の向上であり、カバレッジ100%ではない
  • カバレッジツールだけでは完璧なテストとは言えない
  • カバレッジツールは品質や効率の向上のため、積極的に使用するべき

★命令網羅(C0)
最も緩い条件で、全ての命令を1度でも通過すればOKです。
カバレッジレベルはC0になり、条件分岐にバグがあった場合は検出できません。

C0.PNG

★判定条件網羅(C1)
条件分岐を含めた全経路を通過すればOKです。
カバレッジレベルはC1になり、一つの条件分岐で二つのテストケースが必要です。

C1.PNG

★条件網羅(C2)
下の図で①の取りうる全ての条件と、②の取りうる全ての条件を満たすテストパターンを網羅すればOKです。
カバレッジレベルはC2になり、分岐は考慮しないので、下の図の処理では最低二つのテストパターンで網羅できることになります。
カバレッジレベルはここで終了です。

C2.PNG

★判定条件/条件網羅
文字通り、判定条件網羅と条件網羅を両方満たせばOKです。
カバレッジツールでカバレッジ100%となったら、最低でも判定条件/条件網羅までの品質が担保できていることになります。
下の図では条件網羅と同様、最低二つのテストパターンで網羅できることになります。

C1C2.PNG

★複数条件網羅
可能な全てのテストケースを網羅できればOKです。
カバレッジが100%近くになったら、通過した条件に対して全てのパターンを考慮していきます。ここからが単体テストの本番という感じで、実務だと概ねこのレベルを求められます。

下の図では条件が①と②の二つなので、条件①の分岐数(=2)掛ける条件②の分岐数(=2)で4パターンのテストケースが必要になります。
この程度なら十分テスト可能ですが、例えば・・・
  • 条件が5つになると、分岐数(=2)の条件数(=5)乗なので32パターン
  • 条件が6つになると、分岐数(=2)の条件数(=6)乗なので64パターン
  • 条件が7つになると、分岐数(=2)の条件数(=7)乗なので128パターン
  • 条件が8つになると、分岐数(=2)の条件数(=8)乗なので256パターン
  • 条件が9つになると、分岐数(=2)の条件数(=9)乗なので512パターン
  • 条件が10つになると、分岐数(=2)の条件数(=10)乗なので1024パターン

となり、条件数が一つ増加するだけで爆発的にテストケースが膨らんでいきます。なので普通は直交表などでテストパターンを削減したり、モジュール分割で分岐を外出しするといったような工夫が必要です。オブジェクト指向で分岐をメインメソッドから追い出していく考え方は、こういう意味があるんですね。
  1. 条件が7つのメソッドは128パターンのテストが必要
  2. メソッドをモジュール分割し、条件が3つのメソッドと4つのメソッドに分割
  3. 条件が3つのテストパターンは8
  4. 条件が4つのテストパターンは16
  5. 二つのメソッドのテストパターンは24(8+16)
  6. テストパターンが128から24に削減できた(-104)
  7. ウレシー(゚∀゚ )

fukusuu.PNG

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。