※この記事は「ソフトウェアテストの小ネタ Advent Calendar 2017 - Qiita」用の記事です。
ソフトウェアテストの小ネタ 2日目担当のオムそばです。
実はちゃんとした(?)記事を書くのはこれが初めてなので、生暖かい目で見ていただければ。
そんなわけで早速表題の件、市場バグを引き起こした優秀なデータたちをご紹介します。
今回は、よくある「半角記号」、「空白やスペース」などは割愛させていただきます。
■日時に関するデータ
・1969/12/31、2038/1/20:UNIX系のシステムに有効なデータ。UNIXのシステム時刻は1970/1/1 開始なので、それ以前のデータを打ち込むと予期せぬエラーが発生する可能性がある。また、同様に2038/1/20 も確認するとよい。(参考:UNIX時間 - Wikipedia)
・0:00~9:00(日本時間(JST)):日本と世界の間で発生する日付の歪。日本時間は、システムが標準で用いている協定世界時(UTC)から9時間進めた時刻となっている。そのため、日付の切り替わるタイミングが、日本時間と協定世界時で9時間のズレが生じる。(参考:協定世界時 - Wikipedia)
■文字列に関するデータ
・𩸽(ほっけ):サロゲートペア文字と呼ばれる文字列。日本語の漢字を頑張ってサポートしちゃった結果生まれた変なやつ。文字数をカウントを崩してきたり、そもそも文字列としてちゃんと表示されなかったりと、何かと問題を起こす優秀なデータ。(参考:サロゲートペア入門:CodeZine(コードジン))
・表示:Shift-JIS におけるダメ文字(正確には"表"がダメなやつ)。他にも"ー"などがいる。食わせると別文字として取り扱ってしまう場合がある。(参考:Shift_JISのダメ文字 - fudist)
■特定ドメインに大して有効なデータ
・498-0000:愛媛県と三重県に存在する重複した郵便番号(他にもいくつかある)。郵便番号を自動入力してくれるシステムが増えてきているので、テストするときは必ず入れてあげよう。(参考:郵便番号や市区町村データを取り扱うときにはまったこと - Qiita)
今回あげたデータ以外にも、優秀なデータたちは数多く存在します。こうしたデータを多く知っていることが、良いテストエンジニアの条件の一つなんだろうと思っています。
皆様の中で「他にもこんなのがあるぜ!」という情報があればぜひ、教えていただければ、幸いです。