※この記事は「ソフトウェアテストの小ネタ Advent Calendar 2017 - Qiita」用の記事です。

ソフトウェアテストの小ネタ 2日目担当のオムそばです。

実はちゃんとした(?)記事を書くのはこれが初めてなので、生暖かい目で見ていただければ。



そんなわけで早速表題の件、市場バグを引き起こした優秀なデータたちをご紹介します。

今回は、よくある「半角記号」、「空白やスペース」などは割愛させていただきます。

(2017/12/26追記)"市場バグ"という言葉に違和感や疑問を持たれた方は、こちらの記事をどうぞ。文言について整理してみました。



■日時に関するデータ

・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)

・佐々木:名前入力では、記号を除外するような作りになっていることがあるが、佐々木の「々」の字は、Shift-JISの全角記号扱いになるため、記号の中でも名前に使われる"々"記号は特別に許可するようにしないと名前入力ができなくなる。(参考:https://togetter.com/li/1353302)



今回あげたデータ以外にも、優秀なデータたちは数多く存在します。こうしたデータを多く知っていることが、良いテストエンジニアの条件の一つなんだろうと思っています。

皆様の中で「他にもこんなのがあるぜ！」という情報があればぜひ、教えていただければ、幸いです。