テストデータ生成の基礎 — ダミーデータをなぜ使うのか
ソフトウェア開発ではデータベースのテスト・UIのモックアップ・APIの動作確認など、様々な場面でダミーデータが必要になります。本番データをそのまま使うとプライバシーリスクがあるため、フェイクデータを使うのが標準的なアプローチです。
フェイクデータとモックデータの違い
フェイクデータは実際のデータと同じ形式・パターンを持つが架空のデータです。モックデータは特定のテストシナリオ用に固定値を設定したデータを指します。自動テストには再現性のあるモックデータが、手動テストや開発環境の初期データ投入にはランダムなフェイクデータが適しています。Fake Data Generatorは後者のユースケースに対応します。
ダミーデータをDBに投入するシードの書き方
Node.js + Prismaの場合、prisma/seed.tsにFake Data Generatorで生成したJSONを読み込むか、生成ロジックを組み込んでprisma.user.createMany()で一括登録する方法が一般的です。Pythonのdjango-fixture-magicやFactoryBoyも同様のアプローチです。SQLiteはCSVからの一括インポートが.mode csvコマンドで可能です。
JSONからCSV・TSVへの変換が必要なケース
Google SheetsへのインポートはCSV形式が最も簡単です。ExcelはTSV(タブ区切り)でテキスト貼り付けが確実です。MySQLのLOAD DATA INFILEはCSVに対応。Elasticsearchへの一括インデックスはJSON Lines(.jsonl)形式を使います。各ツール・DBに合わせて出力形式を選ぶことで手作業による変換が不要になります。
プライバシーに配慮したテスト環境の作り方
本番環境のデータをそのまま開発環境にコピーするとGDPR・個人情報保護法に抵触する可能性があります。フェイクデータを使うことで個人情報の漏洩リスクをゼロにできます。必要なデータ形式・桁数・文字種だけを実際に合わせ、値は架空のものにする「データマスキング」の手法と組み合わせることも有効です。