3

Java EEは私にとって新しい世界であり、私の経験は組み込みシステムですが、私は新しい仕事を始めました。JavaEEに基づくWebアプリケーションのテストプロセスがあるかどうかを知りたいです。この分野で通常採用されているテスト戦略はどれですか?

  • 基本ユニットテスト
  • 機能テスト
  • 統合テスト
  • システムテスト、ストレステスト、負荷テスト、...

....そして、Web開発の各テストフェーズの範囲はどれですか?サーバーコードとクライアントコードの両方が関係しているので、この分野でどちらが最善のアプローチかわかりません。また、DB、ビジネス層、プレゼンテーション層、ロードバランサー、CASによる認証、Active Directoryなど、いくつかのマシンが関係しています。

各フェーズに最適なテスト環境はどれですか?本番CAS認証を使用する場合、...

リンク、本、簡単な説明または他の種類のアドレスは大歓迎です。

4

2 に答える 2

1

私の意見では、最良のテストフレームワークはJunitです-ユニットテスト用です。 http://www.junit.org/-j2ee 環境でデータベース、モックサービス、その他のオブジェクトをモックして単独でテストできるようにするなど、多くのオブジェクトをモックする場合。http://wwwを使用します。 .jmock.org /、http://code.google.com/p/mockito/、http://www.easymock.org/-受け入れと機能テストのために、 セレンhttp://seleniumhq.org/このフレームワークがありますテストを自動化できます。一般的なテスト、特にj2ee環境でのテストについてこの本を読むことをお勧めします。

http://www.manning.com/rainsberger/ 
http://www.amazon.com/Test-Driven-Development-By-Example/dp/0321146530
http://manning.com/massol/ 
http://manning.com/koskela/
于 2012-06-04T12:43:06.297 に答える
0

まず、テストとして実行する予定がある場合は、ビルドプロセスに注意してください(ビルドツールとしてのMavenが出発点として適しています)。

Junit(またはtestng)は、ほとんどすべてに適しています(その単純さのため)

ユニットテスト:モックの場合、jmockやeasymockよりもMockitoの方がいいと思います。

受け入れテスト:UIテストに関してセレンはWebアプリケーションには問題ありません(多くのUIテストを行う予定がある場合は、PageObjectパターンを確認してください)。他のインターフェーステスト(Webサービスなど)の場合、soapuiは良い出発点です。

統合テスト:主にJavaでコンテナによって解決されるミドルウェアの問題に直面します。今では楽しくなります:)「実際の」JEEで実行する場合は、JEE6より前であるかどうかによって異なります。JEE6からの場合は、コンテナーが埋め込まれています(これによりテストが非常に簡単になります)。それ以外の場合は、依存性注入フレームワーク(Spring、Guice、...)を選択してください。

統合または受け入れテストに関するその他のヒント:

  • いくつかのインターフェースをモックする必要があるかもしれません(HTTPに基づいて外部サービスをモックするためにMOCOを見てください)。
  • また、Webテストを容易にするために、いくつかの組み込みサーブレットコンテナ(Jetty)についても考えてください。
  • 構成とプロビジョニングも問題になる可能性があります。例:DBの場合、「flyway」または「liquibase」を使用してこれを自動化できます
  • DBテストには2つのアプローチがあります。各テストの後にデータをリセットする(DBUnitを参照)か、トランザクションテスト(例についてはSpringテストを参照)です。
于 2013-11-15T16:16:56.520 に答える