概要
基本情報や応用情報でも出てくるテスト技法です。
プログラミングの事ばかり勉強していると疎かになりがちな知識なので
復習をするためのアウトプットです。
同値分割法
同等に処理されると想定したデータ全てを同じパーティションに振り分ける技法
各パーティションから少なくとも1個の値を選んでテストする
メリット:テスト回数の大幅な削減
例)
1桁の正の整数2個を足し算
function add(num1, num2) {
if (num1 < 1 || num1 > 9 || num2 < 1 || num2 > 9) {
// バリデーション
throw new Error('valid');
}
return num1 + num2;
}
同値パーティションに振り分け
同等に処理されると想定したデータ全てを同じパーティションに振り分ける
無効同値パーティション
システムに拒否される値
x < 1
有効同値パーティション
システムに受け入れられる値
1 < x < 9
無効同値パーティション
システムに拒否される値
9 < x
各パーティションから最初1つの値を選んでテスト
例)
無効同値パーティション:-3
・13
有効同値パーティション:3
// 無効同値パーティション
add(3, -3); // Error: valid
add(-3, 3); // Error: valid
add(3, 13); // Error: valid
add(13, 3); // Error: valid
// 有効同値パーティション
add(3, 3); // 6
補足
パーティションが識別できるのは入力だけではない
例)
5 + 5 = 10
答えが2桁になった時は表示位置がずれるかも?
と考えると別パーティションにしてもいい