25 best java testing frameworks
Javaテストフレームワークとツール:
このチュートリアルでは、JAVA / J2EEアプリケーション用のコンポーネントごとの自動テストツールの概要を説明します。
人気のあるJavaツールのほとんどはオープンソースであり、主にJUnitから派生しています。ツールは、ビュー、ビジネスロジック、および検証コンポーネントによって異なります。
これは、JAVA / J2EEテスト記事シリーズの3番目で最後の記事です。
ここで最初の2つの記事をチェックしてください:
パート1 : Javaアプリケーションをテストする方法 そして
パート2: JAVAアプリケーションの自動化テストを開始します。
学習内容:
トップJava自動テストツールのリスト
さあ。
JavaScript / JQuery / AngularJS(ビューコンポーネントの検証)
JavaScript / JQueryは通常、JSPやJSFなどのビューコンポーネントの検証に使用されます。
JavaScriptをテストするための重要なツールのいくつかを次に示します。
#1)JSUnit
JSUnit はオープンソースです ユニットテスト JavaScriptのフレームワーク。 JUnitに精通している場合は、JSUnitの学習に問題はありません。これは、JavaScriptテスト用のJUnitの拡張です。ただし、JSUnitはサポートされなくなりました。このフレームワークの開発者は、Jasmineフレームワークの開発に切り替えました。
詳細については このページを確認してください 。
#2)ジャスミン
ジャスミン はオープンソースです ユニットテスト JavaScriptのフレームワーク。これは、RSpec、JSpec、JSSpect、Screwunitなどの他のユニットテストフレームワークに基づいています。 JasmineはJavaScriptのBDD(Behaviour Driven Development)であり、AngularJSアプリケーションのテストに広く使用されています。
ジャスミンには2つのブロックが含まれています– 説明します ブロックと ‘ それ ブロック'。同様の機能を持つテストケースは、 説明します ブロック、および ‘ それ ブロックには、個々のテストケースが含まれています。詳しくはこちらをご覧ください このページを参照してください 。
テストケースは書かれた英語に似ているので、ジャスミンによるテストは非常に簡単です。
これがサンプルです:
JavaScript関数:
function sayHi() { return 'Hi!'; }
Jasmineのテストケースは次のようになります。
describe('Say Hi', function() { it('return hi', function() { expect(sayHi ()).toEqual('Hi!'); }); });
#3)カルマ
カルマ 本質的には ユニットテスト のためのツール Angular JS アプリケーション(AngularJSはJavaScriptフレームワークであり、Googleによって管理されています)。 Karmaは、GoogleのAngularJSチームによっても管理されています。 Karmaは構成ファイルからテストケースを実行します karms.conf.js コマンドプロンプトを介して結果をユーザーに表示します。
詳細については、 このページを参照してください 。
Chromeでswfファイルを開く方法
#4)Qunit
quni は JQueryユニットテスト JQueryチームによって開発されたフレームワーク。ただし、QUnitを使用して通常のJavaScriptコードをテストすることもできます。 Qunitの理解は非常に簡単で、結果は理解と解釈が容易な画面に表示されます。詳しくは こちらをチェック 。
FireUnit、RhinoUnit、TestSwarm、BrowserSwarm、Mocha、Chai、Sinonなど、JavaScript用の他の単体テストツールがいくつかあります。
JSP(JAVA Server Pages –ビューコンポーネント)
実行されると、JSPはサーブレットに変換されます。サーブレットはJavaクラスです。 JUnitを使用してJSPをテストできるかどうか疑問に思われるかもしれません。設計の観点から、フレームワークを使用して、JSPには現在多くのJavaコードが含まれていません。
したがって、単体テストも実行できますが、機能テストまたは統合テストでJSPをカバーすることをお勧めします。 JSPはサーブレットコンテナに緊密に結合されており、テスターが個別にテストする場合は、要求と応答を生成する必要があります。 TagUnitを使用して、JSPページ内のtaglibをテストできます。 JSPをテストするための他のフレームワークを以下に示します。
#5)TagUnit
JSPタグは、組み込みまたはユーザー定義のタグ要素であり、JSPから多くの作業を削除して、再利用可能なコンポーネントを分離するのに役立ちます。タグの機能はJavaクラスで記述されており、JSP内で他のタグと同じように使用できます。
これらはスタンドアロンクラスではないため、JUnitを使用して直接テストすることはできません。つまり、タグクラスは、JSPがサーブレットに変換されたときにのみ呼び出されます。詳しくは こちらをチェック 。
組み込みコードタグのサンプルは次のとおりです。
TagUnitが提供するのは、結果を表示するための画面です。まず、タグに関連するハンドラーとゲッターセッターメソッドがあるかどうかを確認します。以下は、TagUnitテストケースのサンプルです。
1234
#6)タジット JavaScript、JQuery、およびJSPカスタムタグをテストするためのもう1つの便利なツールです。
詳しくは こちらをチェック 。
#7)サボテン Jakartaプロジェクトのサーブレット、EJB、JSPタグをテストするための別のユニットテストフレームワークでした。廃止され、サポートされなくなりました。
#8)Selenium WebDriver は、Webアプリケーション用のオープンソースのテストツールです。 WebDriverは、Webでのユーザーアクションをシミュレートし、Mozilla Firefox、Internet Explorer、Safari、Chromeなどのさまざまなブラウザーで使用できます。 こちらをチェック 公式サイトへのリンク。
また読む => WebDriverの詳細については、 このリンク内の記事を参照してください 。
#9)JSPUnit ユニットテストJSP用のJUnitの拡張です。
詳しくは こちらをチェック 。
#10)HTMLUnit はオープンソースライブラリであり、ヘッドレスブラウザです。 HTMLUnitはブラウザの動作をエミュレートするため、統合テストに広く使用されています。 JSPはWebコンテナ内で実行するように設計されており、Webサーバーの実行時にサーブレットに変換されますが、コンテナがなくてもHTMLUnitを使用してビューパーツをテストできます。
テストのために、JSPは最初にJasperを使用して手動でサーブレットクラスに変換されます。コンテナが実行されていない状態で、要求と応答の動作をシミュレートする必要があります。これは、JSPWriter、PageContext、HTTPServletRequest、およびHTTPServletResponseのモックオブジェクトを作成することによって行われます。詳しくは こちらをチェック 。
JSF(JAVA Server Faces –ビューコンポーネント)
JSFは、UI(ユーザーインターフェイス)開発用のWebベースのフレームワークです。 UIは、標準の再利用可能なコンポーネントのセットから簡単に作成できます。 Strutsと同様に、JSFもMVCベースのフレームワークであり、サーブレット、XML、Bean、およびJSFタグが含まれています。
推奨読書= >> JSFインタビューの質問と回答
#11)JSFUnit JBossコミュニティからは、ユニットテストと統合テストの両方に強力なツールです。これは、ビューコンポーネントとサーバー側コンポーネントの両方のテストに役立ちます。ユーザー画面ナビゲーションのテストとは別に、JSFUnitを使用して、フレームワークのBeanおよびサーブレットコンポーネントをテストすることもできます。
詳しくは こちらをチェック 。
#12)HTMLUnit 上記のように、ビュー部分がJSFフレームワークを使用した開発であるアプリケーションの統合テストにも広く使用されています。詳しくは こちらをチェック 。
JUnitは、JSFフレームワークのJavaクラスをテストするためにも使用できます。などのツール FacesTester JSFベースのアプリケーションのコンテナ外ユニットテストに使用できます。 Java ServerFacesの実装を維持するApacheMyfacesは、JSFのテストフレームワークも提供します。
XML(Extensible Markup Language)
#13)XMLUnit はJUnitの拡張であり、XML構造の検証と、実際のXMLと予想されるXMLの間のコンテンツの比較を実行します。詳しくは こちらをチェック 。
サーブレット、Bean、JAVAクラス
(コントローラーおよびビジネスロジック用のJAVAクラス)
#14)サーブレット Webサーバーまたはアプリケーションサーバーで実行され、ビュー(JSP / JSF)コンポーネントからの要求と応答を処理するために使用されるJavaクラスです。 Beanは、複数のJavaオブジェクトを1つにカプセル化するJavaクラスであり、Beanは他のクラスまたはコンポーネントに渡されます。
アプリケーションで使用される他のいくつかのJavaクラスがあります。データベースに接続するものもあれば、ビジネスロジックを含むものもあります。
EclipseでJavaファイルを作成する方法
#15)JUnit は、Javaクラスのユニットテストに使用される最も一般的なフレームワークの1つです。
JUnitの詳細については、を参照してください。 ここに私たちの記事 。
#16)アルキリア星人 は、Javaミドルウェアの統合および機能テストのための非常に強力なツールです。これは、ビルドツールMavenで、JUnitやTestNGなどのユニットテストフレームワークの上で最も頻繁に使用されます。テスターをモックオブジェクトの作成から解放します。 Arquillianは、JSF、EJB、サーブレット、およびその他のJavaクラスをテストするために使用できます。
詳しくは こちらをチェック 。
#17)ServletUnit は、要求オブジェクトと応答オブジェクトを作成してサーブレットをテストするためのフレームワークです。サーブレットに単純なコードのみが含まれている場合は、JUnitを使用して単体テストを実行できます。複雑なアプリケーションの場合、シミュレートされたサーブレットコンテナでテストを実行する必要がある場合は、ServletUnitを使用できます。
詳しくは こちらをチェック 。
#18)モックオブジェクト 主にユニットテストに使用されます。これらは、アプリケーション内のオブジェクト間の相互作用をテストするのに役立ちます。アプリケーションにテストしたいオブジェクトがあり、それらのオブジェクトが他のオブジェクトに依存している場合は、実際のオブジェクトを実行して作成する代わりに、依存関係をモックすることができます。
これにより、各オブジェクトを詳細かつ個別にテストできます。人気のあるモックフレームワークには、Mockito、JMock、JMockit、EasyMock、PowerMockなどがあります。
EJB(エンタープライズJAVA Bean)
EJBは、通常ビジネスロジックを含むアプリケーションのJavaコンポーネントです。 EJBベースのプロジェクトの場合、JUnitEEを使用できますが、JUnitが依然として一般的な選択肢です。
バブルソートコードc ++
#19)JUnitEE はJUnitの拡張であり、プロジェクトと同じアプリケーションサーバーで直接実行されます。 JUnitEEは、通常のJUnitテストケースを呼び出す3つのサーブレットを提供します。
スイング
Swingは、豊富なグラフィカルユーザーインターフェイスを作成するためのJavaのライブラリのセットです。 UISpec4J、Abbot、Fest、およびQF-Test Swingベースのアプリケーションに使用できる最も人気のあるユニットテストフレームワークのいくつかです。
推奨読書= >> JavaSwingチュートリアル
Java機能テストツール
#20)HTTPUnit はJUnitに基づく機能テストフレームワークですが、ユニットテストにも使用できます。いくつか例を挙げると、フォーム送信、ページリダイレクト、JS検証、Cookie管理などのブラウザーの動作をエミュレートします。 HTTPUnitは、ブラウザのGETおよびPOSTリクエストをシミュレートします。
詳しくは こちらをチェック 。
#21)JWebUnit は、機能、回帰、統合テストに適したJavaベースのフレームワークです。 SeleniumやHTMLUnitなどの既存のフレームワークをラップして、テストケースを作成するためのシンプルなインターフェイスを提供します。 JWebUnitは、画面ナビゲーションテストの実行に使用できます。
詳しくは こちらをチェック 。
#22)TestNG は、ユニット、統合、機能テストのための強力なJavaベースのテストフレームワークです。これはJUnitに基づいています。 TestNGは、JUnitの強力なツールであり、強力な競争相手です。
詳しくは こちらをチェック 。
#23)Selenium Webdriver 上記のように、もう1つの人気のある機能および統合テストツールです。
#24)WATIR(RubyでのWebアプリケーションテスト) Rubyで開発された強力なWebアプリケーションテストツールです。ブラウザのテストを実行する関数はRubyで記述されているため、テスターはRuby言語の知識を持っている必要があります。
最も重要な2つのプロジェクトは、Watir-classicとWater-Webdriverです。 Watir-classicは、ブラウザをシミュレートするだけの他のツールとは異なり、Webブラウザを自動的に駆動できます。 Watir Webdriverは、SeleniumWebdriverから派生したラッパーです。
詳しくは こちらをチェック 。
#25) TimeShiftX は、機能的なタイムシフトテストのためにアプリケーションを未来または過去にタイムトラベルできるようにするテスト自動化ソフトウェアです。これにより、Javaコードの変更、サーバーの操作、またはドメインの変更なしで、インスタントタイムトラベルが可能になります。
カスタムJavaアプリケーションまたは任意の3つを安全にタイムトラベルrdWebSphereやJBossなどのパーティJavaベースのソフトウェア。
詳しくは こちらをチェック 。
JAVAパフォーマンスおよび負荷テストツール
#26)Apache JMeter は、負荷およびパフォーマンステスト用のオープンソースツールです。 Webサイトのパフォーマンスをテストする必要がある場合、JMeterはいくつかの要求を送信し、すべての応答を収集してから、統計計算を実行して最終結果をグラフで表示します。詳しくはこちらをご覧ください こちらをチェック 。
のような他のいくつかの良いツールがあります HP LoadRunner 、 XXXV 、 NetBeansプロファイル 、 GCビューア 、 Pattyオープンソースプロジェクト などと このページにリストしたツール JAVAベースのWebアプリケーションに使用できます。
結論
この記事では、利用可能な最も人気のあるJ2EEコンポーネントごとのテストツールのいくつかを確認しました。 J2EEアプリケーションのテストでは、これらのツールは、アプリケーションに含まれるコンポーネントに基づいて相互に使用できます。
JAVAベースのアプリケーションの自動化テストのためのお気に入りのツールを教えてください。
推奨読書