Skip to main content

アシスタントから自律テスターへ:AIエージェントによるアプリケーションの自律制御を実現

このブログは「From Assistant to Autonomous Tester: Enable your AI Agent to Understand and Control your Application」を翻訳・一部加筆したものです。

Squish MCP v0.2.0(テクノロジープレビュー)のリリースをお知らせします。

Squish MCP

 Squish MCP の新バージョンにより、AI エージェントのテスト開発における効率・速度・パフォーマンスが大幅に向上しました。エージェントはアプリケーションを完全に自律的に探索・操作できるようになりました。これは、アプリケーションの現在の状態に関する情報と UI 操作のためのツールを、バックグラウンドで Squish を通じてエージェントに提供することで実現しています。エージェントはソースコードを参照することなく、人間と同じようにアプリケーションを探索してその動作を理解できます。テストの意図を自然な言葉で指示し、次のような有意義な結果を得ることができます。

  • 「アプリケーションをクラッシュさせてみて」
  • 「ユーザーが抜け出せなくなる行き止まりのある UI ワークフローはある?」
  • 「ウィザードの各ステップでキャンセルできる?」

テストケース生成の改善

Qt Creator のような複雑なアプリケーションでは UI 要素が 1000 を超えることも珍しくなく、旧バージョンの Squish MCP では処理が困難でした。新バージョンではパフォーマンスが大幅に改善されています。たとえば、Qt Creator を起動して「New Project」ダイアログを操作してプロジェクトを作成するテストケースを生成するよう指示した場合、以前は有効な結果を生成できませんでした。これは、エージェントが UI 状態の変化に動的に対応できなかったためです。代わりに大きな Squish オブジェクトスナップショットの生成・解析に依存しており、コンテキストウィンドウがすぐに埋まってしまいました。

実行中のアプリケーションへのアクセスを提供することで、Squish MCP は AI エージェントが実際に必要な情報のみに絞ったコンパクトな状態表現で作業できるようにします。これにより、より複雑なアプリケーションやシナリオへの適用範囲が広がり、テストケース生成時間を平均 52%、トークン消費を平均 41% 削減できます。

output 1

AI エージェントによる GUI 理解の活用

テストケース生成の例に加え、新しい Squish MCP と AI エージェントを組み合わせることで、次のような問いへの回答を通じてテスト開発を加速できます。

  • 「テストスイート XYZ がカバーしている機能要件はどれ?」
  • 「テストケース XYZ がエラーを発生させている。アプリケーションのバグか、それともテストの問題か?」
  • 「現在のフォルダ内でどのテストケースが重複していて、その理由は何?」

Squish MCP は、実用的なアシスタントの提供から、ワークパッケージ全体を引き受けられる真のツールへと進化しました。これにより、より汎用的・高レベルなタスクに集中したり、テストワークフローのカバレッジとスループットを向上させることができます。 

スタートガイド

GitHub Copilot を使用した例を含む設定手順は、Customer Portal からダウンロードできます。Squish MCP の継続的な改善のため、皆様のフィードバックやご質問をお待ちしています。

制限事項と今後の課題

AI エージェントでサードパーティの LLM を使用すると、共有されるデータに関するセキュリティやコンプライアンス上の懸念が生じます。ただし、ローカルモデルの使用も技術的には可能です。たとえば GitHub Copilot の場合は、設定手順をご参照ください。

過去の関連記事

本機能は Squish MCP の旧バージョン(GitHub)を拡張し、以下のブログ記事に基づいています。