サンプルCSV(ダミーデータ)生成ツール

列名と型(連番ID・氏名・メール・日付・数値など)を指定するだけで、テスト・QA用のダミーCSVデータをその場で生成・ダウンロードできます。

対応しているデータ型

型 生成例
連番ID 1, 2, 3, ... または USR-0001 のような接頭辞付き連番
氏名 Taro Yamada, Emma Smith のような日本語・欧米混在の架空氏名
メールアドレス [email protected](生成された氏名から自動作成)
電話番号 090-1234-5678 のような日本の携帯電話番号風フォーマット
日付 指定した期間内のランダムな日付(YYYY-MM-DD形式)
整数 指定した最小〜最大の範囲内のランダムな整数
小数(金額など) 指定した最小〜最大の範囲内のランダムな小数(小数点以下2桁)
真偽値 true/false(ラベルは自由に変更可能)
自由記述テキスト Lorem ipsum dolor sit amet. のような単語の羅列

サンプルCSV(ダミーデータ)の生成

開発やテストでは、**それらしい形をしたデータ**が手元に要ります。本番データをそのまま使うのは個人情報の観点から避けるべきですし、手で10行書くだけでも骨が折れます。このツールは列名とデータ型を指定するだけで、テスト・QA用のダミーCSVをその場で生成してダウンロードできます。

**型を指定できることがこのツールの要です。** すべて同じ文字列で埋めたデータでは、ソートや検索のテストになりません。連番ID・氏名・メールアドレス・日付・数値といった型を列ごとに選べるため、**実際のデータに近い分布を持つファイル**が作れます。生成はすべてブラウザー内で完結し、サーバーへは何も送信されません。なお生成される氏名やメールアドレスは架空のもので、実在の人物とは無関係です。

ダミーCSVを生成する手順

  1. 列を定義する 列名とデータ型の組を必要な数だけ追加します。
  2. データ型を選ぶ 連番ID・氏名・メール・日付・数値などから選びます。**列ごとに別の型を指定できます。**
  3. オプションを設定する 型によっては範囲や書式を細かく指定できます。
  4. 行数を指定する 必要な件数を入れてください。
  5. ダウンロードする 生成されたCSVをそのままテストデータとして使えます。

使いこなすためのヒント

  • シード欄に任意の数値を入力すると、同じ列定義から何度でも同じダミーデータを再現できます。バグ報告や自動テストのfixtureとして共有する際に便利です。
  • 生成されるCSVはRFC 4180に準拠しており、カンマや改行、ダブルクォートを含む値も正しくクォート・エスケープされます。
  • メールアドレス列は、同じ行の氏名列(メールより前に配置したもの)から自動的に作成されます。氏名列と組み合わせて使うと一貫性のあるデータになります。
  • すべての生成処理はブラウザ内で完結し、サーバーには一切送信されません。実在の個人情報を含まない完全な架空データです。
  • 行数は最大10,000行まで指定できます。大量のデータを一度に生成するとブラウザの動作が重くなる場合があるため、まずは少ない行数で列定義を確認してから増やすことをおすすめします。

こんなときに使えます

インポート機能をテストする

**本番データを使わずに済む**ため、個人情報を扱うリスクを避けられます。

画面の表示崩れを確認する

長い氏名や特殊な文字を含むデータで、レイアウトが崩れないかを見られます。

性能を測る

行数を増やして生成すれば、大量データでの処理時間を測れます。

デモ環境を用意する

商談やレビューで見せる画面に、それらしいデータを入れておけます。

テストデータの用語

ダミーデータ
実在しない、テストのために作られたデータです。**架空の値であり実在の人物とは無関係です。**
CSV
カンマ区切りのテキスト形式です。多くの表計算ソフトやデータベースが読み込めます。
連番ID
1から順に増える整数です。主キーの代わりとしてよく使われます。
境界値
最大長・最小値など、不具合が出やすい値です。**ダミーデータだけでなく、これらも別途用意してください。**
マスキング
本番データの一部を伏せて使う手法です。ダミーデータの生成とは別の選択肢になります。
文字コード
CSV では UTF-8 と Shift_JIS の取り違えが文字化けの主因になります。

よくある質問

いいえ、まったく関係ありません。氏名・メールアドレス・電話番号はすべて、テスト用に用意した名前のリストとダミードメイン・フォーマットから機械的に組み合わせて生成した架空のデータであり、実在の個人情報とは無関係です。

ブラウザが固まらないよう、1回の生成につき最大10,000行までに制限しています。それ以上の件数が必要な場合は、シードを固定した上で複数回に分けて生成し、結合してご利用ください。

シードは疑似乱数生成の「種」となる数値です。同じシードと同じ列定義を使えば、常に同じ順序で同じダミーデータが生成されます。バグの再現手順を共有したり、テストコードで期待値と比較したりする際に、ランダムなのに再現可能なデータが必要になる場面で役立ちます。

氏名の一部はTaro・Hanakoなど日本語由来のローマ字表記に対応していますが、現時点では漢字・ひらがなでの氏名生成やフリガナには対応していません。列名や真偽値のラベルは自由記述で日本語を入力できます。

ダウンロードされるCSVはUTF-8で出力されます。Excelで直接開くと環境によって文字化けする場合があるため、Excelの「データ」タブから「テキストまたはCSVから」を選び、文字コードにUTF-8を指定してインポートすることをおすすめします。
ツールくん

余談ですが ― なぜテストに「シード付き」ダミーデータが必要なのか

ソフトウェア開発の現場では、実データの代わりにダミーデータでテストすることが広く行われています。理由は大きく二つあり、一つは個人情報保護(実際の顧客データを開発環境やテスト環境に置くリスクを避ける)、もう一つは境界値や異常系を意図的に含んだデータを自在に用意できることです。Ruby の Faker や Python の Faker、JavaScriptの@faker-js/faker などのライブラリが広く使われているのはこのためです。

一方で、完全にランダムなダミーデータには「再現性がない」という弱点があります。あるテストがたまたま失敗したとき、原因がロジックのバグなのか、それとも「たまたま生成された特殊な値」が引き金だったのかを切り分けるのが難しくなります。この問題を解決するのが「シード付き疑似乱数生成器(seeded PRNG)」です。同じシード値を指定すれば、何度実行しても寸分違わず同じ数列(=同じダミーデータ)が得られるため、バグの再現やテスト結果の検証が容易になります。

このツールが採用しているmulberry32は、比較的単純な計算量で質の高い疑似乱数列を生成できるアルゴリズムとして、JavaScriptを中心に軽量な用途でよく使われています。暗号用途には向きませんが、テストデータ生成のように「決定的で高速」であることが重要な場面には適しています。