Mr.Tです、こんにちは。
前回の続きです。
2.テストってどうすりゃいいの?
テストは、単体テストをまずは行うことから始まります。
単体ってのは、簡単にいえばプロシジャやサブルーチンのような単位ですね。
これを、条件網羅でチェックするのが、単体テストです。
いわゆるホワイトボックステストですね。
Private Function 小遣い計算() as Decimal
if 年齢<=10 then
return 1000
else if 年齢 <=15 then
return 3000
else if 年齢 <= 18 then
return 10000
else if 年齢<=22 then
select case 身分
case "大学生":
return 20000
case "社会人":
throw exception("自分で稼ぎなさいよ")
case else
'ここにはこないはず
throw new ArgumentException("身分パラメータが正しくないよ","身分チェック")
end select
else
throw exception("自分で稼ぎなさいよ")
end if
end sub
例えば、上記のルーチンを単体チェックしようとした場合、
命令網羅:プログラムに記述されたすべての命令が少なくとも1回は実行されるレベル。
分岐網羅:すべての分岐条件を少なくとも1回は実行するレベル、ただし分岐が複合条件(OR)の場合でも1ケースで良しとする。
条件網羅:すべての分岐条件を少なくとも1回は実行するレベル、複合条件(OR)の場合、すべての条件の組み合わせをテストする。
複数条件網羅:分岐が2箇所以上ある場合、そのすべての分岐条件の組み合わせを実行するレベル。
このいずれかを選ぶかで、その網羅するレベルが異なります。下にいくほど、完全な網羅になります。
また、ここでは境界値のチェックをする必要もあるので、年齢のチェックパターンをきちんと考えて、どの条件のときにどういう
動きをするのか、そして、その通りの結果になっているのか、をチェックします。