【てすとでーた】

テストデータ とは?

💡 テストの「材料」となるデータを準備する裏方仕事
📌 このページのポイント
テストデータ ― テストに必要なデータ群 正常系 有効な値 一般的なケース 例: age=25 異常系 無効な値 エラーケース 例: age="abc" 境界値 上限・下限の値 境目ギリギリ 例: age=0, 120 大量データ 性能確認用 10万件超など 負荷テスト 本番データの取り扱い 個人情報 → マスキング必須 機密データ → 匿名化処理 そのまま使うのはNG! 管理のベストプラクティス バージョン管理で追跡 セットアップを自動化 テスト間で独立させる 計画的に準備し、安全に管理する
テストデータのイメージ
ひよこ ひよこ

テストデータって、適当に作ればいいの?

ペンギン先生 ペンギン先生

適当に作ると大事なパターンが漏れちゃうよ。正常系はもちろん、異常系(不正な入力)、境界値(上限ギリギリ)、大量データ(性能確認用)など、目的に応じて計画的に準備するのが大事なんだ

ひよこ ひよこ

本番のデータを使ったらダメなの?

ペンギン先生 ペンギン先生

そのまま使うのは危険だよ。個人情報や機密データが含まれている可能性があるからね。使うとしても名前をランダムに置き換えたり、メールアドレスをダミーに変えたり、マスキング処理をしてから使うのが鉄則だよ

ひよこ ひよこ

テストデータの管理って面倒そう…

ペンギン先生 ペンギン先生

そうなんだよ。だからテストデータをコードと一緒にバージョン管理したり、テスト前に自動でデータをセットアップするスクリプトを用意したりするのが良いやり方だね。ファクトリパターンやフィクスチャを使うのもおすすめだよ

ひよこ ひよこ

テストデータで失敗しやすいポイントは?

ペンギン先生 ペンギン先生

テスト同士がデータを共有して干渉し合う「テストの依存関係」が一番厄介だよ。テストAが作ったデータのせいでテストBが失敗する、みたいな。各テストが独立してデータを用意・片付けする設計にするのがベストプラクティスだね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「テストデータ」って出てきたら「テスト実行に必要な入力値や初期データ」と思えればだいたいOK!
📖 おまけ:英語の意味
「Test Data」 = テストデータ
💬 data は「与えられたもの」が原義で、テストに「与える」データという意味だよ
← 用語集にもどる