AIアシスタントによるSquish GUIテストを新MCPサンプルで最適化

 

AI アシスタントと Qt のテストツールの使用を開始していただくために、Squish Model Context Protocol (MCP) の実装例を公開しています。Squish を GUI テストの自動化に使用している場合、この統合例により、テストスクリプトの開発を高速化し、テストスクリプトのメンテナンスを支援し、CursorClaude for Desktop などのアプリケーションの AI 支援ワークフローにおけるテスト結果の分析を改善することができるため、まったく新しい可能性が開かれます。

Squish MCP を使用すると、AI アシスタントは、実行中のテストスクリプトおよびそれらのテスト実行結果に直接アクセスして、将来の改善や分析に活用することができます。以下のビデオでは、そのメリットを説明するとともに、デスクトップ用 Claude から、Qt/C++ で記述された アドレス帳 アプリケーションに対して 2 つの Squish テストスクリプトを実行する方法を示しています。

 

Squish を初めてご利用ですか?Squish は、Android(Android Automotive を含む)、macOS、iOS、Linux、および Windows 向けのアプリ自動テスト用のプロフェッショナルな GUI テストフレームワークです。組み込みターゲット向けのネイティブおよびクロスプラットフォームのツールキットもテストできます。詳細については、製品ページまたは製品ドキュメントをご覧ください。Qt 開発者の方は、このページへお進みください。

では、Squish MCPとは一体何なのでしょうか?

Model Context Protocol (MCP) は、AIアシスタントを外部ツールや情報に公開するための方法です。テスト自動化に取り組む開発者向けのAIアシスタントは、デスクトップ上で実行されることが多いため、テストツールをAIアシスタントに統合することが望ましいです。Squishは明確なアーキテクチャとCI/CD環境で利用される対応するコマンドラインツールを備えています。これらのコマンドラインツールは、公開されているMCPサンプルコードで示されているように、AIアシスタントに簡単に提供可能です。

以下の画像は、デスクトップ上のSquish MCPのセットアップを説明しています。

Screenshot 2025-04-17 at 17.12.31

項目 1 および 2 AI アシスタント(デスクトップ用の Claude など)は、MCP クライアントと MCP サーバーの両方を実行します

項目 2 MCP サーバー squishrunnermcp.py は、AI アシスタントがテストスクリプトまたはテストスイートを実行するときに呼び出される Squish コマンドラインツール squishrunner をラップします

項目 3 Squish Runner は、ソケット接続を介して Squish サーバーに接続します

項目 4 Squish Server は、テスト対象アプリケーション (AUT) を呼び出します (ビデオでは、Qt/C++ で記述されたアドレス帳アプリケーションです)。そして、テスト結果を AI アシスタントに返します。

メリットとコマンド例

ビデオで示したように、AI 支援ワークフローにおいて Squish MCP にはいくつかのメリットがあります。

  1. 制御: AI アシスタントから Squish MCP を使用して、個々の Squish テストスクリプトまたはテストスイート全体を直接実行できます。
  2. 分析: AI 支援デバッグおよびテストスクリプトのメンテナンスにテスト結果を活用できます。
  3. 作成: AI アシスタントからテスト結果に直接アクセスして、AI アシスタントを離れることなく、新しい Squish テストスクリプトを迅速に作成し、テストスクリプトを検証できます。

Squish MCP で試すことができるサンプルコマンドには、次のようなものがあります。

  • 「Run tst_general」
    • 個々のテストスクリプトを実行する場合
  • 「Execute /projects/addressbook/suite_py」
    • テストスイート全体とその中のすべてのテストスクリプトを実行する場合
  • 「エラーを分析して説明し、git ログに変更の説明がないか確認。テストスクリプトの変更を提案し、提案された変更を反映してテストスクリプトを再実行」
    • テストスクリプトの実行でエラーが発生した場合
  • 「tst_adding を基に新しいテストケースを作成し、そこにハングル文字を含む10件の名前を追加し、最後に実行」
    • サンプルデータ生成の支援

開始方法

AI アシスタント用の Squish MCP サンプルを設定する方法については、リポジトリをご覧ください。Squish がインストールされており、デスクトップ用の Cursor や Claude などの MCP 対応 AI アシスタントが利用可能であることを確認してください。

Squish テストスクリプト作成で AI アシスタントを最大限に活用するには、AI アシスタントが Squish 開発者向けドキュメントにアクセスできることを確認してください。Cursor で外部ドキュメントをインデックス化する方法については、手順を参照してください。LLM によって生成されたすべてのコードと同様に、最終的な判断はご自身の専門知識に頼り、デプロイ前に生成されたすべてのコードを監査してください。

結論と今後の開発

Squish を AI アシスタントに統合することで、よりスマートで柔軟かつ自動化された GUI テストワークフローの可能性が広がります。既存のお客様や Squish を評価中のチームが、提供された Squish MCP 実装をどのように活用されるか、大変楽しみにしています。また、パートナー企業が構築中のカスタム AI プラットフォームにも Squish MCP が適しているものと期待しています。

Squish MCP をぜひお試しいただき、テストスクリプトに役立つかどうか、またワークフローの一環として Squish MCP を使用することでより効率的に作業できるかどうかをご確認ください。当社は、すべてのテストツールに対して生成AIおよびAI支援機能の開発に取り組んでおり、お客様と協力してテストワークフローの改善を目指しています。

詳細情報が必要な場合

著者であるOtso.Virtanen [@] qt.ioまでお問い合わせください(日本語でお問合せは  japan@qt.ioまでご連絡ください)。Otsoは、Qtテストツール生成AI/AIイニシアチブの製品責任者です。Squishに関する詳細情報は、製品ページまたは製品ドキュメントをご確認ください。


Blog Topics:

Comments