MENU

AIでテストデータを作る方法|個人情報を入れずに検証する

当ページのリンクには広告(PR)が含まれていることがあります。
AIでテストデータを作る方法|個人情報を入れずに検証するのアイキャッチ

テストデータをAIに作らせる場合は、実在する顧客情報を少し書き換えて渡すより、必要な条件から架空のデータを設計します。正常な入力だけでなく、欠損、境界値、重複、型の誤りを区別すると、確かめたい動作が見えます。

AIが作った値をそのまま「正解」にしないことも大切です。何を検証するデータかと、期待する判定は人が決めます。

目次

項目と入力条件を先に決める

例として、架空の在庫受付の入力を考えます。実際の顧客名や商品名は使いません。

スクロールできます
項目 入力条件
record_id 空でない文字列。同じ入力内では重複不可
item_code 固定のテスト用コードから選ぶ
quantity 0以上の整数
note 任意。空欄や改行を含む場合がある

この条件なら、quantityが0の入力は正常です。「0は空と同じ」と扱う処理を見つけるため、独立したケースとして用意します。

AIにはケースの目的も出してもらう

次の条件で、架空のテストデータ案を作ってください。

対象:
在庫受付の入力検査。外部送信や本番登録はしない。

条件:
- 実在の氏名、住所、電話、メール、会社名を使わない。
- IDはTEST-で始める。商品コードはDEMO-A / DEMO-Bのみ。
- 通常、数量0、負数、文字列の数量、空ID、重複IDを含める。
- ケースごとに、目的、入力、期待する判定、理由を出す。
- 未指定の業務ルールを作らない。
- 期待する判定は人が確認するための案とする。

入力仕様:
{項目・型・必須条件・重複を調べる範囲}

条件と例を明示する方法は、OpenAIのプロンプト設計資料を参考にしています。実データを貼らなくても、検証する条件を伝えられます。

正常データと異常データを区別する

次は人が用意した記入例です。AIを実行して作ったデータではありません。

[
  {"case": "zero", "input": {"record_id": "TEST-01", "item_code": "DEMO-A", "quantity": 0, "note": ""}, "expected": "accept"},
  {"case": "negative", "input": {"record_id": "TEST-02", "item_code": "DEMO-B", "quantity": -1, "note": ""}, "expected": "reject"},
  {"case": "string_quantity", "input": {"record_id": "TEST-03", "item_code": "DEMO-A", "quantity": "2", "note": ""}, "expected": "reject"}
]

型が違うことを確認するデータを、一括で数値へ変換しないようにします。CSVへ書き出すと、読込方法によって数値と文字列の違いが失われる場合があります。型の検査にはJSONなど、意図を保てる形式を選びます。

重複の検査は1行だけでは成立しません。同じrecord_idを2行に入れた一組のケースとして作り、どの行をエラーにするかも仕様に合わせて決めます。

データ案そのものを点検する

全ケースで項目名がそろっているか、正常例に禁止した値が混ざっていないか、異常例が意図した理由で失敗するかを確認します。負数の検査をしたい行でIDも空だと、どちらが原因で落ちたのか分かりにくくなります。

文字の長さ、改行、引用符、カンマ、全角文字なども、実際の入力経路に合わせて追加します。件数を増やすだけでなく、どの条件が未確認かを一覧に残します。

実行結果を期待値と照らす

データを投入した後は、実際の判定と期待値を比較します。不一致があれば、実装の誤りか、期待値の誤りか、仕様が未決定なのかを分けます。OpenAIの評価の指針にある、評価データと基準を継続的に見直す考え方も使えます。

テストファイルには架空データと分かる名称を付け、本番へ混ざらない保存先を選びます。処理の確認はPythonの基礎、欠損や取得漏れの確認はデータ欠損を調べる手順も参考になります。

この記事を書いた人

Watanabeのアバター Watanabe サイト運営者

2020年よりブログ開始。
SEOが思いのほか性にあっていたようで現在に至る。
モットーは「勝率の高い選択をする」
AIは活用するが吉、最後は人間が息を吹き込む。
アートと科学を追求し、日々精進。
―――
収益:6~7桁をウゴウゴ。
サイト:ペラサイト~中規模サイトまで運営中。
案件:1000円以上の案件をメインに取組中。
打ち手:ブラックSEO~ホワイトSEOまで
―――

目次