どうも、はるにゃんです。初投稿です。
元号改正、ついに今年に迫ってきました。
わたくしも元号改正チームに
**「テストやって★」**と追加戦士として参戦させられまして、頭を抱える毎日でございます。
そんなわけでソフトウェアテストエンジニア(仮)として昨年12月から勉強を始めていますが、
弊社にテストエンジニアが存在しないため、ここに書いて誰かが素敵な助言を下さることを期待しつつ、
元号改正の対応としてこういうテストをやればいいのかな?というのを考えてみました。
※ ここに書いたテストケースはあくまでも一例です。網羅性だのなんだのは何も考えていません。
実業務でのご利用は計画的に。
まずは想定している仕様
画面上で”元号頭文字+和暦/月/日”で入力をおこなう(例:平成31年2月10日→H31/02/101)。
仮に、新元号を"J:神化2"とします。
境界値分析
とりあえずテストの基本、境界値分析です。
平成と神化の境界は2019/04/30と2019/05/01ですので、
入力値としてH31/04/30とJ01/05/01をテストケースに入れるのは当然のお話です。みんなそうする、オレもそうする。
さて、平成の境界線と、神化の境界線を考えると、
平成:1989/01/08~2019/04/30
神化:2019/05/01~2999/12/313
では、平成と昭和の境界は…どうなんでしょう?
テストケースにくわえる必要ってあるのかしら?
とりあえずここまでで、大体こういうテストケースを作ってみました。
テストデータ | 期待結果 |
---|---|
H01/01/08 | 1989/01/08 |
H31/04/30 | 2019/04/30 |
H31/05/01 | × |
J01/04/30 | × |
J01/05/01 | 2019/05/01 |
J99/12/31 | 2117/12/31 |
組み合わせテスト
組み合わせテストです。
日付で考えられる組み合わせについては、FromToの検索くらいなのですが、もし他にあったら教えてくださいっ><;
FromがNULLの場合は1900/01/01
ToがNULLの場合は2999/12/31
となる仕様の場合を考えます。
From | To | 期待結果 |
---|---|---|
NULL | NULL | 1900/01/01~2999/12/31 |
NULL | H31/04/30 | 1900/01/01~2019/04/30 |
H31/04/30 | NULL | 2019/04/30~2999/12/31 |
NULL | J01/05/01 | 1900/01/01~2019/05/01 |
J01/05/01 | NULL | 2019/05/01~2999/12/31 |
H31/04/30 | J01/05/01 | 2019/04/030~2019/05/01 |
J01/05/01 | H31/04/30 | × |
J01/05/01 | J99/12/31 | 2019/05/01~2177/12/31 |
大体こういう感じでしょうか汗
やってみた感想
考えるとやってみたくなるものですが、「バグでそうだなこれ」という勘が私に足りてないなという感想。
この程度のテストケースで出てくるバグなら、苦労しなさそうだなって…。