異なるコンポーネントで作られたかなり複雑なサービス指向アーキテクチャーを想像してみてください。コンポーネントはさまざまな言語(Java、PHP、Ruby)で書かれ、さまざまな方法(UI、REST API、場合によってはいくつかのDBテーブルの共有など)で互いに通信します。多言語統合テストフレームワーク
エンドツーエンドのテストのために統合テストフレームワークを設計しようとしています。 単一のコンポーネントのユニットテスト/統合テストはすでに完了していますが、展開されたシステムを(実際の環境で)完全にテストしてエンドツーエンドの機能を確実に構築したいと考えています。個々のコンポーネント)が正しく提供され、アーキテクチャも正しく構成されていることを確認します。
私が直面している最初の問題は、私たちのUIのほとんどがPHPで書かれており、UIの統合テストにはキュウリと2つのプラグインがすでに書かれているということです。 私が書いているテストフレームワーク(Javaで)は、これらの機能テストを起動し、その後、関連コンポーネントの動作が期待どおりであることを確認する必要があります。
明らかに、私はSeleniumのようなJavaフレンドリーなコンポーネントを使ってUIテストを書き直すことができましたが、努力を複製することは意味がありません。
もう一つの解決策は、Java内でexec()を呼び出して既存のテストを実行し、それらが戻るまで待ちます。
Java内に既存のPHPコードを埋め込むことは、プロジェクトの作成方法を考えると実行可能な解決策ではありません。
説明された解決策のどれも私に納得できるものではありません。理想的には、異なる言語で書かれた同じテストスイートテスト内でプラグインできる多言語(およびマルチテクノロジ)統合フレームワークをいくつか用意しておくことは理想的です。
誰かがこの方向に進むツールやフレームワークを知っていますか?もしそうでなければ、この種の問題に対する良いアプローチは何でしょうか?
おかげで、しかし、JMeterのでしょうを採用既存のテストを一から書き直すことを意味します。 また、JMeterはJavascriptを解釈しないので、UIテストに大きな制限があります。 – kappolo
私はちょっと混乱しています。既存のユニットテストを呼び出すテストスイートフレームワークを構築したいと思いますか?これはあなたの既存のテストの情報を超えていますか? – mconlin
申し訳ありませんが私は明確でない場合。完全な統合テスト(つまり、私のシステムのすべてのコンポーネントを統合する)を作成したいので、既存の統合テストの一部を再利用し、それらを新しいテストと結合/統合したいと考えています。 – kappolo