JP7219389B2 - Information processing device, its control method and program - Google Patents
Information processing device, its control method and program Download PDFInfo
- Publication number
- JP7219389B2 JP7219389B2 JP2018089332A JP2018089332A JP7219389B2 JP 7219389 B2 JP7219389 B2 JP 7219389B2 JP 2018089332 A JP2018089332 A JP 2018089332A JP 2018089332 A JP2018089332 A JP 2018089332A JP 7219389 B2 JP7219389 B2 JP 7219389B2
- Authority
- JP
- Japan
- Prior art keywords
- definition
- test
- information processing
- application
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
本発明は、アプリケーションを構築するための情報処理装置、その制御方法及びプログラムに関する。 The present invention relates to an information processing apparatus, a control method thereof, and a program for building an application.
従来、設定された定義に基づきアプリケーションを構築(生成)するツールやサービスが存在する。このようなツールやサービスを利用して構築したアプリケーションであっても、アプリケーション定義の設定ミスにより予想外の動作をすることがあるため、テスト工程を省略することはできない。 Conventionally, there are tools and services that build (generate) applications based on set definitions. Even applications built using such tools and services may behave unexpectedly due to mistakes in application definition settings, so the testing process cannot be omitted.
特許文献1には、登録されたテストケースに基づきテスト用のプログラムを生成する仕組みが開示されている。
しかしながら、特許文献1に記載の技術では、テストケース自体が適切なものであるか否かを確認することはできない。そのため、従来技術では、これから実施するテストがアプリケーションに対して適切なものかどうかを容易に知ることが困難であった。
However, with the technique described in
そこで、本発明は、上記の課題に鑑みてなされたものであり、テストの品質の判断を容易にするための仕組みを提供することを目的とする。 Accordingly, the present invention has been made in view of the above problems, and an object of the present invention is to provide a mechanism for facilitating determination of test quality.
上記目的を達成するために本発明の情報処理システムは、
アプリケーションをテストするためのテストケースに含まれる第1の定義項目群と、前記アプリケーションを構築するための定義情報に含まれる第2の定義項目群を取得する取得手段と、
前記第1の定義項目群と前記第2の定義項目群の比較に基づいて、前記第1の定義項目群が前記第2の定義項目群をカバーしている割合を示す割合情報を表示するよう制御する表示制御手段と、
を備えることを特徴とする。
In order to achieve the above object, the information processing system of the present invention includes:
an acquisition means for acquiring a first definition item group included in a test case for testing an application and a second definition item group included in definition information for building the application;
to display ratio information indicating a ratio of coverage of the first definition item group to the second definition item group based on the comparison between the first definition item group and the second definition item group; a display control means for controlling ;
characterized by comprising
本発明によれば、テストの品質の判断を容易にするための仕組みを提供することができる。 According to the present invention, it is possible to provide a mechanism for facilitating determination of test quality.
以下、本発明の実施の形態を、図面を参照して詳細に説明する。 BEST MODE FOR CARRYING OUT THE INVENTION 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 one embodiment of the present invention.
情報処理装置101は、開発者の操作に従って画面レイアウト及びデータベース検索指示などを定義する。情報処理装置101は、アプリケーションのプログラム生成を行う。
The
なお、本実施形態においては、情報処理装置101で生成するアプリケーションはWebアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Web技術による通信を利用するアプリケーションでなくてもよい。
Note that in this embodiment, the application generated by the
また、本実施形態においては、情報処理装置101はアプリケーションのプログラムを生成するとしたが、この方法に限定するものではなく、プログラムを生成することなく、アプリケーションサーバ102やクラウド環境等でアプリケーションが動作する様にデータやファイル等を生成することにより、アプリケーション(の動作環境)を構築する等であってもよい。
Further, in the present embodiment, the
アプリケーションサーバ102は、情報処理装置101で生成され配置されたアプリケーションを実行する。また、アプリケーションサーバ102は、データベースサーバ103に接続し、データベースのデータを操作することができる。
The
データベースサーバ103は、生成されたアプリケーションが利用するデータベースである。なお、開発時にも動作確認などのために利用してもよい。また、データベースサーバ103は、情報処理装置101や、アプリケーションサーバ102と同一の装置で構成されていてもよいし、LANなどのネットワーク105内に配置されてもよい。
The
アプリケーションクライアント104は、アプリケーションサーバ102と協調して情報処理装置101で開発したアプリケーションプログラムを動作させる、エンドユーザの操作端末である。この、アプリケーションクライアント104は、携帯端末などの情報処理装置であってもよい。
The
クラウド環境106は、動的にスケーラブルかつ仮想化されたリソースを供給することが可能な環境である。 A cloud environment 106 is an environment capable of providing dynamically scalable and virtualized resources.
クラウド環境106内の仮想アプリケーションサーバ107は、情報処理装置101で生成され配置されたアプリケーションを実行する。また、仮想アプリケーションサーバ107は、仮想データベースサーバ108に接続し、データベースのデータを操作することができる。
A virtual application server 107 in the cloud environment 106 executes applications generated and arranged in the
クラウド環境106内の仮想データベースサーバ108は、生成されたアプリケーションが利用するデータベースである。なお、開発時にも動作確認などのために利用してもよい。 A virtual database server 108 in the cloud environment 106 is the database utilized by the generated application. It may also be used during development to confirm operations.
なお、クラウド環境106は動的にスケーラブルかつ仮想化されたリソースを供給することが可能な環境であるとしたが、本実施形態においては、この特徴を備えている必要はなく、クラウド環境106が仮想アプリケーションサーバ107及び仮想データベースサーバ108の動作を提供するのであれば、動的にスケーラブルでなくても、仮想化されたリソースを供給できなくてもよい。 Although the cloud environment 106 is an environment capable of supplying dynamically scalable and virtualized resources, this embodiment does not need to have this feature, and the cloud environment 106 As long as it provides the operations of the virtual application server 107 and the virtual database server 108, it does not have to be dynamically scalable and cannot supply virtualized resources.
図2は、本発明の一実施形態に係わる情報処理装置101、アプリケーションサーバ102、データベースサーバ103、アプリケーションクライアント104として適用可能な各ハードウェア構成の一例を示すブロック図である。
FIG. 2 is a block diagram showing an example of each hardware configuration applicable as the
図2において、CPU201は、システムバス204に接続される各デバイスを統括的に制御する。
In FIG. 2, a
また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステム(OS)や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
The
RAM202は、CPU201の主メモリ、ワークエリア、一時待避領域等として機能する。
A
入力コントローラ205は、入力部209からの入力を制御する。この入力部209としては、情報処理装置では、キーボード、マウス等のポインティングデバイス、タッチパネルが挙げられる。
The
なお、入力部209がタッチパネルの場合、ユーザがタッチパネルに表示されたアイコンやカーソルやボタンに合わせて押下(指等でタッチ)することにより、各種の指示を行うことができることとする。
If the
また、タッチパネルは、マルチタッチスクリーン等の、複数の指でタッチされた位置を検出することが可能なタッチパネルであってもよい。 Also, the touch panel may be a touch panel, such as a multi-touch screen, capable of detecting positions touched by a plurality of fingers.
出力コントローラ206は、出力部210の表示を制御する。この出力部210としては、例えば、CRTや液晶ディスプレイ等が挙げられる。尚、本体と一体になったノート型パソコンのディスプレイも含まれるものとする。また、プロジェクタであってもよいこととする。
The
外部メモリコントローラ207は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ211へのアクセスを制御する。外部メモリ211には、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ211としては、ハードディスク(HD)やフレキシブルディスク(FD)、PCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)、スマートメディア等が挙げられる。
An
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォント展開(ラスタライズ)処理を実行することにより、出力部210上での表示を可能としている。また、CPU201は、出力部210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
It should be noted that the
通信I/Fコントローラ208は、ネットワークを介して外部機器との通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
A communication I/
本発明の一実施形態を実現するためのプログラム212は外部メモリ211に記録されており、必要に応じてRAM202にロードされることによりCPU201によって実行されるものである。
A
図3は、本発明の一実施形態のソフトウェア構成を示すブロック図の一例である。 FIG. 3 is an example of a block diagram showing the software configuration of one embodiment of the present invention.
情報処理装置101は、以下の機能部を備える。
The
定義情報取得部301は、アプリケーションを構築するための定義情報を取得する機能部である。ここで、定義情報は、リポジトリ定義部401に設定された、アプリケーション定義402、入出力定義403、データモデル定義404、ビジネスプロセス定義405、データベース定義406(図4参照)を含む。
The definition
テスト実行部302は、定義情報取得部301により取得された定義情報を用いて生成されたテストケースに基づき、アプリケーションに係るテストを実行する機能部である。言い換えると、テスト実行部302は、定義情報取得部301により取得された定義情報を用いて生成されたテストケースに基づき、定義情報が正しく定義されているか否かのテストを実行する機能部であるともいえる。また、テスト実行部302は、情報受付部303により受け付けた情報を用いて、テストを実行する機能部である。
The
情報受付部303は、テスト実行部302により実行されるテストに用いる情報を受け付ける機能部である。情報受付部303は、一態様として、表示制御部310により出力部210で選択可能に表示された各種情報の選択を受け付ける。具体的には、情報受付部303は、テストに用いるテストケースの選択を受け付ける。また、情報受付部303は、テストに用いるテストスイートに設定するテストケースの選択を受け付ける。さらに、情報受付部303は、設定されたテストケースあるいは、テストスイートに基づきアプリケーションに係るテストの開始を受け付ける。また、情報受付部303は、テストケース解析の開始の指示を受け付ける。また、情報受付部303は、テストケース解析実行受付表示2001(図20)の選択を受け付ける。つまり、情報受付部303は、テストケースの解析の実行を受け付ける機能を備える。
The
テストケース定義受付部304は、テストケースの定義を受け付ける機能部である。
The test case
テストケース生成部305は、テストケース定義受付部304により受け付けた定義に基づき、テストケースを生成する機能部である。テストケース生成部305は、代入値入力受付部306により受け付けた値を項目に対して代入することを含むテストケースを生成する機能部である。テストケース生成部305は、予想値入力受付部307により受け付けた値と項目が持つ値とを比較することを含むテストケースを生成する機能部である。
The test
代入値入力受付部306は、定義情報取得部301により取得された定義情報に含まれる項目に対して代入する値の入力を受け付ける機能部である。
The substitution value input reception unit 306 is a functional unit that receives input of values to be substituted for items included in the definition information acquired by the definition
予想値入力受付部307は、定義情報取得部301により取得された定義情報に含まれる項目が持つと予想される値の入力を受け付ける機能部である。
The expected value
テスト成否判定部308は、予想値入力受付部307により受け付けた値と項目が持つ値とを比較した結果に基づいて、テスト実行部302により実行されるテストの成否を判定する機能部である。
The test success/
アプリケーション構築制御部309は、テスト成否判定部308によりテストの結果に従って、アプリケーションの構築をする/しないを制御する機能部である。
The application
表示制御部310は、出力部210(例えば、ディスプレイの画面上の表示)へ表示される内容を制御する機能部である。本実施形態において、表示制御部310は、後述する、図6、図11~15、図19、図20にテストケースの生成からカバレッジ率の表示に関する各画面を表示する機能を備える。一例として、表示制御部310は、テストケース生成部305で生成されたテストケースを一覧表示する機能を備える。また、表示制御部310は、当該テストケースを選択可能に表示するとともに、当該テストケースが選択された場合には、当該テストケースでテストが実行される定義項目を識別可能に表示することができる。
The
以上で、図3の説明を終了する。 This completes the description of FIG.
図4は、情報処理装置101、アプリケーションサーバ102及びアプリケーションクライアント104の構成図である。
FIG. 4 is a configuration diagram of the
情報処理装置101は、リポジトリ定義部401及びアプリケーション生成部410を備える。
The
情報処理装置101は、アプリケーションを開発する開発者により設定されたリポジトリ定義部401の各定義を用いて、アプリケーション生成部410によりアプリケーションを生成する。
The
リポジトリ定義部401には、アプリケーション定義402、入出力定義403、データモデル定義404、ビジネスプロセス定義405、データベース定義406が記憶されている。これら402~406の定義は、アプリケーション構築ツールを介して、開発者によって入力設定または配置される。
An
入出力定義403は、アプリケーション画面に配置される各種項目のレイアウトの定義情報を保持する。入出力定義403は、入力項目定義情報及び出力項目定義情報を含む。入力項目定義情報は、生成されたアプリケーションの画面を介して当該アプリケーションのエンドユーザが入力する入力項目を定義した情報である。出力項目定義情報は、生成されたアプリケーションの画面に出力する出力項目を定義した情報である。以降、「入力項目定義情報」及び「出力項目定義情報」をまとめて「入出力項目定義情報」と呼ぶ。
The input/
なお、本実施形態においては、「入力項目定義情報は、生成されたアプリケーションの画面を介して当該アプリケーションのエンドユーザが入力する入力項目を定義した情報」「出力項目定義情報は、生成されたアプリケーションの画面に出力する出力項目を定義した情報」としたが、これらに限定するものではなく、例えば、画面を有さないバッチやWebサービス等のように、「入力項目定義情報は、生成されたアプリケーションに入力される入力項目を定義した情報」「出力項目定義情報は、生成されたアプリケーションが出力する出力項目を定義した情報」であってもよい。 In the present embodiment, "input item definition information is information defining input items to be input by the end user of the application through the screen of the generated application", and "output item definition information is the generated application "Information that defines output items to be output to the screen", but it is not limited to these. Information defining input items to be input to the application" and "output item definition information may be information defining output items output by the generated application".
データモデル定義404は、データベースのテーブルの項目の定義情報を保持する。入出力定義403の各項目には、データモデル定義404の項目を対応づけることができる。
The
ビジネスプロセス定義405は、アプリケーションにおけるデータを処理するためのロジックの定義情報を保持する。
The
データベース定義406は、アプリケーションが接続するデータベースに係る情報(データベースサーバ103のIPアドレス、接続ユーザ、接続パスワード等)を定義する。
The
プレビューデータ408は、リポジトリ定義部401をプレビューする際のデータを保持する。
The
アプリケーション生成部410は、アプリケーション生成用のリポジトリ定義解析部411を用いてリポジトリ定義部401に記憶されている各定義を解析し、アプリケーションコード生成部412及びソースコードコンパイル部413を介し、コンパイル済Java(登録商標)コード441及びHTML/JSP/JavaScript(登録商標)442を含むアプリケーションを生成する。すなわち、アプリケーション生成部410は、設定された定義を用いて、アプリケーションとして用いられるプログラムを生成する手段の一例である。
The
リポジトリ定義エディタ部420は、リポジトリ定義参照部421によってリポジトリ定義部401を解析し、テストケース定義407の場合は、テストケース定義エディタ部422を用いて、それ以外の定義の時はそれぞれに対応したその他定義エディタ部423を用いてリポジトリ定義を変更及び参照する。
The repository
テスト実行部302は、テストケース定義受信部431によってテストケース定義407を取得し、テストケース定義解釈部433を用いてその内容を解析する。テスト実行部(インタープリタ)434は、テストケース定義解釈部433を用いて、アプリケーションコードアクセス部436から、アプリケーションコードをテスト実行する。
The
テスト実行部(インタープリタ)434は、テストケース定義解釈部433を用いて解釈した内容からテスト実行準備部を用いてテストの事前処理を行い、アプリケーションコードアクセス部436を用いてアプリケーションコードをテスト実行する。
A test execution unit (interpreter) 434 uses a test execution preparation unit to perform test preprocessing based on the contents interpreted by the test case
テストがすべて完了すると、テスト実行部(インタープリタ)435はテスト終了処理部437を用いてテスト終了処理を行う。最後に、テスト結果取得部435を用いて、テスト実行の結果を取得し、テスト結果表示部438に表示する。
When all the tests are completed, the test execution unit (interpreter) 435 uses the test
テストカバレッジ情報管理部460は、テスト実行部(インタプリタ)434を介して実施したテストに関連するリポジトリ定義と定義項目を収集する。テストカバレッジ情報管理部460は、実施したテストが入出力定義に関連している場合は、入出力定義カバレッジ情報管理部461に入出力コードと入出力項目コードを格納する。入出力定義カバレッジ情報管理部461は、格納した入出力コードと入出力項目コードを管理する。入出力コードは、テストに関連した入出力コードを登録している。入出力項目コードは、テストに関連した入出力項目コードを登録している。
The test coverage
テストカバレッジ情報管理部460は、実施したテストがデータモデル定義に関連している場合は、データモデル定義カバレッジ情報管理部462にデータモデルコードとデータモデル項目コードを格納する。データモデル定義カバレッジ情報管理部462は、テストに関連したデータモデルコードとデータモデル項目コードを管理する。また、テストカバレッジ情報管理部460は、実施したテストがビジネスプロセス定義に関連している場合は、ビジネスプロセル定義カバレッジ情報463にビジネスプロセスコードを格納する。
The test coverage
テストカバレッジ情報制御部470は、テストカバレッジ情報管理部460から取得した情報に基づいて、テストカバレッジ情報を表示あるいは制御する。テストカバレッジ情報制御部470は、カバレッジ率一覧画面表示部475によりテストカバレッジ一覧表示を表示する。ここで、カバレッジ情報とは、テストケースの品質を評価するための定量的な値の一態様である。具体的には、カバレッジ情報は、テストケース定義がアプリケーションのプロジェクトに設定したリポジトリ定義をカバーしている割合(カバレッジ率ともいう)を含む。
The test coverage information control unit 470 displays or controls test coverage information based on the information acquired from the test coverage
テストカバレッジ情報制御部470は、定義エディタ画面表示部472により、各種定義のエディタ画面を表示または編集の受付を行う。定義エディタ画面表示部472は、入出力定義エディタ画面、データモデル定義エディタ画面、ビジネスプロセス定義エディタ画面を表示または編集を行う。 The test coverage information control unit 470 uses the definition editor screen display unit 472 to display editor screens for various definitions or receive edits. The definition editor screen display unit 472 displays or edits an input/output definition editor screen, a data model definition editor screen, and a business process definition editor screen.
また、テストカバレッジ情報制御部470は、定義エディタ画面表示部472で表示した各種定義エディタ画面を、背景色処理部471により、定義エディタにおけるテストに関連した定義項目の行に背景色処理部471を行う。背景色処理部471は、一例として、背景色処理部471は、入出力定義エディタ画面、データモデル定義エディタ画面に対してテストに関連した入出力項目コード、データモデル項目コードの行に背景色処理を行う。背景色処理部471は、ビジネスプロセス定義エディタ画面に対してはテストで実施した制御コードの行に背景色処理を行う。背景色処理を行う理由ことにより、テストが実行された定義をユーザに識別可能に提示することが可能となる。
Also, the test coverage information control unit 470 causes the various definition editor screens displayed by the definition editor screen display unit 472 to be displayed by the background
カバレッジ率計算部474は、テストカバレッジ情報管理部460から取得した情報に基づいてテストケースに関連した定義項目数を集計し、カバレッジ率を計算する。具体的には、テストケースに含まれる定義項目を取得し(第一の取得手段)、アプリケーションのプロジェクトに含まれる定義項目を取得する(第二の取得手段)。そして、カバレッジ率計算部474は、第一の取得手段で取得した定義項目と第二の取得手段で取得した定義項目に基づいて、テストケースの品質を評価するための定量的な値(カバレッジ率)を算出する。
The coverage
テストカバレッジ情報制御部470は、プロジェクト全体のカバレッジ率を計算する際には、リポジトリ定義量取得部473により、リポジトリ定義の定義項目数を取得する。この場合、カバレッジ率計算部474は、プロジェクトに含まれるすべての定義項目からカバレッジ率を算出する。また、カバレッジ率計算部474は、定義別のカバレッジ率を算出する場合は、定義が格納されるフォルダに含まれる各定義の定義項目数からカバレッジ率を算出する。また、カバレッジ率計算部474は、個別の定義ファイルのカバレッジ率を算出する場合は、それぞれの定義ファイルに含まれる定義項目数からカバレッジ率を算出する。テストカバレッジ情報制御部470は、カバレッジ率一覧画面表示部475により、カバレッジ率計算部474を介して計算されたカバレッジ率を表示する。
When the test coverage information control unit 470 calculates the coverage rate of the entire project, the repository definition
以上で、図4の説明を終了する。 This completes the description of FIG.
図5は、アプリケーション生成のフローチャートの一例を示す図である。 FIG. 5 is a diagram illustrating an example of a flow chart for application generation.
情報処理装置101は、ディレクトリ構造を用いて、リポジトリ定義部401の各定義をファイルとして管理する。なお、本実施形態においては、ディレクトリ構造を用いて、リポジトリ定義部401の各定義をファイルとして管理するとしたが、これに限定するものではなく、例えば、データベースを用いてリポジトリ定義部401の各定義を管理してもよいし、クラウドなどネットワーク上の記憶装置を用いて管理する等としてもよい。また、情報処理装置101は、ディレクトリ構造を用いて、リポジトリ定義部401の各定義を定義単位でフォルダに格納し管理してもよい。
The
アプリケーション生成のフローチャートについて説明する。 A flow chart for application generation will be described.
ステップS501において、情報処理装置101は、アプリケーション定義402の設定を受け付ける。具体的には、アプリケーション構築ツールの画面を介して、アプリケーション開発者から入出力定義403、データモデル定義404、ビジネスプロセス定義405及びデータベース定義406の設定を受け付ける。
In step S<b>501 , the
ステップS501にて、受け付けたアプリケーション定義402、入出力定義403、データモデル定義404、ビジネスプロセス定義405及びデータベース定義406の設定は、リポジトリ定義部401にXMLファイル形式で記憶する。
In step S501, the received settings of the
ステップS502において、情報処理装置101は、アプリケーション生成の指示を受け付ける。
In step S502, the
ステップS503において、情報処理装置101は、リポジトリ定義部401からアプリケーション定義402を取得する。リポジトリ定義解析部411は、読み込んだ定義を解析したうえでROM203に記憶しておき、解析された定義は各生成部から適宜参照される。
In step S<b>503 , the
ステップS504において、情報処理装置101は、リポジトリ定義部401からデータモデル定義404を取得する。
In step S<b>504 , the
ステップS505において、情報処理装置101は、リポジトリ定義部401から入出力定義403を取得する。
In step S<b>505 , the
ステップS506において、情報処理装置101は、リポジトリ定義部401からビジネスプロセス定義405を取得する。
In step S<b>506 , the
ステップS507において、情報処理装置101は、リポジトリ定義部401からデータベース定義406を取得する。すなわち、ステップS501~S507は、アプリケーションを構築するための定義情報を取得する処理の一例を示すステップである。
In step S<b>507 , the
ステップS508において、情報処理装置101は、アプリケーション生成部410を用いて、Webアプリケーションに用いるプログラムを生成する。すなわち、ステップS508は、アプリケーションのプログラムを生成する処理の一例を示すステップである。また、ステップS508は、アプリケーションを構築する処理の一例を示すステップである。
In step S<b>508 , the
ステップS509において、情報処理装置101は、テストケース定義を生成する(詳細は、図7の説明にて後述する)。すなわち、ステップS509は、取得された定義情報を用いて、テストケースを生成する処理の一例を示すステップである。また、ステップS509は、受け付けた定義に基づき、テストケースを生成する処理の一例を示すステップである。
In step S509, the
ステップS510において、情報処理装置101は、ステップS509にて生成したテストケース定義に用いてテストを実行する(詳細は、図8の説明にて後述する)。すなわち、ステップS510は、定義情報を用いて生成されたテストケースに基づき、アプリケーションに係るテストを実行する処理の一例を示すステップである。また、ステップS510は、定義情報を用いて生成されたテストケースに基づき、定義情報が正しく定義されているか否かテストを実行する処理の一例を示すステップである。
In step S510, the
この段階ではアプリケーションをアプリケーションサーバ102に配置(デプロイ)していないため、以上により、アプリケーションサーバ102を用意することなく、テストを実行することができる。
At this stage, the application is not placed (deployed) on the
また、以上により、アプリケーションアーカイブファイルの生成、アプリケーションサーバ102への転送、デプロイをすることなく、テストを実行することができるため、テストにかかる時間を削減することができ、開発とテストをシームレスに何度も繰り返すことができる。
In addition, as described above, since the test can be executed without generating an application archive file, transferring it to the
また、以上により、情報処理装置101だけでアプリケーションサーバ102にて動作するアプリケーションのテストを実行することができるため、複数人の開発者が同時に並行してテストを行うことができる。
Further, as described above, since the application running on the
ステップS511において、情報処理装置101は、ステップS510にて実行したテストにおける失敗したテストケースの有無を判定し、有る場合は本フローチャートを終了し、無い場合はステップS512に進む。すなわち、ステップS511は、テストの結果に従って、アプリケーションの構築をする/しないを制御する処理の一例を示すステップである。
In step S511, the
ステップS512において、情報処理装置101は、ステップS508にて生成したプログラムをアプリケーションサーバ102に配置(デプロイ)する。
In step S<b>512 , the
これにより、失敗テストが無い状態のアプリケーションをサーバに構築する仕組みを提供することができる。よって、テストに時間がかかってしまう場合、夜間にテストを実行させ、テストが成功した場合は、続けてアプリケーションサーバ102にデプロイさせておくことができるため、アプリケーション管理者や運用者の手間を省くことができる。
As a result, it is possible to provide a mechanism for building an application in a server without failure tests. Therefore, if the test takes a long time, the test can be executed at night, and if the test succeeds, it can be deployed to the
また、失敗テストが有る状態のアプリケーションはサーバに構築することが無くなるため、不具合を含んだアプリケーションをリリースすることがなくなり、アプリケーションが不整合なデータを出力するといったこともなくなるため、結果として、信頼性の高いアプリケーションを運用することができる。 In addition, applications with failed tests will not be built on the server, so applications containing defects will not be released, and applications will not output inconsistent data. It is possible to operate highly flexible applications.
以上で、図5の説明を終了する。 This completes 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 building tool.
図7は、テストケース定義生成のフローチャートの一例を示す図である。 FIG. 7 is a diagram showing an example of a flow chart of test case definition generation.
ステップS701において、情報処理装置101は、ユーザからのテストケース定義生成の指示を受け付ける。具体的には、新規テストケース作成メニュー1101(図11)の押下を受け付ける。
In step S701, the
ステップS702において、情報処理装置101は、外部メモリ211にアプリケーション定義402が作成済か否かを判定する。作成済の場合はステップS703に進み、未作成の場合は本フローチャートを終了する。
In step S702, the
ステップS703において、情報処理装置101は、新規テストケース作成ダイアログ1102(図11)を表示し、新規のテストケースの生成に必要な「コード名」「名前」「対象アプリケーション1103」の入力を受け付け、受け付けた情報に基づき、外部メモリ211にテストケース定義407を新規に作成する。
In step S703, the
ステップS704において、情報処理装置101は、ステップS703にて作成されたテストケースのテスト手順を入力するためのテスト手順入力画面1201(図12)表示する。この時点では、テストケースにテスト手順が登録されていない状態であるため、テスト手順入力画面1201の「テスト手順」タブを選択した場合、テスト手順を設定するエディタ部には何も表示されていない。
In step S704, the
ステップS705において、情報処理装置101は、ステップS703にて入力を受け付けた「対象アプリケーション1103」に属す入出力定義403を外部メモリ211から取得する。
In step S<b>705 , the
ステップS706において、情報処理装置101は、登録するテスト手順の数だけステップS707~S712を繰り返す。
In step S706, the
ステップS707において、情報処理装置101は、テスト実行の際に疑似的に行う命令の選択を受け付ける。命令の種類は、例えば、「画面表示」「行追加」「項目値入力」「項目値検証」等がある。
In step S707, the
通常、スクラッチ開発によって構築されたアプリケーションのテストは、テスト要員による「画面表示」「行追加」「項目値入力」等の操作及び目視による「項目値検証」を必要とするが、本実施形態におけるテストは、テスト要員が行う操作及び目視をステップS707にて「命令」として手順化しておき、構築されたアプリケーション又は生成されたアプリケーションプログラムに対して(テスト要員が操作を行ったかのように疑似的に)「命令」を実行することで、テストの実行及び検証が自動でできるようになる。 Normally, testing an application built by scratch development requires operations such as "screen display", "line addition", "item value input", and visual "item value verification" by test personnel. In the test, the operations and visual observations performed by the test personnel are proceduralized as "instructions" in step S707, and the built application or the generated application program is simulated (pseudo ) By executing the "instruction", the execution and verification of the test can be performed automatically.
なお、本実施形態においては、命令の種類は上記4種類の中から選択を受け付けるとしたが、この4種類に限定するものではなく、その他の命令(例:キーボード・マウス・タッチパネル等の入力装置による操作、カメラ等の周辺機器の操作、音声入力、ブラウザ操作、n秒待機、不正な操作等)を選択できるとしてもよい。 In this embodiment, the type of command is selected from the above four types, but is not limited to these four types. operation, operation of a peripheral device such as a camera, voice input, browser operation, waiting for n seconds, unauthorized operation, etc.) may be selected.
ステップS708において、情報処理装置101は、ステップS705にて取得した入出力定義403に基づき、「対象アプリケーション1103」に属す入出力定義403を選択肢として表示する(図12の1203)。
In step S708, the
ステップS709において、情報処理装置101は、ステップS708にて表示した選択肢から、テスト実行に用いる入出力定義403の選択を受け付ける。
In step S709, the
ステップS710において、情報処理装置101は、ステップS709にて選択を受け付けた入出力定義403に属す入出力項目を選択肢として表示する(図12の1204)。例えば、ステップS707にて、命令に「項目値入力」が選択された場合は、入出力項目のうち値を入力できる項目だけに絞った選択肢を表示する。
In step S710, the
ステップS711において、情報処理装置101は、ステップS710にて表示した選択肢から、テスト実行に用いる入出力項目の選択を受け付ける。
In step S711, the
ステップS712において、情報処理装置101は、テストの命令実行時に用いる入出力項目への引数の入力を受け付ける。
In step S<b>712 , the
例えば、図12では、グループ項目「G ユーザマスタ」の入出力項目「ID」「パスワード」「名前」への引数を入力する。グループ項目とは、入出力項目を複数持つ表である(例:図6の602)。この命令に、行番号と引数を入力したものを1302(図13)に示す。1302(図13)は、グループ項目における明細「1」行目の入出力項目「ID」「パスワード」「名前」にそれぞれ「1」「yamada」「山田」を入力するという意味である。 For example, in FIG. 12, the arguments to the input/output items "ID", "password", and "name" of the group item "G user master" are input. A group item is a table having multiple input/output items (eg, 602 in FIG. 6). 1302 (FIG. 13) shows this command with the line number and argument input. 1302 (FIG. 13) means inputting "1", "yamada" and "Yamada" to the input/output items "ID", "password" and "name" of the line "1" of the description in the group item, respectively.
また、命令が「項目値検証」の場合の引数は、その「入出力項目」の値が、テスト実行時にその「引数」の値と等しいか否かを判定するという意味である(図13の1303)。ここでは、1302にて「項目値入力」を行い、「アクション実行」でUPDATE(更新)処理を行った後において、「ID」の値が「1」と等しいか否かを判定する。つまり、その時点で「ID」=1の場合は、そのテスト手順=成功と判定し、「ID」≠1の場合は、そのテスト手順=失敗と判定する(詳細は、図9のステップS911にて後述する)。 Also, when the command is "item value verification", it means that it is judged whether or not the value of the "input/output item" is equal to the value of the "argument" when the test is executed (see FIG. 13). 1303). Here, after performing "item value input" in 1302 and performing UPDATE processing in "execute action", it is determined whether or not the value of "ID" is equal to "1". That is, if "ID"=1 at that point, the test procedure is judged to be successful, and if "ID" is not equal to 1, the test procedure is judged to be failed (see step S911 in FIG. 9 for details). later).
なお、本実施形態においては、「引数」の例として「入出力項目の値」を挙げたが、「入出力項目の値」に限定するものではなく、「引数」は、例えば、画面の入出力に係る位置、色、大きさ又は内容等に係る情報であってもよい。また、表示、認証、検索、追加、更新若しくは削除等の処理に対して与える情報、又は、カメラ等の周辺機器に対して送信する情報等、テスト実行のために用いる情報であれば、その他の情報であってもよい。 In this embodiment, the "input/output item value" is given as an example of the "argument", but the "argument" is not limited to the "input/output item value". It may be information related to the position, color, size, content, etc. related 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 sent to peripheral devices such as cameras, other It may be information.
すなわち、ステップS712は、実行されるテストに用いる情報を受け付ける処理の一例を示すステップである。また、ステップS712は、取得された定義情報に含まれる項目に対して代入する値の入力を受け付ける処理の一例を示すステップである。また、ステップS712は、取得された定義情報に含まれる項目が持つと予想される値の入力を受け付ける処理の一例を示すステップである。 That is, step S712 is a step showing an example of processing for receiving information used in the test to be executed. Further, step S712 is a step showing an example of a process of accepting an input of a value to be assigned to an item included in the acquired definition information. Further, step S712 is a step showing an example of a process of accepting an input of a value expected to be possessed by an item included in the acquired definition information.
すなわち、ステップS706~S712は、テストケースの定義を受け付ける処理の一例を示すステップである。 That is, steps S706 to S712 are steps showing an example of the process of accepting the test case definition.
ステップS713において、情報処理装置101は、ステップS706~S712を繰り返すことによって作成されたテストケース手順(例:図13の1301)に基づき、図16のようなテストケース定義407を生成し、外部メモリ211に記憶する。
In step S713, the
具体的には、テストケース手順1301を1つずつ、テストケース定義407の要素<autotest-step>に変換することにより、テストケース定義407を生成する。同様に、テストケース手順1301の「命令」はテストケース定義407の要素<command>に、「入出力」は<object_01>に、「入出力項目」は<object_02>に、「行番号」は<object_03>に、「引数」は<argument>にそれぞれ変換する。
Specifically, the
なお、本実施形態においては、テストケース定義407を図16のようなXMLファイルとしたが、XMLファイルに限定するものではなく、その他の形式のファイルとして生成したり、データベースに記憶させたり、ファイルやデータベース以外の情報にしたりしてもよい。
In this embodiment, the
すなわち、ステップS713は、取得された定義情報を用いて、テストケースを生成する処理の一例を示すステップである。また、ステップS713は、受け付けた定義に基づき、テストケースを生成する処理の一例を示すステップである。また、ステップS713は、受け付けた値を項目に対して代入することを含むテストケースを生成する処理の一例を示すステップである。また、すなわち、ステップS713は、受け付けた値と項目が持つ値とを比較することを含むテストケースを生成する処理の一例を示すステップである。 That is, step S713 is a step showing an example of processing for generating a test case using the acquired definition information. Further, step S713 is a step showing an example of processing for generating a test case based on the received definition. Further, step S713 is a step showing an example of processing for generating a test case including substituting the accepted value for an item. In other words, step S713 is a step showing an example of processing for generating a test case including comparing the received value and the value of the item.
以上で、図7の説明を終了する。 This completes the description of FIG.
以上により、アプリケーションを構築するための定義情報を用いて、アプリケーションに係るテストケースを容易に生成することができるようになる。また、アプリケーションを構築するための定義情報を用いて、定義情報が正しく定義されているか否かテストするためのテストケースを容易に生成することができるようになる。 As described above, it is possible to easily generate a test case for an application using the definition information for constructing the application. Also, using definition information for building an application, it becomes possible to easily generate a test case for testing whether the definition information is defined correctly.
図8、図9及び図10は、テスト実行のフローチャートの一例を示す図である。 8, 9, and 10 are diagrams showing an example of a flow chart of test execution.
ステップS801において、情報処理装置101は、テスト実行指示を受け付ける。具体的には、実行メニュー1401(図14)の押下を受け付ける。
In step S801, the
ステップS802において、情報処理装置101は、テスト実行対象のテストケース定義に係る対象アプリケーション1103(図11)のアプリケーションコード440が作成済か否かを判定する。作成済の場合はステップS803に進み、未作成の場合は本フローチャートを終了する。
In step S802, the
ステップS803において、情報処理装置101は、テスト実行部(インタープリタ)434とテストケース定義解釈部433を用いて、ステップS801で実行メニュー1401の押下時に選択されていたテストケースに対応するテストケース定義407を外部メモリ211から取得する。
In step S803, the
ステップS804において、情報処理装置101は、テスト実行部(インタープリタ)434とテストケース定義解釈部433を用いて、ステップS803にて取得したテストケース定義407に含まれるテストケース数及びテスト手順数をカウントする。
In step S804, the
ステップS805において、情報処理装置101は、テストビュー1403(図14)を表示する。
In step S805, the
ステップS806において、情報処理装置101は、テスト進捗バー1404(図14)を空の状態で表示する。
In step S806, the
ステップS807において、情報処理装置101は、テスト情報のテストツリーペイン1406(図14)に、ステップS803及びステップS804でテスト対象としたテストケース名(例:ユーザ登録フォームチェック、商品登録フォームチェック)及びテスト手順(1.画面表示、2.行追加、3.…)を表示する。
In step S807, the
ステップS808において、情報処理装置101は、テスト情報の詳細ペイン1407(図14)にメッセージ「実行中…」を表示する。
In step S808, the
ステップS809において、情報処理装置101は、テスト実行準備部432を用いて、テスト実行前準備を行う。具体的には、テスト実行前準備では、セッション、クッキー及びスレッド等の生成を行い、ユーザが実際にブラウザを用いてアプリケーションを実行した場合と同様のアプリケーションデータを生成する。これにより、ブラウザ、エンドユーザ操作及びアプリケーションサーバ等を用いずに、アプリケーション構築ツールにおいて、テストを効率的に行うことができるようになる。
In step S<b>809 , the
ステップS901において、情報処理装置101は、テスト実行対象のテストケースの分だけ、ステップS902~S1001を繰り返す。
In step S901, the
ステップS902において、情報処理装置101は、テスト実行対象のテストケースのテスト手順の分だけ、ステップS903~S915、S921又はS925を繰り返す。
In step S902, the
ステップS903において、情報処理装置101は、強制終了ボタン1405(図14)の押下を受け付けたか否かを判断し、押下された場合はステップS904へ進み、押下されていない場合はステップS905へ進む。
In step S903, the
ステップS904において、情報処理装置101は、テスト進捗バー1404を灰色100%で更新し、未実行のテストケース又はテスト手順がある場合であっても中断し、本フローチャートを終了する。
In step S904, the
ステップS905において、情報処理装置101は、テストケース定義解釈部433を用いて、テスト手順情報1203を取得する。
In step S<b>905 , the
ステップS906において、情報処理装置101は、テスト手順情報のテスト命令が入力系か否かを判定し、入力系の場合はステップS907へ進み、入力系でない場合はステップS908へ進む。
In step S906, the
ステップS907において、情報処理装置101は、アプリケーションコードアクセス部436を用いて、生成済のアプリケーションコード440へ疑似的に値の入力を実行する。その後、アプリケーションコードアクセス部を用いて、アプリケーションコード440から実行結果を受け取り、テスト結果取得部435を用いてテスト結果を得る。すなわち、ステップS907は、ステップS712にて受け付けた情報を用いて、テストを実行する処理の一例を示すステップである。
In step S<b>907 , the
ステップS908において、情報処理装置101は、テスト手順情報のテスト命令が実行系か否かを判定し、実行系の場合はステップS909へ進み、実行系でない場合はステップS910へ進む。
In step S908, the
ステップS909において、情報処理装置101は、アプリケーションコードアクセス部436を用いて、生成済のアプリケーションコード440へ疑似的にアクションを実行するリクエストを送る。その後、アプリケーションコードアクセス部436を用いて、アプリケーションコード440から実行結果を受け取り、テスト結果取得部435を用いてテスト結果を得る。
In step S<b>909 , the
ステップS910において、情報処理装置101は、アプリケーションコードアクセス部436を用いて、生成済のアプリケーションコード440から検証対象の情報を取得する。
In step S<b>910 , the
ステップS911において、情報処理装置101は、検証対象の情報(検証対象が定義情報に含まれる項目である場合、当該項目に係る情報(例;当該項目が持つ値や属性値))が条件(例;ステップS712にて入力を受け付けた引数の値)に合致するか否かを判定し、検証が成功(条件に合致する)の場合はステップS916へ進み、失敗(条件に合致しない)の場合はステップS912へ進む。
In step S<b>911 , the
例えば、図13の1303の場合、1302にて「項目値入力」を行い、「アクション実行」でUPDATE(更新)を行った後において、「ID」の値が「1」と等しいか否かを判定する。つまり、その時点で「ID」=1の場合は、そのテスト手順=“成功”と判定し、「ID」≠1の場合は、そのテスト手順=“失敗”と判定する。 For example, in the case of 1303 in FIG. 13, after performing "item value input" in 1302 and performing UPDATE (update) in "execute action", it is checked whether the value of "ID" is equal to "1". judge. That is, if "ID"=1 at that point, the test procedure is determined to be "successful", and if "ID"≠1, the test procedure is determined to be "failed".
なお、本実施形態においては、検証系の例として「項目値検証」を挙げたが、項目値に限定するものではなく、例えば、表示するオブジェクトやメッセージの表示位置、色、大きさ又は表示内容等の検証であってもよい。また、表示、認証、検索、追加、更新若しくは削除等の処理にかかった時間、CPUの使用率、記憶領域の空き容量、又は、カメラ等の周辺機器から取得可能な情報等、テスト実行の際に取得可能な情報に係る検証であれば、その他の検証であってもよい。 In this embodiment, "item value verification" is given as an example of the verification system, but it is not limited to item values. etc. may be verified. In addition, when executing the test, such as the time required 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 Other verifications may be used as long as they are verifications related to information that can be acquired by the user.
すなわち、ステップS911は、ステップS712にて受け付けた情報を用いて、テストを実行する処理の一例を示すステップである。また、ステップS911は、受け付けた値と項目が持つ値とを比較した結果に基づいて、実行されるテストの成否を判定する処理の一例を示すステップである。 That is, step S911 is a step showing an example of processing for executing a test using the information received in step S712. Further, step S911 is a step showing an example of processing for determining the success or failure of the test to be executed based on the result of comparing the received value and the value of the item.
ステップS912において、情報処理装置101は、テスト手順のステータスを“失敗”としてRAM202に記憶する。
In step S<b>912 , the
ステップS913において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、検証失敗数を更新する(図15の1503)。
In step S913, the
ステップS914において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、テスト手順数を更新する(図15の1502)。
In step S914, the
ステップS915において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、進捗バーを赤色で更新する(図15の1505)。
In step S915, the
ステップS916において、情報処理装置101は、アプリケーションエラーが発生していないことを確認する。発生していなければステップS922へ進み、エラーが発生している場合は、ステップS917へ進む。
In step S916, the
ステップS917において、情報処理装置101は、テスト手順のステータスを“テスト失敗”としてRAM202に記憶する。
In step S917, the
ステップS918において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、テスト失敗数を更新する(図15の1504)。
In step S918, the
ステップS919において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、テスト手順数を更新する(図15の1502)。
In step S919, the
ステップS920において、情報処理装置101は、テスト結果取得部435及びテスト結果表示部438を用いて、進捗バーを赤色で更新する(図15の1505)。
In step S920, the
ステップS921において、情報処理装置101は、テスト結果表示部438を用いて、テストケース数を更新する(図15の1501)。その後、未実施のテスト手順が実行中のテストケースに含まれている場合であっても、それらの実行はせず、次に実行予定のテストケースを実行する。ステップS902に戻る。
In step S921, the
ステップS922において、情報処理装置101は、テスト手順のステータスを“成功”として登録する(図15の1507)。
In step S922, the
ステップS923において、情報処理装置101は、テスト結果表示部438を用いて、テスト手順数を更新する(図15の1502)。
In step S923, the
ステップS924において、情報処理装置101は、これまでのテスト手順のステータスにテスト失敗及び検証失敗の両方が0件であるか否かを判定し、正の場合はステップS925に進み、偽の場合はステップS925を行わない。
In step S924, the
ステップS1001において、情報処理装置101は、テスト結果表示部438を用いて、テストケース数を更新する(図15の1501)。
In step S1001, the
ステップS1002において、情報処理装置101は、テスト終了処理部437を用いて、テスト実行を終了する。具体的には、テスト実行終了処理では、ステップS809にて生成したセッション、クッキー及びスレッド等をクローズする。
In step S<b>1002 , the
ステップS1003において、情報処理装置101は、テスト結果表示部438を用いて、テスト実行時間を更新する(図15の1506)。
In step S1003, the
ステップS1004において、情報処理装置101は、テスト結果取得部435とテスト結果表示部438を用いて、テスト中に出力されるログをアプリケーションログビューに表示する(図15の1509)。
In step S1004, the
以上により、テスト対象のアプリケーションが動作可能な状態でなくても、アプリケーション構築ツールにおいて、テスト対象の定義についてのみテストを行うことができるため、テストを効率的に行うことができるようになる。 As described above, even if the application to be tested is not in an operable state, the application construction tool can test only the definition of the test target, so that the test can be efficiently performed.
以上で、図8、図9及び図10の説明を終了する。 This concludes the description of FIGS. 8, 9 and 10. FIG.
次に、図17を用いて、テストカバレッジ率の計算処理のフローを説明する。 Next, with reference to FIG. 17, the flow of test coverage rate calculation processing will be described.
ステップS1701において、情報処理装置101は、テストケース解析指示を受け付ける。具体的には、情報処理装置101は、カバレッジ率算出受付表示1901(図19)の選択を受け付ける。情報処理装置101は、一例として、カバレッジ率算出受付表示1901をテスト手順入力画面1900(図19)上で開かれたコンテキストメニューに表示する。
In step S1701, the
ステップS1702において、情報処理装置101は、全てのテスト手順について以下のステップを繰り返す。
In step S1702, the
ステップS1703において、情報処理装置101は、テスト命令の対象となる定義ファイル名を取得する。
In step S1703, the
ステップS1704において、情報処理装置101は、テスト命令の対象となる定義項目を取得する。例として、情報処理装置101は、対象となる定義が入出力項目である場合は、入出力コードを取得する。また、情報処理装置101は、対象となる定義がビジネスプロセスだった場合は、制御コードを取得する。
In step S1704, the
ステップS1705において、情報処理装置101は、各テストに関連する定義項目数を集計する。情報処理装置101は、ステップS1704で取得した定義の項目数を取得する。具体的には、情報処理装置101は、解析指示の対象となったテストケースにいずれの種類の定義項目が存在するかを取得し、且つこれらの各定義項目数を種別ごとに集計する。例えば、情報処理装置101は、あるテストケースには、ビジネスプロセス定義、データモデル定義、入出力定義をそれぞれ、5個、3個、10個含む、といった情報を集計の結果として取得することができる。
In step S1705, the
ステップS1706において、情報処理装置101は、リポジトリ定義部401で記憶されるリポジトリ定義の定義項目数を取得する。つまり、情報処理装置101は、アプリケーションの構築のために用いるリポジトリ定義にいずれの種類の定義項目が存在するかを取得し、且つこれらの各定義項目を種別ごとに集計する。なお、当該リポジトリ定義の定義項目数は、リポジトリ定義量取得部473で取得される。
In step S<b>1706 , the
ステップS1707において、情報処理装置101は、取得したリポジトリ定義をもとにカバレッジ率を算出する。情報処理装置101は、上述のステップで取得したテスト命令の対象となる定義項目と、アプリケーションのプロジェクトに含まれる定義項目を基にカバレッジ率を算出する。情報処理装置101は、プロジェクトのリポジトリ定義部の定義項目数を、定義項目名が一致するテストに関連する定義項目数で除算して、アプリケーションのプロジェクトのカバレッジ率を算出する。また、情報処理装置101は、各フォルダのリポジトリ定義の定義項目数を定義項目名が一致するテストに関連する定義項目数で除算してフォルダ毎(すなわち定義単位)のカバレッジ率を算出する。さらに、情報処理装置101は、各定義ファイルの定義項目数を定義項目名が一致するテストに関連する定義項目数で除算して、ファイル毎のカバレッジ率を算出する。
In step S1707, the
ステップS1708において、情報処理装置101は、算出したカバレッジ率を表示する。図19におけるテストカバレッジ率表示画面1910を用いて表示項目について具体的に説明する。情報処理装置101は、テストカバレッジ率表示画面1910において、テストカバレッジビュー1911を表示する。テストカバレッジビュー1911は、プロジェクトのカバレッジ率1912、およびフォルダ単位のカバレッジ率1913、および定義ファイル単位のカバレッジ率1914を一覧表示する。情報処理装置101は、フォルダ単位、または定義ファイル単位でカバレッジ率を表示することにより、テストケースが各定義をどれだけカバーしているかを識別可能に表示することができる。このため、情報処理装置101は、ステップS1705で取得した定義項目と、ステップS1706で取得した定義項目のうち対応する定義項目が一致しているか否かを判断し、一致している定義項目の数を算出し表示をしている。
In step S1708, the
上述の処理により、情報処理装置101は、カバレッジ率を数値などで表示することにより実施したテストケースの品質を定量的に示すことができる。また、情報処理装置101は、フォルダ単位、定義ファイル単位で表示させることにより、多角的な視点からテストケースを確認させるための情報をユーザに提示することができる。このことにより、ユーザは、あるテストケースについて、フォルダ単位、定義ファイル単位でカバレッジ率を確認することにより、プロジェクトの中でどの定義に対して多くのテストを行っているといったことを判断することが可能となる。例えば、情報処理装置101は、図19で、ビジネスプロセス定義のフォルダのカバレッジ率は60%であり、データモデル定義のフォルダのカバレッジ率は30%であり、入出力定義のフォルダのカバレッジ率は70%であるという情報を提示する。ユーザは、これらの情報から、入出力定義のカバレッジ率が相対的に高いことを確認することができる。
Through the above-described processing, the
次に、図18を用いて、テスト解析処理を示すフローについて説明する。 Next, a flow showing test analysis processing will be described with reference to FIG.
ステップS1801において、情報処理装置101は、テストケース解析実行受付表示2001(図20)の選択を受け付ける。情報処理装置101は、一例として、テストケース解析実行受付表示2001をテスト手順入力画面2000(図20)上で開かれたコンテキストメニューに表示する。
In step S1801, the
ステップS1802において、情報処理装置101は、テストに関連する定義ファイル名を取得する。
In step S1802, the
ステップS1803において、情報処理装置101は、テストに関連する定義項目を取得する。例として、情報処理装置101は、対象となる定義項目が入出力定義だった場合には入出力コードを取得する。また、情報処理装置101は、対象となる定義項目がビジネスプロセス定義だった場合には、制御コードを取得する。
In step S1803, the
ステップS1804において、情報処理装置101は、取得した定義ファイル名をもとにテストカバレッジビュー2012(図20)にテストに関連した定義ファイルを表示する。情報処理装置101は、テストカバレッジビュー2012に、テスト解析の結果からテストに関連した定義ファイル名を表示する。
In step S1804, the
ステップS1805において、情報処理装置101は、定義エディタ画面2011の表示指示を受け付ける。具体的には、テストカバレッジビュー2012に表示された定義ファイル2013の選択を受け付ける。この場合、情報処理装置101は、定義エディタ画面2011とテストカバレッジビュー2012を共通の画面でかつ重複しないような確認画面2010を表示する。
In step S<b>1805 , the
ステップS1806において、情報処理装置101は、定義エディタ画面2011(図20)を表示する。情報処理装置101は、テストに関連する定義項目2014の行を他の定義項目と識別可能に表示する。情報処理装置101は、定義項目2014の行の背景を他の定義項目と異なる色としている。なお、他の例として、情報処理装置101は、テストに関連する定義項目2014を、フォント、文字の大きさ、任意のマークを付す等の処理を行ってもよい。情報処理装置101は、一例として、対象となる定義項目が入出力だった場合は入出力コードの行を着色する。また、情報処理装置101は、対象となる定義項目がビジネスプロセスだった場合は、テストで実施した制御コードの行を着色する。情報処理装置101は、着色を行うことにより、どの制御コードをテストしたのかを視覚的に示すことができる。なお、情報処理装置101は、テストを実行した後に、テストの結果がOKだった定義項目と、NGだった定義項目を識別可能に表示してもよい。具体的には、情報処理装置101は、定義エディタ画面2011において、テストの結果がOKだった定義項目2014の行を他の定義項目と異なる色になるように着色してもよい。また、情報処理装置101は、定義エディタ画面2011において、テストの結果がNGだった定義項目2014の行を他の定義項目と異なる色になるように着色してもよい。
In step S1806, the
以上、上述の実施形態によれば、アプリケーションを構築する情報処理装置は、アプリケーションを構築するための定義情報を用いてテストケースに含まれる定義項目と、アプリケーションを構築するための定義情報に含まれる定義項目の対応関係を示す情報であって、テストケースの品質を評価するための情報を表示することができる。このことにより、アプリケーション構築ツールにおいて、テストの品質の判断を容易にするための仕組みを提供することが可能となる。その結果、アプリケーション構築ツールのユーザは、これから用いるテストケースが適切に生成されているかを事前に確認することができる。あるいは、ユーザは後工程で従来方法に基づきアプリケーションのテストを実行した後に、定義情報のテストが正しいものだったかを、事後的に確認することも可能である。また、本実施形態のように、アプリケーション構築ツールで実施する場合においては、アプリケーション構築の元となる定義情報を、テストで網羅できていることが重要である。また、アプリケーション全体の動作テストに先立って、テストを実行することにより、完成したアプリケーションでのテスト工程を削減することができる。その結果、アプリケーションの構築およびテスト全体の効率化が可能となる、
更に、情報処理装置は、これらの情報、テストケースの品質を評価するためにカバレッジ率という定量的な値で可視化することにより、ユーザにとってより確認しやすい情報を提供することができる。
As described above, according to the above-described embodiments, the information processing apparatus that builds the application uses the definition information for building the application, the definition items that are included in the test case, and the definition information that is included in the definition information for building the application. It is information indicating the correspondence between definition items, and information for evaluating the quality of test cases can be displayed. This makes it possible to provide a mechanism for facilitating judgment of test quality in the application building tool. As a result, the user of the application building tool can confirm in advance whether the test cases to be used from now on have been properly generated. Alternatively, the user can confirm after the fact whether the definition information test was correct after executing the application test based on the conventional method in the post-process. In addition, as in the present embodiment, when an application construction tool is used, it is important that the definition information, which is the basis of application construction, can be covered by tests. Also, by executing the test prior to the operation test of the entire application, it is possible to reduce the number of test steps for the completed application. As a result, the overall efficiency of building and testing applications can be improved.
Furthermore, the information processing apparatus can provide information that is easier for the user to confirm by visualizing the information as a quantitative value called a coverage rate for evaluating the quality of the test case.
更に、情報処理装置は、上記の定量的な値を構築するアプリケーションのプロジェクト単位、フォルダ単位、定義ファイル単位で識別可能に表示することが可能である。このことにより、情報処理装置は、アプリケーションのプロジェクトのなかで、いずれのフォルダ(すなわち定義)、あるいは定義ファイルのテストをカバーできているか(カバーできていないか)を、ユーザに容易に認識させることができる。 Furthermore, the information processing apparatus can display the above quantitative values in an identifiable manner for each application project, each folder, each definition file. As a result, the information processing apparatus allows the user to easily recognize which folders (that is, definitions) or definition file tests are covered (not covered) in the application project. can be done.
更に、情報処理装置は、画面上でテストケースが選択された場合に、アプリケーションのプロジェクトに含まれる定義項目を認識可能に表示する。このため、ユーザはテストケースがいずれの定義エディタ画面上で容易に確認することができる。 Furthermore, when a test case is selected on the screen, the information processing device recognizably displays the definition items included in the application project. Therefore, the user can easily check the test case on any definition editor screen.
なお、本発明の実施形態のようなアプリケーション構築ツールにおいては、構築されたアプリケーション又は生成されたそのプログラムが正しく動作するかのテストよりも、アプリケーションを構築するために設定した定義情報が予想通りに設定されているかのテストをすべきである。 It should be noted that in an application building tool such as the embodiment of the present invention, the definition information set for building the application is not tested as to whether the built application or the generated program operates correctly. You should test if it is set.
つまり、アプリケーション構築ツールによるアプリケーション構築又はプログラム生成そのものは信頼すべきであり、構築又は生成の基となった(アプリケーション開発者が設定した)定義情報についての正否についてテストすべきである。そのため、本発明が有効である。 In other words, the application construction or program generation itself by the application construction tool should be trusted, and the correctness of the definition information (set by the application developer) on which the construction or generation was based should be tested. Therefore, the present invention is effective.
勿論、本発明の実施形態により生成したテストケースを用いて、テスト対象を定義情報に絞ったテストを行うだけでなく、構築又は生成したアプリケーションを動作させてテストを行うことでアプリケーション全体まで範囲を広げたテストを行うとしてもよい。 Of course, using the test cases generated according to the embodiment of the present invention, not only is the test subject limited to the definition information, but also the entire application can be tested by operating the constructed or generated application. You may want to do a broader test.
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU)が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。 As described above, a recording medium recording a program for realizing the functions of the above-described embodiments is supplied to a system or device, and the computer (or CPU or MPU) of the system or device reads the program stored in the recording medium. Needless to say, 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 implements the novel functions of the present invention, and the recording medium recording the program constitutes the present invention.
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、DVD-ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることが出来る。 Examples of recording media for supplying programs include flexible disks, hard disks, optical disks, magneto-optical disks, CD-ROMs, CD-Rs, DVD-ROMs, magnetic tapes, non-volatile memory cards, ROMs, EEPROMs, 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 based on the instructions of the program, the OS (operating system) and the like running on the computer are actually executed. Needless to say, a case where part or all of the processing is performed and the functions of the above-described embodiments are realized by the processing are included.
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Furthermore, after the program read from the recording medium is written in 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 read according to the instruction of the program code. , a CPU or the like provided in the function expansion unit may perform a part or all of the actual processing, and the processing may realize the functions of the above-described embodiments.
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。 Moreover, the present invention may be applied to a system composed of a plurality of devices or to an apparatus composed of a single device. Further, it goes without saying that the present invention can be applied to the case where it is achieved by supplying a program to a system or apparatus. In this case, by loading a recording medium storing a program for achieving the present invention into the system or device, the system or device can enjoy the effects of the present invention.
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、OS(オペレーティングシステム)に供給されるスクリプトデータ等の形態から成ってもよい。 The program may be in the form of object code, program code executed by an interpreter, script data supplied to an OS (operating system), or the like.
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
Furthermore, by downloading and reading out the program for achieving the present invention from a server, database, etc. on the network using a communication program, the system or device can enjoy the effects of the present invention. It should be noted that all configurations obtained by combining each of the above-described embodiments and modifications thereof are also included in the present invention.
101 情報処理装置
102 アプリケーションサーバ
103 データベースサーバ
104 アプリケーションクライアント
105 ネットワーク
305 テストケース生成部
470 テストカバレッジ情報制御部
475 カバレッジ率計算部
101
Claims (9)
前記第1の定義項目群と前記第2の定義項目群の比較に基づいて、前記第1の定義項目群が前記第2の定義項目群をカバーしている割合を示す割合情報を表示するよう制御する表示制御手段と、
を備えることを特徴とする情報処理システム。 an acquisition means for acquiring a first definition item group included in a test case for testing an application and a second definition item group included in definition information for building the application;
to display ratio information indicating a ratio of coverage of the first definition item group to the second definition item group based on the comparison between the first definition item group and the second definition item group; a display control means for controlling ;
An information processing system comprising:
前記表示制御手段は、前記定義項目の種類ごとに、前記割合情報を表示するよう制御することを特徴とする請求項1または2に記載の情報処理システム。3. The information processing system according to claim 1, wherein said display control means controls to display said ratio information for each type of said definition item.
前記表示制御手段は、前記プロジェクト、および前記フォルダのそれぞれの前記割合情報を表示するよう制御することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理システム。 the application project includes folders for configuring definition files;
5. The information processing system according to any one of claims 1 to 4 , wherein said display control means controls to display said ratio information of said project and said folder.
前記表示制御手段は、前記プロジェクト、および前記フォルダのそれぞれの前記割合情報を表示するよう制御することを特徴とする請求項5に記載の情報処理システム。 the folder included in the project of the application includes the definition file corresponding to the type of definition item;
6. The information processing system according to claim 5 , wherein said display control means controls to display said ratio information of each of said project and said folder.
前記第1の定義項目群と前記第2の定義項目群の比較に基づいて、前記第1の定義項目群が前記第2の定義項目群をカバーしている割合を示す割合情報を表示するよう制御する表示制御ステップと、
を備えることを特徴とする情報処理システムの制御方法。 an acquisition step of acquiring a first definition item group included in a test case for testing an application and a second definition item group included in definition information for building the application;
to display ratio information indicating a ratio of coverage of the first definition item group to the second definition item group based on the comparison between the first definition item group and the second definition item group; a display control step to control ;
A control method for an information processing system , comprising:
A program for causing at least one computer to function as the information processing system according to any one of claims 1 to 7 .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018089332A JP7219389B2 (en) | 2018-05-07 | 2018-05-07 | Information processing device, its control method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018089332A JP7219389B2 (en) | 2018-05-07 | 2018-05-07 | Information processing device, its control method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019197260A JP2019197260A (en) | 2019-11-14 |
JP7219389B2 true JP7219389B2 (en) | 2023-02-08 |
Family
ID=68537479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018089332A Active JP7219389B2 (en) | 2018-05-07 | 2018-05-07 | Information processing device, its control method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7219389B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004104824A1 (en) | 2003-05-26 | 2004-12-02 | Fujitsu Limited | User interface application development deice and development method |
US20070168744A1 (en) | 2005-11-22 | 2007-07-19 | International Business Machines Corporation | Method and system for testing a software application interfacing with multiple external software applications in a simulated test environment |
US20100180260A1 (en) | 2009-01-10 | 2010-07-15 | TestingCzars Software Solutions Private Limited | Method and system for performing an automated quality assurance testing |
JP2015204065A (en) | 2014-04-16 | 2015-11-16 | 株式会社日立製作所 | Test case generation apparatus and test case generation method |
JP2016170785A (en) | 2015-03-13 | 2016-09-23 | キヤノンマーケティングジャパン株式会社 | Information processing apparatus, processing method thereof, and program |
-
2018
- 2018-05-07 JP JP2018089332A patent/JP7219389B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004104824A1 (en) | 2003-05-26 | 2004-12-02 | Fujitsu Limited | User interface application development deice and development method |
US20070168744A1 (en) | 2005-11-22 | 2007-07-19 | International Business Machines Corporation | Method and system for testing a software application interfacing with multiple external software applications in a simulated test environment |
US20100180260A1 (en) | 2009-01-10 | 2010-07-15 | TestingCzars Software Solutions Private Limited | Method and system for performing an automated quality assurance testing |
JP2015204065A (en) | 2014-04-16 | 2015-11-16 | 株式会社日立製作所 | Test case generation apparatus and test case generation method |
JP2016170785A (en) | 2015-03-13 | 2016-09-23 | キヤノンマーケティングジャパン株式会社 | Information processing apparatus, processing method thereof, and program |
Also Published As
Publication number | Publication date |
---|---|
JP2019197260A (en) | 2019-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100492316C (en) | System and method for test automation | |
US11237948B2 (en) | Rendering engine component abstraction system | |
JP2023054082A (en) | Program, information processing device and processing method thereof | |
WO2014049854A1 (en) | Computer system and program | |
JP7212238B2 (en) | Information processing device, its control method and program | |
JP7219389B2 (en) | Information processing device, its control method and program | |
JP7277694B2 (en) | Information processing device, its control method and program | |
JP7256353B2 (en) | Information processing system, its control method and program | |
JP6781688B2 (en) | Programs, information processing equipment and screen test systems | |
JP7323755B2 (en) | Information processing system, its control method and program | |
JP7311740B2 (en) | Information processing system, its control method, and program | |
JP7319516B2 (en) | Program, information processing device, and control method thereof | |
JP2021039433A (en) | Information processing device, processing method therein, and program | |
JP2019197259A (en) | Information processor, method for controlling the same, and program | |
JP2019192135A (en) | Information processing device, processing method therefor and program | |
JP2019197261A (en) | Information processor, method for controlling the same, 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 | |
KR102780526B1 (en) | Automatic testing system and operating method thereof | |
KR102694524B1 (en) | Automatic testing device for providing user interface and operating method thereof | |
JP2019192133A (en) | Information processing device, processing method therefor and program | |
US20240272935A1 (en) | Workflow management method, system and computer program product with dynamic workflow creation | |
JP7231812B2 (en) | Information processing system, processing method and program | |
JP7477773B2 (en) | Information processing device, control method, and program | |
JP7280475B2 (en) | Information processing device, its control method, 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 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210428 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220614 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220810 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20221227 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230109 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7219389 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |