how perform automation testing java j2ee applications
一般に、J2EEアプリケーションは非常に大きく、フロントエンド画面からバックエンドデータベースまでのいくつかのコンポーネントが含まれています。時間と労力が節約されるため、このような大規模なアプリケーションでは、手動テストよりも自動テストの方が適しています。自動テストは通常、ツールとフレームワークの助けを借りて行われます。
J2EEアプリケーションには、いくつかのコンポーネントが含まれています。このJavaアプリケーションテストシリーズのパート1を参照してください。 Javaアプリケーションの概要 ' 詳細については。
概要として: JSP ビューコンポーネントまたは画面です。 JSF ビューコンポーネントフレームワークです。画面の検証にはJavaScriptが使用されます。サーブレット、フレームワーク、EJB、Bean、およびその他のJavaクラスは、ビジネスロジックの記述に使用されます。
自動テストは、Javaコンポーネントごとに1つのツールまたはツールの組み合わせを使用して実行できます。アプリケーションのテストは完全に自動化されていない場合があることに注意してください。自動化の決定は、アプリケーションのサイズと複雑さ、および開発者、テスター、アーキテクトの好みによって異なります。テストを念頭に置いて、アプリケーションを作成するときは、チームのプロセスがスムーズになり、顧客の高い期待に応える高品質の最終製品が作成されます。
Eclipseにsvnプラグインをインストールする方法
学習内容:
自動テストプロセスの段階:
ために 効果的な自動テスト 、アプリケーションを開発する前に、テストアプローチを詳細に検討する必要があります。 2つの別々のプロセスがあります:
- 自動テストツールを念頭に置いたアプリケーション開発
- それ自体をテストする段階。
以下のフローチャートは、自動化テストを使用した開発プロセスを示しています。
以下の段階では、自動化テストプロセスについて説明します :
#1) 分析を行う 手動テストと自動化テストのどちらを実行するかを決定する 。また、アプリケーションのテストのどの部分を自動化する必要があり、どの部分を手動にする必要があるかを分析します。
#二) 自動化テストの範囲または要件が決まったら、実現可能性分析を行います。
#3) 適切なツールを決定して選択します。 J2EEアプリケーションに関連するコンポーネントがわかり、アプリケーションの複雑さが理解されると、必要に応じて1つ以上のツールをテスト用に選択できます。
例、などの完全にJSPベースのアプリケーション画面ナビゲーションツールの場合 Selenium Webdriver 十分かもしれません。 JSFベースのUIアプリケーションの場合、JUnitおよび画面ナビゲーションテストツールに加えて、テストにJSF固有のツールが必要になる場合があることに注意してください。
#4) テストのいくつの段階を実行する必要があるかを分析して決定します。ユニット、統合、機能/システム、および回帰を実行する場合は、各段階に適切なツールを選択します。
#5) アプリケーションの設計に対するテストツールの影響を分析します。テストを自動化する場合は、ツールを念頭に置いてアプリケーションを開発することが重要です。
aiソフトウェアはaiソフトウェアの作り方を学ぶ
#6) パイロットまたはモデルアプリケーションを開発し、ツールを実行して、分析フェーズで推定された値がツールに追加されることを確認します。このステップが計画どおりに進んだ場合、ツールはアプリケーション用に完成させることができます。
# 7) アプリケーションをテストする準備ができたら、テストスクリプトを作成し、ツールを実行します。
ツールの選択
適切な自動化テストツールの選択 J2EEアプリケーションの場合、アプリケーションのタイプと使用するテクノロジーに大きく依存します。これとは別に、他にもいくつかあります ツールの選択に影響を与える要因:
1)アプリケーションの種類– J2EEアプリケーションには、さまざまなバリエーションがあります。 Struts、Spring、Hibernateなどのフレームワークで開発されたものもあれば、サーバーサイドテクノロジー(JSP、サーブレット)のみを使用したものもありますが、ビューコンポーネント、コントローラー、ビジネスロジック、データベースなどのエンドツーエンドで構築されたアプリケーションもあります。
使用するテクノロジーに応じて、1つまたは複数のツールを選択できます。利用可能なJ2EEコンポーネントごとのツールについては、このシリーズの次の記事を参照してください。
2)アプリケーションの複雑さ– アプリケーションが複雑で、多数のユーザーに経済的な影響がある場合は、適切なツールを使用して詳細なレベルでテストを行う必要があります。
少数のユーザーのみでレポートやデータを表示するなど、アプリケーションが単純な場合は、単純なオープンソースツールを使用してテストを実行できます。
3)テストの種類– 単体テストツールは統合テストではうまく機能しない可能性があり、その逆も同様です。例えば、JUnitは単体テストで人気のあるツールですが、統合テストにはTestNGが使用されます。
4)テストの予算– 人気のあるツールの多くはオープンソースであるため、ほとんどのプロジェクトに適合します。テクノロジー固有のツールの場合、チームはツールのコストが許容できるかどうかを確認する必要がある場合があります。
5)テストの時間枠– ほとんどのアプリケーション開発と同様に、締め切りは厳しいです。一部のツールは、学習、環境のセットアップ、およびテストケースの作成に他のツールよりも時間がかかる場合があります。
6)環境サポート– アプリケーションが実行される環境に基づいて、J2EEテストツールを選択することが重要です。たとえば、Windowsでのみ実行されるものもあれば、言語ベースのものもあります。
7)テスターの知識– テスターは、特定のツールに精通しており、経験がある場合があります。プロジェクトの要件とテスターの知識が一致する場合は、そのツールを選択してトレーニングの時間を節約できます。
8)他のテストフレームワークとの互換性– 大規模なJ2EEアプリケーションでは、JSP、サーブレット、JavaScript、JSP、EJB、データベースなどの複数のコンポーネントが使用されている場合、1つのツールがすべてに機能するとは限りません。
したがって、選択したテストフレームワークは、他のフレームワークに対応できる必要があります。
9)テスト結果と統計の表示– ほとんどのプロジェクトでは、テストの可読性が重要な基準を形成する可能性があります。したがって、テストの実行結果を、欠陥リストや理由などを含む適切な画面形式で表示することが重要になる場合があります。
J2EEアプリケーションの自動テストの利点
- J2EEアプリケーションは通常大規模です。アプリケーション全体を手動でテストすると、非常に時間がかかり、エラーが発生しやすくなる場合があります。
- いくつかのJ2EE自動テストツールには、基本的な機能テスト機能が付属しています。これらは、コンポーネントを念頭に置いて開発および設計されています。これにより、テスターの生活がはるかに楽になります。たとえば、JSFテストツールJSFUnitには、フレームワークのクラスをテストするためのプロビジョニングがあります。
- 自動テストの効率は高いです。手動テストでは、正確さはテスターのスキルに依存します。
- 繰り返し変更が発生し、同じコードのテストを数回実行する必要があるプロジェクトでは、自動テストが有益であることがわかります。
- 自動テストは、テストケースの実行のより大きなセットをカバーします。このタイプのテストは人間に依存しないため、実行速度が速く、より大きなセットを短時間でカバーできます。
- テスターによる介入は必要ないため、ほとんどの場合、テスト結果は手動テストよりも正確です。テストプロセスも一貫しています。
結論:
大規模なJ2EEアプリケーションには、自動テストが推奨されます。アプリケーションのテストは完全に自動化されていない場合があります。手動テストと自動テストは密接に関連しています。ツールの最初の学習とセットアップには時間がかかる場合がありますが、プロセスが確立されると、テストはより効率的になります。
の中に 次の記事 、人気のあるJ2EEコンポーネントごとのテストツールとフレームワークの包括的なリストが表示されます。
自動化テストの経験とクエリをお知らせください。
推奨読書
- Androidアプリケーションをテストするための11の最高の自動化ツール(Androidアプリテストツール)
- 最高のソフトウェアテストツール2021 (QAテスト自動化ツール)
- 自動化テストに最適な25のJavaテストフレームワークとツール(パート3)
- 手動パフォーマンステストを実行する方法は?
- PrimereBookダウンロードのテスト
- JMeterを使用したデータベーステスト
- アプリケーションのインストールとAppiumテスト用の準備
- テスターは自動化のためにテストを超えてグリップを失っていますか?