はじめに
面倒なことは自動化したいですね。とくにテストデータ、理論的には部分はわかって実際の値を作るのが苦痛です。 たとえば、名前は1文字以上10文字以下だったときに、境界値分析で0文字と1~10文字と11文字以上を用意すればいいまでいいけど、じゃ具体的な値を考えるとabcとかtestとか何がちで、もっとそれっぽい名前にしようとそれを考えるのに五分ぐらいかかりますよね。
ChatGPTでダミーデータを作ってもらえないか試してみた。
テストページを作成
シンプルなフォームを作りました、名前と年齢があります
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Title</title>
</head>
<body>
<form>
<div>
<label for="name-input">名前</label>
<input type="text" id="name-input" />
</div>
<div>
<label for="age-input">年齢</label>
<input type="number" id="age-input" />
</div>
<button type="submit">送信</button>
</form>
</body>
</html>
シンプルなダミーデータ作成
いい感じです。もっとサンプルがほしいですね。
これこれこういうのでいんだよ(孤独のテスター)。
json形式で出すことだってできちゃう。ユニットテストはかどるわー
バリデーションを考慮したテストデータをつくってもらう
いいですね。正常系だけじゃなくて異常系もつくってくれる。
もっと複雑なのも要求
全通り組み合わせ
ペアワイズ
それっぽい感じにだしてくれました。ちなみにpict結果です。
項目1 項目2 項目3
c い B
b い A
c う C
b あ C
b う B
a い C
c あ A
a あ B
a う A
なんかChatgptのほうが多いけど、2因子は全部網羅されていますね。
まとめ
htmlのまま食わせて、テストケースが作成できるのはすばらしい。ペアワイズなど手法を指定できたりすごい。
今後は画像からも対応できるとめちゃいいですね。
テストデータをいい感じに作ってくれるのありがたいです。