テストケースを決めるの結構難しい。最近Perlでのテストでテストケースを選ぶときに気をつけてることを適当にメモする。
条件分岐ごとにテストケース
基本的には条件分岐ごとにテストケースを作ってテストする。
- ブログサービスの場合だったら、ブログがあるときないときでsubtest分けて書く
- さらにブログが公開状態、非公開状態とか
下の方は厳密に、上の方はゆるく
下の方のレイヤーではテストケースの種類は増やして厳密にテストするけど、上の方ではロジックは正しい前提でそんなにテストケース増やさない
- ロジックの部分はC0 100%は絶対だけど、ViewやControllerの部分ではそこまでは目指さないみたいな
- 下のほうの組み合わせで上のレイヤーできるので、あんまりやり過ぎるとテストケース爆発する
- もちろんうまくスタブとか使ったりする
出来るだけ落ちやすいテストケース
出来るだけ落ちやすいと思われるテストケースにするようにしてる。これ結構重要で、簡単すぎるテストケースを作っておくと意図しないバグをその後作っても気づかないっていうことになるから気をつけてる。
- 空文字は使わず、さらに日本語と英語混ぜておくとか
- ARRAYを指定できる時は、必ず2個以上データを入れたARRAYを使うとか