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

Test support system, test support method and program Download PDF

Info

Publication number
JP2022129520A
JP2022129520A JP2021028213A JP2021028213A JP2022129520A JP 2022129520 A JP2022129520 A JP 2022129520A JP 2021028213 A JP2021028213 A JP 2021028213A JP 2021028213 A JP2021028213 A JP 2021028213A JP 2022129520 A JP2022129520 A JP 2022129520A
Authority
JP
Japan
Prior art keywords
test
data
screen definition
program
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.)
Granted
Application number
JP2021028213A
Other languages
Japanese (ja)
Other versions
JP6902814B1 (en
Inventor
隆一 河村
Ryuichi Kawamura
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

To enable a software test to be easily performed.SOLUTION: A test support system includes a model storage unit for storing a learning model made to learn with screen definition information of a system as input data, and at least one of a test case, a test program and test data as teacher data, a screen definition input unit for accepting an input of the screen definition information of the system of a test object, a generation unit for 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, and an output unit for outputting at least generated one of the test data, the test program and the test data.SELECTED DRAWING: Figure 1

Description

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

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

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

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

本発明はこのような背景を鑑みてなされたものであり、ソフトウェアテストを容易に行うようにすることのできる技術を提供することを目的とする。 SUMMARY OF THE INVENTION The present invention has been made in view of such a background, and an object of the present invention is to provide a technology that facilitates 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 test cases, test programs, and test data is used as teacher data for learning. a model storage unit for storing a learning model; a screen definition input unit for receiving input of the screen definition information of the system under test; A generating unit that generates at least one of data, and an output unit that outputs at least one of the generated test case, test program, and test data.

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

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

本発明の一実施形態に係るテスト支援システムの全体構成例を示す図である。1 is a diagram showing an example of the overall configuration of a test support system according to one embodiment of the present invention; FIG. サーバ装置20のハードウェア構成例を示す図である。2 is a diagram illustrating an example hardware configuration of a server device 20; FIG. サーバ装置20のソフトウェア構成例を示す図である。3 is a diagram showing an example of the software configuration of the server device 20; FIG. 画面定義情報の構成例を示す図である。FIG. 4 is a diagram showing a configuration example of screen definition information; 本実施形態のテスト支援システムによる学習処理の流れを示す図である。It is a figure which shows the flow of the learning process by the test assistance system of this embodiment. 本実施形態のテスト支援システムによるテストの実行処理の流れを示す図である。It is a figure which shows the flow of the execution process of the test by the test support system of this embodiment.

<発明の概要>
本発明の実施形態の内容を列記して説明する。本発明は、たとえば、以下のような構成を備える。
[項目1]
システムの画面定義情報を入力データとし、テストケース、テストプログラム及びテストデータの少なくともいずれかを教師データとして学習させた学習モデルを記憶するモデル記憶部と、
テスト対象のシステムの前記画面定義情報の入力を受け付ける画面定義入力部と、
前記画面定義情報を前記学習モデルに与えて前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを生成する生成部と、
生成した前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを出力する出力部と、
を備えることを特徴とするテスト支援システム。
[項目2]
項目1に記載のテスト支援システムであって、
前記生成部は、前記テストケース、前記テストプログラム及び前記テストデータを全て生成し、
前記テストケースに従って、前記テストプログラムを実行し、前記テスト対象のシステムが表示する画面に対して前記テストデータを与えてテストを実施し、前記テストの実施結果を検証するテスト実行部をさらに備えること、
を特徴とするテスト支援システム。
[項目3]
項目1に記載のテスト支援システムであって、
前記画面定義情報と、前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかの入力を受け付けて前記学習モデルを更新する学習部をさらに備えること、
を特徴とするテスト支援システム。
[項目4]
システムの画面定義情報を入力データとし、テストケース、テストプログラム及びテストデータの少なくともいずれかを教師データとして学習させた学習モデルを記憶するステップと、
テスト対象のシステムの前記画面定義情報の入力を受け付けるステップと、
前記画面定義情報を前記学習モデルに与えて前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを生成するステップと、
生成した前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを出力するステップと、
をコンピュータが実行するテスト支援方法。
[項目5]
システムの画面定義情報を入力データとし、テストケース、テストプログラム及びテストデータの少なくともいずれかを教師データとして学習させた学習モデルを記憶するステップと、
テスト対象のシステムの前記画面定義情報の入力を受け付けるステップと、
前記画面定義情報を前記学習モデルに与えて前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを生成するステップと、
生成した前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを出力するステップと、
をコンピュータに実行させるためのプログラム。
<Overview of the invention>
The contents of the embodiments of the present invention are listed and explained. The present invention has, for example, the following configurations.
[Item 1]
a model storage unit that stores a learning model trained using screen definition information of the system as input data and at least one of test cases, test programs, and test data as teacher data;
a screen definition input unit that receives input of the screen definition information of the system under test;
a generation unit that provides the screen definition information to the learning model to generate 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, test program, and test data;
A test support system comprising:
[Item 2]
The test support system according to item 1,
The generation unit generates all of the test case, the test program and the test data,
further comprising a test execution unit that executes the test program in accordance with the test case, applies the test data to a screen displayed by the system under test, executes the test, and verifies the execution result of the test. ,
A test support system characterized by:
[Item 3]
The test support system according to item 1,
further comprising a learning unit that receives input of at least one of the screen definition information and the test case, the test program, and the test data to update the learning model;
A test support system characterized by:
[Item 4]
a step of storing a learning model learned by using system screen definition information as input data and at least one of test cases, test programs and test data as teacher data;
receiving input of the screen definition information of the system under test;
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;
outputting at least one of the generated test case, test program and test data;
A computer-assisted test method.
[Item 5]
a step of storing a learning model learned by using system screen definition information as input data and at least one of test cases, test programs and test data as teacher data;
receiving input of the screen definition information of the system under test;
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;
outputting at least one of the generated test case, test program and test data;
A program that causes a computer to run

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

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

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

ユーザ端末10は、システム開発に関わるユーザが利用する、例えばパーソナルコンピュータやタブレットコンピュータ、スマートフォンなどのコンピュータである。ユーザ端末10から画面定義を入力することを想定する。 The user terminal 10 is a computer such as a personal computer, a tablet computer, or a smart phone 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 personal computer, or may be logically implemented 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. As shown in FIG. Note that the illustrated configuration is an example, and other configurations may be employed. 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 is, for example, a hard disk drive, solid state drive, flash memory, etc., which stores various data and programs. The communication interface 204 is an interface for connecting to the communication network 30, and includes, 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. , a USB (Universal Serial Bus) connector and an RS232C connector for serial communication. The input device 205 is, for example, a keyboard, mouse, touch panel, button, microphone, etc. for inputting data. The output device 206 is, for example, a display, printer, speaker, or the like that outputs data. Note that the function units provided in the server device 20, which will be described later, are realized by the CPU 201 reading a program stored in the storage device 203 into the memory 202 and executing it. It is implemented as 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. As shown in FIG. The server device 20 includes functional units such as a screen definition input unit 211 , a learning unit 212 , a generation unit 213 , an output unit 214 , a test execution unit 215 , and a storage unit such as a model storage unit 231 .

画面定義入力部211は、テスト対象となるシステムの画面定義情報の入力を受け付ける。図4は、画面定義情報の構成例を示す図である。画面定義情報には、要素特定情報と、内容情報とが含まれる。要素特定情報は、画面に含まれる要素(コンポーネント)を特定する情報である。要素特定情報は、例えば、画面がHTML(HyperText Markup Language)により記載されている場合には、HTMLのタグを特定するCSS(Cascading Style Sheets)セレクタやXPathなどにより表現することができる。内容情報は、当該コンポーネントがテストにどのように用いることが可能であるかを指定する情報である。内容情報には、例えば、リンクタグを選択することにより、他の画面に遷移することや、ボタンタグを押下することによりフォームの内容が処理されること、当該タグの内容が処理結果を示すことなどが指定される。 The screen definition input unit 211 receives 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 identification information and content information. The element identification information is information that identifies elements (components) included in the screen. For example, when the screen is written in HTML (HyperText Markup Language), the element identification information can be expressed by a CSS (Cascading Style Sheets) selector or XPath that identifies HTML tags. Content information is information that specifies how the component can be used for testing. The content information includes, for example, selecting a link tag to transition to another screen, pressing a button tag to process the content of the form, and indicating the processing result in the content of the tag. 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 inputs of test cases 21 , test programs 31 , and test data 41 . The test cases 21, the test programs 31, and the test data 41 provided to the learning unit 212 may be manually created by engineers, for example. The learning unit 212 also receives input of screen definition information. Screen definition information for learning can also be received by the screen definition input unit 211 and transferred to the learning unit 212 . The learning unit 212 performs machine learning using the screen definition information as input data and the test cases 21, the test programs 31, and the test data 41 as teacher data, thereby obtaining three learning models (test case model, script model, data model) can be created. The test case model is the result of machine learning using the test case 21 as teacher data, the script model is the result of machine learning using the test program 31 as teacher data, and the data model is the test data 41 as teacher data. This is the machine learning result. The learning unit 212 may create a learning model by machine learning using the screen definition information as input data and a combination of at least two of the test case 21, the test program 31 and the test data 41 as teacher data. . For example, it is possible to create a learning model that creates test cases, test programs and test data all at once based on screen definition information.

モデル記憶部231は、機械学習により作成された学習モデルを記憶する。図3の例では、上述したテストケースモデル、スクリプトモデル及びデータモデルが記憶されている。 The model storage unit 231 stores learning models 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 generates at least one of the test cases 22 , the test program 32 and the test data 42 by giving the screen definition information to the learning model. The generating 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 give the screen to the data model. It is possible to generate a test 32 by giving definition information.

出力部214は、生成されたテストケース22、テストプログラム32及びテストデータ42の少なくともいずれかを出力する。出力部214は、テストケース22、テストプログラム32及びテストデータ42を、ディスプレイ等の出力装置206に出力してもよいし、ユーザ端末10に送信してユーザ端末10から出力されるようにしてもよいし、記憶装置203上のファイルシステムに出力するようにしてもよい。 The output unit 214 outputs at least one of the generated test cases 22 , test programs 32 and test data 42 . The output unit 214 may output the test cases 22, the test programs 32, and the test data 42 to the output device 206 such as a display, or may transmit them to the user terminal 10 and output them from the user terminal 10. Alternatively, it 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 software tests using the generated test cases 22 , test programs 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 under test by the function realized by executing the test program 32 according to the test case 22 . can. As described above, by executing the test program 32, for example, the web application is automatically accessed by 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, a screen transition can be performed, and the result on the screen and the result set in the test case 22 can be compared.

<動作>
図5は、本実施形態のテスト支援システムによる学習処理の流れを示す図である。
<Action>
FIG. 5 is a diagram showing the flow of learning processing by the test support system of this 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 receives input of a screen definition document for learning (S301), and the learning unit 212 receives input of test cases 21, test programs 31, and test data 41 (S302). The learning unit 212 performs machine learning using the screen definition document received by the screen definition input unit 211 and the test cases 21, test programs 31 and test data 41 received by itself (S303). Specifically, the learning unit 212 performs machine learning using the screen definition document as input data, the test case 21, the test program 31, and the test data 41 as teacher data, and three learning models that are the learning results. can be registered in the model storage unit 231 (S304).

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

図6は、本実施形態のテスト支援システムによるテストの実行処理の流れを示す図である。 FIG. 6 is a diagram showing the flow of test execution processing by the test support system of this 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. Given to the test case model, script model and data model respectively, test cases 22, test programs 32 and test data 42 are generated (S322). The output unit 214 outputs the generated test cases 22, test programs 32 and test data 42 (S323). For example, the output unit 214 may output the test cases 22, the test programs 32 and the test data 42 as files to the storage device 203, or may output the test cases 22, the test programs 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 cases 22, the test programs 32 and the test data 42 output by the output unit 214. FIG. That is, the test execution unit 215 can execute the test program 32 according to the test case 22 and acquire the screen of the system under test by executing the test program 32 . For example, a screen written in HTML can be obtained by accessing the system under test using HTTP. Further, by executing the test program 32 by the test execution unit 215, the test data 42 can be input to the screen of the system, and an operation (for example, pressing the SUBMIT button, etc.) can be executed on the screen. (S324). By executing the test program 32, the test execution unit 215 determines whether the data (display contents) displayed on the transition destination screen matches the expected output result set in the test case 22 , 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, it is possible to automatically execute software tests using automatically generated test cases, test programs, and test data, and to automatically verify test results. As a result, most of the system tests (which may be integration tests, integrated tests, etc.) can be automated, and the number of man-hours required for testing can be greatly reduced.

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

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

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

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

また、本実施形態では、画面定義は、ユーザが作成する画面定義情報として与えられるものとしたが、画面定義の全部又は一部について、システムの画面を解析して作成する画面定義作成部を備えるようにしてもよい。 In this embodiment, the screen definition is given as screen definition information created by the user. You may do so.

10 ユーザ端末
20 サーバ装置
30 通信ネットワーク
10 user terminal 20 server device 30 communication network

Claims (5)

システムの画面定義情報を入力データとし、テストケース、テストプログラム及びテストデータの少なくともいずれかを教師データとして学習させた学習モデルを記憶するモデル記憶部と、
テスト対象のシステムの前記画面定義情報の入力を受け付ける画面定義入力部と、
前記画面定義情報を前記学習モデルに与えて前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを生成する生成部と、
生成した前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを出力する出力部と、
を備えることを特徴とするテスト支援システム。
a model storage unit that stores a learning model trained using screen definition information of the system as input data and at least one of test cases, test programs, and test data as teacher data;
a screen definition input unit that receives input of the screen definition information of the system under test;
a generation unit that provides the screen definition information to the learning model to generate 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, test program, and test data;
A test support system comprising:
請求項1に記載のテスト支援システムであって、
前記生成部は、前記テストケース、前記テストプログラム及び前記テストデータを全て生成し、
前記テストケースに従って、前記テストプログラムを実行し、前記テスト対象のシステムが表示する画面に対して前記テストデータを与えてテストを実施し、前記テストの実施結果を検証するテスト実行部をさらに備えること、
を特徴とするテスト支援システム。
A test support system according to claim 1,
The generation unit generates all of the test case, the test program and the test data,
further comprising a test execution unit that executes the test program in accordance with the test case, applies the test data to a screen displayed by the system under test, executes the test, and verifies the execution result of the test. ,
A test support system characterized by:
請求項1に記載のテスト支援システムであって、
前記画面定義情報と、前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかの入力を受け付けて前記学習モデルを更新する学習部をさらに備えること、
を特徴とするテスト支援システム。
A test support system according to claim 1,
further comprising a learning unit that receives input of at least one of the screen definition information and the test case, the test program, and the test data to update the learning model;
A test support system characterized by:
システムの画面定義情報を入力データとし、テストケース、テストプログラム及びテストデータの少なくともいずれかを教師データとして学習させた学習モデルを記憶するステップと、
テスト対象のシステムの前記画面定義情報の入力を受け付けるステップと、
前記画面定義情報を前記学習モデルに与えて前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを生成するステップと、
生成した前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを出力するステップと、
をコンピュータが実行するテスト支援方法。
a step of storing a learning model learned by using system screen definition information as input data and at least one of test cases, test programs and test data as teacher data;
receiving input of the screen definition information of the system under test;
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;
outputting at least one of the generated test case, test program and test data;
A computer-assisted test method.
システムの画面定義情報を入力データとし、テストケース、テストプログラム及びテストデータの少なくともいずれかを教師データとして学習させた学習モデルを記憶するステップと、
テスト対象のシステムの前記画面定義情報の入力を受け付けるステップと、
前記画面定義情報を前記学習モデルに与えて前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを生成するステップと、
生成した前記テストケース、前記テストプログラム及び前記テストデータの少なくともいずれかを出力するステップと、
をコンピュータに実行させるためのプログラム。
a step of storing a learning model learned by using system screen definition information as input data and at least one of test cases, test programs and test data as teacher data;
receiving input of the screen definition information of the system under test;
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;
outputting at least one of the generated test case, test program and test data;
A program that causes a computer to 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 JP6902814B1 (en) 2021-07-14
JP2022129520A true 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
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

Families Citing this family (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

Citations (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
US20160179659A1 (en) * 2014-12-17 2016-06-23 International Business Machines Corporation Techniques for automatically generating testcases
JP2017117309A (en) * 2015-12-25 2017-06-29 ムーバクラウド株式会社 Smartphone application test automatization system
JP2019082882A (en) * 2017-10-31 2019-05-30 ファナック株式会社 Tester and machine learning device
US20190213115A1 (en) * 2018-01-08 2019-07-11 Accenture Global Solutions Limited Utilizing artificial intelligence to test cloud applications
US20190384699A1 (en) * 2018-05-01 2019-12-19 Appdiff, Inc. AI Software Testing System and Method
WO2020059506A1 (en) * 2018-09-19 2020-03-26 日本電信電話株式会社 Learning device, extraction device, and learning method
US20200356466A1 (en) * 2019-05-09 2020-11-12 Sap Se Machine learning based test case prediction and automation leveraging the html document object model

Patent Citations (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
US20160179659A1 (en) * 2014-12-17 2016-06-23 International Business Machines Corporation Techniques for automatically generating testcases
JP2017117309A (en) * 2015-12-25 2017-06-29 ムーバクラウド株式会社 Smartphone application test automatization system
JP2019082882A (en) * 2017-10-31 2019-05-30 ファナック株式会社 Tester and machine learning device
US20190213115A1 (en) * 2018-01-08 2019-07-11 Accenture Global Solutions Limited Utilizing artificial intelligence to test cloud applications
US20190384699A1 (en) * 2018-05-01 2019-12-19 Appdiff, Inc. AI Software Testing System and Method
WO2020059506A1 (en) * 2018-09-19 2020-03-26 日本電信電話株式会社 Learning device, extraction device, and learning method
US20200356466A1 (en) * 2019-05-09 2020-11-12 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
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

Also Published As

Publication number Publication date
JP6902814B1 (en) 2021-07-14

Similar Documents

Publication Publication Date Title
Billi et al. A unified methodology for the evaluation of accessibility and usability of mobile applications
WO2019196274A1 (en) Web page testing method and apparatus, electronic device, and medium
CN108446190B (en) Interface test method and device
CN111061526B (en) Automatic test method, device, computer equipment and storage medium
KR20210040884A (en) Edge computing test methods, devices, electronic devices and computer-readable media
US20170091159A1 (en) Programmatic native rendering of structured content
JP6902814B1 (en) Test support system, test support method and program
US20190034318A1 (en) Hardware-Software Co-Verification for Debugging Firmware on a Hardware Simulator
CN111813701B (en) HTTP-based interface testing method and device, computer equipment and storage medium
CN114138244A (en) Method and device for automatically generating model files, storage medium and electronic equipment
JP2022039973A (en) Method and apparatus for quality control, electronic device, storage medium, and computer program
CN112346976A (en) Interface document generation method, device and system based on webpage and computer equipment
JP7331175B2 (en) Model training method, model training platform, electronics and storage medium
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
CN112988588B (en) Client software debugging method and device, storage medium and electronic equipment
Patankar et al. MATLAB and Simulink In-Depth: Model-based Design with Simulink and Stateflow, User Interface, Scripting, Simulation, Visualization and Debugging (English Edition)
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.
Antonova et al. Research and analysis of application of automated testing in web applications
CN107193670B (en) Remote management method, device and system for cluster workstations
Ali Behavior-driven development as an error-reduction practice for mobile application testing
JP7319516B2 (en) Program, information processing device, and control method thereof
Ochkov et al. Interactive Applications with Graphic User Interfaces for STEM Engineering Education
Teixeira et al. Towards automated load testing through the user interface

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250