6

さまざまなコンポーネントで構成されたかなり複雑なサービス指向アーキテクチャがあるとします。コンポーネントはさまざまな言語 (Java、PHP、Ruby) で記述され、さまざまな方法で相互に通信します (つまり、UI、REST API、場合によっては DB テーブルを共有するなど)。

いくつかのエンド ツー エンド テスト用の統合テスト フレームワークを設計しようとしています。単一コンポーネントのユニット/統合テストはすでにありますが、展開されたシステムを (実際の環境で) エンドツーエンドで完全にテストして、(個々の期待される動作に関して) 機能を確認するものを構築したいと考えています。コンポーネント) が正しく提供され、アーキテクチャも正しく構成されていることを確認します。

私が直面している最初の問題は、ほとんどの UI が PHP で記述されており、UI 統合テストが Cucumber とその上にいくつかのプラグインを使用して既に記述されていることです。私が (Java で) 書いているテスト フレームワークは、これらの機能テストをトリガーし、その後、関連するコンポーネントの動作が期待どおりであることを確認する必要があります。

もちろん、Selenium のような Java に適したコンポーネントを使用して UI テストを書き直すこともできますが、同じ作業を繰り返すのは意味がありません。

もう 1 つの解決策は、Java 内で exec() 呼び出しを使用して既存のテストを実行し、それらが戻るのを待ち、おそらく出力を解析して、実行する必要がある他のアクション/チェックを続行することです。

Java 内に既存の PHP コードを埋め込むことは、プロジェクトの作成方法を考えると実行可能な解決策とは思えません。

どの解決策も、私には説得力のあるものではありませんでした。理想的には、さまざまな言語で書かれたさまざまな環境/コンポーネント用の同じテスト スイート内にプラグインできる、ある種の多言語 (および多技術) 統合フレームワークがあるとよいでしょう。

この方向に向かうツールやフレームワークを知っている人はいますか? そうでない場合、この種の問題に対する適切なアプローチは何ですか?

4

2 に答える 2

0

Jmeter などを使用したフルスタック テストを検討したことはありますか?

完全にデプロイされたソフトウェアに対して実行するテストを構築できます

  • ユーザーを作成する
  • ユーザーの作成成功画面が表示されることを確認します
  • ユーザーが期待どおりにデータベースにあることを確認します
  • ユーザーを削除
  • ユーザーが削除されたことを確認

このようにして、UI、ビジネス ロジック、およびデータストアを一度にテストします。また、負荷テストにも使用できます。

Jメーター

于 2013-03-19T12:53:49.860 に答える