境界値分析
テストケースを合理的に減らすテスト技法の1つ
多くの欠陥は境界付近から発見されるという経験からきている
例
a,b,cの3つの引数すべてが正の数であればtrueを返す関数があるとする
code:ruby
def all_plus?(a, b, c)
a > 0 && b > 0 && c > 0
end
同値分割法で「1以上の数」か「0以下の数」というグループに分けたあと、グループの境界の値をテストに用いる
code:ruby
it do
expect(all_plus?(1, 1, 1)).to eq true
expect(all_plus?(0, 1, 1)).to eq false
expect(all_plus?(1, 0, 1)).to eq false
expect(all_plus?(1, 1, 0)).to eq false
end