JP2021039433A - Information processing device, processing method therein, and program - Google Patents

Information processing device, processing method therein, and program Download PDF

Info

Publication number
JP2021039433A
JP2021039433A JP2019158743A JP2019158743A JP2021039433A JP 2021039433 A JP2021039433 A JP 2021039433A JP 2019158743 A JP2019158743 A JP 2019158743A JP 2019158743 A JP2019158743 A JP 2019158743A JP 2021039433 A JP2021039433 A JP 2021039433A
Authority
JP
Japan
Prior art keywords
test
definition
information
application
data
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.)
Pending
Application number
JP2019158743A
Other languages
Japanese (ja)
Inventor
文洋 柴本
Fumihiro Shibamoto
文洋 柴本
勲 上田
Isao Ueda
勲 上田
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.)
Canon Marketing Japan Inc
Canon IT Solutions Inc
Original Assignee
Canon Marketing Japan Inc
Canon IT Solutions 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 Canon Marketing Japan Inc, Canon IT Solutions Inc filed Critical Canon Marketing Japan Inc
Priority to JP2019158743A priority Critical patent/JP2021039433A/en
Publication of JP2021039433A publication Critical patent/JP2021039433A/en
Pending legal-status Critical Current

Links

Images

Abstract

To provide a technique which causes RPA data created during an application development test to be easily adaptable even after a change of a source code by development.SOLUTION: An application is generated from IO definition information on the application, and data model information and business process information, and a generated program is executed to thereby generate a screen which is displayed. Operation to the displayed screen, specified by a person, is registered as data readable by a computer. The IO definition information used in generating the program corresponding to the displayed screen is acquired. The registered data and the corresponding IO definition information are associated with each other. The data registered according to an execution procedure of the program is input, and is stored together with the associated IO definition information. When the stored IO definition information is changed, the associated IO definition information stored is changed.SELECTED DRAWING: Figure 3

Description

本発明は、アプリケーションを構築するための情報処理装置、その処理方法及びプログラムに関する。 The present invention relates to an information processing device for constructing an application, a processing method thereof, and a program.

近年、定形業務を自動化する技術としてのRPA(Robotic Process Automation)を用いて、ユーザの働き方を改革する流れがある。 In recent years, there has been a trend to reform the working style of users by using RPA (Robotic Process Automation) as a technology for automating routine work.

RPAとは、オペレーターのキーボードやマウスの操作を記録し、同じ処理を自動で繰り返す技術であり、定形業務をRPAに任せることにより、生産性向上や人的ミスの防止、コスト削減などの効果がある。 RPA is a technology that records the operator's keyboard and mouse operations and automatically repeats the same processing. By entrusting routine work to RPA, it has the effects of improving productivity, preventing human error, and reducing costs. is there.

例えば特許文献1には、ウェブブラウザの操作を伴う業務プロセスを自動化するための技術が提案されている。 For example, Patent Document 1 proposes a technique for automating a business process involving the operation of a web browser.

特開2019−74889号公報JP-A-2019-74889

特許文献1の技術は、表示される操作一覧から操作されるエレメントを選択して操作を記憶する処理を行っている。 The technique of Patent Document 1 performs a process of selecting an element to be operated from the displayed operation list and storing the operation.

しかしながら、アプリケーション作成中に対応するエレメントのIDや画面名の変更、画面遷移先のIDや名称の変更などが生じると、記憶されたRPAデータ(指定した操作をコンピュータにより解釈可能に変換したデータ)は機能しなくなり、RPAデータを修正するか、RPAデータを作成し直す(ユーザの操作を登録し直す)必要が生じる。 However, if the ID or screen name of the corresponding element is changed or the ID or name of the screen transition destination is changed during application creation, the stored RPA data (data obtained by converting the specified operation into a computer-readable data). Will stop working and you will have to modify the RPA data or recreate the RPA data (re-register your user's operations).

特にアジャイル開発のように短期間で流動性の高い開発をする場合には、画面上のオブジェクト(エレメント)の名前、IDの変更や画面遷移先の名前、IDの変更などが発生することは少なくはない。 Especially in the case of highly fluid development in a short period of time such as agile development, it is unlikely that the name of the object (element) on the screen, the name of the ID or the name of the screen transition destination, the ID change, etc. will occur. There is no.

そこで、本発明の目的は、アプリケーション開発テスト中に作成したRPAデータを、開発によるソースコードの変更後に対しても容易に適応できる技術を提供することである。 Therefore, an object of the present invention is to provide a technique capable of easily adapting RPA data created during an application development test even after a change in source code due to development.

本発明は、アプリケーションのIO定義情報とデータモデル情報、ビジネスプロセス情報からアプリケーションを生成するアプリケーション生成手段と、前記アプリケーション生成手段により生成されたプログラムを実行させるプログラム実行手段と、前記プログラム実行手段のプログラムの実行により生成された画面を表示させる実行画面表示制御手段を有する情報処理装置において、前記実行画面表示制御手段で表示された画面に対して、人間が指定した操作をコンピュータにより読み込み可能なデータとして登録する登録手段と、前記実行画面表示制御手段で表示された画面と対応するプログラムを生成する際に用いたIO定義情報を取得するIO定義取得手段と、前記登録手段により登録されたデータと対応する前記IO定義取得手段で取得したIO定義情報とを紐付ける登録データ紐付け手段と、前記プログラム実行手段の実行手順に則って前記登録手段で登録されたデータを前記登録データ紐付け手段で紐付けたIO定義情報と共に記憶する記憶手段と、前記IO定義情報の変更を受け付けると、前記記憶手段に記憶された前記登録データ紐付け手段で紐付けられた該IO定義情報を変更する情報変更手段とを有することを特徴とする。 The present invention comprises an application generating means for generating an application from IO definition information, data model information, and business process information of an application, a program executing means for executing a program generated by the application generating means, and a program of the program executing means. In an information processing device having an execution screen display control means for displaying the screen generated by the execution of, the operation specified by a human being can be read by a computer with respect to the screen displayed by the execution screen display control means. Corresponds to the registration means to be registered, the IO definition acquisition means for acquiring the IO definition information used when generating the program corresponding to the screen displayed by the execution screen display control means, and the data registered by the registration means. The registered data linking means for linking the IO definition information acquired by the IO definition acquiring means and the data registered by the registration means according to the execution procedure of the program executing means are linked by the registered data linking means. A storage means that stores the attached IO definition information together, and an information changing means that changes the IO definition information associated with the registered data linking means stored in the storage means when the change of the IO definition information is received. It is characterized by having and.

本発明によれば、アプリケーション開発テスト中に作成したRPAデータを、開発によるソースコードの変更後に対しても容易に適応できる技術を提供することができる。 According to the present invention, it is possible to provide a technique that can easily adapt the RPA data created during the application development test even after the source code is changed due to the development.

本発明に係るシステムの構成図の一例である。It is an example of the block diagram of the system which concerns on this invention. 情報処理装置、アプリケーションサーバ、データベースサーバ、アプリケーションクライアントとして適用可能な各ハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of each hardware configuration which can be applied as an information processing apparatus, an application server, a database server, and an application client. ソフトウェア構成を示すブロック図の一例である。This is an example of a block diagram showing a software configuration. 本発明に係るシステムの構成図である。It is a block diagram of the system which concerns on this invention. アプリケーション生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of application generation. アプリケーションの入出力定義画面及びアプリケーションの実行画面の一例を示す図である。It is a figure which shows an example of the input / output definition screen of an application, and the execution screen of an application. テストケース定義生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the test case definition generation. テスト実行のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the test execution. テスト実行のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the test execution. テスト実行のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the test execution. テストケース作成メニューの一例を示す図である。It is a figure which shows an example of the test case creation menu. テストケース手順入力画面の一例を示す図である。It is a figure which shows an example of the test case procedure input screen. テストケース作成画面の一例を示す図である。It is a figure which shows an example of the test case creation screen. テスト実行画面の一例を示す図である。It is a figure which shows an example of the test execution screen. テスト結果画面の一例を示す図である。It is a figure which shows an example of the test result screen. テストケース定義情報の一例を示す図である。It is a figure which shows an example of the test case definition information. テストケース手順入力画面の一例を示す図である。It is a figure which shows an example of the test case procedure input screen. テストケース手順入力画面の一例を示す図である。It is a figure which shows an example of the test case procedure input screen. テスト実行のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the test execution. テスト実行のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the test execution. テスト実行のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of the test execution. RPAデータファイルの一例を示す図である。It is a figure which shows an example of the RPA data file.

以下、本発明の実施の形態を、図面を参照して詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

図1は、本発明に係るシステムの構成図の一例である。 FIG. 1 is an example of a configuration diagram of a system according to the present invention.

情報処理装置101は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。情報処理装置101は、アプリケーションのプログラム生成を行う。 The information processing device 101 defines a screen layout, a database search instruction, and the like according to the operation of the developer. The information processing device 101 generates an application program.

なお、本実施形態においては、情報処理装置101で生成するアプリケーションはWebアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Web技術による通信を利用するアプリケーションでなくてもよい。 In the present embodiment, the application generated by the information processing device 101 is a Web application, but the application is not limited to this, and an application or embedded software that operates on an information processing device such as a mobile phone, a smartphone, or a tablet is not limited to this. , It does not have to be an application that uses communication by Web technology.

また、本実施形態においては、情報処理装置101はアプリケーションのプログラムを生成するとしたが、この方法に限定するものではなく、プログラムを生成することなく、アプリケーションサーバ102やクラウド環境等でアプリケーションが動作する様にデータやファイル等を生成することにより、アプリケーション(の動作環境)を構築する等であってもよい。 Further, in the present embodiment, the information processing apparatus 101 is supposed to generate a program of the application, but the present invention is not limited to this method, and the application operates in the application server 102, the cloud environment, or the like without generating the program. By generating data, files, etc. in the same manner, an application (operating environment) may be constructed.

アプリケーションサーバ102は、情報処理装置101で生成され配置されたアプリケーションを実行する。また、アプリケーションサーバ102は、データベースサーバ103に接続し、データベースのデータを操作することができる。 The application server 102 executes the application generated and arranged by the information processing device 101. Further, the application server 102 can connect to the database server 103 and operate the data in the database.

データベースサーバ103は、生成されたアプリケーションが利用するデータベースである。なお、開発時にも動作確認などのために利用してもよい。また、データベースサーバ103は、情報処理装置101や、アプリケーションサーバ102と同一の装置で構成されていてもよいし、LANなどのネットワーク105内に配置されてもよい。 The database server 103 is a database used by the generated application. It may also be used for operation check during development. Further, the database server 103 may be configured by the same device as the information processing device 101 and the application server 102, or may be arranged in a network 105 such as a LAN.

アプリケーションクライアント104は、アプリケーションサーバ102と協調して情報処理装置101で開発したアプリケーションプログラムを動作させる、エンドユーザの操作端末である。この、アプリケーションクライアント104は、携帯端末などの情報処理装置であってもよい。 The application client 104 is an end-user operation terminal that operates an application program developed by the information processing apparatus 101 in cooperation with the application server 102. The application client 104 may be an information processing device such as a mobile terminal.

図示しないクラウド環境106は、動的にスケーラブルかつ仮想化されたリソースを供給することが可能な環境である。 The cloud environment 106 (not shown) is an environment capable of dynamically supplying scalable and virtualized resources.

クラウド環境106内の仮想アプリケーションサーバ107は、情報処理装置101で生成され配置されたアプリケーションを実行する。また、仮想アプリケーションサーバ107は、仮想データベースサーバ108に接続し、データベースのデータを操作することができる。 The virtual application server 107 in the cloud environment 106 executes the application generated and arranged by the information processing device 101. Further, the virtual application server 107 can connect to the virtual database server 108 and operate the data in the database.

クラウド環境106内の仮想データベースサーバ108は、生成されたアプリケーションが利用するデータベースである。なお、開発時にも動作確認などのために利用してもよい。 The virtual database server 108 in the cloud environment 106 is a database used by the generated application. It may also be used for operation check during development.

なお、クラウド環境106は動的にスケーラブルかつ仮想化されたリソースを供給することが可能な環境であるとしたが、本実施形態においては、この特徴を備えている必要はなく、クラウド環境106が仮想アプリケーションサーバ107及び仮想データベースサーバ108の動作を提供するのであれば、動的にスケーラブルでなくても、仮想化されたリソースを供給できなくてもよい。

図2は、本発明に係わる情報処理装置101、アプリケーションサーバ102、データベースサーバ103、アプリケーションクライアント104として適用可能な各ハードウェア構成の一例を示すブロック図である。
It should be noted that the cloud environment 106 is an environment capable of dynamically supplying scalable and virtualized resources, but in the present embodiment, it is not necessary to have this feature, and the cloud environment 106 does not need to have this feature. If it provides the operation of the virtual application server 107 and the virtual database server 108, it may not be dynamically scalable and may not be able to supply virtualized resources.

FIG. 2 is a block diagram showing an example of each hardware configuration applicable as the information processing device 101, the application server 102, the database server 103, and the application client 104 according to the present invention.

図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。 In FIG. 2, the CPU 201 comprehensively controls each device connected to the system bus 204.

また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。 Further, the ROM 203 or the external memory 211 stores an operating system (OS), which is a control program of the CPU 201, and a program for realizing various functions described later of the information processing device such as each server, client, and device.

RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。 The RAM 202 functions as a main memory, a work area, a temporary shunting area, and the like of the CPU 201.

入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイス、タッチパネルが挙げられる。 The input controller 205 controls the input from the input unit 209. Examples of the input unit 209 include a pointing device such as a keyboard and a mouse, and a touch panel in the information processing device.

なお、入力部209がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。 When the input unit 209 is a touch panel, the user can give various instructions by pressing (touching with a finger or the like) the icon, the cursor, or the button displayed on the touch panel.

また、タッチパネルは、マルチタッチスクリーン等の、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。 Further, the touch panel may be a touch panel such as a multi-touch screen that can detect the position touched by a plurality of fingers.

出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。尚、本体と一体になったノート型パソコンのディスプレイも含まれるものとする。また、プロジェクタであってもよいこととする。 The output controller 206 controls the display of the output unit 210. Examples of the output unit 210 include a CRT and a liquid crystal display. It should be noted that the display of the notebook personal computer integrated with the main body is also included. Further, it may be a projector.

外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。外部メモリ211には、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフレキシブルディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。 The external memory controller 207 controls access to the external memory 211 that stores the boot program, various applications, font data, user files, edit files, printer drivers, and the like. The external memory 211 stores various tables and parameters for realizing various functions of each server, client, device, and the like. Examples of the external memory 211 include a hard disk (HD), a flexible disk (FD), a compact flash (registered trademark) connected to a PCMCIA card slot via an adapter, smart media, and the like.

なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォント展開(ラスタライズ)処理を実行することにより、出力部210上での表示を可能としている。また、CPU201は、出力部210上の不図示のマウスカーソル等でのユーザ指示を可能とする。 The CPU 201 enables display on the output unit 210 by, for example, executing an outline font expansion (rasterization) process on the display information area in the RAM 202. Further, the CPU 201 enables a user instruction with a mouse cursor or the like (not shown) on the output unit 210.

通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。 The communication I / F controller 208 executes a communication control process with an external device via the network. For example, communication using TCP / IP is possible.

本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。

図3は、本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。
The program 212 for realizing the present invention is recorded in the external memory 211, and is executed by the CPU 201 by being loaded into the RAM 202 as needed.

FIG. 3 is an example of a block diagram showing a software configuration according to an embodiment of the present invention.

情報処理装置101は、以下の機能部を備える。 The information processing device 101 includes the following functional units.

アプリケーション生成部301は、アプリケーションを構築するためのIO定義情報とデータモデル情報、ビジネスプロセス情報を取得し、それらの情報からアプリケーションを生成する。 The application generation unit 301 acquires IO definition information, data model information, and business process information for constructing an application, and generates an application from the information.

プログラム実行部302は、アプリケーション生成部301で生成されたプログラムを実行する。 The program execution unit 302 executes the program generated by the application generation unit 301.

実行画面表示制御部303は、プログラム実行部302により実行され生成された画面を表示制御する。 The execution screen display control unit 303 displays and controls the screen executed and generated by the program execution unit 302.

登録部304は、実行画面表示制御部で表示される画面に対して、人間が指定した操作をコンピュータにより読み込み可能なデータ(RPAデータ)として登録する。 The registration unit 304 registers an operation designated by a human as data (RPA data) that can be read by a computer on the screen displayed by the execution screen display control unit.

IO定義取得部305は、実行画面表示制御部303により表示された画面と対応するプログラムを生成する際に用いたIO定義情報を取得する。 The IO definition acquisition unit 305 acquires the IO definition information used when generating the program corresponding to the screen displayed by the execution screen display control unit 303.

登録データ紐付け306は、登録部304により登録されたデータと対応するIO定義取得部305で取得したIO定義情報とを紐付ける。 The registration data association 306 associates the data registered by the registration unit 304 with the IO definition information acquired by the corresponding IO definition acquisition unit 305.

記憶部307は、プログラム実行部302による実行手順に則って登録部304で登録されたデータを登録データ紐付け部306で紐付けたIO定義情報と共に記憶する。 The storage unit 307 stores the data registered in the registration unit 304 together with the IO definition information associated with the registration data association unit 306 according to the execution procedure by the program execution unit 302.

情報変更部308は、IO定義情報の変更を受け付けると、記憶部307に記憶された登録データ紐付け部306で紐付けられた該IO定義情報を変更する。 When the information changing unit 308 receives the change of the IO definition information, the information changing unit 308 changes the IO definition information associated with the registered data associating unit 306 stored in the storage unit 307.

テスト実行部309は、プログラム実行部302の実行手順に則って、記憶部307に記憶されたIO定義情報と紐付けられている登録されたデータを入力してテストの実行を行う。 The test execution unit 309 inputs the registered data associated with the IO definition information stored in the storage unit 307 and executes the test according to the execution procedure of the program execution unit 302.

判断部310は、テスト実行部309により実行されるテストの結果に従って、アプリケーションを生成する情報が正しく定義されているかを判断する。 The determination unit 310 determines whether the information for generating the application is correctly defined according to the result of the test executed by the test execution unit 309.

登録データ記憶部311は、登録部304により登録されたデータを複数レコード記憶する。テスト実行部309は、記憶した複数レコードの数分、テストの実行を行う。 The registration data storage unit 311 stores a plurality of records of the data registered by the registration unit 304. The test execution unit 309 executes the test for the number of stored plurality of records.

条件分岐記憶部312は、プログラム実行部302の実行手順に則って、テストの実行を行う時に、プログラムの実行時に出力される結果により処理を分ける条件を記憶する。テスト実行部309は、登録されたデータを入力してテストを実行し、条件分岐記憶部312で記憶された条件により、処理を分ける。 The conditional branch storage unit 312 stores the conditions for dividing the processing according to the result output when the program is executed when the test is executed according to the execution procedure of the program execution unit 302. The test execution unit 309 inputs the registered data, executes the test, and divides the processing according to the conditions stored in the conditional branch storage unit 312.

以上で、図3の説明を終了する。

図4は、情報処理装置101、アプリケーションサーバ102及びアプリケーションクライアント104の構成図である。
This is the end of the description of FIG.

FIG. 4 is a configuration diagram of the information processing device 101, the application server 102, and the application client 104.

情報処理装置101は、リポジトリ定義部401及びアプリケーション生成部410を備える。 The information processing device 101 includes a repository definition unit 401 and an application generation unit 410.

情報処理装置101は、アプリケーションを開発する開発者により設定されたリポジトリ定義部401の各定義を用いて、アプリケーション生成部410によりアプリケーションを生成する。 The information processing device 101 generates an application by the application generation unit 410 using each definition of the repository definition unit 401 set by the developer who develops the application.

リポジトリ定義部401には、アプリケーション定義402、入出力定義403、データモデル定義404、ビジネスプロセス定義405、データベース定義406が記憶されている。これら402〜406の定義は、アプリケーション構築ツールを介して、開発者によって入力設定または配置される。 The application definition 402, the input / output definition 403, the data model definition 404, the business process definition 405, and the database definition 406 are stored in the repository definition unit 401. These definitions of 402 to 406 are input set or arranged by the developer via the application construction tool.

入出力定義403は、アプリケーション画面に配置される各種項目のレイアウトの定義情報を保持する。入出力定義403は、入力項目定義情報及び出力項目定義情報を含む。入力項目定義情報は、生成されたアプリケーションの画面を介して当該アプリケーションのエンドユーザが入力する入力項目を定義した情報である。出力項目定義情報は、生成されたアプリケーションの画面に出力する出力項目を定義した情報である。以降、「入力項目定義情報」及び「出力項目定義情報」をまとめて「入出力項目定義情報」と呼ぶ。 The input / output definition 403 holds definition information of layouts of various items arranged on the application screen. The input / output definition 403 includes input item definition information and output item definition information. The input item definition information is information that defines the input items input by the end user of the application through the screen of the generated application. The output item definition information is the information that defines the output items to be output to the screen of the generated application. Hereinafter, the "input item definition information" and the "output item definition information" are collectively referred to as "input / output item definition information".

なお、本実施形態においては、「入力項目定義情報は、生成されたアプリケーションの画面を介して当該アプリケーションのエンドユーザが入力する入力項目を定義した情報」「出力項目定義情報は、生成されたアプリケーションの画面に出力する出力項目を定義した情報」としたが、これらに限定するものではなく、例えば、画面を有さないバッチやWebサービス等のように、「入力項目定義情報は、生成されたアプリケーションに入力される入力項目を定義した情報」「出力項目定義情報は、生成されたアプリケーションが出力する出力項目を定義した情報」であってもよい。 In the present embodiment, "input item definition information is information that defines input items that are input by the end user of the application through the screen of the generated application" and "output item definition information is the generated application." Although it is defined as "information that defines output items to be output to the screen of", it is not limited to these, and "input item definition information is generated, for example, such as a batch or a Web service that does not have a screen". The information that defines the input items input to the application may be "the output item definition information is the information that defines the output items output by the generated application".

データモデル定義404は、データベースのテーブルの項目の定義情報を保持する。入出力定義403の各項目には、データモデル定義404の項目を対応づけることができる。 The data model definition 404 holds definition information of items in a database table. Each item of the input / output definition 403 can be associated with the item of the data model definition 404.

ビジネスプロセス定義405は、アプリケーションにおけるデータを処理するためのロジックの定義情報を保持する。 The business process definition 405 holds the definition information of the logic for processing the data in the application.

データベース定義406は、アプリケーションが接続するデータベースに係る情報(データベースサーバ103のIPアドレス、接続ユーザ、接続パスワード等)を定義する。 Database definition 406 defines information related to the database to which the application connects (IP address of database server 103, connected user, connection password, etc.).

アプリケーション生成部410は、アプリケーション生成用のリポジトリ定義解析部411を用いてリポジトリ定義部401に記憶されている各定義を解析し、アプリケーションコード生成部412及びソースコードコンパイル部413を介し、コンパイル済Java(登録商標)コード441及びHTML/JSP/JavaScript(登録商標)442を含むアプリケーションを生成する。すなわち、アプリケーション生成部410は、設定された定義を用いて、アプリケーションとして用いられるプログラムを生成する手段の一例である。 The application generation unit 410 analyzes each definition stored in the repository definition unit 401 by using the repository definition analysis unit 411 for application generation, and compiles Java via the application code generation unit 412 and the source code compilation unit 413. Generate an application that includes Code 441 and HTML / JSP / Javascript® 442. That is, the application generation unit 410 is an example of means for generating a program used as an application by using the set definition.

リポジトリ定義エディタ部420は、リポジトリ定義参照部421によってリポジトリ定義部401を解析し、テストケース定義407の場合は、テストケース定義エディタ部422を用いて、それ以外の定義の時はそれぞれに対応したその他定義エディタ部423を用いてリポジトリ定義を変更及び参照する。 The repository definition editor unit 420 analyzes the repository definition unit 401 by the repository definition reference unit 421, and in the case of the test case definition 407, the test case definition editor unit 422 is used, and in the case of other definitions, it corresponds to each. Others Use the definition editor section 423 to change and refer to the repository definition.

テスト実行部430は、アプリケーション生成部410により生成されたアプリケーションをRPAによってテスト実行させる。テストケース定義受信部431によってテストケース定義407を取得し、テストケース定義解釈部433を用いてその内容を解析する。 The test execution unit 430 causes the application generated by the application generation unit 410 to be tested and executed by RPA. The test case definition 407 is acquired by the test case definition receiving unit 431, and its contents are analyzed by using the test case definition interpreting unit 433.

テスト実行部(インタープリタ)434は、テストケース定義解釈部433を用いて解釈した内容からテスト実行準備部432を用いてテストの事前処理を行い、アプリケーションコードアクセス部436を用いてアプリケーションコードをテスト実行する。 The test execution unit (interpreter) 434 performs test pre-processing using the test execution preparation unit 432 from the contents interpreted by the test case definition interpretation unit 433, and test-executes the application code using the application code access unit 436. To do.

テストがすべて完了すると、テスト実行部(インタープリタ)435はテスト終了処理部437を用いてテスト終了処理を行う。 When all the tests are completed, the test execution unit (interpreter) 435 performs the test end processing using the test end processing unit 437.

最後に、テスト結果取得部435を用いて、テスト実行の結果を取得し、テスト結果表示部438に表示する。 Finally, the test result acquisition unit 435 is used to acquire the test execution result and display it on the test result display unit 438.

以上で、図4の説明を終了する。

図5は、アプリケーション生成のフローチャートの一例を示す図である。
This is the end of the description of FIG.

FIG. 5 is a diagram showing an example of an application generation flowchart.

情報処理装置101は、ディレクトリ構造を用いて、リポジトリ定義部401の各定義をファイルとして管理する。なお、本実施形態においては、ディレクトリ構造を用いて、リポジトリ定義部401の各定義をファイルとして管理するとしたが、これに限定するものではなく、例えば、データベースを用いてリポジトリ定義部401の各定義を管理してもよいし、クラウドなどネットワーク上の記憶装置を用いて管理する等としてもよい。 The information processing device 101 manages each definition of the repository definition unit 401 as a file by using the directory structure. In this embodiment, each definition of the repository definition unit 401 is managed as a file by using the directory structure, but the present invention is not limited to this, and for example, each definition of the repository definition unit 401 is managed by using a database. May be managed, or may be managed using a storage device on a network such as a cloud.

アプリケーション生成のフローチャートについて説明する。 The flowchart of application generation will be described.

ステップS501において、情報処理装置101は、アプリケーション定義402の設定を受け付ける。具体的には、アプリケーション構築ツールの画面を介して、アプリケーション開発者から入出力定義403、データモデル定義404、ビジネスプロセス定義405及びデータベース定義406の設定を受け付ける。 In step S501, the information processing device 101 accepts the setting of the application definition 402. Specifically, the settings of the input / output definition 403, the data model definition 404, the business process definition 405, and the database definition 406 are received from the application developer via the screen of the application construction tool.

ステップS501にて、受け付けたアプリケーション定義402、入出力定義403、データモデル定義404、ビジネスプロセス定義405及びデータベース定義406の設定は、リポジトリ定義部401にXMLファイル形式で記憶する。 The settings of the application definition 402, the input / output definition 403, the data model definition 404, the business process definition 405, and the database definition 406 received in step S501 are stored in the repository definition unit 401 in the XML file format.

ステップS502において、情報処理装置101は、アプリケーション生成の指示を受け付ける。 In step S502, the information processing device 101 receives an instruction to generate an application.

ステップS503において、情報処理装置101は、リポジトリ定義部401からアプリケーション定義402を取得する。リポジトリ定義解析部411は、読み込んだ定義を解析したうえでROM203に記憶しておき、解析された定義は各生成部から適宜参照される。 In step S503, the information processing apparatus 101 acquires the application definition 402 from the repository definition unit 401. The repository definition analysis unit 411 analyzes the read definition and stores it in the ROM 203, and the analyzed definition is appropriately referred to by each generation unit.

ステップS504において、情報処理装置101は、リポジトリ定義部401からデータモデル定義404を取得する。 In step S504, the information processing apparatus 101 acquires the data model definition 404 from the repository definition unit 401.

ステップS505において、情報処理装置101は、リポジトリ定義部401から入出力定義403を取得する。 In step S505, the information processing apparatus 101 acquires the input / output definition 403 from the repository definition unit 401.

ステップS506において、情報処理装置101は、リポジトリ定義部401からビジネスプロセス定義405を取得する。 In step S506, the information processing apparatus 101 acquires the business process definition 405 from the repository definition unit 401.

ステップS507において、情報処理装置101は、リポジトリ定義部401からデータベース定義406を取得する。すなわち、ステップS501〜S507は、アプリケーションを構築するための定義情報を取得する処理の一例を示すステップである。 In step S507, the information processing apparatus 101 acquires the database definition 406 from the repository definition unit 401. That is, steps S501 to S507 are steps showing an example of a process of acquiring definition information for constructing an application.

ステップS508において、情報処理装置101は、アプリケーション生成部410を用いて、Webアプリケーションに用いるプログラムを生成する。すなわち、ステップS508は、アプリケーションのプログラムを生成する処理の一例を示すステップである。また、ステップS508は、アプリケーションを構築する処理の一例を示すステップである。 In step S508, the information processing device 101 uses the application generation unit 410 to generate a program to be used for the Web application. That is, step S508 is a step showing an example of a process for generating an application program. Further, step S508 is a step showing an example of a process for constructing an application.

ステップS509において、情報処理装置101は、テストケース定義を生成する(詳細は、図7の説明にて後述する)。すなわち、ステップS509は、取得された定義情報を用いて、テストケースを生成する処理の一例を示すステップである。また、ステップS509は、受け付けた定義に基づき、テストケースを生成する処理の一例を示すステップである。 In step S509, the information processing apparatus 101 generates a test case definition (details will be described later in the description of FIG. 7). That is, step S509 is a step showing an example of a process of generating a test case using the acquired definition information. Further, step S509 is a step showing an example of a process of generating a test case based on the accepted definition.

ステップS510において、情報処理装置101は、ステップS509にて生成したテストケース定義に用いてテストを実行する(詳細は、図8の説明にて後述する)。すなわち、ステップS510は、定義情報を用いて生成されたテストケースに基づき、アプリケーションに係るテストを実行する処理の一例を示すステップである。また、ステップS510は、定義情報を用いて生成されたテストケースに基づき、定義情報が正しく定義されているか否かテストを実行する処理の一例を示すステップである。 In step S510, the information processing apparatus 101 executes a test using the test case definition generated in step S509 (details will be described later in the description of FIG. 8). That is, step S510 is a step showing an example of the process of executing the test related to the application based on the test case generated by using the definition information. Further, step S510 is a step showing an example of a process of executing a test as to whether or not the definition information is correctly defined based on the test case generated by using the definition information.

この段階ではアプリケーションをアプリケーションサーバ102に配置(デプロイ)していないため、以上により、アプリケーションサーバ102を用意することなく、テストを実行することができる。 Since the application is not placed (deployed) on the application server 102 at this stage, the test can be executed without preparing the application server 102.

また、以上により、アプリケーションアーカイブファイルの生成、アプリケーションサーバ102への転送、デプロイをすることなく、テストを実行することができるため、テストにかかる時間を削減することができ、開発とテストをシームレスに何度も繰り返すことができる。 In addition, as described above, the test can be executed without generating the application archive file, transferring to the application server 102, and deploying, so that the time required for the test can be reduced and the development and the test can be seamlessly performed. Can be repeated many times.

また、以上により、情報処理装置101だけでアプリケーションサーバ102にて動作するアプリケーションのテストを実行することができるため、複数人の開発者が同時に並行してテストを行うことができる。 Further, as described above, since the test of the application running on the application server 102 can be executed only by the information processing device 101, a plurality of developers can simultaneously perform the test in parallel.

ステップS511において、情報処理装置101は、ステップS510にて実行したテストにおける失敗したテストケースの有無を判定し、有る場合は本フローチャートを終了し、無い場合はステップS512に進む。すなわち、ステップS511は、テストの結果に従って、アプリケーションの構築をする/しないを制御する処理の一例を示すステップである。 In step S511, the information processing apparatus 101 determines whether or not there is a failed test case in the test executed in step S510, ends this flowchart if there is, and proceeds to step S512 if there is none. That is, step S511 is a step showing an example of a process of controlling whether or not to build the application according to the result of the test.

ステップS512において、情報処理装置101は、ステップS508にて生成したプログラムをアプリケーションサーバ102に配置(デプロイ)する。 In step S512, the information processing apparatus 101 arranges (deploys) the program generated in step S508 on the application server 102.

これにより、失敗テストが無い状態のアプリケーションをサーバに構築する仕組みを提供することができる。よって、テストに時間がかかってしまう場合、夜間にテストを実行させ、テストが成功した場合は、続けてアプリケーションサーバ102にデプロイさせておくことができるため、アプリケーション管理者や運用者の手間を軽減することができる。 This makes it possible to provide a mechanism for building an application on a server without a failure test. Therefore, if the test takes a long time, the test can be executed at night, and if the test is successful, it can be continuously deployed on the application server 102, which reduces the trouble of the application administrator and the operator. can do.

また、失敗テストが有る状態のアプリケーションはサーバに構築することが無くなるため、不具合を含んだアプリケーションをリリースすることがなくなり、アプリケーションが不整合なデータを出力することもなくなるため、結果として、信頼性の高いアプリケーションを運用することができ、エンドユーザの満足度も向上させることができる。 In addition, since the application with the failure test is not built on the server, the application containing the defect is not released, and the application does not output inconsistent data. As a result, the reliability is reduced. It is possible to operate high-quality applications and improve end-user satisfaction.

以上で、図5の説明を終了する。 This is the end of the description of FIG.

以上により、アプリケーションプログラム生成、テスト実行、デプロイ等の処理を1つの指示で行うことができる。よって、アプリケーション構築ツールにおいて、テストを効率的に行う仕組みを提供することができる。

図7は、テストケース定義生成のフローチャートの一例を示す図である。
As described above, processing such as application program generation, test execution, and deployment can be performed with one instruction. Therefore, it is possible to provide a mechanism for efficiently performing tests in the application construction tool.

FIG. 7 is a diagram showing an example of a flowchart for generating a test case definition.

ステップS701において、情報処理装置101は、ユーザからのテストケース定義生成の指示を受け付ける。具体的には、新規テストケース作成メニュー1101(図11)の押下を受け付ける。 In step S701, the information processing apparatus 101 receives an instruction for generating a test case definition from the user. Specifically, it accepts the pressing of the new test case creation menu 1101 (FIG. 11).

ステップS702において、情報処理装置101は、外部メモリ211にアプリケーション定義402が作成済か否かを判定する。作成済の場合はステップS703に進み、未作成の場合は本フローチャートを終了する。 In step S702, the information processing apparatus 101 determines whether or not the application definition 402 has been created in the external memory 211. If it has been created, the process proceeds to step S703, and if it has not been created, this flowchart ends.

ステップS703において、情報処理装置101は、新規テストケース作成ダイアログ1102(図11)を表示し、新規のテストケースの生成に必要な「コード名」「名前」「対象アプリケーション1103」の入力を受け付け、受け付けた情報に基づき、外部メモリ211にテストケース定義407を新規に作成する。 In step S703, the information processing apparatus 101 displays the new test case creation dialog 1102 (FIG. 11), accepts the input of the "code name", "name", and "target application 1103" necessary for generating the new test case, and receives the input. Based on the received information, a new test case definition 407 is created in the external memory 211.

ステップS704において、情報処理装置101は、ステップS703にて作成されたテストケースのテスト手順を入力するためのテスト手順入力画面1201(図12)表示する。この時点では、テストケースにテスト手順が登録されていない状態であるため、テスト手順入力画面1201の「テスト手順」タブを選択した場合、テスト手順を設定するエディタ部には何も表示されていない。 In step S704, the information processing apparatus 101 displays a test procedure input screen 1201 (FIG. 12) for inputting the test procedure of the test case created in step S703. At this point, the test procedure is not registered in the test case, so when the "Test procedure" tab of the test procedure input screen 1201 is selected, nothing is displayed in the editor section for setting the test procedure. ..

ステップS705において、情報処理装置101は、ステップS703にて入力を受け付けた「対象アプリケーション1103」に属す入出力定義403を外部メモリ211から取得する。すなわち、ステップS705は、アプリケーションを構築するための定義情報を取得する処理の一例を示すステップである。 In step S705, the information processing apparatus 101 acquires the input / output definition 403 belonging to the “target application 1103” that received the input in step S703 from the external memory 211. That is, step S705 is a step showing an example of the process of acquiring the definition information for constructing the application.

ステップS706において、情報処理装置101は、登録するテスト手順の数だけステップS707〜S712を繰り返す。 In step S706, the information processing apparatus 101 repeats steps S707 to S712 for the number of test procedures to be registered.

ステップS707において、情報処理装置101は、テスト実行時に疑似的に行う命令の選択を受け付ける。命令の種類は、例えば、「画面表示」「行追加」「項目値入力」「項目値検証」の他に、「繰り返し処理」「アクション実行」「判定」等がある。 In step S707, the information processing apparatus 101 accepts the selection of an instruction to be pseudo-executed at the time of test execution. The types of instructions include, for example, "screen display", "line addition", "item value input", "item value verification", "repetition processing", "action execution", and "judgment".

通常、スクラッチ開発によって構築されたアプリケーションのテストは、テスト要員による「画面表示」「行追加」「項目値入力」等の操作及び目視による「項目値検証」を必要とするが、本実施形態におけるテストは、テスト要員が行う操作及び目視をステップS707にて「命令」として手順化しておき、構築又は生成されたアプリケーションプログラムに対して(テスト要員が操作を行ったかのように疑似的に)「命令」を実行することで、テストの実行及び検証が自動でできる。 Normally, testing an application constructed by scratch development requires operations such as "screen display", "line addition", and "item value input" by test personnel and visual "item value verification", but in the present embodiment. In the test, the operation and visual inspection performed by the test personnel are proceduralized as "instructions" in step S707, and the "instructions" are given to the constructed or generated application program (pseudo as if the test personnel performed the operations). By executing ", the test can be executed and verified automatically.

なお、本実施形態においては、命令の種類は上記7種類の中から選択を受け付けるとしたが、この7種類に限定するものではなく、その他の命令(例:キーボード・マウス・タッチパネル等の入力装置による操作、カメラ等の周辺機器の操作、音声入力、ブラウザ操作、n秒待機、不正な操作等)を選択できるとしてもよい。 In the present embodiment, the type of instruction is selected from the above seven types, but the type is not limited to these seven types, and other commands (eg, input devices such as keyboard, mouse, touch panel, etc.) are accepted. Operation by mouse, operation of peripheral devices such as a camera, voice input, browser operation, waiting for n seconds, illegal operation, etc.) may be selected.

ステップS708において、情報処理装置101は、ステップS705にて取得した入出力定義403に基づき、「対象アプリケーション1103」に属す入出力定義403を選択肢として表示する(図12の1203)。 In step S708, the information processing apparatus 101 displays the input / output definition 403 belonging to the “target application 1103” as an option based on the input / output definition 403 acquired in step S705 (1203 in FIG. 12).

ステップS709において、情報処理装置101は、ステップS708にて表示した選択肢から、テスト実行に用いる入出力定義403の選択を受け付ける。 In step S709, the information processing apparatus 101 accepts the selection of the input / output definition 403 to be used for the test execution from the options displayed in step S708.

ステップS710において、情報処理装置101は、ステップS709にて選択を受け付けた入出力定義403に属す入出力項目を選択肢として表示する(図12の1204)。例えば、ステップS707にて、命令に「項目値入力」が選択された場合は、入出力項目のうち値を入力できる項目だけに絞った選択肢を表示する。 In step S710, the information processing apparatus 101 displays the input / output items belonging to the input / output definition 403 that received the selection in step S709 as options (1204 in FIG. 12). For example, when "item value input" is selected for the instruction in step S707, the options narrowed down to only the items for which the value can be input are displayed among the input / output items.

ステップS711において、情報処理装置101は、ステップS710にて表示した選択肢から、テスト実行に用いる入出力項目の選択を受け付ける。 In step S711, the information processing apparatus 101 accepts selection of input / output items to be used for test execution from the options displayed in step S710.

ステップS712において、情報処理装置101は、テストの命令実行時に用いる入出力項目への引数の入力を受け付ける。なお、「引数」とは、テスト手順を実行するときに、入出力定義などの定義情報に対して設定するテストデータ(RPAデータ)のことであり、図6の602のような入力画面でそれぞれの引数(RPAデータ)が入力される。本発明の特徴である、入出力定義403の定義情報が変更される場合のテストケース手順更新の例を図6と図12、図13を参照して説明する。 In step S712, the information processing apparatus 101 accepts the input of arguments to the input / output items used when executing the test instruction. The "argument" is test data (RPA data) set for definition information such as input / output definitions when the test procedure is executed, and is displayed on an input screen as shown in FIG. 6 602. Argument (RPA data) is input. An example of updating the test case procedure when the definition information of the input / output definition 403 is changed, which is a feature of the present invention, will be described with reference to FIGS. 6, 12, and 13.

図6は、本発明の実施形態に係る入出力定義画面及びアプリケーションの実行画面の一例を示す図である。 FIG. 6 is a diagram showing an example of an input / output definition screen and an application execution screen according to the embodiment of the present invention.

図6の601は、入出力定義画面の一例であり、ユーザ登録フォームに関する入出力定義画面の例である。 601 of FIG. 6 is an example of the input / output definition screen, and is an example of the input / output definition screen related to the user registration form.

611には、当初は入出力定義のパスワードの項目コード名として、「PASSWORD」と定義しており、名前に対する項目コード名として、「NAMAE」と定義されている。601の場合、「ID」「パスワード」「名前」は「ユーザマスタ」というグループ項目として定義されており、ユーザからの「ID」「パスワード」「名前」それぞれの引数(RPAデータ)を受け付ける。グループ項目として定義されている入力項目の入力画面例を602を参照して説明する。 In 611, initially, the item code name of the password of the input / output definition is defined as "PASSWORD", and the item code name for the name is defined as "NAMAE". In the case of 601, the "ID", "password", and "name" are defined as group items called "user master", and the arguments (RPA data) of each of the "ID", "password", and "name" from the user are accepted. An input screen example of an input item defined as a group item will be described with reference to 602.

図6の602は、入出力定義画面601で定義されるアプリケーションの引数(RPAデータ)を入力する画面の例である。テストとして入力する引数(RPAデータ)として、602では、「ID」に「1」を、「パスワード」に「yamada」を、「名前」に「山田」を入力している。 602 of FIG. 6 is an example of a screen for inputting application arguments (RPA data) defined in the input / output definition screen 601. In 602, as an argument (RPA data) to be input as a test, "1" is input to "ID", "yamada" is input to "password", and "Yamada" is input to "name".

602の例であれば、例えば、図12では、グループ項目「G ユーザマスタ」の入出力項目「ID」「パスワード」「名前」欄1204とそれに続く入力欄にそれぞれの引数を入力する。行番号と引数を入力したものを1302(図13)に示す。1302(図13)は、グループ項目における明細「1」行目の入出力項目「ID」「パスワード」「名前」にそれぞれ「1」「yamada」「山田」を入力するという意味である。 In the case of 602, for example, in FIG. 12, each argument is input to the input / output items "ID", "password", "name" field 1204 of the group item "G user master" and the input fields following them. 1302 (Fig. 13) shows the input of the line number and the argument. 1302 (FIG. 13) means to input "1", "yamada", and "Yamada" in the input / output items "ID", "password", and "name" of the detail "1" line in the group item, respectively.

これらのデータを反映したテストケースの手順を記憶したスクリプトを図13の1305で指定されている「registFormCheck」というファイルに記憶させている。 A script that stores the procedure of the test case that reflects these data is stored in a file called "registFormCheck" specified in 1305 of FIG.

この設定の後、たとえば開発者が「パスワード」の項目コード名を「PASSWORD」から「PWD」に、「名前」の項目コード名を「NAMAE」から「NAME」に変えた場合の処理を説明する。 After this setting, for example, the process when the developer changes the item code name of "password" from "PASSWORD" to "PWD" and the item code name of "name" from "NAME" to "NAME" will be described. ..

図6の601では、611のように「パスワード」の項目コード名は「PASSWORD」、「名前」の項目コード名は「NAMAE」となっているが、開発者が603の631のように「パスワード」の項目コード名を「PWD」に、「名前」の項目コード名を「NAME」に変える。このように、プログラムのパラメータを変更すると、通常、テストケースの手順を記憶したスクリプトとして作成されたファイル(たとえば、「registFormCheck」ファイル1305)はそのままでは使えない。 In 601 of FIG. 6, the item code name of "password" is "PASSWORD" and the item code name of "name" is "NAMAE" as in 611, but the developer is "password" as in 631 of 603. Change the item code name of "" to "PWD" and the item code name of "name" to "NAME". When the parameters of the program are changed in this way, the file created as a script that stores the procedure of the test case (for example, "registFormCheck" file 1305) cannot be used as it is.

本願発明では、603のようにパラメータが変更され、そのテストケースを実行しようとする際に、変更されたパラメータを「registFormCheck」ファイルに反映される処理を行う、本願発明では、この処理を図7のステップS713で行っても良いし、後述する図8のステップS801の前に行っても良い。パラメータが反映された例を図13の1311を参照して説明する。 In the present invention, the parameters are changed as in 603, and when the test case is to be executed, the changed parameters are reflected in the "registFormCheck" file. In the present invention, this process is performed in FIG. 7. It may be performed in step S713 of the above, or may be performed before step S801 of FIG. 8 described later. An example in which the parameters are reflected will be described with reference to 1311 in FIG.

図13の1311は、項目コード名が1314のように変更された後のテストケース作成画面の一例である。 1311 in FIG. 13 is an example of a test case creation screen after the item code name is changed to 1314.

1301の段階では、テストケース手順内の項目値入力の入力項目(項目コード名)は1304のように「パスワード」の項目コード名は「PASSWORD」、「名前」の項目コード名は「NAMAE」である。項目コード名を1314のように「パスワード」の項目コード名を「PWD」に、「名前」の項目コード名を「NAME」に変更する場合、ステップS713で対応するパラメータで「registFormCheck」ファイル1315を生成することによりテストケース手順1314を定義する。以上で、入出力定義403の定義情報が変更される場合のデータとテストケース手順の更新処理の説明を終える。 At the stage of 1301, the input item (item code name) of the item value input in the test case procedure is 1304, the item code name of "password" is "PASSWORD", and the item code name of "name" is "NAMAE". is there. When changing the item code name of "password" to "PWD" and the item code name of "name" to "NAME" like 1314, the item code name of "registFormCheck" file 1315 is changed with the corresponding parameter in step S713. The test case procedure 1314 is defined by generating it. This completes the description of the data and test case procedure update process when the definition information of the input / output definition 403 is changed.

命令が図13の1313のように「項目値検証」の場合の引数は、その「入出力項目」の値が、テスト実行時にその「引数」の値と等しいか否かを判定するという意味である。ここでは、1312にて「項目値入力」を行い、「アクション実行」でUPDATE(更新)処理を行った後において、「ID」の値が「1」と等しいか否かを判定する。つまり、その時点で「ID」=1の場合は、そのテスト手順=成功と判定し、「ID」≠1の場合は、そのテスト手順=失敗と判定する(詳細は、図9のステップS911にて後述する)。 The argument when the instruction is "item value verification" as shown in 1313 of FIG. 13 means that it is determined whether or not the value of the "input / output item" is equal to the value of the "argument" at the time of test execution. is there. Here, after the "item value input" is performed in 1312 and the UPDATE (update) process is performed in the "action execution", it is determined whether or not the value of the "ID" is equal to "1". That is, if "ID" = 1 at that time, it is determined that the test procedure = success, and if "ID" ≠ 1, it is determined that the test procedure = failure (for details, see step S911 in FIG. 9). Will be described later).

なお、本実施形態においては、「引数(RPAデータ)」の例として「入出力項目の値」を挙げたが、「入出力項目の値」に限定するものではなく、「引数(RPAデータ)」は、例えば、画面の入出力に係る位置、色、大きさ又は内容等に係る情報であってもよい。また、表示、認証、検索、追加、更新若しくは削除等の処理に対して与える情報、又は、カメラ等の周辺機器に対して送信する情報等、テスト実行のために用いる情報であれば、その他の情報であってもよい。 In the present embodiment, "input / output item value" is given as an example of "argument (RPA data)", but it is not limited to "input / output item value" and "argument (RPA data)". ", For example, may be information related to the position, color, size, content, etc. related to the input / output of the screen. In addition, if it is information used for test execution such as information given for processing such as display, authentication, search, addition, update or deletion, or information transmitted to peripheral devices such as cameras, other information is used. It may be information.

すなわち、ステップS712は、実行されるテストに用いる情報を受け付ける処理の一例を示すステップである。また、ステップS712は、取得された定義情報に含まれる項目に対して代入する値の入力を受け付ける処理の一例を示すステップである。また、ステップS712は、取得された定義情報に含まれる項目が持つと予想される値の入力を受け付ける処理の一例を示すステップである。 That is, step S712 is a step showing an example of a process of receiving information used for the test to be executed. Further, step S712 is a step showing an example of a process of accepting input of a value to be substituted for an item included in the acquired definition information. Further, step S712 is a step showing an example of a process of accepting input of a value expected to be possessed by the item included in the acquired definition information.

すなわち、ステップS706〜S712は、テストケースの定義を受け付ける処理の一例を示すステップである。 That is, steps S706 to S712 are steps showing an example of processing for accepting the definition of the test case.

ステップS713において、情報処理装置101は、ステップS706〜S712を繰り返すことによって作成されたテストケース手順(例:図13の1311)に基づき、図16のようなテストケース定義1600を生成し、外部メモリ211に記憶する。 In step S713, the information processing apparatus 101 generates a test case definition 1600 as shown in FIG. 16 based on the test case procedure (example: 1311 in FIG. 13) created by repeating steps S706 to S712, and generates an external memory. Store in 211.

具体的には、テストケース手順1311を1つずつ、テストケース定義1600の要素<autotest−step>に変換することにより、テストケース定義1600を生成する。同様に、テストケース手順1311の「命令」はテストケース定義1600の要素<command>に、「入出力」は<object_01>に、「入出力項目」は<object_02>に、「行番号」は<object_03>に、「引数」は<argument>にそれぞれ変換する。 Specifically, the test case definition 1600 is generated by converting the test case procedure 1311 one by one into the element <autotest-step> of the test case definition 1600. Similarly, the "instruction" in test case procedure 1311 is in the element <command> of test case definition 1600, the "input / output" is in <object_01>, the "input / output item" is in <object_02>, and the "line number" is < Convert "argument" to <argument> in object_03>.

なお、本実施形態においては、テストケース定義1600を図16のようなXMLファイルとしたが、XMLファイルに限定するものではなく、その他の形式のファイルとして生成したり、データベースに記憶させたり、ファイルやデータベース以外の情報として生成したりしてもよい。 In the present embodiment, the test case definition 1600 is an XML file as shown in FIG. 16, but the file is not limited to the XML file, and can be generated as a file of another format, stored in a database, or a file. Or it may be generated as information other than the database.

すなわち、ステップS713は、取得された定義情報を用いて、テストケースを生成する処理の一例を示すステップである。また、ステップS713は、受け付けた定義に基づき、テストケースを生成する処理の一例を示すステップである。また、ステップS713は、受け付けた値を項目に対して代入することを含むテストケースを生成する処理の一例を示すステップである。また、すなわち、ステップS713は、受け付けた値と項目が持つ値とを比較することを含むテストケースを生成する処理の一例を示すステップである。 That is, step S713 is a step showing an example of a process of generating a test case using the acquired definition information. Further, step S713 is a step showing an example of a process of generating a test case based on the accepted definition. Further, step S713 is a step showing an example of a process of generating a test case including substituting the received value for the item. That is, step S713 is a step showing an example of a process of generating a test case including comparing the received value with the value of the item.

以上で、図7の説明を終了する。

以上により、アプリケーションを構築するための定義情報を用いて、アプリケーションに係るテストケースを容易に生成することができる。また、アプリケーションを構築するための定義情報を用いて、定義情報が正しく定義されているか否かテストするためのテストケースを容易に生成することができる。
This is the end of the description of FIG.

From the above, it is possible to easily generate a test case related to an application by using the definition information for constructing the application. In addition, using the definition information for building an application, it is possible to easily generate a test case for testing whether or not the definition information is correctly defined.

つまり、アプリケーション開発者は、テストを実行するプログラム(テストスクリプト)を記述する必要がないため、テストに係る工数を削減することができ、テストを効率的に行うことができる。よって、プログラミング知識のないアプリケーション開発者であっても、定義情報さえ理解できれば、アプリケーションに係るテストケースを容易に生成することができる。また、開発者が項目コード名などのパラメータを変更しても、対応するテストケース定義(RPAシナリオ)の開発者による修正は必要なく、パラメータの変更に伴い自動的にテストケース定義のパラメータも変更することができる。

図8、図9、図10は、テスト実行のフローチャートの一例を示す図である。
That is, since the application developer does not need to write a program (test script) for executing the test, the man-hours related to the test can be reduced and the test can be performed efficiently. Therefore, even an application developer who has no programming knowledge can easily generate a test case related to an application as long as he / she can understand the definition information. In addition, even if the developer changes parameters such as the item code name, the developer of the corresponding test case definition (RPA scenario) does not need to be modified, and the parameters of the test case definition are automatically changed as the parameters are changed. can do.

8, 9, and 10 are diagrams showing an example of a flowchart of test execution.

ステップS801において、情報処理装置101は、テスト実行指示を受け付ける。具体的には、実行メニュー1401(図14)の押下を受け付ける。 In step S801, the information processing device 101 receives a test execution instruction. Specifically, it accepts the pressing of the execution menu 1401 (FIG. 14).

ステップS802において、情報処理装置101は、テスト実行対象のテストケース定義に係るアプリケーション1103(図11)のアプリケーションコード440が作成済か否かを判定する。作成済の場合はステップS803に進み、未作成の場合は本フローチャートを終了する。 In step S802, the information processing apparatus 101 determines whether or not the application code 440 of the application 1103 (FIG. 11) related to the test case definition of the test execution target has been created. If it has been created, the process proceeds to step S803, and if it has not been created, this flowchart ends.

ステップS803において、情報処理装置101は、テスト実行部(インタープリタ)434とテストケース定義解釈部433を用いて、ステップS801で実行メニュー1401の押下時に選択されていたテストケースに対応するテストケース定義407(図16の1600)を外部メモリ211から取得する。 In step S803, the information processing apparatus 101 uses the test execution unit (interpreter) 434 and the test case definition interpretation unit 433 to define the test case definition 407 corresponding to the test case selected when the execution menu 1401 is pressed in step S801. (1600 in FIG. 16) is acquired from the external memory 211.

ステップS804において、情報処理装置101は、テスト実行部(インタープリタ)434とテストケース定義解釈部433を用いて、ステップS803にて取得したテストケース定義407(図16の1600)に含まれるテストケース数及びテスト手順数をカウントする。 In step S804, the information processing apparatus 101 uses the test execution unit (interpreter) 434 and the test case definition interpretation unit 433 to include the number of test cases included in the test case definition 407 (1600 in FIG. 16) acquired in step S803. And count the number of test procedures.

ステップS805において、情報処理装置101は、テストビュー1403(図14)を表示する。 In step S805, the information processing apparatus 101 displays the test view 1403 (FIG. 14).

ステップS806において、情報処理装置101は、テスト進捗バー1404(図14)を空の状態で表示する。 In step S806, the information processing apparatus 101 displays the test progress bar 1404 (FIG. 14) in an empty state.

ステップS807において、情報処理装置101は、テスト情報のテストツリーペイン1406(図14)に、ステップS803及びステップS804でテスト対象としたテストケース名(例:ユーザ登録フォームチェック、商品登録フォームチェック)及びテスト手順(1.画面表示、2.行追加、3.…)を表示する。 In step S807, the information processing apparatus 101 displays the test case names (eg, user registration form check, product registration form check) to be tested in steps S803 and S804 in the test tree pane 1406 (FIG. 14) of the test information. Display the test procedure (1. screen display, 2. line addition, 3. ...).

ステップS808において、情報処理装置101は、テスト情報の詳細ペイン1407(図14)にメッセージ「実行中…」を表示する。 In step S808, the information processing apparatus 101 displays the message “Running ...” in the detail pane 1407 (FIG. 14) of the test information.

ステップS809において、情報処理装置101は、テスト実行準備部432を用いて、テスト実行前準備を行う。具体的には、テスト実行前準備では、セッション、クッキー及びスレッド等の生成を行い、ユーザが実際にブラウザを用いてアプリケーションを実行した場合と同様のアプリケーションデータを生成する。これにより、ブラウザ、エンドユーザ操作及びアプリケーションサーバ等を用いなくても、アプリケーション構築ツールにおいて、テストを効率的に行うことができる。 In step S809, the information processing apparatus 101 uses the test execution preparation unit 432 to perform pre-test execution preparation. Specifically, in the test execution preparation, sessions, cookies, threads, etc. are generated, and application data similar to the case where the user actually executes the application using the browser is generated. As a result, the test can be efficiently performed in the application construction tool without using a browser, end user operation, application server, or the like.

ステップS901において、情報処理装置101は、テスト実行対象のテストケースの分だけ、ステップS902〜S1001を繰り返す。 In step S901, the information processing apparatus 101 repeats steps S902 to S1001 for the number of test cases to be executed.

ステップS902において、情報処理装置101は、テスト実行対象のテストケースのテスト手順の分だけ、ステップS903〜S915、S921又はS925を繰り返す。 In step S902, the information processing apparatus 101 repeats steps S903 to S915, S921, or S925 for the number of test procedures of the test case to be executed.

ステップS903において、情報処理装置101は、強制終了ボタン1405(図14)の押下を受け付けたか否かを判断し、押下された場合はステップS904へ進み、押下されていない場合はステップS905へ進む。 In step S903, the information processing device 101 determines whether or not the forced termination button 1405 (FIG. 14) has been pressed, and if it is pressed, the process proceeds to step S904, and if it is not pressed, the process proceeds to step S905.

ステップS904において、情報処理装置101は、テスト進捗バー1404を灰色100%で更新し、未実行のテストケース又はテスト手順がある場合であっても中断し、本フローチャートを終了する。 In step S904, the information processing apparatus 101 updates the test progress bar 1404 with 100% gray, interrupts even if there is an unexecuted test case or test procedure, and ends this flowchart.

ステップS905において、情報処理装置101は、テストケース定義解釈部433を用いて、テスト手順情報1203を取得する。次に、ステップS905−1の処理へと遷移する。 In step S905, the information processing apparatus 101 acquires the test procedure information 1203 by using the test case definition interpretation unit 433. Next, the process proceeds to step S905-1.

ステップS905−1において、情報処理装置101は、制御の処理(条件分岐や繰り返しの処理)を実行する。詳細は、図17〜図21の説明にて後述する。ステップS905−1の処理後、ステップS906へと処理を遷移する。 In step S905-1, the information processing apparatus 101 executes control processing (conditional branching and repetitive processing). Details will be described later in the description of FIGS. 17 to 21. After the process of step S905-1, the process transitions to step S906.

ステップS906において、情報処理装置101は、テスト手順情報のテスト命令が入力系か否かを判定し、入力系の場合はステップS907へ進み、入力系でない場合はステップS908へ進む。 In step S906, the information processing apparatus 101 determines whether or not the test instruction of the test procedure information is an input system, proceeds to step S907 if it is an input system, and proceeds to step S908 if it is not an input system.

ステップS907において、情報処理装置101は、アプリケーションコードアクセス部436を用いて、生成済のアプリケーションコード440へ疑似的に値の入力を実行する。その後、アプリケーションコードアクセス部を用いて、アプリケーションコード440から実行結果を受け取り、テスト結果取得部435を用いてテスト結果を得る。すなわち、ステップS907は、ステップS712にて受け付けた情報を用いて、テストを実行する処理の一例を示すステップである。 In step S907, the information processing apparatus 101 uses the application code access unit 436 to execute a pseudo value input to the generated application code 440. After that, the application code access unit is used to receive the execution result from the application code 440, and the test result acquisition unit 435 is used to obtain the test result. That is, step S907 is a step showing an example of a process of executing a test using the information received in step S712.

ステップS908において、情報処理装置101は、テスト手順情報のテスト命令が実行系か否かを判定し、実行系の場合はステップS909へ進み、実行系でない場合はステップS910へ進む。 In step S908, the information processing apparatus 101 determines whether or not the test instruction of the test procedure information is an execution system, proceeds to step S909 if it is an execution system, and proceeds to step S910 if it is not an execution system.

ステップS909において、情報処理装置101は、アプリケーションコードアクセス部436を用いて、生成済のアプリケーションコード440へ疑似的にアクションを実行するリクエストを送る。その後、アプリケーションコードアクセス部436を用いて、アプリケーションコード440から実行結果を受け取り、テスト結果取得部435を用いてテスト結果を得る。 In step S909, the information processing apparatus 101 uses the application code access unit 436 to send a request to execute a pseudo action to the generated application code 440. After that, the application code access unit 436 is used to receive the execution result from the application code 440, and the test result acquisition unit 435 is used to obtain the test result.

ステップS910において、情報処理装置101は、アプリケーションコードアクセス部436を用いて、生成済のアプリケーションコード440から検証対象の情報を取得する。 In step S910, the information processing apparatus 101 uses the application code access unit 436 to acquire information to be verified from the generated application code 440.

ステップS911において、情報処理装置101は、検証対象の情報(検証対象が定義情報に含まれる項目である場合、当該項目に係る情報(例;当該項目が持つ値や属性値))が条件(例;ステップS712にて入力を受け付けた引数の値)に合致するか否かを判定し、検証が成功(条件に合致する)の場合はステップS916へ進み、失敗(条件に合致しない)の場合はステップS912へ進む。 In step S911, the information processing apparatus 101 is conditional on the information to be verified (when the verification target is an item included in the definition information, the information related to the item (example; the value or attribute value of the item)). It is determined whether or not it matches (the value of the argument received in step S712), and if the verification is successful (matches the condition), the process proceeds to step S916, and if it fails (does not meet the condition), the process proceeds to step S916. The process proceeds to step S912.

例えば、図13の1313の場合、1312にて「項目値入力」を行い、「アクション実行」でUPDATE(更新)を行った後において、「ID」の値が「1」と等しいか否かを判定する。つまり、その時点で「ID」=1の場合は、そのテスト手順=“成功”と判定し、「ID」≠1の場合は、そのテスト手順=“失敗”と判定する。 For example, in the case of 1313 in FIG. 13, after performing "item value input" in 1312 and UPDATE (update) in "action execution", whether or not the value of "ID" is equal to "1" is determined. judge. That is, if "ID" = 1 at that time, the test procedure = "success" is determined, and if "ID" ≠ 1, the test procedure = "failure" is determined.

なお、本実施形態においては、検証系の例として「項目値検証」を挙げたが、項目値に限定するものではなく、例えば、表示するオブジェクトやメッセージの表示位置、色、大きさ又は表示内容等の検証であってもよい。また、表示、認証、検索、追加、更新若しくは削除等の処理にかかった時間、CPUの使用率、記憶領域の空き容量、又は、カメラ等の周辺機器から取得可能な情報等、テスト実行時に取得可能な情報に係る検証であれば、その他の検証であってもよい。 In this embodiment, "item value verification" is given as an example of the verification system, but it is not limited to the item value, and for example, the display position, color, size or display content of the object to be displayed or the message is displayed. Etc. may be verified. In addition, the time required for processing such as display, authentication, search, addition, update or deletion, CPU usage rate, free storage space, information that can be acquired from peripheral devices such as cameras, etc. are acquired at the time of test execution. Other verifications may be used as long as the verification relates to possible information.

すなわち、ステップS911は、ステップS712にて受け付けた情報を用いて、テストを実行する処理の一例を示すステップである。また、ステップS911は、受け付けた値と項目が持つ値とを比較した結果に基づいて、実行されるテストの成否を判定する処理の一例を示すステップである。 That is, step S911 is a step showing an example of a process of executing a test using the information received in step S712. Further, step S911 is a step showing an example of a process of determining the success or failure of the test to be executed based on the result of comparing the received value with the value of the item.

ステップS912において、情報処理装置101は、テスト手順のステータスを“失敗”としてRAM202に記憶する。 In step S912, the information processing apparatus 101 stores the status of the test procedure in the RAM 202 as “failure”.

ステップS913において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、検証失敗数を更新する(図15の1503)。 In step S913, the information processing apparatus 101 updates the number of verification failures by using the test result acquisition unit 435 and the test result display unit 438 (1503 in FIG. 15).

ステップS914において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、テスト手順数を更新する(図15の1502)。 In step S914, the information processing apparatus 101 updates the number of test procedures by using the test result acquisition unit 435 and the test result display unit 438 (1502 in FIG. 15).

ステップS915において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、進捗バーを赤色で更新する(図15の1505)。 In step S915, the information processing apparatus 101 updates the progress bar in red using the test result acquisition unit 435 and the test result display unit 438 (1505 in FIG. 15).

ステップS916において、情報処理装置101は、アプリケーションエラーが発生していないことを確認する。発生していなければステップS922へ進み、エラーが発生している場合は、ステップS917へ進む。 In step S916, the information processing device 101 confirms that no application error has occurred. If it has not occurred, the process proceeds to step S922, and if an error has occurred, the process proceeds to step S917.

ステップS917において、情報処理装置101は、テスト手順のステータスを“テスト失敗”としてRAM202に記憶する。 In step S917, the information processing apparatus 101 stores the status of the test procedure in the RAM 202 as “test failure”.

ステップS918において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、テスト失敗数を更新する(図15の1504)。 In step S918, the information processing apparatus 101 updates the number of test failures by using the test result acquisition unit 435 and the test result display unit 438 (1504 in FIG. 15).

ステップS919において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、テスト手順数を更新する(図15の1502)。 In step S919, the information processing apparatus 101 updates the number of test procedures by using the test result acquisition unit 435 and the test result display unit 438 (1502 in FIG. 15).

ステップS920において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、進捗バーを赤色で更新する(図15の1505)。 In step S920, the information processing apparatus 101 updates the progress bar in red using the test result acquisition unit 435 and the test result display unit 438 (1505 in FIG. 15).

ステップS921において、情報処理装置101は、テスト結果表示部438を用いて、テストケース数を更新する(図15の1501)。その後、未実施のテスト手順が実行中のテストケースに含まれている場合であっても、それらの実行はせず、次に実行予定のテストケースを実行する。ステップS902に戻る。 In step S921, the information processing apparatus 101 updates the number of test cases using the test result display unit 438 (1501 in FIG. 15). After that, even if unexecuted test procedures are included in the running test cases, they are not executed and the test case to be executed next is executed. Return to step S902.

ステップS922において、情報処理装置101は、テスト手順のステータスを“成功”として登録する(図15の1507)。 In step S922, the information processing apparatus 101 registers the status of the test procedure as "successful" (1507 in FIG. 15).

ステップS923において、情報処理装置101は、テスト結果表示部438を用いて、テスト手順数を更新する(図15の1502)。 In step S923, the information processing apparatus 101 updates the number of test procedures using the test result display unit 438 (1502 in FIG. 15).

ステップS924において、情報処理装置101は、これまでのテスト手順のステータスにテスト失敗及び検証失敗の両方が0件であるか否かを判定し、正の場合はステップS925に進み、偽の場合はステップS925を行わない。 In step S924, the information processing apparatus 101 determines whether or not both the test failure and the verification failure are 0 in the status of the test procedure so far, and if positive, proceeds to step S925, and if false, proceeds to step S925. Step S925 is not performed.

ステップS1001において、情報処理装置101は、テスト結果表示部438を用いて、テストケース数を更新する(図15の1501)。 In step S1001, the information processing apparatus 101 updates the number of test cases using the test result display unit 438 (1501 in FIG. 15).

ステップS1002において、情報処理装置101は、テスト終了処理部437を用いて、テスト実行を終了する。具体的には、テスト実行終了処理では、ステップS809にて生成したセッション、クッキー及びスレッド等をクローズする。 In step S1002, the information processing apparatus 101 ends the test execution by using the test end processing unit 437. Specifically, in the test execution end process, the session, cookie, thread, etc. generated in step S809 are closed.

ステップS1003において、情報処理装置101は、テスト結果表示部438を用いて、テスト実行時間を更新する(図15の1506)。 In step S1003, the information processing apparatus 101 updates the test execution time using the test result display unit 438 (1506 in FIG. 15).

ステップS1004において、情報処理装置101は、テスト結果取得部435とテスト結果表示部438を用いて、テスト中に出力されるログをアプリケーションログビューに表示する(図15の1509)。 In step S1004, the information processing apparatus 101 uses the test result acquisition unit 435 and the test result display unit 438 to display the log output during the test in the application log view (1509 in FIG. 15).

以上により、テスト対象の画面や処理に到達するまでに必要な画面や処理(例えば、ログイン処理やメニュー画面等)がテストできる程度に構築されていない状態であっても、アプリケーション構築ツールにおいて、テスト対象の定義についてのみテストを行うことができるため、テストを効率的に行うことができる。つまり、早い段階でテスト工程を開始することができるため、高品質なアプリケーションを構築することができる。 As described above, even if the screens and processes required to reach the screens and processes to be tested (for example, login process, menu screen, etc.) are not constructed to the extent that they can be tested, the application construction tool can be used for testing. Since the test can be performed only on the definition of the target, the test can be performed efficiently. In other words, since the test process can be started at an early stage, a high-quality application can be constructed.

以上で、図8、図9及び図10の説明を終了する。

次に、図17〜図21を参照して、本願発明のテストケースにおける条件分岐処理と繰り返し処理の説明を行う。図17、図18の条件分岐の例は、図5のステップS511におけるテストの成否を判断する処理だけではなく、テストケースのシーケンシャルな処理に分岐処理を取り入れたものである。フローチャートによる説明は図19〜図21を参照して説明する。
This is the end of the description of FIGS. 8, 9 and 10.

Next, the conditional branching process and the iterative process in the test case of the present invention will be described with reference to FIGS. 17 to 21. In the example of conditional branching in FIGS. 17 and 18, not only the process of determining the success or failure of the test in step S511 of FIG. 5 but also the branching process is incorporated into the sequential process of the test case. The explanation by the flowchart will be described with reference to FIGS. 19 to 21.

図17の1700の「SP_ORDER_APPROVE」ファイル1701は、SP注文の承認実行時のテストケース手順を記憶したファイルの例である。ファイル1701に登録するテストケース手順の例を1710に示す。 The “SP_ORDER_APPROVE” file 1701 of 1700 in FIG. 17 is an example of a file that stores the test case procedure at the time of executing the approval of the SP order. An example of a test case procedure registered in file 1701 is shown in 1710.

1710にはSP注文の承認のテストケース手順が登録されており、命令列に通常のシーケンシャルなテストケースでは存在しない繰り返し処理や判定処理が存在する。1710のテストケースの処理手順を説明する。なお、一度1710のようなテストケースを設計すると、通常はこれらの処理に開発者やユーザは関与せず、データの入力やボタンの押下は全て情報処理装置101が実行する。 A test case procedure for approving an SP order is registered in 1710, and the instruction sequence includes iterative processing and judgment processing that do not exist in a normal sequential test case. The processing procedure of the 1710 test case will be described. Once a test case such as 1710 is designed, normally, the developer and the user are not involved in these processes, and the information processing device 101 executes all data input and button presses.

1710において、最初の行で、情報処理装置101は、まず引数としてDATA.CSVファイル(図22)の「ORDER_NUM」の値を「INPUT」という変数として取得する処理を「繰り返し処理」として開始する(ステップS2001〜S2003)。図22は、連続でテストケースを実行するためにユーザにより予め設定されているRPAデータの例である。 In 1710, in the first line, the information processing device 101 first takes a DATA. The process of acquiring the value of "ORDER_NUM" in the CSV file (FIG. 22) as a variable "INPUT" is started as "repetitive process" (steps S2001 to S2003). FIG. 22 is an example of RPA data preset by the user to execute test cases continuously.

次の行の処理に移行すると、情報処理装置101は、「SP注文検索画面」を「画面表示」する。 When the process shifts to the processing of the next line, the information processing apparatus 101 "displays the screen" of the "SP order search screen".

次に、アプリケーション内の「注文書No.」という名前の「ORDER_NUM」変数に最初の繰り返し処理で代入した引数である「INPUT」という変数の値を代入する(ステップS2004)。 Next, the value of the variable "INPUT", which is the argument assigned in the first iteration, is assigned to the "ORDER_NUM" variable named "Order Form No." in the application (step S2004).

次に、画面表示している「SP注文検索画面」の検索ボタンの押下する処理を情報処理装置101が実行し、検索結果の「SP注文承認画面」を表示する。 Next, the information processing device 101 executes the process of pressing the search button on the "SP order search screen" displayed on the screen, and displays the "SP order approval screen" of the search result.

次に、「SP注文承認画面」により検索された結果の「判定」処理を行う。 Next, the "determination" process of the result searched by the "SP order approval screen" is performed.

「判定」処理の引数欄には、判定が「TRUE」となる条件が示されており、判定が「TRUE」の場合は直後に登録された処理が実施される。判定が「FALSE」の場合は、対応する「判定(FALSE)」欄以降の処理を実行する。たとえば、1711の「判定(TRUE)」に対応する「判定(FALSE)」は1712である。 In the argument column of the "determination" process, the condition that the determination is "TRUE" is shown, and when the determination is "TRUE", the process registered immediately after is executed. When the determination is "FALSE", the processing after the corresponding "determination (FALSE)" column is executed. For example, the "determination (FALSE)" corresponding to the "determination (TRUE)" of 1711 is 1712.

判定処理1711において、「SP注文承認画面」から取得した検索結果の「見積もり書No.」である「ESTIMATE_NUM」が「*」であれば(ステップS2101でYesの後、ステップS2102でYesの場合)、1711より後の処理を実行する(ステップS2103)。「ESTIMATE_NUM」が「*」でなければ(ステップS2105でYesの後、ステップS2106でNoの場合)、1712より後の処理を実行する(ステップS2108)。 In the determination process 1711, if "ESTIMATE_NUM", which is the "quotation No." of the search result obtained from the "SP order approval screen", is "*" (when Yes in step S2101 and Yes in step S2102). , 1711 and later processes are executed (step S2103). If "ESTIMATE_NUM" is not "*" (Yes in step S2105 and No in step S2106), the processing after 1712 is executed (step S2108).

1711において、「ESTIMATE_NUM」が「*」である場合、1713の判定処理に移行する。1713において、情報処理装置101は、「SP注文承認画面」から取得した検索結果の「メモ」である「MEMO_TEXT」を取得し、「MEMO_TEXT」が「NULL」(空)かどうか判断する。空の場合(ステップS2101でYesの後、ステップS2102でYesの場合)は、情報処理装置101が「否認」ボタンを押下する処理(ステップS2109でNoの後、ステップS2111で「DENY_BTN」の処理)を実行し、「MEMO_TEXT」が空でない場合(ステップS2105でYesの後、ステップS2106でNoの場合)は「承認」ボタンを押下する処理(ステップS2109でNoの後、ステップS2111で「APPROVE_BTN」の処理)を実行する。 In 1711, when "ESTIMATE_NUM" is "*", the process proceeds to the determination process of 1713. In 1713, the information processing apparatus 101 acquires "MEMO_TEXT" which is a "memo" of the search result acquired from the "SP order approval screen", and determines whether "MEMO_TEXT" is "NULL" (empty). In the case of an empty space (yes in step S2101, yes in step S2102), the information processing apparatus 101 presses the "deny" button (no in step S2109, then "DENY_BTN" in step S2111). If "MEMO_TEXT" is not empty (Yes in step S2105, No in step S2106), the process of pressing the "Approve" button (No in step S2109, then "APPROVE_BTN" in step S2111) Process) is executed.

1712において、「ESTIMATE_NUM」が「*」でない場合(ステップS2105でYesの後、ステップS2106でNoの場合)、情報処理装置101が「否認」ボタンを押下する処理(ステップS2109でNoの後、ステップS2111で「DENY_BTN」の処理)を実行し、「判定」処理を終える(ステップS2109でYesの後、ステップS2110へ遷移)。 In 1712, when "ESTIMATE_NUM" is not "*" (when Yes in step S2105 and No in step S2106), the information processing apparatus 101 presses the "deny" button (after No in step S2109, then step). The "DENY_BTN" process) is executed in S2111, and the "determination" process is completed (after Yes in step S2109, the transition to step S2110).

次に、「繰り返し処理」を終了する処理に遷移し(ステップS2005でYes)、引数として取得したDATA.CSVファイル(図22)のデータに次行がある場合(ステップS2005でNo)は、繰り返し開始行(1710の最初)に戻って次の行の引数(図17の場合、次の行のORDER_NUM)を取得して、繰り返し処理を実行する(ステップS2007)。一方、引数として取得したDATA.CSVファイル(図22)のデータに次行がない場合(ステップS2005でYes)は、繰り返し処理を終了する。 Next, the process transitions to the process of ending the "repetitive process" (Yes in step S2005), and the DATA. If there is a next line in the data of the CSV file (FIG. 22) (No in step S2005), it returns to the repeat start line (the beginning of 1710) and the argument of the next line (in the case of FIG. 17, ORDER_NUM of the next line). Is acquired, and the iterative process is executed (step S2007). On the other hand, the DATA obtained as an argument. If there is no next line in the data of the CSV file (FIG. 22) (Yes in step S2005), the iterative process ends.

以上の処理により、通常のテストケースのようにシーケンシャルに処理を実行するだけでなく、ファイル(この場合、図22の例のようなDATA.CSVファイル)などからRPAデータや押下ボタン名などを取得して、テストケースに適応させて、複雑なテストケースを実行する事が可能となる。 By the above processing, not only the processing is executed sequentially like a normal test case, but also the RPA data and the press button name are acquired from the file (in this case, the DATA.CSV file as in the example of FIG. 22). Then, it becomes possible to adapt to the test case and execute a complicated test case.

なお、図17のテストケース1710を生成する方法として、図18を参照して説明する。 A method for generating the test case 1710 of FIG. 17 will be described with reference to FIG.

図18は、本願発明におけるテストケース手順入力画面の一例を示す図である。図18の1801〜1803の入力は図7のステップS707〜S711の処理でそれぞれ実行される。その後、ステップS712において、引数1804の値の入力を受け付ける。 FIG. 18 is a diagram showing an example of a test case procedure input screen according to the present invention. The inputs of 1801 to 1803 of FIG. 18 are executed in the processes of steps S707 to S711 of FIG. 7, respectively. After that, in step S712, the input of the value of the argument 1804 is accepted.

以上により、アプリケーション構築ツールにおいて、アプリケーションを構築する又はプログラムを生成するために設定した定義情報が正しく定義されているかについて、テストを行うことができる。つまり、これにより、アプリケーション構築ツールにおいて、テスト対象を定義情報に絞ったテスト行うことができるため、テストを効率的に行うことができる。 With the above, it is possible to test whether the definition information set for building the application or generating the program is correctly defined in the application construction tool. In other words, as a result, the application construction tool can perform the test focusing on the definition information, so that the test can be performed efficiently.

また、アプリケーション開発テスト中に作成したRPAデータ(指定した操作をコンピュータにより解釈可能に変換したデータ)を、開発によるソースコードの変更後に対しても容易に適応できる技術を提供することができる。 In addition, it is possible to provide a technique that can easily adapt the RPA data (data obtained by converting a specified operation into an interpretable one by a computer) created during an application development test even after the source code is changed due to development.

さらに、制御構造(条件分岐や繰り返し処理)を有するテストケースも図17のように生成することができるため、より複雑なテストを実行し、テスト結果からアプリケーションの正否を確認することができる。 Further, since a test case having a control structure (conditional branching and iterative processing) can be generated as shown in FIG. 17, a more complicated test can be executed and the correctness of the application can be confirmed from the test result.

勿論、本実施形態により生成したテストケースを用いて、テスト対象を定義情報に絞ったテストを行うだけでなく、構築又は生成したアプリケーションを動作させてテストを行うことで、アプリケーション全体までテスト対象を広げたテスト(総合テスト)を行うとしてもよい。

以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
Of course, using the test case generated by this embodiment, not only the test target is narrowed down to the definition information, but also the test target is set to the entire application by operating the built or generated application. An expanded test (comprehensive test) may be performed.

As described above, the recording medium on which the program that realizes the function of the above-described embodiment is recorded is supplied to the system or the device, and the computer (or CPU or MPU) of the system or the device stores the program in the recording medium. Needless to say, the object of the present invention can be achieved by reading and executing.

この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。 In this case, the program itself read from the recording medium realizes the novel function of the present invention, and the recording medium on which the program is recorded constitutes the present invention.

プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。 Recording media for supplying programs include, for example, flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, DVD-ROMs, magnetic tapes, non-volatile memory cards, ROMs, EEPROMs, and silicon. A disk or the like can be used.

また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, by executing the program read by the computer, not only the function of the above-described embodiment is realized, but also the OS (operating system) or the like running on the computer is actually operated based on the instruction of the program. Needless to say, there is a case where a part or all of the processing is performed and the function of the above-described embodiment is realized by the processing.

さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, after the program read from the recording medium is written in the memory provided in the function expansion board inserted in the computer or the function expansion unit connected to the computer, the function expansion board is based on the instruction of the program code. It goes without saying that there is a case where the CPU or the like provided in the function expansion unit performs a part or all of the actual processing, and the function of the above-described embodiment is realized by the processing.

また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。 Further, the present invention may be applied to a system composed of a plurality of devices or a device composed of one device. It goes without saying that the present invention can also be applied when it is achieved by supplying a program to a system or an apparatus. In this case, by reading the recording medium in which the program for achieving the present invention is stored into the system or the device, the system or the device can enjoy the effect of the present invention.

上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。 The form of the above program may consist of object code, program code executed by an interpreter, script data supplied to an OS (operating system), and the like.

さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
Further, by downloading and reading a program for achieving the present invention from a server, database, or the like on the network by a communication program, the system or device can enjoy the effect of the present invention. It should be noted that the present invention also includes all configurations in which each of the above-described embodiments and modifications thereof are combined.

101 情報処理装置
102 アプリケーションサーバ
103 データベースサーバ
104 アプリケーションクライアント
105 ネットワーク
101 Information processing device 102 Application server 103 Database server 104 Application client 105 Network

Claims (6)

アプリケーションのIO定義情報とデータモデル情報、ビジネスプロセス情報からアプリケーションを生成するアプリケーション生成手段と、
前記アプリケーション生成手段により生成されたプログラムを実行させるプログラム実行手段と、
前記プログラム実行手段のプログラムの実行により生成された画面を表示させる実行画面表示制御手段
を有する情報処理装置において、
前記実行画面表示制御手段で表示された画面に対して、人間が指定した操作をコンピュータにより読み込み可能なデータとして登録する登録手段と、
前記実行画面表示制御手段で表示された画面と対応するプログラムを生成する際に用いたIO定義情報を取得するIO定義取得手段と、
前記登録手段により登録されたデータと対応する前記IO定義取得手段で取得したIO定義情報とを紐付ける登録データ紐付け手段と、
前記プログラム実行手段の実行手順に則って前記登録手段で登録されたデータを前記登録データ紐付け手段で紐付けたIO定義情報と共に記憶する記憶手段と、
前記IO定義情報の変更を受け付けると、前記記憶手段に記憶された前記登録データ紐付け手段で紐付けられた該IO定義情報を変更する情報変更手段と
を有することを特徴とする情報処理装置。
Application generation means for generating applications from application IO definition information, data model information, and business process information,
A program execution means for executing a program generated by the application generation means, and a program execution means.
In an information processing apparatus having an execution screen display control means for displaying a screen generated by executing a program of the program execution means.
A registration means for registering an operation specified by a human as data that can be read by a computer with respect to the screen displayed by the execution screen display control means.
The IO definition acquisition means for acquiring the IO definition information used when generating the program corresponding to the screen displayed by the execution screen display control means, and the IO definition acquisition means.
A registration data linking means that links the data registered by the registration means with the corresponding IO definition information acquired by the IO definition acquisition means, and
A storage means that stores the data registered by the registration means together with the IO definition information linked by the registration data linking means according to the execution procedure of the program execution means, and a storage means.
An information processing apparatus comprising: an information changing means for changing the IO definition information associated with the registered data associating means stored in the storage means when the change of the IO definition information is accepted.
前記プログラム実行手段の実行手順に則って、前記記憶手段に記憶されたIO定義情報と紐付けられている登録されたデータを入力してテストの実行を行うテスト実行手段と、
前記テスト実行手段により実行されるテストの結果に従って、前記アプリケーションを生成する情報が正しく定義されているかを判断する判断手段と、
を有することを特徴とする請求項1に記載の情報処理装置。
A test execution means that executes a test by inputting registered data associated with the IO definition information stored in the storage means according to the execution procedure of the program execution means.
Judgment means for determining whether the information for generating the application is correctly defined according to the result of the test executed by the test execution means.
The information processing apparatus according to claim 1, wherein the information processing apparatus has.
前記登録手段により登録されたデータを複数レコード記憶する登録データ記憶手段と、
前記テスト実行手段は、前記登録データ記憶手段に記憶されている複数レコードの数分、前記テストの実行を行うことを特徴とする請求項2に記載の情報処理装置。
A registered data storage means for storing a plurality of records of data registered by the registration means, and a registered data storage means.
The information processing apparatus according to claim 2, wherein the test execution means executes the test for a number of records stored in the registered data storage means.
前記プログラム実行手段の実行手順に則って、前記テストの実行を行う時に、前記プログラムの実行時に出力される結果により処理を分ける条件を記憶する条件分岐記憶手段と、
前記テスト実行手段は、前記登録されたデータを入力してテストを実行し、前記条件分岐記憶手段で記憶された条件により、処理を分けることを特徴とする請求項2又は3に記載の情報処理装置。
Conditional branch storage means for storing conditions for dividing processing according to the result output when the program is executed when the test is executed according to the execution procedure of the program execution means.
The information processing according to claim 2 or 3, wherein the test execution means inputs the registered data, executes a test, and divides processing according to the conditions stored in the conditional branch storage means. apparatus.
情報処理装置における処理方法であって、
アプリケーションのIO定義情報とデータモデル情報、ビジネスプロセス情報からアプリケーションを生成するアプリケーション生成工程と、
前記アプリケーション生成工程により生成されたプログラムを実行させるプログラム実行工程と、
前記プログラム実行工程のプログラムの実行により生成された画面を表示させる実行画面表示制御工程
を有する情報処理装置において、
前記実行画面表示制御工程で表示された画面に対して、人間が指定した操作をコンピュータにより読み込み可能なデータとして登録する登録工程と、
前記実行画面表示制御工程で表示された画面と対応するプログラムを生成する際に用いたIO定義情報を取得するIO定義取得工程と、
前記登録工程により登録されたデータと対応する前記IO定義取得工程で取得したIO定義情報とを紐付ける登録データ紐付け工程と、
前記プログラム実行工程の実行手順に則って前記登録工程で登録されたデータを前記登録データ紐付け工程で紐付けたIO定義情報と共に登録する紐付け登録工程と、
前記IO定義情報の変更を受け付けると、前記紐付け登録工程に記憶された前記登録データ紐付け工程で紐付けられた該IO定義情報を変更する情報変更工程と
を実行することを特徴とする処理方法。
It is a processing method in an information processing device.
Application generation process that creates an application from application IO definition information, data model information, and business process information,
A program execution process for executing the program generated by the application generation process, and
In an information processing apparatus having an execution screen display control process for displaying a screen generated by executing a program in the program execution process.
A registration process for registering an operation specified by a human as data that can be read by a computer for the screen displayed in the execution screen display control process, and a registration process.
An IO definition acquisition process for acquiring IO definition information used when generating a program corresponding to the screen displayed in the execution screen display control process, and an IO definition acquisition process.
A registration data linking process that links the data registered in the registration process with the corresponding IO definition information acquired in the IO definition acquisition process, and
A link registration step of registering the data registered in the registration step together with the IO definition information linked in the registration data linking step according to the execution procedure of the program execution step, and a link registration step.
When the change of the IO definition information is accepted, a process characterized by executing an information change step of changing the IO definition information linked in the registration data linking step stored in the linking registration step. Method.
コンピュータを請求項1乃至4のいずれか1項に記載の情報処理装置として機能させるためのプログラム。 A program for operating a computer as an information processing device according to any one of claims 1 to 4.
JP2019158743A 2019-08-30 2019-08-30 Information processing device, processing method therein, and program Pending JP2021039433A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019158743A JP2021039433A (en) 2019-08-30 2019-08-30 Information processing device, processing method therein, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019158743A JP2021039433A (en) 2019-08-30 2019-08-30 Information processing device, processing method therein, and program

Publications (1)

Publication Number Publication Date
JP2021039433A true JP2021039433A (en) 2021-03-11

Family

ID=74848643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019158743A Pending JP2021039433A (en) 2019-08-30 2019-08-30 Information processing device, processing method therein, and program

Country Status (1)

Country Link
JP (1) JP2021039433A (en)

Similar Documents

Publication Publication Date Title
US9342237B2 (en) Automated testing of gesture-based applications
JP5258152B2 (en) System and method for selecting test case execution behavior for reproducible test automation
US9223647B2 (en) Automatic classification adjustment of recorded actions for automation script
US11561890B2 (en) Automated videogame testing
da Silva et al. Model-driven gui generation and navigation for android bis apps
JP6441786B2 (en) Test support apparatus, test support method, and program
Snell et al. Microsoft Visual Studio 2012 Unleashed: Micro Visua Studi 2012 Unl_p2
US11422783B2 (en) Auto-deployment of applications
US10394529B2 (en) Development platform of mobile native applications
JP7277694B2 (en) Information processing device, its control method and program
JP7212238B2 (en) Information processing device, its control method and program
JP2021039433A (en) Information processing device, processing method therein, and program
JP7256353B2 (en) Information processing system, its control method and program
JP7323755B2 (en) Information processing system, its control method and program
JP7311740B2 (en) Information processing system, its control method, and program
JP7319516B2 (en) Program, information processing device, and control method thereof
JP2016126700A (en) Program verification device, program verification method, and program verification program
JP2019153264A (en) Information processing apparatus, processing method of the same and program
JP2019192135A (en) Information processing device, processing method therefor and program
JP7219389B2 (en) Information processing device, its control method and program
JP2019192133A (en) Information processing device, processing method therefor and program
JP2019153265A (en) Information processing apparatus, processing method of the same and program
JP2019197261A (en) Information processor, method for controlling the same, and program
JP7231823B2 (en) Program, information processing system and its control method
KR101798867B1 (en) Method and apparatus for developing work system