テストケースの範囲
今日、テスト仕様書を書くときに、テスト範囲が分からない。
この項目はどっちなのか?同じテストケースが被っていてよいのか
というような質問を受けた。
だが、その質問は根本的に間違っている!と思ったので、図解してみる。
要するにだ。先の質問は完全なるテストケース100%が分かっていて、どのテスト項目書に振り分けるのか、という質問だ。
しかし、100%のテストケースは神しか知らない。
だから、「振り分けることなんてできない。」が答えだ。
システム開発は、不確実性へ立ち向かう仕事である。
その為の施策として、複数の視点や前提からテスト項目を洗い出しリストアップするのだ。
おおざっぱに言うと
90%の単体テスト × 90%の結合テスト ⇒ 未テスト率1%という感じだ。
テスト項目書の種類
テスト項目書の種類、および意味の定義はプロジェクトによりマチマチだ。
正解を定めている非営利団体などもない。
参考に、私が経験してきたプロジェクトでのテスト項目書の視点・前提を書いておく。
・単体テスト = プログラマ視点
・結合テスト = 開発チーム視点
・総合テスト = ユーザ視点
・ユーザテスト = ユーザ視点(簡略化。デモ向け。)
・モンキーテスト = ウキキッー!!(つまり、何度も同じボタンを押したり、注意書きの内容と逆のことをしたり思いつくまま激しく操作。項目書は作らない。)