JP2019191689A - Web inspection program and web inspection apparatus - Google Patents

Web inspection program and web inspection apparatus Download PDF

Info

Publication number
JP2019191689A
JP2019191689A JP2018080592A JP2018080592A JP2019191689A JP 2019191689 A JP2019191689 A JP 2019191689A JP 2018080592 A JP2018080592 A JP 2018080592A JP 2018080592 A JP2018080592 A JP 2018080592A JP 2019191689 A JP2019191689 A JP 2019191689A
Authority
JP
Japan
Prior art keywords
input
website
elements
response
items
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.)
Granted
Application number
JP2018080592A
Other languages
Japanese (ja)
Other versions
JP7053017B2 (en
Inventor
立野 池田
Tatsuno Ikeda
立野 池田
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.)
Heroz Inc
Original Assignee
Heroz Inc
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 Heroz Inc filed Critical Heroz Inc
Priority to JP2018080592A priority Critical patent/JP7053017B2/en
Publication of JP2019191689A publication Critical patent/JP2019191689A/en
Application granted granted Critical
Publication of JP7053017B2 publication Critical patent/JP7053017B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

To provide a web inspection program to assist in testing a website more easily.SOLUTION: A web inspection program identifies a plurality of input items from a website S202, and estimates rules of each of the input items S204. A set of input values corresponding to each of the estimated rules is obtained from a correspondence table S208. An element is extracted from each of the acquired set of input values one by one S210, and a set of elements to be input to each of the plurality of input items is generated S212. A predicted response of the website when a predetermined set of elements is entered into the plurality of input items is estimated S214. The actual response of the website is obtained by actually inputting the predetermined set of elements into the plurality of input items S216. The presence/absence of a defect and/or content of the defect of the website is output based on the predetermined set of input elements when the predicted response differs from the actual response S218.SELECTED DRAWING: Figure 2

Description

本発明は、ウェブ検査プログラム及びウェブ検査装置に関する。   The present invention relates to a web inspection program and a web inspection apparatus.

従来より、入力欄などが存在するウェブサイトの構築においては、そのウェブサイトが正常に動作するかを、ウェブサイト構築後、公開前にチェックする作業が行われている。
通常は、正常にウェブサイトが動作する妥当な入力値と、不正な入力値を組み合わせて、複数の入力欄にデータを入力し、ウェブサイトの応答が正常に行われるかをチェックすることが行われている。このチェックのためのサンプルデータは、入力欄が多いウェブサイトでは滂沱な量になることが多い。しかも、サンプルデータを手作業で準備することは、手間のかかることである。
2. Description of the Related Art Conventionally, in the construction of a website having an input field or the like, an operation for checking whether the website operates normally after the website construction and before the publication is performed.
Normally, it is necessary to check whether a website responds normally by entering data in multiple input fields by combining valid input values that allow the website to operate normally and incorrect input values. It has been broken. Sample data for this check is often insignificant for websites with many input fields. Moreover, manually preparing sample data is time consuming.

動的なウェブページに対する動作テストを再現するためのテスト・プログラムを作成し実行する以下の技術がある。操作記録部は、動作確認対象のウェブページに対するデータ入力操作を検出し、データ入力操作に対応する関数であってウェブページへの入力データを取得するためのインタフェースを備える関数を、操作内容ファイルに記録する。オブジェクト検出部は、ページ構成ファイルの中から、ユーザ操作に応じたイベントを発生させるためのイベントハンドラが埋め込まれているオブジェクトを検出する。イベント記録部は、イベントハンドラが埋め込まれているオブジェクトで発生するイベントに対応する関数を操作内容ファイルに記録する。動的タグ記録部は、ページ構成ファイル内にオブジェクトを動的に作成するプログラムが含まれている場合、動的に作成されたオブジェクトに対するユーザ操作を操作内容ファイルに記録する(例えば、特許文献1参照)。   There are the following techniques for creating and executing a test program for reproducing an operation test for a dynamic web page. The operation recording unit detects a data input operation on the web page to be checked for operation, and adds a function corresponding to the data input operation and having an interface for acquiring input data to the web page to the operation content file. Record. The object detection unit detects an object in which an event handler for generating an event corresponding to a user operation is embedded from the page configuration file. The event recording unit records a function corresponding to an event occurring in the object in which the event handler is embedded in the operation content file. When a program for dynamically creating an object is included in the page configuration file, the dynamic tag recording unit records a user operation on the dynamically created object in an operation content file (for example, Patent Document 1). reference).

また、以下の技術が存在する。
ウェブページを表示するウェブブラウザに対する操作に応じたウェブサーバの動作確認のためのテスト・プログラムを実行させる装置であって、ウェブページに含まれるオブジェクトの識別情報と、オブジェクトをマウス・クリックする操作またはオブジェクトに対するデータ入力操作で入力されたデータとの組み合わせが記録されたログを取得し、マウス・クリックする操作またはデータ入力操作を自動的に実行する処理がそれぞれ記述されたロジックが組み込まれた関数が記録される操作内容ファイルに対して、ログに記録されたデータ入力操作についてはウェブページに含まれるオブジェクトの識別情報とオブジェクトに入力されたデータを記述した入力データファイル内の入力データを指定する識別子とを引数とする入力関数を記録し、ログに記録されたマウス・クリックする操作については各操作の操作対象であるオブジェクトの識別情報を引数とする関数を記録する操作記録部と、操作内容ファイルに記録された関数を呼び出すコールステップを組み合わせたプログラムコードを設定することにより、ウェブページに対して実行された一連の操作を再現するためのテスト・プログラムを生成するプログラム生成部と、操作内容ファイルとは異なる入力データファイルから識別子で指定される入力データを取得して入力関数に渡すことにより、テスト・プログラムを実行させるプログラム実行部と、を備えることを特徴とする動作検証装置がある(例えば、特許文献2参照)。
The following technologies exist.
A device for executing a test program for confirming the operation of a web server in response to an operation on a web browser that displays a web page, wherein the object identification information included in the web page and an operation of clicking the object with a mouse or Get a log that records the combination with the data entered in the data input operation on the object, and a function that includes logic that describes the operation of clicking the mouse or automatically executing the data input operation. For the data input operation recorded in the log for the recorded operation content file, an identifier that specifies the input data in the input data file that describes the identification information of the object included in the web page and the data input to the object Record input function with and as arguments For the mouse click operation recorded in the log, there is an operation recording unit that records a function that uses the identification information of the object that is the operation target of each operation as an argument, and a call step that calls the function recorded in the operation content file. By setting a combined program code, a program generator that generates a test program for reproducing a series of operations performed on a web page, and an identifier specified from an input data file different from the operation content file There is an operation verification device including a program execution unit that executes a test program by acquiring input data to be transferred and passing it to an input function (see, for example, Patent Document 2).

複数クライアントから同時にアクセスされ、該クライアント対応の複数の画面操作内容を表示するウエブアプリケーションを行うシミュレーションシステムにおける画面操作内容の表示方法において、前記複数のクライアント対応のスプリクトを実行する第1のステップと、該第1のステップにより実行したクライアント対応の複数の画面操作内容を表示する機械言語を格納する第2ステップと、該第2ステップにより格納した機械言語に含まれる検索文字列を設定する第3のステップと、該第3のステップにより設定された機械言語の文字列をキーとして任意のスプリクトにおける画面操作内容を表示する機械言語を検索し、前記第2ステップで格納した画面操作内容を表示する第4のステップとを含む技術が存在する(例えば、特許文献3参照)。   In a display method of screen operation contents in a simulation system that performs a web application that displays a plurality of screen operation contents corresponding to the clients that are accessed simultaneously from a plurality of clients, a first step of executing the plurality of client-corresponding scripts; A second step for storing a machine language for displaying a plurality of screen operation contents corresponding to the client executed in the first step; and a third step for setting a search character string included in the machine language stored in the second step. A machine language for displaying screen operation contents in an arbitrary script using the machine language character string set in the third step as a key, and displaying the screen operation contents stored in the second step. 4 techniques exist (for example, patent literature) Reference).

また、ウェブサイトのテストツールとしては、例えばSeleniumがある。Seleniumは、ブラウザに対するアドオンのツールとして機能する。オペレータが、検査ターゲットのウェブサイトに対してブラウザを用いて操作すると、その操作履歴が保存される。この操作履歴に基づいて、HTMLテストスクリプトが作成される。このようにして、ブラウザ操作によりテストスクリプトのベースを作成する。このHTMLテストスクリプトを実行すれば、オペレータと同様の操作をリプレイできる。しかしながら、ウェブサイトにどのような入力値を与えるか、ウェブサイトの応答の判断に用いるウェブサイト上のテキストの位置及びその内容などを具体的に指定する必要がある。このため、予め、テストケースを手動で準備する等、ウェブサイトのチェックを実行するには、手間のかかる作業も存在している。
また、入力欄の多いウェブサイトなどでは、テストケースが膨大になるなどの困難性が存在している(例えば、非特許文献1参照)。
An example of a website testing tool is Selenium. Selenium functions as an add-on tool for browsers. When the operator operates the inspection target website using a browser, the operation history is stored. An HTML test script is created based on this operation history. In this way, a test script base is created by browser operation. By executing this HTML test script, the same operation as the operator can be replayed. However, it is necessary to specifically specify what input value is given to the website, the position of the text on the website used to determine the response of the website, and the content thereof. For this reason, in order to execute a check of a website, such as manually preparing a test case in advance, a troublesome work exists.
Moreover, in websites with many input fields, there are difficulties such as enormous test cases (see, for example, Non-Patent Document 1).

特許第4681673号公報Japanese Patent No. 4681673 特許第4795446号公報Japanese Patent No. 4795446 特開2002−236598号公報JP 2002-236598 A

(2018年3月19日アクセス)https://e-algorithm.xyz/selenium/(Accessed March 19, 2018) https://e-algorithm.xyz/selenium/

本発明は、上記のような、ウェブサイトのテストをより簡便に行えるよう支援を行うことを目的としている。   An object of the present invention is to provide support so that a test of a website as described above can be performed more easily.

実施形態によれば、ウェブサイトから、複数の入力項目を特定するステップと、前記ウェブサイトから、前記複数の入力項目の各々の規約を推定するステップと、推定された前記規約の各々に対応した入力値の集合を、対応テーブルから取得するステップと、取得した前記入力値の集合の各々から1つずつ要素を取り出して、前記複数の入力項目の各々に入力する要素の組を生成するステップと、前記要素の所定の組を前記複数の入力項目に入力したときの前記ウェブサイトの予測される応答を推定するステップと、をコンピュータに実行させるウェブ検査プログラムが提供される。また、同様の機能を有するウェブ検査装置が提供される。   According to the embodiment, the step of identifying a plurality of input items from the website, the step of estimating the rules of each of the plurality of input items from the website, and each corresponding to the estimated rules Obtaining a set of input values from the correspondence table; extracting one element from each of the obtained set of input values and generating a set of elements to be input to each of the plurality of input items; There is provided a web inspection program that causes a computer to execute a step of estimating a predicted response of the website when the predetermined set of elements is input to the plurality of input items. Moreover, a web inspection apparatus having the same function is provided.

開示の実施形態によれば、ウェブサイトのテストをより簡便に行えるよう支援を行うことができる。   According to the embodiment of the disclosure, it is possible to provide support so that a website can be tested more easily.

実施形態のブロック図である。It is a block diagram of an embodiment. 実施形態のフローチャートである。It is a flowchart of an embodiment. 予測されたウェブサイトの応答と実際の応答とからウェブの欠陥を発見する例を示すフローチャートである。It is a flowchart which shows the example which discovers the defect of a web from the response of the predicted website, and an actual response. ウェブサイトの入力画面の例を示す図である。It is a figure which shows the example of the input screen of a website. ウェブサイトの応答画面の例を示す図である。It is a figure which shows the example of the response screen of a website. ウェブサイトの入力値の集合を示す表である。It is a table | surface which shows the set of the input value of a website. ウェブサイトの入力に失敗した場合の応答画面の例を示す図である。It is a figure which shows the example of the response screen when the input of a website fails. ウェブサイトの入力項目の各々に入力する要素の組を生成した例を示す表である。It is a table | surface which shows the example which produced | generated the group of the element input into each of the input item of a website. 実施形態のハードウエア構成を示す図である。It is a figure which shows the hardware constitutions of embodiment.

以下、種々の実施形態について、図面を参照しながら説明する。各実施形態は、例示であって、請求項に記載された発明を限定するためのものではない。また、各実施形態にかかるウェブ検査プログラムのフローは、時系列的に示したが、矛盾の無い限り、入れ替えることができる。また、フローチャートの各ステップと、ウェブ検査装置の機能ブロック図の各機能とは、相互に補完しあうものであり、排他的なものではない。したがって、機能ブロック図に描かれた各機能をフローチャートの各フローと解釈してもよいし、フローチャートに描かれた各ステップの動作を機能ブロック図の動作と解釈することも当然に可能である。   Hereinafter, various embodiments will be described with reference to the drawings. Each embodiment is illustrative and is not intended to limit the claimed invention. Moreover, although the flow of the web inspection program concerning each embodiment was shown in time series, it can be replaced as long as there is no contradiction. In addition, each step of the flowchart and each function of the functional block diagram of the web inspection device complement each other and are not exclusive. Therefore, each function depicted in the functional block diagram may be interpreted as each flow of the flowchart, and it is naturally possible to interpret the operation of each step depicted in the flowchart as the operation of the functional block diagram.

<実施形態1>
図1は、実施形態のブロック図である。複数の入力項目を特定する手段102は、オペレータ等からウェブサイトのURLを受け取る。受け取られたURLによって、目的のウェブサイトにアクセスし、HTML情報を受け取る。そして、複数の入力項目を特定する手段102は、HTMLを解析し、入力項目があればその入力項目を特定する。
<Embodiment 1>
FIG. 1 is a block diagram of an embodiment. The means 102 for specifying a plurality of input items receives the URL of the website from an operator or the like. The received URL is used to access the target website and receive HTML information. Then, the means 102 for specifying a plurality of input items analyzes the HTML, and if there is an input item, specifies the input item.

入力項目の各々の規約を推定する手段104は、各入力項目の規約を推定する。規約とは、例えば、氏名のふりがなを入力する欄であれば、その入力欄に入力され得る文字がカナなのかひらがななのか、或いは、半角なのか全角なのか、などの入力条件を意味する。HTMLの周辺の記述の特徴を認識する手段105は、例えば、inputタグの親要素をトラバースして、例えば「ふりがな」などの表示文字を抽出したり、inputタグの周辺に存在する入力の案内のテキスト、例えば「全角ひらがなで入力してください」などの表示文字を解析する機能を有する。このような解析を行うことで、入力項目の規約を効率よく推定することができる。   The means 104 for estimating the contract of each input item estimates the contract of each input item. For example, in the case of a field for inputting the name's furigana, the rule means an input condition such as whether the character that can be input in the input field is kana or hiragana, half-width or full-width. The means 105 for recognizing the features of the description around the HTML, for example, traverses the parent element of the input tag to extract display characters such as “phonetic”, and guides the input guidance existing around the input tag. It has a function of analyzing display characters such as “Please enter with double-byte hiragana”. By performing such an analysis, it is possible to efficiently estimate the rules for input items.

入力項目の規約をオペレータから受け取る手段106は、オペレータから、入力項目の規約に含まれ得る入力条件を受け取ることができる。入力項目の各々の規約を推定する手段104により推定された入力条件に加えて、オペレータの指示する入力条件を加味することにより、より正確な入力項目の規約を取得することができる。なお、実施形態は、オペレータからの指示が必須のものではない。   The means 106 for receiving an input item rule from an operator can receive an input condition that can be included in the input item rule from the operator. By adding the input conditions instructed by the operator in addition to the input conditions estimated by the means 104 for estimating the rules of each input item, it is possible to obtain a more accurate input item rule. In the embodiment, an instruction from the operator is not essential.

例えば、パスワードに関して、半角英数字に加えて、%&#などの特殊文字を1つ以上加え、かつ半角英文字は大文字と小文字を含み、かつ全体で8文字以上というような、パスワードの条件を必須とするウェブサイトがある。このような条件がパスワードの入力欄と離れたところに記載されている場合には、HTMLの周辺の記述の特徴を認識する手段105が、これらの条件を取得するのに失敗する場合がある。このような場合には、HTMLの周辺の記述の特徴を認識する手段105を介して、オペレータからの指示を受け入れることができるようにすることが望ましい。
なお、この規約には、入力項目が必須の入力項目か、任意の入力項目かを含むことが望ましい。なお、任意の入力項目か必須の入力項目かを認識する例としては、入力欄の近くに「*」などの文字が記載されている場合が多い。そして、ウェブサイトの中で、「*」に関しての説明、例えば「*は必須入力項目です。」などの標記がされている場合が多い、このようなウェブサイトの記載を手掛かりに、各入力項目が必須の入力項目であるか否かを認識することができる。また、例えば、通常必須の入力項目であるID、パスワードの入力項目などは、デフォルトとして、必須の入力項目であることをあらかじめ定めておいてもよい。この場合においても、デフォルトとして与えられた必須の入力項目が任意であることが認識された場合には、任意の入力項目に変更することができることは言うまでもない。
For example, in addition to half-width alphanumeric characters, one or more special characters such as% &# are added to passwords, and half-width English characters include uppercase and lowercase letters, and the total number of passwords is 8 or more. There is a required website. When such a condition is described in a place away from the password input field, the means 105 for recognizing the characteristics of the description around the HTML may fail to acquire these conditions. In such a case, it is desirable to be able to accept instructions from the operator via the means 105 for recognizing the features of the description around the HTML.
It should be noted that it is desirable that this rule includes whether the input item is an essential input item or an arbitrary input item. As an example of recognizing whether an arbitrary input item or an essential input item, characters such as “*” are often written near the input field. In addition, explanations about “*” in websites, for example, “* is an indispensable input item” are often marked, and each input item is based on such website description. Can be recognized as an indispensable input item. Further, for example, IDs and password input items that are normally required input items may be determined in advance to be required input items as defaults. Even in this case, when it is recognized that the required input item given as a default is arbitrary, it is needless to say that it can be changed to an arbitrary input item.

規約の各々に対応した入力値の集合を対応テーブルから取得する手段108は、取得された規約を基にして、具体的なテストケースを作るための入力値の対応テーブル110を検索する。入力値の対応テーブル110には、様々なテストケースを想定して、具体的な入力値が格納されている。格納された入力値は、規約をキーにして検索することができる。検索された入力値は、規約に合致した正しい入力値と誤りの存在する入力値との双方が含まれていることが望ましい。例えば、規約のうちの一部を満たさない入力値は、誤った入力値である確率が非常に高い。このような誤った入力値も含めて、入力値の組を、入力値の対応テーブル110の中に予め格納しておく。正しい入力値と誤りの存在する入力値との双方が含まれている入力値の組を用いることで、ウェブサイトを網羅的にチェックすることができる。この詳細は後述する。
なお、入力値の対応テーブル110は、取得された規約と、規約に合致した正しい入力値及び誤りの存在する入力値との双方とが対になって記憶されたデータベースなどであってもよい。
The means 108 for acquiring a set of input values corresponding to each of the rules from the correspondence table searches the input value correspondence table 110 for creating a specific test case based on the acquired rules. The input value correspondence table 110 stores specific input values assuming various test cases. The stored input value can be searched using the convention as a key. It is desirable that the retrieved input values include both correct input values that meet the rules and input values that contain errors. For example, an input value that does not satisfy some of the rules has a very high probability of being an incorrect input value. A set of input values including such erroneous input values is stored in the input value correspondence table 110 in advance. By using a set of input values including both correct input values and erroneous input values, it is possible to comprehensively check the website. Details of this will be described later.
The input value correspondence table 110 may be a database or the like in which the acquired convention and a correct input value that matches the convention and an input value in which an error exists are paired and stored.

なお、未知のウェブサイトである場合には、入力値の対応テーブル110に入力値の候補が存在しない場合も想定される。そのような場合には、オペレータ自身からの提案、あるいはウェブサイトの仕様書、ウェブサイトのスクリプトを基にして、オペレータから、正しい入力値と、誤りの入力値を取得してもよい。取得された入力値は、正誤の区別と、その規約の条件をキーにして、入力値の対応テーブル110に格納しておくようにすることが望ましい。このようにすれば、入力値の対応テーブル110の網羅性が向上することになる。入力値の集合の具体例については、図6を用いて後述する。
また、パスワードのように、パスワードに含まれる文字の構成について様々な規約が定められている場合がある。例えば、以下のようなパスワードの設定規約が挙げられる。
(1)パスワードは、8文字以上であって、数字及び英文字がそれぞれ1文字以上含まれていなければならない。
(2)パスワードは、4文字以上であって、数字のみで構成されていなければならない。
(3)パスワードは、8文字以上であって、数字及び英文字がそれぞれ1文字以上含まれ、英文字は小文字と大文字を含んでいなければならない。
(4)パスワードは、8文字以上であって、数字及び英文字がそれぞれ1文字以上含まれ、英文字は小文字と大文字を含んでおり、かつ特殊文字「&%$#![ ]」のいずれかが1文字以上含まれていなければならない。
上記のような場合には、入力値の対応テーブル110を検索する代わりに、試験用のパスワードの組を生成するアルゴリズムを用いてもよい。
この試験用のパスワードの組を生成するアルゴリズムの入力には、「パスワードの文字数の規約」(例えば、文字数の最小値をオペレータが指示できるようにする。)、「1文字以上含まれていなければならない構成文字」(例えば、1文字以上含まれなければならない文字種(数字、英字、英字大文字、英字小文字、%などの特殊文字を、オペレータが指示できるようにする。)
また、これらのパスワードの規約に合致しない誤りのパスワードも出力するよう、試験用のパスワードの組を生成するアルゴリズムを設定すればよい。
In the case of an unknown website, it may be assumed that there are no input value candidates in the input value correspondence table 110. In such a case, a correct input value and an erroneous input value may be acquired from the operator based on a proposal from the operator himself / herself, a website specification, or a website script. It is desirable to store the acquired input values in the input value correspondence table 110 using the distinction between correct and incorrect and the conditions of the convention as keys. In this way, the completeness of the input value correspondence table 110 is improved. A specific example of the set of input values will be described later with reference to FIG.
In addition, there are cases where various rules are set for the configuration of characters included in a password, such as a password. For example, the following password setting rules can be cited.
(1) The password must be at least 8 characters and contain at least one number and one alphabetic character.
(2) The password must be at least 4 characters long and consist of numbers only.
(3) The password must be at least 8 characters in length and contain at least one number and one alphabetic character, and the alphabetic character must contain lowercase letters and uppercase letters.
(4) The password must contain at least 8 characters, including at least one number and one alphabetic character, each alphabetic character including lowercase and uppercase characters, and any of the special characters “&% $ #! []”. Must contain at least one letter.
In such a case, instead of searching the input value correspondence table 110, an algorithm for generating a test password set may be used.
In the input of the algorithm for generating the test password set, “a rule for the number of characters in the password” (for example, the operator can specify the minimum number of characters), “if at least one character is not included. "Non-constituent characters" (for example, character types that must contain at least one character (allows the operator to specify special characters such as numbers, letters, uppercase letters, lowercase letters,%))
In addition, an algorithm for generating a test password set may be set so that an erroneous password that does not conform to these password rules is also output.

入力する要素の組を生成する手段112は、複数の入力項目の各々に対して得られた入力値の集合から、一つずつ集合の要素を取り出して、複数の入力項目に入力する具体的な入力値の組を作成する。この入力値の組は、複数個作成されることが望ましい。この入力値の組には、正しい入力値だけを含む組及び、正しい入力値に加えて、誤った入力値を含む組を作ることが望ましい。なお、入力する項目が多い場合又は集合に含まれる要素が多い場合には、複数の入力項目に入力する具体的な入力値の組の数が膨大になることがある。ウェブサイトのテストを合理的な時間で終えるためには、入力値の組の数を調整することが必要となる場合がある。効率的に入力値の組を作る手法としては、組合せテストの工数を削減するペアワイズ法などの周知のテスト工数削減手法を利用することが望ましい。   The means 112 for generating a set of elements to be input is a specific example in which elements of a set are extracted one by one from a set of input values obtained for each of a plurality of input items and input to a plurality of input items. Create a set of input values. It is desirable to create a plurality of sets of input values. It is desirable to create a set including only correct input values and a set including incorrect input values in addition to the correct input values. When there are many items to be input or when there are many elements included in the set, the number of specific input value sets to be input to a plurality of input items may become enormous. In order to finish testing a website in a reasonable amount of time, it may be necessary to adjust the number of sets of input values. As a method for efficiently creating a set of input values, it is desirable to use a well-known test man-hour reduction method such as a pair-wise method for reducing the man-hour of the combination test.

ウェブサイトの予測される応答を推定する手段116は、入力値の組に応じて、ウェブサイトが入力の成功の応答を返すか、入力の失敗の応答を返すかを予め推測する手段である。例えば、全ての入力値が適切であるとされる入力値の組をウェブサイトに適用した場合には、ウェブサイトは、入力成功の応答を返すと予測される。これに対して、1つでも適切でない入力値を含む入力値の組をウェブサイトに適用した場合には、ウェブサイトは、入力失敗の応答を返すと予測される。このようにして、予め、ウェブサイトの応答を予測しておく。なお、予測される応答を推定する際には、それぞれの項目が必須の入力項目であるか否かも考慮する。
このような入力値の組を取得することができれば、これらの入力値を順次生成することで、ウェブサイトのテスト用の入力要素の集合と、予測される応答を取得することができる。このように、ウェブサイトのテスト用の入力要素の集合と、予測される応答が簡便に取得することができるため、その後のウェブサイトのテストを網羅的にかつ迅速に実行することができる。
The means 116 for estimating the predicted response of the website is a means for estimating in advance whether the website returns an input success response or an input failure response according to the set of input values. For example, if a set of input values for which all input values are considered appropriate is applied to the website, the website is expected to return a response of successful input. On the other hand, when a set of input values including even one inappropriate input value is applied to the website, the website is predicted to return an input failure response. In this way, the website response is predicted in advance. When estimating the predicted response, it is also considered whether each item is an essential input item.
If such a set of input values can be acquired, a set of input elements for website testing and a predicted response can be acquired by sequentially generating these input values. In this way, since a set of input elements for website testing and predicted responses can be easily obtained, subsequent website testing can be performed comprehensively and quickly.

ウェブサイトの実際の応答を取得する手段114は、実際に、入力値の組をウェブサイトに適用した場合に、実際のウェブサイトの応答(入力成功又は入力失敗)の応答を取得する手段である。   The means 114 for acquiring the actual response of the website is a means for acquiring the response of the actual website response (input success or input failure) when the set of input values is actually applied to the website. .

ウェブサイトの欠陥の有無及び/又は欠陥の内容を出力する手段118は、予測されたウェブサイトの応答と、ウェブサイトの実際の応答とを比較する。比較において、一致した場合には、予測通りであり、パスしたことになる。これに対して、比較において、不一致が発生した場合には、ウェブサイトに欠陥が存在するか、予測が誤っていたかのいずれかである。予測が誤っていることは、ウェブサイトの欠陥が見つからず、適用された入力値の組とウェブサイトの仕様を十分チェックして、予測が誤っていたことが発見されることとなる。この場合には、チェック結果に基づいて、入力項目の各々の規約を推定する手段104及び入力値の対応テーブル110を適切に改善することが望ましい。   The means 118 for outputting the presence / absence of the website and / or the content of the defect compares the predicted website response with the actual website response. In the comparison, if they match, it is as predicted and passed. On the other hand, if a mismatch occurs in the comparison, either the website has a defect or the prediction was incorrect. If the prediction is wrong, the defect of the website is not found, and the applied input value set and the specification of the website are thoroughly checked to find that the prediction is wrong. In this case, it is desirable to appropriately improve the means 104 for estimating each rule of the input items and the input value correspondence table 110 based on the check result.

ウェブサイトの欠陥の発見手法の具体例については、図3及び図8を用いて後述する。また、入力値の組をウェブサイトに適用する手法については、ブラウザを操作する操作者をシミュレートするスクリプトをウェブサイトに適用することによって実現できる。この技術については、Seleniumなど、周知の既存の手法が存在するので、詳細な説明は省略する。   A specific example of the method for detecting defects on the website will be described later with reference to FIGS. In addition, a technique for applying a set of input values to a website can be realized by applying a script that simulates an operator who operates the browser to the website. Since there is a known existing technique such as Selenium, detailed description of this technique is omitted.

以上のようにして、ウェブサイトの欠陥に関する検査結果が得られる。本実施形態によって、ほぼ自動的に、網羅性のある入力値の組を複数作成することができる。この入力値の組が生成されることによって、ウェブサイトの検査の作業を支援することができる。
さらに、これらの入力値の組を自動的にウェブサイトに適用することにより、ウェブサイトの欠陥をより容易に発見することができる。
As described above, the inspection result regarding the defect of the website is obtained. According to this embodiment, it is possible to create a plurality of sets of input values with completeness almost automatically. By generating this set of input values, it is possible to assist the inspection work of the website.
Furthermore, by automatically applying these sets of input values to the website, defects in the website can be found more easily.

<実施形態2>
図2は、実施形態のフローチャートである。本実施形態は、コンピュータに実行されるプログラム又は該プログラムを格納した記憶媒体により実現される。また、本実施形態は、方法の発明としても実施されることは言うまでもない。
以下に、図2に示す本実施形態の各ステップを説明する。
<Embodiment 2>
FIG. 2 is a flowchart of the embodiment. The present embodiment is realized by a program executed by a computer or a storage medium storing the program. Needless to say, this embodiment is also implemented as a method invention.
Below, each step of this embodiment shown in FIG. 2 is demonstrated.

[ステップS202]複数の入力項目が特定される。オペレータ等からウェブサイトのURLを受け取る。本ステップは、受け取られたURLによって、目的のウェブサイトにアクセスし、HTML情報を受け取る。そして、本ステップは、HTML情報を解析し、入力項目があればその入力項目を特定する。   [Step S202] A plurality of input items are specified. The URL of the website is received from an operator or the like. This step accesses the target website by the received URL and receives HTML information. In this step, the HTML information is analyzed, and if there is an input item, the input item is specified.

[ステップS204]各入力項目の規約が推定される。規約とは、例えば、氏名のふりがなを入力する欄であれば、その入力欄に入力され得る文字がカナなのかひらがななのか、或いは、半角なのか全角なのか、などの入力条件を意味する。   [Step S204] The rules for each input item are estimated. For example, in the case of a field for inputting the name's furigana, the rule means an input condition such as whether the character that can be input in the input field is kana or hiragana, half-width or full-width.

[ステップS206]ステップS204は、ステップS206を含む。このステップにおいて、HTMLの周辺の記述の特徴が認識される。例えば、inputタグの親要素をトラバースして、例えば「ふりがな」などの表示文字を抽出したり、inputタグの周辺に存在する入力の案内のテキスト、例えば「全角ひらがなで入力してください」などの表示文字を解析する機能を有する。このような解析を行うことで、入力項目の規約を効率よく推定することができる。   [Step S206] Step S204 includes step S206. In this step, the description features around the HTML are recognized. For example, you can traverse the parent element of the input tag to extract display characters such as “Furigana”, or input guidance text that exists around the input tag, such as “Please enter in full-width hiragana” It has a function to analyze display characters. By performing such an analysis, it is possible to efficiently estimate the rules for input items.

[ステップS208]このステップによって、入力項目の規約がオペレータから受け取られる。すなわち、オペレータから、入力項目の規約に含まれ得る入力条件を受け取ることができる。ステップS204により推定された入力条件に加えて、オペレータの指示する入力条件を加味することにより、次のステップS210において、より正確な入力項目の規約を取得することができる。   [Step S208] In this step, the rules of the input item are received from the operator. That is, an input condition that can be included in the rules of the input item can be received from the operator. By adding the input conditions instructed by the operator in addition to the input conditions estimated in step S204, more accurate input item rules can be acquired in the next step S210.

[ステップS210]規約の各々に対応した入力値の集合が、入力値の対応テーブル110から取得される。取得された規約を基にして、具体的なテストケースを作るための入力値の対応テーブル110を検索する。入力値の対応テーブル110には、様々なテストケースを想定して、具体的な入力値が格納されている。格納された入力値は、規約をキーにして検索することができる。検索された入力値は、規約に合致した正しい入力値と誤りの存在する入力値との双方が含まれていることが望ましい。例えば、規約のうちの一部を満たさない入力値は、誤った入力値である確率が非常に高い。このような誤った入力値も含めて、入力値の組を、入力値の対応テーブル110の中に予め格納しておく。正しい入力値と誤りの存在する入力値との双方が含まれている入力値の組を用いることで、ウェブサイトを網羅的にチェックすることができる。この動作の詳細は後述する。
なお、入力値の対応テーブル110は、取得された規約と、規約に合致した正しい入力値及び誤りの存在する入力値との双方とが対になって記憶されたデータベースなどであってもよい。
[Step S210] A set of input values corresponding to each of the rules is acquired from the input value correspondence table 110. Based on the acquired rules, the input value correspondence table 110 for creating a specific test case is searched. The input value correspondence table 110 stores specific input values assuming various test cases. The stored input value can be searched using the convention as a key. It is desirable that the retrieved input values include both correct input values that meet the rules and input values that contain errors. For example, an input value that does not satisfy some of the rules has a very high probability of being an incorrect input value. A set of input values including such erroneous input values is stored in the input value correspondence table 110 in advance. By using a set of input values including both correct input values and erroneous input values, it is possible to comprehensively check the website. Details of this operation will be described later.
The input value correspondence table 110 may be a database or the like in which the acquired convention and a correct input value that matches the convention and an input value in which an error exists are paired and stored.

[ステップS212]入力する要素の組が生成される。本ステップは、複数の入力項目の各々に対して得られた入力値の集合から、一つずつ集合の要素を取り出して、複数の入力項目に入力する具体的な入力値の組を作成する。この入力値の組は、複数個作成されることが望ましい。この入力値の組には、正しい入力値だけを含む組及び、正しい入力値に加えて、誤った入力値を含む組を作ることが望ましい。   [Step S212] A set of input elements is generated. In this step, elements of the set are extracted one by one from the set of input values obtained for each of the plurality of input items, and a specific set of input values to be input to the plurality of input items is created. It is desirable to create a plurality of sets of input values. It is desirable to create a set including only correct input values and a set including incorrect input values in addition to the correct input values.

[ステップS214]ウェブサイトの予測される応答が推定される。本ステップは、入力値の組に応じて、ウェブサイトが入力の成功の応答を返すか、入力の失敗の応答を返すかを予め推測する。例えば、全ての入力値が適正とされる入力値の組をウェブサイトに適用した場合には、ウェブサイトは、入力成功の応答を返すと予測される。これに対して、1つでも適正でない入力値を含む入力値の組をウェブサイトに適用した場合には、ウェブサイトは、入力失敗の応答を返すと予測される。このようにして、予め、ウェブサイトの応答を予測しておく。   [Step S214] The predicted response of the website is estimated. This step infers in advance whether the website returns an input success response or an input failure response depending on the set of input values. For example, if a set of input values for which all input values are appropriate is applied to the website, the website is predicted to return a response indicating successful input. On the other hand, when a set of input values including at least one input value that is not appropriate is applied to the website, the website is predicted to return an input failure response. In this way, the website response is predicted in advance.

[ステップS216]ウェブサイトの実際の応答が取得される。実際に、入力値の組がウェブサイトに適用された場合に、実際のウェブサイトの応答(入力成功又は入力失敗の応答)が取得される。   [Step S216] The actual response of the website is obtained. Actually, when a set of input values is applied to a website, an actual website response (input success or input failure response) is obtained.

[ステップS218]ウェブサイトの欠陥の有無及び/又は欠陥の内容が出力される。本ステップは、予測されたウェブサイトの応答と、ウェブサイトの実際の応答とを比較する。比較において、一致した場合には、予測通りであり、パスしたことになる。これに対して、比較において、不一致が発生した場合には、ウェブサイトに欠陥が存在するか、予測が誤っていたかのいずれかである。予測が誤っている場合には、ウェブサイトの欠陥が見つからず、適用された入力値の組とウェブサイトの仕様を十分チェックすることで、予測が誤っていたことが発見されることとなる。この場合には、入力項目の各々の規約を推定するステップS204のアルゴリズム及び入力値の対応テーブル110を適切に改善することが望ましい。ウェブサイトの欠陥の発見手法の具体例については、図3及び図8を用いて後述する。 [Step S218] The presence / absence and / or content of the defect of the website is output. This step compares the predicted website response with the actual website response. In the comparison, if they match, it is as predicted and passed. On the other hand, if a mismatch occurs in the comparison, either the website has a defect or the prediction was incorrect. If the prediction is wrong, the defect of the website is not found, and it is discovered that the prediction is wrong by thoroughly checking the applied input value set and the specification of the website. In this case, it is desirable to appropriately improve the algorithm in step S204 for estimating the rules of each input item and the input value correspondence table 110. A specific example of the method for detecting defects on the website will be described later with reference to FIGS.

以上のようにして、本実施形態のプログラムがコンピュータにより実行される。なお、本実施形態2は、既に説明した実施形態1の動作と同様である。詳細な動作は、実施形態1を参照することにより、より深く理解することができる。   As described above, the program of this embodiment is executed by the computer. The second embodiment is the same as the operation of the first embodiment already described. The detailed operation can be understood more deeply by referring to the first embodiment.

本プログラムによって、ウェブサイトの欠陥に関する検査結果が得られる。本実施形態のプログラムによって、ほぼ自動的に、網羅性のある入力項目の組を複数作成することができる。この入力値の組が生成されることによって、ウェブサイトの検査の作業を支援することができる。
さらに、これらの入力値の組を自動的にウェブサイトに適用することにより、ウェブサイトの欠陥をより容易に発見することができる。
This program provides inspection results on website defects. By the program of this embodiment, a plurality of sets of input items with completeness can be created almost automatically. By generating this set of input values, it is possible to assist the inspection work of the website.
Furthermore, by automatically applying these sets of input values to the website, defects in the website can be found more easily.

<実施形態3>
図3は、予測されたウェブサイトの応答と実際の応答とからウェブの欠陥を発見する例を示すフローチャートである。
以下に、図3に示す本実施形態の各ステップを説明する。なお、下記の動作は、図8においても詳述される。図3に示すステップS306ないしステップS320は、図2におけるステップS218の動作を詳細に示すものである。なお、図3のフローは、予測される応答が正しい場合を前提としたフローであることに留意されたい。
[ステップS302]本ステップは、図2におけるステップS214と同じである。
[ステップS304]本ステップは、図2におけるステップS216と同じである。
<Embodiment 3>
FIG. 3 is a flowchart illustrating an example of finding a web defect from a predicted website response and an actual response.
Below, each step of this embodiment shown in FIG. 3 is demonstrated. The following operation is also described in detail in FIG. Steps S306 to S320 shown in FIG. 3 show the operation of step S218 in FIG. 2 in detail. It should be noted that the flow in FIG. 3 is a flow on the assumption that the predicted response is correct.
[Step S302] This step is the same as step S214 in FIG.
[Step S304] This step is the same as step S216 in FIG.

[ステップS306]本ステップにおいて、予測される応答は実際の応答と同じかが判断される。判断が肯定的(「はい」)である場合には、ステップS310に進む。判断が否定的(「いいえ」)である場合には、ステップS308に進む。   [Step S306] In this step, it is determined whether the predicted response is the same as the actual response. If the determination is affirmative (“yes”), the process proceeds to step S310. If the determination is negative (“No”), the process proceeds to step S308.

[ステップS308]本ステップで、使用した要素の組に関しては、ウェブサイトに欠陥ありと判断される。なぜなら、予測される応答と実際の応答とが相反するからである。   [Step S308] Regarding the set of elements used in this step, it is determined that the website is defective. This is because the predicted response and the actual response conflict.

[ステップS310]本ステップで、使用した要素の組に関しては、ウェブサイトに欠陥なしと判断される。なぜなら、予測される応答と実際の応答とが同じであるからである。
[ステップS312]入力する要素の組が終わるまで、「開始」に戻って、処理を繰り返す。
[Step S310] In this step, regarding the set of elements used, it is determined that the website has no defects. This is because the predicted response and the actual response are the same.
[Step S312] The process returns to “START” and the process is repeated until the set of elements to be input ends.

[ステップS314]本ステップで、実際の応答は「失敗」したのに「成功」するとの予測をしたかが判断される。判断が肯定的(「はい」)である場合には、ステップS318に進む。判断が否定的(「いいえ」)である場合には、ステップS316に進む。   [Step S314] In this step, it is determined whether the actual response is “failed” but predicted to be “successful”. If the determination is affirmative (“yes”), the process proceeds to step S318. If the determination is negative (“No”), the process proceeds to step S316.

[ステップS316]このステップに到達した場合には、入力された要素の組のうち、誤りの要素が、誤りでないと判断されたことが判明することとなる。したがって、誤りの要素に対応するウェブサイトの項目の処理ロジックに欠陥があることが特定される。この特定は、オペレータに報知されることとなる。   [Step S316] When this step is reached, it is determined that the erroneous element of the set of input elements is determined not to be an error. Therefore, it is specified that the processing logic of the item on the website corresponding to the erroneous element is defective. This specification is notified to the operator.

[ステップS318]このステップに到達した場合には、本ステップは、実際の応答が「成功」した他の要素の組との比較判断を行い、どの要素に対応するウェブの項目の処理ロジックが誤りかを特定する。具体例については、図8を用いて説明する。
[ステップS320]入力する要素の組が終わるまで、「開始」に戻って、処理を繰り返す。
[Step S318] If this step has been reached, this step makes a comparison judgment with a set of other elements whose actual response is “successful”, and the processing logic of the Web item corresponding to which element is incorrect To identify. A specific example will be described with reference to FIG.
[Step S320] Until the set of elements to be input ends, the process returns to “START” and the process is repeated.

以上のようにして、ウェブサイトの欠陥の場所及びその態様が明らかとなる。このため、この結果が提供されたオペレータは、ウェブサイトの欠陥をより容易に発見することができ、その対策をより容易に講じることができる。   As described above, the location and the mode of the defect of the website are clarified. For this reason, the operator who provided this result can find the defect of the website more easily and can take countermeasures more easily.

<実施形態4>
図4は、ウェブサイト400の入力画面の例を示す図である。図4では、ウェブサイト400において、「お客様登録フォーム」が表示されている。このウェブサイト400は、ウェブサイト400を管理する主体が提供するサービスの会員になるための諸情報の入力を、お客様に促すウェブサイトの例である。
<Embodiment 4>
FIG. 4 is a diagram illustrating an example of an input screen of the website 400. In FIG. 4, a “customer registration form” is displayed on the website 400. This website 400 is an example of a website that prompts the customer to input various information for becoming a member of a service provided by the entity that manages the website 400.

このようなウェブサイト400を構築した場合には、複数の入力項目にテストデータを入力して、ウェブサイト400が正常な動作をするか否かをチェックすることが必要となる。   When such a website 400 is constructed, it is necessary to check whether the website 400 operates normally by inputting test data into a plurality of input items.

ウェブサイト400には、最上段に、「名前」402、「*」404、名前入力欄406及び入力のための説明文「全角半角」408が表示されている。なお、「*」404は、説明文495に記載されているように、名前入力欄406が必須入力欄であることを示している。   In the website 400, “name” 402, “*” 404, a name input field 406, and an explanatory text “double-byte half-width” 408 for input are displayed at the top. Note that “*” 404 indicates that the name input field 406 is an indispensable input field, as described in the description 495.

その他、ウェブサイト400は、ふりがな入力欄410、メールアドレス入力欄420、パスワード入力欄430、パスワード(確認用)入力欄440、性別のラジオボタン「男性」452、「女性」453、郵便番号入力欄460、都道府県選択欄470、市区町村番地等入力欄480及び利用規約同意チェックボックス490を有する。   In addition, the website 400 includes a phonetic input field 410, an e-mail address input field 420, a password input field 430, a password (for confirmation) input field 440, gender radio buttons “male” 452, “female” 453, and a postal code input field. 460, a prefecture selection column 470, a municipality address input column 480, and a use agreement agreement check box 490.

図5は、ウェブサイトの応答画面の例を示す図である。図5の応答画面は、図4に示した各入力項目に対応する欄に、適切な値が適用されて、会員登録が完了した画面500であり、「会員登録完了」510、「登録完了しました。」520及び「ログインページは、こちらです。」530が表示されている。 FIG. 5 is a diagram illustrating an example of a response screen of a website. The response screen of FIG. 5 is a screen 500 in which member registration is completed by applying appropriate values to the fields corresponding to the input items shown in FIG. 4, “member registration complete” 510, “registration complete”. "520" and "Login page is here ." 530 are displayed.

本実施形態に係るプログラム及び装置は、この、会員登録が完了した画面500のHTMLソースから、例えば、「登録完了」520の文字の存在を認識することにより、図4のお客様登録画面の全項目の入力が成功したことを認識することができる。   The program and apparatus according to the present embodiment recognizes the presence of the characters “registration completed” 520 from the HTML source of the screen 500 on which the member registration is completed, for example, so that all items on the customer registration screen in FIG. Can be recognized as successful input.

図6は、ウェブサイトの入力値の集合を示す表600である。HTML位置610は、ウェブサイトのHTMLソースの場所を示している。なお、図6においては、位置の一部を簡略的に示している。実際の位置は、文字数が長くなるので省略した。例えば、HTML位置611は、「...type(1)>td>input」というように簡略化して示しているが、実際には、「html > body > div:nth-of-type(2) > div > form > table > tbody > tr:nth-of-type(1) > td > input」である。他のHTML位置についても同様に簡略化して示している点に留意されたい。
HTML中の名前620は、HTMLソースの中で、入力項目がどのような名前で処理されているかを抽出した項目である。
FIG. 6 is a table 600 showing a set of website input values. HTML location 610 indicates the location of the HTML source of the website. In FIG. 6, a part of the position is shown in a simplified manner. The actual position is omitted because the number of characters becomes longer. For example, the HTML position 611 is simplified as “... type (1)>td> input”, but actually, “html>body> div: nth-of-type (2)”. >div>form>table>tbody> tr: nth-of-type (1)>td> input ”. Note that other HTML locations are similarly simplified.
The name 620 in the HTML is an item obtained by extracting the name of the input item being processed in the HTML source.

項目規約630は、HTMLの入力項目640の周辺に存在するテキスト(周辺テキスト650)によって自動的に認識された項目の規約である。例えば、入力項目(氏名)においては、「全角 or 半角」と「必須」が認識されている。この認識は、周辺テキスト650が「名前*全角半角」を調べることによって可能となる。また、図示していないが、HTML中の<INPUT>タグのタイプ「type=”text”」を参照することにより、文字列を入力対象としていることがわかる(不図示)。周辺テキスト「全角」「半角」から、項目規約として「全角or半角」が条件であることが判明する。加えて「*」「*は必須入力項目です。」が周辺のテキストに存在するため、「必須」の項目であることがわかる。したがって、例えばこの項目を空欄とすることは、許容されないことがわかる。   The item rule 630 is a rule for an item that is automatically recognized by text existing in the vicinity of the HTML input item 640 (peripheral text 650). For example, in the input item (name), “full-width or half-width” and “required” are recognized. This recognition is made possible by the peripheral text 650 examining “name * full-width half-width”. Although not shown, it is understood that a character string is an input target by referring to the <INPUT> tag type “type =“ text ”” in HTML (not shown). From the surrounding text “full-width” and “half-width”, it becomes clear that “full-width or half-width” is a condition as an item rule. In addition, since “*” and “* are required input items” are present in the surrounding text, it is understood that they are “required” items. Therefore, for example, it is understood that it is not allowed to leave this item blank.

入力値の集合660は、例えば、項目規約630をキーにして、上述した入力値の対応テーブルを検索することで取得することができる(662、664、666、668)。したがって、入力値の対応テーブル110には、あらかじめ、項目の規約に適合する具体的な入力値の例と、項目の規約に適合しない入力値の例とを格納しておくことが望ましい。項目の規約に適合しない入力値の例は、項目に適合する規約と紐づけて格納しておいて、項目の規約に適合する入力値と適合しない入力値を合わせて抽出してもよい。或いは、項目の規約の一部の条件を除いて、入力値の対応テーブルを検索した際に新たに抽出された入力値を、項目の規約に適合しない入力値に用いてもよい。   The set of input values 660 can be acquired, for example, by searching the input value correspondence table described above using the item rule 630 as a key (662, 664, 666, 668). Therefore, it is desirable that the input value correspondence table 110 stores in advance specific examples of input values that conform to item conventions and input values that do not conform to item conventions. An example of an input value that does not conform to the item convention may be stored in association with a convention that conforms to the item, and an input value that conforms to the item convention may be extracted together with the input value that does not conform to the item convention. Alternatively, an input value newly extracted when the input value correspondence table is searched may be used as an input value that does not conform to the item rule except for some conditions of the item rule.

なお、上述のように、入力値の集合が見つからない場合には、オペレータによる指示を促してもよい。オペレータにより、具体的な入力値を入力値の集合660にエントリするようにしてもよい。その際、項目規約630にもオペレータからの入力を促すようにしてもよい。オペレータにより入力された具体的な入力値と、入力された項目規約630とを対にして、入力値の対応テーブルに格納することで、入力値の対応テーブルの内容を充実させることができる。
なお、入力値の集合660において、[ ]で囲まれた入力値は、項目の規約に適合しない入力値を示している。
以上のようにして、入力項目の各々の規約に対応した入力値の集合(規約に適合する入力値と、規約に適合しない入力値の双方)を取得することができる。
As described above, when a set of input values is not found, an operator instruction may be prompted. A specific input value may be entered into the input value set 660 by the operator. At that time, the item rule 630 may be prompted to input from the operator. By storing a specific input value input by the operator and the input item rule 630 in a pair in the input value correspondence table, the contents of the input value correspondence table can be enhanced.
In the input value set 660, input values enclosed in [] indicate input values that do not conform to the rules of the item.
As described above, it is possible to acquire a set of input values (both input values conforming to the conventions and input values not conforming to the conventions) corresponding to the conventions of the input items.

なお、例えば、パスワードなどの具体的な入力値の生成については、既に述べたように入力値の対応テーブル110を検索するのではなく、オペレータによって与えられた規約(条件)に応じて、パスワードの入力値(規約に適合するものと適合しないもの)をプログラムにより生成するようにしてもよい。このプログラムは、パスワードの文字数、文字種別、大文字小文字、特殊文字などの構成要素のうち、どの構成要素を必須とするか、又はその条件をオペレータから取得して、その条件に合致したパスワードの値と合致しないパスワードの値とを出力するように構成すればよい。   For example, for generating a specific input value such as a password, instead of searching the input value correspondence table 110 as described above, according to the rules (conditions) given by the operator, the password An input value (one that conforms to the convention and one that does not conform) may be generated by a program. This program obtains from the operator which component is mandatory among the components such as the number of characters of the password, character type, uppercase and lowercase letters, special characters, etc., and the password value that matches the condition May be configured to output a password value that does not match.

図7は、ウェブサイトの入力に失敗した場合の応答画面700の例を示す図である。ウェブサイトの入力に失敗した場合には、例えば、応答画面700の中に「入力に不備があります」710のような文字が表示されるのが通常である。このように、応答画面700に「入力に不備があります」710のような表示が存在するかを、HTMLソースから検索することで、実際に、入力が成功したか、失敗したかがわかる。   FIG. 7 is a diagram showing an example of a response screen 700 when the website input fails. In the case where the website entry fails, for example, characters such as “There is a deficiency in input” 710 are usually displayed in the response screen 700. Thus, by searching from the HTML source whether there is a display such as “There is an input defect” 710 on the response screen 700, it is possible to know whether the input has actually succeeded or failed.

また、不備の箇所720をハイライトさせたり、赤フォントで表示させたりする場合が多い。このような、画面の変化を応答画面700から抽出することにより、どの入力項目において、誤りが生じたのかがわかる。たとえば、予測した応答は、成功するはずであったが、実際の応答が失敗の応答であった場合には、このような誤りが生じている個所の表示を探索することによって、ウェブサイトの入力項目の処理における、不備の箇所を特定することもできる。   In many cases, the defective portion 720 is highlighted or displayed in a red font. By extracting such a screen change from the response screen 700, it is possible to know in which input item an error has occurred. For example, if the predicted response should have been successful, but the actual response was a failed response, the website input may be entered by searching for an indication of where such an error has occurred. It is also possible to identify the deficiencies in the item processing.

図8は、ウェブサイトの入力項目の各々に入力する要素の組を生成した例を示す表800である。図8における入力要素の組1ないし9は、一例であって、全ての組を網羅しているわけではない。要素の組No.1は、入力項目のうちの氏名の項目が山田太郎である入力要素の組を示している。これらの入力要素は、図6の入力値の集合660から、各入力項目に対応して1つずつ入力値を選択して、入力する要素の一組が作成されている。   FIG. 8 is a table 800 showing an example in which a set of elements to be input to each of the input items of the website is generated. The input element sets 1 to 9 in FIG. 8 are examples, and do not cover all sets. Element set No. 1 represents an input element set in which the name item of the input items is Taro Yamada. As these input elements, a set of elements to be input is created by selecting one input value corresponding to each input item from the input value set 660 of FIG.

要素の組No.1においては、全ての入力値が適合する入力値であるため、予測応答850は、「成功すると予測」している。そして、実際の応答860も「成功した」結果を示している。この場合には、予測応答850と実際の応答860とが一致しているため、この入力要素の組に対しては、ウェブサイトは適正な応答を返していることがわかる。   In the element set No. 1, since all input values are suitable input values, the prediction response 850 “predicts success”. The actual response 860 also shows a “successful” result. In this case, since the predicted response 850 and the actual response 860 match, it can be seen that the website returns an appropriate response for this set of input elements.

要素の組No.3においては、予測応答813は、成功すると予測している。しかしながら、実際の応答815は、失敗の応答を返している。この場合には、例えば、成功すると予測した要素の組No.1と要素の組No.3とを比較することにより、欠陥箇所を推定することが可能である。要素の組No.1と要素の組No.3では、都道府県の入力項目だけが相違している。要素の組No.1の都道府県は「北海道」であり、要素の組No.3の都道府県は、「青森県」である。いずれも、都道府県であるから適正な入力値である。しかしながら、要素の組No.3に対するウェブサイトの実際の応答815は、「失敗した」となっているから、この都道府県の入力項目に関するウェブサイトの処理に欠陥がある可能性が高いことがわかる。   In element set No. 3, the prediction response 813 is predicted to be successful. However, the actual response 815 returns a failure response. In this case, for example, the defect location can be estimated by comparing the element set No. 1 predicted to be successful and the element set No. 3. The element set No. 1 and the element set No. 3 differ only in the input items of the prefecture. The prefecture of element group No. 1 is “Hokkaido”, and the prefecture of element group No. 3 is “Aomori Prefecture”. Since both are prefectures, they are appropriate input values. However, since the actual response 815 of the website to the element set No. 3 is “failed”, it can be seen that there is a high possibility that the processing of the website related to the input item of this prefecture is defective. .

要素の組No.5においては、予測応答823は、失敗すると予測している。しかしながら、実際の応答825は、成功の応答を返している。この場合には、失敗すると予測した根拠となる入力項目すなわちウェブサイトの郵便番号の処理ロジックに欠陥がある可能性が高いことがわかる。図8に示されるように、要素の組No.5の郵便番号820は、「abcdeg」である。これは、郵便番号としては、不正な値である。それにもかかわらず。実際の応答825は、「成功した」と応答しているから、ウェブサイトの郵便番号の処理ロジックに欠陥がある可能性が高いことがわかる。   In element set No. 5, the prediction response 823 is predicted to fail. However, the actual response 825 returns a successful response. In this case, it can be seen that there is a high possibility that the input item that is the basis for the failure, that is, the processing logic of the postal code of the website, is defective. As shown in FIG. 8, the postal code 820 of the element set No. 5 is “abcdeg”. This is an illegal value for a zip code. Nevertheless. Since the actual response 825 responds “successful”, it can be seen that the postal code processing logic of the website is likely to be defective.

以上のように、複数の入力する要素の組を容易に生成でき、かつ、順次これらをウェブサイトに適用することによって、ウェブサイトの欠陥の箇所をより容易に特定することが可能となる。   As described above, a set of a plurality of elements to be input can be easily generated, and by sequentially applying these to a website, it becomes possible to more easily identify a defective part of the website.

<ハードウエア構成>
図9は、一実施形態のハードウエア構成900を示す図である。
ハードウエア構成900は、CPU902、メモリ904、通信制御装置906、入力インタフェース908、表示制御部910、外部メモリ制御部912及び出力インタフェース914を有する。
<Hardware configuration>
FIG. 9 is a diagram illustrating a hardware configuration 900 according to an embodiment.
The hardware configuration 900 includes a CPU 902, a memory 904, a communication control device 906, an input interface 908, a display control unit 910, an external memory control unit 912, and an output interface 914.

そして、通信制御装置906には、ネットワーク930(WIFI、有線LAN、広域ネットワーク(インターネット)、近距離無線通信等)が接続される。入力インタフェース908には、タッチ感知センサ等940などが接続される。表示制御部910には、ディスプレイ950が接続される。外部メモリ制御部912は、記憶媒体960を読み書きすることができる。出力インタフェースには、スピーカ等970などが接続される。
記憶媒体960は、RAM、ROM、CD−ROM、DVD−ROM、ハードディスク、メモリーカード等であってもよい。
A network 930 (WIFI, wired LAN, wide area network (Internet), near field communication, etc.) is connected to the communication control device 906. The input interface 908 is connected with a touch sensor 940 or the like. A display 950 is connected to the display control unit 910. The external memory control unit 912 can read and write the storage medium 960. A speaker 970 or the like is connected to the output interface.
The storage medium 960 may be a RAM, ROM, CD-ROM, DVD-ROM, hard disk, memory card, or the like.

以上説明した実施形態のプログラムは、ハードウエア構成900を備えるコンピュータにより実行され得る。また,実施形態のプログラムは,コンピュータに実行させる方法として,インプリメントされてもよい。本実施形態のプログラムの一部又は全部は、オペレーティングシステムにより実行されてもよい。また、プログラムの一部がハードウエアにより実現されてもよい。プログラムは記憶媒体960又はメモリ904に記憶されてもよい。   The program of the embodiment described above can be executed by a computer including the hardware configuration 900. In addition, the program of the embodiment may be implemented as a method for causing a computer to execute the program. Part or all of the program of the present embodiment may be executed by an operating system. A part of the program may be realized by hardware. The program may be stored in the storage medium 960 or the memory 904.

なお,上述の実施形態において,プログラムのステップは、矛盾のない限り,同時に,又は順序を入れ替えて実行されてもよい。
以上の実施形態は,ハードウエアの装置としてインプリメントされ得る。
以上の実施形態は,請求項に記載された発明を限定するものではなく,例示として取り扱われることは言うまでもない。
In the above-described embodiment, the program steps may be executed simultaneously or in a different order as long as there is no contradiction.
The above embodiments can be implemented as a hardware device.
It goes without saying that the above embodiment does not limit the invention described in the claims, but is treated as an example.

102 複数の入力項目を特定する手段
104 入力項目の各々の規約を推定する手段
105 HTMLの周辺の記述の特徴を認識する手段
106 入力項目の規約をオペレータから受け取る手段
108 規約の各々に対応した入力値の集合を対応テーブルから取得する手段
110 入力値の対応テーブル
112 入力する要素の組を生成する手段
114 ウェブサイトの実際の応答を取得する手段
116 ウェブサイトの予測される応答を推定する手段
118 ウェブサイトの欠陥の有無及び/又は欠陥の内容を出力する手段

102 means for specifying a plurality of input items 104 means for estimating the rules of each of the input items 105 means for recognizing the features of the description around the HTML 106 means for receiving the rules of the input items from the operator 108 input corresponding to each of the rules Means for obtaining a set of values from a correspondence table 110 Correspondence table for input values 112 Means for generating a set of input elements 114 Means for obtaining an actual response of a website 116 Means for estimating a predicted response of a website 118 Means for outputting presence / absence and / or content of defects on website

Claims (7)

ウェブサイトから、複数の入力項目を特定するステップと、
前記ウェブサイトから、前記複数の入力項目の各々の規約を推定するステップと、
推定された前記規約の各々に対応した入力値の集合を、対応テーブルから取得するステップと、
取得した前記入力値の集合の各々から1つずつ要素を取り出して、前記複数の入力項目の各々に入力する要素の組を生成するステップと、
前記要素の所定の組を前記複数の入力項目に入力したときの前記ウェブサイトの予測される応答を推定するステップと、
をコンピュータに実行させるウェブ検査プログラム。
Identifying multiple input items from the website;
Estimating a contract for each of the plurality of input items from the website;
Obtaining a set of input values corresponding to each of the estimated rules from a correspondence table;
Extracting one element from each of the acquired set of input values and generating a set of elements to be input to each of the plurality of input items;
Estimating a predicted response of the website when the predetermined set of elements is entered into the plurality of input items;
Web inspection program that runs on a computer.
前記要素の前記所定の組を前記複数の入力項目に実際に入力して前記ウェブサイトの実際の応答を取得するステップと、
前記予測される応答と前記実際の応答とが相違する場合における、前記入力された要素の所定の組に基づいて、前記ウェブサイトの欠陥の有無及び/又は前記欠陥の内容を出力するステップと、
を更にコンピュータに実行させる請求項1に記載のウェブ検査プログラム。
Actually inputting the predetermined set of elements into the plurality of input items to obtain an actual response of the website;
Outputting the presence / absence and / or the content of the defect of the website based on the predetermined set of input elements when the predicted response is different from the actual response;
The web inspection program according to claim 1, further comprising:
前記複数の入力項目の各々の規約は、前記ウェブサイトにおいて定められた条件を持ち、前記規約の各々に対応した入力値の集合は、前記定められた条件を満たす要素と、前記定められた条件を満たさない要素とを含む、
請求項1又は2に記載のウェブ検査プログラム。
Each rule of the plurality of input items has a condition defined on the website, and a set of input values corresponding to each of the rules includes an element satisfying the defined condition, and the defined condition. Including elements that do not satisfy
The web inspection program according to claim 1 or 2.
前記規約を、オペレータから受け取るステップ、
を更にコンピュータに実行させる、
請求項1ないし3のうちいずれか1項に記載のウェブ検査プログラム。
Receiving the contract from an operator;
To run the computer further,
The web inspection program according to any one of claims 1 to 3.
前記規約を推定するステップは、前記ウェブサイトのHTMLソースにおいて、入力項目の周辺の記述の特徴を認識するステップを含む、
請求項1ないし4のうちいずれか1項に記載のウェブ検査プログラム。
The step of estimating the rules includes the step of recognizing the description characteristics around the input item in the HTML source of the website.
The web inspection program according to any one of claims 1 to 4.
ウェブサイトから、複数の入力項目を特定する手段と、
前記ウェブサイトから、前記複数の入力項目の各々の規約を推定する手段と、
推定された前記規約の各々に対応した入力値の集合を、対応テーブルから取得する手段と、
取得した前記入力値の集合の各々から1つずつ要素を取り出して、前記複数の入力項目の各々に入力する要素の組を生成する手段と、
前記要素の所定の組を前記複数の入力項目に入力したときの前記ウェブサイトの予測される応答を推定する手段と、
を有するウェブ検査装置。
A means of identifying multiple input items from a website;
Means for estimating a contract for each of the plurality of input items from the website;
Means for obtaining a set of input values corresponding to each of the estimated rules from a correspondence table;
Means for extracting one element from each of the acquired set of input values and generating a set of elements to be input to each of the plurality of input items;
Means for estimating a predicted response of the website when the predetermined set of elements is input to the plurality of input items;
A web inspection device.
前記要素の前記所定の組を前記複数の入力項目に実際に入力して前記ウェブサイトの実際の応答を取得する手段と、
前記予測される応答と前記実際の応答とが相違する場合における、前記入力された要素の所定の組に基づいて、前記ウェブサイトの欠陥の有無及び/又は前記欠陥の内容を出力する手段と、
を更に有する請求項6に記載のウェブ検査装置。
Means for actually inputting the predetermined set of elements into the plurality of input items to obtain an actual response of the website;
Means for outputting the presence or absence of the website and / or the content of the defect based on a predetermined set of the input elements when the predicted response differs from the actual response;
The web inspection apparatus according to claim 6, further comprising:
JP2018080592A 2018-04-19 2018-04-19 Web inspection program and web inspection equipment Active JP7053017B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018080592A JP7053017B2 (en) 2018-04-19 2018-04-19 Web inspection program and web inspection equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018080592A JP7053017B2 (en) 2018-04-19 2018-04-19 Web inspection program and web inspection equipment

Publications (2)

Publication Number Publication Date
JP2019191689A true JP2019191689A (en) 2019-10-31
JP7053017B2 JP7053017B2 (en) 2022-04-12

Family

ID=68390262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018080592A Active JP7053017B2 (en) 2018-04-19 2018-04-19 Web inspection program and web inspection equipment

Country Status (1)

Country Link
JP (1) JP7053017B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021100156A1 (en) * 2019-11-20 2021-05-27 日本電信電話株式会社 Test data generation device, test data generation method, and program
JP2022055811A (en) * 2020-09-29 2022-04-08 PayPay株式会社 Generation apparatus, generation method, and generation program
WO2023224013A1 (en) * 2022-05-17 2023-11-23 オン・デマンド・ワン株式会社 Test pattern generation device and test pattern generation program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012078877A (en) * 2010-09-30 2012-04-19 Dainippon Printing Co Ltd Vulnerability inspection device, vulnerability inspection method and vulnerability inspection program
JP2016048470A (en) * 2014-08-27 2016-04-07 日本電気株式会社 Application test support apparatus, data processing method thereof, and program
US20160328316A1 (en) * 2015-05-08 2016-11-10 Mastercard International Incorporated Systems and Methods for Automating Test Scripts for Applications That Interface to Payment Networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012078877A (en) * 2010-09-30 2012-04-19 Dainippon Printing Co Ltd Vulnerability inspection device, vulnerability inspection method and vulnerability inspection program
JP2016048470A (en) * 2014-08-27 2016-04-07 日本電気株式会社 Application test support apparatus, data processing method thereof, and program
US20160328316A1 (en) * 2015-05-08 2016-11-10 Mastercard International Incorporated Systems and Methods for Automating Test Scripts for Applications That Interface to Payment Networks

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
小松 健作: "Webシステムを変えるHTML5 [第2回]高機能な入力画面 入力データの正しさをチェック ユーザー", 日経SYSTEMS 第223号, JPN6021045369, November 2011 (2011-11-01), JP, pages 90 - 95, ISSN: 0004639474 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021100156A1 (en) * 2019-11-20 2021-05-27 日本電信電話株式会社 Test data generation device, test data generation method, and program
JPWO2021100156A1 (en) * 2019-11-20 2021-05-27
JP7268759B2 (en) 2019-11-20 2023-05-08 日本電信電話株式会社 TEST DATA GENERATION DEVICE, TEST DATA GENERATION METHOD, AND PROGRAM
JP2022055811A (en) * 2020-09-29 2022-04-08 PayPay株式会社 Generation apparatus, generation method, and generation program
WO2023224013A1 (en) * 2022-05-17 2023-11-23 オン・デマンド・ワン株式会社 Test pattern generation device and test pattern generation program

Also Published As

Publication number Publication date
JP7053017B2 (en) 2022-04-12

Similar Documents

Publication Publication Date Title
CN109710508B (en) Test method, test device, test apparatus, and computer-readable storage medium
US8412514B1 (en) Method and apparatus for compiling and querying a QA database
JP7053017B2 (en) Web inspection program and web inspection equipment
CN113434395B (en) Automatic generation method, device, equipment and medium for test cases
CN111274149A (en) Test data processing method and device
US10509717B1 (en) System, method, and computer program for automatically testing software applications including dynamic web pages
CN112069069A (en) Defect automatic positioning analysis method, device and readable storage medium
CN116611074A (en) Security information auditing method, device, storage medium and apparatus
CN111133396B (en) Production facility monitoring device, production facility monitoring method, and recording medium
CN111324375A (en) Code management method and device, computer equipment and storage medium
CN110347573B (en) Application program analysis method, device, electronic equipment and computer readable medium
US8826185B2 (en) GUI evaluation system, GUI evaluation method, and GUI evaluation program
KR20100069147A (en) Method and apparatus for testing quality of website
US6681347B1 (en) Method for testing keyboard complied with language code
US20150178966A1 (en) System and method to check the correct rendering of a font
JP7331681B2 (en) Test execution program, test execution method, and test execution device
CN114238733A (en) Key information extraction method and device, computer storage medium and electronic equipment
Escobar-Velásquez et al. Itdroid: A tool for automated detection of i18n issues on android apps
US10515219B2 (en) Determining terms for security test
KR102176133B1 (en) Method and apparatus for automatically creating test cases for software
CN112732589A (en) Control testing method, device, equipment and storage medium
US20240045973A1 (en) Symbol narrowing-down apparatus, program analysis apparatus, symbol extraction method, program analysis method, and non-transitory computer readable medium
KR102286451B1 (en) Method for recognizing obfuscated identifiers based on natural language processing, recording medium and device for performing the method
US20230359826A1 (en) Computer-implemented system and method to perform natural language processing entity research and resolution
US11568662B2 (en) Information processing apparatus for detecting a common attribute indicated in different tables and generating information about the common attribute, and information processing method, and non-transitory computer readable medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220114

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220324

R150 Certificate of patent or registration of utility model

Ref document number: 7053017

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350