(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
動作テストでは、結果検証のひとつとして、動作テストを実行した際に情報システムによって作成された結果物を確認し、情報システムの動作が期待通りであったかを確認する。帳票ファイルを作成して印刷するシステムが動作テスト対象の場合、作成された帳票ファイルが期待通りであるかを確認する。本発明者は、この結果検証について、動作テストの効率化のために改善の余地があると考えた。
【0006】
本発明はこうした課題に鑑みてなされたものであり、その主な目的は、情報システムの動作テストを効率化するための技術を提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明のある態様のテスト実行装置は、所定の帳票印刷アプリケーションを用いて帳票データを印刷するシステムをテストするテスト実行装置であって、帳票印刷アプリケーションは、印刷処理の実行指示を受けてから作成した帳票データを所定の記憶領域に格納し、記憶領域に格納された帳票データを印刷後に削除するよう動作するものであり、当該テスト実行装置は、帳票印刷アプリケーションによる帳票データの削除を禁止するよう記憶領域を設定する記憶領域設定部と、帳票印刷アプリケーションに、帳票データの印刷処理の実行を指示するテスト実行部と、記憶領域に格納された帳票データを取得する帳票データ取得部と、を備える。
【0008】
本発明の別の態様もまた、テスト実行装置である。この装置は、システムをテストするテスト実行装置であって、システムは、所定の帳票印刷サーバアプリケーションを用いて帳票データを作成するサーバ装置と、サーバ装置とネットワークを介して接続され、所定の帳票印刷クライアントアプリケーションを用いて帳票データを印刷するクライアント端末と、を含む。帳票印刷サーバアプリケーションは、クライアントアプリケーションから帳票データを送信するよう指示を受けると帳票データを作成し、作成した帳票データを帳票印刷クライアントアプリケーションに送信するとともに第1の記憶領域に格納するよう動作するものであり、帳票印刷クライアントアプリケーションは、印刷処理の実行指示を受けると帳票印刷サーバアプリケーションに帳票データを送信するよう指示を送り、帳票印刷サーバアプリケーションから帳票データを受信するとその帳票データを第2の記憶領域に格納し、第2の記憶領域に格納された帳票データを印刷後に削除するよう動作するものであり、当該テスト実行装置は、帳票印刷クライアントアプリケーションに、帳票データの印刷処理の実行を指示するテスト実行部と、第1の記憶領域から帳票データを取得する帳票データ取得部と、を備える。
【0009】
本発明のさらに別の態様もまた、テスト実行装置である。この装置は、システムをテストするテスト実行装置であって、システムは、所定の帳票印刷サーバアプリケーションを用いて帳票データを作成するサーバ装置と、サーバ装置とネットワークを介して接続され、所定の帳票印刷クライアントアプリケーションを用いて帳票データを印刷するクライアント端末と、を含む。帳票印刷クライアントアプリケーションは、印刷処理の実行指示を受けると帳票印刷サーバアプリケーションに帳票データを送信するよう指示を送り、帳票印刷サーバアプリケーションから帳票データを受信するとその帳票データを所定の記憶領域に格納し、記憶領域に格納された帳票データを印刷後に削除するよう動作するものであり、当該テスト実行装置は、帳票印刷クライアントアプリケーションに、帳票データの印刷処理の実行を指示するテスト実行部と、サーバ装置からクライアント端末に送信される帳票データを取得する帳票データ取得部と、を備える。
【0010】
本発明のさらに別の態様は、テスト実行方法である。この方法は、所定の帳票印刷アプリケーションを用いて帳票データを印刷するシステムをテストするテスト実行方法であって、帳票印刷アプリケーションは、印刷処理の実行指示を受けてから作成した帳票データを所定の記憶領域に格納し、記憶領域に格納された帳票データを印刷後に削除するよう動作するものであり、当該テスト実行方法は、帳票印刷アプリケーションによる記憶領域に格納される帳票データの削除を禁止するよう記憶領域を設定するステップと 帳票印刷アプリケーションに、帳票データの印刷処理の実行を指示するステップと、記憶領域に格納された帳票データを取得するステップと、を含む。
【0011】
なお、以上の構成要素の任意の組合せ、本発明の表現を、システム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0012】
本発明によれば、情報システムの動作テストを効率化するための技術を提供できる。
【発明を実施するための形態】
【0014】
(実施の形態)
実施の形態を具体的に説明する前に、基礎となった知見を説明する。システムの動作テストでは、結果検証のひとつとして、動作テストを実行した際にシステムによって作成される結果物を確認し、システムの動作が期待通りであったかを確認する。帳票印刷アプリケーションを用いて帳票ファイルを印刷するシステムが動作テスト対象の場合、作成された帳票ファイルが期待通りであるかを確認する。一般に、帳票印刷アプリケーションは、帳票ファイルを作成すると一旦は記憶領域に保持させるものの、印刷後に削除してしまう。帳票ファイルが記憶領域に保持されてから印刷が完了するまでの時間は0.5秒程度と短く、この短い時間を見計らって帳票ファイルを取得するのは確実性に欠ける。帳票ファイルの電子データを取得できない場合、帳票ファイルの印刷物を目視で確認することにより、期待通りであるかを確認せざるを得ない。この作業は、テスト担当者の大きな負担となる。そこで、実施の形態に係るテストシステム100は以下のように構成される。
【0015】
図1は、本実施の形態に係るテスト実行装置10を含むテストシステム100の機能および構成を示すブロック図である。本明細書のブロック図で示す各ブロックは、ハードウェア的には、コンピュータのCPUやメモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
図3についても同様である。
【0016】
テストシステム100は、テスト実行装置10、テスト対象システム12、印刷装置18を含む。テスト対象システム12は、テストの対象となるシステムであり、アプリケーションサーバ14、帳票サーバ16を備える。テスト対象システム12は、不図示のメインフレームやデータベースサーバ等、種々のサーバや装置をさらに備えてもよく、これらの装置が連携することにより各種の情報処理サービスを実現してもよい。
【0017】
アプリケーションサーバ14は、テスト対象システムによる各種の情報処理サービスをクライアント装置へ提供する。実施の形態では、アプリケーションサーバ14は、帳票作成入力画面をウェブページとしてクライアント装置に提供し、その帳票作成入力画面に対して入力された情報をクライアント装置から取得して帳票作成処理を実行する。帳票サーバ16は帳票データを管理する。
【0018】
テスト実行装置10は、テスト対象システム12のテストを実行する情報処理装置である。具体的には、テスト実行装置10は、テスト対象システム12のクライアント装置として動作し、LAN・WAN・インターネット等の通信網を介して、業務イベント情報をテスト対象システム12へ入力することによりテスト対象システム12の動作を検証する。
【0019】
テスト実行装置10は、アプリケーションサーバ14からウェブページを取得し、そのウェブページに対して予め定められた操作を再現することでテスト対象システム12の動作テストを実行する。またテスト実行装置10は、動作テストの結果検証のひとつとして、テスト対象システム12によって作成された帳票ファイルを確認し、装置やアプリケーションの動作が想定通りであるかを検証する。
【0020】
アプリケーションサーバ14は、インタフェース部20、帳票作成部22、帳票ファイル保持部24を備える。アプリケーションサーバ14には、帳票印刷アプリケーションのサーバアプリケーションがインストールされている。帳票作成部22は、このサーバアプリケーションによって実現される。本実施の形態では、ウイングアークテクノロジーズ社が提供するSVF(Super Visual Formade)(登録商標)のサーバアプリケーションがインストールされている。
【0021】
インタフェース部20は、TCP/IPプロトコルなどの通信プロトコルにしたがいテスト実行装置10および帳票サーバ16のそれぞれと通信する。帳票ファイル保持部24は、帳票作成部22が作成した帳票ファイルを保持する。
【0022】
帳票作成部22は、インタフェース部20を介して帳票作成リクエストをテスト実行装置10から受信し、このリクエストに応じた帳票ファイルを作成する。帳票作成部22は、識別情報に対応した帳票データを帳票サーバ16に要求し、帳票サーバ16から帳票データを取得する。帳票作成部22は、取得した帳票データをPDF形式の帳票ファイルに整形する。帳票作成部22は、整形した帳票ファイルをテスト実行装置10に送信するとともに帳票ファイル保持部24に格納する。
【0023】
帳票サーバ16は、インタフェース部26、帳票データ抽出部28、データベース30、帳票データ保持部32を備える。帳票サーバ16には、アプリケーションサーバ14と同様に、帳票印刷アプリケーションのサーバアプリケーションがインストールされている。帳票データ抽出部28は、この帳票作成ソフトウェアによって実現される。本実施の形態では、アプリケーションサーバ14と同様に、ウイングアークテクノロジーズ社が提供するSVF(登録商標)のサーバアプリケーションがインストールされている。
【0024】
インタフェース部26は、TCP/IPプロトコルなどの通信プロトコルにしたがいアプリケーションサーバ14と通信する。データベース30には、帳票を作成するための元データが保持される。帳票データ保持部32は、帳票データ抽出部28によって抽出された帳票データを保持する。
【0025】
帳票データ抽出部28は、アプリケーションサーバ14に要求された帳票データであって、識別情報に対応した帳票データをデータベース30から抽出する。帳票データ抽出部28は、抽出した帳票データをインタフェース部26を介してアプリケーションサーバ14に送信するとともに、抽出した帳票データを帳票データ保持部32に格納する。
【0026】
テスト実行装置10は、インタフェース部34、操作検出部42、テスト実行支援部36、帳票印刷支援部38、帳票ファイル保持部40、期待値帳票ファイル保持部54、検証結果保持部56を備える。テスト実行支援部36は、テスト対象システム12のテストに係る各種データ処理を実行する。帳票印刷支援部38は、帳票ファイルの印刷処理に係る各種データ処理を実行する。テスト実行装置10には、帳票印刷アプリケーションのクライアントアプリケーションがインストールされている。このクライアントアプリケーションは、アプリケーションサーバ14および帳票サーバ16にインストールされているサーバアプリケーションに対応する。帳票印刷支援部38は、このクライアントアプリケーションによって実現される。本実施の形態では、アプリケーションサーバ14および帳票サーバ16と同様に、ウイングアークテクノロジーズ社が提供するSVF(登録商標)のクライアントアプリケーションがインストールされている。
【0027】
インタフェース部34は、TCP/IPプロトコルなどの通信プロトコルにしたがいアプリケーションサーバ14と通信する。操作検出部42は、キーボードやマウス等の入力装置に対してユーザが入力した操作を検出する。
【0028】
帳票ファイル保持部40は、テスト対象システム12によって作成された帳票ファイルを保持する。期待値帳票ファイル保持部54は、期待値帳票ファイルを保持する。期待値帳票ファイルは、動作テストにおいてテスト対象システム12が仕様通りに動作した場合に作成される帳票ファイルをいう。期待値帳票ファイルは、テスト担当者によって動作テストの開始前に作成される。テスト担当者は、過去に同様の動作テストを行ったときに取得した帳票ファイルを基に期待値帳票ファイルを作成してもよい。
【0029】
検証結果保持部56は、帳票ファイルと期待値帳票ファイルとが一致するかを検証した結果を示す検証結果情報を保持する。検証結果保持部56は、例えば、動作テストの内容を一意に特定するテストケースIDと、期待値帳票ファイルのファイル名と、期待値帳票ファイルと、帳票ファイルのファイル名と、帳票ファイルと、検証結果(正常・異常の判定結果)を検証結果情報として保持する。
【0030】
帳票印刷支援部38は、作成指示部48、印刷処理部50、削除処理部52、を含む。作成指示部48は、テスト実行支援部36から帳票ファイルの印刷処理の実行指示を受けると、帳票ファイルの作成リクエストをインタフェース部34を介してアプリケーションサーバ14に送信する。作成指示部48は特に、印刷する帳票を一意に識別する識別情報であって、帳票作成入力画面において入力された情報に基づく識別情報を含むリクエストを送信する。また、作成指示部48は、インタフェース部34を介して、アプリケーションサーバ14から作成された帳票ファイルを受信する。作成指示部48は、受信した帳票ファイルを帳票ファイル保持部40に格納する。
【0031】
印刷処理部50は、帳票ファイル保持部40に保持される帳票ファイルを印刷装置に印刷させる。削除処理部52は、帳票ファイルが印刷されると、その帳票ファイルを帳票ファイル保持部40から削除しようとする。本実施の形態では、後述するように、記憶領域設定部58によって帳票ファイル保持部40に保持されたファイルの削除ができないよう帳票ファイル保持部40が設定されているため、削除処理部52による削除は失敗する。
【0032】
テスト実行支援部36は、テスト実行部44、記憶領域設定部58、帳票データ取得部60、削除処理部62、検証部64、検証結果記録部66、検証結果提供部68を含む。テスト実行部44は、テストの実行を指示する操作が入力された場合に、テスト対象システム12に対する自動テストを開始する。テスト実行部44は、所定のURLをウェブブラウザに渡す。ウェブブラウザは、そのURLで特定される帳票作成入力画面をアプリケーションサーバ14から取得し、表示装置に表示させる。テスト実行部44は、所定の操作を帳票作成入力画面に対して実行することにより、帳票印刷支援部38に帳票ファイルの印刷処理の実行を指示する。なお、ウェブページに対する操作は、先行技術文献1に示す方法等、公知の方法を使用してよい。
【0033】
記憶領域設定部58は、帳票ファイル保持部40に格納される帳票ファイルの削除を禁止するよう帳票ファイル保持部40を設定する。以下、このような設定を「削除禁止設定」という。なお、記憶領域設定部58は、帳票印刷支援部38の削除処理部52による削除だけを禁止するよう禁止設定してもよい。記憶領域設定部58は特に、テスト実行部44が帳票印刷支援部38に帳票ファイルの印刷処理の実行を指示する前に、削除禁止設定する。これにより、帳票ファイル保持部40に保持される帳票ファイルは、削除処理部52によって削除されずに帳票ファイル保持部40に残る。
【0034】
また、記憶領域設定部58は、帳票ファイル保持部40に格納された帳票ファイルの削除が可能となるよう帳票ファイル保持部40を設定する。以下、このような設定を「削除禁止解除設定」とよぶ。
【0035】
帳票データ取得部60は、印刷処理が完了すると、削除されずに帳票ファイル保持部40に残った帳票ファイルを取得する。なお、帳票データ取得部60は、帳票ファイル保持部40に格納される帳票ファイルの数を定期的にポーリングし、その数が一定期間変化しなかった場合に、印刷処理が完了したと判断する。削除処理部62は、記憶領域設定部58が帳票ファイル保持部40に対して削除禁止解除設定をした後に、削除されずに帳票ファイル保持部40に残った帳票ファイルを削除する。削除処理部62は、
図2で後述するように、印刷処理の実行前に帳票ファイルを削除する。
【0036】
検証部64は、帳票データ取得部60が取得した帳票ファイルと、それに対応する期待値ファイルとが一致するか否かを検証する。検証部64は、両者が一致する場合、テスト結果が正常と判定する。その一方、両者が不一致の場合、テスト結果が異常と判定する。
【0037】
検証結果記録部66は、検証結果情報を検証結果保持部56へ記録する。検証結果提供部68は、検証結果の表示を指示する操作が入力された場合に、検証結果保持部56に保持された検証結果情報を表示装置に表示させる。例えば、検証結果が異常である場合は、帳票ファイルと期待値帳票ファイルとの不一致部分を強調して表示してもよい。
【0038】
図2は、実施の形態に係るテストシステム100の動作を示すフローチャートである。
テスト担当者は、テスト開始指示をテスト実行装置10へ入力する(S10)。テスト実行支援部36の記憶領域設定部58は、帳票ファイル保持部40に対して削除禁止解除設定をする(S12)。削除処理部62は、帳票ファイル保持部40に保持される帳票ファイルを削除する(S14)。すなわち、削除処理部62は、前回の動作テストにおいて作成された、本来削除されるはずだった帳票ファイルを削除する。記憶領域設定部58は、帳票ファイル保持部40に対して削除禁止設定をする(S16)。
【0039】
テスト実行支援部36のテスト実行部44は、帳票印刷支援部38に帳票ファイルの印刷処理の実行を指示する(S18)。帳票印刷支援部38の作成指示部48は、帳票ファイルの作成リクエストをアプリケーションサーバ14に送信する(S20)。アプリケーションサーバ14の帳票作成部22は、帳票印刷支援部38から受信した帳票作成リクエストに含まれる識別情報に対応した帳票データを帳票サーバ16に要求する(S22)。帳票サーバ16の帳票データ抽出部28は、要求された帳票データをデータベース30から抽出し(S24)、アプリケーションサーバ14に送信する(S26)。アプリケーションサーバ14の帳票作成部22は、帳票サーバ16から受信した帳票データをPDF形式の帳票ファイルに整形し(S28)、テスト実行装置10に送信する(S30)。テスト実行装置10の作成指示部48は、アプリケーションサーバ14から受信した帳票ファイルを帳票ファイル保持部40に格納する(S32)。印刷処理部50は、帳票ファイル保持部40に保持される帳票ファイルを印刷装置18に印刷させる(S34)。
【0040】
削除処理部52は、印刷された帳票ファイルを帳票ファイル保持部40から削除しようとする(S36)。しかしながら、帳票ファイル保持部40に対して削除禁止設定がなされているため、削除処理部52による削除は失敗する。つまり、帳票ファイルは、削除されずに帳票ファイル保持部40に残る。帳票データ取得部60は、帳票ファイル保持部40から帳票ファイルを取得する(S38)。検証部64は、帳票データ取得部60が取得した帳票ファイルが、期待値帳票ファイル保持部54に保持される対応する期待値帳票ファイルと一致するかを検証する(S40)。検証部64は、一致する場合はテスト結果が正常と判定し、不一致の場合は異常と判定する。検証結果記録部66は、この検証結果を検証結果保持部56に格納する(S42)。検証結果提供部68は、ユーザの要求に応じて、検証結果情報を表示装置に表示させる(S44)。
【0041】
(比較例)
図3は、実施の形態に係るテストシステム100と比較すべき、比較例に係るテストシステム200の機能および構成を示すブロック図である。
図4は、比較例に係るテストシステム200の動作を示すフローチャートである。比較例に係るテストシステム200と実施の形態に係るテストシステム100との主な違いは、テスト実行支援部36が記憶領域設定部58を有していない点である。
【0042】
比較例に係るテストシステム200の場合、帳票ファイル保持部40に対して削除禁止設定がされないため、削除処理部52によって帳票ファイル保持部40から帳票ファイルが削除される(S36)。このため、帳票ファイル保持部40から検証に使用するための帳票ファイルの電子データを取得できない。
【0043】
以下、これを踏まえて本実施の形態に係るテスト実行装置10の効果を説明する。本実施の形態に係るテスト実行装置10によると、本来は削除されてしまう帳票ファイルが削除されずにテスト実行装置10に残るため、帳票ファイルの電子データが取得できる。そのため、帳票ファイルと期待値帳票ファイルとが一致するか否かをテスト実行装置10によって検証することが可能となる。これにより、動作テストの結果検証におけるユーザの負荷が軽減される。また、目視で確認する場合に比べ、結果検証に係る時間を短縮でき、効率的な動作テストを実現できる。
【0044】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下、変形例を示す。
【0045】
(変形例1)
実施の形態では、帳票データ取得部60がPDF形式の帳票ファイルを取得し、検証部64がこの帳票ファイルを用いて検証する場合について説明したが、これに限られない。例えばPDF形式の帳票ファイルをPNG、JPEG、GIF、BMP、TIFなどの画像フィルに変換してもよい。この場合、テスト実行支援部36は、変換部をさらに備える。変換部は、帳票データ取得部60が取得したPDF形式の帳票ファイルを画像ファイルに変換する。検証部64は、この画像ファイルと期待値帳票ファイルとが一致するか否かを検証する。もちろん、この場合、期待値帳票ファイルには、画像ファイルを用意する。
【0046】
(変形例2)
実施の形態では、帳票データ取得部60は、帳票ファイル保持部40に保持される帳票ファイルを取得する場合について説明したが、これに限られない。例えば、帳票データ取得部60は、アプリケーションサーバ14の帳票ファイル保持部24に保持される帳票ファイルを取得してもよい。帳票ファイルは、予め設定した生成規則にしたがったファイル名で出力される。したがって、帳票データ取得部60は、ファイル名によって帳票ファイルを特定し、帳票ファイル保持部24から取得する。また例えば、帳票データ取得部60は、帳票サーバ16の帳票データ保持部32に保持される帳票データを取得してもよい。この場合も、帳票データ取得部60はファイル名によって帳票データを特定し、帳票データを取得する。これらの場合、帳票ファイル保持部40の設定を変更する処理が不要となるため、処理が比較的高速になる。
【0047】
(変形例3)
実施の形態では、帳票ファイル保持部40に保持される帳票ファイルを取得する場合について説明したが、これに限られない。テスト実行支援部36がプロキシ機能を備え、アプリケーションサーバ14が帳票印刷支援部38に送信した帳票ファイルを、帳票印刷支援部38が取得する前に取得してもよい。この場合、テスト実行支援部36は、プロキシ部をさらに備える。プロキシ部は、テスト実行装置10の帳票印刷支援部38とアプリケーションサーバ14との間で送受される情報を中継し、その中継の際に帳票ファイルを取得する。プロキシ部は、取得した帳票ファイルを所定の記憶領域に保持する。具体的には、プロキシ部は、まず、その記憶領域の保持されているステータスファイルに「進行中」のステータスを書き込む。続いて、プロキシ部は、その記憶領域に取得した帳票ファイルを保持する。変形例1のように帳票ファイルをPDF形式の帳票ファイルから画像ファイルに変換する場合は、このタイミングで変換する。プロキシ部は、帳票ファイルを記憶領域に格納すると、ステータスファイルに「完了」のステータスを書き込む。変換部が帳票ファイルを画像ファイルに変換する場合は、変換後に変換部が「完了」のステータスを書き込む。帳票データ取得部60は、ステータスファイルを定期的にポーリングし、ステータスファイルに書き込まれたステータスが「完了」になったことを検知すると、記憶領域から帳票ファイルを取得する。
【0048】
上述した実施の形態および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施の形態および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。