JP2021039433A - Information processing device, processing method therein, and program - Google Patents
Information processing device, processing method therein, and program Download PDFInfo
- 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
Links
Images
Abstract
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,
特許文献1の技術は、表示される操作一覧から操作されるエレメントを選択して操作を記憶する処理を行っている。
The technique of
しかしながら、アプリケーション作成中に対応するエレメントの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.
以下、本発明の実施の形態を、図面を参照して詳細に説明する。 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
なお、本実施形態においては、情報処理装置101で生成するアプリケーションはWebアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Web技術による通信を利用するアプリケーションでなくてもよい。
In the present embodiment, the application generated by the
また、本実施形態においては、情報処理装置101はアプリケーションのプログラムを生成するとしたが、この方法に限定するものではなく、プログラムを生成することなく、アプリケーションサーバ102やクラウド環境等でアプリケーションが動作する様にデータやファイル等を生成することにより、アプリケーション(の動作環境)を構築する等であってもよい。
Further, in the present embodiment, the
アプリケーションサーバ102は、情報処理装置101で生成され配置されたアプリケーションを実行する。また、アプリケーションサーバ102は、データベースサーバ103に接続し、データベースのデータを操作することができる。
The
データベースサーバ103は、生成されたアプリケーションが利用するデータベースである。なお、開発時にも動作確認などのために利用してもよい。また、データベースサーバ103は、情報処理装置101や、アプリケーションサーバ102と同一の装置で構成されていてもよいし、LANなどのネットワーク105内に配置されてもよい。
The
アプリケーションクライアント104は、アプリケーションサーバ102と協調して情報処理装置101で開発したアプリケーションプログラムを動作させる、エンドユーザの操作端末である。この、アプリケーションクライアント104は、携帯端末などの情報処理装置であってもよい。
The
図示しないクラウド環境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
クラウド環境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
図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。
In FIG. 2, the
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
Further, the
RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
The
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイス、タッチパネルが挙げられる。
The
なお、入力部209がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。
When the
また、タッチパネルは、マルチタッチスクリーン等の、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。 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
外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。外部メモリ211には、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフレキシブルディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。
The
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォント展開(ラスタライズ)処理を実行することにより、出力部210上での表示を可能としている。また、CPU201は、出力部210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
The
通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
The communication I /
本発明を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
図3は、本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。
The
FIG. 3 is an example of a block diagram showing a software configuration according to an embodiment of the present invention.
情報処理装置101は、以下の機能部を備える。
The
アプリケーション生成部301は、アプリケーションを構築するためのIO定義情報とデータモデル情報、ビジネスプロセス情報を取得し、それらの情報からアプリケーションを生成する。
The
プログラム実行部302は、アプリケーション生成部301で生成されたプログラムを実行する。
The program execution unit 302 executes the program generated by the
実行画面表示制御部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
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
記憶部307は、プログラム実行部302による実行手順に則って登録部304で登録されたデータを登録データ紐付け部306で紐付けたIO定義情報と共に記憶する。
The storage unit 307 stores the data registered in the
情報変更部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
登録データ記憶部311は、登録部304により登録されたデータを複数レコード記憶する。テスト実行部309は、記憶した複数レコードの数分、テストの実行を行う。
The registration data storage unit 311 stores a plurality of records of the data registered by the
条件分岐記憶部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
情報処理装置101は、リポジトリ定義部401及びアプリケーション生成部410を備える。
The
情報処理装置101は、アプリケーションを開発する開発者により設定されたリポジトリ定義部401の各定義を用いて、アプリケーション生成部410によりアプリケーションを生成する。
The
リポジトリ定義部401には、アプリケーション定義402、入出力定義403、データモデル定義404、ビジネスプロセス定義405、データベース定義406が記憶されている。これら402〜406の定義は、アプリケーション構築ツールを介して、開発者によって入力設定または配置される。
The
入出力定義403は、アプリケーション画面に配置される各種項目のレイアウトの定義情報を保持する。入出力定義403は、入力項目定義情報及び出力項目定義情報を含む。入力項目定義情報は、生成されたアプリケーションの画面を介して当該アプリケーションのエンドユーザが入力する入力項目を定義した情報である。出力項目定義情報は、生成されたアプリケーションの画面に出力する出力項目を定義した情報である。以降、「入力項目定義情報」及び「出力項目定義情報」をまとめて「入出力項目定義情報」と呼ぶ。
The input /
なお、本実施形態においては、「入力項目定義情報は、生成されたアプリケーションの画面を介して当該アプリケーションのエンドユーザが入力する入力項目を定義した情報」「出力項目定義情報は、生成されたアプリケーションの画面に出力する出力項目を定義した情報」としたが、これらに限定するものではなく、例えば、画面を有さないバッチや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
ビジネスプロセス定義405は、アプリケーションにおけるデータを処理するためのロジックの定義情報を保持する。
The
データベース定義406は、アプリケーションが接続するデータベースに係る情報(データベースサーバ103のIPアドレス、接続ユーザ、接続パスワード等)を定義する。
アプリケーション生成部410は、アプリケーション生成用のリポジトリ定義解析部411を用いてリポジトリ定義部401に記憶されている各定義を解析し、アプリケーションコード生成部412及びソースコードコンパイル部413を介し、コンパイル済Java(登録商標)コード441及びHTML/JSP/JavaScript(登録商標)442を含むアプリケーションを生成する。すなわち、アプリケーション生成部410は、設定された定義を用いて、アプリケーションとして用いられるプログラムを生成する手段の一例である。
The
リポジトリ定義エディタ部420は、リポジトリ定義参照部421によってリポジトリ定義部401を解析し、テストケース定義407の場合は、テストケース定義エディタ部422を用いて、それ以外の定義の時はそれぞれに対応したその他定義エディタ部423を用いてリポジトリ定義を変更及び参照する。
The repository
テスト実行部430は、アプリケーション生成部410により生成されたアプリケーションをRPAによってテスト実行させる。テストケース定義受信部431によってテストケース定義407を取得し、テストケース定義解釈部433を用いてその内容を解析する。
The
テスト実行部(インタープリタ)434は、テストケース定義解釈部433を用いて解釈した内容からテスト実行準備部432を用いてテストの事前処理を行い、アプリケーションコードアクセス部436を用いてアプリケーションコードをテスト実行する。
The test execution unit (interpreter) 434 performs test pre-processing using the test
テストがすべて完了すると、テスト実行部(インタープリタ)435はテスト終了処理部437を用いてテスト終了処理を行う。
When all the tests are completed, the test execution unit (interpreter) 435 performs the test end processing using the test
最後に、テスト結果取得部435を用いて、テスト実行の結果を取得し、テスト結果表示部438に表示する。
Finally, the test
以上で、図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
アプリケーション生成のフローチャートについて説明する。 The flowchart of application generation will be described.
ステップS501において、情報処理装置101は、アプリケーション定義402の設定を受け付ける。具体的には、アプリケーション構築ツールの画面を介して、アプリケーション開発者から入出力定義403、データモデル定義404、ビジネスプロセス定義405及びデータベース定義406の設定を受け付ける。
In step S501, the
ステップS501にて、受け付けたアプリケーション定義402、入出力定義403、データモデル定義404、ビジネスプロセス定義405及びデータベース定義406の設定は、リポジトリ定義部401にXMLファイル形式で記憶する。
The settings of the
ステップS502において、情報処理装置101は、アプリケーション生成の指示を受け付ける。
In step S502, the
ステップS503において、情報処理装置101は、リポジトリ定義部401からアプリケーション定義402を取得する。リポジトリ定義解析部411は、読み込んだ定義を解析したうえでROM203に記憶しておき、解析された定義は各生成部から適宜参照される。
In step S503, the
ステップS504において、情報処理装置101は、リポジトリ定義部401からデータモデル定義404を取得する。
In step S504, the
ステップS505において、情報処理装置101は、リポジトリ定義部401から入出力定義403を取得する。
In step S505, the
ステップS506において、情報処理装置101は、リポジトリ定義部401からビジネスプロセス定義405を取得する。
In step S506, the
ステップS507において、情報処理装置101は、リポジトリ定義部401からデータベース定義406を取得する。すなわち、ステップS501〜S507は、アプリケーションを構築するための定義情報を取得する処理の一例を示すステップである。
In step S507, the
ステップS508において、情報処理装置101は、アプリケーション生成部410を用いて、Webアプリケーションに用いるプログラムを生成する。すなわち、ステップS508は、アプリケーションのプログラムを生成する処理の一例を示すステップである。また、ステップS508は、アプリケーションを構築する処理の一例を示すステップである。
In step S508, the
ステップS509において、情報処理装置101は、テストケース定義を生成する(詳細は、図7の説明にて後述する)。すなわち、ステップS509は、取得された定義情報を用いて、テストケースを生成する処理の一例を示すステップである。また、ステップS509は、受け付けた定義に基づき、テストケースを生成する処理の一例を示すステップである。
In step S509, the
ステップS510において、情報処理装置101は、ステップS509にて生成したテストケース定義に用いてテストを実行する(詳細は、図8の説明にて後述する)。すなわち、ステップS510は、定義情報を用いて生成されたテストケースに基づき、アプリケーションに係るテストを実行する処理の一例を示すステップである。また、ステップS510は、定義情報を用いて生成されたテストケースに基づき、定義情報が正しく定義されているか否かテストを実行する処理の一例を示すステップである。
In step S510, the
この段階ではアプリケーションをアプリケーションサーバ102に配置(デプロイ)していないため、以上により、アプリケーションサーバ102を用意することなく、テストを実行することができる。
Since the application is not placed (deployed) on the
また、以上により、アプリケーションアーカイブファイルの生成、アプリケーションサーバ102への転送、デプロイをすることなく、テストを実行することができるため、テストにかかる時間を削減することができ、開発とテストをシームレスに何度も繰り返すことができる。
In addition, as described above, the test can be executed without generating the application archive file, transferring to the
また、以上により、情報処理装置101だけでアプリケーションサーバ102にて動作するアプリケーションのテストを実行することができるため、複数人の開発者が同時に並行してテストを行うことができる。
Further, as described above, since the test of the application running on the
ステップS511において、情報処理装置101は、ステップS510にて実行したテストにおける失敗したテストケースの有無を判定し、有る場合は本フローチャートを終了し、無い場合はステップS512に進む。すなわち、ステップS511は、テストの結果に従って、アプリケーションの構築をする/しないを制御する処理の一例を示すステップである。
In step S511, the
ステップS512において、情報処理装置101は、ステップS508にて生成したプログラムをアプリケーションサーバ102に配置(デプロイ)する。
In step S512, the
これにより、失敗テストが無い状態のアプリケーションをサーバに構築する仕組みを提供することができる。よって、テストに時間がかかってしまう場合、夜間にテストを実行させ、テストが成功した場合は、続けてアプリケーションサーバ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
また、失敗テストが有る状態のアプリケーションはサーバに構築することが無くなるため、不具合を含んだアプリケーションをリリースすることがなくなり、アプリケーションが不整合なデータを出力することもなくなるため、結果として、信頼性の高いアプリケーションを運用することができ、エンドユーザの満足度も向上させることができる。 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
ステップS702において、情報処理装置101は、外部メモリ211にアプリケーション定義402が作成済か否かを判定する。作成済の場合はステップS703に進み、未作成の場合は本フローチャートを終了する。
In step S702, the
ステップS703において、情報処理装置101は、新規テストケース作成ダイアログ1102(図11)を表示し、新規のテストケースの生成に必要な「コード名」「名前」「対象アプリケーション1103」の入力を受け付け、受け付けた情報に基づき、外部メモリ211にテストケース定義407を新規に作成する。
In step S703, the
ステップS704において、情報処理装置101は、ステップS703にて作成されたテストケースのテスト手順を入力するためのテスト手順入力画面1201(図12)表示する。この時点では、テストケースにテスト手順が登録されていない状態であるため、テスト手順入力画面1201の「テスト手順」タブを選択した場合、テスト手順を設定するエディタ部には何も表示されていない。
In step S704, the
ステップS705において、情報処理装置101は、ステップS703にて入力を受け付けた「対象アプリケーション1103」に属す入出力定義403を外部メモリ211から取得する。すなわち、ステップS705は、アプリケーションを構築するための定義情報を取得する処理の一例を示すステップである。
In step S705, the
ステップS706において、情報処理装置101は、登録するテスト手順の数だけステップS707〜S712を繰り返す。
In step S706, the
ステップS707において、情報処理装置101は、テスト実行時に疑似的に行う命令の選択を受け付ける。命令の種類は、例えば、「画面表示」「行追加」「項目値入力」「項目値検証」の他に、「繰り返し処理」「アクション実行」「判定」等がある。
In step S707, the
通常、スクラッチ開発によって構築されたアプリケーションのテストは、テスト要員による「画面表示」「行追加」「項目値入力」等の操作及び目視による「項目値検証」を必要とするが、本実施形態におけるテストは、テスト要員が行う操作及び目視をステップ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
ステップS709において、情報処理装置101は、ステップS708にて表示した選択肢から、テスト実行に用いる入出力定義403の選択を受け付ける。
In step S709, the
ステップS710において、情報処理装置101は、ステップS709にて選択を受け付けた入出力定義403に属す入出力項目を選択肢として表示する(図12の1204)。例えば、ステップS707にて、命令に「項目値入力」が選択された場合は、入出力項目のうち値を入力できる項目だけに絞った選択肢を表示する。
In step S710, the
ステップS711において、情報処理装置101は、ステップS710にて表示した選択肢から、テスト実行に用いる入出力項目の選択を受け付ける。
In step S711, the
ステップS712において、情報処理装置101は、テストの命令実行時に用いる入出力項目への引数の入力を受け付ける。なお、「引数」とは、テスト手順を実行するときに、入出力定義などの定義情報に対して設定するテストデータ(RPAデータ)のことであり、図6の602のような入力画面でそれぞれの引数(RPAデータ)が入力される。本発明の特徴である、入出力定義403の定義情報が変更される場合のテストケース手順更新の例を図6と図12、図13を参照して説明する。
In step S712, the
図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 /
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"
これらのデータを反映したテストケースの手順を記憶したスクリプトを図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"
命令が図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
具体的には、テストケース手順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
なお、本実施形態においては、テストケース定義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
ステップS802において、情報処理装置101は、テスト実行対象のテストケース定義に係るアプリケーション1103(図11)のアプリケーションコード440が作成済か否かを判定する。作成済の場合はステップS803に進み、未作成の場合は本フローチャートを終了する。
In step S802, the
ステップS803において、情報処理装置101は、テスト実行部(インタープリタ)434とテストケース定義解釈部433を用いて、ステップS801で実行メニュー1401の押下時に選択されていたテストケースに対応するテストケース定義407(図16の1600)を外部メモリ211から取得する。
In step S803, the
ステップS804において、情報処理装置101は、テスト実行部(インタープリタ)434とテストケース定義解釈部433を用いて、ステップS803にて取得したテストケース定義407(図16の1600)に含まれるテストケース数及びテスト手順数をカウントする。
In step S804, the
ステップS805において、情報処理装置101は、テストビュー1403(図14)を表示する。
In step S805, the
ステップS806において、情報処理装置101は、テスト進捗バー1404(図14)を空の状態で表示する。
In step S806, the
ステップS807において、情報処理装置101は、テスト情報のテストツリーペイン1406(図14)に、ステップS803及びステップS804でテスト対象としたテストケース名(例:ユーザ登録フォームチェック、商品登録フォームチェック)及びテスト手順(1.画面表示、2.行追加、3.…)を表示する。
In step S807, the
ステップS808において、情報処理装置101は、テスト情報の詳細ペイン1407(図14)にメッセージ「実行中…」を表示する。
In step S808, the
ステップS809において、情報処理装置101は、テスト実行準備部432を用いて、テスト実行前準備を行う。具体的には、テスト実行前準備では、セッション、クッキー及びスレッド等の生成を行い、ユーザが実際にブラウザを用いてアプリケーションを実行した場合と同様のアプリケーションデータを生成する。これにより、ブラウザ、エンドユーザ操作及びアプリケーションサーバ等を用いなくても、アプリケーション構築ツールにおいて、テストを効率的に行うことができる。
In step S809, the
ステップS901において、情報処理装置101は、テスト実行対象のテストケースの分だけ、ステップS902〜S1001を繰り返す。
In step S901, the
ステップS902において、情報処理装置101は、テスト実行対象のテストケースのテスト手順の分だけ、ステップS903〜S915、S921又はS925を繰り返す。
In step S902, the
ステップS903において、情報処理装置101は、強制終了ボタン1405(図14)の押下を受け付けたか否かを判断し、押下された場合はステップS904へ進み、押下されていない場合はステップS905へ進む。
In step S903, the
ステップS904において、情報処理装置101は、テスト進捗バー1404を灰色100%で更新し、未実行のテストケース又はテスト手順がある場合であっても中断し、本フローチャートを終了する。
In step S904, the
ステップS905において、情報処理装置101は、テストケース定義解釈部433を用いて、テスト手順情報1203を取得する。次に、ステップS905−1の処理へと遷移する。
In step S905, the
ステップS905−1において、情報処理装置101は、制御の処理(条件分岐や繰り返しの処理)を実行する。詳細は、図17〜図21の説明にて後述する。ステップS905−1の処理後、ステップS906へと処理を遷移する。
In step S905-1, the
ステップS906において、情報処理装置101は、テスト手順情報のテスト命令が入力系か否かを判定し、入力系の場合はステップS907へ進み、入力系でない場合はステップS908へ進む。
In step S906, the
ステップS907において、情報処理装置101は、アプリケーションコードアクセス部436を用いて、生成済のアプリケーションコード440へ疑似的に値の入力を実行する。その後、アプリケーションコードアクセス部を用いて、アプリケーションコード440から実行結果を受け取り、テスト結果取得部435を用いてテスト結果を得る。すなわち、ステップS907は、ステップS712にて受け付けた情報を用いて、テストを実行する処理の一例を示すステップである。
In step S907, the
ステップS908において、情報処理装置101は、テスト手順情報のテスト命令が実行系か否かを判定し、実行系の場合はステップS909へ進み、実行系でない場合はステップS910へ進む。
In step S908, the
ステップS909において、情報処理装置101は、アプリケーションコードアクセス部436を用いて、生成済のアプリケーションコード440へ疑似的にアクションを実行するリクエストを送る。その後、アプリケーションコードアクセス部436を用いて、アプリケーションコード440から実行結果を受け取り、テスト結果取得部435を用いてテスト結果を得る。
In step S909, the
ステップS910において、情報処理装置101は、アプリケーションコードアクセス部436を用いて、生成済のアプリケーションコード440から検証対象の情報を取得する。
In step S910, the
ステップS911において、情報処理装置101は、検証対象の情報(検証対象が定義情報に含まれる項目である場合、当該項目に係る情報(例;当該項目が持つ値や属性値))が条件(例;ステップS712にて入力を受け付けた引数の値)に合致するか否かを判定し、検証が成功(条件に合致する)の場合はステップS916へ進み、失敗(条件に合致しない)の場合はステップS912へ進む。
In step S911, the
例えば、図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
ステップS913において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、検証失敗数を更新する(図15の1503)。
In step S913, the
ステップS914において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、テスト手順数を更新する(図15の1502)。
In step S914, the
ステップS915において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、進捗バーを赤色で更新する(図15の1505)。
In step S915, the
ステップS916において、情報処理装置101は、アプリケーションエラーが発生していないことを確認する。発生していなければステップS922へ進み、エラーが発生している場合は、ステップS917へ進む。
In step S916, the
ステップS917において、情報処理装置101は、テスト手順のステータスを“テスト失敗”としてRAM202に記憶する。
In step S917, the
ステップS918において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、テスト失敗数を更新する(図15の1504)。
In step S918, the
ステップS919において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、テスト手順数を更新する(図15の1502)。
In step S919, the
ステップS920において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、進捗バーを赤色で更新する(図15の1505)。
In step S920, the
ステップS921において、情報処理装置101は、テスト結果表示部438を用いて、テストケース数を更新する(図15の1501)。その後、未実施のテスト手順が実行中のテストケースに含まれている場合であっても、それらの実行はせず、次に実行予定のテストケースを実行する。ステップS902に戻る。
In step S921, the
ステップS922において、情報処理装置101は、テスト手順のステータスを“成功”として登録する(図15の1507)。
In step S922, the
ステップS923において、情報処理装置101は、テスト結果表示部438を用いて、テスト手順数を更新する(図15の1502)。
In step S923, the
ステップS924において、情報処理装置101は、これまでのテスト手順のステータスにテスト失敗及び検証失敗の両方が0件であるか否かを判定し、正の場合はステップS925に進み、偽の場合はステップS925を行わない。
In step S924, the
ステップS1001において、情報処理装置101は、テスト結果表示部438を用いて、テストケース数を更新する(図15の1501)。
In step S1001, the
ステップS1002において、情報処理装置101は、テスト終了処理部437を用いて、テスト実行を終了する。具体的には、テスト実行終了処理では、ステップS809にて生成したセッション、クッキー及びスレッド等をクローズする。
In step S1002, the
ステップS1003において、情報処理装置101は、テスト結果表示部438を用いて、テスト実行時間を更新する(図15の1506)。
In step S1003, the
ステップS1004において、情報処理装置101は、テスト結果取得部435とテスト結果表示部438を用いて、テスト中に出力されるログをアプリケーションログビューに表示する(図15の1509)。
In step S1004, the
以上により、テスト対象の画面や処理に到達するまでに必要な画面や処理(例えば、ログイン処理やメニュー画面等)がテストできる程度に構築されていない状態であっても、アプリケーション構築ツールにおいて、テスト対象の定義についてのみテストを行うことができるため、テストを効率的に行うことができる。つまり、早い段階でテスト工程を開始することができるため、高品質なアプリケーションを構築することができる。 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”
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
1710において、最初の行で、情報処理装置101は、まず引数としてDATA.CSVファイル(図22)の「ORDER_NUM」の値を「INPUT」という変数として取得する処理を「繰り返し処理」として開始する(ステップS2001〜S2003)。図22は、連続でテストケースを実行するためにユーザにより予め設定されているRPAデータの例である。
In 1710, in the first line, the
次の行の処理に移行すると、情報処理装置101は、「SP注文検索画面」を「画面表示」する。
When the process shifts to the processing of the next line, the
次に、アプリケーション内の「注文書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
次に、「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
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
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
次に、「繰り返し処理」を終了する処理に遷移し(ステップ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
図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
Claims (6)
前記アプリケーション生成手段により生成されたプログラムを実行させるプログラム実行手段と、
前記プログラム実行手段のプログラムの実行により生成された画面を表示させる実行画面表示制御手段
を有する情報処理装置において、
前記実行画面表示制御手段で表示された画面に対して、人間が指定した操作をコンピュータにより読み込み可能なデータとして登録する登録手段と、
前記実行画面表示制御手段で表示された画面と対応するプログラムを生成する際に用いた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.
前記テスト実行手段により実行されるテストの結果に従って、前記アプリケーションを生成する情報が正しく定義されているかを判断する判断手段と、
を有することを特徴とする請求項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.
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) |
-
2019
- 2019-08-30 JP JP2019158743A patent/JP2021039433A/en active Pending
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 |