Cover Image

HCL OneTest: セカンダリリクエストジェネレータを用いた静的リソースに関するアプリケーションの動作の効果的なシミュレート

2022/3/2 - 読み終える時間: 2 分

Use a Secondary Request Generator to Effectively Simulate Application Behaviour regarding Static Resources の翻訳版です。

HCL OneTest: セカンダリリクエストジェネレータを用いた静的リソースに関するアプリケーションの動作の効果的なシミュレート

2022年3月1日

著者: Arun Kutty / Lead Software Engineer - L3 support, HCL OneTest Products

概要

ウェブページを提供する際、ブラウザーのクライアントは通常、提供されるコンテンツに基づく一連の静的リソースをアプリケーションからダウンロードする。例えば、eコマースサイトで商品のページに移動すると、その商品の画像が複数表示される。静的リソースの数がページによって異なる場合、ページナビゲーションを指示するテストデータがパラメータ化されると、二次リクエストの正確な数を定義することが困難になる可能性があります。HCL OneTest Performance のセカンダリー・リクエスト・ジェネレーター機能を使用して、これをどのように簡略化できるかを見てみましょう。


二次要求の数が異なる場合

あるショッピングサイトを閲覧しているところを想像してください。ホームページから、特定の商品カテゴリー、例えば、書籍に移動します。このセクションで、興味のあるタイトル、例えば「Test Automation」を検索すると、それにマッチした書籍のリストが表示されます。リストアップされた書籍の中から、気になるものをクリックします。すると、その書籍の専用ページが表示されます。このページには、画像、コンテンツサンプル、購入者のレビュー、FAQなど、あなたの興味を引くような詳細な情報が掲載されており、あなたの意思決定を助けることを意図しています。

今度は別の帽子をかぶってみてください。このショッピングサイトの下にあるウェブアプリケーションに携わるパフォーマンスエンジニアの帽子です。品質保証チームがこのアプリケーションをロードテストする場合、すべての仮想ユーザーが同じカテゴリー「本」をナビゲートし、同じ検索条件を設定するスクリプトがあったとして、あなたはそれを受け入れられるでしょうか?「テストオートメーション "を選択し、同じ検索結果を選択するようなスクリプトがあったとして、受け入れられるでしょうか?広範な負荷テストを達成するためには、ブラウジングパターンに適度な多様性が必要です。したがって、テストスクリプトをさまざまなデータで駆動し、アプリケーションのすべての部分を網羅的にテストすることが必要です。ありがたいことに、パフォーマンステスターはこのステップの重要性をよく理解しており、HCL OneTest Performanceのような製品は、このタスクを簡単にします。(余談ですが、HCL OneTestのポートフォリオには豊富なデータ作成能力もあります)。

二次資産に対する要求の中には、テストデータが変化しても変わらないものがある一方、そうでないものもあります。ショッピングサイトの例で説明しましょう。本のタイトルをテストデータに置き換えても、スタイルシートやスクリプトに関する二次的なリクエストの量に変化はありませんし、おそらくレビューを取得するリクエストにも変化はないでしょう。他の二次リクエストの場合はそうではないかもしれません。ダウンロードが必要な商品画像のリクエストは、選択した書籍によって異なるかもしれません。確かに、相関処理によって、リクエストデータをサーバーが以前に提供したコンテンツに関連付けることは、テストスクリプトの不可欠な部分です。しかし、再生時にリクエストの総数そのものを変化させるには、単純な相関関係だけでは不十分で、何らかの反復ロジックが必要になる。このような状況では、レスポンスの解析やループの制御にループやカスタムコードを使いたくなるのが自然だろう。幸いなことに、HCL OneTest Performanceをテストに使用すれば、この問題は優れた解決策になります。


HCL OneTest Performance のセカンダリ・リクエスト・ジェネレータによる救済

HCL OneTest Performanceは、プルダウンする必要がある必要な数の資産に割り当てられたセカンダリー・リクエストを設定する作業を容易にする、すぐに使えるソリューションを提供します。このソリューションには、3つの個別ステップがあります。最初のステップは、セカンダリーリクエストを駆動するためのすべての参照を含むレスポンスを特定し、そこに配列参照を作成することです。そのような二次リクエストでは、リクエストの置換可能な部分は通常、URI自体にあることに注意すること。さらに、この部分は一般的に画像ファイルの名前です (myBook-image1.JPG のようなもの)。URI断片を置換するための参照値を見つけるには、断片の正確な値でテスト検索(Ctrl + H)を実行します。検索結果から、サーバーがこの値を返した場所を特定します。多くの場合、これはHTMLコンテンツを含むレスポンスで、IMGまたはAタグのHREFプロパティに含まれていることが一般的です。配列参照を作成する際には、通常の参照を作成するのとは少し異なることに注意してください。

配列の参照が作成された後、第2の部分である置換が始まります。通常、単純な置換であれば、リクエストの中から動的な部分を選んで置換すればよいでしょう。しかし、この場合、あなたが目指しているのは単純な置換ではありません。リクエストの数自体が動的である必要があり、配列の参照が指すセカンダリアセットの数によって駆動されることを思い出してください。したがって、何か別のことをする必要があります。それでは、詳しく見ていきましょう。

記録されたテストスクリプトの中で、表示中のアイテムに関連すると思われるリクエストのセットを特定することから、プロセスを開始します。ショッピングサイトの例では、本の画像をサーバーからクライアントにプルダウンするリクエストのセットになります。セット内の1つの要求を別にし、残りの要求を無効化または削除して、要求を取り除きます。無効化されていないリクエストを右クリックし、コンテキストメニューから「セカンダリHTTPリクエストジェネレータの作成」を選択します。これでリクエストは特別なものに変換されます。それが "HTTP セカンダリリクエストジェネレータ" です。

さて、いよいよ最終段階です。リクエストの URI (まれに他のフィールド) を、先ほど作成した配列の参照に置き換えることで、やろうとしたことが完成します。すべてを結びつけるには、HTTPセカンダリリクエストジェネレーターの詳細な設定を行う必要があります。(各プロパティに関する追加情報、およびプロセスをガイドするスクリーンショットについては、HCL OneTest Performance 製品のナレッジセンターを参照してください: https://help.hcltechsw.com/onetest/hclonetestperformance/10.2.2/com.ibm.rational.test.lt.http.doc/topics/t_create_sec_req.html?hl=secondary%2Crequest%2Cgenerator)


まとめ

HCL OneTest Performanceを使ったパフォーマンステストは、精度が命です。HTTPセカンダリリクエストジェネレータは、重要な機能の1つですが、あまり活用されておらず、負荷テストにおいてセカンダリリクエストによる再生の動作を正確にするものです。このブログ記事では、HTTPセカンダリリクエストジェネレータがどのような場合に便利で、どのように使用するのかを学びました。

このブログについて

HCL Japan の Software 部門の複数担当者で HCL Software 全般について記しています。

Tags

Academy Accelerate Accelerator Ambassador AoC AppDev Pack AppScan ASoC beta BigFix BigFix 9.5 BigFix_Wiki BigFix Workspace branding CAA Client Applicatin Access cloud Cloud Apps Cloud Native Commerce Common Local License Server community companion Compass compliance Connections Connections 6.5 ConnectionsDocs Connnections CVE-2021-44228 developerWorks DevOpes Velocity DevOps DevOps Code ClearCase DevOps Code RealTime DevOps Deploy DevOps.Launch.AppScan DevOps Model RealTim DevOps Plan DevOps Test DevOps Velocity Digital Experience document Doino Volt Domino Domino AppDev Pacl Domino Leap Domino Volt Domino管理者アップデート認定試験対策 DQL DRYiCE dW dx Enterprise Integrator event fix fix_list fixlist forum General guide HCAA HCL Ambassador HCL Ambassadors HCL Domino REST API HCL OneTest Embedded HCL Z and I Emulator HCL Z and I Emulator for Transformation HCLSoftware U hints_and_tips history HTMO IBM_i ID_Vault iNotes ios ios13 ipad iPhone IZSAM KEEP Launch Launch.DevOps Leap Link logo MarvelClient mobile mui nds2019 ndv12beta News Noets/Domino Nomad Nomad Mobile Nomad Web Notes Notes/Domino Notes/Domino 10 Notes/Domino 11 notes-domino-9-10-limited-supportability-as-of-202204 Notes/Domino V12 Notes/Domion Notes/Domno notescons Now on_premises OneDB OneTest OnTime osaka press_release relay REST RTist SafeLinx Sametime Sametime 11 SoFy support survey system_requirement techtek Traveler Traveler 10 Traveler for Microsoft Outlook traveler.zip Unica Unica Discover Unica Interact UrbanCode Deploy UrbanCode Velocity v11 V12 Verse Verse Mobile Verse On-Premises VersionVault Volt Volt MX Volt MX Go Volt MX サンプルアプリ Webinar win7 Wordload Automation Workload Automation youtube Z Z Abend Investigator Z and I Emulator Z and I Emulator for Transformation Z and I Emulator for Web Z and I Emulator for Web Client Z Asset Optimizer Z Data Tools Z Software Asset Manager ZAI ZAO ZIE ZIE for Transformation ZIE for Web ZIE for Windows ZIET ZIETrans ZIEWeb うるう年 イベント ウェビナー ガイド クラウド クラウド終了 サイジング サポート サポート技術情報 サポート期間 サポート終了 セキュリティ セキュリティー セキュリティー脆弱性 セミナー ダイバーシティー ダウンロード テクてく テクてく Lotus 技術者夜会 ニュース ノーツコンソーシアム バージョンアップ パフォーマンス パートナー ベータ ポートフォリオ ライセンス 九州地区 Notes パートナー会 互換性 出荷日 各種ご案内資料 研修