[go: up one dir, main page]

JP2013037580A - Information processor - Google Patents

Information processor Download PDF

Info

Publication number
JP2013037580A
JP2013037580A JP2011174092A JP2011174092A JP2013037580A JP 2013037580 A JP2013037580 A JP 2013037580A JP 2011174092 A JP2011174092 A JP 2011174092A JP 2011174092 A JP2011174092 A JP 2011174092A JP 2013037580 A JP2013037580 A JP 2013037580A
Authority
JP
Japan
Prior art keywords
function
program
document
test
unit
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.)
Withdrawn
Application number
JP2011174092A
Other languages
Japanese (ja)
Inventor
Kishiki Sekiyama
貴識 関山
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2011174092A priority Critical patent/JP2013037580A/en
Publication of JP2013037580A publication Critical patent/JP2013037580A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】構造化文書の自動テストの効率化を支援する。
【解決手段】動作検証装置100は、画面の表示内容を定めた構造化文書を取得し(S302)、その構造化文書に記述された要素のうち、画面の表示内容を変化させる処理の契機となる要素を抽出し(S304)、抽出した要素への操作をユーザに記述させるための操作記述文書を出力する(S306)。画面の表示内容を確認するためのテスト・プログラムを実行させる検証装置において定められた関数と、操作記述文書に記述される要素への操作との対応関係にしたがって、操作記述文書に記述された要素への操作に対応した関数を呼び出すプログラムコードを設定したテスト・プログラムを生成する(S312)。
【選択図】図28
An object of the present invention is to improve the efficiency of automated testing of structured documents.
An operation verification apparatus 100 acquires a structured document that defines display content of a screen (S302), and triggers a process of changing the display content of the screen among elements described in the structured document. Are extracted (S304), and an operation description document for allowing the user to describe an operation on the extracted element is output (S306). The element described in the operation description document according to the correspondence between the function defined in the verification device that executes the test program for confirming the display content of the screen and the operation to the element described in the operation description document A test program in which a program code for calling a function corresponding to the operation of the program is set is generated (S312).
[Selection] Figure 28

Description

本発明はデータ処理技術に関し、特に、構造化文書のテストを支援する情報処理装置に関する。   The present invention relates to a data processing technique, and more particularly, to an information processing apparatus that supports a test of a structured document.

近年、ウェブページ等のテストを自動化するテストツールが提供されてきている。本出願人は、ウェブページ等の自動テストを効率的に実現する動作検証装置を以下の特許文献1にて提案している。   In recent years, test tools for automating tests on web pages and the like have been provided. The present applicant has proposed an operation verification apparatus that efficiently realizes an automatic test of a web page or the like in Patent Document 1 below.

特開2010−237841号公報JP 2010-237841 A

上記特許文献1の動作検証装置では、ウェブページ等の試験対象物に対して一度はユーザが操作を実行してその操作を記録しておき、その後、ユーザは記録された操作の内容を解釈した上で適宜編集し、テストの実行コードを作成する必要があった。すなわちユーザは、動作検証装置において操作がどのように記録されるか、またどのように編集すれば所望のテストを実施できるかを理解している必要があり、言い換えれば動作検証装置の規則を理解している必要があった。本発明者は、構造化文書の自動テストをユーザが一層容易に実施できるよう改善の余地があると考えた。   In the operation verification apparatus of Patent Document 1, a user performs an operation once on a test object such as a web page and records the operation, and then the user interprets the contents of the recorded operation. It was necessary to edit the above appropriately and create the test execution code. That is, the user needs to understand how operations are recorded in the motion verification device and how they can be edited to perform the desired test, in other words, understand the rules of the motion verification device. It was necessary to have. The inventor considered that there was room for improvement so that users could more easily perform automated testing of structured documents.

本発明はこうした課題に鑑みてなされたものであり、その主な目的は、構造化文書の自動テストの効率化を支援する技術を提供することにある。   The present invention has been made in view of these problems, and a main object of the present invention is to provide a technology that supports efficient automatic testing of structured documents.

上記課題を解決するために、本発明のある態様の情報処理装置は、画面の表示内容を定めた構造化文書を取得する取得部と、取得された構造化文書に記述された要素のうち、画面の表示内容を変化させる処理の契機となる要素を表示変更要素として抽出する抽出部と、抽出された表示変更要素への操作をユーザに記述させるための文書を操作記述文書として出力する出力部と、画面の表示内容を確認するためのテスト・プログラムを実行させる検証装置において予め定められた要素を操作するための関数と、操作記述文書に記述される表示変更要素への操作との対応関係を保持する対応関係保持部と、対応関係にしたがって、操作記述文書に記述された表示変更要素への操作に対応した検証装置が定める関数を呼び出すプログラムコードを設定することによりテスト・プログラムを生成するプログラム生成部と、を備える。   In order to solve the above-described problem, an information processing apparatus according to an aspect of the present invention includes an acquisition unit that acquires a structured document that defines display content of a screen, and among elements described in the acquired structured document, An extraction unit that extracts, as a display change element, an element that triggers a process that changes the display content of the screen, and an output unit that outputs a document for allowing the user to describe an operation on the extracted display change element as an operation description document Between a function for operating a predetermined element in a verification device that executes a test program for confirming the display content of the screen and an operation to a display change element described in the operation description document And a program code for calling a function defined by the verification device corresponding to the operation on the display change element described in the operation description document according to the correspondence. It comprises a program generating section for generating a test program by the.

本発明の別の態様もまた、情報処理装置である。この装置は、画面の表示内容を定めた構造化文書を取得する取得部と、取得された構造化文書に記述された要素のうち、ユーザからデータ入力を受け付ける要素を入力要素として抽出する抽出部と、抽出された入力要素への操作をユーザに記述させるための文書を操作記述文書として出力する出力部と、画面の表示内容を確認するためのテスト・プログラムを実行させる検証装置において予め定められた要素を操作するための関数と、操作記述文書に記述される入力要素への操作との対応関係を保持する対応関係保持部と、対応関係にしたがって、操作記述文書に記述された入力要素への操作に対応した検証装置が定める関数を呼び出すプログラムコードを設定することによりテスト・プログラムを生成するプログラム生成部と、を備える。   Another embodiment of the present invention is also an information processing apparatus. This apparatus includes an acquisition unit that acquires a structured document that defines display content of a screen, and an extraction unit that extracts, as input elements, elements that receive data input from a user among elements described in the acquired structured document And an output unit for outputting a document for allowing the user to describe the operation to the extracted input element as an operation description document, and a verification device for executing a test program for confirming the display content of the screen. To the input element described in the operation description document according to the correspondence relationship, and the correspondence holding unit that holds the correspondence relation between the function for operating the element and the operation to the input element described in the operation description document A program generation unit that generates a test program by setting a program code for calling a function defined by the verification device corresponding to the operation of

なお、以上の構成要素の任意の組合せ、本発明の表現を方法、システム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements, and the expression of the present invention converted between a method, a system, a program, a recording medium storing the program, and the like are also effective as an aspect of the present invention.

本発明によれば、構造化文書の自動テストの効率化を支援することができる。   According to the present invention, it is possible to support the efficiency of automatic testing of structured documents.

ポータルサイト第1画面の画面図である。It is a screen figure of a portal site 1st screen. ポータルサイト第2画面の画面図である。It is a screen figure of a portal site 2nd screen. 辞書テストを実行したときのログを示す図である。It is a figure which shows the log when a dictionary test is performed. 辞書テストを実行するためのプログラムを示す図である。It is a figure which shows the program for performing a dictionary test. 動作検証装置の機能ブロック図である。It is a functional block diagram of an operation verification device. ログを取得して動作テストを実行するまでの概要図である。It is an outline figure until it acquires a log and performs an operation test. ログ画面の画面図である。It is a screen figure of a log screen. 関数設定画面の画面図である。It is a screen figure of a function setting screen. プログラム画面の画面図である。It is a screen figure of a program screen. 入力設定画面の画面図である。It is a screen figure of an input setting screen. ケース設定画面の画面図である。It is a screen figure of a case setting screen. 参考技術1の動作検証装置と参考技術2の動作検証装置とのそれぞれにおける構成の概要を示す図である。It is a figure which shows the outline | summary of a structure in each of the operation verification apparatus of the reference technique 1, and the operation verification apparatus of the reference technique 2. 参考技術1の動作検証装置と参考技術2の動作検証装置とのそれぞれにおける動作の概要を示す図である。It is a figure which shows the outline | summary of operation | movement in each of the operation verification apparatus of the reference technique 1, and the operation verification apparatus of the reference technique 2. 参考技術2の動作検証装置の機能構成を示すブロック図である。It is a block diagram which shows the function structure of the operation verification apparatus of the reference technique 2. FIG. 参考技術2において、ユーザのデータ入力操作を検出して動作テストを実行するまでの概要図である。In the reference technique 2, it is a schematic diagram until it detects a user's data input operation and performs an operation test. 参考技術2における関数設定画面の画面図である。It is a screen figure of the function setting screen in the reference technique 2. 参考技術2における関数設定画面の画面図である。It is a screen figure of the function setting screen in the reference technique 2. 参考技術2における入力設定画面の画面図である。It is a screen figure of the input setting screen in the reference technique 2. 参考技術2におけるケース設定画面の画面図である。It is a screen figure of the case setting screen in the reference technique 2. 動作テストの対象のウェブページを示す図である。It is a figure which shows the web page of the object of an operation test. 図19のウェブページに対する操作が記録された操作内容ファイルを示す図である。FIG. 20 is a diagram showing an operation content file in which operations for the web page in FIG. 19 are recorded. 操作記述文書を示す図である。It is a figure which shows the operation description document. 動作検証装置のIF部の詳細を示すブロック図である。It is a block diagram which shows the detail of IF part of an operation verification apparatus. 動作検証装置のデータ保持部の詳細を示すブロック図である。It is a block diagram which shows the detail of the data holding part of an operation verification apparatus. 動作検証装置のデータ処理部の詳細を示すブロック図である。It is a block diagram which shows the detail of the data processing part of an operation verification apparatus. 構造化文書に記載された入力要素の例を示す図である。It is a figure which shows the example of the input element described in the structured document. 構造化文書に記載された表示変更要素の例を示す図である。It is a figure which shows the example of the display change element described in the structured document. 操作情報変換部による変換例を模式的に示す図である。It is a figure which shows typically the example of conversion by the operation information conversion part. 動作検証装置の動作を示すフローチャートである。It is a flowchart which shows operation | movement of an operation verification apparatus.

本実施の形態の動作検証システムについて説明する前に、その前提となる動作検証装置に係る参考技術1および2について説明する。   Before describing the operation verification system according to the present embodiment, reference techniques 1 and 2 related to the operation verification apparatus as a premise thereof will be described.

(参考技術1)
図1(a)は、ポータルサイト第1画面300の画面図である。
参考技術1においては、ポータル・サイト「XYZ!」を対象とした動作テストについて説明する。ポータルサイト第1画面300は、エディットボックス302と検索リンク304を含む。検索リンク304は、「ウェブ」、「ブログ」、「画像」、「辞書」という4つのリンクを含む。ユーザがエディットボックス302に文字列を入力し、検索リンク304のうちのいずれかをマウス・クリックすると、入力文字列の検索が開始される。たとえば、エディットボックス302に文字列「液晶」と入力し、リンク「ウェブ」をマウス・クリックした場合、文字列「液晶」を含むウェブサイトが検索対象となる。エディットボックス302に文字列「液晶」と入力し、リンク「ブログ」をマウス・クリックした場合には、このポータル・サイトに開設されているブログ(Weblog)のうち、文字列「液晶」を含むブログページが検索対象となる。
ここでは、エディットボックス302に文字列「テスト」が入力され、リンク「辞書」がマウス・クリックされたとする。
(Reference technology 1)
FIG. 1A is a screen view of the portal site first screen 300.
In Reference Technique 1, an operation test for the portal site “XYZ!” Will be described. The portal site first screen 300 includes an edit box 302 and a search link 304. The search link 304 includes four links of “web”, “blog”, “image”, and “dictionary”. When the user inputs a character string into the edit box 302 and clicks one of the search links 304 with the mouse, the search for the input character string is started. For example, when the character string “liquid crystal” is input to the edit box 302 and the link “web” is clicked with the mouse, a website including the character string “liquid crystal” is searched. When the character string “LCD” is entered in the edit box 302 and the link “blog” is clicked with the mouse, the blog including the character string “LCD” among the blogs (Weblogs) established on this portal site. The page becomes the search target.
Here, it is assumed that the character string “test” is input to the edit box 302 and the link “dictionary” is clicked with the mouse.

図1(b)は、ポータルサイト第2画面310の画面図である。
ポータルサイト第1画面300にて、「テスト」を入力し、「辞書」をマウス・クリックすると、図1(b)に示すポータルサイト第2画面310が表示される。検索結果欄306には、このポータル・サイトが提供している「辞書」サービスにより、文字列「テスト」に関連する項目が羅列される。
ここで、検索結果欄306の1番上にあるリンク「テスト(test)」がマウス・クリックされたとする。
FIG. 1B is a screen view of the portal site second screen 310.
When “test” is input on the portal site first screen 300 and “dictionary” is clicked with the mouse, a portal site second screen 310 shown in FIG. 1B is displayed. In the search result column 306, items related to the character string “test” are listed by the “dictionary” service provided by the portal site.
Here, it is assumed that the link “test” at the top of the search result column 306 is clicked with the mouse.

上記過程においては、以下に示す3つの操作がなされている。
A1.ポータルサイト第1画面300のエディットボックス302に文字列「テスト」を入力する操作。
A2.ポータルサイト第1画面300の検索リンク304のうち、リンク「辞書」をマウス・クリックする操作。
A3.ポータルサイト第2画面310の検索結果欄306のうち、リンク「テスト(test)」をマウス・クリックする操作。
以下においては、上記A1〜A3の操作により実現される動作過程のことを、「辞書テスト」とよぶ。
In the above process, the following three operations are performed.
A1. An operation of inputting the character string “test” in the edit box 302 of the portal site first screen 300.
A2. An operation of clicking the link “dictionary” in the search link 304 of the portal site first screen 300 with a mouse.
A3. An operation of clicking the link “test” in the search result column 306 of the portal site second screen 310 with a mouse.
Hereinafter, the operation process realized by the operations of A1 to A3 is referred to as “dictionary test”.

図2は、辞書テストを実行したときのログ320を示す図である。
HP社のQTPが導入されているクライアント端末を操作して、上記ポータル・サイトにアクセスし、A1〜A3の操作を実行した場合、QTPは図2に示すログ320を生成する。ログ320には、操作A1〜A3が所定フォーマットの符合文として記録される。
たとえば、操作A1は、
Browser("XYZ!").Page("XYZ!").WebEdit("p").Set"テスト"
という符号文にて表現される。これは、"XYZ!"というウェブ・サイト、"XYZ!"という名前のウェブページ、pという名前のエディットボックス(図1(a)、図1(b)に示すエディットボックス302に相当する)に対して、文字列「テスト」が入力されたことを意味している。
同様にして、操作A2は、
Browser("XYZ!").Page("XYZ!").Link("辞書").Click
操作A3は、
Browser("XYZ!").Page("XYZ!-すべての辞書-テスト").Link("テスト(test)").Click
という符号文にて表示される。参考技術1においては、QTPの文法に基づいて説明するが、符合文のフォーマットはこれに限られるものではない。
FIG. 2 is a diagram showing the log 320 when the dictionary test is executed.
When a client terminal in which HP QTP is installed is operated to access the portal site and the operations A1 to A3 are executed, QTP generates a log 320 shown in FIG. In the log 320, operations A1 to A3 are recorded as code sentences in a predetermined format.
For example, the operation A1 is
Browser ("XYZ!"). Page ("XYZ!"). WebEdit ("p"). Set "Test"
It is expressed by the code sentence. This corresponds to a web site “XYZ!”, A web page named “XYZ!”, And an edit box named p (corresponding to the edit box 302 shown in FIGS. 1A and 1B). On the other hand, the character string “test” is input.
Similarly, the operation A2 is
Browser ("XYZ!"). Page ("XYZ!"). Link ("Dictionary"). Click
Operation A3 is
Browser ("XYZ!"). Page ("XYZ! -All dictionaries-Test"). Link ("Test"). Click
It is displayed with the code sentence. Reference technology 1 will be described based on the grammar of QTP, but the format of the code sentence is not limited to this.

QTPは、ログ320の符合文を解釈しながら、符合文により表現される操作を再現実行できる。このため、いったんログ320を生成すれば、同一内容の辞書テストを何度でも繰り返し実行できる。また、ログ320の一部を書き換えれば、手動操作時とは異なる内容にて辞書テストを実行できる。たとえば、
Browser("XYZ!").Page("XYZ!").WebEdit("p").Set"テスト"
に含まれる文字列「テスト」を別の文字列「テイスト」に変更し、
Browser("XYZ!").Page("XYZ!").WebEdit("p").Set"テイスト"
と書き換えてQTPに入力すれば、エディットボックス302への入力文字列だけ変更した同内容の辞書テストを自動実行できる。
しかし、ログ320を書き換えながら動作テストを実行するには、ログ320の文法に関してある程度の知識が必要である。また、ログ320の書き換えに際し、人為的なミスが発生する可能性がある。
QTP can reproduce and execute the operation expressed by the code sentence while interpreting the code sentence of the log 320. For this reason, once the log 320 is generated, the dictionary test with the same contents can be repeatedly executed. Further, if a part of the log 320 is rewritten, the dictionary test can be executed with contents different from those at the time of manual operation. For example,
Browser ("XYZ!"). Page ("XYZ!"). WebEdit ("p"). Set "Test"
Change the string "test" contained in to another string "taste"
Browser ("XYZ!"). Page ("XYZ!"). WebEdit ("p"). Set "Taste"
And re-input to QTP, it is possible to automatically execute a dictionary test of the same content in which only the input character string in the edit box 302 is changed.
However, in order to execute the operation test while rewriting the log 320, a certain degree of knowledge about the grammar of the log 320 is required. Further, when the log 320 is rewritten, a human error may occur.

図3は、辞書テストを実行するためのプログラム330を示す図である。
ログ320により動作テストを実行する代わりに、ログ320と同等の内容をVB(Visual Basic)スクリプト等で記述することにより、テスト・プログラムを作成してもよい。図3に示すプログラム330は、図2のログ320を参照しつつ作成されたテスト・プログラムである。
たとえば、操作A1は、
WebEditSet(Browser("XYZ!").Page("XYZ!").WebEdit("p"),DataTable("p1,dtGlobalSheet")
というVB関数により表現される。WebEditSet関数の具体的なロジックは、同図中段に記述されている通りである。
FIG. 3 is a diagram showing a program 330 for executing the dictionary test.
Instead of executing the operation test using the log 320, a test program may be created by describing the content equivalent to the log 320 in a VB (Visual Basic) script or the like. A program 330 shown in FIG. 3 is a test program created with reference to the log 320 of FIG.
For example, the operation A1 is
WebEditSet (Browser ("XYZ!"). Page ("XYZ!"). WebEdit ("p"), DataTable ("p1, dtGlobalSheet")
It is expressed by the VB function. The specific logic of the WebEditSet function is as described in the middle of the figure.

プログラム330、文字列「テスト」のような入力データをプログラム330中に含まない点においてログ320と異なる。代わりに、WebEditSet関数は、dtGlobalSheetとして表現されるファイル(以下、「入力データファイル」とよぶ)から入力データを受け取る。すなわち、ロジックと入力データが分離されることになる。入力データファイルの書き換えや取り替えにより、さまざまな入力データに基づいて同一ロジックの辞書テストを実行できる。手動による動作テストやログ320による動作テストに比べて、プログラム330による動作テストは、入力データのバリエーションを増やしやすいというメリットがある。   The program 330 is different from the log 320 in that input data such as the character string “test” is not included in the program 330. Instead, the WebEditSet function receives input data from a file expressed as dtGlobalSheet (hereinafter referred to as “input data file”). That is, logic and input data are separated. By rewriting or replacing input data files, dictionary tests with the same logic can be executed based on various input data. Compared to the operation test by manual operation and the operation test by log 320, the operation test by program 330 has an advantage that it is easy to increase variations of input data.

ただし、プログラム330による動作テストには、以下の問題点がある。
d1.プログラムを作成する手間が新たに発生する。
d2.プログラム作成者によって、プログラムの内容が変化する。たとえば、プログラマP1が操作A1に対応して作成するWebEditSet関数と、プログラマP2が操作A1に対応して作成するWebEditSet関数は、関数名は同じでもロジックが同一になるとは限らない。また、プログラム自体にバグが混入する可能性がある。このため、プログラム330自体の信頼性を担保するための取り組みが必要となる。また、プログラム330には、例外処理等、動作テストとは直接関係しないロジックも必要であるが、全てのプログラマが例外処理まで考慮したロジックを実装するとは限らない。たとえば、図3に示すWebEditSet関数の場合、入力データが空文字の場合にも対応できるようにロジックが組まれているが、別のプログラマがWebEditSet関数を実装する場合には、こういった配慮が欠如するかもしれない。
結果として、プログラマのスキルが動作テストの内容・結果に影響を及ぼしやすくなってしまう。
However, the operation test by the program 330 has the following problems.
d1. There is a new effort to create a program.
d2. The content of the program changes depending on the program creator. For example, the WebEditSet function created by the programmer P1 corresponding to the operation A1 and the WebEditSet function created by the programmer P2 corresponding to the operation A1 do not necessarily have the same logic even though the function names are the same. In addition, bugs may be mixed in the program itself. For this reason, it is necessary to make efforts to ensure the reliability of the program 330 itself. The program 330 also requires logic that is not directly related to the operation test, such as exception processing, but not all programmers implement logic that considers even exception processing. For example, in the case of the WebEditSet function shown in FIG. 3, the logic is set up so that it can cope with the case where the input data is an empty character, but such consideration is lacking when another programmer implements the WebEditSet function. Might do.
As a result, programmer skills are likely to affect the content and results of behavior tests.

図4は、動作検証装置100の機能ブロック図である。
本明細書のブロック図が示す各機能ブロックは、ハードウェア的には、コンピュータのCPUをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組み合わせによっていろいろなかたちで実現できることは、当業者には理解されるところである。例えば、各機能ブロックは、コンピュータプログラムとして記録媒体に格納され、情報処理装置のハードディスクにインストールされ、適宜メインメモリに読み出されてプロセッサにより実行されてもよい。
動作検証装置100は、専用ハードウェアとして形成されてもよいし、ウェブブラウザなどのユーザインタフェースと連携するソフトウェア・モジュールとして形成されてもよい。
参考技術1の動作検証装置100とは、QTPのアドオンとして形成されるソフトウェア・モジュールであるとして説明する。
FIG. 4 is a functional block diagram of the operation verification apparatus 100.
Each functional block shown in the block diagram of the present specification can be realized in hardware by an element or a mechanical device such as a CPU of a computer, and in software by a computer program or the like. Here, The functional block realized by those cooperation is drawn. Therefore, those skilled in the art will understand that these functional blocks can be realized in various forms by a combination of hardware and software. For example, each functional block may be stored in a recording medium as a computer program, installed in a hard disk of an information processing device, read into a main memory as appropriate, and executed by a processor.
The operation verification apparatus 100 may be formed as dedicated hardware, or may be formed as a software module that cooperates with a user interface such as a web browser.
The operation verification apparatus 100 of the reference technique 1 will be described as a software module formed as an add-on of QTP.

動作検証装置100は、IF(インタフェース)部110、データ処理部130およびデータ保持部140を含む。
IF部110は、ユーザやQTPとのインタフェースを担当する。データ処理部130は、IF部110やデータ保持部140から取得されたデータを元にして各種のデータ処理を実行する。データ処理部130は、IF部110とデータ保持部140との間のインタフェースの役割も果たす。データ保持部140は、各種データを保持するための記憶領域である。
The operation verification apparatus 100 includes an IF (interface) unit 110, a data processing unit 130, and a data holding unit 140.
The IF unit 110 is in charge of an interface with a user or QTP. The data processing unit 130 executes various data processing based on data acquired from the IF unit 110 and the data holding unit 140. The data processing unit 130 also serves as an interface between the IF unit 110 and the data holding unit 140. The data holding unit 140 is a storage area for holding various data.

IF部110:
IF部110は、入力部112と出力部118を含む。入力部112はユーザやQTPからの入力処理を担当し、出力部118はユーザやQTPに対する出力処理を担当する。入力部112は、ログ取得部114と入力データ取得部116を含む。ログ取得部114は、QTPからログを取得する。入力データ取得部116は、入力データファイルを取得し、入力データファイルからプログラムに提供する入力データを取得する。入力データファイルの詳細については、図5や図9に関連して詳述する。
IF unit 110:
The IF unit 110 includes an input unit 112 and an output unit 118. The input unit 112 is in charge of input processing from the user and QTP, and the output unit 118 is in charge of output processing for the user and QTP. The input unit 112 includes a log acquisition unit 114 and an input data acquisition unit 116. The log acquisition unit 114 acquires a log from QTP. The input data acquisition unit 116 acquires an input data file and acquires input data to be provided to the program from the input data file. Details of the input data file will be described in detail with reference to FIGS.

出力部118は、関数設定画面表示部120、入力設定画面表示部122、プログラム画面表示部124およびケース設定画面表示部126を含む。関数設定画面表示部120は、図7に示す関数設定画面210を表示させる。入力設定画面表示部122は、図9に示す入力設定画面230を表示させる。プログラム画面表示部124は、図8に示すプログラム画面220を表示させる。ケース設定画面表示部126は、図10に示すケース設定画面240を表示させる。   The output unit 118 includes a function setting screen display unit 120, an input setting screen display unit 122, a program screen display unit 124, and a case setting screen display unit 126. The function setting screen display unit 120 displays a function setting screen 210 shown in FIG. The input setting screen display unit 122 displays an input setting screen 230 shown in FIG. The program screen display unit 124 displays a program screen 220 shown in FIG. The case setting screen display unit 126 displays a case setting screen 240 shown in FIG.

データ処理部130:
データ処理部130は、プログラム生成部132、プログラム実行部134およびテストケース登録部136を含む。プログラム生成部132は、動作テスト用のプログラムを自動的に生成する。プログラム実行部134は、生成されたプログラムを実行させる。参考技術1においては、QTPにプログラムを実行させる。テストケース登録部136は、実行セットをケースファイルに登録する。実行セットおよびケースファイルについては図10に関連して詳述する。
Data processing unit 130:
The data processing unit 130 includes a program generation unit 132, a program execution unit 134, and a test case registration unit 136. The program generation unit 132 automatically generates an operation test program. The program execution unit 134 executes the generated program. In the reference technique 1, QTP is caused to execute a program. The test case registration unit 136 registers the execution set in the case file. The execution set and the case file will be described in detail with reference to FIG.

データ保持部140:
データ保持部140は、ログ保持部142、プログラム保持部144、入力データファイル保持部146、ケースファイル保持部148、関数保持部150および結果保持部152を含む。ログ保持部142は、ログを保持する。プログラム保持部144は、プログラムを保持する。入力データファイル保持部146は、入力データファイルを保持する。ケースファイル保持部148は、ケースファイルを保持する。関数保持部150は、動作テスト用のプログラムに登録される関数について、関数ライブラリを保持する。結果保持部152は、動作テストの結果を保持する。
Data holding unit 140:
The data holding unit 140 includes a log holding unit 142, a program holding unit 144, an input data file holding unit 146, a case file holding unit 148, a function holding unit 150, and a result holding unit 152. The log holding unit 142 holds a log. The program holding unit 144 holds a program. The input data file holding unit 146 holds an input data file. The case file holding unit 148 holds a case file. The function holding unit 150 holds a function library for the functions registered in the operation test program. The result holding unit 152 holds the result of the operation test.

図5は、参考技術1において、ログを取得して動作テストを実行するまでの概要図である。
まず、動作テストの対象となる機器を手動操作する。参考技術1においては、クライアント端末のウェブブラウザを操作して、ポータル・サイト「XYZ!」にアクセスする。QTPはログを生成し、ログ取得部114はQTPからログを取得する。各種符合文にはあらかじめ関数が対応づけられている。関数設定画面表示部120は、関数保持部150の関数ライブラリを読み出し、ログに含まれる各符号文に対応する関数を一覧表示させる(S1)。関数設定画面表示部120において、ユーザは、適宜、関数を追加・変更・削除できる。こうして、プログラムに含まれるべき関数が特定される。S1については、図7に関連して後に詳述する。
FIG. 5 is a schematic diagram from obtaining a log to executing an operation test in Reference Technology 1.
First, manually operate the device to be tested. In Reference Technology 1, the portal site “XYZ!” Is accessed by operating the web browser of the client terminal. QTP generates a log, and the log acquisition unit 114 acquires a log from QTP. A function is associated with each code sentence in advance. The function setting screen display unit 120 reads the function library of the function holding unit 150 and displays a list of functions corresponding to each code sentence included in the log (S1). In the function setting screen display unit 120, the user can add, change, and delete functions as appropriate. In this way, functions to be included in the program are specified. S1 will be described in detail later with reference to FIG.

次に、このプログラムに供給すべき入力データを設定する(S2)。設定内容は、入力データファイルとして登録される。S2については、図9に関連して後に詳述する。S1で設定された関数群からプログラムを自動生成する(S3)。S3については、図8に関連して後に詳述する。   Next, input data to be supplied to this program is set (S2). The setting contents are registered as an input data file. S2 will be described in detail later with reference to FIG. A program is automatically generated from the function group set in S1 (S3). S3 will be described later in detail with reference to FIG.

次に、複数種類のプログラムおよび複数種類の入力データファイルから、プログラムと入力データファイルの組合せを「実行セット」として登録する。実行セットは複数個登録することもできる(S4)。設定内容は、ケースファイルとして登録される。たとえば、プログラムP1を入力データファイルF2に基づいて実行したあと、プログラムP2を入力データファイルF6に基づいて実行させたい場合、
実行セット1:プログラムP1+入力データファイルF2
実行セット2:プログラムP2+入力データファイルF6
としてケースファイルに登録される。S4については、図10に関連して詳述する。
最後に、ケースファイルにしたがって、プログラムを実行する(S5)。上記例の場合には、プログラム実行部134は、実行セット1と実行セット2を連続実行させる。プログラム実行部134は、プログラムの実行結果、いいかえれば、テスト結果を結果保持部152に登録する。
Next, a combination of a program and an input data file is registered as an “execution set” from a plurality of types of programs and a plurality of types of input data files. A plurality of execution sets can be registered (S4). The setting contents are registered as a case file. For example, when the program P1 is executed based on the input data file F2 and then the program P2 is executed based on the input data file F6,
Execution set 1: Program P1 + Input data file F2
Execution set 2: Program P2 + input data file F6
Is registered in the case file. S4 will be described in detail with reference to FIG.
Finally, the program is executed according to the case file (S5). In the case of the above example, the program execution unit 134 continuously executes the execution set 1 and the execution set 2. The program execution unit 134 registers the execution result of the program, in other words, the test result in the result holding unit 152.

図6は、ログ画面200の画面図である。
ログ取得部114がログを取得すると、出力部118はログ画面200におけるログ表示領域202にログを画面表示させる。ユーザは、QTPのログをログ表示領域202にコピー&ペーストしてもよい。あるいは、出力部118は、ログ画面200の表示時において、QTPが生成したログ(ファイル)を取得し、ログ表示領域202に画面表示させてもよい。ユーザが実行ボタン204をマウス・クリックすると、次の図7に示す関数設定画面210が表示される。
FIG. 6 is a screen diagram of the log screen 200.
When the log acquisition unit 114 acquires the log, the output unit 118 displays the log on the log display area 202 in the log screen 200. The user may copy and paste the QTP log into the log display area 202. Alternatively, the output unit 118 may acquire a log (file) generated by QTP when the log screen 200 is displayed and display the log in the log display area 202. When the user clicks the execution button 204 with the mouse, a function setting screen 210 shown in FIG. 7 is displayed.

図7は、関数設定画面210の画面図である。
プログラム生成部132は、ログに含まれる符号文について関数を特定し、関数設定画面210の関数欄214に特定した関数を一覧表示させる。番号欄212は実行順序、説明欄216は関数の概要説明、オブジェクト欄218は操作対象オブジェクト、パラメータ欄219はパラメータ名、入力値欄217は入力データを示す。
先述の操作A1を示す符合文、
Browser("XYZ!").Page("XYZ!").WebEdit("p").Set"テスト"
には、あらかじめ、WebEditSet関数が関数ライブラリにおいて対応づけられている。プログラム生成部132はログ320の1番目の符合文を読み出すと、関数保持部150の関数ライブラリを参照し、WebEditSet関数を特定する。操作A1が操作対象とするオブジェクトは、「Browser("XYZ!").Page("XYZ!")」のページであるため、オブジェクト欄218には、「Browser("XYZ!").Page("XYZ!")」が設定される。WebEditSet関数は、エディットボックスp(エディットボックス302)に設定される入力データを引数とする関数である。入力値欄217において、エディットボックスpに設定すべき入力データを設定することもできるが、関数設定画面210では入力データを登録しないものとして説明する。エディットボックスpに設定すべき入力データは、図9に関連して詳述する入力設定画面230にて設定される。
FIG. 7 is a screen diagram of the function setting screen 210.
The program generation unit 132 specifies a function for the code sentence included in the log, and displays the specified function in a list in the function column 214 of the function setting screen 210. The number column 212 indicates the execution order, the description column 216 indicates the outline of the function, the object column 218 indicates the operation target object, the parameter column 219 indicates the parameter name, and the input value column 217 indicates the input data.
A sign statement indicating the above-mentioned operation A1,
Browser ("XYZ!"). Page ("XYZ!"). WebEdit ("p"). Set "Test"
The WebEditSet function is associated with the function library in advance. When the program generating unit 132 reads the first code sentence of the log 320, the program generating unit 132 refers to the function library of the function holding unit 150 and identifies the WebEditSet function. Since the object to be operated by the operation A1 is the page “Browser (“ XYZ! ”). Page (“ XYZ! ”)”, The object column 218 displays “Browser (“ XYZ! ”). Page ( "XYZ!") "Is set. The WebEditSet function is a function that takes input data set in the edit box p (edit box 302) as an argument. Although it is possible to set input data to be set in the edit box p in the input value column 217, it is assumed that no input data is registered in the function setting screen 210. Input data to be set in the edit box p is set on the input setting screen 230 described in detail with reference to FIG.

ログ320には操作A1〜A3に対応して3つの符合文が含まれているため、プログラム生成部132は3つの関数を特定する。ユーザは、関数設定画面210にて、関数を追加・削除・変更してもよい。図7における4番目のTextCheck関数と5番目のWebScreenCapture関数は、ユーザが追加選択した関数である。   Since the log 320 includes three code sentences corresponding to the operations A1 to A3, the program generation unit 132 identifies three functions. The user may add, delete, or change a function on the function setting screen 210. The fourth TextCheck function and the fifth WebScreenCapture function in FIG. 7 are functions additionally selected by the user.

TextCheck関数は、表示中のウェブページにおいて、変数qに代入される文字列が含まれているかを判定する関数である。WebScreenCapture関数は、表示中のウェブページを画面キャプチャする関数である。動作テストの結果を証跡管理する上で、WebScreenCapture関数は便利な関数である。このように、関数ライブラリには、WebEditSet関数のようにユーザの操作に対応した関数だけでなく、TestCheck関数のように動作テストを補助・支援するための関数も用意されている。ユーザは、関数ライブラリから所望の関数を選択するだけで、動作テストに含めたいロジックを設定できる。   The TextCheck function is a function for determining whether or not a character string to be substituted for the variable q is included in the displayed web page. The WebScreenCapture function is a function that captures a screen of the web page being displayed. The WebScreenCapture function is a convenient function for trail management of the results of operation tests. As described above, the function library includes not only functions corresponding to user operations such as the WebEditSet function but also functions for assisting and supporting the operation test such as the TestCheck function. The user can set logic to be included in the operation test simply by selecting a desired function from the function library.

テストケース設定ボタン215がクリックされると、図10のケース設定画面240が表示される。入力データファイル作成ボタン213がクリックされると、図9の入力設定画面230が表示される。プログラム作成ボタン211がクリックされると、図8のプログラム画面220が表示される。   When the test case setting button 215 is clicked, a case setting screen 240 in FIG. 10 is displayed. When the input data file creation button 213 is clicked, the input setting screen 230 of FIG. 9 is displayed. When the program creation button 211 is clicked, the program screen 220 of FIG. 8 is displayed.

参考技術1の動作検証装置100には、以下のメリットがある。
m1.GUI(Graphical User Interface)ベースで関数を選択するだけで、プログラムに含めたいロジックを選択できる。プログラムを作成するための手間がほとんどかからない。
m2.プログラムに含まれる関数は、関数ライブラリとして登録済みの関数であるため、作成者によってプログラムの品質がばらつきにくい。例外処理等の必要なロジックも、あらかじめ各関数に組み込まれている。
The operation verification apparatus 100 of the reference technique 1 has the following merits.
m1. The logic to be included in the program can be selected simply by selecting a function based on GUI (Graphical User Interface). There is little effort to create a program.
m2. Since the functions included in the program are functions registered as a function library, the quality of the program hardly varies depending on the creator. Necessary logic such as exception handling is also incorporated in each function in advance.

図8は、プログラム画面220の画面図である。
関数設定画面210において、プログラム作成ボタン211がマウス・クリックされると、プログラム生成部132がプログラムを生成し、プログラム画面表示部124はプログラム画面220におけるプログラム表示領域222にそのソースコードを表示させる。プログラムは、プログラム保持部144に保持される。
FIG. 8 is a screen diagram of the program screen 220.
When the program creation button 211 is clicked with the mouse on the function setting screen 210, the program generation unit 132 generates a program, and the program screen display unit 124 displays the source code in the program display area 222 in the program screen 220. The program is held in the program holding unit 144.

図9は、入力設定画面230の画面図である。
関数設定画面210において、入力データファイル作成ボタン213がマウス・クリックされると、入力設定画面表示部122は入力設定画面230を表示させる。関数設定画面210においては、パラメータpとqが定義されている。番号欄232は入力順序、変数欄234はパラメータpへの入力データ、変数欄236はパラメータqへの入力データを示す。入力設定画面230では、このパラメータpとqに代入する入力データを設定する。各入力データは、入力データファイルとして入力データファイル保持部146に保持される。
FIG. 9 is a screen diagram of the input setting screen 230.
When the input data file creation button 213 is clicked on the function setting screen 210, the input setting screen display unit 122 displays the input setting screen 230. In the function setting screen 210, parameters p and q are defined. The number column 232 indicates the input order, the variable column 234 indicates the input data to the parameter p, and the variable column 236 indicates the input data to the parameter q. On the input setting screen 230, input data to be substituted for the parameters p and q is set. Each input data is held in the input data file holding unit 146 as an input data file.

たとえば、プログラム330に、図9に示す形式の入力データファイルを与えると、
1.文字列「テスト」をエディットボックス302に入力して辞書を検索し、実行結果を示す画面に文字列「試験」が含まれているかを判定するテスト
2.文字列「test」をエディットボックス302に入力して辞書を検索し、実行結果を示す画面に文字列「試験」が含まれているかを判定するテスト
3.文字列「テストケース」をエディットボックス302に入力して辞書を検索し、実行結果を示す画面に文字列「試験」が含まれているかを判定するテスト
・・・のように、異なる入力データに基づく複数の辞書テストを連続実行できる。
For example, when an input data file in the format shown in FIG.
1. 1. A test for inputting a character string “test” into the edit box 302 to search the dictionary and determining whether the character string “test” is included in the screen showing the execution result. 2. A test for inputting a character string “test” into the edit box 302 and searching the dictionary to determine whether the character string “test” is included in the screen showing the execution result. Enter the character string “test case” in the edit box 302, search the dictionary, and determine whether the character string “test” is included in the screen showing the execution result. Multiple dictionary tests based on can be executed continuously.

図10は、ケース設定画面240の画面図である。
関数設定画面210において、テストケース設定ボタン215がマウス・クリックされると、ケース設定画面表示部126はケース設定画面240を表示させる。番号欄244は実行順序、実行セット欄245は実行セットの概要、プログラム欄246は実行対象となるプログラム、入力データファイル欄247は入力データの抽出対象となる入力データファイルを示す。
ここでは、インターネット証券のウェブ・サイトを動作テストの対象として説明する。
FIG. 10 is a screen diagram of the case setting screen 240.
When the test case setting button 215 is clicked with the mouse on the function setting screen 210, the case setting screen display unit 126 displays the case setting screen 240. The number column 244 indicates the execution order, the execution set column 245 indicates the outline of the execution set, the program column 246 indicates the program to be executed, and the input data file column 247 indicates the input data file from which the input data is to be extracted.
Here, the website of the Internet securities will be described as an operation test target.

同図においては、1.ログイン、2.ニュースチェック、3.株売り、4.債券売り、5.住所変更、6.ログアウトという6つの実行セットが登録されている。まず、QTPは、プログラム「login.vbs」から「login」プロジェクトを生成する。ここでいう「プロジェクト」とは、QTPの実行形式ファイル群を含むディレクトリである。QTPは「login」プロジェクトを入力として、login.vbsとlogin.xlsに定義された処理を実行する。ユーザが実行ボタン248をマウス・クリックすると、最初に、実行セット「ログイン」の「login」プロジェクトが実行される。1番目の実行セット「ログイン」が完了すると、実行セット「ニュースチェック」として、「ncheck」プロジェクトが実行される。   In FIG. 1. Login 2. News check, Stock sales, 4. Bond sales, 5. Address change, 6. Six execution sets called logout are registered. First, QTP generates a “login” project from the program “login.vbs”. Here, the “project” is a directory including a group of QTP execution format files. QTP executes the process defined in login.vbs and login.xls with the “login” project as input. When the user clicks the execute button 248 with a mouse, the “login” project of the execution set “login” is first executed. When the first execution set “login” is completed, the “ncheck” project is executed as the execution set “news check”.

このように、実行ボタン248がマウス・クリックされると、1.ログイン、2.ニュースチェック、3.株売り、4.債券売り、5.住所変更、6.ログアウトという6つの実行セットが連続実行される。これにより、「ログインして、ニュースをチェックした後、手持ち株と手持ち債券の売りを指示し、住所変更をした上で、ログアウトする」というテスト・シナリオに基づく動作テストを自動化できる。   Thus, when the execution button 248 is clicked with the mouse, 1. Login 2. News check, Stock sales, 4. Bond sales, 5. Address change, 6. Six execution sets called logout are executed continuously. As a result, it is possible to automate an operation test based on a test scenario of “login, check news, instruct to sell hand shares and bonds, change address, and log out”.

ユーザは、ケース設定画面240において自由にテスト・シナリオを作ることができる。たとえば、実行セット「株売り」の代わりに実行セット「株買い」を登録してもよいし、実行セット「株売り」の入力データファイルとして「stock1.xls」ではなく別の入力データファイルを登録してもよい。ケース設定画面240において登録されたテスト・シナリオはケースファイルとして記録され、ケースファイル保持部148に保持される。
テスト・シナリオの構成や入力データファイル等を少しずつ変化させることにより、動作テストのバリエーションを広げやすくなる。
The user can freely create a test scenario on the case setting screen 240. For example, instead of the execution set “Stock Sell”, you can register the execution set “Stock Purchase”, or register another input data file instead of “stock1.xls” as the input data file for the execution set “Stock Sell”. May be. The test scenario registered on the case setting screen 240 is recorded as a case file and held in the case file holding unit 148.
By changing the test scenario configuration and the input data file little by little, it becomes easier to expand the variation of the operation test.

以上、参考技術1の動作検証装置100を説明した。
動作検証装置100によれば、プログラムと入力データ、すなわち、処理とパラメータを分離できる。そして、そのためのプログラムをGUIベースの設定に基づき自動生成できる。これにより、プログラムに含めるロジックの多様性を確保しつつも、安定した品質のプログラムを簡易に生成できる。また、入力データファイルの内容を変更するだけで、動作テストの内容を変更できるため、動作テストのバリエーションを広げやすくなる。
The operation verification device 100 of the reference technique 1 has been described above.
According to the operation verification apparatus 100, a program and input data, that is, a process and a parameter can be separated. And the program for it can be automatically generated based on the setting of the GUI base. This makes it possible to easily generate a stable quality program while ensuring the diversity of logic included in the program. In addition, since the contents of the operation test can be changed simply by changing the contents of the input data file, it is easy to expand the variations of the operation test.

更に、実行セットをケースファイルに登録してテスト・シナリオを作ることにより、既存のプログラムを組合せながら、さまざまな状況における動作テストを実現できる。また、WebEditSet関数のようなテスト対象機器を操作するための関数だけでなく、WebScreenCapture関数のような動作テストを支援するための関数を用意しておくことにより、動作テストの効率や信頼性をいっそう向上させやすくなる。   Furthermore, by registering an execution set in a case file and creating a test scenario, operation tests in various situations can be realized while combining existing programs. In addition to functions for operating the test target device such as the WebEditSet function, functions such as the WebScreenCapture function for supporting the operation test are prepared to further improve the efficiency and reliability of the operation test. It becomes easy to improve.

(参考技術2)
参考技術2では、上記の参考技術1を改良した動作検証装置100を提案する。
まず、参考技術1における動作検証装置100と、参考技術2の動作検証装置100とを比較しつつ、参考技術2の動作検証装置100についてその概要を説明する。
(Reference technology 2)
The reference technique 2 proposes an operation verification apparatus 100 obtained by improving the reference technique 1.
First, an outline of the operation verification apparatus 100 of the reference technique 2 will be described while comparing the operation verification apparatus 100 of the reference technique 1 and the operation verification apparatus 100 of the reference technique 2.

図11は、参考技術1の動作検証装置100と参考技術2の動作検証装置100とのそれぞれにおける構成の概要を示す。図11(a)が示すように、参考技術1の動作検証装置100は、動作テストの実行エンジンであるQTPモジュール102と、QTPモジュール102を使用したウェブサーバ400の動作テストを効率化するためのラッパーモジュール104とを備えた。このラッパーモジュール104には、図4で示した各機能ブロックが含まれる。   FIG. 11 shows an outline of the configuration of each of the operation verification apparatus 100 of the reference technique 1 and the operation verification apparatus 100 of the reference technique 2. As shown in FIG. 11A, the operation verification apparatus 100 of the reference technique 1 is used to improve the efficiency of the operation test of the QTP module 102 which is an execution engine of the operation test and the web server 400 using the QTP module 102. And a wrapper module 104. The wrapper module 104 includes the functional blocks shown in FIG.

図11(a)において、ユーザは、QTPモジュール102を介して、動作確認の対象装置であるウェブサーバ400を操作する(S100)。ラッパーモジュール104は、その操作内容が記録されたログをQTPモジュール102から取得して、関数設定画面210をユーザに提供した(S102)。ユーザは、動作テスト実行の際、QTPモジュールが読み込み可能な動作テスト用プログラムをラッパーモジュール104において生成させ、QTPモジュール102にそのプログラムを実行させた(S104)。   In FIG. 11A, the user operates the web server 400, which is a target device for operation confirmation, via the QTP module 102 (S100). The wrapper module 104 obtains a log in which the operation content is recorded from the QTP module 102 and provides the function setting screen 210 to the user (S102). When performing the operation test, the user causes the wrapper module 104 to generate an operation test program that can be read by the QTP module, and causes the QTP module 102 to execute the program (S104).

これに対して、図11(b)が示すように、参考技術2の動作検証装置100は、動作テストの実行エンジンの機能とラッパーモジュール104の機能とが統合された統合検証モジュール106を備える。ユーザが統合検証モジュール106を介してウェブサーバ400を操作すると(S200)、統合検証モジュール106はその操作内容を逐次検出して関数設定画面210のデータを設定し、関数設定画面210をユーザに提供する(S202)。ユーザは、動作テスト実行の際、統合検証モジュール106において動作テスト用プログラムを生成させて実行させる(S204)。   On the other hand, as illustrated in FIG. 11B, the operation verification apparatus 100 according to the reference technique 2 includes an integrated verification module 106 in which the function of the operation test execution engine and the function of the wrapper module 104 are integrated. When the user operates the web server 400 via the integrated verification module 106 (S200), the integrated verification module 106 sequentially detects the operation contents, sets the data of the function setting screen 210, and provides the function setting screen 210 to the user. (S202). When executing the operation test, the user causes the integrated verification module 106 to generate and execute an operation test program (S204).

図12は、参考技術1の動作検証装置100と参考技術2の動作検証装置100とのそれぞれにおける動作の概要を示す。図12(a)は、参考技術1の動作検証装置100における動作の概要を示している。ユーザはウェブサーバ400に対するデータ入力操作を実行し(S110)、QTPモジュール102はその操作内容が記録されたログを出力する(S112)。ユーザはそのログのデータをQTPモジュール102の所定の入力エリアにコピーする(S114)。ラッパーモジュール104は所定の入力エリアに設定されたログのデータに基づいて関数設定画面を設定して表示させ(S116)、ユーザはその関数設定画面を介して追加・変更すべき関数・入力データを設定する(S118)。   FIG. 12 shows an outline of operations in each of the operation verification apparatus 100 of the reference technique 1 and the operation verification apparatus 100 of the reference technique 2. FIG. 12A shows an outline of the operation in the operation verification apparatus 100 of the reference technique 1. The user executes a data input operation on the web server 400 (S110), and the QTP module 102 outputs a log in which the operation content is recorded (S112). The user copies the log data to a predetermined input area of the QTP module 102 (S114). The wrapper module 104 sets and displays a function setting screen based on the log data set in the predetermined input area (S116), and the user adds the function / input data to be added / changed via the function setting screen. Set (S118).

ラッパーモジュール104は、関数設定画面のデータに基づいて、動作テストのためのQTP用プログラムを生成する(S120)。ユーザは、QTP用プログラムをQTPモジュール102の所定の入力エリアにコピーする(S122)。ユーザは、ケース設定画面において、QTP用プログラムと入力データファイルとをセットとして指定した動作テストのシナリオを設定する(S124)。ラッパーモジュール104は、そのシナリオに基づいて、QTP用プログラムと入力データファイルのセットをQTPモジュール102に渡して、セット毎に動作テストを実行させる(S126)。   The wrapper module 104 generates a QTP program for an operation test based on the function setting screen data (S120). The user copies the QTP program to a predetermined input area of the QTP module 102 (S122). On the case setting screen, the user sets an operation test scenario that specifies the QTP program and the input data file as a set (S124). Based on the scenario, the wrapper module 104 passes a set of the QTP program and the input data file to the QTP module 102, and executes an operation test for each set (S126).

図12(b)は、参考技術2の動作検証装置100における動作の概要を示している。ユーザは、ウェブサーバ400に対するデータ入力操作を実行する(S210)。統合検証モジュール106は、そのデータ入力操作を逐次検出して、データ入力操作に対応する関数を操作内容ファイルに記録し、その操作内容ファイルの記録データを関数設定画面において表示する(S212)。ユーザは、その関数設定画面を介して追加・変更すべき関数・入力データを操作内容ファイルに設定する(S214)。そしてユーザは、ケース設定画面において、操作内容ファイルと入力データファイルとをセットとして指定した動作テストのシナリオを設定する(S216)。統合検証モジュール106は、そのシナリオに基づいて、シナリオ内の1以上のセットを集約した動作テスト用プログラムを生成して実行する(S218)。   FIG. 12B shows an outline of the operation in the operation verification apparatus 100 of Reference Technique 2. The user executes a data input operation on the web server 400 (S210). The integrated verification module 106 sequentially detects the data input operation, records the function corresponding to the data input operation in the operation content file, and displays the recorded data of the operation content file on the function setting screen (S212). The user sets the function / input data to be added / changed in the operation content file via the function setting screen (S214). Then, on the case setting screen, the user sets an operation test scenario specifying the operation content file and the input data file as a set (S216). Based on the scenario, the integrated verification module 106 generates and executes an operation test program in which one or more sets in the scenario are aggregated (S218).

このように、参考技術1の動作検証装置100では、QTPモジュール102とラッパーモジュール104とが分離していた。したがって、両モジュールを連係させるために、ユーザ自身が仲介作業を実行する必要があった。また、ラッパーモジュール104はシナリオ内のセット毎にQTPモジュール102をコールして、テスト用プログラムをセット毎に実行させる必要があった。   As described above, in the operation verification apparatus 100 of the reference technique 1, the QTP module 102 and the wrapper module 104 are separated. Therefore, in order to link the two modules, the user himself / herself has to execute a mediation operation. Further, the wrapper module 104 needs to call the QTP module 102 for each set in the scenario and execute the test program for each set.

これに対して、参考技術2の動作検証装置100では、動作テストの実行エンジンと、その効率的な利用を実現するラッパーとが分離されることなく、シームレスに統合されている。したがって、参考技術1の動作検証装置100と比較すると、分離したモジュールを連係させるために必要であったユーザの作業が不要になり、動作テストのためのユーザの作業量が低減する。また、シナリオ内の複数のセットが集約された動作テスト用プログラムが生成され、そのプログラムの実行により一連のシナリオが実行されるため、迅速な動作テストが実現される。   On the other hand, in the operation verification apparatus 100 of the reference technique 2, the execution engine of the operation test and the wrapper that realizes its efficient use are seamlessly integrated without being separated. Therefore, compared with the operation verification apparatus 100 of the reference technique 1, the user's work required for linking the separated modules becomes unnecessary, and the user's work amount for the operation test is reduced. In addition, since an operation test program in which a plurality of sets in a scenario are aggregated is generated and a series of scenarios is executed by executing the program, a quick operation test is realized.

図13は、参考技術2の動作検証装置100の機能構成を示すブロック図である。同図の機能ブロックは、図11(b)で示した統合検証モジュール106に含まれる。参考技術2の機能ブロックのうち、参考技術1の機能ブロックに対応する機能ブロックには、同じ符号を付している。参考技術1の機能ブロックと同じ符号を付した機能ブロックについてはその機能が参考技術1に既述した内容と異なる場合に記載しており、同様の機能についてはその記載を省略する。   FIG. 13 is a block diagram illustrating a functional configuration of the operation verification apparatus 100 of the reference technique 2. The functional blocks shown in the figure are included in the integrated verification module 106 shown in FIG. Among the functional blocks of the reference technique 2, the functional blocks corresponding to the functional blocks of the reference technique 1 are denoted by the same reference numerals. Functional blocks with the same reference numerals as those of the reference technique 1 are described when the functions are different from the contents described in the reference technique 1, and description of similar functions is omitted.

データ保持部140は、操作内容ファイル保持部143と、プログラム保持部144と、入力データファイル保持部146と、ケースファイル保持部148と、関数保持部150とを有する。操作内容ファイル保持部143は、動作テスト用プログラムに設定すべき関数が記録される操作内容ファイルを記憶する。プログラム保持部144は、操作内容ファイルにしたがって生成された動作テスト用プログラムを記憶する。   The data holding unit 140 includes an operation content file holding unit 143, a program holding unit 144, an input data file holding unit 146, a case file holding unit 148, and a function holding unit 150. The operation content file holding unit 143 stores an operation content file in which a function to be set in the operation test program is recorded. The program holding unit 144 stores an operation test program generated according to the operation content file.

IF部110の入力部112は、操作検出部115とユーザ設定受付部117とを有する。操作検出部115は、ウェブサーバ400に対するユーザのデータ入力操作を逐次検出する。ユーザ設定受付部117は、関数設定画面210、入力設定画面230、ケース設定画面240に対するユーザによる設定情報を検出する。   The input unit 112 of the IF unit 110 includes an operation detection unit 115 and a user setting reception unit 117. The operation detection unit 115 sequentially detects user data input operations on the web server 400. The user setting reception unit 117 detects setting information by the user for the function setting screen 210, the input setting screen 230, and the case setting screen 240.

IF部110の出力部118は、関数設定画面表示部120と入力設定画面表示部122とケース設定画面表示部126とを有する。関数設定画面表示部120は、操作内容ファイル保持部143に記録された操作内容ファイルの内容を表示する関数設定画面210を所定の表示装置に表示させる。   The output unit 118 of the IF unit 110 includes a function setting screen display unit 120, an input setting screen display unit 122, and a case setting screen display unit 126. The function setting screen display unit 120 displays a function setting screen 210 that displays the contents of the operation content file recorded in the operation content file holding unit 143 on a predetermined display device.

データ処理部130は、プログラム生成部132と、プログラム実行部134と、テストケース登録部136と、操作記録部137と、入力データ記録部138とを有する。操作記録部137は、関数保持部150を参照して、操作検出部115において検出されたデータ入力操作に対応する関数を特定し、その関数を操作内容ファイルに記録する。また操作記録部137は、関数設定画面210に対するユーザの設定情報を操作内容ファイルに記録する。入力データ記録部138は、入力設定画面230を介してユーザが入力した入力データを入力データファイルに記録する。プログラム生成部132は、操作内容ファイルに記録された関数に応じて動作テスト用プログラムを生成する。プログラム実行部134は、動作テストの実行エンジンとして、動作テスト用プログラムを実行し、その結果を結果保持部152に記録する。   The data processing unit 130 includes a program generation unit 132, a program execution unit 134, a test case registration unit 136, an operation recording unit 137, and an input data recording unit 138. The operation recording unit 137 refers to the function holding unit 150, specifies a function corresponding to the data input operation detected by the operation detection unit 115, and records the function in the operation content file. The operation recording unit 137 records user setting information for the function setting screen 210 in an operation content file. The input data recording unit 138 records input data input by the user via the input setting screen 230 in an input data file. The program generation unit 132 generates an operation test program according to the function recorded in the operation content file. The program execution unit 134 executes an operation test program as an operation test execution engine, and records the result in the result holding unit 152.

図14は、参考技術2において、ユーザのデータ入力操作を検出して動作テストを実行するまでの概要図である。まず、ユーザはクライアント端末のウェブブラウザを操作してウェブサーバ400にアクセスし、ウェブサーバ400に対する各種操作、典型的にはウェブサーバ400が提供するウェブページに対するデータ入力操作を実行する。操作検出部115はユーザによるデータ入力操作を逐次検出し、操作記録部137は関数保持部150の関数ライブラリを読み出し、そのデータ入力操作に対応する関数を操作内容ファイルに逐次記録する(S220)。   FIG. 14 is a schematic diagram from when the user's data input operation is detected to when the operation test is executed in Reference Technology 2. First, the user operates the web browser of the client terminal to access the web server 400, and executes various operations on the web server 400, typically data input operations on web pages provided by the web server 400. The operation detection unit 115 sequentially detects data input operations by the user, and the operation recording unit 137 reads the function library of the function holding unit 150 and sequentially records the functions corresponding to the data input operations in the operation content file (S220).

次に、関数設定画面表示部120は、操作内容ファイル保持部143の操作内容ファイルを読み出し、ユーザによる操作に対応する関数を一覧表示する関数設定画面を表示させる。関数設定画面において、ユーザは、適宜、関数を追加・変更・削除でき、また、動作テスト用プログラムに静的に設定すべき入力データを設定できる。こうして、動作テスト用プログラムに含まれるべき関数が特定される。関数設定画面については、図15および図16に関連して後述する。   Next, the function setting screen display unit 120 reads the operation content file in the operation content file holding unit 143 and displays a function setting screen that displays a list of functions corresponding to the operation by the user. On the function setting screen, the user can add, change, and delete functions as appropriate, and can set input data to be statically set in the operation test program. In this way, a function to be included in the operation test program is specified. The function setting screen will be described later with reference to FIGS. 15 and 16.

次に、入力設定画面表示部122は、入力設定画面230を表示させる。ユーザは、入力設定画面230を介して、動作テストの実行時に動作テスト用プログラムに対して動的に供給されるべき入力データを設定する。ユーザにより設定された入力データは、入力データファイルに記録される(S222)。入力設定画面230については、図17に関連して後述する。   Next, the input setting screen display unit 122 displays the input setting screen 230. The user sets input data to be dynamically supplied to the operation test program when the operation test is executed via the input setting screen 230. The input data set by the user is recorded in the input data file (S222). The input setting screen 230 will be described later with reference to FIG.

次に、ケース設定画面表示部126は、ケース設定画面240を表示させる。ユーザは、複数種類の操作内容ファイルおよび複数種類の入力データファイルから、操作内容ファイルと入力データファイルとの組み合わせを実行セットとして登録する。テストケース登録部136は、1以上の実行セットをケースファイルに記録する(S224)。例えば、テストケース1において、操作内容ファイルF01の設定内容を入力データファイルF12に基づいて実行させた後、操作内容ファイルF02の設定内容を入力データファイルF16に基づいて実行させる場合、
テストケース1:
実行セット1:操作内容ファイルF01+入力データファイルF12
実行セット2:操作内容ファイルF02+入力データファイルF16
としてケースファイルに登録される。ケース設定画面240については、図18に関連して後述する。
Next, the case setting screen display unit 126 displays the case setting screen 240. The user registers a combination of an operation content file and an input data file as an execution set from a plurality of types of operation content files and a plurality of types of input data files. The test case registration unit 136 records one or more execution sets in the case file (S224). For example, in the test case 1, after the setting content of the operation content file F01 is executed based on the input data file F12, the setting content of the operation content file F02 is executed based on the input data file F16.
Test case 1:
Execution set 1: operation content file F01 + input data file F12
Execution set 2: operation content file F02 + input data file F16
Is registered in the case file. The case setting screen 240 will be described later with reference to FIG.

次に、プログラム生成部132は、ケースファイルおよび操作内容ファイルに基づいて動作テスト用プログラムを生成する(S226)。具体的には、実行セットに設定された操作内容ファイルに順次記録された関数を、動作テスト用プログラムのプログラムコードに順次設定してもよい。また、プログラム生成部132は、1つのテストケースに複数の実行セットが設定されている場合、各実行セットの操作内容ファイルに記録された関数を1つの動作テスト用プログラムに集約して設定する。   Next, the program generation unit 132 generates an operation test program based on the case file and the operation content file (S226). Specifically, the functions sequentially recorded in the operation content file set in the execution set may be sequentially set in the program code of the operation test program. Further, when a plurality of execution sets are set in one test case, the program generation unit 132 collects and sets the functions recorded in the operation content file of each execution set in one operation test program.

また、プログラム生成部132は、操作内容ファイルの関数に対して入力データそのものが設定されていた場合には、その入力データを動作テスト用プログラムに静的に設定する。例えば、動作テスト用プログラムの生成の際に、そのプログラムコードにおける関数の引数として入力データをあらかじめ設定する。また、操作内容ファイルの関数に対して入力データファイルが指定されていた場合には、その入力データファイルのデータをプログラム実行時に読み込むように設定する。   In addition, when the input data itself is set for the function of the operation content file, the program generation unit 132 statically sets the input data in the operation test program. For example, when generating an operation test program, input data is set in advance as a function argument in the program code. If an input data file is specified for the function of the operation content file, the data of the input data file is set to be read when the program is executed.

最後に、プログラム実行部134は、動作テスト用プログラムを実行して、ウェブサーバ400に対してユーザにより実行された一連の操作を再現する(S228)。入力データファイルのデータを必要とする関数に対しては、動作テスト用プログラムの実行の際に読み込んだ入力データファイルのデータを引数として渡す。すなわち、入力データファイルから動的に取得した入力データに基づいて関数を実行する。   Finally, the program execution unit 134 executes the operation test program to reproduce a series of operations performed by the user on the web server 400 (S228). For functions that require data in the input data file, the data of the input data file read when the operation test program is executed is passed as an argument. That is, the function is executed based on the input data dynamically acquired from the input data file.

図15は、関数設定画面210の画面図である。同図は、図18で後述する「検索記入.xls」を表示する関数設定画面210を示している。データファイルカラム名欄250は、パラメータに設定する入力データを記録した入力データファイルのカラム名が指定される領域である。ユーザは、入力値欄217に入力データそのものを記述してもよく、その代わりに、データファイルカラム名欄250に入力データファイルのカラム名を指定してもよい。データファイルカラム名欄250に入力データファイルのカラム名が指定された場合、動作テスト用プログラムの実行時に、その入力データファイルのカラムに設定された1以上の入力データが読み込まれて関数に渡される。   FIG. 15 is a screen diagram of the function setting screen 210. This figure shows a function setting screen 210 that displays “search entry.xls” described later in FIG. The data file column name column 250 is an area in which the column name of the input data file in which the input data set in the parameter is recorded is designated. The user may describe the input data itself in the input value field 217, or instead, may specify the column name of the input data file in the data file column name field 250. When the column name of the input data file is specified in the data file column name field 250, when the operation test program is executed, one or more input data set in the column of the input data file is read and passed to the function. .

図16は、参考技術2における関数設定画面210の画面図である。同図の「検索部署名」パラメータの入力値欄217においては、入力データの候補がドロップダウンリスト252で一覧表示されている。ドロップダウンリスト252において表示される入力データの候補は、ウェブページに対するユーザによるデータ入力の際に、そのウェブページのドロップダウンリストにおいて表示された入力データの候補である。ユーザはドロップダウンリスト252から入力データを選択することができ、入力データの設定におけるユーザの負担が軽減される。   FIG. 16 is a screen diagram of the function setting screen 210 in the reference technique 2. In the input value field 217 of the “search part signature” parameter in FIG. 9, input data candidates are listed in a drop-down list 252. The input data candidates displayed in the drop-down list 252 are input data candidates displayed in the drop-down list of the web page when the user inputs data to the web page. The user can select input data from the drop-down list 252 and the burden on the user in setting the input data is reduced.

ドロップダウンリスト252を設定するために、操作検出部115は、ウェブページに対するユーザによるデータ入力操作の際に、そのウェブページのドロップダウンリストにおいて表示された入力データの候補を取得する。例えば、ウェブサーバ400から取得されたウェブページのデータ、例えばHTMLデータからドロップダウンリストにおける入力データの候補を取得する。操作記録部137は、その入力データの候補を操作内容ファイルの入力値欄217に記録する。関数設定画面表示部120は、入力値欄217が入力される際に、操作内容ファイルに記録された入力データの候補をドロップダウンリストの形式で一覧表示させる。   In order to set the drop-down list 252, the operation detection unit 115 acquires input data candidates displayed in the drop-down list of the web page when the user performs a data input operation on the web page. For example, a candidate for input data in the drop-down list is acquired from web page data acquired from the web server 400, for example, HTML data. The operation recording unit 137 records the input data candidates in the input value field 217 of the operation content file. When the input value field 217 is input, the function setting screen display unit 120 displays a list of input data candidates recorded in the operation content file in the form of a drop-down list.

図17は、参考技術2における入力設定画面230の画面図である。図17(a)は、図15および図16の関数設定画面210においてカラム名が指定された入力データファイル「検索記入データ.xls」を表示する入力設定画面230を示している。なお、図15および図16では、図17(a)の「氏名漢字」カラムと「氏名カナ」カラムとが指定されている。図17(b)は、別の入力データファイル「ログインデータ2.xls」を表示する入力設定画面230を示している。同図の入力データファイルについては、図18に関連して後述する。   FIG. 17 is a screen diagram of the input setting screen 230 in the reference technique 2. FIG. 17A shows an input setting screen 230 that displays the input data file “search entry data.xls” in which the column name is specified in the function setting screen 210 of FIGS. 15 and 16. 15 and FIG. 16, the “name kanji” column and the “name kana” column in FIG. 17A are designated. FIG. 17B shows an input setting screen 230 that displays another input data file “login data 2.xls”. The input data file shown in the figure will be described later with reference to FIG.

図18は、参考技術2におけるケース設定画面240の画面図である。実行番号欄253には各実行セットの基本的な実行順序、テストケースID欄254にはテストケースの識別情報が設定される。グループID欄256には実行セットの繰り返し処理のグループを示す識別情報、行番号欄258には動作テストにおける入力データファイルの参照範囲が設定される。操作内容ファイル欄260は各実行セットにおける操作内容ファイル、入力データファイル欄262は各実行セットの入力データファイルが設定される。ケース設定画面240における設定内容は、ケースファイル保持部148においてケースファイルとして記憶される。   FIG. 18 is a screen diagram of the case setting screen 240 in the reference technique 2. A basic execution order of each execution set is set in the execution number column 253, and test case identification information is set in the test case ID column 254. In the group ID column 256, identification information indicating a group of execution set repetition processing is set, and in the line number column 258, a reference range of the input data file in the operation test is set. The operation content file column 260 is set with an operation content file for each execution set, and the input data file column 262 is set with an input data file for each execution set. The setting content on the case setting screen 240 is stored as a case file in the case file holding unit 148.

ケース設定画面240においてテスト実行ボタン264が押下されると、プログラム生成部132は、ケースファイルおよび操作内容ファイルにしたがって動作テスト用プログラムを生成する。具体的には、ケースファイルにおいて同一のテストケースIDが設定された1以上の操作内容ファイルに基づいて、各操作内容ファイルに記録された関数がプログラムコードに設定された1つの動作テスト用プログラムを生成する。例えば、プログラム生成部132は、図18のケース設定画面240の内容が記録されたケースファイルにしたがって、登録ケースを実行するための1つの動作テスト用プログラムと、検索ケースを実行するための1つの動作テスト用プログラムとを生成する。なお、「1つの動作テスト用プログラム」は、1つの実行単位として実行されるプログラム、言い換えれば1つの実行契機で実行されるプログラムを意味し、物理的なプログラム数は問わない。   When the test execution button 264 is pressed on the case setting screen 240, the program generation unit 132 generates an operation test program according to the case file and the operation content file. Specifically, based on one or more operation content files in which the same test case ID is set in the case file, one operation test program in which the function recorded in each operation content file is set in the program code Generate. For example, the program generation unit 132 performs one operation test program for executing a registered case and one for executing a search case in accordance with a case file in which the contents of the case setting screen 240 of FIG. 18 are recorded. An operation test program is generated. Note that “one operation test program” means a program executed as one execution unit, in other words, a program executed at one execution opportunity, and the number of physical programs is not limited.

プログラム実行部134は、各操作内容ファイルに記録された1つの関数を実行する際、その操作内容ファイルと対応づけられた入力データファイルのデータのうち、操作内容ファイルにおいてその関数と対応づけられたカラムのデータをその関数に渡す。   When the program execution unit 134 executes one function recorded in each operation content file, the program execution unit 134 associates the function with the function in the operation content file among the data of the input data file associated with the operation content file. Pass column data to the function.

また、プログラム実行部134は、同一のテストケースにおいて同一のグループIDが付与された複数の実行セットを、同一の繰り返し処理を実行すべき同一のグループとして取り扱う。具体的には、同一のグループIDが付与された複数の実行セットそれぞれの実行を繰り返し、繰り返しのたびに、各実行セットの操作内容ファイルに記録された関数に対して、入力データファイルに記録された所定数のレコードを渡す。参考技術2では、繰り返しのたびに入力データファイルに記録された1レコードを関数に渡すこととする。なお、上述の処理を実行するための繰り返し命令がプログラムコードに設定された動作テスト用プログラムを、プログラム生成部132おいて生成してもよい。   Further, the program execution unit 134 handles a plurality of execution sets assigned the same group ID in the same test case as the same group that should execute the same repeated process. Specifically, each execution set with the same group ID is repeatedly executed, and each time it is repeated, the function recorded in the operation content file of each execution set is recorded in the input data file. Pass a certain number of records. In the reference technique 2, one record recorded in the input data file is passed to the function every time it is repeated. Note that the program generation unit 132 may generate an operation test program in which a repetition instruction for executing the above-described processing is set in the program code.

また、プログラム実行部134は、行番号が指定された実行セットについては、その操作内容ファイルに記録された関数に対して、入力データファイルにおいてその行番号で特定される入力データを渡す。したがって、グループIDによる繰り返し処理が指定され、さらに行番号が指定された場合には、行番号の指定数だけその繰り返しを実行することになる。例えば、図18の登録ケースでは、実行セットをまたがったグループの設定はなく、各実行セットでは入力データ1個分の処理が実行される。これに対し、図18の検索ケースでは、各実行セットにおける入力データ1個分の処理が3回繰り返される。   Further, the program execution unit 134 passes the input data specified by the line number in the input data file to the function recorded in the operation content file for the execution set for which the line number is specified. Therefore, when the repetition process by the group ID is designated and the line number is further designated, the repetition is executed by the designated number of line numbers. For example, in the registration case of FIG. 18, there is no group setting across execution sets, and processing for one input data is executed in each execution set. On the other hand, in the search case of FIG. 18, the process for one input data in each execution set is repeated three times.

具体的には、1回目の繰り返しでは、ログイン2.xlsに記録された関数に対してログインデータ2.xlsの35行目のデータ「t_yamada」が渡される。そして、検索記入.xlsに記録された関数、具体的には図15のNo1の関数に対しては検索記入データ.xlsの1行目・氏名漢字のデータ「山田太郎」が渡される。また、図15のNo2の関数に対しては検索記入データ.xlsの1行目・氏名カナのデータ「ヤマダタロウ」が渡される。
2回目の繰り返しでは、ログイン2.xlsに記録された関数に対してログインデータ2.xlsの36行目のデータ「h_yamada」が渡される。そして、検索記入.xlsに記録された図15のNo1の関数に対して検索記入データ.xlsの2行目・氏名漢字のデータ「山田花子」が渡される。また、図15のNo2の関数に対して検索記入データ.xlsの2行目・氏名カナのデータ「ヤマダハナコ」が渡される。
3回目の繰り返しにおいても同様に、インクリメントされた行番号における入力データが各関数に渡されることになる。
Specifically, in the first iteration, login2. 1. Login data for the function recorded in xls Data “t_yamada” on the 35th line of xls is passed. And search entry. Search entry data for the function recorded in xls, specifically, the function No. 1 in FIG. The data “Taro Yamada” in the first line of the xls and full name kanji is passed. For the function No. 2 in FIG. The data “Yamada Taro” in the first line of the xls and the name Kana is passed.
In the second iteration, login 2. 1. Login data for the function recorded in xls The data “h_yamada” on the 36th line of xls is passed. And search entry. Search entry data for the function No. 1 in FIG. Data “Kana Yamada” in the second line of xls and full name kanji is passed. In addition, the search entry data for the function No. 2 in FIG. The data “Yamada Hanako” in the second line of xls and the name Kana is passed.
Similarly, in the third iteration, the input data in the incremented row number is passed to each function.

参考技術2の動作検証装置100においても、参考技術1で既述した効果を奏する。具体的には、処理とパラメータの分離、および、GUIベースの設定が実現されるため、動作テスト用プログラムに含めるロジックの多様性を確保しつつも、安定した品質のプログラムを簡易に生成できる。また、入力データファイルの設定によって、動作テストのバリエーションを広げやすくなる。さらに、ケースファイルの設定によって、様々なシナリオにおける動作テストを実現できる。   The operation verification apparatus 100 of the reference technique 2 also has the effects described in the reference technique 1. Specifically, since separation of processing and parameters and GUI-based setting are realized, it is possible to easily generate a stable quality program while ensuring the diversity of logic included in the operation test program. Moreover, it becomes easy to expand the variation of the operation test by setting the input data file. Furthermore, operation tests in various scenarios can be realized by setting case files.

参考技術2の動作検証装置100においては、さらに、動作テスト用プログラムを実行する実行エンジン機能と、実行エンジンの効率的な利用を実現するラッパー機能とがシームレスに、ユーザによる仲介を要することなく連係する。これにより、動作テストを実行するためのユーザの負担を軽減できる。また、参考技術1の動作検証装置100の場合と異なり、ユーザは、QTPのプロジェクト等、プログラム実行のための環境を意識する必要がない。すなわち、ユーザにとって理解・操作が容易な形式の操作内容ファイルと入力データファイルとを設定すればよい。これにより、ユーザは動作テストを容易に実施できるようになる。   In the operation verification apparatus 100 of Reference Technology 2, the execution engine function that executes the operation test program and the wrapper function that realizes efficient use of the execution engine are seamlessly linked without requiring user intervention. To do. Thereby, the burden on the user for executing the operation test can be reduced. Unlike the case of the operation verification apparatus 100 of the reference technique 1, the user does not need to be aware of the environment for program execution such as a QTP project. That is, an operation content file and an input data file in a format that can be easily understood and operated by the user may be set. As a result, the user can easily perform the operation test.

参考技術2の動作検証装置100においては、さらにまた、同一テストケースの複数の実行セットが集約された1つの動作テスト用プログラムが生成され、その1つの動作テスト用プログラムが実行される。参考技術1の動作検証装置100における実行セット毎、すなわち実行セットに基づき生成されたQTPのプロジェクト毎の実行と比較して、1つのテストケースにおける一連の動作テストを実行する際のオーバーヘッドが低減され、迅速な動作テストを実現できる。   In the operation verification apparatus 100 of the reference technique 2, one operation test program in which a plurality of execution sets of the same test case are aggregated is generated, and the one operation test program is executed. Compared with execution for each execution set in the operation verification apparatus 100 of the reference technology 1, that is, for each project of QTP generated based on the execution set, overhead when executing a series of operation tests in one test case is reduced. A quick operation test can be realized.

参考技術2の動作検証装置100においては、さらにまた、複数の実行セットに亘る繰り返しのグループを設定できる。これにより、実行セットを柔軟に分割でき、また、動作テストのシナリオを柔軟に設定できる。さらにまた、入力データファイルの参照範囲を設定できる。これにより、入力データファイルが同一であっても、シナリオに応じて柔軟に参照範囲を変更でき、様々なバリエーションの動作テストを容易に実現できる。   In the operation verification apparatus 100 of the reference technique 2, it is possible to set a repeated group over a plurality of execution sets. As a result, the execution set can be flexibly divided, and an operation test scenario can be flexibly set. Furthermore, the reference range of the input data file can be set. Thereby, even if the input data file is the same, the reference range can be flexibly changed according to the scenario, and various variations of the operation test can be easily realized.

上述した参考技術2においては、関数設定画面210における値設定を支援する例としてドロップダウンリスト252を示した。変形例においては、ウェブページにおけるラジオボタン、チェックボックス、リストボックス等で選択可能に表示された入力データの候補が、ドロップダウンリスト252またはその他の形式で関数設定画面210において選択可能に表示されてもよい。すなわち、動作確認対象の機器に対するデータ入力操作の際にユーザに対して様々な形式で選択可能に表示された入力データの候補が、関数設定画面210における値設定の際に選択可能に表示されてもよい。   In the reference technique 2 described above, the drop-down list 252 is shown as an example of supporting the value setting on the function setting screen 210. In the modified example, candidates for input data displayed so as to be selectable by a radio button, a check box, a list box, etc. on the web page are displayed so as to be selectable on the function setting screen 210 in a drop-down list 252 or other formats. Also good. That is, input data candidates that are displayed so as to be selectable in various formats for the user when performing a data input operation on the operation confirmation target device are displayed so as to be selectable when setting values on the function setting screen 210. Also good.

上述した参考技術1においては、ウェブサーバ400に対するユーザの操作をQTPが受け付け、ログを生成したことを条件として、動作検証装置100が動作テスト用プログラムを作成している。また、上述した参考技術2においては、ウェブサーバ400に対するユーザの操作を動作検証装置100が検出して、動作テスト用プログラムを作成している。変形例として、動作検証装置100においてウェブサーバ400からHTMLファイルを取得した時点で、動作テスト用プログラムを生成してもよい。この場合、動作検証装置100は、HTMLファイルに含まれるフォームタグを検索し、HTMLファイルにどのような入力インタフェースが含まれているかを特定する。そして、各入力インタフェースにデータを入力するための関数を選択し、これらの関数をさまざまな順序で並べれば、ユーザによる明示的なウェブ操作がなくても、動作テスト用のプログラムを生成できる。   In the reference technique 1 described above, the operation verification apparatus 100 creates an operation test program on the condition that a user operation on the web server 400 is accepted by the QTP and a log is generated. In the reference technique 2 described above, the operation verification apparatus 100 detects a user operation on the web server 400 and creates an operation test program. As a modification, an operation test program may be generated when the operation verification apparatus 100 acquires an HTML file from the web server 400. In this case, the operation verification apparatus 100 searches for a form tag included in the HTML file and specifies what input interface is included in the HTML file. If a function for inputting data to each input interface is selected and these functions are arranged in various orders, an operation test program can be generated without an explicit web operation by the user.

(実施の形態)
まず本発明の概要について説明する。図19は、動作テストの対象のウェブページを示す。このウェブページは、保険会社のウェブサイトが提供するウェブページであり、契約済みの自動車保険の中から、継続対象の自動車保険契約をユーザに選択させるウェブページである。このウェブページには、本ウェブページのタイトル「abc0100」を示すページタイトル500と、ラジオボタン502で総称されるラジオボタン502aおよびラジオボタン502bが含まれる。またウェブブラウザでの表示対象を契約者メニュー一覧のウェブページへ遷移させるための第1遷移ボタン504と、ラジオボタン502を選択した上で次のウェブページへ遷移させるための第2遷移ボタン506とがさらに含まれる。以下、ウェブページに含まれるオブジェクトであり、構造化文書においてタグ付けされたラジオボタン・リンク・送信ボタン・テキストボックス等を「要素」と呼ぶ。
(Embodiment)
First, the outline of the present invention will be described. FIG. 19 shows a web page to be subjected to the operation test. This web page is a web page provided by a website of an insurance company, and is a web page that allows a user to select a car insurance contract to be continued from among contracted car insurance. This web page includes a page title 500 indicating the title “abc0100” of this web page, and a radio button 502 a and a radio button 502 b that are collectively referred to as a radio button 502. Also, a first transition button 504 for transitioning the display target in the web browser to the web page of the contractor menu list, and a second transition button 506 for transitioning to the next web page after selecting the radio button 502 Is further included. Hereinafter, radio buttons, links, send buttons, text boxes, and the like that are objects included in a web page and tagged in a structured document are referred to as “elements”.

図19のウェブページに対する典型的なテストケースとして3つのケースを挙げる。
1:証券番号「37001」のラジオボタン502aを選択し、第2遷移ボタン506をクリックする、
2:証券番号「38002」のラジオボタン502bを選択し、第2遷移ボタン506をクリックする。
3:第1遷移ボタン504をクリックする。
実際には、保険会社のウェブサイトへログインしたユーザごとに上記テストケースを試行する必要があり、また異常系として、ラジオボタン502を未選択のまま第2遷移ボタン506をクリックする場合等、その他様々なテストケースが想定される。
There are three cases as typical test cases for the web page of FIG.
1: Select the radio button 502a of the security number “37001” and click the second transition button 506.
2: Select the radio button 502b of the security number “38002” and click the second transition button 506.
3: Click the first transition button 504.
Actually, it is necessary to try the above test case for each user who logs in to the insurance company website, and when the user clicks the second transition button 506 without selecting the radio button 502 as an abnormal system, etc. Various test cases are assumed.

図20は、図19のウェブページに対する操作が記録された操作内容ファイルを示し、図7や図15で示した関数設定画面の内容に対応する。図20の操作内容ファイルは、上記のテストケース1の操作が記録されたものであり、操作関数510は証券番号「37001」のラジオボタン502aを選択する操作に対応し、操作関数512は第2遷移ボタン506をクリックする操作に対応する。   FIG. 20 shows an operation content file in which operations for the web page of FIG. 19 are recorded, and corresponds to the contents of the function setting screen shown in FIG. 7 and FIG. The operation content file in FIG. 20 is a record of the operation of the test case 1 described above. The operation function 510 corresponds to the operation of selecting the radio button 502a of the security number “37001”, and the operation function 512 is the second. This corresponds to the operation of clicking the transition button 506.

参考技術に記載した動作検証装置を使用してウェブページの自動テストを行う場合、テストの担当者(以下、「ユーザ」と呼ぶ。)は複数のテストケースのそれぞれに対応する操作内容ファイルを作成する必要がある。例えば上記の3つのテストケースの場合、ユーザが1つのテストケースについてウェブブラウザを操作して実行し、そこで作成された操作内容ファイルを編集して残り2つのテストケース用の操作内容ファイルを作成する必要があった。   When performing an automatic web page test using the operation verification device described in the reference technology, the person in charge of the test (hereinafter referred to as “user”) creates an operation content file corresponding to each of a plurality of test cases. There is a need to. For example, in the case of the above three test cases, the user operates and executes a web browser for one test case, edits the operation content file created there, and creates operation content files for the remaining two test cases. There was a need.

そのため、ユーザには、動作検証装置においてあらかじめ定められた関数(言い換えればAPI)であり、ウェブブラウザを操作してウェブページを編集する関数の理解が求められた。例えば、ラジオボタンを操作する関数の名称は「clickRadiobuttonByValue」であること、その引数として設定すべきオブジェクトは「dom=document.contentsform.要素名」であること、送信ボタンをクリックする関数の名称は「clickAnchor」であること、その引数として設定すべきオブジェクトは「dom=document.getElementByTagName('A')[要素位置]」であること等をユーザは理解しておく必要があった。本発明者は、この状況を鑑みて、動作検証装置によるウェブページの自動テストをいっそう効率化できる余地があると考えた。   For this reason, the user is required to understand a function (in other words, an API) that is predetermined in the operation verification apparatus and that operates a web browser to edit a web page. For example, the name of the function that operates the radio button is “clickRadiobuttonByValue”, the object to be set as the argument is “dom = document.contentsform.element name”, and the name of the function that clicks the send button is “ The user had to understand that “clickAnchor” and the object to be set as the argument were “dom = document.getElementByTagName ('A') [element position]”. In view of this situation, the present inventor considered that there is room for further improving the efficiency of the automatic web page test by the operation verification apparatus.

そこで実施の形態の動作検証装置(以下、特に断らない場合、単に「動作検証装置100」と呼ぶ。)は、ウェブページでの表示内容を定めた構造化文書に記述された要素のうち、ユーザによる操作の対象となる要素(以下、「操作対象要素」とも呼ぶ。)を抽出する。   Therefore, the operation verification apparatus according to the embodiment (hereinafter, simply referred to as “operation verification apparatus 100” unless otherwise specified) is a user of the elements described in the structured document that defines the display content on the web page. The element that is the target of the operation (hereinafter also referred to as “operation target element”) is extracted.

実施の形態の操作対象要素は、ユーザからデータを受け付けるための要素であり、言い換えれば、ユーザによるデータ入力の対象となる要素(以下、「入力要素」とも呼ぶ。)を含む。入力要素は、HTMLで規定された様々なフォームタグ、例えばラジオボタン・テキストボックス等を含む。また操作対象要素は、ウェブページの表示内容を変化させる処理の契機となる要素(以下、「表示変更要素」とも呼ぶ。)をさらに含む。表示変更要素は、ウェブブラウザでの表示対象をあるウェブページから別のウェブページへ遷移させる契機となる要素、例えばリンクタグ・送信ボタンタグ等を含む。また表示変更要素は、表示対象のウェブページを切り替える契機となる要素以外も含む。具体的には、ウェブブラウザでの表示内容を更新(リロード)させる契機となる要素、例えば汎用ボタンタグやクリアボタンタグを含む。またウェブページ内部の処理コード(例えばJAVAスクリプト(登録商標)で記述されたプログラムコード)を実行させる契機となる要素、例えば汎用ボタンタグを含む。   The operation target element of the embodiment is an element for receiving data from the user, in other words, includes an element (hereinafter, also referred to as “input element”) that is a target of data input by the user. The input elements include various form tags defined by HTML, such as radio buttons and text boxes. The operation target element further includes an element (hereinafter, also referred to as “display change element”) that triggers processing for changing the display content of the web page. The display change element includes an element that triggers a transition from a web page to another web page, such as a link tag / send button tag. In addition, the display change element includes elements other than an element that triggers switching of a display target web page. Specifically, an element that triggers updating (reloading) the display content in the web browser, for example, a general-purpose button tag or a clear button tag is included. In addition, an element that triggers execution of a processing code (for example, a program code written in JAVA script (registered trademark)) inside the web page, for example, a general-purpose button tag is included.

なお実施の形態の構造化文書はHTML文書であることとする。しかし、他の種類の構造化文書、例えばXMLやJSP文書にも適用可能であることは当業者には理解されるところである。例えば、XML文書の場合、DTDやスタイルシートを参照してXML文書から操作対象要素を抽出してもよい。JSP文書の場合、JSP文書に記述されたHTMLタグにしたがって操作対象要素を抽出してもよい。   It is assumed that the structured document of the embodiment is an HTML document. However, those skilled in the art will appreciate that it is applicable to other types of structured documents, such as XML and JSP documents. For example, in the case of an XML document, an operation target element may be extracted from the XML document with reference to a DTD or a style sheet. In the case of a JSP document, the operation target element may be extracted according to an HTML tag described in the JSP document.

動作検証装置100は、構造化文書から抽出した操作対象要素に対する操作をユーザに記述させるための文書(以下、「操作記述文書」とも呼ぶ。)を出力する。図21は、操作記述文書を示す。操作記述文書は、入力要素および表示変更要素に関する情報、例えば各要素の意味を示す情報を動作検証装置100が自動で設定する要素情報設定欄520と、入力要素および表示変更要素に対する操作をユーザが記述すべき操作情報設定欄530を含む。   The operation verification apparatus 100 outputs a document (hereinafter also referred to as “operation description document”) for allowing the user to describe an operation on the operation target element extracted from the structured document. FIG. 21 shows an operation description document. The operation description document includes an element information setting field 520 in which the operation verification apparatus 100 automatically sets information on input elements and display change elements, for example, information indicating the meaning of each element, and the user performs operations on the input elements and display change elements. An operation information setting field 530 to be described is included.

要素情報設定欄520において入力要素には、構造化文書における名称を示す第1入力要素情報欄522と、要素の意味を示す第2入力要素情報欄524とが対応づけて示される。また表示変更要素には、変更先の画面内容(例えば遷移先の画面を提供するファイル名)を示す第1表示変更要素情報欄526と、要素の意味を示す第2表示変更要素情報欄528とが対応づけて示される。   In the element information setting column 520, the input elements are displayed in association with a first input element information column 522 indicating the name in the structured document and a second input element information column 524 indicating the meaning of the element. The display change element includes a first display change element information column 526 indicating the screen contents of the change destination (for example, a file name that provides the transition destination screen), and a second display change element information column 528 indicating the meaning of the element. Are shown in association with each other.

図21の操作情報設定欄530では、上記の3つのテストケースが記述されている。例えば、同図のNo1のレコードは、ラジオボタン「radRenNum」の選択肢のうち「value=0」を選択して、「次へ」ボタンをクリックすることを示しており、上記のテストケース1に対応する。No2のレコードは、ラジオボタン「radRenNum」の選択肢のうち「value=1」を選択して、「次へ」ボタンをクリックすることを示しており、上記のテストケース2に対応する。   In the operation information setting field 530 of FIG. 21, the above three test cases are described. For example, the record of No. 1 in the figure shows that “value = 0” is selected from the options of the radio button “radRenNum” and the “Next” button is clicked. To do. The record of No. 2 indicates that “value = 1” is selected from the options of the radio button “radRenNum” and the “Next” button is clicked, and corresponds to the test case 2 described above.

動作検証装置100は、操作対象要素に対する操作がユーザにより記述された操作記述文書を読み込んで、操作記述文書の各レコード(例えば図21のNO1〜3)に対応する複数の操作内容ファイルを自動設定する。なお、No3のレコードが示すように表示変更要素のみの操作がテストケースとして設定される場合もある。また、JAVAスクリプトのコードを含む構造化文書であり、入力要素へのデータ入力に伴いウェブブラウザが自動的にスクリプトコードを実行して表示内容を変化させる構造化文書のテストでは入力要素のみの操作がテストケースとして設定される場合もある。   The operation verification apparatus 100 reads an operation description document in which an operation on the operation target element is described by the user, and automatically sets a plurality of operation content files corresponding to each record (for example, NO1 to 3 in FIG. 21) of the operation description document. To do. Note that, as indicated by the record No. 3, an operation of only the display change element may be set as a test case. Also, it is a structured document that contains JAVA script code, and in the structured document test in which the web browser automatically executes the script code and changes the display contents as data is input to the input element, only the input element is operated. May be set as a test case.

実施の形態の動作検証装置100によれば、ユーザは、テスト対象の構造化文書の内容(例えば、操作対象要素の名称やvalue属性の値)を把握していれば操作記述文書に対して操作を記述することができる。言い換えれば、動作検証装置100は、動作検証装置100が定める関数の理解をユーザに強いることなく、効率的な構造化文書の自動テストの実現を支援する。また動作検証装置100は、構造化文書に記述された操作対象要素の名称や、その意味を示す情報を操作記述文書へ転記するため、操作記述文書に対する操作の記述を一層容易なものにすることができる。またユーザは操作対象要素への複数種類の操作内容を1つの操作記述文書に集約して記述すれば、各操作内容に対応した複数の操作内容ファイルが作成されるため、ユーザの負担を低減して効率的なテストを実現できる。   According to the operation verification apparatus 100 of the embodiment, if the user knows the contents of the structured document to be tested (for example, the name of the operation target element and the value of the value attribute), the user operates the operation description document. Can be described. In other words, the operation verification apparatus 100 supports the realization of an efficient automatic test of structured documents without forcing the user to understand the function defined by the operation verification apparatus 100. Further, since the operation verification apparatus 100 transfers the name of the operation target element described in the structured document and information indicating the meaning thereof to the operation description document, it is possible to further easily describe the operation on the operation description document. Can do. Also, if a user collects and describes a plurality of types of operation contents for an operation target element in one operation description document, a plurality of operation contents files corresponding to each operation contents are created, thereby reducing the burden on the user. Efficient testing.

以下、図22〜図24に亘り実施の形態の動作検証装置100の機能構成を詳述する。図22〜図24は図13のブロック図に対応する。なお、参考技術に記載した機能ブロックと同一もしくは対応する機能ブロックには同じ符号を付しており、参考技術に記載した説明と重複する説明は省略する。以降説明する各機能ブロックは、参考技術の動作検証装置にアドインされるプログラムモジュールとして実装されてもよい。   Hereinafter, the functional configuration of the operation verification apparatus 100 according to the embodiment will be described in detail with reference to FIGS. 22 to 24 correspond to the block diagram of FIG. In addition, the same code | symbol is attached | subjected to the functional block same or corresponding to the functional block described in the reference technique, and the description which overlaps with the description described in the reference technique is abbreviate | omitted. Each functional block described below may be implemented as a program module added into the operation verification apparatus of the reference technology.

図22は、動作検証装置100のIF部110の詳細を示すブロック図である。IF部110の入力部112は文書受付部540をさらに含み、出力部118は操作記述文書出力部542をさらに含む。   FIG. 22 is a block diagram illustrating details of the IF unit 110 of the operation verification apparatus 100. The input unit 112 of the IF unit 110 further includes a document reception unit 540, and the output unit 118 further includes an operation description document output unit 542.

文書受付部540は、構造化文書を指定した操作記述文書の作成要求をユーザが動作検証装置100へ入力した場合、その要求を受け付ける。そして、その要求で指定された構造化文書のデータを読み込む。例えば、操作記述文書の作成要求においてウェブサーバ400が提供するウェブページのURL、すなわち構造化文書のURLが指定された場合、文書受付部540はそのURLを指定してウェブサーバ400から構造化文書を取得し、メモリに格納してもよい。   When the user inputs a request for creating an operation description document specifying a structured document to the operation verification apparatus 100, the document reception unit 540 receives the request. Then, the data of the structured document designated by the request is read. For example, when the URL of the web page provided by the web server 400, that is, the URL of the structured document is designated in the operation description document creation request, the document reception unit 540 designates the URL and designates the structured document from the web server 400. May be obtained and stored in memory.

また文書受付部540は、操作記述文書を指定した操作内容ファイルの作成要求をユーザが動作検証装置100へ入力した場合、その要求を受け付ける。そして、その要求で指定された操作記述文書のデータを読み込む。例えば、操作内容ファイルの作成要求において動作検証装置100における操作記述文書のパス名が指定された場合、文書受付部540はそのパス名で特定される操作記述文書を取得し、メモリに格納してもよい。   In addition, when the user inputs a request for creating an operation content file designating an operation description document to the operation verification apparatus 100, the document reception unit 540 receives the request. Then, the operation description document data designated by the request is read. For example, when the path name of the operation description document in the operation verification apparatus 100 is specified in the operation content file creation request, the document reception unit 540 acquires the operation description document specified by the path name, stores it in the memory, and Also good.

操作記述文書出力部542は、後述の操作記述文書設定部550により設定された操作記述文書のデータを所定の記憶領域へ格納する。例えば、操作記述文書の作成要求において当該文書の出力ディレクトリが指定された場合、操作記述文書出力部542はそのディレクトリに操作記述文書を保存してもよい。   The operation description document output unit 542 stores the data of the operation description document set by the operation description document setting unit 550 described later in a predetermined storage area. For example, when the output directory of the document is specified in the operation description document creation request, the operation description document output unit 542 may store the operation description document in the directory.

図23は、動作検証装置100のデータ保持部140の詳細を示すブロック図である。データ保持部140は、要素情報保持部544と対応関係保持部546をさらに含む。要素情報保持部544は、操作記述文書に設定された要素に関する属性情報を保持する記憶領域である。例えば、図21の入力要素「radRenNum」と対応づけてラジオボタンであることを示す情報や、要素名が「radRenNum」であることを示す情報を保持する。図21の表示変更要素「次へ」と対応づけて送信ボタンであることを示す情報や、構造化文書内でのアンカー位置が「7」であること示す情報を保持する。このアンカー位置は、例えば、文書内の先頭アンカーの位置を「0」として、以降のアンカーの記述の都度インクリメントした数値であってもよい。   FIG. 23 is a block diagram illustrating details of the data holding unit 140 of the operation verification apparatus 100. The data holding unit 140 further includes an element information holding unit 544 and a correspondence relationship holding unit 546. The element information holding unit 544 is a storage area that holds attribute information related to elements set in the operation description document. For example, information indicating that a radio button is associated with the input element “radRenNum” in FIG. 21 and information indicating that the element name is “radRenNum” are stored. Information indicating that the button is a send button in association with the display change element “next” in FIG. 21 and information indicating that the anchor position in the structured document is “7” are held. The anchor position may be, for example, a numerical value that is incremented every time the description of the anchor is made after setting the position of the first anchor in the document to “0”.

対応関係保持部546は、動作検証装置100において予め定められて関数保持部150に保持された関数であり、構造化文書の要素を操作するための関数と、操作記述文書に記述される操作対象要素への操作との対応関係を保持する記憶領域である。例えば、操作記述文書におけるラジオボタンへの操作を示す情報と対応づけて、関数「clickRadiobuttonByValue」と、その引数となるオブジェクトの雛形「dom=document.contentsform.要素名称」を保持する。また、操作記述文書における送信ボタンのクリック操作を示す情報と対応づけて、関数「clickAnchor」と、その引数となるオブジェクトの雛形「dom=document.getElementByTagName('A')[要素位置]」を保持する。対応関係保持部546に保持される対応関係は図27においても後述する。   The correspondence relationship holding unit 546 is a function that is determined in advance in the operation verification apparatus 100 and held in the function holding unit 150. The function for operating the elements of the structured document and the operation target described in the operation description document This is a storage area that holds a correspondence relationship with an operation on an element. For example, the function “clickRadiobuttonByValue” and the template “dom = document.contentsform.element name” of the object serving as the argument are stored in association with information indicating the operation on the radio button in the operation description document. In addition, the function “clickAnchor” and the object model “dom = document.getElementByTagName ('A') [element position]” are stored in association with information indicating the click operation of the send button in the operation description document. To do. The correspondence held in the correspondence holding unit 546 will be described later with reference to FIG.

図24は、動作検証装置100のデータ処理部130の詳細を示すブロック図である。データ処理部130は、要素抽出部548と操作記述文書設定部550と操作情報変換部552をさらに含む。   FIG. 24 is a block diagram illustrating details of the data processing unit 130 of the operation verification apparatus 100. The data processing unit 130 further includes an element extraction unit 548, an operation description document setting unit 550, and an operation information conversion unit 552.

要素抽出部548は、操作記述文書の作成要求に応じて文書受付部540により構造化文書が読み込まれた場合、その構造化文書のデータから操作対象要素を抽出する。具体的には、構造化文書に記述された要素のうち、入力要素に関するデータおよび表示変更要素に対するデータを識別して、それらのデータをメモリへ格納する。   When a structured document is read by the document reception unit 540 in response to a request for creating an operation description document, the element extraction unit 548 extracts an operation target element from the data of the structured document. Specifically, among the elements described in the structured document, data relating to the input element and data relating to the display change element are identified, and those data are stored in the memory.

図25は、構造化文書に記載された入力要素の例を示す。ラジオボタン560は、図19のラジオボタン502に対応する。要素抽出部548は、ラジオボタン560の記述を検出すると、「input type="radio"」を入力要素「ラジオボタン」として識別する。またname="radRenNum"を要素名称として識別する。また当該ラジオボタンを囲むラベル「証券番号」を要素意味として識別する。また要素抽出部548は、テキストボックス562の記述を検出すると、「input type="text"」を入力要素「テキストボックス」として識別する。またname="uid"を要素名称として識別する。また当該テキストボックスと対応づけられたラベル「ユーザID」を要素意味として識別する。   FIG. 25 shows an example of input elements described in a structured document. The radio button 560 corresponds to the radio button 502 in FIG. Upon detecting the description of the radio button 560, the element extraction unit 548 identifies “input type =“ radio ”” as the input element “radio button”. Also, name = "radRenNum" is identified as the element name. Further, the label “securities number” surrounding the radio button is identified as an element meaning. Further, when detecting the description of the text box 562, the element extracting unit 548 identifies “input type =“ text ”” as the input element “text box”. Also, name = "uid" is identified as the element name. Further, the label “user ID” associated with the text box is identified as an element meaning.

また要素抽出部548は、チェックボックス564の記述を検出すると、「input type="checkbox"」を入力要素「チェックボックス」として識別する。またname="rank"を要素名称として識別する。また当該チェックボックスと対応づけられたラベル「グリーン免許」・「普通免許」・「ゴールド免許」のうち少なくとも1つを要素意味として識別する。また要素抽出部548は、プルダウンメニュー566の記述を検出すると、「select」を入力要素「プルダウンメニュー」として識別する。またname="age"を要素名称として識別する。また当該プルダウンメニューと対応づけられたラベル「年齢」を要素意味として識別する。   When the element extraction unit 548 detects the description of the check box 564, the element extraction unit 548 identifies “input type =“ checkbox ”” as the input element “check box”. Also, name = "rank" is identified as the element name. Further, at least one of labels “green license”, “normal license”, and “gold license” associated with the check box is identified as an element meaning. When the element extraction unit 548 detects the description of the pull-down menu 566, the element extraction unit 548 identifies “select” as the input element “pull-down menu”. Also, name = "age" is identified as the element name. Also, the label “age” associated with the pull-down menu is identified as an element meaning.

図26は、構造化文書に記載された表示変更要素の例を示す。要素抽出部548は、リンク570の記述を検出すると、「a href」を表示変更要素として識別する。また「help.html」を変更先名称として識別する。また「alt="ヘルプ画面"」を変更先説明として識別する。なおアンカータグにより囲まれた文字列「ヘルプ画面へ」を変更先説明として識別してもよい。   FIG. 26 shows an example of the display change element described in the structured document. When detecting the description of the link 570, the element extraction unit 548 identifies “a href” as a display change element. In addition, “help.html” is identified as the name of the change destination. In addition, “alt =“ help screen ”” is identified as the change destination description. Note that the character string “to help screen” enclosed by the anchor tag may be identified as the change destination description.

また図26の送信ボタン572は図19の第1遷移ボタン504に対応する。要素抽出部548は、送信ボタン572の記述を検出すると、「form〜input type="submit"」を表示変更要素として識別する。また「submit.cgi」を変更先名称として識別する。またvalue値の「契約者メニューへ」を変更先説明として識別する。また要素抽出部548は、汎用ボタン574の記述を検出すると、「button」を表示変更要素として識別する。また「location.reload()」を変更先名称として識別する。またボタンタグにより囲まれた文字列「ページを更新」を変更先説明として識別する。   26 corresponds to the first transition button 504 in FIG. When the description of the send button 572 is detected, the element extraction unit 548 identifies “form to input type =“ submit ”” as a display change element. In addition, “submit.cgi” is identified as the name of the change destination. Also, the value value “To Contractor Menu” is identified as the description of the change destination. In addition, when detecting the description of the general-purpose button 574, the element extraction unit 548 identifies “button” as a display change element. In addition, “location.reload ()” is identified as the name of the change destination. In addition, the character string “update page” surrounded by the button tags is identified as the change destination description.

操作記述文書設定部550は、1つの構造化文書から要素抽出部548が抽出した操作対象要素の情報を同一の操作記述文書のデータとしてまとめて設定することにより操作記述文書を生成する。具体的には、入力要素の要素名称の文字列を第1入力要素情報欄522へ転記し、要素意味の文字列を第2入力要素情報欄524へ転記する。また表示変更要素の変更先名称の文字列を第1表示変更要素情報欄526へ転記し、変更先説明の文字列を第2表示変更要素情報欄528へ転記する。   The operation description document setting unit 550 generates an operation description document by collectively setting information on operation target elements extracted by the element extraction unit 548 from one structured document as data of the same operation description document. Specifically, the character string of the element name of the input element is transferred to the first input element information column 522, and the character string of the element meaning is transferred to the second input element information column 524. In addition, the character string of the change destination name of the display change element is transferred to the first display change element information column 526, and the character string of the change destination description is transferred to the second display change element information column 528.

また操作記述文書設定部550は、操作対象要素の情報を操作記述文書へ設定する際、その操作対象要素の情報を要素情報保持部544へも格納する。例えば、操作記述文書における操作対象要素の記載位置(例えば何カラム目かを示す情報)と、その操作対象要素の種類(ラジオボタン・テキストボックス・送信ボタン等)を示す情報を対応づけて記録する。表示変更要素の場合にはそのアンカー位置を示す情報をさらに記録する。   The operation description document setting unit 550 also stores information on the operation target element in the element information holding unit 544 when setting the operation target element information in the operation description document. For example, the description position (for example, information indicating the column number) of the operation target element in the operation description document and the information indicating the type of the operation target element (radio button, text box, send button, etc.) are recorded in association with each other. . In the case of a display change element, information indicating the anchor position is further recorded.

操作情報変換部552は、文書受付部540により読み込まれた操作記述文書に記述された操作対象要素への操作内容を、対応関係保持部546に保持された対応関係にしたがって動作検証装置100において予め定められた関数へ変換、言い換えればマッピングする。これにより、参考技術で説明した操作内容ファイルを作成する。また操作情報変換部552は、1つの操作記述文書に操作対象要素に対する複数種類の操作が記述されている場合、各操作に対応した複数の操作内容ファイルを作成する。例えば、図21で示した操作記述文書の3つのレコードに対応する3つの操作内容ファイル(そのうちの1つは図20の操作内容ファイル)のデータを設定する。   The operation information conversion unit 552 causes the operation verification apparatus 100 to store the operation contents for the operation target element described in the operation description document read by the document reception unit 540 according to the correspondence relationship held in the correspondence relationship holding unit 546 in advance. Convert to a defined function, in other words, map. As a result, the operation content file described in the reference technique is created. The operation information conversion unit 552 creates a plurality of operation content files corresponding to each operation when a plurality of types of operations for the operation target element are described in one operation description document. For example, data of three operation content files (one of which is the operation content file of FIG. 20) corresponding to the three records of the operation description document shown in FIG. 21 is set.

操作情報変換部552は、操作記述文書の1レコード内に入力要素への操作と、表示変更要素への操作の両方が記述されている場合、入力要素への操作に対応する関数の呼び出し順序を、表示変更要素への操作に対応する関数の呼び出し順序より先になるよう設定する。具体的には、操作内容ファイルにおいて、入力要素への操作に対応する関数を、表示変更要素への操作に対応する関数より実行順序の上位に記録する。操作情報変換部552は、操作記述文書にもとづいて作成した操作内容ファイルを操作内容ファイル保持部143へ格納する。   When both the operation to the input element and the operation to the display change element are described in one record of the operation description document, the operation information conversion unit 552 changes the calling order of the function corresponding to the operation to the input element. , Set to be ahead of the calling order of the function corresponding to the operation to the display change element. Specifically, in the operation content file, the function corresponding to the operation on the input element is recorded in the higher order of execution than the function corresponding to the operation on the display change element. The operation information conversion unit 552 stores the operation content file created based on the operation description document in the operation content file holding unit 143.

図27は、操作情報変換部552による変換例を模式的に示す。図27のNo1は、図25のラジオボタン560について37001(value=0)が選択された場合を示している。対応関係保持部546においてラジオボタンへの入力操作は関数「clickRadiobuttonByValue」とオブジェクトの雛形「dom=document.contentsform.要素名」と対応づけられている。操作情報変換部552は、操作記述文書に記述された操作対象要素の属性情報を要素情報保持部544から取得し、その操作対象要素がラジオボタンである場合、操作内容ファイルの関数欄に「clickRadiobuttonByValue」を設定する。また要素名「radRenNum」を設定した「dom=document.contentsform.radRenNum」をオブジェクト欄に設定する。そして、操作記述文書にユーザが記述した「value=0」をパラメータ値欄に設定する。なお、この設定内容は、図20の操作関数510に対応する。   FIG. 27 schematically shows a conversion example by the operation information conversion unit 552. No. 1 in FIG. 27 indicates a case where 37001 (value = 0) is selected for the radio button 560 in FIG. In the correspondence holding unit 546, the input operation to the radio button is associated with the function “clickRadiobuttonByValue” and the object template “dom = document.contentsform.element name”. The operation information conversion unit 552 acquires the attribute information of the operation target element described in the operation description document from the element information holding unit 544, and when the operation target element is a radio button, “clickRadiobuttonByValue” is displayed in the function column of the operation content file. "Is set. Also, set “dom = document.contentsform.radRenNum” with the element name “radRenNum” in the object field. Then, “value = 0” described by the user in the operation description document is set in the parameter value column. This setting content corresponds to the operation function 510 in FIG.

また図27のNo2は、図25のテキストボックス562に対して文字列「user123」が入力された場合を示している。対応関係保持部546においてテキストボックスへの入力操作は関数「typeText」とオブジェクトの雛形「dom=document.contentsform.elements['contentsform:要素名']」と対応づけられている。操作情報変換部552は、操作記述文書に記述された操作対象要素の属性情報を要素情報保持部544から取得し、その操作対象要素がテキストボックスである場合、操作内容ファイルの関数欄に「typeText」を設定する。また要素名「uid」を設定した「dom=document.contentsform.elements['contentsform:uid']」をオブジェクト欄に設定する。そして、操作記述文書にユーザが記述した「user123」をパラメータ値欄に設定する。   No. 2 in FIG. 27 indicates a case where the character string “user123” is input to the text box 562 in FIG. In the correspondence holding unit 546, the input operation to the text box is associated with the function “typeText” and the object template “dom = document.contentsform.elements ['contentsform: element name']”. The operation information conversion unit 552 acquires the attribute information of the operation target element described in the operation description document from the element information holding unit 544, and when the operation target element is a text box, “typeText” is displayed in the function column of the operation content file. "Is set. In addition, “dom = document.contentsform.elements ['contentsform: uid']” in which the element name “uid” is set is set in the object column. Then, “user123” described by the user in the operation description document is set in the parameter value column.

また図27のNo3は、図25のチェックボックス564についてグリーン免許(value=green)が選択された場合を示している。対応関係保持部546においてチェックボックスへの入力操作は関数「clickCheckboxByValue」とオブジェクトの雛形「dom=document.contentsform.要素名」と対応づけられている。操作情報変換部552は、操作記述文書に記述された操作対象要素の属性情報を要素情報保持部544から取得し、その操作対象要素がチェックボックスである場合、操作内容ファイルの関数欄に「clickCheckboxByValue」を設定する。また要素名「rank」を設定した「dom=document.contentsform.rank」をオブジェクト欄に設定する。そして、操作記述文書にユーザが記述した「value=green」をパラメータ値欄に設定する。   No. 3 in FIG. 27 shows a case where a green license (value = green) is selected for the check box 564 in FIG. In the correspondence holding unit 546, the input operation to the check box is associated with the function “clickCheckboxByValue” and the object template “dom = document.contentsform.element name”. The operation information conversion unit 552 acquires the attribute information of the operation target element described in the operation description document from the element information holding unit 544, and when the operation target element is a check box, the operation information file displays “clickCheckboxByValue” in the function column. "Is set. In addition, “dom = document.contentsform.rank” in which the element name “rank” is set is set in the object column. Then, “value = green” described by the user in the operation description document is set in the parameter value column.

また図27のNo4は、図25のプルダウンメニュー566について20代(value=20)が選択された場合を示している。対応関係保持部546においてプルダウンメニューへの入力操作は関数「select」とオブジェクトの雛形「dom=document.contentsform.elements['contentsform:要素名']」と対応づけられている。操作情報変換部552は、操作記述文書に記述された操作対象要素の属性情報を要素情報保持部544から取得し、その操作対象要素がプルダウンメニューである場合、操作内容ファイルの関数欄に「select」を設定する。また要素名「age」を設定した「dom=document.contentsform.elements['contentsform:age']」をオブジェクト欄に設定する。そして、操作記述文書にユーザが記述した「value=20」をパラメータ値欄に設定する。   No. 4 in FIG. 27 shows a case where the twenties (value = 20) are selected for the pull-down menu 566 in FIG. In the correspondence holding unit 546, the input operation to the pull-down menu is associated with the function “select” and the object template “dom = document.contentsform.elements ['contentsform: element name']”. The operation information conversion unit 552 acquires the attribute information of the operation target element described in the operation description document from the element information holding unit 544, and when the operation target element is a pull-down menu, “select” is displayed in the function column of the operation content file. "Is set. In addition, “dom = document.contentsform.elements ['contentsform: age']” in which the element name “age” is set is set in the object column. Then, “value = 20” described by the user in the operation description document is set in the parameter value column.

また図27のNo5は、図26のリンク570のクリック操作が指定された場合を示している。対応関係保持部546においてハイパーリンクのクリック操作は関数「clickAnchor」とオブジェクトの雛形「dom=document.getElementByTagName('A')[要素位置]」と対応づけられている。操作情報変換部552は、操作記述文書に記述された操作対象要素の属性情報を要素情報保持部544から取得し、その操作対象要素がリンクである場合、操作内容ファイルの関数欄に「clickAnchor」を設定する。また要素情報保持部544に保持されたアンカー位置(ここでは「7」とする)を設定した「dom=document.getElementByTagName('A')[7]」をオブジェクト欄に設定する。   No. 5 in FIG. 27 shows a case where the click operation of the link 570 in FIG. 26 is designated. In the correspondence holding unit 546, the hyperlink click operation is associated with the function “clickAnchor” and the object template “dom = document.getElementByTagName ('A') [element position]”. The operation information conversion unit 552 acquires the attribute information of the operation target element described in the operation description document from the element information holding unit 544, and when the operation target element is a link, “clickAnchor” is displayed in the function column of the operation content file. Set. Further, “dom = document.getElementByTagName ('A') [7]” in which the anchor position (here, “7”) held in the element information holding unit 544 is set is set in the object column.

また図27のNo6は、図26の送信ボタン572のクリック操作が指定された場合を示している。対応関係保持部546において送信ボタンのクリック操作は関数「clickAnchor」とオブジェクトの雛形「dom=document.getElementByTagName('A')[要素位置]」と対応づけられている。操作情報変換部552は、操作記述文書に記述された操作対象要素の属性情報を要素情報保持部544から取得し、その操作対象要素が送信ボタンである場合、操作内容ファイルの関数欄に「clickAnchor」を設定する。また要素情報保持部544に保持されたアンカー位置(ここでは「5」とする)を設定した「dom=document.getElementByTagName('A')[5]」をオブジェクト欄に設定する。なお、図26の汎用ボタン574のクリック操作が指定された場合もオブジェクト欄に設定するアンカー位置が異なる以外は同様の設定内容になる。   No. 6 in FIG. 27 shows a case where the click operation of the transmission button 572 in FIG. 26 is designated. In the correspondence relationship holding unit 546, the click operation of the send button is associated with the function “clickAnchor” and the object template “dom = document.getElementByTagName ('A') [element position]”. The operation information conversion unit 552 acquires the attribute information of the operation target element described in the operation description document from the element information holding unit 544, and when the operation target element is a send button, the operation information file displays “clickAnchor” in the function column. "Is set. Also, “dom = document.getElementByTagName ('A') [5]” in which the anchor position (here, “5”) held in the element information holding unit 544 is set is set in the object field. It should be noted that when the click operation of the general-purpose button 574 in FIG. 26 is designated, the same setting contents are obtained except that the anchor position set in the object column is different.

以上の構成による動作を以下説明する。
図28は、動作検証装置100の動作を示すフローチャートである。文書受付部540はテスト対象の構造化文書を指定した操作記述文書の作成要求をユーザから受け付けると(S300のY)、その構造化文書を読み込む(S302)。要素抽出部548は、読み込まれた構造化文書に記述された操作対象要素に関する情報を抽出する(S304)。操作記述文書設定部550は操作対象要素に関する情報を設定した文書であり、ユーザに操作対象要素への操作内容を記述させるための操作記述文書のデータを設定し、操作記述文書出力部542は操作記述文書をユーザが指定したディレクトリへ出力する(S306)。操作記述文書の作成要求を受け付けなければ(S300のN)、S302からS306をスキップする。
The operation of the above configuration will be described below.
FIG. 28 is a flowchart showing the operation of the operation verification apparatus 100. When the document accepting unit 540 accepts a request for creating an operation description document designating a structured document to be tested from a user (Y in S300), the document accepting unit 540 reads the structured document (S302). The element extraction unit 548 extracts information on the operation target element described in the read structured document (S304). The operation description document setting unit 550 is a document in which information related to the operation target element is set. The operation description document setting unit 550 sets operation description document data for allowing the user to describe the operation content of the operation target element. The operation description document output unit 542 The description document is output to the directory designated by the user (S306). If an operation description document creation request is not accepted (N in S300), S302 to S306 are skipped.

文書受付部540は操作記述文書を指定した操作内容ファイルの作成要求をユーザから受け付けると(S308のY)、その操作記述文書を読み込む(S310)。操作情報変換部552は、動作検証装置100において予め定められた関数であり、操作記述文書に記述された操作対象要素への操作に対応する関数を呼び出すことを定めた操作内容ファイルを作成して操作内容ファイル保持部143へ格納する(S312)。操作情報変換部552は、操作記述文書にユーザが記述した操作内容を示すレコード(行)ごとにS312の処理を実行し、各レコードに対応した操作内容ファイルを作成する。操作内容ファイルの作成要求が受け付けられなければ(S308のN)、S310およびS312をスキップする。   When the document receiving unit 540 receives a request for creating an operation content file designating an operation description document from the user (Y in S308), the document reception unit 540 reads the operation description document (S310). The operation information conversion unit 552 is a function predetermined in the operation verification apparatus 100, and creates an operation content file that specifies calling a function corresponding to an operation on the operation target element described in the operation description document. The operation content is stored in the file holding unit 143 (S312). The operation information conversion unit 552 executes the processing of S312 for each record (row) indicating the operation content described by the user in the operation description document, and creates an operation content file corresponding to each record. If the operation content file creation request is not accepted (N in S308), S310 and S312 are skipped.

テスト対象の構造化文書に対するテストの実行要求が受け付けられると(S314のY)、プログラム生成部132は、操作内容ファイル保持部143に保持された操作内容ファイルに記述された関数について、オブジェクト欄およびパラメータ値欄の値を引数として各関数を呼び出すステップを組み合わせたテスト・プログラムを生成する(S316)。プログラム実行部134は、テスト・プログラムに記述された関数を順次呼び出すことにより構造化文書を表示したウェブブラウザを介してウェブページに対する操作をユーザに代わり実行する(S318)。テストの実行要求が受け付けられなければ(S314のN)、S316およびS318をスキップする。   When a test execution request for the structured document to be tested is received (Y in S314), the program generation unit 132 sets the object field and the function described in the operation content file held in the operation content file holding unit 143 for the functions described in the operation content file. A test program is generated by combining the steps of calling each function using the value in the parameter value column as an argument (S316). The program execution unit 134 executes operations on the web page on behalf of the user via the web browser displaying the structured document by sequentially calling the functions described in the test program (S318). If the test execution request is not accepted (N in S314), S316 and S318 are skipped.

以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   The present invention has been described based on the embodiments. This embodiment is an exemplification, and it will be understood by those skilled in the art that various modifications can be made to combinations of the respective constituent elements and processing processes, and such modifications are also within the scope of the present invention. is there.

上記実施の形態では言及していないが、操作情報変換部552は、操作記述文書に記述された操作に対応する関数を操作内容ファイルへ設定する都度、ウェブページの表示内容を証左物として記録するための関数を操作内容ファイルへ自動で付加してもよい。例えば、図21の操作記述文書のNO1のレコードにもとづいて図20の操作内容ファイルを設定する場合、操作関数510の前・操作関数510の次・操作関数512の次のそれぞれにスクリーンショット操作に対応する関数を付加してもよい。   Although not mentioned in the above embodiment, the operation information conversion unit 552 records the display content of the web page as a proof every time a function corresponding to the operation described in the operation description document is set in the operation content file. Function may be automatically added to the operation content file. For example, when the operation content file of FIG. 20 is set based on the NO1 record of the operation description document of FIG. 21, the screen shot operation is performed before the operation function 510, next to the operation function 510, and next to the operation function 512. A corresponding function may be added.

請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。例えば、請求項に記載のプログラム生成部は、操作情報変換部552とプログラム生成部132との連携により実現されてもよい。また、操作内容ファイルの内容は実質的にテスト実行コードであると言えるため、請求項に記載のプログラム生成部は、操作情報変換部552により実現されると言えることも当業者には理解されるところである。   It should also be understood by those skilled in the art that the functions to be fulfilled by the constituent elements described in the claims are realized by the individual constituent elements shown in the embodiments and the modification examples or by their cooperation. For example, the program generation unit described in the claims may be realized by cooperation between the operation information conversion unit 552 and the program generation unit 132. Further, since it can be said that the content of the operation content file is substantially a test execution code, it is understood by those skilled in the art that the program generation unit described in the claims can be realized by the operation information conversion unit 552. By the way.

100 動作検証装置、 132 プログラム生成部、 540 文書受付部、 542 操作記述文書出力部、 544 要素情報保持部、 546 対応関係保持部、 548 要素抽出部、 550 操作記述文書設定部、 552 操作情報変換部。   DESCRIPTION OF SYMBOLS 100 Operation verification apparatus, 132 Program generation part, 540 Document reception part, 542 Operation description document output part, 544 Element information holding part, 546 Correspondence relation holding part, 548 Element extraction part, 550 Operation description document setting part, 552 Operation information conversion Department.

Claims (6)

画面の表示内容を定めた構造化文書を取得する取得部と、
取得された構造化文書に記述された要素のうち、前記画面の表示内容を変化させる処理の契機となる要素を表示変更要素として抽出する抽出部と、
抽出された表示変更要素への操作をユーザに記述させるための文書を操作記述文書として出力する出力部と、
前記画面の表示内容を確認するためのテスト・プログラムを実行させる検証装置において予め定められた前記要素を操作するための関数と、前記操作記述文書に記述される前記表示変更要素への操作との対応関係を保持する対応関係保持部と、
前記対応関係にしたがって、前記操作記述文書に記述された前記表示変更要素への操作に対応した前記検証装置が定める関数を呼び出すプログラムコードを設定することにより前記テスト・プログラムを生成するプログラム生成部と、
を備えることを特徴とする情報処理装置。
An acquisition unit that acquires a structured document that defines the display content of the screen;
An extraction unit that extracts, as a display change element, an element that triggers a process of changing the display content of the screen among the elements described in the acquired structured document;
An output unit for outputting, as an operation description document, a document for allowing a user to describe an operation on the extracted display change element;
A function for operating a predetermined element in a verification device that executes a test program for confirming the display content of the screen, and an operation for the display change element described in the operation description document A correspondence holding unit that holds the correspondence;
A program generation unit for generating the test program by setting a program code for calling a function defined by the verification device corresponding to an operation on the display change element described in the operation description document according to the correspondence relationship; ,
An information processing apparatus comprising:
前記出力部は、前記構造化文書において前記表示変更要素と対応づけられ、前記表示変更要素の意味を示すための文字列を前記操作記述文書へ転記することを特徴とする請求項1に記載の情報処理装置。   The said output part is matched with the said display change element in the said structured document, The character string for showing the meaning of the said display change element is transcribe | transferred to the said operation description document. Information processing device. 前記プログラム生成部は、前記表示変更要素に対する複数種類の操作が前記操作記述文書に記述された場合、前記複数種類の操作に対応した複数のテスト・プログラムを生成することを特徴とする請求項1または2に記載の情報処理装置。   The program generation unit generates a plurality of test programs corresponding to the plurality of types of operations when a plurality of types of operations with respect to the display change element are described in the operation description document. Or the information processing apparatus according to 2; 前記抽出部は、前記構造化文書に記述された要素のうち、ユーザからデータ入力を受け付ける要素を入力要素としてさらに抽出し、
前記出力部は、前記操作記述文書として、前記表示変更要素への操作に加えて前記入力要素への操作をユーザに記述させるための文書を出力し、
前記対応関係保持部は、前記検証装置において予め定められた前記要素を操作するための関数と、前記操作記述文書に記述される前記入力要素への操作との対応関係をさらに保持し、
前記プログラム生成部は、前記操作記述文書に記述された前記表示変更要素への操作に対応した前記検証装置が定める関数を呼び出すプログラムコードと、前記操作記述文書に記述された前記入力要素への操作に対応した前記検証装置が定める関数を呼び出すプログラムコードとを組み合わせて前記テスト・プログラムを生成することを特徴とする請求項1から3のいずれかに記載の情報処理装置。
The extraction unit further extracts, as an input element, an element that receives data input from a user among elements described in the structured document,
The output unit outputs, as the operation description document, a document for allowing a user to describe an operation to the input element in addition to an operation to the display change element,
The correspondence holding unit further holds a correspondence between a function for operating the element predetermined in the verification device and an operation to the input element described in the operation description document,
The program generation unit includes a program code for calling a function defined by the verification device corresponding to an operation on the display change element described in the operation description document, and an operation on the input element described in the operation description document. 4. The information processing apparatus according to claim 1, wherein the test program is generated by combining a program code that calls a function defined by the verification apparatus corresponding to the function.
画面の表示内容を定めた構造化文書を取得する取得部と、
取得された構造化文書に記述された要素のうち、ユーザからデータ入力を受け付ける要素を入力要素として抽出する抽出部と、
抽出された入力要素への操作をユーザに記述させるための文書を操作記述文書として出力する出力部と、
前記画面の表示内容を確認するためのテスト・プログラムを実行させる検証装置において予め定められた前記要素を操作するための関数と、前記操作記述文書に記述される前記入力要素への操作との対応関係を保持する対応関係保持部と、
前記対応関係にしたがって、前記操作記述文書に記述された前記入力要素への操作に対応した前記検証装置が定める関数を呼び出すプログラムコードを設定することにより前記テスト・プログラムを生成するプログラム生成部と、
を備えることを特徴とする情報処理装置。
An acquisition unit that acquires a structured document that defines the display content of the screen;
An extraction unit for extracting, as an input element, an element that receives data input from a user among elements described in the obtained structured document;
An output unit for outputting, as an operation description document, a document for allowing a user to describe an operation on the extracted input element;
Correspondence between a function for operating the predetermined element in the verification apparatus for executing a test program for confirming the display content of the screen and an operation on the input element described in the operation description document A correspondence holding unit that holds the relationship;
A program generator for generating the test program by setting a program code that calls a function defined by the verification device corresponding to an operation on the input element described in the operation description document according to the correspondence relationship;
An information processing apparatus comprising:
画面の表示内容を定めた構造化文書を取得する機能と、
取得された構造化文書に記述された要素のうち、前記画面の表示内容を変化させる処理の契機となる要素を表示変更要素として抽出する機能と、
抽出された表示変更要素への操作をユーザに記述させるための文書を操作記述文書として出力する機能と、
前記画面の表示内容を確認するためのテスト・プログラムを実行させる検証装置において予め定められた前記要素を操作するための関数と、前記操作記述文書に記述される前記表示変更要素への操作との対応関係を保持する機能と、
前記対応関係にしたがって、前記操作記述文書に記述された前記表示変更要素への操作に対応した前記検証装置が定める関数を呼び出すプログラムコードを設定することにより前記テスト・プログラムを生成する機能と、
をコンピュータに実現させるためのコンピュータプログラム。
A function to obtain a structured document that defines the display content of the screen,
A function of extracting, as a display change element, an element that triggers a process of changing the display content of the screen among the elements described in the acquired structured document;
A function for outputting, as an operation description document, a document for allowing a user to describe an operation on the extracted display change element;
A function for operating a predetermined element in a verification device that executes a test program for confirming the display content of the screen, and an operation for the display change element described in the operation description document The ability to maintain correspondence,
A function for generating the test program by setting a program code for calling a function defined by the verification device corresponding to an operation on the display change element described in the operation description document according to the correspondence relationship;
A computer program for realizing a computer.
JP2011174092A 2011-08-09 2011-08-09 Information processor Withdrawn JP2013037580A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011174092A JP2013037580A (en) 2011-08-09 2011-08-09 Information processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011174092A JP2013037580A (en) 2011-08-09 2011-08-09 Information processor

Publications (1)

Publication Number Publication Date
JP2013037580A true JP2013037580A (en) 2013-02-21

Family

ID=47887133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011174092A Withdrawn JP2013037580A (en) 2011-08-09 2011-08-09 Information processor

Country Status (1)

Country Link
JP (1) JP2013037580A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108614769A (en) * 2018-03-19 2018-10-02 南京邮电大学盐城大数据研究院有限公司 A kind of Java test code quality evaluation methods towards Appium
JP2018535495A (en) * 2016-03-02 2018-11-29 平安科技(深▲せん▼)有限公司 Application user interface automatic test method, electronic device, system, and storage medium
JP2021179903A (en) * 2020-05-15 2021-11-18 コニカミノルタ株式会社 Programs and operation pattern generators that generate user interface operation patterns
JP7093144B1 (en) 2022-04-26 2022-06-29 Gc株式会社 Test support program, test support device, and test support method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018535495A (en) * 2016-03-02 2018-11-29 平安科技(深▲せん▼)有限公司 Application user interface automatic test method, electronic device, system, and storage medium
CN108614769A (en) * 2018-03-19 2018-10-02 南京邮电大学盐城大数据研究院有限公司 A kind of Java test code quality evaluation methods towards Appium
CN108614769B (en) * 2018-03-19 2022-02-08 南京邮电大学盐城大数据研究院有限公司 An Appium-oriented Java Test Code Quality Judgment Method
JP2021179903A (en) * 2020-05-15 2021-11-18 コニカミノルタ株式会社 Programs and operation pattern generators that generate user interface operation patterns
JP7494558B2 (en) 2020-05-15 2024-06-04 コニカミノルタ株式会社 Program for generating user interface operation patterns and operation pattern generating device
JP7093144B1 (en) 2022-04-26 2022-06-29 Gc株式会社 Test support program, test support device, and test support method
JP2023161741A (en) * 2022-04-26 2023-11-08 Gc株式会社 Test support program, test support device, and test support method

Similar Documents

Publication Publication Date Title
US11580011B2 (en) Operation verifying apparatus, operation verifying method and operation verifying system
US11755387B1 (en) Updating code of an app feature based on a value of a query feature
US6360332B1 (en) Software system and methods for testing the functionality of a transactional server
CN108762743B (en) Data table operation code generation method and device
US8756593B2 (en) Map generator for representing interrelationships between app features forged by dynamic pointers
JP4795446B2 (en) Operation verification apparatus and operation verification program
CN112799718A (en) A method, device, electronic device and storage medium for generating an enumeration document
CN110874254A (en) System including a computing device, readable medium, and method of generating a help system
JP2004178263A (en) Web server, web server having Java servlet function, and computer program
JP2013037580A (en) Information processor
JP4846029B2 (en) Operation verification apparatus, operation verification method, and operation verification program
JP4681673B1 (en) Operation verification apparatus, operation verification method, and operation verification program
JP4846030B2 (en) Operation verification apparatus, operation verification method, and operation verification program
JP4795404B2 (en) Operation verification apparatus and operation verification program
JP4903279B2 (en) Operation verification apparatus, operation verification method, and operation verification program
JP4846031B2 (en) Operation verification system
JP4903278B2 (en) Operation verification apparatus, operation verification method, and operation verification program
US20250342010A1 (en) Managing feature evolution
JP2025171397A (en) Computer program, information processing device, and information processing method
Salama “Down With Regression!”–Generating Test Suites for the Web
Sterca et al. Primary Building Blocks for Web
Sterca et al. Mapping Business Web Applications for Web Automation
WO2024176363A1 (en) Test assistance system, test assistance method, and program
US20080195929A1 (en) Simplifying Understanding of Procedure Dependencies in a Form Definition
JPH09223000A (en) Document integrated management method and apparatus

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20141104