JP5181503B2 - Scenario creation program and scenario creation device - Google Patents

Scenario creation program and scenario creation device Download PDF

Info

Publication number
JP5181503B2
JP5181503B2 JP2007070743A JP2007070743A JP5181503B2 JP 5181503 B2 JP5181503 B2 JP 5181503B2 JP 2007070743 A JP2007070743 A JP 2007070743A JP 2007070743 A JP2007070743 A JP 2007070743A JP 5181503 B2 JP5181503 B2 JP 5181503B2
Authority
JP
Japan
Prior art keywords
parameter
request
record
scenario
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007070743A
Other languages
Japanese (ja)
Other versions
JP2008234151A (en
Inventor
恒 小峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007070743A priority Critical patent/JP5181503B2/en
Publication of JP2008234151A publication Critical patent/JP2008234151A/en
Application granted granted Critical
Publication of JP5181503B2 publication Critical patent/JP5181503B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、負荷シミュレータが使用するシナリオを作成するためのシナリオ作成プログラム及びシナリオ作成装置に、関する。   The present invention relates to a scenario creation program and a scenario creation device for creating a scenario used by a load simulator.

周知のように、ウェブ負荷試験装置は、試験対象となるウェブサーバ装置にアクセス負荷を掛けてそのウェブサーバ装置の状態を観察するため、負荷シミュレータ,及び、ビューワを、含んでいる。このうち、負荷シミュレータは、仮想的にウェブクライアントとして機能するスレッドを複数生成し、それら複数の仮想ウェブクライアントに対し、試験対象となるウェブサーバ装置内のウェブページデータをリクエストする順番を定義したシナリオを与えて、そのシナリオ通りにリクエストメッセージの送信とレスポンスメッセージの受信とを行わせる機能である。負荷シミュレータは、各仮想ウェブクライアントがそのウェブサーバ装置から受けたレスポンスメッセージそのものを保存したりレスポンスのログを録ったりする。ビューワは、ウェブ負荷試験で仮想ウェブクライアントが取得したレスポンスメッセージ内のウェブページデータに基づいてウェブページを表示したり、レスポンスのログ情報を一覧表示したりするための機能である。   As is well known, the web load test apparatus includes a load simulator and a viewer in order to apply an access load to the web server apparatus to be tested and observe the state of the web server apparatus. Among these, the load simulator generates a plurality of threads that virtually function as web clients, and a scenario that defines the order in which the web page data in the web server device to be tested is requested to the virtual web clients. This is a function for sending a request message and receiving a response message according to the scenario. The load simulator stores the response message itself received from the web server device by each virtual web client and records a response log. The viewer is a function for displaying a web page based on the web page data in the response message acquired by the virtual web client in the web load test and displaying a list of response log information.

前述したシナリオは、ウェブ負荷試験を行う前に試験対象のウェブサーバ装置に実際にアクセスして幾つかのウェブページを順に表示させたときのリクエスト履歴に基づいて作成されるものであり、具体的には、幾つかのリクエストメッセージからなるとともに、それらの送信順を定義したデータである。そして、このシナリオを構成する各リクエストメッセージの中には、ゲットメソッド又はポストメソッドによりウェブサーバ装置に引き渡すべき引数を含むものもある。   The scenario described above is created based on the request history when the web server device under test is actually accessed and several web pages are displayed in order before the web load test. Is data that consists of several request messages and defines their transmission order. Some request messages constituting this scenario include an argument to be delivered to the web server device by a get method or a post method.

しかしながら、それら引数は、シナリオを作成する際に適正なものであって、ウェブサーバ装置にアクセス負荷を掛ける際に適正なものとならない場合がある。例えば、仮想ウェブクライアントは、ウェブ負荷試験中にウェブサーバ装置からレスポンスメッセージを介してセッションID[Identification]を取得した場合、本来ならば、その次のリクエストメッセージにそのセッションIDを含んでウェブサーバ装置に送信せねばならない。しかし、ウェブ負荷試験では、仮想ウェブクライアントは、シナリオデータに従って、シナリオ作成当時のセッションIDを含むリクエストメッセージをそのままウェブサーバ装置に送信するようになっている。このため、ウェブサーバ装置は、そのリクエストメッセージに含まれるセッションIDに基づいてセッションエラーを検出し、その結果、ウェブ負荷試験が継続されくなってしまう。   However, these arguments are appropriate when creating a scenario, and may not be appropriate when an access load is applied to the web server device. For example, when a virtual web client acquires a session ID [Identification] from a web server device via a response message during a web load test, the web server device originally includes the session ID in the next request message. Must be sent to However, in the web load test, the virtual web client transmits a request message including the session ID at the time of scenario creation to the web server device as it is according to the scenario data. For this reason, the web server device detects a session error based on the session ID included in the request message, and as a result, the web load test is not continued.

なお、特許文献1には、シナリオ中で変化させるべきパラメータを入力パラメータとして事前に複数用意しておく技術は、記載されている。しかし、この技術では、ウェブサーバ装置へアクセスするごとに値が異なるセッションIDのようなパラメータについて、応用することができない。   Note that Patent Document 1 describes a technique in which a plurality of parameters to be changed in a scenario are prepared in advance as input parameters. However, this technique cannot be applied to a parameter such as a session ID that has a different value each time the web server device is accessed.

特開2005−250945号公報JP-A-2005-250945

本発明は、前述したような従来の事情に鑑みてなされたものであり、その課題は、ウェブ負荷試験で負荷シミュレータにより生成される仮想ウェブクライアントがリクエストメッセージの送信とレスポンスメッセージの受信とを適切に行えるシナリオを作成できるようにすることにある。   The present invention has been made in view of the above-described conventional circumstances, and the problem is that a virtual web client generated by a load simulator in a web load test appropriately transmits a request message and receives a response message. It is to be able to create a scenario that can be performed.

上記の課題を解決するための案出されたシナリオ作成プログラムは、試験対象のウェブサーバ装置にアクセス負荷を掛ける複数の仮想ウェブクライアントに対して与えられるシナリオを作成するためのシナリオ作成プログラムであって、コンピュータを、入力装置を通じて操作者から所定の指示を受け付けるたびに、その指示に基づくリクエストメッセージのウェブサーバ装置への送信とそのウェブサーバ装置からのレスポンスメッセージの受信とを実行するとともに、それらリクエストメッセージとレスポンスメッセージとを対応付けたレコードを、各レコードを一意に特定するための識別情報を付加して、リクエスト順に、記憶装置内のシナリオテーブルに記憶する第1の記憶手段、シナリオテーブル内のレコードのうち、リクエストメッセージ内にリクエストパラメータを含んでいる各レコードについて、そのレコードより順番が前のレコードの中から、そのリクエストパラメータと同じ内容のレスポンスパラメータをレスポンスメッセージに含むレコードを検索する検索手段、及び、シナリオテーブル内のレコードのうち、リクエストメッセージ内にリクエストパラメータを含んでいる各レコードについて、そのレコードより順番が前のレコードを検索手段が検出した場合に、双方のレコードの識別情報を対応付けて、記憶装置内の対応テーブルに記憶する第2の記憶手段として機能させることを、特徴としている。   A scenario creation program devised to solve the above problems is a scenario creation program for creating a scenario given to a plurality of virtual web clients that impose an access load on a web server device to be tested. Each time the computer receives a predetermined instruction from the operator through the input device, the request message is transmitted to the web server device based on the instruction and the response message is received from the web server device, and the request is sent. A first storage means for storing a record in which a message and a response message are associated with identification information for uniquely identifying each record, and storing the record in the scenario table in the storage device in order of request; Of the records, the request For each record that includes request parameters in the sage, search means for searching for records including response parameters having the same contents as the request parameters from the records in order before the records, and scenario table For each record that includes the request parameter in the request message among the records in the list, when the search means detects a record that is in the order before that record, the identification information of both records is associated with the storage device It is characterized by functioning as second storage means for storing in the correspondence table.

このように構成されると、コンピュータは、操作者から所定の指示を受け付けるたびに、リクエストメッセージの送信とレスポンスメッセージの受信とを実行するとともに、リクエストメッセージとレスポンスメッセージとを対応付けてシナリオテーブルに登録するよう、動作する。そして、両メッセージの組み合わせがシナリオテーブルに幾つか登録された後、コンピュータは、シナリオテーブル内のレコードのうち、リクエストパラメータを含んでいるレコードについて、そのレコードより順番が前のレコードの中からそのリクエストパラメータと同じ内容のレスポンスパラメータを含むレコードを検索し、レコードが検出できた場合に、双方のレコードの識別情報を対応付けたレコードを対応テーブルに記憶するよう、動作する。   With this configuration, each time a predetermined instruction is received from the operator, the computer executes transmission of a request message and reception of a response message, and associates the request message with the response message in the scenario table. Operates to register. After several combinations of both messages are registered in the scenario table, the computer requests the request from the records in the order earlier than the record for the record containing the request parameter among the records in the scenario table. When a record including a response parameter having the same content as the parameter is searched and the record is detected, the record in which the identification information of both records is associated is stored in the correspondence table.

以上のような動作により作成されたシナリオテーブルと対応テーブルとによれば、仮想ウェブクライアントは、シナリオテーブル内のリクエストメッセージを試験対象のウェブサーバ装置に送信する前において、そのリクエストメッセージ内にリクエストパラメータが含まれていたときには、対応テーブルに基づいて、そのリクエストパラメータを、負荷試験中に取得したレスポンスパラメータに置換することができる。すなわち、シナリオ内で一意の値であるべきパラメータを洗い出し、一意なまま変更することができる。   According to the scenario table and the correspondence table created by the above operation, the virtual web client sends a request parameter in the request message before sending the request message in the scenario table to the web server device to be tested. Is included, the request parameter can be replaced with the response parameter acquired during the load test based on the correspondence table. That is, parameters that should be unique values in the scenario can be identified and changed while being unique.

また、上記の課題を解決するための案出されたシナリオ作成装置は、試験対象のウェブサーバ装置にアクセス負荷を掛ける複数の仮想ウェブクライアントに対して与えられるシナリオを作成するためのシナリオ作成装置であって、入力装置を通じて操作者から所定の指示を受け付けるたびに、その指示に基づくリクエストメッセージのウェブサーバ装置への送信とそのウェブサーバ装置からのレスポンスメッセージの受信とを実行するとともに、それらリクエストメッセージとレスポンスメッセージとを対応付けたレコードを、各レコードを一意に特定するための識別情報を付加して、リクエスト順に、記憶装置内のシナリオテーブルに記憶する第1の記憶部、シナリオテーブル内のレコードのうち、リクエストメッセージ内にリクエストパラメータを含んでいる各レコードについて、そのレコードより順番が前のレコードの中から、そのリクエストパラメータと同じ内容のレスポンスパラメータをレスポンスメッセージに含むレコードを検索する検索部、及び、シナリオテーブル内のレコードのうち、リクエストメッセージ内にリクエストパラメータを含んでいる各レコードについて、そのレコードより順番が前のレコードを検索部が検出した場合に、双方のレコードの識別情報を対応付けて、記憶装置内の対応テーブルに記憶する第2の記憶部を備えることを、特徴としている。   A scenario creation device devised to solve the above problem is a scenario creation device for creating a scenario given to a plurality of virtual web clients that impose an access load on a web server device to be tested. Each time a predetermined instruction is received from the operator through the input device, a request message based on the instruction is transmitted to the web server device and a response message is received from the web server device, and the request message is transmitted. A first storage unit that stores identification information for uniquely identifying each record in a scenario table in the storage device in order of request, and records in the scenario table Request packet in the request message. For each record that includes a meter, a search part that searches for a record that contains a response parameter that contains the same response parameter as the request parameter from among the records that preceded that record, and records in the scenario table Among these, for each record that includes the request parameter in the request message, when the search unit detects a record that is earlier than the record, the correspondence table in the storage device is associated with the identification information of both records. It is characterized by having a second storage unit that stores the information in the memory.

従って、このシナリオ作成装置は、前述した本発明のシナリオ作成プログラムが動作したコンピュータと同等に機能することとなる。   Therefore, this scenario creation device functions in the same manner as a computer on which the above-described scenario creation program of the present invention operates.

以上に説明したように、本発明によれば、ウェブ負荷試験で負荷シミュレータにより生成される仮想ウェブクライアントがリクエストメッセージの送信とレスポンスメッセージの受信とを適切に行えるシナリオが、作成できるようになる。   As described above, according to the present invention, it is possible to create a scenario in which a virtual web client generated by a load simulator in a web load test can appropriately transmit a request message and receive a response message.

以下、添付図面を参照しながら、本発明を実施するための一つの形態について、説明する。   Hereinafter, one embodiment for carrying out the present invention will be described with reference to the accompanying drawings.

図1は、本実施形態のコンピュータネットワークシステムの構成図である。   FIG. 1 is a configuration diagram of a computer network system according to the present embodiment.

図1に示すように、本実施形態のコンピュータネットワークシステムは、ウェブ負荷試験の対象となるウェブサーバ装置10と、そのウェブ負荷試験のためにそのウェブサーバ装置10にアクセス負荷を掛けるウェブ負荷試験装置20とからなる。両装置10、20は、互いに通信自在となるよう、ネットワークNを介して接続されている。   As shown in FIG. 1, the computer network system according to the present embodiment includes a web server device 10 to be subjected to a web load test, and a web load test device that applies an access load to the web server device 10 for the web load test. 20 Both devices 10 and 20 are connected via a network N so that they can communicate with each other.

ウェブサーバ装置10は、周知のウェブサーバ機能が付加された汎用コンピュータである。従って、このウェブサーバ装置10は、ストレージユニット10a、CPU[Central Processing Unit]10b、メモリユニット10c、及び、通信アダプタ10d等のハードウエアを、内蔵している。このうち、ストレージユニット10aは、各種のプログラム及び各種のデータを記憶するユニットである。CPU10bは、ストレージユニット内のプログラムに従って処理を行うユニットである。メモリユニット10cは、ストレージユニットから読み出されたプログラムがキャッシュされたりCPU10bの作業領域が展開されたりするユニットである。通信アダプタ10dは、ネットワークN上の他のコンピュータとの間でデータの遣り取りをするためのユニットである。   The web server device 10 is a general-purpose computer to which a known web server function is added. Accordingly, the web server device 10 includes hardware such as a storage unit 10a, a CPU (Central Processing Unit) 10b, a memory unit 10c, and a communication adapter 10d. Among these, the storage unit 10a is a unit that stores various programs and various data. The CPU 10b is a unit that performs processing according to a program in the storage unit. The memory unit 10c is a unit in which a program read from the storage unit is cached or a work area of the CPU 10b is expanded. The communication adapter 10d is a unit for exchanging data with other computers on the network N.

そして、ウェブサーバ装置10のストレージユニット10aは、基本ソフトウエア11、ウェブページデータ12、及び、ウェブサーバプログラム13を、記憶している。基本ソフトウエア11は、通信アダプタ10dにおけるデータの入出力の管理や、ストレージユニット10a及びメモリユニット10cの記憶領域の管理といった基本的な機能を多くのアプリケーションソフトウエアに提供するためのソフトウエアである。ウェブページデータ12は、ウェブページを表示するためのデータであり、HTML[HyperText Markup Language]データや、画像データである。このウェブページデータ12の中には、別のウェブページへ飛ぶためのリンクを表示する情報を内部に含んでいるウェブページデータ12が含まれていても良い。ウェブサーバプログラム13は、図示せぬウェブクライアント装置からの要求に応じてウェブページデータ12を送信するためのプログラムである。具体的には、このウェブサーバプログラム13(に従ったCPU10b)は、通信アダプタ10dを通じて図示せぬウェブクライアント装置から要求を受けると、要求されたウェブページデータ12をストレージユニット10aから読み出し、通信アダプタ10dを通じて要求元のウェブクライアント装置へ送信する。   The storage unit 10a of the web server device 10 stores basic software 11, web page data 12, and a web server program 13. The basic software 11 is software for providing many application software with basic functions such as data input / output management in the communication adapter 10d and storage area management of the storage unit 10a and the memory unit 10c. . The web page data 12 is data for displaying a web page, and is HTML [HyperText Markup Language] data or image data. The web page data 12 may include web page data 12 that includes therein information for displaying a link for jumping to another web page. The web server program 13 is a program for transmitting web page data 12 in response to a request from a web client device (not shown). Specifically, when the web server program 13 (the CPU 10b according to the web server program 13) receives a request from a web client device (not shown) through the communication adapter 10d, the web server program 13 reads the requested web page data 12 from the storage unit 10a. 10d is sent to the requesting web client device.

ウェブ負荷試験装置20は、ウェブ負荷試験ツールが付加されたパーソナルコンピュータである。従って、このウェブ負荷試験装置20は、液晶ディスプレイ等の表示装置20aと、キーボードやマウス等の入力装置20bと、これら装置20a,20bに接続される本体とからなる。また、その本体は、ストレージユニット20c、CPU20d、メモリユニット20e、及び、通信アダプタ20f等のハードウエアを、内蔵している。   The web load test apparatus 20 is a personal computer to which a web load test tool is added. Accordingly, the web load test apparatus 20 includes a display device 20a such as a liquid crystal display, an input device 20b such as a keyboard and a mouse, and a main body connected to these devices 20a and 20b. Further, the main body incorporates hardware such as a storage unit 20c, a CPU 20d, a memory unit 20e, and a communication adapter 20f.

そして、ウェブ負荷試験装置20のストレージユニット20cは、基本ソフトウエア21、ウェブブラウザ22,及び、ウェブ負荷試験ツールソフトウエア23を記憶している。基本ソフトウエア21は、ウェブサーバ装置10の基本ソフトウエア11と同等の機能を発揮するソフトウエアである。ウェブブラウザ22は、操作者からの指示に従ってウェブサーバ装置10からウェブページデータ12を取得してウェブページを表示するためのプログラムである。より具体的には、ウェブブラウザ22(に従ったCPU20d)は、ウェブページ内のリンクボタンのクリックやウェブブラウザ画面へのURL[Uniform Resource Locator]の入力などの操作者からの指示、又は、ウェブページデータ12内に記述されたイメージタグやフレームタグなどによるウェブページデータ12の取得の指示があると、その指示においてURLで指定されたウェブページデータ12の送信を要求するリクエストメッセージをウェブサーバ装置10へ送信し、そのウェブサーバ装置10からレスポンスメッセージを受信して、そのレスポンスメッセージのボディ内のウェブページデータ12に基づいて、ウェブページを表示装置20aに表示する。   The storage unit 20 c of the web load test apparatus 20 stores basic software 21, a web browser 22, and web load test tool software 23. The basic software 21 is software that exhibits the same functions as the basic software 11 of the web server device 10. The web browser 22 is a program for acquiring the web page data 12 from the web server device 10 according to an instruction from the operator and displaying the web page. More specifically, the web browser 22 (the CPU 20d according to the web browser) instructs the operator to click a link button in the web page, input a URL [Uniform Resource Locator] to the web browser screen, or the web browser 22 When there is an instruction to acquire the web page data 12 using an image tag or a frame tag described in the page data 12, a web server device sends a request message for requesting transmission of the web page data 12 specified by the URL in the instruction. 10, the response message is received from the web server device 10, and the web page is displayed on the display device 20a based on the web page data 12 in the body of the response message.

ウェブ負荷試験ツールソフトウエア23は、パーソナルコンピュータをウェブ負荷試験装置として機能させるためのプログラム及びデータである。このウェブ負荷試験ツールソフトウエア23は、シナリオ作成モジュール23a及び負荷シミュレータ23bを、含んでいる。   The web load test tool software 23 is a program and data for causing a personal computer to function as a web load test apparatus. The web load test tool software 23 includes a scenario creation module 23a and a load simulator 23b.

シナリオ作成モジュール23aは、ウェブ負荷試験のために負荷シミュレータ23bが生成する仮想ウェブクライアントに対して与えられるシナリオを作成するためのモジュールプログラムである。シナリオは、詳しくは後述するが、簡単に説明すると、仮想ウェブクライアントが試験対象となるウェブサーバ装置10内のウェブページデータ12をリクエストする順番を定義したものである。このシナリオ作成モジュール23aに従ってCPU20dが実行する処理の内容については、図2乃至図6を用いて後述する。   The scenario creation module 23a is a module program for creating a scenario given to the virtual web client generated by the load simulator 23b for the web load test. Although the scenario will be described in detail later, the scenario defines the order in which the virtual web client requests the web page data 12 in the web server device 10 to be tested. The contents of the processing executed by the CPU 20d according to the scenario creation module 23a will be described later with reference to FIGS.

負荷シミュレータ23bは、試験対象となるウェブサーバ装置10にアクセス負荷を掛けるためのモジュールプログラムである。より具体的には、負荷シミュレータ23b(に従ったCPU20d)は、仮想的にウェブクライアントとして機能するスレッドを複数生成し、それら複数の仮想ウェブクライアントそれぞれにシナリオを与えることによって、それら仮想ウェブクライアントに対し、そのシナリオ通りにリクエストメッセージの送信とレスポンスメッセージの受信とを行わせる。また、負荷シミュレータ23bは、各仮想ウェブクライアントがそのウェブサーバ装置から受信したレスポンスメッセージそのものを保存したり、レスポンスのログを録ったりする。なお、仮想ウェブクライアントが実行する処理の内容については、図7乃至図9を用いて後述する。   The load simulator 23b is a module program for applying an access load to the web server device 10 to be tested. More specifically, the load simulator 23b (according to the CPU 20d) generates a plurality of threads that virtually function as web clients and gives a scenario to each of the plurality of virtual web clients. On the other hand, the request message is transmitted and the response message is received according to the scenario. In addition, the load simulator 23b stores the response message itself received from each web server device by each virtual web client, or records a response log. The contents of processing executed by the virtual web client will be described later with reference to FIGS.

以上のように構成されるコンピュータネットワークシステムにおいて、ウェブ負荷試験装置20のCPU20dは、ウェブ負荷試験を行おうとする操作者によって入力装置20bが操作されることにより、シナリオ作成モジュール23aの起動が指示されると、シナリオ作成モジュール23aをストレージユニット20cから読み出し、シナリオ作成モジュール23aの動作を開始させる。   In the computer network system configured as described above, the CPU 20d of the web load test apparatus 20 is instructed to start the scenario creation module 23a when the input device 20b is operated by an operator who wants to perform the web load test. Then, the scenario creation module 23a is read from the storage unit 20c, and the operation of the scenario creation module 23a is started.

図2は、シナリオ作成モジュール23aによる処理の流れを示す図である。   FIG. 2 is a diagram showing the flow of processing by the scenario creation module 23a.

シナリオ作成処理の開始後、最初のステップS101では、シナリオ作成モジュール23a(を実行したCPU20d)は、作業画面をウインドウ内に表示する。この作業画面は、シナリオ作成に関する操作を行うための画面であり、図示していないが、幾つかのボタンを含んでいる。この作業画面に含まれるボタンには、ウェブブラウザ22を利用したウェブサーバ装置10へのアクセスを開始する前にクリックすべき開始ボタンと、そのアクセスを終了した後でクリックすべき保存ボタンとが、含まれている。   In the first step S101 after the scenario creation process is started, the scenario creation module 23a (which executed the CPU 20d) displays a work screen in the window. This work screen is a screen for performing operations related to scenario creation, and includes several buttons (not shown). The buttons included in the work screen include a start button that should be clicked before starting access to the web server device 10 using the web browser 22 and a save button that should be clicked after the access is terminated. include.

次のステップS102では、シナリオ作成モジュール23aは、ステップS101で表示した図示せぬ作業画面内の開始ボタンのクリックによる作成開始指示があるまで、待機する。そして、作成開始指示があると、シナリオ作成モジュール23aは、ステップS103へ処理を進める。   In the next step S102, the scenario creation module 23a stands by until a creation start instruction is issued by clicking a start button in a work screen (not shown) displayed in step S101. Then, when there is a creation start instruction, the scenario creation module 23a advances the process to step S103.

ステップS103では、シナリオ作成モジュール23aは、作業画面とは別のウインドウに、ウェブブラウザ22を起動する。このように別ウインドウで起動したウェブブラウザ22により、作業者は、作業画面を意識することなく、ウェブサーバ装置10が提供するウェブページをサーフィン(閲覧)することができる。ここで、ウェブブラウザ22は、図示せぬウェブブラウザ画面のURL入力欄にURLが入力されたり、ウェブページ上のリンクボタンがクリックされたり、ウェブページデータ12内に記述されたフレームタグやイメージタグによりウェブページデータ12の取得が指示されたりすることにより、リクエストメッセージをウェブサーバ装置10に送信する。なお、ウェブブラウザ22は、ウェブサーバ装置10にリクエストメッセージを送信する前に、リクエストヘッダの内容の一部をシナリオ作成モジュール23aに通知するようになっている。また、ウェブブラウザ22は、ウェブサーバ装置10からレスポンスメッセージを受信した後で、そのレスポンスメッセージをシナリオ作成モジュール23aに引き渡すようになっている。シナリオ作成モジュール23aは、ウェブブラウザ22の起動後、ステップS104へ処理を進める。   In step S103, the scenario creation module 23a activates the web browser 22 in a window different from the work screen. Thus, the web browser 22 activated in a separate window allows the worker to surf (browse) the web page provided by the web server device 10 without being aware of the work screen. Here, the web browser 22 inputs a URL in a URL input field on a web browser screen (not shown), clicks a link button on the web page, or displays a frame tag or image tag described in the web page data 12. The request message is transmitted to the web server device 10 when the acquisition of the web page data 12 is instructed. Note that the web browser 22 notifies a part of the content of the request header to the scenario creation module 23a before transmitting a request message to the web server device 10. Further, after receiving the response message from the web server device 10, the web browser 22 delivers the response message to the scenario creation module 23a. The scenario creation module 23a proceeds to step S104 after the web browser 22 is activated.

ステップS104では、シナリオ作成モジュール23aは、リクエストヘッダとレスポンスメッセージとを対応付けるためのワークテーブルを、メモリユニット20e上に生成する。   In step S104, the scenario creation module 23a generates a work table for associating the request header with the response message on the memory unit 20e.

図3は、ワークテーブル31のデータ構造の一例を示す図である。     FIG. 3 is a diagram illustrating an example of the data structure of the work table 31.

図3に示すように、ワークテーブル31は、図示せぬ作業画面内の開始ボタンがクリックされてから終了ボタンがクリックされるまでにウェブブラウザ22がウェブサーバ装置10にアクセスした回数と同数のレコードを、有している。各レコードは、「ID」、「リクエスヘッダ」及び「レスポンスメッセージ」の各フィールドを、有している。「ID」フィールドは、そのアクセス一意に特定するための識別情報であるIDが記録されるフィールドである。なお、本実施形態では、この識別情報は、アクセスの順番を特定する自然数の番号となっている。「リクエストヘッダ」フィールドは、そのアクセスでウェブブラウザ22がウェブサーバ装置10に送信したリクエストメッセージのリクエストヘッダが記録されるフィールドである。「レスポンスメッセージ」フィールドは、そのアクセスでウェブブラウザ22がウェブサーバ装置10から受信したレスポンスメッセージが記録されるフィールドである。   As shown in FIG. 3, the work table 31 has the same number of records as the number of times the web browser 22 has accessed the web server device 10 after the start button in the work screen (not shown) is clicked and the end button is clicked. have. Each record has fields of “ID”, “request header”, and “response message”. The “ID” field is a field in which an ID, which is identification information for uniquely identifying the access, is recorded. In the present embodiment, this identification information is a natural number that specifies the access order. The “request header” field is a field in which a request header of a request message transmitted from the web browser 22 to the web server device 10 by the access is recorded. The “response message” field is a field in which a response message received from the web server device 10 by the web browser 22 by the access is recorded.

シナリオ作成モジュール23aは、図3に示すようなワークテーブル31を作成した後、図2のステップS105へ処理を進める。但し、この時点では、このワークテーブル31にはレコードが1つも記録されていない。すなわち、ステップS104では、新規のワークテーブル31が生成される。   The scenario creation module 23a creates the work table 31 as shown in FIG. 3, and then proceeds to step S105 in FIG. However, at this time, no record is recorded in the work table 31. That is, in step S104, a new work table 31 is generated.

ステップS105では、シナリオ作成モジュール23aは、ステップS101で表示された図示せぬ作業画面内の保存ボタンのクリックによる保存指示があったか否かを、判別する。そして、保存指示がなかった場合、シナリオ作成モジュール23aは、ステップS104からステップS106へ処理を分岐させる。   In step S105, the scenario creation module 23a determines whether or not there has been a save instruction by clicking a save button in a work screen (not shown) displayed in step S101. If there is no save instruction, the scenario creation module 23a branches the process from step S104 to step S106.

ステップS106では、シナリオ作成モジュール23aは、ウェブブラウザ22(を実行したCPU20d)からリクエスト実行通知があったか否かを、判別する。なお、このリクエスト実行通知は、前述したように、ウェブブラウザ22がリクエストメッセージの送信前に送信してくる通知である。そして、ウェブブラウザ22からリクエスト実行通知がなかった場合、シナリオ作成モジュール23aは、ステップS106から処理を分岐して、ステップS105へ処理を戻す。   In step S106, the scenario creation module 23a determines whether or not there is a request execution notification from the web browser 22 (the CPU 20d that executed it). Note that this request execution notification is a notification that the web browser 22 transmits before transmitting the request message, as described above. If there is no request execution notification from the web browser 22, the scenario creation module 23a branches the process from step S106 and returns the process to step S105.

そして、ステップS105及びS106の処理ループの実行中、ウェブブラウザ22からリクエスト実行通知があった場合、シナリオ作成モジュール23aは、ステップS106からステップS107へ処理を進める。   If a request execution notification is received from the web browser 22 during the execution of the processing loop of steps S105 and S106, the scenario creation module 23a advances the process from step S106 to step S107.

ステップS107では、シナリオ作成モジュール23aは、図3のワークテーブル31で使われていない新規IDを、発行する。   In step S107, the scenario creation module 23a issues a new ID that is not used in the work table 31 of FIG.

次のステップS108では、シナリオ作成モジュール23aは、ウェブブラウザ22からリクエスト実行通知とともに受け取ったリクエストヘッダを、ステップS107で発行された新規IDとともに、図3のワークテーブル31に登録する。   In the next step S108, the scenario creation module 23a registers the request header received together with the request execution notification from the web browser 22 in the work table 31 of FIG. 3 together with the new ID issued in step S107.

次のステップS109では、シナリオ作成モジュール23aは、ウェブブラウザ22からレスポンス受領通知があるまで、待機する。なお、このレスポンス受領通知は、前述したように、ウェブブラウザ22がレスポンスメッセージの受信後に送信してくる通知である。そして、ウェブブラウザ22からレスポンス受領通知があると、シナリオ作成モジュール23aは、ステップS110へ処理を進める。   In the next step S109, the scenario creation module 23a stands by until a response reception notification is received from the web browser 22. Note that this response reception notification is a notification transmitted by the web browser 22 after receiving the response message, as described above. Then, when there is a response receipt notification from the web browser 22, the scenario creation module 23a advances the process to step S110.

ステップS110では、シナリオ作成モジュール23aは、ウェブブラウザ22からレスポンス受領通知とともに受け取ったレスポンスメッセージを、図3のワークテーブル31に登録する。なお、ステップS108で登録された新規ID及びリクエストヘッダと、このステップS110で登録されたレスポンスメッセージは、図3のワークテーブル31内でレコードを構成する。シナリオ作成モジュール23aは、レスポンスメッセージの登録後、ステップS105へ処理を戻す。   In step S110, the scenario creation module 23a registers the response message received together with the response receipt notification from the web browser 22 in the work table 31 of FIG. The new ID and request header registered in step S108 and the response message registered in step S110 constitute a record in the work table 31 of FIG. The scenario creation module 23a returns the process to step S105 after registering the response message.

また、ステップS105及びS106の処理ループの実行中、図示せぬ作業画面内の保存ボタンのクリックによる保存指示があった場合、シナリオ作成モジュール23aは、ステップS105からステップS111へ処理を進める。   Further, during the execution of the processing loop of steps S105 and S106, when there is a save instruction by clicking a save button in a work screen (not shown), the scenario creation module 23a advances the process from step S105 to step S111.

ステップS111では、シナリオ作成モジュール23aは、図3のワークテーブル31を、シナリオテーブルとして、ストレージユニット20cに保存する。   In step S111, the scenario creation module 23a stores the work table 31 of FIG. 3 in the storage unit 20c as a scenario table.

なお、ステップS101乃至S111を実行するシナリオ作成モジュール23a(CPU20d)は、前述した第1の記憶手段に相当している。   The scenario creation module 23a (CPU 20d) that executes steps S101 to S111 corresponds to the first storage unit described above.

次のステップS112では、シナリオ作成モジュール23aは、パラメータ対応付けサブルーチンを実行する。   In the next step S112, the scenario creation module 23a executes a parameter association subroutine.

図4及び図5は、パラメータ対応付けサブルーチンの流れを示す図である。   4 and 5 show the flow of the parameter association subroutine.

パラメータ対応付けサブルーチンの開始後、最初のステップS201では、シナリオ作成モジュール23aは、リクエストパラメータとレスポンスパラメータとを対応付けるためのワークテーブルを、メモリユニット20e上に生成する。   In the first step S201 after the parameter association subroutine is started, the scenario creation module 23a generates a work table for associating the request parameter with the response parameter on the memory unit 20e.

図6は、ワークテーブル32のデータ構造の一例を示す図である。   FIG. 6 is a diagram illustrating an example of the data structure of the work table 32.

図6に示すように、ワークテーブル32の各レコードは、「ID」、「種別」、「パラメータ名」及び「媒介変数名」の各フィールドを、有している。「ID」フィールドは、図3のシナリオテーブル31におけるレスポンスパラメータ又はリクエストパラメータの所属元のレコードの識別情報が記録されるフィールドである。「種別」フィールドは、パラメータがレスポンスパラメータであるかリクエストパラメータであるかを特定する種別情報が記録されるフィールドである。なお、図6では、種別情報には、「格納」と「適用」の二種類が存在している。「格納」が、パラメータがレスポンスパラメータであることを示し、「適用」が、パラメータがリクエストパラメータであることを示している。「パラメータ名」フィールドは、そのパラメータのパラメータ名が記録されるフィールドである。「媒介変数名」フィールドは、リクエストパラメータのパラメータ値を一時的に代入するために使用される媒介変数の名称が記録されるフィールドである。この媒介変数は、より具体的には、仮想ウェブクライアントがウェブ負荷試験中にシナリオ内のリクエストメッセージ内のリクエストパラメータのパラメータ値を、ウェブサーバ装置10から取得したレスポンスパラメータのパラメータ値に置換するときに、そのレスポンスパラメータのパラメータ値を一時的に代入するために使用される。ここで、レスポンスパラメータ内のパラメータ値を媒介変数に代入することは、「格納」と称され、シナリオのリクエストパラメータのパラメータ値を媒介変数の代入値で置換することは、「適用」と称される。前述した種別情報のうち、「格納」は、そのパラメータがパラメータ値を媒介変数に代入するのに必要なパラメータということを意味し、その結果として、パラメータがレスポンスパラメータであることを示すものとなっている。同様に、種別情報の「適用」は、そのパラメータがパラメータ値を媒介変数の代入値で置換すべきパラメータということを意味し、その結果として、パラメータがリクエストパラメータであることを示すものとなっている。なお、本実施形態では、媒介変数の名称は、パラメータ名に「m_」という文字列を付加したものとなっている。   As shown in FIG. 6, each record in the work table 32 has fields of “ID”, “type”, “parameter name”, and “parameter variable name”. The “ID” field is a field in which the identification information of the record to which the response parameter or request parameter belongs in the scenario table 31 of FIG. 3 is recorded. The “type” field is a field in which type information for specifying whether the parameter is a response parameter or a request parameter is recorded. In FIG. 6, there are two types of type information, “store” and “apply”. “Store” indicates that the parameter is a response parameter, and “Apply” indicates that the parameter is a request parameter. The “parameter name” field is a field in which the parameter name of the parameter is recorded. The “parameter variable name” field is a field in which the name of a parameter used for temporarily substituting the parameter value of the request parameter is recorded. More specifically, this parametric variable is used when the virtual web client replaces the parameter value of the request parameter in the request message in the scenario during the web load test with the parameter value of the response parameter acquired from the web server device 10. Is used to temporarily substitute the parameter value of the response parameter. Here, substituting the parameter value in the response parameter into the parameter is referred to as “storage”, and substituting the parameter value of the request parameter in the scenario with the parameter value is referred to as “apply”. The In the type information described above, “stored” means that the parameter is a parameter necessary for assigning the parameter value to the parameter, and as a result, indicates that the parameter is a response parameter. ing. Similarly, “apply” of the type information means that the parameter is a parameter whose parameter value should be replaced with the substitution value of the parameter, and as a result, indicates that the parameter is a request parameter. Yes. In the present embodiment, the name of the parametric variable is obtained by adding the character string “m_” to the parameter name.

シナリオ作成モジュール23aは、図6に示すようなワークテーブル32を作成した後、図4の第1の処理ループL1を実行する。但し、この時点では、このワークテーブル32にはレコードが1つも記録されていない。すなわち、ステップS201では、新規のワークテーブル32が生成される。   The scenario creation module 23a executes the first processing loop L1 in FIG. 4 after creating the work table 32 as shown in FIG. However, at this time, no record is recorded in the work table 32. That is, in step S201, a new work table 32 is generated.

第1の処理ループL1では、シナリオ作成モジュール23aは、ステップS111で生成したシナリオテーブル31の全てのレコードについて、ウェブブラウザ22のアクセス順に、一つずつ、ステップS202とステップS203と第2の処理ループL2とからなる処理を、実行する。   In the first processing loop L1, the scenario creation module 23a performs step S202, step S203, and the second processing loop one by one in the access order of the web browser 22 for all the records in the scenario table 31 generated in step S111. The process consisting of L2 is executed.

ステップS202では、シナリオ作成モジュール23aは、処理対象レコードの「リクエストヘッダ」フィールドの値(リクエストヘッダ)内から、リクエストパラメータ(パラメータ名と「=」とパラメータ値の組み)を、検索する。   In step S202, the scenario creation module 23a searches for a request parameter (a combination of a parameter name, “=”, and a parameter value) from the value (request header) of the “request header” field of the processing target record.

次のステップS203では、シナリオ作成モジュール23aは、ステップS202の検索の結果、リクエストパラメータが検出できたか否かを、判別する。そして、リクエストパラメータが検出できなかった場合、シナリオ作成モジュール23aは、ステップS203から処理を分岐させ、第1の処理ループL1におけるこの処理対象レコードに対する処理を終了する。一方、リクエストパラメータが検出できた場合、シナリオ作成モジュール23aは、第2の処理ループL2を実行する。   In the next step S203, the scenario creation module 23a determines whether the request parameter has been detected as a result of the search in step S202. If the request parameter cannot be detected, the scenario creation module 23a branches the process from step S203, and ends the process for this process target record in the first process loop L1. On the other hand, when the request parameter can be detected, the scenario creation module 23a executes the second processing loop L2.

第2の処理ループL2では、シナリオ作成モジュール23aは、ステップS202の検索により検出された幾つかのリクエストパラメータについて、一つずつ、ステップS204乃至S209と第3の処理ループL3とからなる処理を、実行する。   In the second processing loop L2, the scenario creation module 23a performs the processing consisting of steps S204 to S209 and the third processing loop L3 one by one for several request parameters detected by the search in step S202. Run.

ステップS204では、シナリオ作成モジュール23aは、処理対象レコードの「ID」フィールドの値(ID)を、処理対象レコードより順番が前のレコードのIDを記憶しておくために利用する変数Pに、代入する。その後、シナリオ作成モジュール23aは、ステップS205へ処理を進める。   In step S204, the scenario creation module 23a assigns the value (ID) of the “ID” field of the processing target record to a variable P used to store the ID of the record in the order before the processing target record. To do. Thereafter, the scenario creation module 23a advances the process to step S205.

ステップS205では、シナリオ作成モジュール23aは、変数Pの代入値を1つ減らして更新する処理を行う。すなわち、処理対象レコードを一つずつ前の順番のレコードに遡って処理を行うことになる。   In step S205, the scenario creation module 23a performs a process of updating the variable P by subtracting one substitution value. That is, the processing target records are processed one by one from the previous record.

次のステップS206では、シナリオ作成モジュール23aは、変数Pの代入値がゼロであるか否かを、判別する。そして、変数Pの代入値がゼロでなかった場合、CPU20dは、ステップS206からステップS207へ処理を分岐させる。   In the next step S206, the scenario creation module 23a determines whether or not the substitution value of the variable P is zero. If the assigned value of the variable P is not zero, the CPU 20d branches the process from step S206 to step S207.

ステップS207では、シナリオ作成モジュール23aは、図3のシナリオテーブル31から、変数Pの代入値と同じ値(ID)を「ID」フィールドに持つレコードを、読み出す。   In step S207, the scenario creation module 23a reads a record having the same value (ID) as the substitution value of the variable P in the “ID” field from the scenario table 31 of FIG.

次のステップS208では、シナリオ作成モジュール23aは、ステップS207で読み出したレコードの「レスポンスメッセージ」フィールドの値(レスポンスメッセージ)の中から、レスポンスパラメータ(パラメータ名とパラメータ値の組み)を、検索する。   In the next step S208, the scenario creation module 23a searches for a response parameter (a combination of parameter name and parameter value) from the value (response message) in the “response message” field of the record read in step S207.

次のステップS209では、シナリオ作成モジュール23aは、ステップS208の検索の結果、レスポンスパラメータが検出できたか否かを、判別する。そして、レスポンスパラメータが検出できなかった場合、シナリオ作成モジュール23aは、ステップS209から処理を分岐させ、第2の処理ループL2におけるこの処理対象リクエストパラメータに対する処理を終了する。一方、レスポンスパラメータが検出できた場合、シナリオ作成モジュール23aは、第3の処理ループL3を実行する。   In the next step S209, the scenario creation module 23a determines whether or not a response parameter has been detected as a result of the search in step S208. If the response parameter cannot be detected, the scenario creation module 23a branches the process from step S209, and ends the process for the process target request parameter in the second process loop L2. On the other hand, when the response parameter can be detected, the scenario creation module 23a executes the third processing loop L3.

第3の処理ループL3では、シナリオ作成モジュール23aは、ステップS208の検索により検出された幾つかのレスポンスパラメータについて、一つずつ、ステップS210乃至S213からなる処理を、実行する。   In the third processing loop L3, the scenario creation module 23a executes the processing consisting of steps S210 to S213 one by one for several response parameters detected by the search in step S208.

ステップS210では、シナリオ作成モジュール23aは、第2の処理ループL2の処理対象リクエストパラメータと第3の処理ループL3の処理対象レスポンスパラメータとを、比較する。   In step S210, the scenario creation module 23a compares the processing target request parameter of the second processing loop L2 with the processing target response parameter of the third processing loop L3.

なお、ステップS202乃至S210を実行するシナリオ作成モジュール23a(CPU20d)は、前述した検索手段に相当している。   The scenario creation module 23a (CPU 20d) that executes steps S202 to S210 corresponds to the above-described search means.

次のステップS211では、シナリオ作成モジュール23aは、処理対象リクエストパラメータと処理対象レスポンスパラメータとが一致しているか否かを、判別する。そして、両パラメータが一致していなかった場合、シナリオ作成モジュール23aは、ステップS211から処理を分岐し、第3の処理ループL3におけるこの処理対象レスポンスパラメータに対する処理を終了する。一方、両パラメータが一致していた場合、シナリオ作成モジュール23aは、ステップS212へ処理を進める。   In the next step S211, the scenario creation module 23a determines whether or not the processing target request parameter matches the processing target response parameter. If the two parameters do not match, the scenario creation module 23a branches the process from step S211 and ends the process for this process target response parameter in the third process loop L3. On the other hand, if both parameters match, the scenario creation module 23a advances the process to step S212.

ステップS212では、シナリオ作成モジュール23aは、変数Pの代入値(すなわち、処理対象レスポンスパラメータの所属元のレコードのID)と、処理対象レスポンスパラメータに対応する種別情報(格納)と、処理対象レスポンスパラメータ内のパラメータ名と、そのパラメータ名に対応する媒介変数名とからなる新規レコードを、図6のワークテーブル32に登録する。これにより、ワークテーブル32は、リクエストパラメータ内に出現するパラメータ名の値を、該リクエストよりも前にレスポンスパラメータとして受信したパラメータの値と紐付けることになる。すなわち、複数のリクエストパラメータ及び複数のレスポンスパラメータから構成されるひとつのシナリオ内で、一貫して同一であるべきパラメータの値として、いずれのレコードに示される値を用いるべきかが、ワークテーブル32で示されることになる。   In step S212, the scenario creation module 23a, the substitution value of the variable P (that is, the ID of the record from which the processing target response parameter belongs), the type information (storage) corresponding to the processing target response parameter, and the processing target response parameter Is registered in the work table 32 of FIG. 6. As a result, the work table 32 associates the value of the parameter name appearing in the request parameter with the value of the parameter received as the response parameter before the request. In other words, the work table 32 determines which record value should be used as the value of the parameter that should be consistently the same in one scenario composed of a plurality of request parameters and a plurality of response parameters. Will be shown.

次のステップS213では、シナリオ作成モジュール23aは、第1の処理ループL1の処理対象レコード(処理対象リクエストパラメータの所属元)の「ID」フィールドの値(ID)と、処理対象リクエストパラメータに対応する種別情報(適用)と、処理対象リクエストパラメータ内のパラメータ名と、そのパラメータ名に対応する媒介変数名とからなる新規レコードを、図6のワークテーブル32に登録する。   In the next step S213, the scenario creation module 23a corresponds to the value (ID) of the “ID” field of the processing target record (the processing source request parameter affiliation source) of the first processing loop L1 and the processing target request parameter. A new record including type information (application), a parameter name in the processing target request parameter, and a parameter name corresponding to the parameter name is registered in the work table 32 of FIG.

なお、図6のワークテーブル32には、ステップS212及びS213を経ることにより、同じパラメータ名を持つ一対(種別情報が「格納」である1つのレコードと、種別情報が「適用」である1つまたは複数のレコードからなる組)のレコードが登録されることとなる。そして、この一対のレコードが同一のパラメータ名を持つことにより、この一対のレコードに含まれるIDにて特定されるレスポンスパラメータとリクエストパラメータとが、互いに対応付けられることとなる。   The work table 32 shown in FIG. 6 includes a pair having the same parameter name (one record whose type information is “stored” and one whose type information is “applied” through steps S212 and S213. Or a set of records) is registered. Since the pair of records have the same parameter name, the response parameter and the request parameter specified by the ID included in the pair of records are associated with each other.

シナリオ作成モジュール23aは、処理対象レスポンスパラメータ及び処理対象リクエストパラメータに係る登録を終えると、第3の処理ループL3におけるこの処理対象レスポンスパラメータに対する処理を終了する。   When the scenario creation module 23a finishes registration related to the processing target response parameter and the processing target request parameter, the scenario creation module 23a ends the processing for the processing target response parameter in the third processing loop L3.

なお、これらステップS211乃至S213を実行するシナリオ作成モジュール23a(CPU20d)は、前述した第2の記憶手段に相当している。   The scenario creation module 23a (CPU 20d) that executes these steps S211 to S213 corresponds to the second storage unit described above.

シナリオ作成モジュール23aは、ステップS208の検索により検出された全てのレスポンスパラメータについて、ステップS210乃至S213からなる処理を、実行し終えると、第3の処理ループL3から離脱し、ステップS205へ処理を戻す。   When the scenario creation module 23a finishes executing the process consisting of steps S210 to S213 for all response parameters detected by the search in step S208, the scenario creation module 23a leaves the third process loop L3 and returns the process to step S205. .

そして、ステップS205乃至S209と第3の処理ループL3とからなる処理ループの実行中、変数Pの代入値がゼロになった場合、シナリオ作成モジュール23aは、第2の処理ループL2におけるこの処理対象リクエストパラメータに対する処理を終了する。   Then, when the substitution value of the variable P becomes zero during execution of the processing loop consisting of steps S205 to S209 and the third processing loop L3, the scenario creation module 23a performs this processing target in the second processing loop L2. Ends processing for the request parameter.

シナリオ作成モジュール23aは、ステップS202の検索により検出された全てのリクエストパラメータについて、ステップS204乃至S209と第3の処理ループL3とからなる処理を、実行し終えると、第2の処理ループL2から離脱し、第1の処理ループL1におけるこの処理対象レコードに対する処理を終了する。   The scenario creation module 23a leaves the second processing loop L2 after executing the processing including steps S204 to S209 and the third processing loop L3 for all the request parameters detected by the search in step S202. Then, the processing for this processing target record in the first processing loop L1 is terminated.

シナリオ作成モジュール23aは、ステップS108で生成したシナリオテーブル31の全てのレコードについて、ステップS202とステップS203と第2の処理ループL2とからなる処理を、実行し終えると、第1の処理ループL1から離脱し、ステップS214へ処理を進める。   When the scenario creation module 23a finishes executing the process consisting of step S202, step S203, and the second process loop L2 for all the records of the scenario table 31 generated in step S108, the scenario creation module 23a starts from the first process loop L1. Detach and proceed to step S214.

ステップS214では、シナリオ作成モジュール23aは、ステップS212及びS213でパラメータに係る情報が登録されたワークテーブル32を、パラメータ対応テーブルとしてストレージユニット20cに保存する。このとき、パラメータ対応テーブル32は、ステップS108で生成されたシナリオテーブル31に関連付けられるようになっている。その後、シナリオ作成モジュール23aは、図4及び図5に係るパラメータ対応付けサブルーチンを終了し、更に、図2に係るシナリオ作成処理も終了する。   In step S214, the scenario creation module 23a stores the work table 32, in which the information related to the parameters is registered in steps S212 and S213, in the storage unit 20c as a parameter correspondence table. At this time, the parameter correspondence table 32 is associated with the scenario table 31 generated in step S108. Thereafter, the scenario creation module 23a ends the parameter association subroutine according to FIGS. 4 and 5, and also ends the scenario creation process according to FIG.

このようにCPU20dにより実行されるシナリオ作成モジュール23aによると、操作者は、図示せぬ作業画面上の開始ボタンをクリックして、ウェブブラウザ画面上でウェブページをサーフィンして、図示せぬ作業画面上の保存ボタンをクリックすれば、シナリオテーブル31とパラメータ対応テーブル32とを作成することができる。   Thus, according to the scenario creation module 23a executed by the CPU 20d, the operator clicks the start button on the work screen (not shown), surfs the web page on the web browser screen, and displays the work screen (not shown). If the upper save button is clicked, the scenario table 31 and the parameter correspondence table 32 can be created.

また、ウェブ負荷試験装置20のCPU20dは、作成したシナリオテーブル31とパラメータ対応テーブル32とを用いたウェブ負荷試験を行おうとする操作者によって入力装置20bが操作されることにより、負荷シミュレータ23bの起動が指示されると、負荷シミュレータ23bをストレージユニット20cから読み出し、負荷シミュレータ23bの動作を開始させる。   Further, the CPU 20d of the web load test apparatus 20 activates the load simulator 23b by operating the input device 20b by an operator who wants to perform a web load test using the created scenario table 31 and parameter correspondence table 32. Is read from the storage unit 20c, and the operation of the load simulator 23b is started.

負荷シミュレータ23b(に従ったCPU20d)は、まず、操作者から、入力装置20bを通じて、ウェブ負荷試験に用いるシナリオテーブル31を指定する情報を、受け付け、そのシナリオテーブル31とそれに関連するパラメータ対応テーブル32とをストレージユニット20cから読み出す。続いて、負荷シミュレータ23bは、仮想的にウェブクライアントとして機能するスレッドを、メモリユニット20e上に複数生成し、それら複数の仮想ウェブクライアントに対し、読み出したシナリオテーブル31及びパラメータ対応テーブル32を引き渡す。仮想ウェブクライアントのそれぞれは、これらのテーブル31、32を受けて、指定された同一のシナリオに従ってウェブサーバ装置10へのアクセスを開始する。また、仮想ウェブクライアントのそれぞれは、それぞれがウェブサーバ装置10からレスポンスとして受信したパラメータの値を用いて、該シナリオ内に含まれる該レスポンス以降のリクエスト内に含まれる同一名のパラメータの値を設定することになる。   The load simulator 23b (the CPU 20d according to) first receives information specifying the scenario table 31 used for the web load test from the operator through the input device 20b, and the scenario table 31 and the parameter correspondence table 32 related thereto. Are read from the storage unit 20c. Subsequently, the load simulator 23b generates a plurality of threads that virtually function as a web client on the memory unit 20e, and delivers the read scenario table 31 and parameter correspondence table 32 to the plurality of virtual web clients. Each of the virtual web clients receives these tables 31 and 32 and starts access to the web server device 10 according to the same designated scenario. Further, each virtual web client uses the parameter value received as a response from the web server device 10 to set the parameter value of the same name included in the request after the response included in the scenario. Will do.

図7は、仮想ウェブクライアントによる処理の流れを示す図である。   FIG. 7 is a diagram showing a flow of processing by the virtual web client.

処理開始後、仮想ウェブクライアント(に従ったCPU20d)は、第4の処理ループL4を実行する。第4の処理ループL4では、仮想ウェブクライアントは、負荷シミュレータ23bから引き渡されたシナリオテーブル31の全レコードについて、一つずつ、順に、ステップS301乃至S307からなる処理を、実行する。   After starting the process, the virtual web client (according to the CPU 20d) executes the fourth process loop L4. In the fourth processing loop L4, the virtual web client executes the processing consisting of steps S301 to S307 one by one for all the records of the scenario table 31 delivered from the load simulator 23b.

ステップS301では、仮想ウェブクライアントは、処理対象レコードの「リクエストメッセージ」フィールドの値(リクエストメッセージ)の中から、リクエストパラメータ(パラメータ名と「=」とパラメータ値の組み)を、検索する。   In step S301, the virtual web client searches for a request parameter (a combination of a parameter name, “=”, and a parameter value) from the value (request message) in the “request message” field of the processing target record.

次のステップS302では、仮想ウェブクライアントは、ステップS301の検索の結果、リクエストパラメータが検出できたか否かを、判別する。そして、リクエストパラメータが検出できなかった場合、仮想ウェブクライアントは、ステップS302からステップS304へ処理を分岐させる。一方、リクエストパラメータが検出できた場合、仮想ウェブクライアントは、ステップS303へ処理を進める。   In the next step S302, the virtual web client determines whether or not the request parameter has been detected as a result of the search in step S301. If the request parameter cannot be detected, the virtual web client branches the process from step S302 to step S304. On the other hand, if the request parameter can be detected, the virtual web client advances the process to step S303.

ステップS303では、仮想ウェブクライアントは、リリースサブルーチンを実行する。   In step S303, the virtual web client executes a release subroutine.

図8は、リリースサブルーチンの流れを示す図である。   FIG. 8 is a diagram showing the flow of the release subroutine.

リリースサブルーチンの開始後、仮想ウェブクライアントは、第5の処理ループL5を実行する。第5の処理ループL5では、仮想ウェブクライアントは、ステップS301の検索により検出された幾つかのリクエストパラメータについて、一つずつ、ステップS401乃至S403からなる処理を、実行する。   After starting the release subroutine, the virtual web client executes a fifth processing loop L5. In the fifth processing loop L5, the virtual web client executes the processing consisting of steps S401 to S403 one by one for several request parameters detected by the search in step S301.

ステップS401では、仮想ウェブクライアントは、処理対象レコードの「ID」フィールドの値(ID)と、「適用」の種別情報と、処理対象リクエストパラメータのパラメータ名とを検索条件として、図6のパラメータ対応テーブル32を検索する。   In step S401, the virtual web client uses the value (ID) of the “ID” field of the processing target record, the type information of “application”, and the parameter name of the processing target request parameter as search conditions, and the parameter correspondence of FIG. The table 32 is searched.

次のステップS402では、仮想ウェブクライアントは、ステップS401の検索の結果、レコードが検出できたか否かを、判別する。そして、レコードが検出できなかった場合、仮想ウェブクライアントは、ステップS402から処理を分岐させ、第5の処理ループL5におけるこの処理対象リクエストパラメータに対する処理を終了する。一方、レコードが検出できた場合、仮想ウェブクライアントは、ステップS403へ処理を進める。   In the next step S402, the virtual web client determines whether or not a record has been detected as a result of the search in step S401. If no record is detected, the virtual web client branches the process from step S402, and ends the process for the process target request parameter in the fifth process loop L5. On the other hand, if the record is detected, the virtual web client advances the process to step S403.

次のステップS403では、仮想ウェブクライアントは、ステップS401の検索により検出されたレコードの「媒介変数名」フィールドの値(媒介変数名)にて特定される媒介変数から、代入値を読み出す。続いて、仮想ウェブクライアントは、処理対象レコードの「リクエストヘッダ」の値(リクエストヘッダ)の中の処理対象リクエストパラメータにおいて、そのパラメータ値を、読み出した代入値に置換する。その後、仮想ウェブクライアントは、第5の処理ループL5におけるこの処理対象リクエストパラメータに対する処理を終了する。   In the next step S403, the virtual web client reads the substitution value from the parameter specified by the value (parameter variable name) in the “parameter variable name” field of the record detected by the search in step S401. Subsequently, the virtual web client replaces the parameter value with the read substitution value in the processing target request parameter in the value (request header) of the “request header” of the processing target record. Thereafter, the virtual web client ends the processing for the processing target request parameter in the fifth processing loop L5.

仮想ウェブクライアントは、ステップS301の検索により検出された全てのリクエストパラメータについて、ステップS401乃至S403からなる処理を、実行し終えた後、第5の処理ループL5から離脱し、図8に係るリリースサブルーチンを終了する。その後、仮想ウェブクライアントは、図7のステップS304へ処理を進める。   The virtual web client exits from the fifth processing loop L5 after completing the processing consisting of steps S401 to S403 for all the request parameters detected by the search in step S301, and releases the subroutine shown in FIG. Exit. Thereafter, the virtual web client advances the process to step S304 in FIG.

ステップS304では、仮想ウェブクライアントは、ステップS403でリクエストパラメータのパラメータ値が媒介変数の代入値に置換されたリクエストデータを、リクエストメッセージとしてウェブサーバ装置10へ送信し、レスポンスメッセージを受信するまで待機する。そして、レスポンスメッセージをウェブサーバ装置10から受信すると、仮想ウェブクライアントは、ステップS305へ処理を進める。   In step S304, the virtual web client transmits the request data in which the parameter value of the request parameter is replaced by the substitution value of the parameter in step S403 to the web server device 10 as a request message, and waits until a response message is received. . Then, when the response message is received from the web server device 10, the virtual web client advances the process to step S305.

ステップS305では、仮想ウェブクライアントは、受信したレスポンスメッセージの中から、レスポンスパラメータ(パラメータ名とパラメータ値の組み)を、検索する。   In step S305, the virtual web client searches for a response parameter (a combination of parameter name and parameter value) from the received response message.

次のステップS306では、仮想ウェブクライアントは、ステップS305の検索の結果、レスポンスパラメータが検出できたか否かを、判別する。そして、レスポンスパラメータが検出できなかった場合、仮想ウェブクライアントは、ステップS306から処理を分岐させ、第4の処理ループL4におけるこの処理対象レコードに対する処理を終了する。一方、レスポンスパラメータが検出できた場合、仮想ウェブクライアントは、ステップS307へ処理を進める。   In the next step S306, the virtual web client determines whether or not a response parameter has been detected as a result of the search in step S305. If the response parameter cannot be detected, the virtual web client branches the process from step S306, and ends the process for the process target record in the fourth process loop L4. On the other hand, if the response parameter can be detected, the virtual web client advances the process to step S307.

ステップS307では、仮想ウェブクライアントは、キャッチサブルーチンを実行する。   In step S307, the virtual web client executes a catch subroutine.

図9は、キャッチサブルーチンの流れを示す図である。   FIG. 9 is a diagram showing the flow of the catch subroutine.

キャッチサブルーチンの開始後、仮想ウェブクライアントは、第6の処理ループL6を実行する。第6の処理ループL6では、仮想ウェブクライアントは、ステップS305の検索により検出された幾つかのレスポンスパラメータについて、一つずつ、ステップS501乃至S503からなる処理を、実行する。   After the catch subroutine starts, the virtual web client executes a sixth processing loop L6. In the sixth processing loop L6, the virtual web client executes the processing consisting of steps S501 to S503 one by one for several response parameters detected by the search in step S305.

ステップS501では、仮想ウェブクライアントは、処理対象レコードの「ID」フィールドの(ID)と、「格納」の種別情報と、処理対象レスポンスパラメータのパラメータ名とを検索条件として、図6のパラメータ対応テーブル32を検索する。   In step S501, the virtual web client uses the (ID) field in the “ID” field of the processing target record, the type information of “storage”, and the parameter name of the processing target response parameter as search conditions, and the parameter correspondence table in FIG. 32 is searched.

次のステップS502では、CPU20dは、ステップS501の検索の結果、レコードが検出できたか否かを、判別する。そして、レコードが検出できなかった場合、仮想ウェブクライアントは、ステップS502から処理を分岐させ、第6の処理ループL6におけるこの処理対象レスポンスパラメータに対する処理を終了する。一方、レコードが検出できた場合、仮想ウェブクライアントは、ステップS503へ処理を進める。   In the next step S502, the CPU 20d determines whether or not a record has been detected as a result of the search in step S501. If the record cannot be detected, the virtual web client branches the process from step S502, and ends the process for the process target response parameter in the sixth process loop L6. On the other hand, if the record can be detected, the virtual web client advances the process to step S503.

次のステップS503では、仮想ウェブクライアントは、ステップS501の検索により検出されたレコードの「媒介変数名」フィールドの値(媒介変数名)にて特定される媒介変数に対し、処理対象レスポンスパラメータのパラメータ値を、代入する。その後、仮想ウェブクライアントは、第6の処理ループL6におけるこの処理対象レスポンスパラメータに対する処理を終了する。   In the next step S503, the virtual web client sets the parameter of the processing target response parameter for the parameter specified by the value (parameter variable name) of the “parameter variable name” field of the record detected by the search in step S501. Assign a value. Thereafter, the virtual web client ends the process for this process target response parameter in the sixth process loop L6.

仮想ウェブクライアントは、ステップS305の検索により検出された全てのレスポンスパラメータについて、ステップS501乃至S503からなる処理を、実行し終えた後、第6の処理ループL6から離脱し、図9に係るキャッチサブルーチンを終了する。その後、仮想ウェブクライアントは、第4の処理ループL4におけるこの処理対象レコードに対する処理を終了する。   The virtual web client exits from the sixth processing loop L6 after completing the processing consisting of steps S501 to S503 for all response parameters detected by the search in step S305, and executes the catch subroutine according to FIG. Exit. Thereafter, the virtual web client ends the processing for this processing target record in the fourth processing loop L4.

仮想ウェブクライアントは、負荷シミュレータ23bから引き渡されたシナリオテーブル31の全てのレコードについて、ステップS301乃至S307からなる処理を、実行し終えた後、第4の処理ループL4から離脱し、図7に係る処理を終了する。   The virtual web client completes execution of the processing consisting of steps S301 to S307 for all the records in the scenario table 31 delivered from the load simulator 23b, and then leaves the fourth processing loop L4, and relates to FIG. The process ends.

なお、各仮想ウェブクライアントが、図7に係る処理を終了すると、負荷シミュレータ23bは、各仮想ウェブクライアントがウェブサーバ装置10から受信したレスポンスメッセージそのものを保存するとともに、レスポンスのログを保存する。   When each virtual web client completes the process according to FIG. 7, the load simulator 23 b stores the response message itself received from the web server device 10 by each virtual web client and also stores a response log.

本実施形態のコンピュータネットワークシステムが、以上に説明したように構成されるため、以下のように動作する。例えば、仮想ウェブクライアントが、図3のシナリオテーブル31における「ID」フィールドの値が「3」であるレコードのリクエストヘッダを含むリクエストメッセージを、ウェブサーバ装置10に送信する場合、その送信の直前に、仮想ウェブクライアントは、リクエストヘッダの中からリクエストパラメータ(userid=A)を検出する(ステップS301、S302)。   Since the computer network system of the present embodiment is configured as described above, it operates as follows. For example, when the virtual web client transmits a request message including a request header of a record whose value of the “ID” field in the scenario table 31 in FIG. 3 is “3” to the web server device 10, immediately before the transmission. The virtual web client detects the request parameter (userid = A) from the request header (steps S301 and S302).

続いて、仮想ウェブクライアントは、そのリクエストパラメータのパラメータ名(userid)と、「適用」の識別情報と、そのリクエストパラメータの所属元のレコードの識別情報(3)とで、図6のパラメータ対応テーブル32を検出する。そして、仮想ウェブクライアントは、検出したレコード内の媒介変数名(m_userid)を持つ媒介変数から、代入値を読み出して、「ID」フィールドの値が「3」であるレコードのリクエストデータのリクエストパラメータのパラメータ値を、その代入値に変換し、このリクエストデータを送信する(ステップS303、S401〜S403、S304)。   Subsequently, the virtual web client uses the parameter name of the request parameter (userid), the identification information of “application”, and the identification information (3) of the record to which the request parameter belongs, in the parameter correspondence table of FIG. 32 is detected. Then, the virtual web client reads the substitution value from the parameter having the parameter name (m_userid) in the detected record, and the request parameter of the request data of the record whose “ID” field value is “3”. The parameter value is converted into the substitution value, and this request data is transmitted (steps S303, S401 to S403, S304).

このときリクエストデータのパラメータ値として使用された媒介変数(m_userid)の代入値は、図6のパラメータ対応テーブル32において同じ媒介変数名(m_userid)を持つレコードの「ID」フィールドの値が「2」であるとおり、仮想ウェブクライアントが、図3のシナリオテーブル31における「ID」フィールドの値が「2」であるレコードのリクエストデータをウェブサーバ装置10に送信したときに、そのウェブサーバ装置10から受信したレスポンスメッセージ内に含まれているレスポンスパラメータから取り出して媒介変数に代入したパラメータ値である(ステップS305〜S307、S501〜S503)。   The substitution value of the parameter (m_userid) used as the parameter value of the request data at this time is the value of “2” in the “ID” field of the record having the same parameter name (m_userid) in the parameter correspondence table 32 of FIG. As shown in FIG. 3, when the virtual web client transmits request data of a record whose “ID” field value in the scenario table 31 of FIG. 3 is “2” to the web server device 10, the virtual web client receives the request data from the web server device 10. The parameter value extracted from the response parameter included in the response message and assigned to the parameter (steps S305 to S307, S501 to S503).

このように、本実施形態のウェブ負荷試験装置20によりシナリオテーブル31とともに生成されたパラメータ対応テーブル32によれば、仮想ウェブクライアントは、シナリオテーブル31内のリクエストメッセージを試験対象のウェブサーバ装置10に送信する前において、そのリクエストメッセージ内にリクエストパラメータが含まれていたときには、パラメータ対応テーブル32に基づいて、そのリクエストパラメータを、負荷試験中に取得したレスポンスパラメータに置換することができる。   As described above, according to the parameter correspondence table 32 generated together with the scenario table 31 by the web load test apparatus 20 of this embodiment, the virtual web client sends the request message in the scenario table 31 to the web server apparatus 10 to be tested. If the request parameter is included in the request message before transmission, the request parameter can be replaced with the response parameter acquired during the load test based on the parameter correspondence table 32.

従って、本実施形態のウェブ負荷試験装置20によれば、ウェブ負荷試験で負荷シミュレータ23bにより生成される仮想ウェブクライアントがリクエストメッセージの送信とレスポンスメッセージの受信とを適切に行えるシナリオが、作成できる。   Therefore, according to the web load test apparatus 20 of the present embodiment, it is possible to create a scenario in which the virtual web client generated by the load simulator 23b in the web load test can appropriately transmit the request message and receive the response message.

本実施形態のコンピュータネットワークシステムの構成図Configuration diagram of the computer network system of the present embodiment シナリオ作成モジュールによる処理の流れを示す図Diagram showing the flow of processing by the scenario creation module ワークテーブル(シナリオテーブル)のデータ構造の一例を示す図The figure which shows an example of the data structure of a work table (scenario table) パラメータ対応付けサブルーチンの流れを示す図Diagram showing the flow of the parameter mapping subroutine パラメータ対応付けサブルーチンの流れを示す図Diagram showing the flow of the parameter mapping subroutine ワークテーブル(パラメータ対応テーブル)のデータ構造の一例を示す図The figure which shows an example of the data structure of a work table (parameter correspondence table) 仮想ウェブクライアントによる処理の流れを示す図Diagram showing the flow of processing by virtual web client リリースサブルーチンの流れを示す図Diagram showing the flow of the release subroutine キャッチサブルーチンの流れを示す図Diagram showing the flow of the catch subroutine

符号の説明Explanation of symbols

10 ウェブサーバ装置
10a ストレージユニット
10c メモリユニット
10d 通信アダプタ
12 ウェブページデータ
13 ウェブサーバプログラム
20 ウェブ負荷試験装置
20a 表示装置
20b 入力装置
20c ストレージユニット
20e メモリユニット
20f 通信アダプタ
22 ウェブブラウザ
23 ウェブ負荷試験ツールソフトウエア
23a シナリオ作成モジュール
23b 負荷シミュレータ
31 シナリオテーブル
32 ワークテーブル(パラメータ対応テーブル)
DESCRIPTION OF SYMBOLS 10 Web server apparatus 10a Storage unit 10c Memory unit 10d Communication adapter 12 Web page data 13 Web server program 20 Web load test apparatus 20a Display apparatus 20b Input apparatus 20c Storage unit 20e Memory unit 20f Communication adapter 22 Web browser 23 Web load test tool software Software 23a Scenario creation module 23b Load simulator 31 Scenario table 32 Work table (parameter correspondence table)

Claims (4)

試験対象のウェブサーバ装置にアクセス負荷を掛ける複数の仮想ウェブクライアントに対して与えられるシナリオを作成するためのシナリオ作成プログラムであって、
コンピュータを、
入力装置を通じて操作者から所定の指示を受け付けるたびに、その指示に基づくリクエストメッセージの前記ウェブサーバ装置への送信とそのウェブサーバ装置からのレスポンスメッセージの受信とを実行するとともに、それらリクエストメッセージとレスポンスメッセージとを対応付けたレコードを、各レコードを一意に特定するための識別情報を付加して、リクエスト順に、記憶装置内のシナリオテーブルに記憶する第1の記憶手段、
前記シナリオテーブル内のレコードのうち、前記リクエストメッセージ内にリクエストパラメータを含んでいる各レコードについて、そのレコードより順番が前のレコードの中から、そのリクエストパラメータと同じ内容のレスポンスパラメータを前記レスポンスメッセージに含むレコードを検索する検索手段、及び、
前記シナリオテーブル内のレコードのうち、前記リクエストメッセージ内にリクエストパラメータを含んでいる各レコードについて、そのレコードより順番が前のレコードを前記検索手段が検出した場合に、双方のレコードの識別情報を対応付けて、前記記憶装置内の対応テーブルに記憶する第2の記憶手段
として機能させる
ことを特徴とするシナリオ作成プログラム。
A scenario creation program for creating a scenario given to a plurality of virtual web clients that impose an access load on a web server device to be tested,
Computer
Each time a predetermined instruction is received from the operator through the input device, a request message based on the instruction is transmitted to the web server device and a response message is received from the web server device, and the request message and the response A first storage unit for storing records associated with a message, adding identification information for uniquely identifying each record, and storing the records in a scenario table in the storage device in order of request;
Among the records in the scenario table, for each record including the request parameter in the request message, the response parameter having the same content as the request parameter is selected in the response message from the records in the order before the record. Search means for searching for records including, and
Among the records in the scenario table, for each record that includes a request parameter in the request message, when the search means detects a record that is earlier than the record, the identification information of both records is handled. attached to, the scenario creation program for causing to function as a second storage means for storing a correspondence table in the storage device.
前記第2の記憶手段は、検索されたレコードの識別情報であるレスポンス側レコード識別情報と、当該レコードの検索条件として使用されたリクエストパラメータがそのリクエストメッセージに含まれていたレコードの識別情報であるリクエスト側レコード識別情報と、変数名と、当該リクエスト側レコード識別情報で識別されるレコード中のリクエストメッセージの送信時にパラメータ値が前記変数名で識別される変数の値に書き換えられるべきパラメータを示すパラメータ指定情報とを、対応づけて、記憶装置内の対応テーブルに記憶する
ことを特徴とする請求項1に記載のシナリオ作成プログラム。
The second storage means is the identification information of the record in which the response message identification information that is the identification information of the retrieved record and the request parameter used as the retrieval condition of the record are included in the request message. Parameter indicating the parameter that should be rewritten to the value of the variable identified by the variable name when sending the request message in the record identified by the request side record identifying information, the variable name, and the request side record identifying information The scenario creation program according to claim 1, wherein the specification information is associated with each other and stored in a correspondence table in the storage device.
試験対象のウェブサーバ装置にアクセス負荷を掛ける複数の仮想ウェブクライアントに対して与えられるシナリオを作成するためのシナリオ作成装置であって、
入力装置を通じて操作者から所定の指示を受け付けるたびに、その指示に基づくリクエストメッセージの前記ウェブサーバ装置への送信とそのウェブサーバ装置からのレスポンスメッセージの受信とを実行するとともに、それらリクエストメッセージとレスポンスメッセージとを対応付けたレコードを、各レコードを一意に特定するための識別情報を付加して、リクエスト順に、記憶装置内のシナリオテーブルに記憶する第1の記憶部、
前記シナリオテーブル内のレコードのうち、前記リクエストメッセージ内にリクエストパラメータを含んでいる各レコードについて、そのレコードより順番が前のレコードの中から、そのリクエストパラメータと同じ内容のレスポンスパラメータを前記レスポンスメッセージに含むレコードを検索する検索部、及び、
前記シナリオテーブル内のレコードのうち、前記リクエストメッセージ内にリクエストパラメータを含んでいる各レコードについて、そのレコードより順番が前のレコードを前記検索部が検出した場合に、双方のレコードの識別情報を対応付けて、前記記憶装置内の対応テーブルに記憶する第2の記憶部
を備えることを特徴とするシナリオ作成装置。
A scenario creation device for creating a scenario given to a plurality of virtual web clients that impose an access load on a web server device to be tested,
Each time a predetermined instruction is received from the operator through the input device, a request message based on the instruction is transmitted to the web server device and a response message is received from the web server device, and the request message and the response A first storage unit for storing records associated with messages, adding identification information for uniquely identifying each record, and storing the records in a scenario table in the storage device in order of request;
Among the records in the scenario table, for each record including the request parameter in the request message, the response parameter having the same content as the request parameter is selected in the response message from the records in the order before the record. A search unit for searching for records including, and
Among the records in the scenario table, for each record that includes a request parameter in the request message, when the search unit detects a record that is earlier than the record, the identification information of both records is handled. put, the scenario creating device, characterized in that it comprises a second storage unit for storing a correspondence table in the storage device.
前記複数の仮想ウェブクライアントのそれぞれが、
前記シナリオテーブルに記憶されている各レコード中のリクエストメッセージを、各レコードの前記シナリオテーブルへの記憶順に送信するメッセージ送信処理であって、その識別情報が前記対応テーブルにリクエスト側レコード識別情報として記憶されている各レコード中のリクエストメッセージの送信時には、当該リクエスト側レコード識別情報と対応づけられて前記対応テーブルに記憶されているパラメータ指定情報及び変数名を取得し、取得したパラメータ指定情報が示すパラメータのパラメータ値を取得した変数名で識別される変数の値に変更してからリクエストメッセージを送信するメッセージ送信処理と、
前記メッセージ送信処理により送信された各リクエストメッセージに対するレスポンスメッセージを受信するメッセージ受信処理であって、受信したレスポンスメッセージにレスポンスパラメータが含まれていた場合には、当該レスポンスパラメータに基づき前記対応テーブルに記憶されている変数名の中から当該レスポンスパラメータのパラメータ値を記憶すべき変数名を特定し、特定した変数名で識別される変数に当該パラメータ値を記憶するメッセージ受信処理と、
を、コンピュータに並行的に実行させるプログラムである
ことを特徴とする請求項2に記載のシナリオ作成プログラム。
Each of the plurality of virtual web clients
A message transmission process for transmitting a request message in each record stored in the scenario table in the order in which the records are stored in the scenario table, and the identification information is stored as request-side record identification information in the correspondence table At the time of transmission of the request message in each record, the parameter designation information and variable name associated with the request side record identification information and stored in the correspondence table are obtained, and the parameter indicated by the obtained parameter designation information A message sending process that sends a request message after changing the parameter value of the parameter to the value of the variable identified by the variable name
A message reception process for receiving a response message for each request message transmitted by the message transmission process. If a response parameter is included in the received response message, the response table stores the response message based on the response parameter. A message reception process for identifying a variable name in which the parameter value of the response parameter is stored from among the variable names being stored, and storing the parameter value in a variable identified by the identified variable name;
The scenario creation program according to claim 2, wherein the scenario creation program is executed by a computer in parallel.
JP2007070743A 2007-03-19 2007-03-19 Scenario creation program and scenario creation device Expired - Fee Related JP5181503B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007070743A JP5181503B2 (en) 2007-03-19 2007-03-19 Scenario creation program and scenario creation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007070743A JP5181503B2 (en) 2007-03-19 2007-03-19 Scenario creation program and scenario creation device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012206270A Division JP5737249B2 (en) 2012-09-19 2012-09-19 Load simulation apparatus, simulation apparatus, load simulation method, simulation method, and program

Publications (2)

Publication Number Publication Date
JP2008234151A JP2008234151A (en) 2008-10-02
JP5181503B2 true JP5181503B2 (en) 2013-04-10

Family

ID=39906866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007070743A Expired - Fee Related JP5181503B2 (en) 2007-03-19 2007-03-19 Scenario creation program and scenario creation device

Country Status (1)

Country Link
JP (1) JP5181503B2 (en)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0922368A (en) * 1995-07-06 1997-01-21 Mitsubishi Electric Corp Computer system diagnostic method and device therefor
JP2002007232A (en) * 2000-06-21 2002-01-11 Cybird Co Ltd Performance testing method and server testing device for www server
JP2003044318A (en) * 2001-08-02 2003-02-14 Fujitsu Ltd Program and method for supporting test
JP2005070835A (en) * 2003-08-25 2005-03-17 Fujitsu Ltd Test supporting program and test supporting method
JP2005100161A (en) * 2003-09-25 2005-04-14 Hitachi Software Eng Co Ltd Performance test support device
JP4170243B2 (en) * 2004-03-05 2008-10-22 三菱電機株式会社 Web application inspection device
JP2005332139A (en) * 2004-05-19 2005-12-02 Fujitsu Ltd Test data generation support program and test data generation support method
JP2006031178A (en) * 2004-07-13 2006-02-02 Hitachi Ltd Load test execution device, load test execution method and load test execution program
JP4115442B2 (en) * 2004-11-24 2008-07-09 三菱電機株式会社 Automatic test method for fault diagnosis communication program
JP4745728B2 (en) * 2005-06-21 2011-08-10 富士通株式会社 Debugging support program

Also Published As

Publication number Publication date
JP2008234151A (en) 2008-10-02

Similar Documents

Publication Publication Date Title
US7702811B2 (en) Method and apparatus for marking of web page portions for revisiting the marked portions
US10289275B2 (en) Standard commands for native commands
US7539933B2 (en) Apparatus and method of highlighting links in a web page
JP4849929B2 (en) Scenario creation program
US8924867B2 (en) Web interface for remote platform build
EP2553591A2 (en) Tracking navigation flows within the same browser tab
US20080091775A1 (en) Method and apparatus for parallel operations on a plurality of network servers
JP2006260522A (en) Information processing device, information management device, information management system, information processing method, information management method, information processing program, information management program, and recording medium
WO2006010536A1 (en) Method of communicating between web applications and local client application while maintaining remote user session
US20060218164A1 (en) Document management device and document management program
US8316103B2 (en) Method for acquiring long data by GET method
JP5737249B2 (en) Load simulation apparatus, simulation apparatus, load simulation method, simulation method, and program
US8127314B2 (en) Method for using information in another domain, program for using information in another domain, and information transfer program
US20060123107A1 (en) Web link management systems and methods
JP5181503B2 (en) Scenario creation program and scenario creation device
JP4805199B2 (en) Scenario creation program and scenario creation device
US20040187002A1 (en) Cross-site search method and cross-site search program
EP1101173A1 (en) Information access
US20070239421A1 (en) Load simulator
JP2010049294A (en) Screen information management method
JP2006318138A (en) Web system, server computer for web system, and computer program
JP5395647B2 (en) Attribute information management method, attribute information management system, attribute information management device, terminal device and program
US20040174391A1 (en) Apparatus, system and method of displaying a web page in a browser
JP2021168097A (en) Information processing device and program
CN115017034A (en) Data packet processing method and device, electronic equipment and readable medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110413

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120619

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120919

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120926

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121231

R150 Certificate of patent or registration of utility model

Ref document number: 5181503

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees