【てすとでーた】
テストデータ とは?
最終更新:
💡 確認したい条件を、再現できるデータにする
テストで使う入力値や初期状態などのデータ。確認したい条件に合わせて用意し、期待結果と準備・後片付けの手順をそろえます。機密情報を含む本番データをそのまま流用せず、扱いと再現性を設計します。
📌 このページのポイント
- 入力だけでなくDBなどの初期状態もテストの条件になる
- 正常・不正な値・境界とその隣などを仕様に沿って選ぶ
- 性能確認では件数だけでなく偏りや分布も考える
- 期待結果とデータの条件を分けて記録する
- 準備・後片付け・共有の範囲を決め、テスト間の干渉を防ぐ
テストデータは適当に作ってよい?
確認したい条件から選ぼう。入力値、DBの初期状態、関連するデータなどが結果に影響する。テストケースに条件と期待する結果を記録し、何を確かめるデータなのかを説明できるようにするんだ。
境界値は上限だけでよい?
境界と隣の値を確認しよう。架空の仕様が整数1〜100を受け付けるなら、0・1・2と99・100・101を候補にできる。1や100だけでなく、範囲外を受け付けてしまう誤りも見たい。すべての組合せを必ず調べるという意味ではなく、狙いに応じて選ぶよ。
大量なら性能の確認になる?
件数だけでは十分ではないよ。値の偏り、関連データの数、検索の条件、同時実行などで処理が変わる。何件以上なら大量という万能な値はない。確認したい負荷を決めて、現実の条件を代表するデータを用意するんだ。
本番データの名前を変えれば安全?
それだけでは保証できないよ。ほかの属性の組合せから人が分かる場合もある。必要なら合成したデータや、利用する範囲を限定したデータを選ぶ。本番由来の情報を使う場合は目的、権限、保存先、保持期間、再識別のリスクを確認しよう。
コードと一緒に全部Gitへ入れる?
小さな架空のデータや生成手順を管理すると再現に役立つ。でも機密の値や個人情報をリポジトリへ入れる前提にはしない。データの生成条件、乱数の種、版、外部データの保存先などを必要に応じて記録するんだ。
テスト同士の影響はどう避ける?
各テストで必要な初期状態を準備し、終了後に片付ける。フィクスチャの共有範囲や並列実行を考え、共有データを書き換えて次のテストを壊さないようにする。準備や後片付けに失敗したときも分かるように設計するんだ。
もっと詳しく知りたい人へ
同じデータで毎回成功すれば十分?
そのデータで通ることを確認できるだけです。仕様変更や新しい不具合に合わせて、見落としている値・状態・組合せを見直してください。再現性を保ちながら、対象のリスクに合わせてデータを更新します。
まとめ:ざっくりこれだけ覚えればOK!
「テストデータ」って出てきたら「確認したい条件を再現する材料」と思えばだいたいOK!
📖 おまけ:英語の意味
「Test Data」 = テストで用いるデータ
💬 入力値や初期状態など、テストの条件を具体的にする材料です。テストの目的や期待結果と組み合わせて管理します。