Java自動化テストの場合、より良いアプローチは、Cruise Control(java)、JUNIT(javaテストフレームワーク)をWatijと一緒に使用することであることがわかりました。それ以上の提案をお願いします。これらのツールをうまく統合した人と、これにはどのような制限がありますか。
よろしく
Java自動化テストの場合、より良いアプローチは、Cruise Control(java)、JUNIT(javaテストフレームワーク)をWatijと一緒に使用することであることがわかりました。それ以上の提案をお願いします。これらのツールをうまく統合した人と、これにはどのような制限がありますか。
よろしく
私たちは通常、次の 3 つのレベルでアプリケーションをテストしようとします。
テストの自動化と継続的な統合のために、当社のプロジェクトは Maven と Hudson で構築されています。現在検討中の改善点の 1 つは、テストに Java の代わりに Groovy を使用することです。
解決しなければならなかった問題のいくつか: テスト ケース セットアップでの基本データの作成 (オブジェクト マザー パターンに基づく)、すべてのテストの実行には多くの時間がかかる可能性があるため、テスト スイートの編成、テスト コードの重複への対処などMaven と Selenuim をいじる必要はありませんが、長い目で見れば間違いなく価値があります。
私の同僚の 1 人は、 Watir に似ていると推測しているWatirの大ファンです。私はSeleniumが好きで、最近Telluriumで遊ぶことを考えています。
いずれにせよ、CruiseControl やHudson (私のお気に入り)などの継続的インテグレーション エンジンとこれらのいずれかを結び付けることは、Web アプリケーションの機能テストを処理する優れた方法です。また、JUnit は単体テストや統合テストにも最適です。
Web アプリケーションの機能テストの制限:
ユーザーに「左側のメニューの最初の項目」をクリックするように指示することはできますが、コンピュータに同じことをさせるのはそれほど簡単ではありません。Web アプリケーションのテスト フレームワークは、画面を見ることができず、ページ上のどの要素がメニューを構成しているかを簡単に見分けることができません。どの要素と対話するかについて、より具体的な情報が必要であり、そのためには、HTML ページがどのように構築されているかについての知識が必要です。ページが変更されると、テストも変更されます。
ページのある部分の小さな変更がページの他の無関係な部分のテストを壊すとき、それらのテストは「脆い」と呼ばれます。テストがより安定していることを確認するには、通常の単体テストと同様に、ある程度の経験が必要です。たとえば、要素の ID または名前を使用して、ページ上の要素を参照します。完全な XPath (長くて読みにくく、脆い可能性があります) やテキスト コンテンツ (変更される可能性がある場合) ではありません。
私たちは、Web アプリケーションの機能テストに WATIR を好んで使用しています。Ruby のブラウザ自動化パッケージです。簡単に習得でき、多くのテスト ケースを作成した後も障害に遭遇することはありません。