2008-08-11 10 views

答えて

9

私は雇用の場所でWatinを使用しています。私たちは.netショップですので、このソリューションはかなり意味があります。実際にWatir(オリジナルのRuby実装)から始まり、後に切り替えました。これまでのところかなり良い解決策でした

2

私たちはSelenium Coreを使用していますが、徐々にSelenium RCに切り替わりました.Selenium RCは管理しやすくなりました。私たちは、Continuous Integrationサーバー上でテストを実行するためのカスタムコードをたくさん作成しました。それらの一部は、並列スイートで実行する方が高速です。

Seleniumが各テストでブラウザを再起動するように見えることがあります(これを行わないように設定できますが、そのときにメモリの問題が発生しています)。これはFirefoxでは遅くなる可能性がありますが、IEではそれほど悪くはありません(私はBill GatesのOS統合に感謝しています)。

3

私たちはQuickTestProを使用しています。これまでのところ有効ですが、ブラウザの選択には限界があります。最も良い点は、ブラウザのアクティビティを記録し、スクリプト可能な一連のステップに変換できることです。素晴らしい.Netアドインもあるので、テストのさまざまな段階で必要な検証コードがあれば、アセンブリにメソッドを記述してスクリプトから呼び出すことができます。

5

あなたのアプリケーションを適切に設計していれば、とにかくUI内にロジックの痕跡が残ることはありません。実際の作業をUIから分離したユニットに分けて、それをテストする方がずっと理にかなっています。

これを行うと、UIの唯一のコードはバックエンドを呼び出すコードになるため、単にバックエンドをテストするだけで十分です。

これまで(自分の仕事で)NUnit ASPを使用していましたが、あなたのUIを単体テストすることを強くお勧めする場合、NUnit ASP以外は何も使用しないことを強くお勧めします。テストの対象が実際に変更されていなくても、ほとんどのマイナーなUIの変更があっても、テストは無効になる(修正が必要)傾向があります。

3

私たちは単体テストを行うためにしばらくの間、JSunitを使用しています...あなたが話しているのと同じ種類のテストではないかもしれませんが、あなたの期待どおりのJavaScriptの動作を保証するのに最適です。

これをブラウザで実行すると、Antビルドで設定して、多数のプラットフォーム上の多数のブラウザに対してリモートで自動的に実行できるようになります(コードがクロスブラウザであることと、ロジックは正しい)。

私はそれがセレンを置き換えるとは思わないが、それはそれをうまく補う。

2

私はWATIRを使用しましたが、これはかなり良いです。私はそれがRubyであり、対話性、利用可能な要素、ソースコードの解析をテストできるので好きでした。私はしばらくそれを使用していないが、私はそれが良いと仮定します。

これはおそらくFirefoxとSafariに移植されていると思われますが、それは今のところ起こっています。

2

チェックアウトCanoo Web Test。オープンソースであり、ANTフレームワーク上に構築されています。

私はSoftware QAの大学院コースでそれに取り組んでいましたが、かなり強力なテストツールであるようです。

2

Selenium Gridは、私はほとんどあなたがグラフィカルにテストを定義することができますEclipseプラグインである、CubicTestを使用するWebテストプロセスをスピードアップすることができ、並行して複数のマシンに

2

をあなたのWebテストを実行することができます。これは、ワイアやセレンを含むいくつかのライブラリを通じてテストをエクスポート/実行できます。しかし、ほとんどの人はセレンのランナーを使っています。

完全な開示:私は、開発者の一人ですので、私は

はここを見て近づいてください:)種類の偏っただ:cubictest.openqa.org

-Erlend

1

セレンが統合テストのためでありますユニットテストではありません。それは微妙だが重要な違いだ。私が通常見るのは、健全性チェックのためのものです。つまり、ログインするテスト、ストーリーを提出する、コメントを付けるなどのテストがあります。

デプロイメント前にシステム全体が連携しているかどうかをテストしていますが、ユーザーにサイトが壊れていることを発見させるのではなく、

16

私はセレンの巨大なファンです。いくつかのコメントが述べているように、「あなたのウェブUIのユニットテスト」は正確ではありません。しかし、私はSeleniumがUI上でこうした受け入れテストと健全性テストを実行するのに非常に役立つことがわかりました。

開発の一環として、Selenium IDEを使用することをお勧めします。つまり、あなたの開発時間を短縮するためにテストを開発して書くときにIDEを開いておいてください。 (手動でUIを操作して、作業中のものをテストできるようにする代わりに、ボタンを押すだけで、Selenium IDEがそれを処理します。

私の主要なユースケースのシナリオには、それらをバックアップするためのSelenium RCテストがあります。 xUnitフレームワークのラインに沿った単体テストと考えることはできませんが、非常に特殊な機能を対象としたテストです。彼らはすぐに書くことができます(特に、ログインやテストケースの設定のための一般的なメソッドを実装している場合)、すぐに実行し、非常にタイトなフィードバックループを提供します。これらの感覚では、セレンのRCテストは非常にであり、ユニットテストと同様にです。

テストツール(例えば、セレン)を正しく学習するために努力すると、あなたの努力はスペードで報われるでしょう。あなたの会社はすでにSeleniumを使ってUIテストを行っていると言います。これは素晴らしい。それを使って作業してください。 Seleniumが使いにくくなったり混乱したりする場合は、それに固執してください。一度APIを少し学ぶと、学習曲線はそれほど急なものではありません。

私がWebアプリケーションで作業している場合、Selenium RCテストを行わずに相当量のコードを書き込むことはまれです。それがセレンを見つけるのに効果的です。 :)(あなたの質問に答えることを願って)

3

私たちはVisual Studio 2008 Tester Editionを使用しています。

長所:

はAjaxが

捕捉されたテストできるファイルのデータベース、XMLやCSVへのユーザー入力をマップすることは非常に容易である

を呼び出してキャプチャし、ユーザーとの対話をキャプチャで良い より多くの制御のためにC#に変換する

同じテストを負荷テストとコードカバレッジに使用できます

短所:

VS2008テスターEditionはあなたが我々は非常にそれを使用しているマイクロソフト;-)

にalergicかもしれ余分なコストに

を意味し、通常のDeveloper Editionから別々のSKUですテストを最新の状態に保つのには多くの労力が必要ですが、画面を変更するたびにテストを再記録する必要があります。

テストを短く、鋭くする傾向があります。 1回のテストで約10分間のクリックを記録する代わりに出て行く。

我々はいくつかの標準的なUIテストの種類があります。

メニューテスト:特定のユーザー(またはユーザータイプ/役割)としてログのに必要なすべてのメニュー項目が

利用可能であることを確認します

検証テスト:ページを開き、データを入力せずに[保存]をクリックすると、すべての検証警告が表示されます。必要なフィールドを一度に1つずつ完成させ、警告メッセージが表示されるのを確認します。

検索テスト:あなたのデータベースやデータファイルからのデータを使用して検索し、正しいデータが検索

データ入力のテストで返されることを確認:データファイルから新しいrecrordsを作成し、クリーンアップデータベーステストを複数回実行できるようにする

UIテストはかなり時間がかかりますが、新しいバージョンをリリースする前に数百回のテストが合格したときの快適さは貴重です。

0

システムテストにはWatiN、JavaScriptユニットテストにはQUnitを使用します。

0

Molybdenumは、Selenium上に構築され、いくつかの追加機能があります。

1

現在、Web UIをテストするためのJava中心的アプローチのSilk4Jを使用しています。 Flash、Flex、AIR、Silver Light、Win32、HTMLなどのアプリケーションをテストすることができます。

Silk4JはWin32アプリケーションを制御できるため、ブラウザダイアログを直接制御することができます。これはSeleniumが制御できるもので、ダウンロードプロンプトに特に便利です。

関連する問題