web-dev-qa-db-ja.com

GUIの自動テストを行うにはどうすればよいですか?

見えているものと見えないものを自動的に確認するにはどうすればよいですか?または、少なくとも、一部の自動テストをどのように整理できますか?

IDE:Eclipse(必要に応じてIntelliJ Ideaも使用できます)

テストツール:Junit(ここでも、アドバイスがあれば他のものを使用できますが、無料であればより良いです)

アプリケーションOS:Android

開発者のOS:Linux(MACまたはWindowsで変更される可能性があります(しぶしぶ))

言語:Java

すべての作業は外部デバイスで行われます。エミュレーターはありません。

アプリケーションは、ファームウェアTVプレーヤーのユーザーラッパーであり、外部アクティビティと呼ばれます。したがって、コードの70%はGUI用です。 (残りの30%はサーバーに話しかけ、GUIに情報を提供します)

テスト機能をプログラムする前は、ツールを使用していません。今私は手元にツールを持っています。しかし、ツールを使用して、またはツールを使用せずにUIをテストする方法を想像することはできません。 (厳密に言えば、インターネット接続に関しても問題がありますが、おそらく他の質問のために残しておきます。)答えはプラットフォームに依存しすぎている必要はなく、原則とアイデアも役立ちます。

もちろん、チェックするのは良いことです。別の要素があり、チェックされているかどうかです。そのためには、いくつかの回帰チェックが適しています。しかし、アニメーションで注文したように、言及されている要素が他の要素やウィンクによってカットされていないことも確認する必要があります。

ここのアドバイス: https://softwareengineering.stackexchange.com/questions/63245/is-there-a-tool-to-test-Java-ui 助けにはなりません-ツールしかありません、原則ではなく、どのツールも私の状況では役に立ちませんでした。

8
Gangnus

ほとんどの場合、自動GUIテストの最良のアドバイスは、Model-View-Presenterスタイルでアプリケーションを開発し、Presenterに対してテストを作成することです。トピックはここで議論されます:

http://danbunea.blogspot.com/2005/11/model-view-presenter-is-testing_27.html

(その記事の最後にさらにリンクがあります)。

もちろん、「表示されているものとされていないものを自動的に確認する」ことはできませんが、UIロジックのほとんどをテストするのには役立ちます。

5
Doc Brown

画面を直接操作できるテストフレームワークがあります。私の仕事では、IBM Rational Functional Testerを使用しています。これにより、通常のプログラムによるテストだけでなく、ボタンなどをクリックすることもできます。明らかに、これは無料ではありませんが、ウィキペディアで調べると、代替案の このリスト が提供されます。 Javaを見ているので、Eclipseプラグインである CubicTest があります。代替には Maveryx および Abbot が含まれます。

1
Yamikuronue

私はtestcompleteを使用しています。 GUIテストの自動化に使用した最も包括的なツールです。 http://smartbear.com/products/qa-tools/automated-testing/ それらをチェックするこれがあなたにぴったりでJavaをサポートしていることは本当にポジティブです

0
Jaspreet Chahal