26
Jun 2015
by
内立 良介
システムのテストについての本を読んで学んだことをまとめてみます。
●ホワイトボックステスト
人間の時間をたくさん使って内部構造を解析しテストする。
プログラムの論理構造が正しいかを解析する ⇒ ソフトウェアの仕様が間違っていることから起こるバグは発見できない!!
つまり、このテストだけではテストを終了することはできない。
●制御パステスト
プログラムがどのような振る舞いをしてどのように制御され実行していくかをテスト。カバレッジ率(※1)の値を取るために実施する。
制御テストによるコードカバレッジテストの本質は、フローチャートをちゃんとカバーすることにある。
※1 カバレッジ率:どの程度をテスト対象とするかのこと。カバー率。ステートメントカバレッジ、ブランチカバレッジ、コンディションカバレッジがある。
[ステートメントカバレッジ]
命令全体のうちテストできるものの比率。
次のプログラムを例に考える。
if(con1 == 0){
x = x+ 1; //1
}
if(con2 > 1){
x = x * 2; //2
}
もし1と2のテストだけを行った場合、cとeのバスを通ることができない。
ステートメントカバレッジは、非常に弱いテスト手法である。
[ブランチカバレッジ]
コード内の分岐のうちテストできるものの比率。
分岐コードに対してそれぞれの判定条件がTRUE、FALSEの結果を少なくとも1回ずつ持つようにテストケースを書く。
ステートメントカバレッジの例でcon1=0とcon2=2のテストケースとcon1=1とcon2=1の二つのテストケースが要求される。
テストにおいて大事なブラックボックステスト残しているが、ボリュームが多いため次回に回します。
参考文献:
「高橋寿一(2013)、知識ゼロから学ぶ ソフトウェアテスト【改訂版】、翔泳社」