Vercel、Netlify、Railway:デプロイメントプラットフォームにAIテストを追加する方法

Yunhao Jiao
Vercel、Netlify、Railway:デプロイメントプラットフォームにAIテストを追加する方法 カバー

モダンなデプロイメントプラットフォームは、すべてのプルリクエストに対してプレビューURLを生成します。Vercelはすべてのブランチにプレビューをデプロイします。Netlifyはデプロイプレビューを自動的に生成します。Railway、Render、Fly.ioも同様の機能を提供しています。

これらのプレビューデプロイメントは、テストの対象として最適です。コードはデプロイされており、アプリケーションは稼働しています。PRがマージされる前にテストする仕組みさえあれば十分です。

このチュートリアルでは、AIテストエージェントをデプロイメントプラットフォームに接続し、すべてのプレビューデプロイメントに対して包括的な自動テストが実行されるように設定する方法を説明します。

アーキテクチャ

ワークフローはシンプルです:

  1. 開発者がブランチにコードをプッシュする
  2. デプロイメントプラットフォームがプレビューをビルドしてデプロイする
  3. GitHubがデプロイメントステータスを受信する
  4. TestSpriteがデプロイメントを検出し、プレビューURLに対して包括的なテストスイートを実行する
  5. テスト結果がPRに投稿される
  6. 開発者が結果を確認してマージする(または修正して再プッシュする)

このアーキテクチャは、プレビューURLを生成してGitHubにデプロイメントステータスを報告するあらゆるデプロイメントプラットフォームで動作します。

プラットフォーム別のセットアップ

Vercel

Vercelはすべてのプレビューデプロイメントを自動的に作成し、GitHubにステータスを報告します。TestSpriteのGitHub Appがデプロイメントを検出し、プレビューURLをテスト対象として使用します。

手順:

  1. リポジトリにTestSprite GitHub Appをインストールする
  2. VercelのプレビューURLパターンを使用するようにTestSpriteを設定する
  3. ブランチをプッシュしてPRを作成する
  4. Vercelがプレビューをデプロイします。TestSpriteがそれに対してテストを実行します。結果はPRに表示されます。

追加の設定は不要です。VercelのGitHubインテグレーションとTestSpriteのGitHubインテグレーションはネイティブに連携して動作します。

Netlify

Netlifyのデプロイプレビューも同様に機能します。各PRには固有のプレビューURLが割り当てられます。TestSpriteはデプロイメントを検出し、自動的にテストを実行します。

手順:

  1. NetlifyのGitHubインテグレーションが有効になっていることを確認する(デプロイプレビューをオンにする)
  2. TestSprite GitHub Appをインストールする
  3. NetlifyのプレビューURLパターンでTestSpriteを設定する
  4. すべてのPRがNetlifyのプレビュービルドをトリガーし、続いてTestSpriteのテストが実行される

Railway / Render / Fly.io

これらのプラットフォームは、異なる仕組みでプレビュー環境を提供しています。RailwayにはPR環境があります。Renderにはプレビューサービスがあります。Fly.ioにはレビューアプリがあります。

手順:

  1. デプロイメントプラットフォームでプレビュー/PR環境を有効にする
  2. TestSprite GitHub Appをインストールする
  3. プラットフォームのプレビューURLパターンでTestSpriteを設定する
  4. PRがプレビューデプロイメントをトリガーし、それがTestSpriteのテストをトリガーする

テスト対象の範囲

接続が完了すると、TestSpriteはすべてのプレビューデプロイメントに対して以下を実行します:

  • UIフローテスト:サインアップからコア機能までの完全なユーザージャーニー
  • API機能テスト:有効・無効な入力を用いた全エンドポイントのテスト
  • セキュリティテスト:IDOR、認証バイパス、入力サニタイズ、XSS
  • エラーハンドリング:ネットワークエラー、無効なデータ、セッション切れなど、障害発生時の挙動確認
  • 認証フロー:ログイン、サインアップ、パスワードリセット、セッション管理
  • クロスブラウザ互換性:デプロイされたプレビュー環境に対する複数ブラウザでのテスト実行

これらすべてが5分以内に完了します。誰かがコードをレビューする前に、PRに対して包括的な品質レポートが生成されます。

成果

この仕組みにより、デプロイパイプラインに継続的な手間ゼロのテストレイヤーが加わります:

  • テストスクリプトの作成・維持が不要
  • CI/CDパイプラインの設定が不要(GitHub Appの初回インストールを除く)
  • テストランナーの管理が不要
  • テストデータのセットアップが不要

どのデプロイプラットフォームを使用していても、すべてのPRに対して同じ包括的な検証が実施されます。テストエージェントは受け取ったURLに応じて柔軟に対応します。

TestSpriteの無料プランは主要なデプロイプラットフォームをすべてサポートしています。セットアップは数分で完了します。

TestSpriteを無料で試す →