2

私は受け入れテストについて考えていて、それをどのように自動化できるか (たとえば、継続的デリバリー パイプラインに組み込むことができるか) をより明確に理解したいと考えています。メッセンジャー アプリケーションであるJavaで記述されたデスクトップ アプリケーションがあります。受け入れテストを自動化したい場合、どうすればよいですか? 手動テストの例を次に示します。「サーバーがクラッシュしたときに、ユーザー A がユーザー B にメッセージを送信しています。フェールオーバー サーバーに切り替えて、中断したところからチャットを再開できること、およびすべてのチャット機能がクライアントで引き続き期待どおりに機能することを確認します」

このような自動化された受け入れおよびシステム テストにJUnitを使用できますか? Seleniumについても聞いたことがありますが、それは Web アプリケーション専用だと思いましたか?

JUnit を使用した単体テストの概念は理解していますが、デスクトップ アプリケーションの機能のより高度なテストを自動化する方法についてはわかりません。一部のテストには、他のクライアントへのメッセージの送信など、GUI との対話が含まれる場合がありますが、サーバー クラッシュなどのサーバー側の要素が含まれるテストもあります。JUnit とアプリケーションのコードを使用してこれを行うことはおそらく可能であると考えていましたが、テストを開始するためにいくつかのスクリプト (Perl、Ruby など) が含まれている可能性がありますか?

4

1 に答える 1

2

これにはコストがかかるソフトウェア ソリューションがいくつかあります。いくつかの深刻なものは、QTP (現在は UFT)、TestComplete、Ranorex、SilkTest です。それらはすべて、利用可能な試用版ソフトウェアを持っている必要があります。Java アプリケーションが Swing/AWT で書かれている場合、Jemmy を試してみる価値があるかもしれません。Tony Hopkinson が述べたように、AutoIt は適合する可能性があり、非常に高速に使用できます。Selenium は優れていますが、私の知る限り、Web テストのみに使用されます。UI を自動化することは、自動化されたテストにとって非常に重要であり、エンド ユーザーとの対話のために受け入れテストを補完します。単体テストは多くの点で重複しており、それらをどのように整理し、十分な数を用意しているかによって機能統合をカバーする場合がありますが、これらは 2 つの異なる目的を持つ 2 つの異なるアプローチです。

また、Swing を使用している場合は、次のスレッドが役立ちます: http://www.coderanch.com/t/96035/Testing/Au ​​tomated-Swing-Testing

于 2014-01-17T21:34:26.823 に答える