JP6902814B1 - Test support system, test support method and program - Google Patents

Test support system, test support method and program Download PDF

Info

Publication number
JP6902814B1
JP6902814B1 JP2021028213A JP2021028213A JP6902814B1 JP 6902814 B1 JP6902814 B1 JP 6902814B1 JP 2021028213 A JP2021028213 A JP 2021028213A JP 2021028213 A JP2021028213 A JP 2021028213A JP 6902814 B1 JP6902814 B1 JP 6902814B1
Authority
JP
Japan
Prior art keywords
test
data
program
screen definition
definition information
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.)
Active
Application number
JP2021028213A
Other languages
Japanese (ja)
Other versions
JP2022129520A (en
Inventor
隆一 河村
隆一 河村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AMIFIABLE CO., LTD.
Original Assignee
AMIFIABLE CO., 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 AMIFIABLE CO., LTD. filed Critical AMIFIABLE CO., LTD.
Priority to JP2021028213A priority Critical patent/JP6902814B1/en
Application granted granted Critical
Publication of JP6902814B1 publication Critical patent/JP6902814B1/en
Publication of JP2022129520A publication Critical patent/JP2022129520A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】ソフトウェアテストを容易に行うようにすることができるようにする。【解決手段】テスト支援システムであって、システムの画面定義情報を入力データとし、テストケース、テストプログラム及びテストデータの少なくともいずれかを教師データとして学習させた学習モデルを記憶するモデル記憶部と、テスト対象のシステムの画面定義情報の入力を受け付ける画面定義入力部と、画面定義情報を学習モデルに与えてテストケース、テストプログラム及びテストデータの少なくともいずれかを生成する生成部と、生成したテストケース、テストプログラム及びテストデータの少なくともいずれかを出力する出力部と、を備えることを特徴とする。【選択図】図1PROBLEM TO BE SOLVED: To easily perform a software test. SOLUTION: This is a test support system, and a model storage unit that stores a learning model in which screen definition information of the system is used as input data and at least one of a test case, a test program, and test data is learned as teacher data. A screen definition input unit that accepts input of screen definition information of the system to be tested, a generation unit that gives screen definition information to the learning model and generates at least one of a test case, a test program, and test data, and a generated test case. , A test program and an output unit that outputs at least one of the test data. [Selection diagram] Fig. 1

Description

本発明は、テスト支援システム、テスト支援方法及びプログラムに関する。 The present invention relates to a test support system, a test support method and a program.

仕様書からテストケースを生成することが行われている。 Test cases are generated from the specifications.

特開2011−204069号公報Japanese Unexamined Patent Publication No. 2011-24069

しかしながら、特許文献1に記載の装置では、テスト対象のプログラムの設計書からテスト仕様書とテストデータが生成されるため、複数のプログラムを含む大規模なシステムに適用するのは困難であった。 However, in the apparatus described in Patent Document 1, since the test specifications and the test data are generated from the design document of the program to be tested, it is difficult to apply the apparatus to a large-scale system including a plurality of programs.

本発明はこのような背景を鑑みてなされたものであり、ソフトウェアテストを容易に行うようにすることのできる技術を提供することを目的とする。 The present invention has been made in view of such a background, and an object of the present invention is to provide a technique capable of facilitating software testing.

上記課題を解決するための本発明の主たる発明は、テスト支援システムであって、システムの画面定義情報を入力データとし、テストケース、テストプログラム及びテストデータの少なくともいずれかを教師データとして学習させた学習モデルを記憶するモデル記憶部と、テスト対象のシステムの前記画面定義情報の入力を受け付ける画面定義入力部と、前記画面定義情報を前記学習モデルに与えて前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを生成する生成部と、生成した前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを出力する出力部と、を備えることを特徴とする。 The main invention of the present invention for solving the above problems is a test support system, in which screen definition information of the system is used as input data, and at least one of a test case, a test program, and test data is learned as teacher data. A model storage unit that stores a learning model, a screen definition input unit that accepts input of the screen definition information of the system to be tested, and the test case, the test program, and the test by giving the screen definition information to the learning model. It is characterized by including a generation unit that generates at least one of the data, and an output unit that outputs at least one of the generated test case, the test program, and the test data.

その他本願が開示する課題やその解決方法については、発明の実施形態の欄及び図面により明らかにされる。 Other problems disclosed in the present application and solutions thereof will be clarified in the columns and drawings of the embodiments of the invention.

本発明によれば、ソフトウェアテストを容易に行うようにすることができる。 According to the present invention, software testing can be facilitated.

本発明の一実施形態に係るテスト支援システムの全体構成例を示す図である。It is a figure which shows the whole structure example of the test support system which concerns on one Embodiment of this invention. サーバ装置20のハードウェア構成例を示す図である。It is a figure which shows the hardware configuration example of the server apparatus 20. サーバ装置20のソフトウェア構成例を示す図である。It is a figure which shows the software configuration example of the server apparatus 20. 画面定義情報の構成例を示す図である。It is a figure which shows the structural example of the screen definition information. 本実施形態のテスト支援システムによる学習処理の流れを示す図である。It is a figure which shows the flow of the learning process by the test support system of this embodiment. 本実施形態のテスト支援システムによるテストの実行処理の流れを示す図である。It is a figure which shows the flow of the test execution process by the test support system of this embodiment.

<発明の概要>
本発明の実施形態の内容を列記して説明する。本発明は、たとえば、以下のような構成を備える。
[項目1]
システムの画面定義情報を入力データとし、テストケース、テストプログラム及びテストデータの少なくともいずれかを教師データとして学習させた学習モデルを記憶するモデル記憶部と、
テスト対象のシステムの前記画面定義情報の入力を受け付ける画面定義入力部と、
前記画面定義情報を前記学習モデルに与えて前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを生成する生成部と、
生成した前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを出力する出力部と、
を備えることを特徴とするテスト支援システム。
[項目2]
項目1に記載のテスト支援システムであって、
前記生成部は、前記テストケース、前記テストプログラム及び前記テストデータを全て生成し、
前記テストケースに従って、前記テストプログラムを実行し、前記テスト対象のシステムが表示する画面に対して前記テストデータを与えてテストを実施し、前記テストの実施結果を検証するテスト実行部をさらに備えること、
を特徴とするテスト支援システム。
[項目3]
項目1に記載のテスト支援システムであって、
前記画面定義情報と、前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかの入力を受け付けて前記学習モデルを更新する学習部をさらに備えること、
を特徴とするテスト支援システム。
[項目4]
システムの画面定義情報を入力データとし、テストケース、テストプログラム及びテストデータの少なくともいずれかを教師データとして学習させた学習モデルを記憶するステップと、
テスト対象のシステムの前記画面定義情報の入力を受け付けるステップと、
前記画面定義情報を前記学習モデルに与えて前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを生成するステップと、
生成した前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを出力するステップと、
をコンピュータが実行するテスト支援方法。
[項目5]
システムの画面定義情報を入力データとし、テストケース、テストプログラム及びテストデータの少なくともいずれかを教師データとして学習させた学習モデルを記憶するステップと、
テスト対象のシステムの前記画面定義情報の入力を受け付けるステップと、
前記画面定義情報を前記学習モデルに与えて前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを生成するステップと、
生成した前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを出力するステップと、
をコンピュータに実行させるためのプログラム。
<Outline of the invention>
The contents of the embodiments of the present invention will be described in a list. The present invention includes, for example, the following configuration.
[Item 1]
A model storage unit that stores a learning model that uses system screen definition information as input data and trains at least one of test cases, test programs, and test data as teacher data.
A screen definition input unit that accepts input of the screen definition information of the system to be tested,
A generation unit that gives the screen definition information to the learning model and generates at least one of the test case, the test program, and the test data.
An output unit that outputs at least one of the generated test case, the test program, and the test data, and
A test support system characterized by being equipped with.
[Item 2]
The test support system described in item 1
The generation unit generates all of the test case, the test program, and the test data.
According to the test case, the test program is executed, the test data is given to the screen displayed by the system to be tested, the test is performed, and the test execution unit for verifying the execution result of the test is further provided. ,
A test support system featuring.
[Item 3]
The test support system described in item 1
Further provided with a learning unit that receives at least one of the screen definition information, the test case, the test program, and the test data, and updates the learning model.
A test support system featuring.
[Item 4]
A step of storing a learning model in which the screen definition information of the system is used as input data and at least one of a test case, a test program, and test data is trained as teacher data.
The step of accepting the input of the screen definition information of the system to be tested, and
A step of giving the screen definition information to the learning model to generate at least one of the test case, the test program, and the test data.
A step of outputting at least one of the generated test case, the test program, and the test data, and
A test support method that a computer executes.
[Item 5]
A step of storing a learning model in which the screen definition information of the system is used as input data and at least one of a test case, a test program, and test data is trained as teacher data.
The step of accepting the input of the screen definition information of the system to be tested, and
A step of giving the screen definition information to the learning model to generate at least one of the test case, the test program, and the test data.
A step of outputting at least one of the generated test case, the test program, and the test data, and
A program that lets your computer run.

<システムの概要>
図1は、本発明の一実施形態に係るテスト支援システムの全体構成例を示す図である。本実施形態のテスト支援システムは、サーバ装置20を含んで構成される。サーバ装置20は、ユーザ端末10と通信ネットワーク30を介して通信可能に接続される。通信ネットワーク30は、たとえばインターネットであり、公衆電話回線網や携帯電話回線網、無線通信路、イーサネット(登録商標)などにより構築される。
<System overview>
FIG. 1 is a diagram showing an overall configuration example of a test support system according to an embodiment of the present invention. The test support system of this embodiment includes a server device 20. The server device 20 is communicably connected to the user terminal 10 via the communication network 30. The communication network 30 is, for example, the Internet, and is constructed by a public telephone line network, a mobile phone line network, a wireless communication path, Ethernet (registered trademark), or the like.

本実施形態のテスト支援システムは、システム開発に係るテスト(単体テスト、結合テスト、リグレッションテスト、総合テスト等各種のテストを含む。)の工程を支援しようとするものである。システム開発の33%はテスト行程に係る工数が占めるといわれている。本実施形態のテスト支援システムは、このようなテスト工程を自動化しようとするものであり、システムの画面定義からテストケース、テストプログラム及びテストデータの少なくともいずれかを自動生成する。本実施形態では、事前に画面定義、テストケース、テストプログラム及びテストデータを学習しておき、学習モデルを用いて画面定義からテストケース、テストプログラム及びテストデータを自動生成を行うようにしている。 The test support system of the present embodiment is intended to support the process of tests related to system development (including various tests such as unit test, integration test, regression test, and comprehensive test). It is said that 33% of system development is man-hours related to the test process. The test support system of the present embodiment is intended to automate such a test process, and automatically generates at least one of a test case, a test program, and test data from the screen definition of the system. In the present embodiment, the screen definition, the test case, the test program, and the test data are learned in advance, and the test case, the test program, and the test data are automatically generated from the screen definition using the learning model.

テストケースは、システムのテスト(ソフトウェアテスト)を実行するための手順である。テストケースには、例えば、テストを行う条件、テストの方法、テストに得られるべき結果などが含まれる。テストプログラムは、テストを実行するためのプログラムであり、例えば、システムにアクセスするためのブラウザオートメーション機能や、データを入力する機能、画面に対する操作(例えばボタンの押下など)を実行するためのポインティングデバイスのエミュレーション機能などを実現するプログラムであり、例えば、スクリプトプログラム(スクリプトコード)とすることができる。テストケース21に従って、テストプログラムを実行することにより、テストを自動実行することができる。テストデータは、テストプログラムがシステムに入力するデータである。テストプログラムは、自動的にシステムにアクセスし、画面にテストデータを入力して、画面に表示される内容が正しいかどうかをテストケースに設定されている結果と照合することにより、システムの動作の正しさを検証することができる。 A test case is a procedure for executing a system test (software test). Test cases include, for example, the conditions under which the test is performed, the method of the test, the results to be obtained in the test, and the like. A test program is a program for executing a test, for example, a browser automation function for accessing a system, a function for inputting data, and a pointing device for performing an operation on a screen (for example, pressing a button). It is a program that realizes the emulation function of the above, and can be, for example, a script program (script code). The test can be automatically executed by executing the test program according to the test case 21. The test data is the data that the test program inputs to the system. The test program automatically accesses the system, inputs test data on the screen, and compares whether the content displayed on the screen is correct with the result set in the test case to operate the system. The correctness can be verified.

ユーザ端末10は、システム開発に関わるユーザが利用する、例えばパーソナルコンピュータやタブレットコンピュータ、スマートフォンなどのコンピュータである。ユーザ端末10から画面定義を入力することを想定する。 The user terminal 10 is a computer such as a personal computer, a tablet computer, or a smartphone used by a user involved in system development. It is assumed that the screen definition is input from the user terminal 10.

<サーバ装置20>
サーバ装置20は、例えばワークステーションやパーソナルコンピュータのような汎用コンピュータとしてもよいし、あるいはクラウド・コンピューティングによって論理的に実現されてもよい。
<Server device 20>
The server device 20 may be a general-purpose computer such as a workstation or a personal computer, or may be logically realized by cloud computing.

図2は、サーバ装置20のハードウェア構成例を示す図である。なお、図示された構成は一例であり、これ以外の構成を有していてもよい。サーバ装置20は、CPU201、メモリ202、記憶装置203、通信インタフェース204、入力装置205、出力装置206を備える。記憶装置203は、各種のデータやプログラムを記憶する、例えばハードディスクドライブやソリッドステートドライブ、フラッシュメモリなどである。通信インタフェース204は、通信ネットワーク30に接続するためのインタフェースであり、例えばイーサネット(登録商標)に接続するためのアダプタ、公衆電話回線網に接続するためのモデム、無線通信を行うための無線通信機、シリアル通信のためのUSB(Universal Serial Bus)コネクタやRS232Cコネクタなどである。入力装置205は、データを入力する、例えばキーボードやマウス、タッチパネル、ボタン、マイクロフォンなどである。出力装置206は、データを出力する、例えばディスプレイやプリンタ、スピーカなどである。なお、後述するサーバ装置20が備える機能部は、CPU201が記憶装置203に記憶されているプログラムをメモリ202に読み出して実行することにより実現され、サーバ装置20が備える記憶部は、メモリ202及び記憶部203が提供する記憶領域の一部として実現される。 FIG. 2 is a diagram showing a hardware configuration example of the server device 20. The illustrated configuration is an example, and may have other configurations. The server device 20 includes a CPU 201, a memory 202, a storage device 203, a communication interface 204, an input device 205, and an output device 206. The storage device 203 stores various data and programs, such as a hard disk drive, a solid state drive, and a flash memory. The communication interface 204 is an interface for connecting to the communication network 30, for example, an adapter for connecting to Ethernet (registered trademark), a modem for connecting to a public telephone network, and a wireless communication device for performing wireless communication. , USB (Universal Serial Bus) connector for serial communication, RS232C connector and the like. The input device 205 is, for example, a keyboard, a mouse, a touch panel, a button, a microphone, or the like for inputting data. The output device 206 is, for example, a display, a printer, a speaker, or the like that outputs data. The functional unit included in the server device 20 described later is realized by the CPU 201 reading the program stored in the storage device 203 into the memory 202 and executing the program, and the storage unit included in the server device 20 is the memory 202 and the storage. It is realized as a part of the storage area provided by the unit 203.

図3は、サーバ装置20のソフトウェア構成例を示す図である。サーバ装置20は、画面定義入力部211、学習部212、生成部213、出力部214、テスト実行部215の機能部と、モデル記憶部231の記憶部とを備える。 FIG. 3 is a diagram showing a software configuration example of the server device 20. The server device 20 includes a screen definition input unit 211, a learning unit 212, a generation unit 213, an output unit 214, a functional unit of the test execution unit 215, and a storage unit of the model storage unit 231.

画面定義入力部211は、テスト対象となるシステムの画面定義情報の入力を受け付ける。図4は、画面定義情報の構成例を示す図である。画面定義情報には、要素特定情報と、内容情報とが含まれる。要素特定情報は、画面に含まれる要素(コンポーネント)を特定する情報である。要素特定情報は、例えば、画面がHTML(HyperText Markup Language)により記載されている場合には、HTMLのタグを特定するCSS(Cascading Style Sheets)セレクタやXPathなどにより表現することができる。内容情報は、当該コンポーネントがテストにどのように用いることが可能であるかを指定する情報である。内容情報には、例えば、リンクタグを選択することにより、他の画面に遷移することや、ボタンタグを押下することによりフォームの内容が処理されること、当該タグの内容が処理結果を示すことなどが指定される。 The screen definition input unit 211 accepts input of screen definition information of the system to be tested. FIG. 4 is a diagram showing a configuration example of screen definition information. The screen definition information includes element specific information and content information. The element identification information is information that identifies an element (component) included in the screen. For example, when the screen is described by HTML (HyperText Markup Language), the element identification information can be expressed by a CSS (Cascading Style Sheets) selector or XPace that specifies HTML tags. Content information is information that specifies how the component can be used for testing. For the content information, for example, by selecting a link tag, a transition to another screen is performed, the content of the form is processed by pressing a button tag, and the content of the tag indicates the processing result. Etc. are specified.

学習部212は、機械学習を実行して学習モデルを作成する。学習部212は、テストケース21、テストプログラム31、テストデータ41、の入力を受け付けることができる。学習部212に与えるテストケース21、テストプログラム31及びテストデータ41は、例えば、エンジニアにより手動で作成されたものであってよい。学習部212は、画面定義情報の入力も受け付ける。学習用の画面定義情報についても画面定義入力部211が受け付けて学習部212に渡すことができる。学習部212は、画面定義情報を入力データとし、テストケース21、テストプログラム31、テストデータ41のそれぞれを教師データとした機械学習を行うことにより、3つの学習モデル(テストケースモデル、スクリプトモデル、データモデル)を作成することができる。テストケースモデルは、テストケース21を教師データとした機械学習の結果であり、スクリプトモデルは、テストプログラム31を教師データとした機械学習の結果であり、データモデルは、テストデータ41を教師データとした機械学習の結果である。なお、学習部212は、画面定義情報を入力データとし、テストケース21、テストプログラム31及びテストデータ41の少なくとも2つの組み合わせを教師データとした機械学習により、学習モデルを作成するようにしてもよい。例えば、画面定義情報に基づいてテストケース、テストプログラム及びテストデータを一度に作成する学習モデルを作成することもできる。 The learning unit 212 executes machine learning to create a learning model. The learning unit 212 can accept the input of the test case 21, the test program 31, and the test data 41. The test case 21, the test program 31, and the test data 41 given to the learning unit 212 may be, for example, manually created by an engineer. The learning unit 212 also accepts input of screen definition information. The screen definition input unit 211 can also receive the screen definition information for learning and pass it to the learning unit 212. The learning unit 212 performs machine learning using screen definition information as input data and test case 21, test program 31, and test data 41 as teacher data, thereby performing three learning models (test case model, script model, and so on. Data model) can be created. The test case model is the result of machine learning using test case 21 as teacher data, the script model is the result of machine learning using test program 31 as teacher data, and the data model uses test data 41 as teacher data. This is the result of machine learning. The learning unit 212 may create a learning model by machine learning using screen definition information as input data and at least two combinations of test case 21, test program 31, and test data 41 as teacher data. .. For example, it is possible to create a learning model that creates a test case, a test program, and test data at once based on the screen definition information.

モデル記憶部231は、機械学習により作成された学習モデルを記憶する。図3の例では、上述したテストケースモデル、スクリプトモデル及びデータモデルが記憶されている。 The model storage unit 231 stores a learning model created by machine learning. In the example of FIG. 3, the test case model, script model, and data model described above are stored.

生成部213は、画面定義情報を学習モデルに与えてテストケース22、テストプログラム32及びテストデータ42の少なくともいずれかを生成する。生成部213は、テストケースモデルに画面定義情報を与えることによりテストケース22を生成することができ、スクリプトモデルに画面定義情報を与えることによりテストプログラム32を生成することができ、データモデルに画面定義情報を与えることによりテストでーった32を生成することができる。 The generation unit 213 gives the screen definition information to the learning model and generates at least one of the test case 22, the test program 32, and the test data 42. The generation unit 213 can generate the test case 22 by giving the screen definition information to the test case model, can generate the test program 32 by giving the screen definition information to the script model, and can generate the screen in the data model. By giving the definition information, it is possible to generate 32 in the test.

出力部214は、生成されたテストケース22、テストプログラム32及びテストデータ42の少なくともいずれかを出力する。出力部214は、テストケース22、テストプログラム32及びテストデータ42を、ディスプレイ等の出力装置206に出力してもよいし、ユーザ端末10に送信してユーザ端末10から出力されるようにしてもよいし、記憶装置203上のファイルシステムに出力するようにしてもよい。 The output unit 214 outputs at least one of the generated test case 22, the test program 32, and the test data 42. The output unit 214 may output the test case 22, the test program 32, and the test data 42 to an output device 206 such as a display, or may transmit the test case 22, the test program 32, and the test data 42 to the user terminal 10 so that the test data 42 is output from the user terminal 10. Alternatively, the data may be output to the file system on the storage device 203.

テスト実行部215は、生成されたテストケース22、テストプログラム32及びテストデータ42を用いてソフトウェアテストを実行する。テスト実行部215は、例えば、テストケース22に従って、テストプログラム32を実行することにより実現される機能により、テスト対象のシステムが表示する画面に対してテストデータ42を与えてテストを実施することができる。上述したように、テストプログラム32を実行することにより、例えば、ブラウザオートメーションにより自動的にWebアプリケーションにアクセスし、Webアプリケーションが生成する画面に対してテストデータ42を入力し、ボタン押下等の操作を行うことにより画面遷移を行わせ、画面上の結果とテストケース22に設定されている結果とを比較することができる。 The test execution unit 215 executes a software test using the generated test case 22, test program 32, and test data 42. For example, the test execution unit 215 can perform the test by giving the test data 42 to the screen displayed by the system to be tested by the function realized by executing the test program 32 according to the test case 22. it can. As described above, by executing the test program 32, for example, the web application is automatically accessed by the browser automation, the test data 42 is input to the screen generated by the web application, and an operation such as pressing a button is performed. By doing so, the screen transition can be performed, and the result on the screen can be compared with the result set in the test case 22.

<動作>
図5は、本実施形態のテスト支援システムによる学習処理の流れを示す図である。
<Operation>
FIG. 5 is a diagram showing a flow of learning processing by the test support system of the present embodiment.

画面定義入力部211は、学習用の画面定義書の入力を受け付け(S301)、学習部212は、テストケース21、テストプログラム31及びテストデータ41の入力を受け付ける(S302)。学習部212は、画面定義入力部211が受け付けた画面定義書と、自身が受け付けたテストケース21、テストプログラム31及びテストデータ41とを用いて機械学習を行う(S303)。具体的には、学習部212は、画面定義書を入力データとして、テストケース21、テストプログラム31及びテストデータ41のそれぞれを教師データとした機械学習を行い、その学習結果である3つの学習モデルをモデル記憶部231に登録することができる(S304)。 The screen definition input unit 211 accepts the input of the screen definition document for learning (S301), and the learning unit 212 accepts the input of the test case 21, the test program 31, and the test data 41 (S302). The learning unit 212 performs machine learning using the screen definition document received by the screen definition input unit 211, the test case 21, the test program 31, and the test data 41 received by itself (S303). Specifically, the learning unit 212 performs machine learning using the screen definition document as input data and each of the test case 21, the test program 31, and the test data 41 as teacher data, and three learning models which are the learning results. Can be registered in the model storage unit 231 (S304).

以上のようにして、画面定義書に応じて、テストケース、テストプログラム及びテストデータをそれぞれ出力する学習モデルを作成することができる。なお、画面定義書に応じてテストケース、テストプログラム及びテストデータの組を出力する一つの学習モデルを作成するようにしてもよい。 As described above, a learning model that outputs a test case, a test program, and test data can be created according to the screen definition document. In addition, one learning model that outputs a test case, a test program, and a set of test data may be created according to the screen definition document.

図6は、本実施形態のテスト支援システムによるテストの実行処理の流れを示す図である。 FIG. 6 is a diagram showing a flow of test execution processing by the test support system of the present embodiment.

画面定義入力部211は、テスト用の画面定義書の入力を受け付け(S321)、生成部213は、画面定義入力部211が受け付けた画面定義書を受け取って、モデル記憶部231に記憶されているテストケースモデル、スクリプトモデル及びデータモデルのにそれぞれ与えて、テストケース22、テストプログラム32及びテストデータ42を生成する(S322)。出力部214は、生成されたテストケース22、テストプログラム32及びテストデータ42を出力する(S323)。出力部214は、例えば、ファイルとしてテストケース22、テストプログラム32及びテストデータ42を記憶装置203に出力するようにしてもよいし、ユーザ端末10にテストケース22、テストプログラム32及びテストデータ42を送信してユーザ端末10から出力されるようにしてもよい。 The screen definition input unit 211 receives the input of the screen definition document for testing (S321), and the generation unit 213 receives the screen definition document received by the screen definition input unit 211 and stores it in the model storage unit 231. The test case 22, the test program 32, and the test data 42 are generated by giving them to the test case model, the script model, and the data model, respectively (S322). The output unit 214 outputs the generated test case 22, the test program 32, and the test data 42 (S323). For example, the output unit 214 may output the test case 22, the test program 32, and the test data 42 as files to the storage device 203, or may output the test case 22, the test program 32, and the test data 42 to the user terminal 10. It may be transmitted and output from the user terminal 10.

テスト実行部215は、出力部214が出力したテストケース22、テストプログラム32及びテストデータ42を用いてソフトウェアテストを実行する。すなわち、テスト実行部215は、テストケース22に従ってテストプログラム32を実行し、テストプログラム32の実行により、テスト対象のシステムの画面を取得することができる。例えば、HTTPによりテスト対象のシステムにアクセスすることにより、HTMLにより記述された画面を取得することができる。また、テスト実行部215がテストプログラム32を実行することにより、テストデータ42をシステムの画面に入力し、画面に対する操作(例えば、SUBMITボタンの押下など)を実行することができる。(S324)。テスト実行部215は、テストプログラム32の実行により、遷移先の画面に表示されたデータ(表示内容)と、テストケース22に設定されている、期待される出力結果とが一致するか否かにより、システムが正常に動作していることの検証を行う(S325)。 The test execution unit 215 executes a software test using the test case 22, the test program 32, and the test data 42 output by the output unit 214. That is, the test execution unit 215 executes the test program 32 according to the test case 22, and by executing the test program 32, the screen of the system to be tested can be acquired. For example, by accessing the system to be tested by HTML, the screen described by HTML can be acquired. Further, when the test execution unit 215 executes the test program 32, the test data 42 can be input to the screen of the system and an operation on the screen (for example, pressing the SUBMIT button) can be executed. (S324). The test execution unit 215 determines whether or not the data (display content) displayed on the transition destination screen and the expected output result set in the test case 22 match by the execution of the test program 32. , Verify that the system is operating normally (S325).

テスト実行部215は、テストケース22が手順終了となるまで(S326:NO)、ステップS324からの処理を繰り返す。 The test execution unit 215 repeats the process from step S324 until the test case 22 ends the procedure (S326: NO).

以上説明したように、本実施形態のテスト支援システムによれば、機械学習を用いて画面定義からテストケース、テストプログラム、テストデータを自動生成することができる。また、本実施形態のテスト支援システムによれば、自動生成したテストケース、テストプログラム、テストデータを用いてソフトウェアテストを自動実行してテスト結果の検証も自動で行うことができる。これによりシステムのテスト(結合テスト、総合テスト等であってよい。)の大部分を自動化できるため、テスト工数を大幅に削減することができる。 As described above, according to the test support system of the present embodiment, it is possible to automatically generate test cases, test programs, and test data from screen definitions using machine learning. Further, according to the test support system of the present embodiment, software tests can be automatically executed using automatically generated test cases, test programs, and test data, and test results can be automatically verified. As a result, most of the system tests (integration test, comprehensive test, etc.) can be automated, and the test man-hours can be significantly reduced.

以上、本実施形態について説明したが、上記実施形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。 Although the present embodiment has been described above, the above embodiment is for facilitating the understanding of the present invention, and is not for limiting and interpreting the present invention. The present invention can be modified and improved without departing from the spirit thereof, and the present invention also includes an equivalent thereof.

なお、本実施形態では、ユーザ端末10とサーバ装置20とは通信ネットワーク30経由で接続され、ユーザ端末10から学習用のテストケース21、テストプログラム31及びテストデータ41が送信されてくるものとしたが、これに限らず、サーバ装置20をユーザが直接操作してテストケース21、テストプログラム31及びテストデータ41を入力するようにすることもできる。 In the present embodiment, the user terminal 10 and the server device 20 are connected via the communication network 30, and the test case 21, the test program 31, and the test data 41 for learning are transmitted from the user terminal 10. However, the present invention is not limited to this, and the user can directly operate the server device 20 to input the test case 21, the test program 31, and the test data 41.

また、本実施形態では、テスト実行部215がソフトウェアテストを実行するところまでを説明したが、当然テスト結果を出力するようにすることができる。この場合、例えば、出力部214は、テスト結果をユーザ端末10に送信するようにしてもよいし、テスト結果を記憶装置203等に書き出して保存するようにしてもよいk。 Further, in the present embodiment, the process up to the point where the test execution unit 215 executes the software test has been described, but of course, the test result can be output. In this case, for example, the output unit 214 may transmit the test result to the user terminal 10, or may write the test result to the storage device 203 or the like and save it.

また、本実施形態では、学習部212は、テストケース21、テストプログラム31及びテストデータ41のうち1つを教師データとして機械学習を行い、3つの学習モデルを作成するものとしたが、テストケース21、テストプログラム31及びテストデータ41のうち2つ以上の組み合わせを教師データとして、1つ又は複数の学習モデルを作成するようにしてもよい。 Further, in the present embodiment, the learning unit 212 performs machine learning using one of the test case 21, the test program 31, and the test data 41 as the teacher data, and creates three learning models. 21. One or a plurality of learning models may be created by using a combination of two or more of the test program 31 and the test data 41 as teacher data.

また、本実施形態では、画面定義は、ユーザが作成する画面定義情報として与えられるものとしたが、画面定義の全部又は一部について、システムの画面を解析して作成する画面定義作成部を備えるようにしてもよい。 Further, in the present embodiment, the screen definition is given as the screen definition information created by the user, but the screen definition creation unit is provided to analyze and create the screen of the system for all or part of the screen definition. You may do so.

10 ユーザ端末
20 サーバ装置
30 通信ネットワーク
10 User terminal 20 Server device 30 Communication network

Claims (5)

システムの画面定義情報を入力データとし、テストケース、テストプログラム及びテストデータ教師データとして学習させた学習モデルを記憶するモデル記憶部であって、前記画面定義情報には、画面に含まれる要素を特定する要素特定情報並びに前記要素に対する操作及び前記操作後の結果が含まれる、前記モデル記憶部と、
テスト対象のシステムの前記画面定義情報の入力を受け付ける画面定義入力部と、
前記画面定義情報を前記学習モデルに与えて前記テストケース、前記テストプログラム及び前記テストデータ生成する生成部と、
生成した前記テストケース、前記テストプログラム及び前記テストデータ出力する出力部と、
を備えることを特徴とするテスト支援システム。
It is a model storage unit that stores a learning model in which the screen definition information of the system is used as input data and the test case, test program, and test data are trained as teacher data. The screen definition information includes elements included in the screen. The model storage unit, which includes element-specific information to be specified, an operation on the element, and a result after the operation .
A screen definition input unit that accepts input of the screen definition information of the system to be tested,
A generation unit that gives the screen definition information to the learning model to generate the test case, the test program, and the test data.
An output unit that outputs the generated test case, the test program, and the test data,
A test support system characterized by being equipped with.
請求項1に記載のテスト支援システムであって、
前記生成部は、前記テストケース、前記テストプログラム及び前記テストデータを全て生成し、
前記テストケースに従って、前記テストプログラムを実行し、前記テスト対象のシステムが表示する画面に対して前記テストデータを与えてテストを実施し、前記テストの実施結果を検証するテスト実行部をさらに備えること、
を特徴とするテスト支援システム。
The test support system according to claim 1.
The generation unit generates all of the test case, the test program, and the test data.
According to the test case, the test program is executed, the test data is given to the screen displayed by the system to be tested, the test is performed, and the test execution unit for verifying the execution result of the test is further provided. ,
A test support system featuring.
請求項1に記載のテスト支援システムであって、
前記画面定義情報と、前記テストケース、前記テストプログラム及び前記テストデータ入力を受け付けて前記学習モデルを更新する学習部をさらに備えること、
を特徴とするテスト支援システム。
The test support system according to claim 1.
Further provided with a learning unit that receives the input of the screen definition information, the test case, the test program, and the test data, and updates the learning model.
A test support system featuring.
システムの画面定義情報を入力データとし、テストケース、テストプログラム及びテストデータ教師データとして学習させた学習モデルを記憶するステップであって、前記画面定義情報には、画面に含まれる要素を特定する要素特定情報並びに前記要素に対する操作及び前記操作後の結果が含まれる、前記ステップと、
テスト対象のシステムの前記画面定義情報の入力を受け付けるステップと、
前記画面定義情報を前記学習モデルに与えて前記テストケース、前記テストプログラム及び前記テストデータ生成するステップと、
生成した前記テストケース、前記テストプログラム及び前記テストデータ出力するステップと、
をコンピュータが実行するテスト支援方法。
It is a step of storing a learning model in which the screen definition information of the system is used as input data and the test case, test program, and test data are trained as teacher data. In the screen definition information, elements included in the screen are specified. The step and the step, which includes element identification information, an operation on the element, and a result after the operation.
The step of accepting the input of the screen definition information of the system to be tested, and
A step of giving the screen definition information to the learning model to generate the test case, the test program, and the test data, and
A step of outputting the generated test case, the test program, and the test data, and
A test support method that a computer executes.
システムの画面定義情報を入力データとし、テストケース、テストプログラム及びテストデータ教師データとして学習させた学習モデルを記憶するステップであって、前記画面定義情報には、画面に含まれる要素を特定する要素特定情報並びに前記要素に対する操作及び前記操作後の結果が含まれる、前記ステップと、
テスト対象のシステムの前記画面定義情報の入力を受け付けるステップと、
前記画面定義情報を前記学習モデルに与えて前記テストケース、前記テストプログラム及び前記テストデータ生成するステップと、
生成した前記テストケース、前記テストプログラム及び前記テストデータ出力するステップと、
をコンピュータに実行させるためのプログラム。

It is a step of storing a learning model in which the screen definition information of the system is used as input data and the test case, test program, and test data are trained as teacher data. In the screen definition information, elements included in the screen are specified. The step and the step, which includes element identification information, an operation on the element, and a result after the operation.
The step of accepting the input of the screen definition information of the system to be tested, and
A step of giving the screen definition information to the learning model to generate the test case, the test program, and the test data, and
A step of outputting the generated test case, the test program, and the test data, and
A program that lets your computer run.

JP2021028213A 2021-02-25 2021-02-25 Test support system, test support method and program Active JP6902814B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021028213A JP6902814B1 (en) 2021-02-25 2021-02-25 Test support system, test support method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021028213A JP6902814B1 (en) 2021-02-25 2021-02-25 Test support system, test support method and program

Publications (2)

Publication Number Publication Date
JP6902814B1 true JP6902814B1 (en) 2021-07-14
JP2022129520A JP2022129520A (en) 2022-09-06

Family

ID=76753154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021028213A Active JP6902814B1 (en) 2021-02-25 2021-02-25 Test support system, test support method and program

Country Status (1)

Country Link
JP (1) JP6902814B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023224013A1 (en) * 2022-05-17 2023-11-23 オン・デマンド・ワン株式会社 Test pattern generation device and test pattern generation program

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102536392B1 (en) * 2022-11-01 2023-05-26 주식회사 큐로드 Method, apparatus and computer program for providing guide to create user customized test case for software quality assurance

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03290740A (en) * 1990-04-09 1991-12-20 Nippon Telegr & Teleph Corp <Ntt> Automatic generation system for test data
US9471471B2 (en) * 2014-12-17 2016-10-18 International Business Machines Corporation Techniques for automatically generating testcases
JP2017117309A (en) * 2015-12-25 2017-06-29 ムーバクラウド株式会社 Smartphone application test automatization system
JP6626064B2 (en) * 2017-10-31 2019-12-25 ファナック株式会社 Testing device and machine learning device
US10515002B2 (en) * 2018-01-08 2019-12-24 Accenture Global Solutions Limited Utilizing artificial intelligence to test cloud applications
US11048619B2 (en) * 2018-05-01 2021-06-29 Appdiff, Inc. AI software testing system and method
JP7135641B2 (en) * 2018-09-19 2022-09-13 日本電信電話株式会社 LEARNING DEVICE, EXTRACTION DEVICE AND LEARNING METHOD
US11409640B2 (en) * 2019-05-09 2022-08-09 Sap Se Machine learning based test case prediction and automation leveraging the HTML document object model

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023224013A1 (en) * 2022-05-17 2023-11-23 オン・デマンド・ワン株式会社 Test pattern generation device and test pattern generation program

Also Published As

Publication number Publication date
JP2022129520A (en) 2022-09-06

Similar Documents

Publication Publication Date Title
CN108446190B (en) Interface test method and device
CN108959068B (en) Software interface testing method, device and storage medium
KR20210040884A (en) Edge computing test methods, devices, electronic devices and computer-readable media
JP6902814B1 (en) Test support system, test support method and program
CN111061526A (en) Automatic testing method and device, computer equipment and storage medium
CN109446075B (en) Interface testing method and device
CN111813701B (en) HTTP-based interface testing method and device, computer equipment and storage medium
US11237948B2 (en) Rendering engine component abstraction system
CN114138244A (en) Method and device for automatically generating model files, storage medium and electronic equipment
CN110059011A (en) Interface test method, device, medium and electronic equipment
US20220253372A1 (en) Apparatus and method for executing customized artificial intelligence production line
CN111767209A (en) Code testing method, device, storage medium and terminal
US11263119B2 (en) Just in time scriptless test automation selectors and interactions
CN104881430A (en) Cross-terminal self-adaptation visual electronic map implementation method based on pure network script languages
CN114461533A (en) Method, system, electronic device and storage medium for automatic testing of Web page
US20220214963A1 (en) Analysis apparatus, analysis method and program
JP6861880B1 (en) Generation device, generation method and generation program
CN112667517A (en) Method, device, equipment and storage medium for acquiring automatic test script
CN114090002A (en) Front-end interface construction method and device, electronic equipment and storage medium
Tao et al. An Approach to Mobile Application Testing Based on Natural Language Scripting.
CN114546850A (en) Automatic testing method, system and device for embedded point and storage medium
US9477492B2 (en) Deploying multi-channel or device agnostic applications
CN107193670B (en) Remote management method, device and system for cluster workstations
CN106155895A (en) Script data processing method and processing device
CN111124815A (en) Log checking method, device, equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210416

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20210416

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210506

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210525

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: 20210610

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210615

R150 Certificate of patent or registration of utility model

Ref document number: 6902814

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