2011-09-21 7 views
7

回帰テストはどのようにJavaで実行されますか?自動化された回帰テストフレームワークがあるか、回帰を確実にする単体テスト(JUnit)単体テストを書いていますか?Javaベースの回帰テスト

単体テストのコーディングのベストプラクティスがあるため、回帰テストの二重の目的にも役立ちますか、または回帰テストを単体テストと区別する必要がありますか?

+0

プログラマでベストかもしれない.stackexchange.com – Qwerky

答えて

1

JUnitは、本格的な機能テストではなく、単体テストを目的としています(そのうちの1つは、システム全体を見て回帰テストが例です)。

しかし、別のテストスーツを使用して、実際のバックエンドなどに接続する「重い」機能テストと統合テストを実行し、期待通りの結果を検証することは珍しいことではありません。

ここでJUnitを使用する1つの理由は、「模擬テスト」から依存関係注入を使用した実際の機能テストに移行する能力です。たとえば、軽いテストで模擬協力者を、フル機能テストで実際の協力者のインスタンスを提供することができます。

+1

JUnitがこのタイプのテストに最適でない場合、Javaの典型的な回帰/機能テストフレームワークは何ですか? – IAmYourFaja

+0

@Mara - www.spockframework.org –

4

回帰テストは言語とは関係ありません。将来のコード変更によって既存の機能が損なわれないようにするために使用される手法です。 Javaでは、junitやtestngなどを使用できます。通常、回帰テストは機能テストであり、純粋な単体テストではありません。

+0

Thinks Woot4Moo。 「機能テスト」とは、あるコンポーネント/ユニットをテストする代わりに、不変なものが保持されることを確認する一連のアクションを(スクリプトのようなやり方で)実行することを意味する「順次」を意味しますか? – IAmYourFaja

+0

@Mara、それはすべての自動テストの仕組みです。回帰テストはちょうど "古いテストに対して新しいコードをテストする"ことであり、テストの*タイプ*(単位、機能、統合など)は何の違いもありません。 –

+1

Dave - 興味深い。だから、徹底した単体テストフレームワークを維持している限り、古い単体テストを捨てることはないので、回帰テストも同様に処理しません。これは私にいくつか混乱させます。なぜなら回帰テストについていつも聞いているからですが、あなたの説明では、単体テストがうんざりしているかどうかを確認するだけです。私は軌道に乗っているのですか? – IAmYourFaja

0

回帰テストは、回帰をキャッチするテストです。

受け入れテストが必要な場合は、FitNesseについてよく聞きました。