web-dev-qa-db-ja.com

Webフォームアプリ(ASP.NET)をテストするための最良の方法は何ですか

Webフォームアプリケーションをテストするための最良の方法は何ですか?

人々はワティンとセレンを愛しているようです。

37
Brian G

[〜#〜] update [〜#〜]WatiNが1年以上停滞しているとすると、私はWeb UIテストが必要な人は誰でも Selenium に向けてください。これは多くの貢献者によって継続的に使用および開発されており、Googleによって積極的に使用されています。

WatiN は私が見つけた中で最高です。 Visual Studioの単体テストまたはnunitに統合されており、ブラウザーで必要なほとんどすべてのことを実行できます(リンクのクリック、フォームの送信、テキスト/画像の検索など)。

同様の回答については、次の質問を参照してください。

19
Glenn Slaven

疑問に思っているのですが、なぜWatiNをunitテストツールと呼ぶのでしょうか。前回チェックしたときは、統合テストを実行しました。

最善の方法は、HttpContextに依存しないすべてのコードを別のアセンブリに移動し、通常どおり単体テストを実行することです。残りは Ivonna でテストできます。彼女はクライアントの動作をテストしていません。そこでWatiNが役立ちます。ただし、ページまたはコントロールを個別にテストする場合は、彼女が唯一の選択肢です。

30
ulu

これがWebformsの最大の欠点です。実際的な理由から、テストコントローラーなどの単体テストの観点からはテストできません。

これは、MVCフレームワークの主な利点の1つです。

15
Ian P

私は、ビジネスロジックをUIコードから分離するアプローチを好む傾向があります。これは、単体テストに適したパターン(Model-View-Presenter)について説明している記事です。

http://www.unit-testing.net/CurrentArticle/How-To-Use-Model-View-Presenter-With-AspNet-WebForms.html

1
TGH

私はWaitInのようなツールを使用します:

「WatiNは.NETのWebアプリケーションテストです。このテストレコーダーは、埋め込まれたIEブラウザー」でクリックを記録することにより、ソースのチャンクを生成します( Scott Hanselmanのブログ)から -StackOverflowの別の投稿のおかげで見つけました

WaitInウェブサイト

0
JustinD

これがWatin、Watir、Seleniumのレビューです http://adamesterline.com/2007/04/23/watin-watir-and-Selenium-reviewed/

どうやらSeleniumはテスターに​​とって非常に遅い動作をしましたが、コメントの1つが指摘しているように、これは複数のブラウザーをサポートしているためにのみ当てはまることに気付くでしょう。

ただし、Internet ExplorerとFireFoxの両方の自動化をサポートするWatiNのCTP(Community Technology Preview)リリースがあります。

0
Stephen Lacy

私はSeleniumを使用して素晴らしい経験をしました。 Webテストは非常に壊れやすい場合がありますが、ここに私のブログの記事があり、テストの脆弱性を減らす方法について説明しています。 http://www.unit-testing.net/CurrentArticle/How-To-Make-Web-Tests-Less-Fragile.html

0
T123

私はWATIR(RubyでのWebアプリケーションテスト)を使用します http://wtr.rubyforge.org/ 。私たち(Acsys Interactive)は約1年間使用しており、ツールは素晴らしいです。

ユニットテストからWATIRスクリプトを実行できるように、.NETで単純なラッパーを開発しました。フレームワークは素晴らしく、Rubyパワーが背後にあります。FirefoxとSafari(FireWatirプロジェクト)がサポートされています。

これはWATINと非常によく似ていますが(実際、WATINはWATIRに触発されたと思います)、WATIRコミュニティはWATINコミュニティよりもはるかに大きいことがわかりました。

使用できるテストレコーダーとたくさんのチュートリアルがあります。

それは本当にあなたの選択です。テストを.NETで行う必要があり、他の言語をサポートしたくない場合は、WATINを選択してください。一方、楽しくて非常に強力なスクリプト言語(Ruby is))を試したい場合は、WATIRを選択してください。

WATINの皆さんへの質問ですが、FireFox/Safariをサポートしていますか?

0
Gleb Popoff