View a markdown version of this page

リリーステスト - AWS DevOps エージェント

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

リリーステスト

リリーステストは、現実的な環境でコードの変更を検証するためのテストプランを生成して実行します。リリーステストエージェントは、デプロイされたウェブアプリケーションと REST APIs に対して、機能回帰、ユーザージャーニー検証、統合テスト、エッジケース探索などの探索的な UAT テストと回帰テストを実行します。

リリーステストの仕組み

重要

リリーステストは、書き込みオペレーション (POST、PUT、DELETE) など、ターゲットアプリケーションに対して実際のリクエストを実行します。エージェントはエンドポイントを探索し、フォームを送信し、エラー処理をテストします。これらのアクションは、ターゲットアプリケーションでデータを作成、変更、または削除する場合があります。リスクプロファイルが探索的テストの一環として変更アクションを受け入れることができる場合にのみ使用します。顧客通知の送信、支払いの処理、レコードの永続的な削除などの意図しない結果なしに、アプリケーションが探索的書き込みオペレーションを許容できることを確認します。ステージングデプロイに対して を実行することをお勧めします。本稼働アプリケーションは、アプリケーションの書き込みオペレーションが自動テストに安全である場合にのみターゲットにする必要があります。

トリガーされると、リリーステストエージェントは次の操作を行います。

  1. テストプランの生成 — ユーザーが提供するコード変更またはテストインテントに基づいてテストプランを作成します。プルリクエストまたはブランチからトリガーされると、プランは影響を受ける機能を対象とします。手動またはチャットからトリガーすると、検証する内容を説明するテストインテントを提供できます。このプランでは、機能的な正確性、統合動作、およびユーザー向けシナリオについて説明します。

  2. 実行中のアプリケーションに対してテストを実行する — ターゲット URL (ウェブアプリケーションまたは API エンドポイント) を指定すると、エージェントはアプリケーションを探索し、生成されたテストを実行します。ウェブアプリケーションの場合、これにはブラウザベースの UI インタラクションと視覚的検査が含まれます。APIs の場合、これには直接 HTTP エンドポイントテスト、スキーマ検証、エラー処理検証が含まれます。

  3. レポート結果 — 結果は、特定の障害、影響を受ける機能、再現手順、推奨される修正とともに返されます。

リリーステストでは、ウェブアプリケーション (React、Angular、Vue、サーバーレンダリング) と REST APIs。

サポートされているテストタイプ

  • UI テスト — ウェブアプリケーションのビジュアルインタラクションを使用したブラウザベースのテスト

  • API テスト — REST APIs の直接 HTTP エンドポイントテスト

テストプロファイルの定義

テストプロファイルは、テストするウェブアプリケーションと API アプリケーション、および必要な設定を定義します。各テストプロファイルは、ターゲットアプリケーションとそのテストタイプを指定します。

テストプロファイルを作成するには:

  1. DevOps Agent ウェブアプリで、左側のナビゲーションで Release Manager に移動します。

  2. プロファイルのテストボタンを選択します。

  3. テストプロファイルの追加 を選択します。

  4. フォームに以下の詳細を入力します。

    • 名前 — テストプロファイルのわかりやすい名前 (MyApp Staging」など)

    • ターゲット URL — アプリケーションのステージングまたはテストデプロイの URL。エージェントは、書き込みオペレーション (POST、PUT、DELETE) を含む実際の HTTP トラフィックを送信します。データ変更のリスクを理解して受け入れない限り、本番稼働用 URLs を使用しないでください。

    • テストタイプUI テスト (ビジュアルインタラクションを使用したブラウザベースのテスト) または API テスト (直接 HTTP エンドポイントテスト) のいずれかを選択します。

  5. 保存するテストプロファイルの追加を選択します。

テストプロファイルからテストを実行する

テストプロファイルページから、テスト実行を手動でトリガーできます。

  1. リストでテストプロファイルを見つけます。

  2. テストの開始 を選択します。

  3. (オプション) 特定の手順とテストインテントでテストする内容を指定します。たとえば、「チェックアウトフローが期限切れのクーポンを正しく処理することを確認する」または「無効な入力でユーザー登録フォームをテストする」です。

エージェントは、インテントに基づいてテストプランを生成し (インテントが指定されていない場合は広範に調査し)、テストを実行し、提案された変更の Release Manager セクションで結果を報告します。

DevOps エージェントチャットからのテストの実行

DevOps エージェントチャットから、リリーステストをリクエストできます。テストプロファイルを一覧表示するか、実行するプロファイルを指定するようにエージェントに依頼します。エージェントは、テスト対象や重点分野など、必要なフォローアップ情報を尋ねます。

例:

  • 「テストプロファイルを一覧表示する」

  • 「テストプロファイル my-test-profile を実行する」

  • 「https://staging.myapp.com でアプリケーションのリリーステストを実行し、支払いフローを検証する」

エージェントは、アプリケーションを探索するときに進行状況を報告し、特定の検出結果、スクリーンショット (UI テスト用)、および再現ステップを含む結果を返します。

IDE からのテストの実行

Kiro IDE または Claude Code から、コーディングエージェントはリリーステストを呼び出すことができます。

まず、Kiro power または Claude Code プラグインをインストールします。

  • 検証する内容を説明するテスト要件またはインテントを指定します (例えば、「認証リファクタリング後にログインフローが機能することを確認する」)。

  • コーディングエージェントは、テストインテントとターゲットテストプロファイルをリリーステストエージェントに渡します。

  • リリーステストエージェントはテストを生成して実行し、結果を報告します。

  • 問題が検出された場合、コーディングエージェントは問題を修正するために を提供します。

CI/CD パイプラインでのリリーステスト

GitHub Actions

aws-actions/devops-agent-release-testing@v1 GitHub Action は、デプロイ後にリリーステストエージェントをトリガーし、コミットまたはプルリクエストで GitHub チェックランとして結果をレポートします。

前提条件

ステップ 1: GitHub リポジトリシークレットを設定する

GitHub リポジトリで、設定 → シークレットと変数 → アクション → リポジトリシークレットに移動し、以下を追加します。

シークレット 説明
DEVOPS_AGENT_WEBHOOK_URL エージェントスペースのウェブフック URL
DEVOPS_AGENT_WEBHOOK_SECRET エージェントスペースからのウェブフック署名シークレット

ウェブフックエンドポイントの作成については、「」を参照してくださいWebhook 経由で DevOps エージェントを呼び出す

ステップ 2: ワークフローに アクションを追加する

ワークフローにリリーステストステップを追加します (例: .github/workflows/release-tests.yml)。

name: Release Tests on: push: branches: [main] pull_request: branches: [main] permissions: checks: write contents: read pull-requests: read jobs: test: runs-on: ubuntu-latest steps: - name: Trigger Release Tests uses: aws-actions/devops-agent-qa@v1 with: webhook-url: ${{ secrets.DEVOPS_AGENT_WEBHOOK_URL }} webhook-secret: ${{ secrets.DEVOPS_AGENT_WEBHOOK_SECRET }} test-profile-id: <YOUR_TEST_PROFILE_ID> test-requirement: <WHAT_TO_TEST> # optional env: GITHUB_TOKEN: ${{ github.token }}

をエージェントスペースのテストプロファイル ID <YOUR_TEST_PROFILE_ID>に置き換えます ( で始まりますki-)。test-requirement 入力はオプションです。これを使用して、エージェントを特定の領域 (例えば、「認証リファクタリング後にログインフローを検証する」) に集中させます。

アクション入力

Input 必要 説明
ウェブフック URL はい エージェントスペースのウェブフック URL
ウェブフックシークレット はい HMAC-SHA256 認証用のウェブフック署名シークレット
test-profile-id はい トリガーするテストプロファイル ID ( で始まるki-)
テスト要件 いいえ テスト用のオプションの重点領域

必要なワークフローのアクセス許可

アクセス許可 Reason
コンテンツ: read プライベートリポジトリのアクション/チェックアウトに必要です
プルリクエスト: read マージコミット SHA から PR 番号を解決する

仕組み

  1. ワークフローがトリガーされます (ステージング環境へのデプロイ後など)。

  2. アクションは、コミットまたは PR にチェックラン (in_progress) を作成し、保留中のチェックとして表示されます。

  3. アクションはウェブフックに署名し、エージェントスペースに送信します。

  4. リリーステストエージェントはタスクを取得し、アプリケーションに対してテストを実行します。

  5. 結果は GitHub Check Run (詳細な概要を含む合格/不合格) として報告されます。

エージェントスペースからリンクされた DevOps Agent ウェブアプリで、完全な実行の詳細 (タイムライン、テストケース、UI テストのスクリーンショット) を表示できます。

テスト結果の確認

テスト結果は、提案された変更の下で DevOps Agent ウェブアプリの変更セクションに表示されます。各テスト実行には以下が表示されます。

  • ステータス — 完了、失敗、または進行中

  • カテゴリ — リリーステスト

  • 期間 — テスト実行にかかった時間

  • ソース — 手動でトリガーされたか、チャットからトリガーされたか、CI/CD パイプラインからトリガーされたか

テストランを選択すると、特定のテスト障害、スクリーンショット (UI テスト用)、再現手順、推奨される修正など、詳細な結果が表示されます。