BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース The Grinder 3.0:「プログラマーのロードテスター」スクリプトを追加でサポート

The Grinder 3.0:「プログラマーのロードテスター」スクリプトを追加でサポート

プロジェクトのWebサイトによると、The Grinder(サイト・英語)の主要なターゲットユーザは、ヒットしているコードを理解している人たちである。それは、一連の想定される応答時間がかかる単なるブラック ボックスではない。テストはコードされ、またただ単にスクリプトされるだけではないので、プログラマはユーザインターフェイス経由の応答時間だけではなく、アプリケーションの内部階層をテストする必要がある。The Grinder 3の主な新機能は以下のとおりである。

  • テストスクリプトを実行するために使用されるJythonスクリプトエンジン(source)のサポート(source)
  • 個別のソースおよび バイナリージップファイルから構成される新たなディストリビューションパッケージ(source)
  • HTTPテストはHTTPプロキシおよびその他の変更(source)を通じて実行することができる。

InfoQとのインタビューで、The Grinderプロジェクトの指揮をとっているPhilip Aston氏が、新機能のリリースを駆り立てた技術上の決定に関連する背景について話してくれ、The Grinderに関する背景を詳しく説明してくれた。Aston氏は、スクリプトのサポートを追加した理由の説明から始めた。

The Grinder 2はポピュラーであったが、プロパティファイルに基づいたHTTPテストのスクリプトフォーマットにはかなりの制限があった。動的スクリプトを導入し、 HTTPテストスクリプトでのブランチ、ループおよびカスタム検証を可能にした。スクリプト言語はカスタムプラグインを必要とせずに、スクリプトから直接他のタイプのテストを可能にするという、大きなメリットがある。

Aston氏はまた、 Pythonがスクリプト言語として選ばれた理由についての洞察と興味深い歴史を話してくれた。Javaを使用してテストスクリプトを記述したり、JVMサポートでその他のスクリプト言語を使用することよりもである。

わたしは、Javaをスクリプト言語としては認めなかった。というのはThe Grinder 3がThe Grinder 2と同じように、HTTPテストで使用しやすくすることを目指しているからである。個別のコンパイルサイクル、クラスパスの操作などはこれの邪魔にあるで あろう。そうは言われながらも、JythonはJavaと最高の統合があり、Javaコードは容易にテストできる(スクリプトギャラリー(source)の多くの例を参照)。

The Grinder 3に取りかかったのは2001年で、当時はJVMスクリプトタウンでJythonおよびGroovyが唯一のホースであったので、あまり考える必要がな かった。The Grinderには、Jythonが最適だと証明されていた。Pythonは、ときどき使用する人たちにとって、ほとんどの言語より容易である。The Grinderの多くのユーザがJavaのエキスパートではないので、とにかくレコードされたスクリプトに多少の修正を入れたがる。その一方で、 より高度なシナリオでThe Grinderを使用する必要があるデベロッパにはPythonは、非常に力強いツールである。そしてJythonは既存のJavaライブラリーを自由自在に混合することを可能にする。

この話はブラウザとサーバ間のHTTP接続のようなTCPストリームに置かれるプロキシプロセスである、TCPProxyについての詳細を共有している Aston氏へと続く。Aston氏は、TCPProxyはPythonでテストスクリプトをレコードすることができ、URLパラメータの動的変数や フォームを特定することができると言及した。「ユーザはたいていレコードされたスクリプトから始め、使用されているユーザアカウントや他のアプリケーショ ンデータを含めたり、変更したり、また他のスクリプトとマージしてさまざまなシナリオをカバーしているロードを発生させるために修正をする」と彼は付け加 えた。いったんセットアップすると、テストスクリプトはThe Grinder Console(source)を通じて制御および監視可能である。

バージョン3では、先行リリースに伴うgrinder.propertiesファイルにおける多くの設定に対するサポートを縮小した。 というのもこれらの構成はテストスクリプトで直接設定することができるからである。The Grinder 2に記述されるテストスクリプトに推奨される遷移パスがどういうものかについて説明をした。

The Grinder 3は、 Grinder 2のプロパティとして解釈されるスクリプトのサンプルとともにシップされるが、テストスクリプトを再レコードすることを勧めたい。スクリプトは、 TCPProxyでレコードされ、それからThe Grinder 2と極めて同様の方法でリプレイされる。The Grinder 2ではスクリプトの振る舞いを変更したり、拡張したりする唯一の方法は、プラグインを記述するかまたは極端な場合、The Grinder自体を変更することであった。The Grinder 3では、テストスクリプトではほぼ何でも可能である。

Grinderstone(source)、 webFlange(サイト・英語)およびGrinder Analyzer(source)の3つの関連したプロジェクトのここ最近の様子が、The Grinderからベータラベルを削除することを決定付けたとAston氏は述べ、インタビューを結んだ。

原文はこちらです:http://www.infoq.com/news/2008/02/the-grinder-3

この記事に星をつける

おすすめ度
スタイル

BT