- ベストアンサー
テストケース作成のアドバイスをお願いします
- Webアプリケーションのテストケースを作成するためのアドバイスをいただきたいです。
- 入力された日付の正当性を検証するためのテストケースを作成したいです。
- 同値分析や境界値分析を利用して最小のテストケースを抽出したいですが、進みません。アドバイスをお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
【年の同値分析】 2001:平年 2004:うるう年(4で割り切れて100で割り切れない) 2100:平年(100で割り切れて400で割り切れない) 2000:うるう年(400で割り切れる) 【月の境界値分析】 0:エラー 1:正常 12:正常 13:エラー 【日の境界値分析】 0:エラー 1:正常 当該月の末日(大の月、小の月、うるう年を意識すること):正常 当該月の末日+1:エラー ざっとこんなところでしょう。
その他の回答 (3)
- asuncion
- ベストアンサー率33% (2127/6289)
> テストケースですので、テストしなくてよいパターンがあると思うのですが、 > どういったものは省いてよいのでしょうか? No.3の回答で書いたケースは、 最低限実施する必要があると思います。
- shimix
- ベストアンサー率54% (865/1590)
言語が書かれていないので何とも言えませんが・・ (1)年・月・日に分割して、それを元にdate型の変数を作る(この時点で不正な値をエラーにする言語もある)。 (2)(1)で作ったdata型の変数を年月日の文字列型に編集する。 (3)入力された内容と(2)で作った文字列が一致していればOK。 date型はあくまでも(Excel風にいうと)シリアル値なので、2007/02/29 は 2007/03/01 に、2008/03/00 は 2007/02/29 に自動変換してくれる言語が多いハズです(phpだとそうなります)。 ただし「変換できる範囲」が決まっていますのでANo.1の方が書かれたように「日付として認める範囲」は重要のハズです。「特に決まっていない」というのはちょっと仕様として考えられません。一般的にはdate型にできない日付は弾くべきだと思います。
補足
ご回答ありがとうございます。 テストケースですので、Date型などの実装の仕方は伏せて考えています。 (業務での知識はないため、考え方がおかしければ申し訳ないです)
- asuncion
- ベストアンサー率33% (2127/6289)
> 入力された日付 そのアプリケーションでは、 何年何月何日から何年何月何日までの 入力を認めていますか?
補足
>何年何月何日から何年何月何日までの入力を認めていますか? 特に制限は設けていません。 単純に、うるう年を考慮して年月日が正しいか判断しようとしています。 よろしくお願い致します。
補足
詳しく書いていただきありがとうございます。 テストケースですので、テストしなくてよいパターンがあると思うのですが、 どういったものは省いてよいのでしょうか? 有効同値という観点でなんちゃらかんちゃらと聞いたことがあるのですが・・