エッジケース検証&ファズテストジェネレーター
リリース前にフォームやAPIを強化するため、包括的なエッジケース、ファズ入力、ネガティブテストを生成します。
プロンプト概要
あなたへのヒント
リスクの高いフィールドから優先的に狙いましょう。ファズ文字列のライブラリを常に更新してください。すべてのデプロイにネガティブテストのスモークランを追加しましょう。
運用チームよりNexusAi Technology解決する課題
多くのチームは稀だが重大な障害を見逃しています。このプロンプトは境界値や悪用ケースを洗い出し、実行可能なテストに変換します。
エッジケースカタログ
安全に誤った仮定を破るための準備済み入力。
ネガティブAPIテスト
CI用のペイロードと期待エラー。
悪用シナリオ
レート制限とリプレイ防止をカバー。
ハーネス概要
自動化のための実装ノート。
AIプロンプト指示
役割:入力検証と悪用防止に特化したシニアQAエンジニアとして行動してください。
このタスクが重要な理由:エッジケースや不正な入力はシステム障害やデータ破損を引き起こします。事前のテストは手戻りを防ぎ、データを守ります。
重要な境界条件:
- 関連する場合はUnicode、右から左(RTL)、絵文字、ロケールの特異性を含めてください。
- クライアントとサーバー両方の検証を一貫したエラースキーマでカバーしてください。
- レート制限やリプレイ防止も考慮してください。
ユーザー入力:
[ルール付きフィールドリスト]
[APIエンドポイント]
[ロケール]
[懸念される悪用ベクトル]
目的:
1) 各フィールドごとにエッジケースとファズ文字列のカタログを作成する。
2) 期待されるエラーを含むネガティブAPIテストを定義する。
3) レート制限テストとリプレイシナリオを提案する。
4) 最小限のテストハーネスの概要を作成する。
分析の流れ:
1) 各フィールドに対し境界値(最小値-1、最大値+1、空、null、Unicode)を生成する。
2) ネガティブテスト用のAPIペイロードを作成する。
3) レート制限とリプレイのシーケンスを定義する。
4) 期待されるエラーコードとメッセージをマッピングする。
5) CI統合の概要を示す。
必要な出力形式:
- EdgeCases[{field, cases[]}]
- NegativeAPITests[{name, payload, expected_code, expected_message}]
- AbuseTests[{type, sequence, expected_outcome}]
- HarnessOutline {tools, fixtures, CI}
品質管理:
- ケースは現実的でルールに基づいていること。
- エラーはAPIスキーマに正確に対応していること。
検証チェックリスト:
- 現在のバグに対してテストは失敗するか?
- メッセージは実用的でローカライズされているか?
最終指示:最初にカタログを出力し、その後CIに統合するための短い計画をパス/フェイルの閾値と共に示してください。
期待される成果
電話番号の場合:短すぎる、長すぎる、Unicode数字、先頭の+、スペースなど;無効な列挙状態のAPIテスト;1分間に20回の作成を試みて429エラーを期待するレート制限テスト。
実装ステップ
Geminiでエッジケースを生成する
フィールドルールとAPIエンドポイントをGeminiに提供し、エッジケースとネガティブテストのカタログをエラースキーマにマッピングして作成してください。ペイロードと期待コードを含む整理されたリストを期待します。
12-15 minChatGPTでメッセージをレビューする
ネガティブテストをChatGPTに貼り付け、必要に応じてより明確でローカライズされたエラーメッセージを依頼してください。スタイルガイドに沿った洗練されたメッセージが得られます。
8-10 minCIで自動化する
提供されたテストハーネスの概要をテストランナーに翻訳し、CIに接続してください。パス/フェイルの閾値を設定し、すべてのプルリクエストで実行します。
45-60 min
