OpenAI、Azure OpenAI、またはその他の LLM プロバイダー アカウントとともに LLM モデルを使用し、静的解析違反に対して推奨される修正の生成、単体テスト生成時の堅牢な単体テスト作成、既存の単体テストに対して推奨される改善の生成によってユーザーを支援したり、AI アシスタントを利用したりできます。詳細については以下を参照してください。
- 修正の提案の生成
- AI を使用して生成済みのテストを拡張する
- 推奨事項への対処 ([AI で修正] オプション)
- AI を使用したテストの改善
- AI アシスタント
Jtest が LLM プロバイダー アカウントを利用できるよう、Parasoft 設定で設定を行う必要があります。ご使用の LLM プロバイダーを利用できるかどうかを判断するには、「LLM プロバイダーの設定」を参照してください。
Jtest と LLM の統合は、HTTPS/TLS 上で LLM プロバイダー REST API を使用します。Jtest は次の情報を LLM に送信します。- 静的解析の修正を AI で生成する場合、次の情報が送信されます: メソッド全体のソース コード、メソッドの一部、または静的解析違反に関連する単一の行に加えて、違反した静的解析ルールに関するドキュメント。
- [AI を使用して [method_name]を改善します] アクションでは、次の情報が送信されます: 改善対象のテスト メソッドのソース コード、テスト対象のメソッドのソース コード、および設定された JUnit のバージョンや使用されるパラメータライズ ライブラリなどの Jtest UTA 設定に関する追加情報。
- [AI で修正] アクションでは、次の情報が送信されます: 失敗するテスト メソッドのソース コード、失敗したテストのエラー スタック トレース、およびテスト対象クラス全体 (トークン制限内に収まる場合) またはテスト対象メソッドのみ (クラス全体がトークン制限内に収まらない場合)。
- テスト スイート生成時に [AI を使用して生成済みのテストを拡張する] が有効化されている場合、次の情報が送信されます: テスト対象メソッドのパラメーターの型および変数名、パラメーター変数のクラス名、計算された制約または値を制限する正規表現。テスト作成プロセス中に生成されたテストが失敗する場合、上記の [AI で修正] の場合と同じ情報が送信されます。
- AI アシスタントの場合、次の情報が送信されます: Parasfot ドキュメントから抜粋された情報に加えてユーザー定義のプロンプトおよび Jtest のカスタム プロンプト。
次の図は、Jtest が何をどのように LLM プロバイダーと通信するかを示しています。
