test.comやaaa.comをテストデータに使うのはやめましょうという話

2018/02/13追記:「サンプル用のドメインを使おう」の説明に “.example” と “.test” の使い分けについて追記しました。

Web システム開発時のテストデータを作成する時、また各種ドキュメントを書いている時など、サンプルの URL を使う場面は多いと思いますが、その時に適当なドメイン名を使うのはやめましょう、という話です。

知っている方には当たり前レベルの話ですが、意外と IT 企業のシステム開発現場等でも普通に見かけることがまだまだありますので・・・。

よく見かける例

例えば、こんなドメインの URL で開発中システムのテストデータを作っていたり、仕様書に説明が書かれていたりする場面をよく見かけませんか?

  • test.com
  • aaa.com
  • abc.com
  • sample.com
  • dummy.com
  • hoge.com

でも、これらのドメインって存在していて、また実際に利用されているものなんですよね。

  • test.com → ソフトウェア会社
  • aaa.com → アメリカ自動車協会
  • abc.com → アメリカの放送会社
  • sample.com → 各種サンプル素材を提供するサイト?
  • dummy.com → 売買目的のドメイン?
  • hoge.com → アメリカの木材製品を扱う会社

問題点

ところで、こういうドメインを安易に使った場合にどんな問題があるでしょうか?

例えば、次のようなリスクが考えられるでしょう。

リンク先がどんなサイトか保証されない

その先がどんなサイトか分からないのは一番の問題かと思います。

システムのテスト中に、適当なドメインのリンク先を開いたらけしからんサイトが開いてしまった、悪意のあるスクリプトが埋め込まれているページだった、だとか業務でそんなことになったら目も当てられませんよね・・・。

たとえ今日は大丈夫だったとしても、明日もそのリンク先が同じ内容である保障はどこにもありませんので。

メール誤配信の危険がある

また、「aaa@test.com」「test@aaa.com」といったメールアドレスを、テスト用のダミーデータとして使っているケースを見かけることもたまにあります。

もし開発中にメール配信機能のテストをしていて、プライバシー情報や非公開データを誤って送信してしまったら・・・とか考えると、怖いですよね。

こちらもリンク先の話と同様に、もし今日はアカウントが存在していなくても明日には存在するアカウントになっているかもしれません。決して油断してはいけません。

信頼性の低下

例えば、外部の開発パートナーやクライアントにこういうドメインを使っていることを知られた場合、相手によっては「こんなことも知らないのか」と IT リテラシー、技術力を疑われてしまう可能性もあると思います。

私も以前一緒のチームで働いていてすごく仕事ができる人が、仕様書の説明にこういうドメインを記述しているのを見て、ちょっと違和感を覚えてしまったことがありました。

こんなちょっとしたことで、他人からの印象を損ねてしまってはもったいないですよね・・・。

サンプル用のドメインを使おう

では、実際こういう場合に、どんなドメインを使えば良いのでしょうか?

実はこのような場面でサンプルとして利用できる、以下のようなドメインがあらかじめ用意されています。

  • example.com
  • example.net
  • example.org
  • *.test

これらは、RFC2606 にて例示用として定義されている適切なドメインなんです。

参考 RFC 2606 – Reserved Top Level DNS Names
参考 example.com – Wikipedia

RFC2606 のページには次のような説明がありますので、特に .test ドメインはテスト用として、example ドメインはドキュメントや例示用として使い分けるようにするとベターかと思います。

“.test” is recommended for use in testing of current or new DNS
related code.

“.example” is recommended for use in documentation or as examples.

また、日本向けの用途であれば、下記のように .JP ドメインにも example.jpexample.co.jp 等が例示用ドメインとして定義されています。こちらも安心して使うことができるドメインです。

次の文字列のJPドメイン名は、例示としてご利用いただけます。
“EXAMPLE”を用いたもの
例: EXAMPLE.JP
EXAMPLE.CO.JP
EXAMPLE.NE.JP
“EXAMPLE”の後に1桁の数字(””0″”から””9″”)がつく文字列を用いたもの
例: EXAMPLE1.JP
EXAMPLE2.CO.JP
EXAMPLE3.NE.JP
次の日本語ドメイン名
ドメイン名例.JP (日本語JPドメイン名)
XN–ECKWD4C7CU47R2WF.JP (「ドメイン名例.JP」のpunycode表記)

サンプル用のIPアドレスもある

ちなみに今まではサンプル用のドメインについて説明してきましたが、実はドメイン同様に IP アドレスにもサンプル用として決められたものが存在します。

IPv4のアドレス

まず IPv4 についてですが、RFC5737 にて以下のネットワークアドレスに属する IP アドレスがサンプル用として使えると決められています。

  • 192.0.2.0/24
  • 198.51.100.0/24
  • 203.0.113.0/24

参考 RFC 5737 – IPv4 Address Blocks Reserved for Documentation

IPv6のアドレス

IPv6 の方は、RFC3849 で次のネットワークに属する IP アドレスがサンプル用となっています。

  • 2001:DB8::/32

参考 RFC 3849 – IPv6 Address Prefix Reserved for Documentation

ドメインと同じく、これらの IP アドレスについてもぜひ頭に入れておきたいところですね!

終わりに

反射的に aaa.com とか test.com とか書くのは、早いし頭を使わなくて良いので楽だったりするかもしれませんが、一度 example ドメインのことを知ってしまうと、逆にこれで書いてないと何だか落ち着かない感覚にすらなってきます。

自分が気付かないうちに不要なリスクを抱えたり、後で恥ずかしい思いをせずに済むよう、ぜひこれらのドメインを活用することをオススメします!

この記事を書いた人

ko31

岩手県出身、群馬県在住のフリーランスWeb系エンジニアです。
Webシステム・アプリ、Webサービス、WordPress開発等を雑多にこなしています。バンカラ応援好きの振り飛車党。
PHP / WordPress / 高校野球 / 将棋 / WordPress / ブログ / 食べること / 二児の父親

>>もっと詳しいプロフィールはこちら

お仕事のご相談・お問い合わせ

当ブログの管理人は、Gosign(ゴーサイン)という屋号でフリーランス Web エンジニアとして活動しています。
ブログの掲載内容はもちろん、Web サイト制作や Web アプリケーション開発などのご相談・ご質問がありましたら、どうぞお気軽にお問い合わせください!

合わせて読みたい記事