Mozilla Labs、JavaScriptの分散テストツール「TestSwarm」を発表

 開発者John Resig氏は8月26日、JavaScript向けのテストツール「TestSwarm」を発表した。Mozilla Labsプロジェクトとして開発を続けていくという。TestSwarmのプロジェクトサイトでアルファ版が公開されている。

 TestSwarmは、JavaScriptコードのテストを複数のWebブラウザで連続して行うツール。JavaScriptテストツールの拡張性という課題に対応することを目標にResig氏が始めたプロジェクトである。当初jQueryの下で開発が進められ、その後Mozilla Labsプロジェクトとなった。

 TestSwarmは複雑で時間のかかるJavaScriptコードのテストスイートを複数のブラウザで、できるだけ簡単に実行することを目標としている。TestSwarmは分散型のアーキテクチャを採用しており、TestSwarmはサーバーとして動作する。WebブラウザでTestSwarmサーバーにアクセスすることで、JavaScriptで記述されたテストランナー(クライアント)が配信される。テストランナーはTestSwarmから実行すべきテストコードを受け取って実行し、その結果をTestSwarmに送信する。

 分散型アーキテクチャにより、TestSwarmでは複数の異なるWebブラウザに対し連続してテストジョブを配信・実行できる。また、複数のタブでTestSwarmにアクセスすることで、1つのWebブラウザで同時に複数のテストを実行させることが可能。

 TestSwarmの大部分はPHPで作成され、バックエンドにはMySQLを用いているとのこと。

 テストツール「Selenium」との違いについては、TestSwarmは特定のテストスイートに依存していない点や、Webブラウザ側にプラグインや拡張をインストールする必要がない、クライアントが接続されていない状態でもテストジョブの登録が可能であり、状況に応じてクライアントを追加/削除できるなど高度な分散機能を備えた点などを挙げている。

 TestSwarmは現在、QUnit(jQuery)、UnitTestJS(Prototype)、JSSpec(MooTools)、JSUnit、Selenium、Dojo Objective Harnessの各テストフレームワークに対応、今後も対応するテストフレームワークを拡充するという。独自テストスイートの追加もできるという。

TestSwarm
http://testswarm.com/