FizzBuzz問題をテスト設計してみる

FizzBuzz問題とは

FizzBuzz問題は、以下のようなリストになる。めっちゃシンプル。

  • 数字を1から100まで数える。
  • 数字が3の倍数に当たる時は、数字ではなくFizzと返す。
  • 数字が5の倍数に当たる時は、数字ではなくBuzzと返す。
  • 数字が15の倍数に当たる時は、数字ではなくFizzBuzzと返す。
  • 0以下、101以上はエラーを返す。

テストケースを考えてみる

数字をテスト条件として与え、期待結果を得るというブラックボックステストを考える時、最小テストケースになるのはどんなパターンになるか。
私は以下のように考えてみた。が、テストエンジニアとして気になるのは、追加したい箇所として100、-1、Aなど。
100は正常系、-1やAは例外系として扱われるだろう。

与えたいテスト条件期待結果
0エラー
11
3Fizz
5Buzz
15FizzBuzz
101エラー
テスト条件と、期待結果の対照表

上記の例でいくと、テストケースは6つとなる。
期待結果で同じ値を取るものとして、エラーが2つ挙げられる。
これは見方によっては、どちらか一つでも良いかもしれない。
けれど、境界値を考えた場合、両端に取るべきなので、私は2つにした。
また、上述したけれど、-1やAなどを追加してみても良いかもしれない。
それらを追加すると合計で8つになるか。テスト実行時間がそんなにかからないのであれば、テストケースとして加えてみても良いような気がする。