JP2019197259A - Information processor, method for controlling the same, and program - Google Patents

Information processor, method for controlling the same, and program Download PDF

Info

Publication number
JP2019197259A
JP2019197259A JP2018089331A JP2018089331A JP2019197259A JP 2019197259 A JP2019197259 A JP 2019197259A JP 2018089331 A JP2018089331 A JP 2018089331A JP 2018089331 A JP2018089331 A JP 2018089331A JP 2019197259 A JP2019197259 A JP 2019197259A
Authority
JP
Japan
Prior art keywords
test
definition
unit
processing apparatus
application
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
JP2018089331A
Other languages
Japanese (ja)
Inventor
知子 石田
Tomoko Ishida
知子 石田
文洋 柴本
Fumihiro Shibamoto
文洋 柴本
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 JP2018089331A priority Critical patent/JP2019197259A/en
Publication of JP2019197259A publication Critical patent/JP2019197259A/en
Pending legal-status Critical Current

Links

Images

Abstract

To provide a mechanism for running a plurality of test steps at one time.SOLUTION: The information processor for constructing an application includes: database selection receiving means for receiving a selection of a database from the database definition for constructing an application; test suit generation means for generating a plurality of test suits to be connected to different databases, which are databases selected by the database selection receiving means; and test execution means for executing a test related to an application, using data in the databases as the destinations of connection, on the basis of a plurality of test suits generated by the test suit generation means.SELECTED DRAWING: Figure 17

Description

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

従来、設定された定義に基づきアプリケーションを構築(生成)するツールやサービスが存在する。このようなツールやサービスを利用して構築したアプリケーションであっても、アプリケーション定義の設定ミスにより予想外の動作をすることがあるため、テスト工程を省略することはできない。また、アプリケーションが大規模になるに従い、テスト工程の数は肥大化する傾向となる。特に、大規模なアプリケーションの場合、複数のテスト工程を並列して同時に実行することによりテストにかかる時間を低減できることが好ましい。   Conventionally, there are tools and services for building (generating) an application based on a set definition. Even an application constructed using such tools and services may be operated unexpectedly due to an application definition setting error, so the test process cannot be omitted. Also, as applications become larger, the number of test processes tends to increase. In particular, in the case of a large-scale application, it is preferable that the time required for testing can be reduced by simultaneously executing a plurality of test processes in parallel.

特許文献1には、登録されたテストケースに基づきテスト用のプログラムを生成する仕組みが開示されている。   Patent Document 1 discloses a mechanism for generating a test program based on a registered test case.

特開2010−237841号公報JP 2010-237841 A

しかしながら、特許文献1に記載の技術では、複数のテストを並列に同時実行する場合について何ら考慮されていない。特に、複数のテストを行う際に同一のデータベースに接続すると、1のテストの実行中にデータが書き換えられてしまい、正確なテスト結果が得られないおそれがあった。   However, in the technique described in Patent Document 1, no consideration is given to a case where a plurality of tests are simultaneously executed in parallel. In particular, when connecting to the same database when performing a plurality of tests, the data is rewritten during execution of one test, and there is a possibility that an accurate test result cannot be obtained.

そこで本発明は、上記の課題に鑑みてなされたものであり、複数のテスト工程を並行して行うための仕組みを提供することを目的とする。   Therefore, the present invention has been made in view of the above problems, and an object thereof is to provide a mechanism for performing a plurality of test processes in parallel.

本発明の目的を達成するために、例えば、本発明の情報処理装置は、以下の構成を有する。すなわち、アプリケーションを構築する情報処理装置であって、前記アプリケーションを構築するためのデータベース定義からデータベースの選択を受け付けるデータベース選択受付手段と、前記データベース選択受付手段で選択されたデータベースを接続先とするテストスイートを生成するテストスイート生成手段と、前記テストスイート生成手段により生成されたテストスイートに基づいて、前記接続先のデータベースのデータを用いて前記アプリケーションに係るテストを実行するテスト実行手段を備えることを特徴とする。   In order to achieve the object of the present invention, for example, an information processing apparatus of the present invention has the following configuration. That is, an information processing apparatus for building an application, wherein a database selection receiving unit that receives a database selection from a database definition for building the application, and a test that uses a database selected by the database selection receiving unit as a connection destination A test suite generating unit that generates a suite; and a test execution unit that executes a test related to the application using data of the connection destination database based on the test suite generated by the test suite generating unit. Features.

本発明によれば、複数のテスト工程を並行して行うための仕組みを提供することが可能となる。   According to the present invention, it is possible to provide a mechanism for performing a plurality of test processes in parallel.

本発明の一実施形態に係るシステムの構成図の一例である。It is an example of the block diagram of the system which concerns on one Embodiment of this invention. 情報処理装置、アプリケーションサーバ、データベースサーバ、アプリケーションクライアント、として適用可能な各ハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of each hardware constitutions applicable as an information processing apparatus, an application server, a database server, and an application client. ソフトウェア構成を示すブロック図の一例である。It is an example of a block diagram showing a software configuration. 本発明の一実施形態に係るシステムの構成図である。1 is a configuration diagram of a system according to an embodiment of the present invention. アプリケーション生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of an application production | 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 test case definition production | generation. テスト実行のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of test execution. テスト実行のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of test execution. テスト実行のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of test execution. テストケース作成メニューの一例を示す図である。It is a figure which shows an example of a test case creation menu. テストケース手順入力画面の一例を示す図である。It is a figure which shows an example of a test case procedure input screen. テストケース作成画面の一例を示す図である。It is a figure which shows an example of a test case creation screen. テスト実行画面の一例を示す図である。It is a figure which shows an example of a test execution screen. テスト結果画面の一例を示す図である。It is a figure which shows an example of a test result screen. テストケース定義情報の一例を示す図である。It is a figure which shows an example of test case definition information. テストスイート定義作成のフローチャートの一例と示す図である。It is a figure shown as an example of the flowchart of test suite definition creation. DB別テストスイート用アプリケーション生成のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of application production | generation for DB test suites. テストスイート作成メニュー画面の一例を示す図である。It is a figure which shows an example of a test suite creation menu screen. テストスイート実行のフローチャートの一例を示す図である。It is a figure which shows an example of the flowchart of test suite execution. テストスイート作成画面の一例を示す図である。It is a figure which shows an example of a test suite creation screen. テストスイート作成画面の一例を示す図である。It is a figure which shows an example of a test suite creation screen. データベース定義画面の一例を示す図である。It is a figure which shows an example of a database definition screen.

以下、本発明の実施の形態を、図面を参照して詳細に説明する。   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 an embodiment of the present invention.

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

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

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

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

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

クラウド環境106は、動的にスケーラブルかつ仮想化されたリソースを供給することが可能な環境である。   The cloud environment 106 is an environment that can supply dynamically scalable and virtualized resources.

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

クラウド環境106内の仮想データベースサーバ108は、生成されたアプリケーションが利用するデータベースである。なお、仮想データベースサーバ108は、開発時にも動作確認などのために利用してもよい。なお、クラウド環境106は動的にスケーラブルかつ仮想化されたリソースを供給することが可能な環境であるとしたが、本実施形態においては、この特徴を備えている必要はなく、クラウド環境106が仮想アプリケーションサーバ107及び仮想データベースサーバ108の動作を提供するのであれば、動的にスケーラブルでなくても、仮想化されたリソースを供給できなくてもよい。   The virtual database server 108 in the cloud environment 106 is a database used by the generated application. Note that the virtual database server 108 may be used for operation confirmation during development. Although the cloud environment 106 is an environment that can supply dynamically scalable and virtualized resources, in this embodiment, it is not necessary to have this feature, and the cloud environment 106 If the operations of the virtual application server 107 and the virtual database server 108 are provided, the virtualized resource may not be supplied even if it is not dynamically scalable.

図2は、情報処理装置101、アプリケーションサーバ102、データベースサーバ103、アプリケーションクライアント104として適用可能な各ハードウェア構成の一例を示すブロック図である。   FIG. 2 is a block diagram illustrating an example of each hardware configuration applicable as the information processing apparatus 101, application server 102, database server 103, and application client 104.

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

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

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

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

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

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

出力コントローラ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. In addition, the display of the notebook-type personal computer integrated with the main body shall also be 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 a 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, and smart media.

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

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

本発明の実施形態を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。   A program 212 for realizing the embodiment of 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 necessary.

図3は、本発明の実施形態のソフトウェア構成を示すブロック図の一例である。   FIG. 3 is an example of a block diagram illustrating a software configuration according to the embodiment of this invention.

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

定義情報取得部301は、アプリケーションを構築するための定義情報を取得する機能部である。ここで、定義情報は、リポジトリ定義部401に設定された、アプリケーション定義402、入出力定義403、データモデル定義404、ビジネスプロセス定義405、データベース定義406(図4参照)を含む。   The definition information acquisition unit 301 is a functional unit that acquires definition information for building an application. Here, the definition information includes an application definition 402, an input / output definition 403, a data model definition 404, a business process definition 405, and a database definition 406 (see FIG. 4) set in the repository definition unit 401.

テスト実行部302は、定義情報取得部301により取得された定義情報を用いて生成されたテストケースに基づき、アプリケーションに係るテストを実行する機能部である。言い換えると、テスト実行部302は、定義情報取得部301により取得された定義情報を用いて生成されたテストケースに基づき、定義情報が正しく定義されているか否かのテストを実行する機能部であるともいえる。また、テスト実行部302は、情報受付部303により受け付けた情報を用いて、テストを実行する機能部である。   The test execution unit 302 is a functional unit that executes a test related to an application based on a test case generated using the definition information acquired by the definition information acquisition unit 301. In other words, the test execution unit 302 is a functional unit that executes a test to determine whether the definition information is correctly defined based on the test case generated using the definition information acquired by the definition information acquisition unit 301. It can be said. The test execution unit 302 is a functional unit that executes a test using the information received by the information reception unit 303.

また、テスト実行部302は、生成されたテストスイートに基づき、接続先のデータベースのデータを用いてアプリケーションに係るテストを実行する機能部である。なお、テスト実行部302は、複数のテストスイートを並列に実行させ、テストを行うことが可能である。   The test execution unit 302 is a functional unit that executes a test related to an application using data in a connection destination database based on the generated test suite. The test execution unit 302 can perform a test by executing a plurality of test suites in parallel.

情報受付部303は、テスト実行部302により実行されるテストに用いる情報を受け付ける機能部である。情報受付部303は、一態様として、表示制御部310により出力部210で選択可能に表示された各種情報の選択を受け付ける。具体的には、情報受付部303は、テストに用いるテストケースの選択を受け付ける。また、情報受付部303は、テストに用いるテストスイートに設定するテストケースの選択を受け付ける。さらに、情報受付部303は、設定されたテストケースあるいは、テストスイートに基づきアプリケーションに係るテストの開始を受け付ける。そして、情報受付部303は、図21における実行ボタン2105が選択されたか否かを受け付ける。つまり、情報受付部303は、テストの開始を受け付ける機能を備える(テスト開始受付部)。また、情報受付部303は、データベース定義からデータベースの選択を受け付ける機能を備える(データベース選択受付手段)。   The information reception unit 303 is a functional unit that receives information used for a test executed by the test execution unit 302. The information reception part 303 receives selection of the various information displayed on the output part 210 so that selection is possible by the display control part 310 as one aspect | mode. Specifically, the information reception unit 303 receives selection of a test case used for a test. In addition, the information reception unit 303 receives selection of a test case set in a test suite used for a test. Furthermore, the information reception unit 303 receives the start of the test related to the application based on the set test case or test suite. And the information reception part 303 receives whether the execution button 2105 in FIG. 21 was selected. That is, the information reception unit 303 has a function of receiving a test start (test start reception unit). The information receiving unit 303 has a function of receiving a database selection from the database definition (database selection receiving means).

テストケース定義受付部304は、テストケースの定義を受け付ける機能部である。   The test case definition accepting unit 304 is a functional unit that accepts test case definitions.

テストケース生成部305は、テストケース定義受付部304により受け付けた定義に基づき、テストケースを生成する機能部である。テストケース生成部305は、代入値入力受付部306により受け付けた値を項目に対して代入することを含むテストケースを生成する機能部である。テストケース生成部305は、予想値入力受付部307により受け付けた値と項目が持つ値とを比較することを含むテストケースを生成する機能部である。   The test case generation unit 305 is a functional unit that generates a test case based on the definition received by the test case definition reception unit 304. The test case generation unit 305 is a functional unit that generates a test case including substituting the value received by the substitution value input reception unit 306 for the item. The test case generation unit 305 is a functional unit that generates a test case including comparing the value received by the predicted value input reception unit 307 with the value of the item.

代入値入力受付部306は、定義情報取得部301により取得された定義情報に含まれる項目に対して代入する値の入力を受け付ける機能部である。   The substitution value input reception unit 306 is a functional unit that receives an input of a value to be substituted for an item included in the definition information acquired by the definition information acquisition unit 301.

予想値入力受付部307は、定義情報取得部301により取得された定義情報に含まれる項目が持つと予想される値の入力を受け付ける機能部である。   The expected value input receiving unit 307 is a functional unit that receives an input of a value expected to be included in an item included in the definition information acquired by the definition information acquiring unit 301.

テスト成否判定部308は、予想値入力受付部307により受け付けた値と項目が持つ値とを比較した結果に基づいて、テスト実行部302により実行されるテストの成否を判定する機能部である。   The test success / failure determination unit 308 is a functional unit that determines the success / failure of the test executed by the test execution unit 302 based on the result of comparing the value received by the predicted value input reception unit 307 with the value of the item.

アプリケーション構築制御部309は、テスト成否判定部308によりテストの結果に従って、アプリケーションの構築をする/しないを制御する機能部である。   The application construction control unit 309 is a functional unit that controls whether or not the application is constructed according to the test result by the test success / failure judgment unit 308.

表示制御部310は、出力部210(例えば、ディスプレイの画面上の表示)へ表示される内容を制御する機能部である。本実施形態において、表示制御部310は、後述する、図6、図11〜15、図19、図21〜23等のテストケース、およびテストスイートの生成から実行に係る各画面の表示を制御する。つまり、表示制御部310は、図4で説明する各エディタ部により生成される画面を表示する機能を備える。また、テストスイートを用いてテストする場合に、表示制御部310は、テストスイート生成部311で生成された複数のテストケースのうち所定の条件に対応するテストケースを選択可能に表示するように制御する。ここで、所定の条件とは、ユーザにより選択されたテストケースの表示内容を絞り込むための条件であり、例えば、定義情報単位、あるいは、生成した日時に基づいて決定される条件である。なお、具体的な処理については、図17〜23を用いて後述する。   The display control unit 310 is a functional unit that controls the content displayed on the output unit 210 (for example, display on the display screen). In the present embodiment, the display control unit 310 controls display of each screen related to generation and execution of test cases and test suites such as FIGS. 6, 11 to 15, 19, and 21 to 23 described later. . That is, the display control unit 310 has a function of displaying a screen generated by each editor unit described in FIG. Further, when testing using a test suite, the display control unit 310 performs control so that a test case corresponding to a predetermined condition among a plurality of test cases generated by the test suite generation unit 311 can be displayed in a selectable manner. To do. Here, the predetermined condition is a condition for narrowing down the display contents of the test case selected by the user, for example, a condition determined based on the definition information unit or the generated date and time. Specific processing will be described later with reference to FIGS.

テストスイート生成部311は、テストスイートを生成する機能部である。また、テストスイート生成部311は、ユーザの操作に応じて、テストケース生成部305で生成されたテストケースをテストスイートに設定する機能を備える。テストスイートは、1または複数のテストケースを1単位としたファイルである。テストスイートは、目的別に設定された複数のテストケースをまとめて管理をすることが可能となる。そのため、ユーザは、大規模なアプリケーションを構築する場合でも、目的単位のテストスイートを生成しておくことで、テストの内容を容易に管理することができる。   The test suite generation unit 311 is a functional unit that generates a test suite. In addition, the test suite generation unit 311 has a function of setting the test case generated by the test case generation unit 305 as a test suite in accordance with a user operation. The test suite is a file in which one or a plurality of test cases are taken as one unit. The test suite can collectively manage a plurality of test cases set for each purpose. Therefore, even when a large-scale application is constructed, the user can easily manage the contents of the test by generating a test suite for each target unit.

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

図4は、情報処理装置101、アプリケーションサーバ102及びアプリケーションクライアント104の構成図である。   FIG. 4 is a configuration diagram of the information processing apparatus 101, the application server 102, and the application client 104.

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

情報処理装置101は、アプリケーションを開発する開発者により設定されたリポジトリ定義部401の各定義を用いて、アプリケーション生成部410によりアプリケーションを生成する。   The information processing apparatus 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の定義は、アプリケーション構築ツールを介して、開発者によって入力設定または配置される。さらに、リポジトリ定義部401には、テストケース定義407、プレビューデータ408、テストスイート定義409が記憶されている。   The repository definition unit 401 stores an application definition 402, an input / output definition 403, a data model definition 404, a business process definition 405, and a database definition 406. These definitions of 402 to 406 are input or set by the developer via the application construction tool. Further, the repository definition unit 401 stores a test case definition 407, preview data 408, and a test suite definition 409.

入出力定義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 an input item to be input by the end user of the application via the generated application screen. The output item definition information is information defining output items to be output to the generated application screen. Hereinafter, “input item definition information” and “output item definition information” are collectively referred to as “input / output item definition information”.

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

データモデル定義404は、データベースのテーブルの項目の定義情報を保持する。入出力定義403の各項目には、データモデル定義404の項目を対応づけることができる。   The data model definition 404 holds definition information of items in the 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 logic definition information for processing data in the application.

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

テストケース定義407は、テストケースの定義情報を保持する。   The test case definition 407 holds test case definition information.

プレビューデータ408は、リポジトリ定義部401をプレビューする際のデータを保持する。   The preview data 408 holds data for previewing the repository definition unit 401.

テストスイート定義409は、テストスイートの定義情報を保持する。   The test suite definition 409 holds test suite definition information.

アプリケーション生成部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 using the repository definition analysis unit 411 for generating an application, and passes the compiled Java through the application code generation unit 412 and the source code compilation unit 413. An application including (registered trademark) code 441 and HTML / JSP / JavaScript (registered trademark) 442 is generated. In other words, the application generation unit 410 is an example of a unit that generates a program used as an application using a set definition.

リポジトリ定義エディタ部420は、リポジトリ定義参照部421によってリポジトリ定義部401を解析する。   The repository definition editor unit 420 analyzes the repository definition unit 401 by the repository definition reference unit 421.

テストケース定義エディタ部460は、テストケース定義参照部461と、対象画面入力部462と、値入力部463と、アクション入力部464と、対象項目入力部465と、期待値入力部466を有する。それぞれの入力部から入力された値を保存することでテストケース定義407が作成される。   The test case definition editor unit 460 includes a test case definition reference unit 461, a target screen input unit 462, a value input unit 463, an action input unit 464, a target item input unit 465, and an expected value input unit 466. The test case definition 407 is created by saving the values input from the respective input units.

テストスイート定義エディタ部470は、テストケース定義選択部471と、入出力定義選択部472と、ビジネスプロセス定義選択部473と、データモデル定義選択部474と、関連テストケース抽出部475と、定義ファイル変更時間条件部476と、選択済みテストケース定義477を有する。テストスイート定義エディタ部470は、これらの各部より選択、あるいは抽出された値に基づきテストスイート定義409を作成・編集する。   The test suite definition editor unit 470 includes a test case definition selection unit 471, an input / output definition selection unit 472, a business process definition selection unit 473, a data model definition selection unit 474, a related test case extraction unit 475, and a definition file. A change time condition part 476 and a selected test case definition 477 are provided. The test suite definition editor unit 470 creates and edits the test suite definition 409 based on values selected or extracted from these units.

テストケース定義選択部471は、リポジトリ定義部401に含まれる任意のテストケース定義407の選択を受け付ける。   The test case definition selection unit 471 accepts selection of an arbitrary test case definition 407 included in the repository definition unit 401.

入出力定義選択部472は、リポジトリ定義部401に含まれる任意の入出力定義403の選択を受け付ける。   The input / output definition selection unit 472 accepts selection of an arbitrary input / output definition 403 included in the repository definition unit 401.

ビジネスプロセス定義選択部473は、リポジトリ定義部401に含まれる任意のビジネスプロセス定義405の選択を受け付ける。   The business process definition selection unit 473 receives selection of an arbitrary business process definition 405 included in the repository definition unit 401.

データモデル定義選択部474は、リポジトリ定義部401に含まれる任意のデータモデル定義404の選択を受け付ける。   The data model definition selection unit 474 receives selection of an arbitrary data model definition 404 included in the repository definition unit 401.

関連テストケース抽出部475は、入出力定義選択部472、ビジネスプロセス定義選択部473、データモデル定義選択部474で選択された定義を参照するテストケースを抽出する。   The related test case extraction unit 475 extracts a test case that refers to the definition selected by the input / output definition selection unit 472, the business process definition selection unit 473, and the data model definition selection unit 474.

定義ファイル変更時間条件部476は、関連テストケース抽出部475がテストケース定義407を抽出する際に定義ファイルの変更時間を条件として抽出をする。   The definition file modification time condition unit 476 extracts the definition file modification time as a condition when the related test case extraction unit 475 extracts the test case definition 407.

選択済みテストケース定義477は、テストスイートに含まれるテストケースとしてテストスイート定義409に保存される。   The selected test case definition 477 is stored in the test suite definition 409 as a test case included in the test suite.

テスト実行部302は、テストケース定義受信部431によってテストケース定義407を取得する。また、接続先DB受信部439は、接続先DB482を受信する。そして、テストケース定義解釈部433は、取得したこれらの内容を解析する。テスト実行部(インタープリタ)434は、テストケース定義解釈部433を用いて、アプリケーションコードアクセス部436から、アプリケーションコードをテスト実行する。   The test execution unit 302 acquires the test case definition 407 through the test case definition reception unit 431. Further, the connection destination DB receiving unit 439 receives the connection destination DB 482. Then, the test case definition interpretation unit 433 analyzes these acquired contents. The test execution unit (interpreter) 434 uses the test case definition interpretation unit 433 to perform test execution of the application code from the application code access unit 436.

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

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

次に、テストスイート定義エディタ部470について説明する。テストスイート定義エディタ部470は、テストケース定義選択部471と、入出力定義選択部472と、ビジネスプロセス定義選択部473と、データモデル定義選択部474と、関連テストケース抽出部475と、定義ファイル変更時間条件部476と、選択済みテストケース定義477と、接続先DB設定部478を有する。テストスイート定義エディタ部470は、テストスイート定義409を作成・編集する機能を備える。   Next, the test suite definition editor unit 470 will be described. The test suite definition editor unit 470 includes a test case definition selection unit 471, an input / output definition selection unit 472, a business process definition selection unit 473, a data model definition selection unit 474, a related test case extraction unit 475, and a definition file. A change time condition part 476, a selected test case definition 477, and a connection destination DB setting part 478 are included. The test suite definition editor unit 470 has a function of creating / editing the test suite definition 409.

テストケース定義選択部471は、リポジトリ定義部401に含まれる任意のテストケース定義407の選択を受け付ける。   The test case definition selection unit 471 accepts selection of an arbitrary test case definition 407 included in the repository definition unit 401.

入出力定義選択部472は、リポジトリ定義部401に含まれる任意の入出力定義403の選択を受け付ける。   The input / output definition selection unit 472 accepts selection of an arbitrary input / output definition 403 included in the repository definition unit 401.

ビジネスプロセス定義選択部473は、リポジトリ定義部401に含まれる任意のビジネスプロセス定義405の選択を受け付ける。   The business process definition selection unit 473 receives selection of an arbitrary business process definition 405 included in the repository definition unit 401.

データモデル定義選択部474は、リポジトリ定義部401に含まれる任意のデータモデル定義404の選択を受け付ける。   The data model definition selection unit 474 receives selection of an arbitrary data model definition 404 included in the repository definition unit 401.

関連テストケース抽出部475は、入出力定義選択部472、ビジネスプロセス定義選択部473、データモデル定義選択部474で選択された定義を参照するテストケースを抽出する。   The related test case extraction unit 475 extracts a test case that refers to the definition selected by the input / output definition selection unit 472, the business process definition selection unit 473, and the data model definition selection unit 474.

定義ファイル変更時間条件部476は、関連テストケース抽出部475がテストケース定義407を抽出する際に定義ファイルの変更時間を条件として抽出をかけることができる。   The definition file change time condition unit 476 can extract the definition file change time as a condition when the related test case extraction unit 475 extracts the test case definition 407.

選択済みテストケース定義477は、テストスイートに含まれるテストケースとしてテストスイート定義409に保存される。   The selected test case definition 477 is stored in the test suite definition 409 as a test case included in the test suite.

接続先DB設定部478は、テストをどのデータベース定義406で動かすかを設定する。設定された内容はテストスイート定義409に保存される。また、接続先DB設定部478は、初期設定の接続先も記憶する(データベース記憶手段)。   The connection destination DB setting unit 478 sets which database definition 406 the test is moved to. The set contents are stored in the test suite definition 409. The connection destination DB setting unit 478 also stores an initial connection destination (database storage unit).

次に、テストスイート実行部480について説明する。テストスイート実行部480は、テストスイート定義受信部481と、接続先DB482と、テストケース定義取得部483と、スレッド生成部484を有する。   Next, the test suite execution unit 480 will be described. The test suite execution unit 480 includes a test suite definition reception unit 481, a connection destination DB 482, a test case definition acquisition unit 483, and a thread generation unit 484.

テストスイート定義受信部481は、テストスイート定義409を受信し、接続先DB482を取得する。テストケース定義取得部483は、テストスイートに設定されたテストケース定義407を取得する。接続先DB482は、データベース定義406で保存されるデータベースのうちテストの際に接続するデータベースである。   The test suite definition receiving unit 481 receives the test suite definition 409 and acquires the connection destination DB 482. The test case definition acquisition unit 483 acquires the test case definition 407 set in the test suite. The connection destination DB 482 is a database to be connected in the test among the databases stored in the database definition 406.

テストスイート実行部480は、スレッド生成部484を介して、テスト実行部302へテストケース定義取得部483で取得したテストケース定義407と接続先DB482を送信する。テスト実行部302はそれらをもとにテストを実行する。   The test suite execution unit 480 transmits the test case definition 407 and the connection destination DB 482 acquired by the test case definition acquisition unit 483 to the test execution unit 302 via the thread generation unit 484. The test execution unit 302 executes a test based on them.

そして、テスト結果取得部435は、テスト実行の結果を取得し、テスト結果表示部438に表示する。   The test result acquisition unit 435 acquires the result of the test execution and displays it on the test result display unit 438.

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

図5は、アプリケーション生成のフローチャートの一例を示す図である。   FIG. 5 is a diagram illustrating an example of a flowchart of application generation.

情報処理装置101は、ディレクトリ構造を用いて、リポジトリ定義部401の各定義をファイルとして管理する。なお、本実施形態においては、ディレクトリ構造を用いて、リポジトリ定義部401の各定義をファイルとして管理するとしたが、これに限定するものではなく、例えば、データベースを用いてリポジトリ定義部401の各定義を管理してもよいし、クラウドなどネットワーク上の記憶装置を用いて管理する等としてもよい。図5を用いて、アプリケーション生成のフローチャートについて説明する。   The information processing apparatus 101 manages each definition of the repository definition unit 401 as a file using the directory structure. In the present embodiment, each definition of the repository definition unit 401 is managed as a file using a directory structure. However, the present invention is not limited to this. For example, each definition of the repository definition unit 401 using a database is used. May be managed, or may be managed using a storage device on a network such as a cloud. A flowchart for generating an application will be described with reference to FIG.

ステップS501において、情報処理装置101は、アプリケーション定義402の設定を受け付ける。具体的には、アプリケーション構築ツールの画面を介して、アプリケーション開発者から入出力定義403、データモデル定義404、ビジネスプロセス定義405及びデータベース定義406の設定を受け付ける。   In step S <b> 501, the information processing apparatus 101 receives a setting of the application definition 402. Specifically, 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ファイル形式で記憶する。   In step S501, the received application definition 402, input / output definition 403, data model definition 404, business process definition 405, and database definition 406 settings are stored in the repository definition unit 401 in an XML file format.

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

ステップS503において、情報処理装置101は、リポジトリ定義部401からアプリケーション定義402を取得する。リポジトリ定義解析部411は、読み込んだ定義を解析したうえでROM203に記憶しておき、解析された定義は各生成部から適宜参照される。   In step S <b> 503, 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 S <b> 504, 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 S <b> 506, 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 processing for acquiring definition information for building an application.

ステップS508において、情報処理装置101は、アプリケーション生成部410を用いて、Webアプリケーションに用いるプログラムを生成する。すなわち、ステップS508は、アプリケーションのプログラムを生成する処理の一例を示すステップである。また、ステップS508は、アプリケーションを構築する処理の一例を示すステップである。   In step S508, the information processing apparatus 101 uses the application generation unit 410 to generate a program used for the Web application. That is, step S508 is a step showing an example of processing for generating an application program. Step S508 is a step showing an example of processing for building 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 with reference to FIG. 7). That is, step S509 is a step showing an example of processing for generating a test case using the acquired definition information. Step S509 is a step showing an example of processing for generating a test case based on the accepted definition.

ステップS510において、情報処理装置101は、ステップS509にて生成したテストケース定義を用いてテストスイート定義409を作成する(詳細は、図17の説明にて後述する)。   In step S510, the information processing apparatus 101 creates a test suite definition 409 using the test case definition generated in step S509 (details will be described later in the description of FIG. 17).

ステップS511において、情報処理装置101は、DB別テストスイート用アプリケーションプログラム生成を行う(詳細は、図18の説明にて後述する)
ステップS512において、情報処理装置101は、テストスイート実行を行う(詳細は、図20にて後述する)。すなわち、ステップS512は、定義情報を用いて生成されたテストスイートに基づき、アプリケーションに係るテストを実行する処理の一例を示すステップである。また、ステップS512は、定義情報を用いて生成されたテストスイートに基づき、定義情報が正しく定義されているか否かテストを実行する処理の一例を示すステップである。
In step S511, the information processing apparatus 101 generates a DB-specific test suite application program (details will be described later with reference to FIG. 18).
In step S512, the information processing apparatus 101 performs test suite execution (details will be described later with reference to FIG. 20). That is, step S512 is a step showing an example of processing for executing a test related to an application based on the test suite generated using the definition information. Step S512 is a step showing an example of a process for executing a test to determine whether or not the definition information is correctly defined based on the test suite generated using the definition information.

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

また、以上により、アプリケーションアーカイブファイルの生成、アプリケーションサーバ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 the time required for the test can be reduced, and the development and the test can be seamlessly performed. It can be repeated many times.

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

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

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

これにより、失敗テストが無い状態のアプリケーションをサーバに構築する仕組みを提供することができる。よって、テストに時間がかかってしまう場合、夜間にテストを実行させ、テストが成功した場合は、続けてアプリケーションサーバ102にデプロイさせておくことができるため、アプリケーション管理者や運用者の手間を省くことができる。   As a result, it is possible to provide a mechanism for building an application without a failure test on the server. 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, thus eliminating the trouble of the application administrator and the operator. be able to.

また、失敗テストが有る状態のアプリケーションはサーバに構築することが無くなるため、不具合を含んだアプリケーションをリリースすることがなくなり、アプリケーションが不整合なデータを出力するといったこともなくなるため、結果として、信頼性の高いアプリケーションを運用することができる。   In addition, since an application with a failure test is not built on the server, an application including a defect is not released, and the application does not output inconsistent data. High performance applications can be operated.

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

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

図6は、アプリケーションの入出力定義画面及びアプリケーションの実行画面の一例を示す図である。入出力定義画面601は、1つのアプリケーションに設定される入出力定義を一覧で表示する画面である。   FIG. 6 is a diagram illustrating an example of an application input / output definition screen and an application execution screen. The input / output definition screen 601 is a screen that displays a list of input / output definitions set for one application.

図7は、テストケース定義生成のフローチャートの一例を示す図である。   FIG. 7 is a diagram illustrating an example of a flowchart of test case definition generation.

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

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

ステップS703において、情報処理装置101は、新規テストケース作成ダイアログ1102(図11)を表示し、新規のテストケースの生成に必要な「コード名」「名前」「対象アプリケーション1103」の入力を受け付け、受け付けた情報に基づき、外部メモリ211にテストケース定義407を新規に作成する。   In step S <b> 703, the information processing apparatus 101 displays a new test case creation dialog 1102 (FIG. 11), accepts inputs of “code name”, “name”, and “target application 1103” necessary for generating a new test case, 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, since the test procedure is not registered in the test case, 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から取得する。   In step S <b> 705, the information processing apparatus 101 acquires, from the external memory 211, the input / output definition 403 belonging to the “target application 1103” that has received the input in step S <b> 703.

ステップ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 S <b> 707, the information processing apparatus 101 accepts a pseudo instruction selection performed during test execution. Examples of command types include “screen display”, “add row”, “item value input”, “item value verification”, and the like.

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

なお、本実施形態においては、命令の種類は上記4種類の中から選択を受け付けるとしたが、この4種類に限定するものではなく、その他の命令(例:キーボード・マウス・タッチパネル等の入力装置による操作、カメラ等の周辺機器の操作、音声入力、ブラウザ操作、n秒待機、不正な操作等)を選択できるとしてもよい。   In this embodiment, the command type is selected from the above four types. However, the command type is not limited to these four types, and other commands (eg, input devices such as a keyboard, a mouse, a touch panel, etc.) Operation of peripheral devices such as a camera, voice input, browser operation, standby 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 options 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 receives selection of the input / output definition 403 used for 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 has been selected in step S709 as options (1204 in FIG. 12). For example, if “input item value” is selected as the command in step S707, options that are narrowed down only to items for which values can be input are displayed.

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

ステップS712において、情報処理装置101は、テストの命令実行時に用いる入出力項目への引数の入力を受け付ける。   In step S712, the information processing apparatus 101 receives an input of an argument to an input / output item used when executing a test instruction.

例えば、図12では、グループ項目「G ユーザマスタ」の入出力項目「ID」「パスワード」「名前」への引数を入力する。グループ項目とは、入出力項目を複数持つ表である(例:図6の602)。この命令に、行番号と引数を入力したものを1302(図13)に示す。1302(図13)は、グループ項目における明細「1」行目の入出力項目「ID」「パスワード」「名前」にそれぞれ「1」「yamada」「山田」を入力するという意味である。   For example, in FIG. 12, an argument to the input / output items “ID”, “password”, and “name” of the group item “G user master” is input. The group item is a table having a plurality of input / output items (for example, 602 in FIG. 6). 1302 (FIG. 13) shows a line number and an argument input to this instruction. 1302 (FIG. 13) means that “1”, “yamada”, and “Yamada” are respectively input to the input / output items “ID”, “password”, and “name” on the detail “1” line in the group item.

また、命令が「項目値検証」の場合の引数は、その「入出力項目」の値が、テスト実行時にその「引数」の値と等しいか否かを判定するという意味である(図13の1303)。ここでは、1302にて「項目値入力」を行い、「アクション実行」でUPDATE(更新)処理を行った後において、「ID」の値が「1」と等しいか否かを判定する。つまり、その時点で「ID」=1の場合は、そのテスト手順=成功と判定し、「ID」≠1の場合は、そのテスト手順=失敗と判定する(詳細は、図9のステップS911にて後述する)。   Further, the argument when the instruction is “item value verification” means that it is determined whether or not the value of the “input / output item” is equal to the value of the “argument” during the test execution (FIG. 13). 1303). Here, after “item value input” is performed in 1302 and UPDATE (update) processing is performed in “action execution”, it is determined whether or not the value of “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).

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

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

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

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

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

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

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

以上で、図7の説明を終了する。   Above, description of FIG. 7 is complete | finished.

以上により、アプリケーションを構築するための定義情報を用いて、アプリケーションに係るテストケースを容易に生成することができるようになる。また、アプリケーションを構築するための定義情報を用いて、定義情報が正しく定義されているか否かテストするためのテストケースを容易に生成することができるようになる。   As described above, it is possible to easily generate a test case related to an application using definition information for building an application. In addition, it is possible to easily generate a test case for testing whether or not the definition information is correctly defined using the definition information for building the application.

図8、図9及び図10は、テスト実行のフローチャートの一例を示す図である。   8, FIG. 9 and FIG. 10 are diagrams illustrating an example of a flowchart of test execution.

ステップS801において、情報処理装置101は、接続先DB受信部439を介して、テストスイート定義409に接続先DB482があるか否かを確認する。情報処理装置101は、確認した結果、接続先DBがある場合はステップS803へ進み、ない場合はステップS802へ進む。   In step S <b> 801, the information processing apparatus 101 confirms whether the connection destination DB 482 exists in the test suite definition 409 via the connection destination DB reception unit 439. As a result of the confirmation, the information processing apparatus 101 proceeds to step S803 if there is a connection destination DB, and proceeds to step S802 if there is no connection destination DB.

ステップS802において、情報処理装置101は、テスト対象のWebアプリケーションコードが生成済みであるか否かを確認する。情報処理装置101は、該当するWebアプリケーションコードが生成されていればステップS804へ進み、なければテスト実行を終了する。   In step S802, the information processing apparatus 101 confirms whether or not a test target Web application code has been generated. If the corresponding Web application code has been generated, the information processing apparatus 101 proceeds to step S804, and if not, ends the test execution.

ステップS803において、情報処理装置101は、接続先DBが同じかつテスト対象のWebアプリケーションコードが生成済みであることを確認する。情報処理装置101は、該当するWebアプリケーションコードが生成されていればステップS804へ進み、なければテスト実行を終了する。   In step S803, the information processing apparatus 101 confirms that the Web application code to be tested with the same connection destination DB has been generated. If the corresponding Web application code has been generated, the information processing apparatus 101 proceeds to step S804, and if not, ends the test execution.

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

ステップ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, in the test information test tree pane 1406 (FIG. 14), the name of the test case (eg, user registration form check, product registration form check) to be tested in steps S803 and S804. Display the test procedure (1. Screen display, 2. Add row, 3 ....).

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

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

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

ステップS903において、情報処理装置101は、強制終了ボタン1405(図14)の押下を受け付けたか否かを判断し、押下された場合はステップS904へ進み、押下されていない場合はステップS905へ進む。   In step S903, the information processing apparatus 101 determines whether or not the pressing of the forcible termination button 1405 (FIG. 14) has been accepted. If it is pressed, the process proceeds to step S904, and if not, 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 gray 100%, interrupts even if there is an unexecuted test case or test procedure, and ends this flowchart.

ステップS905において、情報処理装置101は、テストケース定義解釈部433を用いて、テスト手順情報1203を取得する。   In step S <b> 905, the information processing apparatus 101 acquires test procedure information 1203 using the test case definition interpretation unit 433.

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

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

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

ステップ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. Thereafter, 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 S <b> 910, the information processing apparatus 101 acquires information to be verified from the generated application code 440 using the application code access unit 436.

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

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

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

すなわち、ステップS911は、ステップS712にて受け付けた情報を用いて、テストを実行する処理の一例を示すステップである。また、ステップS911は、受け付けた値と項目が持つ値とを比較した結果に基づいて、実行されるテストの成否を判定する処理の一例を示すステップである。   That is, step S911 is a step showing an example of a process for executing a test using the information received in step S712. Step S911 is a step showing an example of a process for 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 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 apparatus 101 confirms that no application error has occurred. If no error has occurred, the process proceeds to step S922. If an error has occurred, the process proceeds to step S917.

ステップS917において、情報処理装置101は、テスト手順のステータスを“テスト失敗”としてRAM202に記憶する。   In step S917, the information processing apparatus 101 stores the test procedure status 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 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 uses the test result acquisition unit 435 and the test result display unit 438 to update the number of test procedures (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). Thereafter, even if an unexecuted test procedure is included in the test case that is being executed, the test case that is scheduled to be executed next is executed without being executed. The process returns to step S902.

ステップS922において、情報処理装置101は、テスト手順のステータスを“成功”として登録する(図15の1507)。   In step S922, the information processing apparatus 101 registers the status of the test procedure as “success” (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 the status of the test procedure so far is zero for both test failure and verification failure, and proceeds to step S925 if positive and proceeds to false if false. 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 S <b> 1002, the information processing apparatus 101 ends the test execution using the test end processing unit 437. Specifically, in the test execution end process, the session, cookie, thread, and the like 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 displays the log output during the test in the application log view using the test result acquisition unit 435 and the test result display unit 438 (1509 in FIG. 15).

以上により、テスト対象のアプリケーションが動作可能な状態でなくても、アプリケーション構築ツールにおいて、テスト対象の定義についてのみテストを行うことができるため、テストを効率的に行うことができるようになる。   As described above, even if the test target application is not in an operable state, the application construction tool can perform the test only for the definition of the test target, so that the test can be performed efficiently.

以上で、図8、図9及び図10の説明を終了する。   Above, description of FIG.8, FIG.9 and FIG.10 is complete | finished.

次に、図17を用いて、テストスイート定義の作成フローについて説明する。   Next, a test suite definition creation flow will be described with reference to FIG.

ステップS1701において、情報処理装置101は、ユーザからのテストケース定義作成の指示を受け付ける。具体的には、新規テストスイート生成受付表示1901(図19)の選択を受け付ける。ここで、図19のテストスイート作成メニュー画面の一例について説明する。情報処理装置101は、新規テストスイート生成受付表示1901が選択されたことに従い、ユーザによるテストスイート定義の作成指示を受け付ける。   In step S1701, the information processing apparatus 101 receives a test case definition creation instruction from the user. Specifically, selection of a new test suite generation reception display 1901 (FIG. 19) is received. Here, an example of the test suite creation menu screen in FIG. 19 will be described. The information processing apparatus 101 receives a test suite definition creation instruction from the user in accordance with the selection of the new test suite generation reception display 1901.

ステップS1702において、情報処理装置101は、外部メモリ211にテストケース定義407が作成済か否かを判定する。情報処理装置101は、テストケース定義407が作成済の場合はステップS1703に進み、テストケース定義407が未作成の場合はテストスイート定義の作成処理を終了する。   In step S <b> 1702, the information processing apparatus 101 determines whether the test case definition 407 has been created in the external memory 211. If the test case definition 407 has been created, the information processing apparatus 101 proceeds to step S1703. If the test case definition 407 has not been created, the information processing apparatus 101 ends the test suite definition creation process.

ステップS1703において、情報処理装置101は、新規テストスイート生成メニュー画面1902(図19)を表示し、接続先DBコード1903の選択(図19)を受け付ける。接続先DBコード1903は、リポジトリ定義部401内のデータベース定義406の中から選択される。ここで、情報処理装置101は、データベースが選択されなかった場合に、初期設定の接続先のデータベース設定2303(図23)に接続し、テストを実行する。また、情報処理装置101は、すでに他のテストスイートで接続先として設定されているデータベースを選択できないように制御してもよい。例えば、情報処理装置101は、接続先DBコード1903のドロップダウンリストで表示させないようにしてもよい。あるいは、情報処理装置101は、他のテストスイートで接続先として設定されているデータベースを選択した場合に、新規テストスイート生成メニュー画面1902を遷移できないように制御してもよい。このように、情報処理装置101は、複数のテストスイートで互いに異なるデータベースに接続させるように、ユーザの操作を支援することができる。
また、情報処理装置101は、データベース設定画面2302を表示して接続先データベースを選択させてもよい。ユーザは、データベース設定画面2302上で、データベースを選択することにより、テストスイートに用いるデータベースを選択することができる。この場合、データベース設定画面2302は、デフォルトで接続するデータベースを示す表示アイテム2304を表示する。なお、情報処理装置101は、他のテストスイートの設定でユーザにより任意に設定されたデータベースを示す表示アイテム2305をデータベース設定画面2302に表示させてもよい。後述するように、本実施形態において、情報処理装置101は、複数のテストスイートを並列に実行する。そのため、情報処理装置101は、当該テストスイートで接続するデータベースを他のテストスイートで選択されていないデータベースに設定する。
In step S1703, the information processing apparatus 101 displays a new test suite generation menu screen 1902 (FIG. 19) and accepts selection of a connection destination DB code 1903 (FIG. 19). The connection destination DB code 1903 is selected from the database definition 406 in the repository definition unit 401. Here, when the database is not selected, the information processing apparatus 101 connects to the database setting 2303 (FIG. 23) of the initial connection destination and executes a test. Further, the information processing apparatus 101 may perform control so that a database that has already been set as a connection destination in another test suite cannot be selected. For example, the information processing apparatus 101 may not display the connection destination DB code 1903 in the drop-down list. Alternatively, the information processing apparatus 101 may perform control so that the new test suite generation menu screen 1902 cannot be changed when a database set as a connection destination in another test suite is selected. In this way, the information processing apparatus 101 can assist the user's operation so that a plurality of test suites are connected to different databases.
Further, the information processing apparatus 101 may display the database setting screen 2302 to select a connection destination database. The user can select a database to be used for the test suite by selecting a database on the database setting screen 2302. In this case, the database setting screen 2302 displays a display item 2304 indicating a database to be connected by default. Note that the information processing apparatus 101 may cause the database setting screen 2302 to display a display item 2305 indicating a database arbitrarily set by the user in the setting of another test suite. As will be described later, in the present embodiment, the information processing apparatus 101 executes a plurality of test suites in parallel. Therefore, the information processing apparatus 101 sets a database connected with the test suite as a database not selected with another test suite.

ステップS1704において、情報処理装置101は、新規テストスイート生成メニュー画面1902(図19)の入力欄1905、接続先DBコード1903、対象テストケース1904で入力された内容に基づいてテストスイート定義が生成される。   In step S1704, the information processing apparatus 101 generates a test suite definition based on the contents input in the input field 1905, the connection destination DB code 1903, and the target test case 1904 on the new test suite generation menu screen 1902 (FIG. 19). The

ステップS1705において、情報処理装置101は、リポジトリ定義部401に記憶されるテストケース定義407を選択可能なテストスイート設定画面2100(図21)を表示する。図21におけるテストスイート設定画面2100は、テストスイート定義に記憶された複数のテストケースからテストスイートに設定するものを選択することができる。   In step S1705, the information processing apparatus 101 displays a test suite setting screen 2100 (FIG. 21) in which the test case definition 407 stored in the repository definition unit 401 can be selected. The test suite setting screen 2100 in FIG. 21 can select a test suite to be set from a plurality of test cases stored in the test suite definition.

また、テストスイート設定画面2100は、対象テストケース1904で選択されたテストケース2101をすでに選択された状態で表示される(図21)。ユーザは、テストスイート設定画面2100から、テストスイート定義に含めたいテストケースを任意に選択する。そして、情報処理装置101は、当該選択されたテストケースをテストスイート定義409に保存する。言い換えると、情報処理装置101は、テストケースの選択情報をテストスイート定義に設定しているとも言える。   Further, the test suite setting screen 2100 is displayed in a state where the test case 2101 selected in the target test case 1904 is already selected (FIG. 21). The user arbitrarily selects a test case to be included in the test suite definition from the test suite setting screen 2100. Then, the information processing apparatus 101 stores the selected test case in the test suite definition 409. In other words, it can be said that the information processing apparatus 101 sets the test case selection information in the test suite definition.

ステップS1706において、情報処理装置101は、ユーザからのテストケース定義の絞り込みの指示を受け付ける。具体的には、情報処理装置101は、リポジトリ定義を示すタブ2102が選択されているか判定する。   In step S1706, the information processing apparatus 101 receives an instruction to narrow down test case definitions from the user. Specifically, the information processing apparatus 101 determines whether the tab 2102 indicating the repository definition is selected.

ステップS1707において、情報処理装置101は、選択されたタブ2102が示すリポジトリ定義に対応するテストスイートを表示する。テストスイート設定画面2100を例に説明すると、情報処理装置101は、「IO」のタブ2102が選択されることにより、リポジトリ定義部401内の入出力定義403をテストに含むテストケースを一覧で表示する。情報処理装置101は、表示されたテストケースへの選択を受け付ける。また、情報処理装置101は、「DM」のタブ2102が選択されることにより、リポジトリ定義部401内のデータモデル定義404をテストに含むテストケースを一覧で表示する。また、情報処理装置101は、「BP」のタブ2102が選択されることにより、リポジトリ定義部401内のビジネスプロセス定義405をテストに含むテストケースを一覧で表示する。   In step S1707, the information processing apparatus 101 displays a test suite corresponding to the repository definition indicated by the selected tab 2102. The test suite setting screen 2100 will be described as an example. When the “IO” tab 2102 is selected, the information processing apparatus 101 displays a list of test cases including the input / output definition 403 in the repository definition unit 401 in the test. To do. The information processing apparatus 101 accepts selection for the displayed test case. Further, when the “DM” tab 2102 is selected, the information processing apparatus 101 displays a list of test cases including the data model definition 404 in the repository definition unit 401 in the test. Further, when the “BP” tab 2102 is selected, the information processing apparatus 101 displays a list of test cases including the business process definition 405 in the repository definition unit 401 in the test.

ステップS1708において、情報処理装置101は、ユーザからの定義ファイル変更時間条件部476によるテストケース定義の絞り込みの指示を受け付ける。具体的には、情報処理装置101は、定義ファイル変更時間条件部476で記憶される変更情報を基に表示を制御する。情報処理装置101は、変更時間条件2104(図21)の入力を受け付け、当該入力された条件と定義ファイル変更時間条件部476で記憶する条件を比較する。情報処理装置101は、当該比較した結果を用いて、変更時間条件2104以降に記憶されたテストケース定義を表示する。
ステップS1709において、情報処理装置101は、入力された時間以降に更新されたリポジトリ情報を含むテストケースを表示する。具体的には、情報処理装置101は、定義ファイル変更時間条件部476に記憶された、後に更新されたリポジトリ情報を含むテストケース定義407をソートして表示する。
In step S1708, the information processing apparatus 101 receives an instruction from the user to narrow down test case definitions by the definition file change time condition unit 476. Specifically, the information processing apparatus 101 controls display based on the change information stored in the definition file change time condition unit 476. The information processing apparatus 101 receives an input of the change time condition 2104 (FIG. 21), and compares the input condition with the condition stored in the definition file change time condition unit 476. The information processing apparatus 101 displays the test case definition stored after the change time condition 2104 using the comparison result.
In step S1709, the information processing apparatus 101 displays a test case including repository information updated after the input time. Specifically, the information processing apparatus 101 sorts and displays the test case definitions 407 that are stored in the definition file change time condition unit 476 and include repository information that is updated later.

ステップS1710において、情報処理装置101は、所定の条件により表示されたテストケース定義407の選択を受け付ける。具体的には、情報処理装置101は、チェックボックス2109で、選択または解除することができる。情報処理装置101は、選択を受けつけたテストケース定義をテストスイートとして設定済みとし、テストスイート定義409を更新する。情報処理装置101は、選択結果2102(図21)で示すように、選択されたテストケースを、テストスイート定義を親とした階層構造で表示する。   In step S1710, the information processing apparatus 101 accepts selection of the test case definition 407 displayed under a predetermined condition. Specifically, the information processing apparatus 101 can be selected or canceled with a check box 2109. The information processing apparatus 101 sets the selected test case definition as a test suite and updates the test suite definition 409. As shown by the selection result 2102 (FIG. 21), the information processing apparatus 101 displays the selected test cases in a hierarchical structure with the test suite definition as a parent.

次に図18を用いて、DB別テストスイート用アプリケーションプログラム生成フローについて説明する。   Next, a DB-specific test suite application program generation flow will be described with reference to FIG.

ステップS1801において、情報処理装置101は、アプリケーション定義402の設定を受け付ける。具体的には、アプリケーション構築ツールの画面を介して、アプリケーション開発者から入出力定義403、データモデル定義404、ビジネスプロセス定義405及びデータベース定義406の設定を受け付ける。   In step S1801, the information processing apparatus 101 receives the setting of the application definition 402. Specifically, 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.

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

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

ステップS1803において、情報処理装置101は、リポジトリ定義部401からアプリケーション定義402を取得する。リポジトリ定義解析部411は、読み込んだ定義を解析したうえでROM203に記憶しておき、解析された定義は各生成部から適宜参照される。   In step S1803, 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.

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

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

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

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

ステップS1808において、情報処理装置101は、ユーザからのテストスイート選択を受け付ける。具体的には、情報処理装置101は、アプリケーション生成画面2300(図23)で選択を受け付ける。情報処理装置101は、テストスイート選択部2301で選択されたテストスイートを生成対象として受け付ける。   In step S1808, the information processing apparatus 101 receives a test suite selection from the user. Specifically, the information processing apparatus 101 receives a selection on the application generation screen 2300 (FIG. 23). The information processing apparatus 101 receives the test suite selected by the test suite selection unit 2301 as a generation target.

ステップS1809において、情報処理装置101は、選択したテストスイートに接続先DB482がある場合は、ステップS1810へ進み、接続先DB482がない場合はステップS1812へ進む。   In step S1809, if there is a connection destination DB 482 in the selected test suite, the information processing apparatus 101 proceeds to step S1810, and if there is no connection destination DB 482, the information processing apparatus 101 proceeds to step S1812.

ステップS1810において、情報処理装置101は、接続先DBコードの情報がある場合、データベース定義406から該当する接続先DBコードと一致するデータベース情報を参照する。   In step S1810, when there is information on the connection destination DB code, the information processing apparatus 101 refers to the database information matching the connection destination DB code from the database definition 406.

ステップS1811において、情報処理装置101は、アプリケーション名をアプリケーション名とテストスイート名からなるものへ変更する。   In step S1811, the information processing apparatus 101 changes the application name to an application name and a test suite name.

ステップS1812において、情報処理装置101は、データベース定義406からデフォルトのデータベース設定を参照する。データベース設定画面2302は、データベース定義406に記憶されるデータベース定義を一覧で表示する画面である。当該データベース定義は、リポジトリ定義エディタ部420で参照され、表示制御部310で表示される。情報処理装置101は、データベース設定画面2302で表示されるデータベース定義のうち、いずれのデータベースをデフォルトで使用するかを記憶している。また、情報処理装置101は、いずれのデータベースをデフォルトの接続先とするかを識別可能に表示することが可能である。一例として、情報処理装置101は、データベース設定画面2302上で表示アイテム2304を表示することによりデフォルトの接続先を識別可能に表示する。   In step S1812, the information processing apparatus 101 refers to the default database setting from the database definition 406. The database setting screen 2302 is a screen for displaying a list of database definitions stored in the database definition 406. The database definition is referenced by the repository definition editor unit 420 and displayed by the display control unit 310. The information processing apparatus 101 stores which database is used as a default among the database definitions displayed on the database setting screen 2302. In addition, the information processing apparatus 101 can display which database is the default connection destination in an identifiable manner. As an example, the information processing apparatus 101 displays a display item 2304 on the database setting screen 2302 so that a default connection destination can be identified.

ステップS1813において、情報処理装置101は、上述の各設定に基づいてアプリケーションプログラムを生成する。   In step S1813, the information processing apparatus 101 generates an application program based on each setting described above.

次に図20、図21、図22を用いてテストスイートの実行のフロー、各フローにおける画面の表示について説明する。なお、本実施形態においては、図17を用いて説明したテストスイート生成のフローにおいて、複数のテストスイートが生成されているとする。そのため、以下では、情報処理装置101は、複数のテストスイートのテストを並列して同時に実行する場合について説明する。   Next, a test suite execution flow and screen display in each flow will be described with reference to FIGS. 20, 21, and 22. In the present embodiment, it is assumed that a plurality of test suites are generated in the test suite generation flow described with reference to FIG. Therefore, hereinafter, the information processing apparatus 101 will be described with respect to a case where a plurality of test suite tests are simultaneously executed in parallel.

ステップS2001において、情報処理装置101は、テストの実行の開始の指示を受け付ける。具体的には、情報処理装置101は、実行ボタン2105(図21)が選択されたことに従い指示を受け付ける。なお、実行されるテストスイートは複数であってもよい。複数のテストスイートを並列に実行することで、1つずつテストする場合よりもテストにかかる工数が短縮される。本実施形態では、情報処理装置101は、テスト全体ビュー2106(図21)に表示されたテストスイートを同時に実行するとする。また、情報処理装置101は、テスト全体ビュー2106に表示されるテストスイート定義のうち、チェックボックス2110で選択されたテストスイート定義のみを実行ボタンの選択に従って実行することとしてもよい。   In step S2001, the information processing apparatus 101 receives an instruction to start test execution. Specifically, the information processing apparatus 101 accepts an instruction according to selection of the execution button 2105 (FIG. 21). Note that a plurality of test suites may be executed. By executing a plurality of test suites in parallel, the number of man-hours required for the test can be shortened compared to testing one by one. In the present embodiment, it is assumed that the information processing apparatus 101 simultaneously executes the test suites displayed in the overall test view 2106 (FIG. 21). Further, the information processing apparatus 101 may execute only the test suite definition selected in the check box 2110 among the test suite definitions displayed in the overall test view 2106 according to the selection of the execution button.

ステップS2002において、情報処理装置101は、テスト全体ビュー2106(図21)を表示する。テスト全体ビュー2106は、設定されたテストスイート定義409の一覧を表示する。そして、テスト全体ビュー2106は、実行されたテストの結果を、テストスイート単位で識別可能に表示することが可能である。また、テスト全体ビュー2106は、テスト進捗バー2107とテスト情報表示部2108とを表示する。テスト進捗バー2107は、必ずしもバー状のインジケータでなくてもよい。テスト進捗バー2107は、例えば、円状のものであってもよい。つまり。テスト進捗バー2107は、少なくとも、実行中のテストスイート定義409の全工程における進捗の割合を視認可能な情報であればよい。テスト情報表示部2108は、実行中のテストスイート定義409の進捗および結果をテキストにて表示する。テスト情報表示部2108は、例えば、「実行中」、「実行完了」、「エラー」等の表示を含む。   In step S2002, the information processing apparatus 101 displays the entire test view 2106 (FIG. 21). The entire test view 2106 displays a list of set test suite definitions 409. The overall test view 2106 can display the results of the executed tests so that they can be identified in units of test suites. The overall test view 2106 displays a test progress bar 2107 and a test information display unit 2108. The test progress bar 2107 is not necessarily a bar-shaped indicator. The test progress bar 2107 may be circular, for example. In other words. The test progress bar 2107 may be information that allows at least the rate of progress in all processes of the test suite definition 409 being executed to be visually recognized. The test information display unit 2108 displays the progress and result of the test suite definition 409 being executed in text. The test information display unit 2108 includes displays such as “execution in progress”, “execution complete”, and “error”, for example.

ステップS2003において、情報処理装置101は、テスト進捗バー2107を空の状態で表示する。つまり、情報処理装置101は、テストスイート定義409によるテストの進捗が「0」であることを示している。   In step S2003, the information processing apparatus 101 displays the test progress bar 2107 in an empty state. That is, the information processing apparatus 101 indicates that the progress of the test according to the test suite definition 409 is “0”.

ステップS2004において、情報処理装置101は、テスト情報表示部2108にテストは実行中であることを示すための表示をする。本実施形態では、情報処理装置101は、テスト情報表示部2108に「実行中…」という文字を表示する。   In step S2004, the information processing apparatus 101 displays a message on the test information display unit 2108 to indicate that the test is being executed. In the present embodiment, the information processing apparatus 101 displays the characters “Executing ...” on the test information display unit 2108.

ステップS2005において、情報処理装置101は、対象であるテストスイートがなくなるまで以下のステップを繰り返す。   In step S2005, the information processing apparatus 101 repeats the following steps until there is no target test suite.

ステップS2006において、情報処理装置101は、対象テストスイートのテストスイート定義409を読み込む。   In step S2006, the information processing apparatus 101 reads the test suite definition 409 of the target test suite.

ステップS2007において、情報処理装置101は、対象テストスイートの数だけスレッドを作成する。複数のテストスイートが実行されるとき、スレッドは複数作成され並列に実行される。情報処理装置101は、作成されたスレッドをテスト全体ビュー2106に表示する。   In step S2007, the information processing apparatus 101 creates as many threads as the number of target test suites. When multiple test suites are executed, multiple threads are created and executed in parallel. The information processing apparatus 101 displays the created thread on the entire test view 2106.

ステップS2008において、情報処理装置101は、対象テストスイートに含まれるテストケース定義を読み込む。
ステップS2009において、情報処理装置101は、ステップS2008で読み込んだテストケースがなくなるまで以下のステップを繰りかえす。
In step S2008, the information processing apparatus 101 reads a test case definition included in the target test suite.
In step S2009, the information processing apparatus 101 repeats the following steps until there is no test case read in step S2008.

ステップS2010において、情報処理装置101は、読み込んだテスト定義に基づいてテストを実行する。   In step S2010, the information processing apparatus 101 executes a test based on the read test definition.

ステップS2011において、情報処理装置101は、テストの実行状況に応じてテスト進捗バー2107を更新する。一つのテスト進捗バーは1つのテストスイートに対してどれだけ作業が完了したかを表す。   In step S2011, the information processing apparatus 101 updates the test progress bar 2107 according to the test execution status. One test progress bar represents how much work has been completed for one test suite.

ステップS2012において、情報処理装置101は、テストスイート設定画面2200でテスト結果を表示する。ここで、図22を用いて、テストスイート定義を用いたテスト結果の表示方法について説明する。テストスイート設定画面2200は、テストスイート設定画面2150でテストの実行の開始がされたテストスイートが終了した際の画面の一例である。図22において、テスト進捗バー2201は、テストが完了したことを示している。本実施形態において、「Suite1.wptx」のテスト進捗バーは、エラーが発生せずにテストが完了したことを示す。一方、「Suite2.wptx」のテスト進捗バーは、はエラーが発生してテストが完了したことを示す。テストスイート設定画面2200に示す通り、それぞれのテストスイート定義の進捗バーは、異なる色で表示されるため、ユーザは、エラーが発生せずにテストが完了したか否かを視認することができる。また、それぞれのテストスイート定義の進捗バーの横に、結果が識別可能なアイコン2203が表示される。ユーザは、アイコン2203を目視することにより、いずれのテストスイートでエラーが発生したのかを認識することができる。また、それぞれのテストスイート定義に含まれるテストの横に、結果が識別可能なアイコン2204が表示される。ユーザは、アイコン2204を目視することにより、テストスイートに含まれるテストケースのうちいずれのテストケースでエラーが発生したのかを認識することができる。それぞれのテストケースのステップごとに、テスト結果を識別可能なアイコン2205が表示される。ユーザは、アイコン2205を目視することにより、テストケースのうちいずれのステップでエラーが発生したのかを認識することができる。   In step S2012, the information processing apparatus 101 displays the test result on the test suite setting screen 2200. Here, the display method of the test result using the test suite definition will be described with reference to FIG. The test suite setting screen 2200 is an example of a screen when the test suite on which the test execution is started on the test suite setting screen 2150 is completed. In FIG. 22, a test progress bar 2201 indicates that the test has been completed. In this embodiment, the test progress bar of “Suite1.wptx” indicates that the test has been completed without an error. On the other hand, the test progress bar of “Suite2.wptx” indicates that an error has occurred and the test has been completed. As shown in the test suite setting screen 2200, the progress bar of each test suite definition is displayed in a different color, so that the user can visually recognize whether or not the test is completed without causing an error. Further, an icon 2203 that can identify the result is displayed next to the progress bar of each test suite definition. The user can recognize which test suite the error has occurred by visually checking the icon 2203. Further, an icon 2204 that can identify the result is displayed next to the test included in each test suite definition. By visually observing the icon 2204, the user can recognize which test case among the test cases included in the test suite has an error. For each step of each test case, an icon 2205 that can identify the test result is displayed. The user can recognize in which step of the test case an error has occurred by visually checking the icon 2205.

なお、本実施形態のようなアプリケーション構築ツールは、アプリケーションを構築するために設定した定義情報が予想通りに設定されているかのテストをするものである。つまり、本実施形態では、アプリケーション構築ツールによるアプリケーション構築又はプログラム生成そのものではなく、構築又は生成の基となる定義情報についての正否についてテストしている。   Note that the application construction tool as in the present embodiment tests whether the definition information set for building an application is set as expected. That is, in this embodiment, whether or not the definition information that is the basis of construction or generation is tested for correctness, not application construction or program generation itself by the application construction tool.

以上、上述の実施形態によれば、情報処理装置は、データベース定義からデータベースの選択を受け付け、互いに異なるデータベースを接続先とする複数のテストスイートを生成し、生成された複数のテストスイートに基づいて、選択された接続先のデータベースのデータを用いてアプリケーションに係るテストを実行する。そのため、ユーザがテストスイートごとに接続すべきデータベースを選択可能となる。従って、テストの過程でデータベースのデータの値を変更する場合であっても、複数のテストスイートを並行して同時に実行することができる。つまり、大規模なアプリケーションのテスト工程であっても、正確かつ迅速にテストを実行することができる。   As described above, according to the above-described embodiment, the information processing apparatus receives a selection of a database from a database definition, generates a plurality of test suites having different databases as connection destinations, and based on the generated plurality of test suites. Then, a test related to the application is executed using the data of the selected connection destination database. Therefore, the user can select a database to be connected for each test suite. Therefore, even when the data value of the database is changed during the test process, a plurality of test suites can be executed in parallel. In other words, even in a large-scale application test process, a test can be executed accurately and quickly.

上述の実施形態による効果についてより具体的に説明する。情報処理装置は、複数のテストスイートを並行して同時に実行することでトータルのテスト時間が短縮される。例えば、情報処理装置は、10000個のテストケースを実行する場合、直列に実行すれば10時間かかる場合に、10台の装置で並行して実行すれば、理論上は1時間で完了することができる。ただし、10台の装置で同じデータベースを利用した場合は、データベース同士のデータの衝突(他のテストの実行によりデータベースが上書きされる等)による問題が発生する。この考え方を適用すると、情報処理装置は、テストスイートごとに接続するデータベースを分けるために、どのテストをどのデータベースに接続するのかを設定することは有用である。また、複数のテストケースのそれぞれに接続先データベースを設定することは煩雑である。そのため、複数のテストケースを目的ごとにまとめたテストスイート定義を用いて、テストスイート単位ごとデータベースの接続先を設定することはより有用である。特に、本件のようなリポジトリ定義をベースとしたアプリケーション開発ツールを用いる場合と異なり、既存のスクラッチ開発で使われるテストスイートクラスは単にテストケースをまとめただけである。したがって、上述の実施形態のように、テストスイート定義に追加の条件を加えられることは効果的である。本実施形態のアプリケーション開発ツールは、テストスイート定義とともにデータベース定義を有しているため、当該データベース定義の中のどのデータベースに接続するのかを選択するだけで容易に設定が可能となる。   The effect by the above-mentioned embodiment is demonstrated more concretely. The information processing apparatus reduces the total test time by simultaneously executing a plurality of test suites. For example, when executing 10,000 test cases, an information processing device takes 10 hours if executed in series, and if executed in parallel on 10 devices, it can theoretically be completed in one hour. it can. However, when the same database is used by 10 apparatuses, a problem occurs due to data collision between databases (for example, the database is overwritten by execution of another test). When this concept is applied, it is useful for the information processing apparatus to set which test is connected to which database in order to divide the database to be connected for each test suite. Moreover, it is complicated to set a connection destination database for each of a plurality of test cases. Therefore, it is more useful to set a database connection destination for each test suite unit using a test suite definition in which a plurality of test cases are grouped for each purpose. In particular, unlike the case of using an application development tool based on the repository definition as in this case, the test suite class used in the existing scratch development is simply a collection of test cases. Therefore, it is effective to add an additional condition to the test suite definition as in the above-described embodiment. Since the application development tool of this embodiment has a database definition together with a test suite definition, it can be easily set only by selecting which database in the database definition to connect to.

また、情報処理装置は、ユーザにより任意のデータベースの選択を受け付けていない場合には、データベース定義のうち初期設定のデータベースを用いてアプリケーションに係るテストを実行する。このため、情報処理装置は、必要に応じて、選択をせずともデータベースを用いたテストスイートの実行が可能となる。そのため、テスト工程におけるユーザの利便性を向上させることができる。   In addition, when the information processing apparatus does not accept selection of an arbitrary database by the user, the information processing apparatus executes a test related to the application using an initial setting database among the database definitions. For this reason, the information processing apparatus can execute a test suite using a database without making a selection, if necessary. Therefore, user convenience in the test process can be improved.

勿論、本発明の実施形態により生成したテストケースを用いて、テスト対象を定義情報に絞ったテストを行うだけでなく、構築又は生成したアプリケーションを動作させてテストを行うことでアプリケーション全体まで範囲を広げたテストを行うとしてもよい。   Of course, using the test cases generated according to the embodiments of the present invention, not only the test focused on the definition information but also the test is performed by operating the constructed or generated application, so that the scope of the entire application can be expanded. An extended test may be performed.

以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。   As described above, a recording medium in which a program for realizing the functions of the above-described embodiments is recorded is supplied to the system or apparatus, and the computer (or CPU or MPU) of the system or apparatus stores the program stored in the recording medium. It goes without saying that the object of the present invention can also 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 recording the program constitutes the present invention.

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

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

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

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

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

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

101 情報処理装置
102 アプリケーションサーバ
103 データベースサーバ
104 アプリケーションクライアント
105 ネットワーク
302 テスト実行部
305 テストケース生成部
311 テストスイート生成部
101 Information processing apparatus 102 Application server 103 Database server 104 Application client 105 Network 302 Test execution unit 305 Test case generation unit 311 Test suite generation unit

Claims (6)

アプリケーションを構築する情報処理装置であって、
前記アプリケーションを構築するためのデータベース定義からデータベースの選択を受け付けるデータベース選択受付手段と、
前記データベース選択受付手段で選択されたデータベースであって、互いに異なるデータベースを接続先とする複数のテストスイートを生成するテストスイート生成手段と、
前記テストスイート生成手段により生成された複数のテストスイートに基づいて、前記接続先のデータベースのデータを用いて前記アプリケーションに係るテストを実行するテスト実行手段
を備えることを特徴とする情報処理装置。
An information processing apparatus for building an application,
Database selection accepting means for accepting selection of a database from a database definition for constructing the application;
A test suite generating unit that generates a plurality of test suites selected by the database selection receiving unit and having different databases as connection destinations;
An information processing apparatus comprising: a test execution unit that executes a test related to the application using data of the connection destination database based on a plurality of test suites generated by the test suite generation unit.
前記アプリケーションを構築するためのデータベース定義のうち初期設定の接続先を記憶するデータベース記憶手段を更に備え、
前記テスト実行手段は、前記データベース選択受付手段により選択を受け付けていない場合に、前記データベース記憶手段で記憶される初期設定のデータベースのデータを用いて前記アプリケーションに係るテストを実行することを特徴とする請求項1に記載の情報処理装置。
Database storage means for storing an initial connection destination among database definitions for constructing the application;
The test execution unit executes a test related to the application using data of an initial setting database stored in the database storage unit when selection is not received by the database selection reception unit. The information processing apparatus according to claim 1.
前記テストスイート生成手段により生成されたテストスイートに基づいて、アプリケーションプログラムを生成するアプリケーションプログラム生成手段を更に備えることを特徴とする請求項1または2に記載の情報処理装置。   The information processing apparatus according to claim 1, further comprising an application program generation unit that generates an application program based on the test suite generated by the test suite generation unit. 前記テスト実行手段は、複数の前記テストスイートに基づいて、それぞれ異なる接続先のデータベースのデータを用いて前記アプリケーションに係るテストを実行するテスト実行手段を備えることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。   The said test execution means is provided with the test execution means which performs the test which concerns on the said application using the data of the database of a different connection destination, respectively based on the said some test suite. The information processing apparatus according to any one of claims. アプリケーションを構築する情報処理装置の制御方法であって、
前記アプリケーションを構築するためのデータベース定義からデータベースの選択を受け付けるデータベース選択受付工程と、
前記データベース選択受付工程で選択されたデータベースであって、互いに異なるデータベースを接続先とする複数のテストスイートを生成するテストスイート生成工程と、
前記テストスイート生成工程により生成された複数のテストスイートに基づいて、前記接続先のデータベースのデータを用いて前記アプリケーションに係るテストを実行するテスト実行工程
を備えることを特徴とする情報処理装置の制御方法。
A method for controlling an information processing apparatus for building an application,
A database selection receiving step of receiving a selection of a database from a database definition for constructing the application;
A test suite generating step of generating a plurality of test suites selected in the database selection receiving step and having different databases as connection destinations;
Control of an information processing apparatus comprising: a test execution step of executing a test related to the application using data of the connection destination database based on a plurality of test suites generated by the test suite generation step Method.
コンピュータを請求項1乃至4のいずれか1項に記載の情報処理装置として機能させるためのプログラム。
The program for functioning a computer as an information processing apparatus of any one of Claims 1 thru | or 4.
JP2018089331A 2018-05-07 2018-05-07 Information processor, method for controlling the same, and program Pending JP2019197259A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018089331A JP2019197259A (en) 2018-05-07 2018-05-07 Information processor, method for controlling the same, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018089331A JP2019197259A (en) 2018-05-07 2018-05-07 Information processor, method for controlling the same, and program

Publications (1)

Publication Number Publication Date
JP2019197259A true JP2019197259A (en) 2019-11-14

Family

ID=68538389

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018089331A Pending JP2019197259A (en) 2018-05-07 2018-05-07 Information processor, method for controlling the same, and program

Country Status (1)

Country Link
JP (1) JP2019197259A (en)

Similar Documents

Publication Publication Date Title
CN100492316C (en) System and method for test automation
JP4395761B2 (en) Program test support apparatus and method
CN109739855B (en) Method and system for realizing data sheet splicing and automatically training machine learning model
JPWO2013073504A1 (en) Program analysis / verification service providing system, control method thereof, control program, control program for causing computer to function, program analysis / verification device, program analysis / verification tool management device
JP2009265810A (en) Status transition test support device, status transition test support program and status transition test support method
CN113505082B (en) Application program testing method and device
CN112494940A (en) User interface manufacturing method and device, storage medium and computer equipment
CN112667517A (en) Method, device, equipment and storage medium for acquiring automatic test script
JP7212238B2 (en) Information processing device, its control method and program
JP6434435B2 (en) Information processing apparatus, operation support method, and operation support program
JP5344658B2 (en) Information processing apparatus, control method thereof, and program
JP7277694B2 (en) Information processing device, its control method and program
JP4602312B2 (en) Device setting device, device setting method, information acquisition device, information acquisition method, recording medium, and program
KR101901310B1 (en) System for providing user-oriented interconnection application integration
JP2019197259A (en) Information processor, method for controlling the same, and program
JP7219389B2 (en) Information processing device, its control method and program
JP7323755B2 (en) Information processing system, its control method and program
JP7319516B2 (en) Program, information processing device, and control method thereof
JP7256353B2 (en) Information processing system, its control method and program
JP7268759B2 (en) TEST DATA GENERATION DEVICE, TEST DATA GENERATION METHOD, AND PROGRAM
JP2019197261A (en) Information processor, method for controlling the same, and program
JP2019192135A (en) Information processing device, processing method therefor and program
JP7311740B2 (en) Information processing system, its control method, and program
JP2019153265A (en) Information processing apparatus, processing method of the same and program
JP2019153264A (en) Information processing apparatus, processing method of the same and program

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20180703

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20181031

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190115