Magnitude - AI 기반 웹アプリケーションテストフレームワーク
プロジェクト概要
Magnitudeは、Webアプリケーション専用に設計されたオープンソースのAIネイティブテストフレームワークです。視覚AIエージェントによって駆動され、インターフェースを認識し、その変化に適応できます。
主要な特徴
🎯 主な機能
- ✍️ 自然言語テストケース構築 - 自然言語を使用して簡単にテストケースを構築
- 🧠 強力な推論エージェント - テストフローをインテリジェントに計画および調整
- 👁️ 高速な視覚エージェント - 信頼性の高いテスト実行
- 📄 テスト計画の保存 - 計画を保存して同じ方法で実行
- 🛠 スマートな問題処理 - 問題が発生した場合、推論エージェントが介入して処理
- 🏃♂️ 柔軟なデプロイ - ローカルまたはCI/CDパイプラインでテストを実行可能
クイックスタート
1. テストランナーのインストール
npm install --save-dev magnitude-test
2. プロジェクトの初期化
npx magnitude init
これにより、基本的なテストディレクトリ tests/magnitude が作成され、以下が含まれます。
magnitude.config.ts- Magnitudeテスト設定ファイルexample.mag.ts- サンプルテストファイル
3. LLMクライアントの設定
Magnitudeには、2つのLLMクライアントを設定する必要があります。
プランナー(Planner)
- 推奨モデル:Gemini 2.5 Pro
- 設定方法:
- Google AI StudioまたはVertex AIを使用してGeminiを使用
- Google AI StudioでAPIキーを作成し、
GOOGLE_API_KEYとしてエクスポート - 代替プロバイダーのサポート:
ANTHROPIC_API_KEY/OPENAI_API_KEY
実行者(Executor)
- 使用モデル:Moondream
- 設定方法:
- Moondreamに登録し、APIキーを作成
- 環境変数
MOONDREAM_API_KEYを設定 - 毎日5,000回の無料リクエストを提供(約数百のテストケース)
- 完全にオープンソースで、セルフホスティングをサポート
テストの実行
基本的な実行コマンド
npx magnitude
これにより、*.mag.ts パターンを使用して検出されたすべてのMagnitudeテストファイルが実行されます。
並列テスト
npx magnitude -w <workers>
テストケースの例
基本構文
import { test } from 'magnitude-test';
test('can add and complete todos', { url: 'https://magnitodo.com' })
.step('create 3 todos')
.data('Take out the trash, Buy groceries, Build more test cases with Magnitude')
.check('should see all 3 todos')
.step('mark each todo complete')
.check('says 0 items left')
複雑なシナリオの例
import { test } from 'magnitude-test';
test('can log in and create company')
.step('Log in to the app')
.data({ username: '[email protected]', password: 'test' })
.check('Can see dashboard')
.step('Create a new company')
.data('Make up the first 2 values and use defaults for the rest')
.check('Company added successfully');
コアコンセプト
自然言語記述
- ステップ(Steps):実行する必要のある操作を記述
- チェック(Checks):自然言語アサーション
- データ(Data):テストデータ、任意のキーと値のペアをサポート
設計理念
テストケースの作成は、同僚に特定のプロセスをテストする方法を説明するようなものです。
- 彼らはどのようなステップを踏む必要があるか
- 何をチェックすべきか
- どのようなテストデータを使用するか
CI/CD統合
Magnitudeテストは、Playwrightテストを実行できる任意のCI環境で実行できます。LLMクライアントの認証情報を含めるだけです。
GitHub Actionsのサポート
プロジェクトは、GitHub Actionsでテストケースを実行するための詳細な手順を提供します。
技術アーキテクチャ
デュアルモデル設計
Magnitudeは、分離された計画/実行モデルアーキテクチャを使用します。
- 計画モデル:効果的なテスト戦略を策定
- 実行モデル:高速かつ確実にテストを実行
他のソリューションとの違い
OpenAIまたはAnthropicのComputer Use APIと比較して:
- より高速:テストケース用に特別に最適化
- より高い信頼性:特別に設計されたエージェントアーキテクチャ
- より低いコスト:テストシナリオ向けの費用対効果の最適化
- ネイティブテストランナー:特別に構築されたテスト設計および実行ツール
まとめ
Magnitudeは、テスト自動化分野における重要なイノベーションであり、AI技術と従来のテストフレームワークの利点を組み合わせることで、Webアプリケーションに強力で柔軟かつ使いやすいテストソリューションを提供します。自然言語テスト記述と視覚AIエージェントの組み合わせにより、テストケースの作成とメンテナンスがこれまでになく簡単になります。