2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

開発で使えるテストデータ生成ツールを作った【50種類以上・日本語対応・無料】

2
Posted at

はじめに

開発やテスト時に「ダミーデータが欲しい」という場面、よくありますよね。

既存のツール(MockarooやGenerateDataなど)を使っていたのですが、いくつか不満がありました:

  • 日本語の氏名がリアルじゃない(「タナカ ハナコ」みたいな不自然な名前)
  • 日本の住所形式に対応していない
  • 和暦やマイナンバーなど、日本固有のデータが生成できない
  • 無料版だと行数制限がある

そこで、日本語に完全対応したテストデータ生成ツールを作りました。

どんなツールか

入力
testdata.png

JSON形式
result1.png

SQL形式
result2.png

主な機能

  • 50種類以上のデータ型に対応

    • 個人情報(氏名、住所、電話番号、マイナンバー等)
    • ビジネス(会社名、部署、役職等)
    • Web/IT(UUID、JWT、APIキー(ダミー文字列)、IPアドレス等)
    • 金融(クレジットカード、暗号通貨アドレス等)
    • 日時(和暦、タイムスタンプ等)
  • 日本語完全対応

    • リアルな日本人の氏名
    • 日本の住所形式
    • 和暦(令和6年など)
    • マイナンバー
  • 複数の出力形式

    • CSV
    • JSON
    • SQL INSERT文
  • 7言語対応のUI

    • 日本語、英語、中国語、ロシア語、スペイン語、フランス語、ドイツ語
  • 完全無料

    • 登録不要
    • 行数制限なし
    • 広告なし

なぜ作ったか

既存ツールの不満点

バックエンドエンジニアとして、テストデータが必要な場面は多々あります。

  • データベースの初期データ投入
  • APIのテストケース作成
  • UIのモックアップ
  • 負荷テスト用の大量データ

既存のツールを使っていて感じた課題:

1. 日本語データの品質が低い

Fakerライブラリを使ったツールは多いですが、日本語ロケールの実装が甘く、不自然な名前や住所が生成されることが多いです。

例:

  • ❌ 「タナカ ハナコ」(漢字ではない)
  • ❌ 「東京都渋谷区123-456」(住所の形式が不自然)

2. 日本固有のデータに非対応

  • 和暦(令和、平成など)
  • マイナンバー
  • 日本の郵便番号形式

これらは海外のツールでは生成できません。

3. 無料版の制限

Mockarooなどは無料版だと1000行までの制限があり、大量データが必要な時に不便でした。

解決策として作ったツール

上記の課題を解決するため、以下の方針で開発しました:

  • 日本語データの品質にこだわる
  • 日本固有のデータ型を豊富に用意
  • 完全無料・無制限で使える

技術スタック

  • フロントエンド: React + Material UI
  • インフラ: AWS(CloudFront、S3)
  • 多言語対応: i18nライブラリ
  • データ生成: 自作ロジック(Fakerは使わず)

工夫した点

1. 日本語データの品質

Fakerライブラリに頼らず、日本の実在する姓名データ、都道府県・市区町村データを元に生成しています。

例えば、氏名は:

  • 日本で実際に多い姓(佐藤、鈴木、高橋等)
  • 自然な名前の組み合わせ
  • 正しいフリガナ

2. データ型の豊富さ

モダンなWeb開発で必要なデータ型を網羅:

  • JWT トークン
  • APIキー
  • 暗号通貨アドレス(Bitcoin、Ethereum)
  • HTTPステータスコード
  • MIMEタイプ

従来のツールにはないデータ型も生成できます。

3. 7言語対応のUI

i18nライブラリを使い、UIを7言語に対応させました。

これにより、日本だけでなく海外のエンジニアにも使ってもらえるツールになりました。

4. 使いやすさ

  • シンプルなUI(Material UI)
  • リアルタイムプレビュー
  • ワンクリックでコピー
  • 設定の保存(localStorage)

使い方

基本的な使い方

  1. データ型を選択(氏名、住所、メールなど)
  2. 生成する行数を指定
  3. 出力形式を選択(CSV、JSON、SQL)
  4. 「生成」ボタンをクリック
  5. ダウンロードまたはコピー

使用例:ユーザーテーブルの初期データ作成

例えば、以下のようなユーザーテーブルに初期データを投入したい場合:

CREATE TABLE users (
  id INT PRIMARY KEY,
  name VARCHAR(100),
  email VARCHAR(100),
  phone VARCHAR(20),
  created_at TIMESTAMP
);

ツールで以下のデータ型を選択:

  • 連番(id用)
  • 氏名(日本語)
  • メール
  • 電話(携帯)
  • タイムスタンプ

出力形式を「SQL INSERT」にすれば、そのまま実行できるSQL文が生成されます。

まとめ

開発・テスト用のダミーデータが必要な時に、ぜひ使ってみてください。

特に、日本語データが必要な場面では既存ツールより便利だと思います。

フィードバック募集中

「こんなデータ型が欲しい」「こんな機能があったら便利」などのフィードバックをお待ちしています!

X: @HandyDevTools


最後まで読んでいただき、ありがとうございました!

この記事はZennにも投稿しています。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?