2012-04-01 6 views
0

私は、リモートJBossインスタンスにデプロイされたJava EEアプリケーションのシステムテストを行います。エンタープライズアプリケーションをテストするためのシステムセットアップを自動化するには?

システムが特定の状態に設定された後、システムが正しいデータを提供しているかどうかをテストしています。

  1. システムの状態は、JDBC経由でDBを移入RMI APIを呼び出し、外部キュー(openMQ)にメッセージを送信することにより更新され、すべてのことは、単一のJUnitテストケースから
  2. システムの状態からRMI APIを呼び出すことによって読み取られますJUnitテストを
  3. システムの全体のプロセスが自動化されている場合でも

(JBoss版を再起動し、その状態をリセットし、キューをpurgueing、DBスキーマをreseting)シェル、SQLスクリプトのセットで、初期状態に設定されている、私は」これは今どのように行われているのか非常に満足していません。

  • 予想される状態にシステムを設定するのに1〜2分かかります。このプロセスのかなりの時間は、JBoss(Hibernateキャッシュはtmp、作業、キャッシュ、データカタログを削除することによってパージされます)を再起動し、すべてのテーブル、シーケンス、およびその他のDBオブジェクトを削除し、DBダンプをインポートすることによって行われます。
  • テスト中のシステムをリセットするために、さまざまなテクノロジー(bash、imp、Java)を混在させ、スクリプトはさまざまなマシンに配置されています。たとえば、リモートマシン上の自動スクリプトを手動で呼び出して、DB、キュー、JBossをリセットする必要があります。これは、リセットプロセスを複雑にするだけでなく、テスト全体のメンテナンスを困難にします。

私は、この解決策をより迅速かつ明確にしたいと考えています。はい、私は技術をもっと学ぶことができましたが、私が学ぶことのできるベストプラクティスや例があるのでしょうか?

答えて

2

ここで見ることのできるものはArquillianです。各テストケースを小さく保ち、現代のJBoss ASバージョン(7.1)を使用する場合、JBossを再起動するには、たかだか2秒かかります。

DBUnitはデータベースの設定に役立ちます。各テストケースを小さく保つと、パージして既知の状態に設定する必要があるテーブルの量は比較的少なく、通常はわずか数秒で完了します。

関連する問題