
Grafana Assistantで自然言語からテストスクリプトを自動生成:k6 Script Authoringのご紹介
負荷がかかった状態でもアプリケーションの信頼性を維持するためにパフォーマンス・テストは不可欠ですが、スクリプトの作成自体が面倒な作業に感じられることは少なくありません。ほとんどのエンジニアは、テストしたいシナリオをすでに頭の中で描いています。難しいのは、その意図を動作するパフォーマンス・テストへと変換する部分です。
Grafana k6の使用経験が豊富なデベロッパーであっても、意味のあるテストを実行できる状態に漕ぎ着けるまでに、構文を調べたり、負荷ステージやしきい値(Thresholds)を設定したり、ボイラープレートコード(定型コード)のデバッグを行ったりして時間を浪費してしまうことがあります。さらに、単にスクリプトを動かすだけでなく、優れたパフォーマンス・テストを記述するには、現実的なトラフィックパターンをモデリングし、実際に役立つメトリクスを生成する必要があります。ローカル環境では動作しても、本番環境における実際のサービスの挙動とはかけ離れたスクリプトをデプロイしてしまうという失敗は、非常によくあるケースです。
これらの課題を解決するため、私たちはk6 Script Authoringをリリースいたしました。これは Grafana Assistantの新機能であり、Grafana Cloud 内の既存のオブザーバビリティ・データを活用しながら、自然言語を本番環境に対応したテストスクリプトへと変換する機能です。

k6 Script Authoring:その仕組み
コードをゼロから記述する代わりに、テストしたい内容を自然言語で説明するだけで、Grafana CloudのAI搭載エージェントであるGrafana Assistantが、Grafana Cloud k6またはk6 OSSで実行可能な完全なパフォーマンス・テストスクリプトを生成します。
Grafana Cloud上の実際のテレメトリに基づいてスクリプトを構成したり、リポジトリからコンテキストを取り込んだり、既存のスクリプトを貼り付けて既存の資産をさらにブラッシュアップしたりすることが可能です。
生成される出力には、Checks(チェック機能)、Thresholds(しきい値)、そして高カーディナリティ(High Cardinality)を抑制するための適切なURLグルーピングが含まれた、構造化されたJavaScriptが含まれます。さらに、オプションでGrafana Cloud TracesやGrafana Cloud Profilesへのフックも組み込めるため、テスト結果を他のオブザーバビリティ・スタックと直接紐づけることができます。

k6 Script Authoringを利用するには、お使いのGrafana CloudインスタンスでGrafana Assistant が有効になっている必要があります。Assistantのセットアップに関する詳細は、当社のドキュメントをご確認ください。
スクリプトの作成方法
k6 Script Authoring では、複数の方法でスクリプトの作成を開始できます。
自然言語のプロンプトから開始する
テストしたいシナリオを自然言語で指示できます。例えば以下のようなプロンプトです。
https://api.example.comの負荷テストコードを生成してください。20人の仮想ユーザー(VU)で5分間、GET /productsとPOST /ordersのエンドポイントをテストします。
この方法は、検証したい挙動は決まっているものの、スクリプトの初版を手作業で組み立てる手間を省きたい場合に便利です。
OpenAPI仕様書から開始する
自社で開発・運用しているサービスにOpenAPI仕様書がある場合は、それをインプットとして使用できます。
これは、定義されたAPIの構成からリクエスト構造を迅速に生成し、そのスクリプトを現実的なパフォーマンスシナリオへとブラッシュアップしたい場合に有用です。また、期待されるリクエストボディやレスポンスボディの正確な定義も提供されます。前述のプレーンなプロンプトを使用する場合、これらの詳細は手動で提供する必要があります。
サービスコンテキストから開始する
同一のGrafana Cloudスタック内に適切なテレメトリ(メトリクス、ログ、トレース)が存在する場合、k6 Script Authoringはサービスのコンテキストを利用してテストの構成を支援します。手動での説明だけに頼るのではなく、実際の画一的なエンドポイントや観測された挙動を、生成されるスクリプトにより正確に反映させたい場合に役立ちます。
リポジトリのコンテキストから開始する
リポジトリのコンテキストを利用できる場合、すでに存在するサービスやクライアントのコードをより反映したスクリプトをAssistantに生成させることができます。これは、テストを単なる仕様書の記述ではなく、アプリケーションが「実際にどのように実装されているか」に合わせたい場合に有用です。この機能を利用するには、Grafana AssistantでGitHub MCP(Model Context Protocol)サーバーが有効になっている必要があります。
k6 Script Authoringをはじめよう
k6 Script Authoringは、テストの目的を本番環境に対応したスクリプトへと変換することで、パフォーマンス・テスト作成時の心理的・技術的ハードルを下げます。自然言語のプロンプト、OpenAPI仕様書、テレメトリデータ、リポジトリコンテキストのどれから開始する場合でも、アイデアから意味のあるテストの実行へとより迅速に移行できるよう支援します。
セットアップと要件についての詳細は、k6 Script Authoringのドキュメントをご確認ください。
Grafana Cloudは、Grafana k6 とパフォーマンス・テストを使い始める最も簡単な方法です。私たちは、充実した永久無料枠と、あらゆるユースケース向けのプランを用意しています。今すぐ無料でアカウントを作成しましょう!