(57)【特許請求の範囲】
【請求項１】
外部装置に対して要求電文を送信し、前記外部装置から前記要求電文に応じた返信電文を受信して、前記返信電文を用いた処理を行う情報処理装置についてのテストを支援するテスト支援装置であり、
前記外部装置から返信される前記返信電文に対応する外部データを記憶するデータベースから前記返信電文を読み出す読出条件をデータベース言語で記述した読出命令と、前記要求電文の送信元の処理とが対応付けられて予め設定されており、前記要求電文に含まれる送信元の処理を特定可能な電文コードに基づき、前記送信元の処理と対応付けられた前記読出命令を特定し、特定された前記読出命令を実行することにより、前記要求電文に応じた外部データを読み出す読出部と、
前記読出部によって読み出された前記外部データを前記返信電文のフォーマットに設定して前記返信電文を模擬した模擬電文を生成する電文生成部と
を備えるテスト支援装置。
【請求項２】
前記読出部は、読出条件を引数としてとる前記読出命令に対して、前記要求電文に応じて返信電文の生成に必要なキー情報を引数として設定した上で、前記読出命令を実行する
請求項１に記載のテスト支援装置。
【請求項３】
前記データベースは、前記返信電文の種別毎に、その種別の返信電文に含まれる各項目を含むテーブルを有し、
前記読出命令は、対応する処理で生成される要求電文に応じた返信電文についてのテーブルから外部データを読み出す命令である
請求項１又は２に記載のテスト支援装置。
【請求項４】
外部装置に対して要求電文を送信し、前記外部装置から前記要求電文に応じた返信電文を受信して、前記返信電文を用いた処理を行う情報処理装置についてのテストを支援するテスト支援方法であり、
読出部が、前記外部装置から返信される前記返信電文に対応する外部データを記憶するデータベースから前記返信電文を読み出す読出条件をデータベース言語で記述した読出命令と、前記要求電文の送信元の処理とが対応付けられて予め設定されており、前記要求電文に含まれる送信元の処理を特定可能な電文コードに基づき、前記送信元の処理と対応付けられた前記読出命令を特定し、特定された前記読出命令を実行することにより、前記要求電文に応じた外部データを読み出し、
電文生成部が、前記読出部によって読み出された前記外部データを前記返信電文のフォーマットに設定して前記返信電文を模擬した模擬電文を生成するテスト支援方法。
【請求項５】
外部装置に対して要求電文を送信し、前記外部装置から前記要求電文に応じた返信電文を受信して、前記返信電文を用いた処理を行う情報処理装置についてのテストを支援するテスト支援プログラムであり、
前記外部装置から返信される前記返信電文に対応する外部データを記憶するデータベースから前記返信電文を読み出す読出条件をデータベース言語で記述した読出命令と、前記要求電文の送信元の処理とが対応付けられて予め設定されており、前記要求電文に含まれる送信元の処理を特定可能な電文コードに基づき、前記送信元の処理と対応付けられた前記読出命令を特定し、特定された前記読出命令を実行することにより、前記要求電文に応じた外部データを読み出す読出処理と、
前記読出処理によって読み出された前記外部データを前記返信電文のフォーマットに設定して前記返信電文を模擬した模擬電文を生成する電文生成処理と
を行うテスト支援装置としてコンピュータを機能させるテスト支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電文インタフェースにより外部装置と接続する情報処理装置のテストを支援する技術に関する。
【背景技術】
【０００２】
外部装置に対して要求電文を送信し、外部装置から要求電文に応じた返信電文を受信して、返信電文を用いた処理を行う情報処理装置がある。
外部装置と情報処理装置とを含むコンピュータシステムを開発する場合には、情報処理装置の内部結合テストを行う段階においては、外部装置が完成していない場合がある。例えば、情報処理装置の内部結合テストを行う段階においては、外部装置も内部結合テストを行う段階であることが考えられる。外部装置が完成していないと、外部装置を利用した内部結合テストを行うことはできない。そのため、外部装置が完成していない場合には、外部装置から返される返信電文を模擬して情報処理装置の内部結合テストが行われる。
【０００３】
特許文献１には、アプリケーションのテストの効率化を図る技術について記載されている。具体的には、特許文献１には、アプリケーションとデータベースサーバとの間に、疑似データベースサーバを設けて、テストを行うことが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０７−２２５７０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
外部装置から返される返信電文を模擬して情報処理装置の内部結合テストを行う場合には、テストシナリオ毎に、一連の返信電文が用意される。そして、テストシナリオを指定すると、指定されたテストシナリオに対応する一連の返信電文が順に受信されたとして、情報処理装置の処理が行われる。例えば、認証処理が行われ、その後に予約処理が行われる場合には、認証処理に対応する返信電文と、予約処理に対応する返信電文とが用意される。そして、初めに認証処理に対応する返信電文が受信され、次に予約処理に対応する返信電文が受信されたとして、処理が行われる。
返信電文の作成は人手で行われるため、テストシナリオ毎に一連の返信電文を用意するには、手間がかかる。また、返信電文の仕様が変更されると、全てのテストシナリオについての一連の返信電文における対応箇所を全て修正しなければならず、手間がかかる。例えば、複数のテストシナリオに認証処理が含まれており、認証処理に対応する返信電文の仕様が変更されたとする。この場合には、各テストシナリオについての認証処理に対応する返信電文を修正しなければならない。
【０００６】
特許文献１に記載された技術では、外部装置に対して要求電文を送信し、外部装置から要求電文に応じた返信電文を受信して、返信電文を用いた処理を行う情報処理装置の内部結合テストを効率化することはできない。
【０００７】
この発明は、外部装置に対して要求電文を送信し、外部装置から要求電文に応じた返信電文を受信して、返信電文を用いた処理を行う情報処理装置の内部結合テストを効率化可能にすることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係るテスト支援装置は、
外部装置に対して要求電文を送信し、前記外部装置から前記要求電文に応じた返信電文を受信して、前記返信電文を用いた処理を行う情報処理装置についてのテストを支援するテスト支援装置であり、
前記外部装置から返信される前記返信電文に対応する外部データを記憶するデータベースから、前記要求電文に応じた外部データを読み出す読出命令を実行する読出部と、
前記読出部によって実行された前記読出命令により読み出された前記外部データを前記返信電文のフォーマットに設定して前記返信電文を模擬した模擬電文を生成する電文生成部と
を備える。
【発明の効果】
【０００９】
この発明では、返信電文に対応する外部データを記憶するデータベースから、要求電文に応じた外部データを読み出し、外部データを返信電文のフォーマットに設定して模擬電文を生成する。これにより、複数のテストシナリオで共通の外部データを利用したテストが可能になり、テストシナリオ毎に一連の返信電文を用意する必要がなくなる。その結果、返信電文を用意することにかかる手間が減り、内部結合テストを効率化することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係る開発完了後の対象システム１００の構成図。
【図２】実施の形態１に係るアプリケーションサーバ１０の内部結合テスト時のテスト環境２００の構成図。
【図３】実施の形態１に係る内部結合テスト時のテスト環境２００のソフトウェア構成の具体例を示す図。
【図４】実施の形態１に係るアプリケーションサーバ１０と、クライアント端末２０と、ウェブサーバ３０と、外部装置４０と、データベースサーバ５０と、入力端末６０とのハードウェア構成の具体例を示す図。
【図５】実施の形態１に係る開発完了後の対象システム１００の動作例の説明図。
【図６】実施の形態１に係るデータベース５１が有するテーブル５３の具体例を示す図。
【図７】実施の形態１に係る読出命令５２の具体例を示す図。
【図８】実施の形態１に係るアプリケーションサーバ１０の内部結合試験時のテスト環境２００における各装置の動作を示すフローチャート。
【図９】実施の形態１に係るアプリケーションサーバ１０の内部結合試験時のテスト環境２００における各装置の動作の説明図。
【図１０】実施の形態１に係る仕様変更後のテーブル５３の具体例を示す図。
【図１１】実施の形態１に係る仕様変更後の読出命令５２の具体例を示す図。
【図１２】実施の形態１に係るテスト支援装置７０が情報処理装置１０１とは別に実装された場合のテスト環境２００の構成図。
【発明を実施するための形態】
【００１１】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１を参照して、実施の形態１に係る開発完了後の対象システム１００の構成を説明する。
実施の形態１では、対象システム１００は、ウェブシステムであるとする。しかし、対象システム１００は、ウェブシステムに限らず、クライアントサーバシステムといった他の形態のシステムであってもよい。
但し、対象システム１００は、後述するように、テスト対象の装置である情報処理装置１０１が、外部装置４０に対して要求電文を送信し、外部装置４０から要求電文に応じた返信電文を受信して、返信電文を用いた処理を行うことが前提である。
【００１２】
開発完了後の対象システム１００は、アプリケーションサーバ１０と、クライアント端末２０と接続されたウェブサーバ３０と、外部装置４０とを備える。アプリケーションサーバ１０は、伝送路を介して、ウェブサーバ３０及び外部装置４０と接続される。アプリケーションサーバ１０は、テスト対象の装置である情報処理装置１０１である。
【００１３】
アプリケーションサーバ１０は、ウェブフレームワーク１１を用いて、業務アプリケーション１２であるプレゼンテーションロジック１２１及びビジネスロジック１２２が実装されている。また、アプリケーションサーバ１０は、画面表示プログラム１３及び電文送受信部１４が実装されている。
クライアント端末２０による操作がウェブサーバ３０を介してアプリケーションサーバ１０のウェブフレームワーク１１に入力される。すると、アプリケーションサーバ１０では、クライアント端末２０による操作に応じて、業務アプリケーション１２が処理を行い、画面表示プログラム１３が処理の結果をウェブサーバ３０を介してクライアント端末２０に出力する。
【００１４】
この際、操作によっては、業務アプリケーション１２は、ウェブフレームワーク１１及び電文送受信部１４を介して外部装置４０に対して要求電文を送信し、ウェブフレームワーク１１及び電文送受信部１４を介して外部装置４０から要求電文に応じた返信電文を受信して、返信電文を用いた処理を行う場合がある。
例えば、クライアント端末２０から認証依頼が入力された場合には、業務アプリケーション１２は、認証処理を行う外部装置４０に対して、ユーザＩＤ（ＩＤｅｎｔｉｆｉｅｒ）及びパスワードといった認証処理に必要な情報を含む要求電文を送信する。すると、外部装置４０は、認証処理を行い、認証結果に関する情報を含む返信電文をアプリケーションサーバ１０に返す。業務アプリケーション１２は、返信電文を受信すると、返信電文に基づき認証結果画面を作成する。そして、画面表示プログラム１３は、認証結果画面をウェブサーバ３０を介してクライアント端末２０に出力する。
【００１５】
ここで、電文送受信部１４は、要求電文を送信し、返信電文を受信する機能を提供する。つまり、電文送受信部１４は、ウェブフレームワーク１１又は業務アプリケーション１２によって作成された要求電文を、ネットワークを介して外部装置４０に送信する機能を提供する。また、電文送受信部１４は、外部装置４０から送信された返信電文を、ネットワークを介して受信する機能を提供する。
【００１６】
図２を参照して、実施の形態１に係るアプリケーションサーバ１０の内部結合テスト時のテスト環境２００の構成を説明する。
アプリケーションサーバ１０の内部結合テスト時には、外部装置４０が完成していない可能性がある。外部装置４０が完成していない場合には、外部装置４０を利用した内部結合テストを行うことはできない。そのため、内部結合テスト時のテスト環境２００は、外部装置４０を用いない構成になる。同様に、ウェブサーバ３０も完成していない可能性があるため、内部結合テスト時のテスト環境２００は、ウェブサーバ３０も用いない構成になる。
具体的には、テスト環境２００は、外部装置４０に代えてデータベースサーバ５０を備え、ウェブサーバ３０に代えて入力端末６０を備える。また、情報処理装置１０１であるアプリケーションサーバ１０は、電文送受信部１４に代えて、テスト支援装置７０を備える。
【００１７】
データベースサーバ５０は、データベース５１と、複数の読出命令５２とを備える。
データベース５１は、外部装置４０から返信される返信電文に対応する外部データを記憶する。実施の形態１では、データベース５１は、返信電文の種別毎に、その種別の返信電文に含まれる各項目を含むテーブル５３を有するリレーショナルデータベースである。
読出命令５２は、要求電文の送信元の処理毎に設けられる。読出命令５２は、要求電文に応じた返信電文についてのテーブルから外部データを読み出す命令である。読出命令５２は、具体例としては、ストアードプロシージャである。読出命令５２がストアードプロシージャの場合には、データベース５１の機能により実現される。
【００１８】
入力端末６０は、ブラウザ６１を備える。ブラウザ６１が操作されると、アプリケーションサーバ１０のウェブフレームワーク１１に操作に応じた入力がされる。
【００１９】
テスト支援装置７０は、情報処理装置１０１についてのテストを支援する装置である。実施の形態１では、テスト支援装置７０は、情報処理装置１０１であるアプリケーションサーバ１０に組み込まれて実現される。
テスト支援装置７０は、機能構成要素として、読出部７１と、電文生成部７２とを備える。テスト支援装置７０の機能構成要素の機能は、ソフトウェアにより実現される。したがって、実施の形態１では、テスト支援装置７０の機能構成要素の機能を実現するソフトウェアがアプリケーションサーバ１０に導入されることにより、テスト支援装置７０がアプリケーションサーバ１０に組み込まれる。
なお、テスト支援装置７０は、データベース５１にアクセスするための認証情報といったデータベース５１へのアクセスに必要な情報が設定されている。
【００２０】
図３を参照して、実施の形態１に係る内部結合テスト時のテスト環境２００のソフトウェア構成の具体例を説明する。
アプリケーションサーバ１０は、Ｗｉｎｄｏｗｓ（登録商標）といったＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）上に、Ｅｃｌｉｐｓｅ（登録商標）と、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｅｒといったミドルウェアが導入される。ミドルウェア上に、ウェブフレームワーク１１が実装され、ウェブフレームワーク１１上に業務アプリケーション１２及びテスト支援装置７０の機能構成要素の機能が実現される。
データベースサーバ５０は、Ｗｉｎｄｏｗｓ（登録商標）といったＯＳ上に、リレーショナルデータベースであるデータベース５１が導入される。
入力端末６０は、Ｗｉｎｄｏｗｓ（登録商標）といったＯＳ上に、ブラウザ６１が導入される。
【００２１】
図４を参照して、実施の形態１に係るアプリケーションサーバ１０と、クライアント端末２０と、ウェブサーバ３０と、外部装置４０と、データベースサーバ５０と、入力端末６０とのハードウェア構成の具体例を説明する。
アプリケーションサーバ１０と、クライアント端末２０と、ウェブサーバ３０と、外部装置４０と、データベースサーバ５０と、入力端末６０とは、コンピュータである。
アプリケーションサーバ１０と、クライアント端末２０と、ウェブサーバ３０と、外部装置４０と、データベースサーバ５０と、入力端末６０とは、プロセッサ９０１と、メモリ９０２と、ストレージ９０３と、通信インタフェース９０４とのハードウェアを備える。プロセッサ９０１は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【００２２】
プロセッサ９０１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ９０１は、具体例としては、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００２３】
メモリ９０２は、データを一時的に記憶する記憶装置である。メモリ９０２は、具体例としては、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００２４】
ストレージ９０３は、データを保管する記憶装置である。ストレージ９０３は、具体例としては、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。また、ストレージ９０３は、ＳＤ（登録商標，Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード、ＣＦ（ＣｏｍｐａｃｔＦｌａｓｈ，登録商標）、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）といった可搬記録媒体であってもよい。
【００２５】
通信インタフェース９０４は、外部の装置と通信するためのインタフェースである。通信インタフェース９０４は、具体例としては、Ｅｔｈｅｒｎｅｔ（登録商標）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＨＤＭＩ（登録商標，Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）のポートである。
【００２６】
ストレージ９０３には、各装置のソフトウェアであるプログラムが格納されている。このプログラムは、プロセッサ９０１によりメモリ９０２に読み込まれ、プロセッサ９０１によって実行される。これにより、各装置の機能が実現される。
【００２７】
＊＊＊動作の説明＊＊＊
図５から図１１を参照して、実施の形態１に係るアプリケーションサーバ１０の内部結合試験時のテスト環境２００における各装置の動作を説明する。
実施の形態１に係るアプリケーションサーバ１０の内部結合試験時のテスト環境２００におけるテスト支援装置７０の動作手順は、実施の形態１に係るテスト支援方法に相当する。また、実施の形態１に係るアプリケーションサーバ１０の内部結合試験時のテスト環境２００におけるテスト支援装置７０の動作を実現するプログラムは、実施の形態１に係るテスト支援プログラムに相当する。
【００２８】
図５を参照して、実施の形態１に係る開発完了後の対象システム１００の動作例を説明する。
図５は、認証処理の動作例を示している。認証処理では、認証処理に必要な情報（ここでは、ユーザＩＤ及びパスワードとする）を含む要求電文がアプリケーションサーバ１０から外部装置４０に送信される。すると、外部装置４０では、ユーザＩＤ及びパスワードに基づき認証処理が行われる。そして、認証が成功した場合には、ユーザＩＤが示すユーザのユーザ種別と、氏名と、生年月日と、メールアドレスと、有効期限といった情報を含む返信電文が外部装置４０からアプリケーションサーバ１０に返される。
【００２９】
図６を参照して、実施の形態１に係るデータベース５１が有するテーブル５３の具体例を説明する。
データベース５１は、返信電文の種別毎に、その種別の返信電文に含まれる各項目を含むテーブル５３を有する。図６は、図５に示す返信電文に対応するテーブル５３である“ｓｔａｔｕｓ＿ｔａｂｌｅ”を示す。
図５に示す返信電文に対応するテーブル５３は、キー情報であるユーザＩＤと、図５に示す返信電文に含まれるユーザ種別と、氏名と、生年月日と、メールアドレスと、有効期限との項目を含む。
【００３０】
図７を参照して、実施の形態１に係る読出命令５２の具体例を説明する。
読出命令５２は、要求電文の送信元の処理毎に設けられる。図７では、要求電文の送信元の処理を特定可能な電文コード毎に、読出命令５２が記憶されている。図７の１行目の読出命令５２は、認証処理に対応して設けられた読出命令５２である。
読出命令５２は、読出条件を引数としてとる。ここでは、データベース５１はリレーショナルデータベースであり、読出命令５２はＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ
Ｌａｎｇｕａｇｅ）で記述される。そのため、読出命令５２は、読出条件を指定するＷＨＥＲＥ句に引数が設定されるようになっている。図７の１行目の読出命令５２では、ＷＨＥＲＥ句におけるユーザＩＤの欄に引数が設定されるようになっている。
【００３１】
図８及び図９を参照して、実施の形態１に係るアプリケーションサーバ１０の内部結合試験時のテスト環境２００における各装置の動作を説明する。
データベース５１の各テーブル５３と、各読出命令５２とは、事前に設定されているものとする。
【００３２】
（ステップＳ１１：入力操作処理）
入力端末６０のブラウザ６１がユーザによって操作され、アプリケーションサーバ１０のウェブフレームワーク１１に操作に応じた入力がされる。すると、ウェブフレームワーク１１を介して入力が業務アプリケーション１２に渡される。ここでは、例えば、プロセス間通信により情報を送信することを、渡すと表現する。
【００３３】
（ステップＳ１２：ビジネスロジック処理）
アプリケーションサーバ１０の業務アプリケーション１２は、ステップＳ１１で渡された入力に応じた処理が、ビジネスロジック１２２によって実行される。そして、処理の中で要求電文が生成される。業務アプリケーション１２は、要求電文が生成されると、要求電文をウェブフレームワーク１１に渡す。すると、ウェブフレームワーク１１は、渡された要求電文をテスト支援装置７０の読出部７１に渡す。
ここで、要求電文は、要求電文の送信元の処理を特定可能な電文コードと、返信電文の生成に必要なキー情報とを含む。
【００３４】
（ステップＳ１３：読出命令実行処理）
テスト支援装置７０の読出部７１は、外部装置４０から返信される返信電文に対応する外部データを記憶するデータベース５１から、要求電文に応じた外部データを読み出す読出命令を実行する。
具体的には、読出部７１は、データベースサーバ５０が備える複数の読出命令５２のうち、要求電文の送信元の処理に応じた読出命令５２を特定する。この際、読出部７１は、要求電文に含まれる電文コードにより、要求電文の送信元の処理に応じた読出命令５２を特定する。読出部７１は、特定された読出命令５２を対象として、対象の読出命令５２に対して、要求電文に含まれるキー情報を引数として設定した上で、対象の読出命令５２を実行する。例えば、図７の１行目の読出命令５２が対象の読出命令５２の場合には、キー情報であるユーザＩＤをＷＨＥＲＥ句に設定した上で、対象の読出命令５２を実行する。具体例としては、ユーザＩＤが“ＩＤ００１”であれば、読出命令５２は、“ｓｅｌｅｃｔ  ユーザ種別，氏名，生年月日，メールアドレス，有効期限  ｆｒｏｍ  ｓｔａｔｕｓ＿ｔａｂｌｅ  ｗｈｅｒｅ  ｕｓｅｒ＿ｉｄ＝‘ＩＤ００１’”となる。
【００３５】
（ステップＳ１４：データ抽出処理）
データベースサーバ５０のデータベース５１は、ステップＳ１３で実行された読出命令５２により、読出命令５２の読出先のテーブル５３から外部データを抽出する。データベース５１は、抽出された外部データをワークテーブルに書き込む。
【００３６】
（ステップＳ１５：電文生成処理）
テスト支援装置７０の電文生成部７２は、読出命令５２により読み出された外部データを返信電文のフォーマットに設定して返信電文を模擬した模擬電文を生成する。
具体的には、電文生成部７２は、ステップＳ１４で抽出されたデータをデータベース５１のワークテーブルから読み出す。電文生成部７２は、読み出された外部データを返信電文のフォーマットに設定して返信電文を模擬した模擬電文を生成する。そして、模擬電文を返信電文として、ウェブフレームワーク１１に渡す。すると、ウェブフレームワーク１１は、渡された返信電文を業務アプリケーション１２に渡す。
例えば、図５に示すように返信電文は、ユーザ種別と、氏名と、生年月日と、メールアドレスと、有効期限とから構成されているとする。ここで、ユーザ種別は２バイト、氏名は１６バイト、生年月日は８バイト、メールアドレスは６４バイト、有効期限は８バイトであったとする。そして、“ｓｅｌｅｃｔ  ユーザ種別，氏名，生年月日，メールアドレス，有効期限  ｆｒｏｍ  ｓｔａｔｕｓ＿ｔａｂｌｅ  ｗｈｅｒｅ  ｕｓｅｒ＿ｉｄ＝‘ＩＤ００１’”という読出命令５２により、図６に示す“ｓｔａｔｕｓ＿ｔａｂｌｅ”から外部データが抽出されたとする。この場合には、外部データに含まれるユーザ種別と、氏名と、生年月日と、メールアドレスと、有効期限とが順に、２バイト、１６バイト、８バイト、６４バイト、８バイトで表されたテキストデータが模擬電文として生成される。
【００３７】
（ステップＳ１６：ＢＬ再開処理）
アプリケーションサーバ１０の業務アプリケーション１２は、ステップＳ１５で渡された返信電文に基づき、処理を再開する。業務アプリケーション１２は、処理が終了すると、処理結果をウェブフレームワーク１１に渡す。すると、ウェブフレームワーク１１は、処理結果を画面表示プログラム１３に渡す。
【００３８】
（ステップＳ１７：結果出力処理）
画面表示プログラム１３は、ステップＳ１６で渡された処理結果に基づき出力画面を生成する。画面表示プログラム１３は、生成された出力画面を入力端末６０のブラウザ６１に送信して、表示させる。
【００３９】
図１０及び図１１を参照して、実施の形態１に係る返信電文の仕様変更時の処理について説明する。
返信電文の仕様変更がされると、データベース５１のテーブル５３と、読出命令５２とに変更が加えられる。しかし、返信電文の仕様変更がされても、業務アプリケーション１２に対する変更は不要である。つまり、内部結合テストの対象であるアプリケーションサーバ１０のプログラムに対する変更は不要であり、データベースサーバ５０に関してのみ変更される。
具体例として、図５に示す返信電文に承認日が追加されたとする。この場合には、図１０に示すように、返信電文に対応するテーブル５３に承認日の項目が追加される。また、図１１の１行目に示すように、読出命令５２の抽出対象に承認日の項目が追加される。なお、複数のテストシナリオにおいて、図５に示す認証処理が実行される場合であっても、テストシナリオ毎に変更は不要であり、共通で用いられるテーブル５３及び読出命令５２の変更だけが必要になる。
【００４０】
＊＊＊実施の形態１の効果＊＊＊
以上のように、実施の形態１に係るテスト支援装置７０は、情報処理装置１０１であるアプリケーションサーバ１０の内部結合テストを行う場合に、返信電文に対応する外部データを記憶するデータベース５１から、要求電文に応じた外部データを読み出し、外部データを返信電文のフォーマットに設定して模擬電文を生成する。これにより、複数のテストシナリオで共通の外部データを利用したテストが可能になり、テストシナリオ毎に一連の返信電文を用意する必要がなくなる。その結果、返信電文を用意することにかかる手間が減り、内部結合テストを効率化することが可能になる。
【００４１】
例えば、予約処理についてのテストシナリオと、予約照会についてのテストシナリオとの両方において、初めに認証処理が行われるとする。この場合には、予約処理についてのテストシナリオについては、認証処理の返信電文と、その後の処理についての返信電文とを用意する必要あった。また、予約照会についてのテストシナリオについては、認証処理の返信電文と、その後の処理についての返信電文とを用意する必要あった。つまり、両方のテストシナリオそれぞれについて、認証処理の返信電文を用意する必要があった。
ここで、情報処理装置１０１の規模によっては、テストシナリオは数千に及ぶ場合がある。この場合には、多数のテストシナリオにおいて共通する返信電文が用いられる可能性がある。そのため、テストシナリオ毎に一連の返信電文を用意する作業は、負荷が大きかった。また、返信電文に仕様変更があった場合には、各テストシナリオにおける対象の返信電文をそれぞれ修正する必要があった。そのため、返信電文に仕様変更があった場合における作業も負荷が大きかった。
しかし、実施の形態１に係るテスト支援装置７０は、テストシナリオ毎に一連の返信電文を用意する必要がなくなる。そのため、返信電文を用意する作業の負荷が減り、返信電文に仕様変更があった場合における作業の負荷も減る。
【００４２】
＊＊＊他の構成＊＊＊
＜変形例１＞
実施の形態１では、テスト支援装置７０は、テスト対象の装置である情報処理装置１０１に組み込まれて実現された。しかし、テスト支援装置７０は、情報処理装置１０１とは別に実装されてもよい。
この場合には、図１２に示すように、テスト支援装置７０は、情報処理装置１０１の電文送受信部１４によって送信された要求電文を受信し、返信電文を模擬した模擬電文を電文送受信部１４に送信すればよい。また、この場合には、テスト支援装置７０は、図４に示すようなアプリケーションサーバ１０等と同様のハードウェア構成である。
【００４３】
＜変形例２＞
実施の形態１では、各機能構成要素がソフトウェアで実現された。しかし、変形例２として、各機能構成要素はハードウェアで実現されてもよい。この変形例２について、実施の形態１と異なる点を説明する。
【００４４】
各機能構成要素がハードウェアで実現される場合には、テスト支援装置７０は、プロセッサ９０１とメモリ９０２とストレージ９０３とに代えて、電子回路を備える。電子回路は、各機能構成要素と、メモリ９０２と、ストレージ９０３との機能とを実現する専用の回路である。
【００４５】
電子回路としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）が想定される。
各機能構成要素を１つの電子回路で実現してもよいし、各機能構成要素を複数の電子回路に分散させて実現してもよい。
【００４６】
＜変形例３＞
変形例３として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
【符号の説明】
【００４７】
１００  対象システム、１０１  情報処理装置、２００  テスト環境、１０  アプリケーションサーバ、１１  ウェブフレームワーク、１２  業務アプリケーション、１２１  プレゼンテーションロジック、１２２  ビジネスロジック、１３  画面表示プログラム、１４  電文送受信部、２０  クライアント端末、３０  ウェブサーバ、４０  外部装置、５０  データベースサーバ、５１  データベース、５２  読出命令、５３  テーブル、６０  入力端末、６１  ブラウザ、７０  テスト支援装置、７１  読出部、７２  電文生成部、９０１  プロセッサ、９０２  メモリ、９０３  ストレージ、９０４  通信インタフェース。
【要約】      （修正有）【課題】外部装置に対して要求電文を送信し、外部装置から要求電文に応じた返信電文を受信して、返信電文を用いた処理を行う情報処理装置の内部結合テストを効率化するテスト支援装置を提供する。【解決手段】情報処理装置１０１についてのテストを支援するテスト支援装置７０は、読出部７１と、電文生成部７２とを備える。ウェブフレームワーク１１は、業務アプリケーション１２から渡された要求電文をテスト支援装置の読出部に渡す。テスト支援装置の読出部は、外部装置から返信される返信電文に対応する外部データを記憶するデータベース５１から、要求電文に応じた外部データを読み出す読出命令を実行する。電文生成部は、読出部によって実行された読出命令により読み出された外部データを返信電文のフォーマットに設定して返信電文を模擬した模擬電文を生成する。ウェブフレームワークは、電文生成部から渡された返信電文を業務アプリケーションに渡す。【選択図】図２【図１】
0006818819.tif 000002
【図２】
0006818819.tif 000003
【図３】
0006818819.tif 000004
【図４】
0006818819.tif 000005
【図５】
0006818819.tif 000006
【図６】
0006818819.tif 000007
【図７】
0006818819.tif 000008
【図８】
0006818819.tif 000009
【図９】
0006818819.tif 000010
【図１０】
0006818819.tif 000011
【図１１】
0006818819.tif 000012
【図１２】
0006818819.tif 000013