JP2001229047A - サーバプロセス試験システム、サーバプロセス試験フレームワークを記録したコンピュータ読み取り可能な記録媒体、およびサーバプロセス試験プログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents

サーバプロセス試験システム、サーバプロセス試験フレームワークを記録したコンピュータ読み取り可能な記録媒体、およびサーバプロセス試験プログラムを記録したコンピュータ読み取り可能な記録媒体

Info

Publication number
JP2001229047A
JP2001229047A JP2000035815A JP2000035815A JP2001229047A JP 2001229047 A JP2001229047 A JP 2001229047A JP 2000035815 A JP2000035815 A JP 2000035815A JP 2000035815 A JP2000035815 A JP 2000035815A JP 2001229047 A JP2001229047 A JP 2001229047A
Authority
JP
Japan
Prior art keywords
server process
class
test
test item
procedure
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
JP2000035815A
Other languages
English (en)
Inventor
Ryuichi Hosoya
谷 竜 一 細
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2000035815A priority Critical patent/JP2001229047A/ja
Publication of JP2001229047A publication Critical patent/JP2001229047A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

(57)【要約】 【課題】 試験項目の変更や追加等に対応してその構成
を容易に変更および拡張することができるサーバプロセ
ス試験システムを提供することを目的とする。 【解決手段】 会議室予約エンジン試験フレームワーク
は、クライアントプロセスを模倣して会議室予約エンジ
ン2aを呼び出すClientクラス13と、試験項目の内容
に従って会議室予約エンジン2aの所定の機能の呼び出
しを所定の手順で実行するYobidashiSequenceクラス1
7と、予約用データを生成するDataGeneratorクラス1
8と、会議室予約エンジン2aの配置形態に起因した呼
び出し手順の差異を補正するHaichiKeitaiクラス19と
を備えている。また、会議室予約エンジン試験フレーム
ワークは、抽象クラスとして定義されたクラス17,1
8,19をそれぞれ継承してなる具象クラスの中から、
試験項目定義ファイル20に基づいて、試験項目の内容
に対応した最適な具象クラスを選択するKoumokuFactory
クラス16を備えている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、クライアントプロ
セスから呼び出されて各種の機能を提供するサーバプロ
セスを試験するためのサーバプロセス試験システムに係
り、とりわけ、試験項目の変更や追加等に対応してその
構成を容易に変更および拡張することができるサーバプ
ロセス試験システムに関する。なお、本明細書におい
て、クライアントプロセスとは呼び出す側のプロセスを
意味し、サーバプロセスとは呼び出される側のプロセス
を意味する。
【0002】
【従来の技術】従来から、あらかじめ定められた試験項
目に従ってサーバプロセスの所定の機能を所定の手順で
呼び出すことによりサーバプロセスを試験するサーバプ
ロセス試験プログラムが知られている。
【0003】このようなサーバプロセス試験プログラム
において、複数種類の試験項目に従って試験を行う場合
には、従来、試験項目の番号等によって処理を分岐させ
た上で試験項目ごとの処理を実行させるのが一般的であ
る。具体的には例えば、サーバプロセス試験プログラム
に次のような条件分岐コードを組み込むのが一般的であ
る。なお、このような条件分岐コードにおいて、一箇所
の条件分岐コードにおける分岐数は試験項目数に等しく
なる。
【0004】if 試験項目=1 then (試験項目1の処
理) else if 試験項目=2 then (試験項目2の処理) ...
【0005】
【発明が解決しようとする課題】ところで、このような
サーバプロセスに対する試験項目には、サーバプロセス
の配置形態や、サーバプロセスを呼び出すクライアント
プロセス数、サーバプロセスの所定の機能の呼び出しを
実行する手順(シーケンス)、およびサーバプロセスへ
の呼び出しを実行する際に必要とされる試験用データの
生成方法等の各種のパラメータが絡んでおり、これらの
パラメータに与えられる要素数が増加するにつれて試験
項目数が組合せ論的に増大することが知られている。
【0006】しかしながら、上述した従来のサーバプロ
セス試験プログラムでは、条件分岐コード内に全ての試
験項目に対応する処理が個別に組み込まれているので、
試験項目のパラメータに与えられる要素数が増加して試
験項目数が組合せ論的に増大すると、その試験項目数に
比例してコード量が急激に増大してしまうという問題が
ある。なお、条件分岐コードはプログラム中の複数箇所
に組み込まれていることが多く、この場合には、条件分
岐コードが組み込まれている全ての箇所で新たに条件分
岐コードの変更や追加等を行う必要がある。
【0007】また、上述した従来のサーバプロセス試験
プログラムでは、試験項目ごとの処理がプログラム中に
直接書き込まれているので、試験項目の追加や変更等が
行われた場合において、既存のコードをプログラムを書
き換える必要が生じるという問題がある。
【0008】本発明はこのような点を考慮してなされた
ものであり、試験項目の変更や追加等に対応してその構
成を容易に変更および拡張することができるサーバプロ
セス試験システム、そのシステムを実現するためのサー
バプロセス試験フレームワークを記録したコンピュータ
読み取り可能な記録媒体、およびサーバプロセス試験プ
ログラムを記録したコンピュータ読み取り可能な記録媒
体を提供することを目的とする。
【0009】
【課題を解決するための手段】本発明は、その第1の解
決手段として、クライアントプロセスから呼び出されて
各種の機能を提供するサーバプロセスを試験するための
サーバプロセス試験システムにおいて、サーバプロセス
に対する試験を管理するメイン部と、前記メイン部によ
り起動され、クライアントプロセスを模倣(エミュレー
ト)して前記サーバプロセスを呼び出すクライアント部
と、前記クライアント部により呼び出され、試験項目の
内容に従って前記サーバプロセスの所定の機能の呼び出
しを所定の手順で実行する呼び出し手順実行部と、前記
呼び出し手順実行部により呼び出され、前記サーバプロ
セスへの呼び出しを実行する際に必要とされる試験用デ
ータを生成する試験用データ生成部とを備えたことを特
徴とするサーバプロセス試験システムを提供する。
【0010】なお、上述した第1の解決手段において
は、前記呼び出し手順実行部により呼び出され、前記サ
ーバプロセスの配置形態に起因した呼び出し手順の差異
を補正した上で前記サーバプロセスへの呼び出しを実行
する呼び出し手順補正部をさらに備えることが好まし
い。また、前記呼び出し手順実行部により呼び出され、
前記サーバプロセスの呼び出しの結果をその呼び出しご
とに判定するローカル判定部と、前記ローカル判定部に
よる判定結果に基づいて試験項目の合否を判定する合否
判定部とをさらに備えることが好ましい。さらに、前記
サーバプロセスが実行される実行環境の状況を監視する
システム監視部をさらに備え、前記合否判定部は、前記
ローカル判定部による判定結果と前記システム監視部に
よる監視結果とに基づいて試験項目の合否を判定するこ
とが好ましい。
【0011】また、上述した第1の解決手段において
は、前記呼び出し手順実行部、前記試験用データ生成
部、前記呼び出し手順補正部、前記ローカル判定部およ
び前記合否判定部の少なくとも一つを、あらかじめ定め
られた試験項目定義ファイルに基づいて、試験項目の内
容に対応して生成するファクトリ部をさらに備えること
が好ましい。
【0012】本発明は、その第2の解決手段として、ク
ライアントプロセスから呼び出されて各種の機能を提供
するサーバプロセスを試験するためのサーバプロセス試
験フレームワークを記録したコンピュータ読み取り可能
な記録媒体において、サーバプロセスに対する試験を管
理するメインクラスと、クライアントプロセスを模倣し
て前記サーバプロセスを呼び出すクライアントクラス
と、試験項目の内容に従って前記サーバプロセスの所定
の機能の呼び出しを所定の手順で実行する呼び出し手順
実行クラスと、前記サーバプロセスへの呼び出しを実行
する際に必要とされる試験用データを生成する試験用デ
ータ生成クラスと、あらかじめ定められた試験項目定義
ファイルに基づいて、前記呼び出し手順実行クラスおよ
び前記試験用データ生成クラスの少なくとも一方を継承
してなる複数種類の具象クラスの中から、試験項目の内
容に対応した最適な具象クラスを選択するファクトリク
ラスとを含むことを特徴とするサーバプロセス試験フレ
ームワークを記録したコンピュータ読み取り可能な記録
媒体を提供する。
【0013】なお、本発明の第2の解決手段において
は、前記サーバプロセスの配置形態に起因した呼び出し
手順の差異を補正した上で前記サーバプロセスへの呼び
出しを実行する呼び出し手順補正クラスをさらに備え、
前記ファクトリクラスは、あらかじめ定められた試験項
目定義ファイルに基づいて、前記呼び出し手順補正クラ
スを継承してなる複数種類の具象クラスの中から、試験
項目の内容に対応した最適な具象クラスを選択すること
が好ましい。また、前記サーバプロセスの呼び出しの結
果をその呼び出しごとに判定するローカル判定クラス
と、前記ローカル判定クラスによる判定結果に基づいて
試験項目の合否を判定する合否判定クラスとをさらに備
え、前記ファクトリクラスは、あらかじめ定められた試
験項目定義ファイルに基づいて、前記ローカル判定クラ
スおよび前記合否判定クラスの少なくとも一方を継承し
てなる複数種類の具象クラスの中から、試験項目の内容
に対応した最適な具象クラスを選択することが好まし
い。さらに、前記サーバプロセスが実行される実行環境
の状況を監視するシステム監視クラスをさらに備え、前
記合否判定クラスは、前記ローカル判定クラスによる判
定結果と前記システム監視クラスによる監視結果とに基
づいて試験項目の合否を判定することが好ましい。
【0014】本発明は、その第3の解決手段として、ク
ライアントプロセスから呼び出されて各種の機能を提供
するサーバプロセスを試験するためのサーバプロセス試
験プログラムを記録したコンピュータ読み取り可能な記
録媒体において、サーバプロセスに対する試験を管理さ
せる手順と、クライアントプロセスを模倣して前記サー
バプロセスを呼び出させる手順と、試験項目の内容に従
って前記サーバプロセスの所定の機能の呼び出しを所定
の手順で実行させる手順と、前記サーバプロセスへの呼
び出しを実行する際に必要とされる試験用データを生成
させる手順とをコンピュータに対して実行させることを
特徴とするサーバプロセス試験プログラムを記録したコ
ンピュータ読み取り可能な記録媒体を提供する。
【0015】なお、本発明の第3の解決手段において
は、前記サーバプロセスの配置形態に起因した呼び出し
手順の差異を補正した上で前記サーバプロセスへの呼び
出しを実行させる手順をコンピュータに対してさらに実
行させることが好ましい。また、前記サーバプロセスの
呼び出しの結果をその呼び出しごとに判定させる手順
と、その判定結果に基づいて試験項目の合否を判定させ
る手順とをコンピュータに対してさらに実行させること
が好ましい。
【0016】本発明の第1乃至第3の解決手段によれ
ば、サーバプロセスを試験する処理のうち、試験項目ご
とに変化する処理に関して、そのパラメータ(配置形
態、呼び出し手順および試験用データの生成方法等)ご
とに適切なオブジェクトを生成して用いるようにしてい
るので、試験項目の各パラメータに与えられる要素数が
増加して試験項目数が組合せ論的に増大しても、コード
量が急激に増大することを防止することができる。
【0017】また、本発明の第1乃至第3の解決手段に
よれば、試験項目ごとに変化する処理が抽象クラスとし
て定義されており、これらを継承して具象クラスを作成
することにより試験項目に対応した処理を実現すること
ができるので、試験項目の追加や変更等が行われた場合
でも、フレームワーク等の既存のコードを書き換える必
要がない。なお、試験項目のパラメータに新たな要素が
追加されない限りは、試験項目定義ファイルの内容を修
正するのみで対応することができる。
【0018】さらに、本発明の第1乃至第3の解決手段
によれば、呼び出し手順実行クラスが呼び出し手順補正
クラスを介してサーバプロセスを呼び出すことにより、
サーバプロセスの配置形態が異なる場合でも、他のクラ
スの内容を変更する必要がない。また、配置形態以外の
呼び出しのための手順の一部に変更が生じた場合でも、
その手順の差異を隠蔽することができる。
【0019】さらにまた、本発明の第1乃至第3の解決
手段によれば、サーバプロセスの呼び出しに連動してそ
の結果を判定し、その判定結果に基づいて試験項目全体
の合否を判定することにより、試験項目ごとの合否を自
動的に判定することができる。
【0020】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態について説明する。
【0021】第1の実施の形態 まず、図1乃至図8により、本発明の第1の実施の形態
について説明する。なお、本発明の第1の実施の形態に
おいては、複数の会議室の予約業務を支援する会議室予
約システムを例に挙げ、その会議室予約エンジン(サー
バプロセス)を試験するための会議室予約エンジン試験
システム(サーバプロセス試験システム)について説明
する。
【0022】[会議室予約システムの概要]図1に示す
ように、試験対象となる会議室予約エンジンを含む会議
室予約システムは、予約情報の入力および取得等の予約
業務を行うための複数の予約業務端末1と、これら予約
業務端末1に接続されたサーバマシン2と、予約情報を
保管するデータベースマシン3とを備えている。ここ
で、各予約業務端末1はそれぞれ予約業務担当者4によ
り用いられ、予約情報の入力および取得等の予約業務が
行われる。一方、サーバマシン2およびデータベースマ
シン3は会議室予約システム全体でそれぞれ1台ずつ設
置され、複数の予約業務端末1に対して各種の機能を提
供する。
【0023】なお、予約業務端末1、サーバマシン2お
よびデータベースマシン3にはソフトウェアが搭載され
ている。このうち、予約業務端末1にはクライアントプ
ロセス1aが搭載され、サーバマシン2には会議室予約
エンジン(サーバプロセス)2aが搭載され、データベ
ースマシン3にはデータベース3aを管理するデータベ
ース管理システム(図示せず)が搭載されている。な
お、図1に示す会議室予約システムでは、複数のクライ
アントプロセス1aと会議室予約エンジン2aとが別々
のマシン上に配置されているが、会議室予約システムの
単価を抑えるため、複数のクライアントプロセス1aと
会議室予約エンジン2aとが同一のマシン上に配置され
ることもある。
【0024】このような会議室予約システムにおいて、
サーバマシン2上に搭載された会議室予約エンジン2a
は、(1)会議室の予約、(2)予約の有無の確認、および
(3)予約の取り消し、という3つの機能を提供する。す
なわち、会議室予約エンジン2aは、予約業務端末1上
に搭載されたクライアントプロセス1aからの呼び出し
に対して、次のいずれかの処理を実行する。
【0025】(1)指定された会議室の指定された日時
での予約(当該日時に当該会議室が空いている場合には
予約を発行し、既に予約されている場合には予約を拒否
する。) (2)指定された会議室の指定された日時における予約
の有無の確認 (3)既に発行された予約の取り消し [会議室予約エンジンに対する試験の概要]このような
会議室予約エンジン2aに対する試験は、後述する会議
室予約エンジン試験システムにより、あらかじめ定めら
れた複数種類の試験項目に従って会議室予約エンジン2
aの所定の機能を連続して所定の手順で呼び出すことに
より行われる。なお、各試験項目の合否の判定は、それ
ぞれの呼び出しの結果が正しい予約内容を反映している
かどうかを評価することにより行われる。
【0026】ここで、会議室予約エンジン2aに対する
試験項目は、クライアントプロセス1aから会議室予約
エンジン2aを呼び出す手順(シーケンス)等を定義し
たものであり、例えば次のようなものである。
【0027】<試験項目1>同一のマシン上で動作する
3つのクライアントプロセスおよび会議室予約エンジン
において、これら各クライアントプロセスから呼び出さ
れる会議室予約エンジンの動作を試験する。その際、各
クライアントプロセスは、会議室予約エンジンの3つの
機能に対応する予約メソッド(doYoyaku)、確認メソッ
ド(checkYoyaku)、取消メソッド(cancelYoyaku)を
順に呼び出し、これを10回繰り返す。このとき、予約
用データ(試験用データ)は再現性のある乱数に基づい
て生成される。
【0028】<試験項目2>別々のマシン上で動作する
10個のクライアントプロセスおよび会議室予約エンジ
ンにおいて、これら各クライアントプロセスから呼び出
される会議室予約エンジンの動作を試験する。その際、
各クライアントプロセスは、会議室予約エンジンの3つ
の機能に対応する予約メソッド(doYoyaku)を10回呼
び出した後、確認メソッド(checkYoyaku)を10回呼
び出す。このとき、予約用データ(試験用データ)は、
クライアントプロセスごとに同じ会議室および同じ日時
に固定されたものである。
【0029】なお、このような試験項目は、次のような
4種類のパラメータに与える要素の相違によって定義す
ることができる。
【0030】(1)配置形態 (2)クライアントプロセス数 (3)呼び出しシーケンス(呼び出し手順) (4)予約用データ(試験用データ)の生成方法 ここで、「配置形態」とは、会議室予約エンジン2aの
配置形態を指定するパラメータである。具体的には、会
議室予約エンジン2aは、クライアントプロセス1aが
動作する予約業務端末1とは別のサーバマシン2上で動
作する形態の他、クライアントプロセス1aが動作する
1つの予約業務端末1上で動作する形態をとることがで
きる。このような会議室予約エンジン2aの配置形態の
相違が「配置形態」のパラメータによって定義される。
なお、前者の配置形態では、クライアントプロセス1a
と会議室予約エンジン2aとはリモート通信手段によっ
て互いに通信を行う。一方、後者の配置形態では、クラ
イアントプロセス1aと会議室予約エンジン2aとはク
ライアントプロセス1aからの直接のメソッド呼び出し
によって互いに通信を行う。従って、クライアントプロ
セス1aと会議室予約エンジン2aとの間の通信手順
(呼び出し手順)は、配置形態ごとに異なることとな
る。
【0031】「クライアントプロセス数」とは、会議室
予約エンジン2aを試験する際に同時に起動されるクラ
イアントプロセス数を指定するパラメータである。な
お、同時に起動された各クライアントプロセス1aから
は、同時並行的に一つの会議室予約エンジン2aに対し
て呼び出しが行われる。
【0032】「呼び出しシーケンス」とは、ある1つの
試験項目において連続的に会議室予約エンジン2aの機
能を呼び出すための呼び出し手順(シーケンス)を指定
するパラメータである。
【0033】「予約用データの生成方法」とは、予約用
データを生成するためのアルゴリズムを指定するパラメ
ータである。ここで、予約用データを生成するためのア
ルゴリズムにおいては例えば、何番目のクライアントプ
ロセスであるかという情報と、そのプロセス内での何回
目の会議室予約エンジンの呼び出しであるかという情報
とを引数として、予約用データを生成する。
【0034】なお、このようなパラメータに従って上述
した試験項目1および試験項目2を定義すると、次のよ
うになる。
【0035】<試験項目1> 配置形態:同一マシン(Keitai1) クライアントプロセス数:3 呼び出しシーケンス:予約メソッド(doYoyaku)、確認
メソッド(checkYoyaku)、取消メソッド(cancelYoyak
u)を順に呼び出し、これを10回繰り返す(Sequence
1)。
【0036】予約用データの生成方法:再現性のある乱
数に基づいてデータを生成(Generator2)。
【0037】<試験項目2> 配置形態:別マシン(Keitai2) クライアントプロセス数:10 呼び出しシーケンス:予約メソッド(doYoyaku)を10
回呼び出した後、確認メソッド(checkYoyaku)を10
回呼び出す(Sequence2)。
【0038】予約用データの生成方法:クライアントプ
ロセスごとに同じ会議室および同じ日時に固定されたデ
ータを生成(Generator1)。
【0039】次に、図2乃至図8により、上述したよう
な試験項目に従って会議室予約エンジン2aを試験する
ための会議室予約エンジン試験システムについて説明す
る。
【0040】[会議室予約エンジン試験フレームワー
ク]まず、図2乃至図6により、会議室予約エンジン試
験システムを構築するために用いられる会議室予約エン
ジン試験フレームワークについて説明する。なお、この
会議室予約エンジン試験フレームワークは「抽象化」お
よび「継承」という特性を有するオブジェクト指向言語
で記述されるものとする。
【0041】図2に示すように、会議室予約エンジン試
験フレームワークは、会議室予約エンジン2aに対する
試験を管理するMainクラス(メインクラス)11と、会
議室予約エンジンが実行される実行環境の状況(システ
ム状態)を監視するSystemWatcherクラス(システム監
視クラス)12と、クライアントプロセスを模倣(エミ
ュレート)して会議室予約エンジン2aを呼び出すClie
ntクラス(クライアントクラス)13とを備えている。
【0042】なお、Mainクラス11は、mainメソッドお
よびshowResultsメソッドを有している。このうち、mai
nメソッドは、会議室予約エンジン2aが実行される実
行環境が試験開始時に呼び出すためのメソッドである。
showResultsメソッドは、試験終了後にその結果を集計
ファイル15へ書き出すためのメソッドである。
【0043】また、SystemWatcherクラス12は、start
メソッドおよびgetSystemSummaryメソッドを有してい
る。このうち、startメソッドは、システム状態の監視
を開始し、システム状態を適宜記録するためのメソッド
である。getSystemSummaryメソッドは、Mainクラス11
からシステム状態の遷移等に関する情報を取得するため
のメソッドである。
【0044】さらに、Clientクラス13は、startメソ
ッド、getResultHistoryメソッド、getErrorHistoryメ
ソッド、doYoyakuメソッド、checkYoyakuメソッド、can
celYoyakuメソッドおよびgenerateDataメソッドを有し
ている。このうち、startメソッドは、Clientクラス1
3を起動するためのメソッドである。getResultHistory
メソッドは、呼び出しの結果、会議室予約エンジン2a
が返す値の記録をMainクラス11から取得するためのメ
ソッドである。getErrorHistoryメソッドは、呼び出し
がエラーの発生によって終了した場合の記録をMainクラ
ス11から取得するためのメソッドである。doYoyakuメ
ソッド、checkYoyakuメソッドおよびcancelYoyakuメソ
ッドはそれぞれ、会議室予約エンジン2aの機能(会議
室の予約、予約の有無の確認および予約の取り消し)を
呼び出すためのプライベートメソッドである。generate
Dataメソッドは、会議室予約エンジン2aへの呼び出し
を実行する際に用いられる予約用データを生成するため
のメソッドである。
【0045】また、会議室予約エンジン試験フレームワ
ークは、試験項目の内容に従って会議室予約エンジン2
aの所定の機能の呼び出しを所定の手順(シーケンス)
で実行するYobidashiSequenceクラス(呼び出し手順実
行クラス)17と、会議室予約エンジン2aへの呼び出
しを実行する際に必要とされる予約用データ(試験用デ
ータ)を生成するDataGeneratorクラス(試験用データ
生成クラス)18と、会議室予約エンジン2aの配置形
態に起因した呼び出し手順の差異を補正した上で会議室
予約エンジン2aへの呼び出しを実行するHaichiKeitai
クラス(呼び出し手順補正クラス)19とを備えてい
る。
【0046】ここで、YobidashiSequenceクラス17、D
ataGeneratorクラス18およびHaichiKeitaiクラス19
はそれぞれ抽象クラスとして定義されており、これらを
継承してその属性やメソッドを適宜具象化することによ
り、試験項目の各パラメータに与えられる要素に対応し
た複数種類の具象クラスを作成することができるように
なっている(図3参照)。なお、図4(a)(b)(c)は、上
述した試験項目1および試験項目2の場合における、Yo
bidashiSequenceクラス17、DataGeneratorクラス18
およびHaichiKeitaiクラス19の具象クラスの例を示す
図である。
【0047】なお、会議室予約エンジン試験フレームワ
ークは、図3および図4(a)(b)(c)に示すように、抽象
クラスとして定義されたYobidashiSequenceクラス1
7、DataGeneratorクラス18およびHaichiKeitaiクラ
ス19をそれぞれ継承してなる具象クラスの中から、あ
らかじめ定められた試験項目定義ファイル20に基づい
て、試験項目の内容に対応した最適な具象クラスを選択
するKoumokuFactoryクラス(ファクトリクラス)16を
備えている。なお、試験項目定義ファイル20は、試験
項目の各パラメータに与えられる要素を定義したもので
ある。図5に示すように、試験項目定義ファイル20
は、パラメータである配置形態(“HaichiKeitaiClas
s”)、呼び出しシーケンス(“YobidashiSequenceClas
s”)および予約用データの生成方法(“DataGenerator
Class”)に与えられる要素に対応する具象クラス名
(“Keitai1”、“Sequence1”および“Generator2”)
と、クライアントプロセス数(“ClientProcesses=
3”)とを含む。
【0048】なお、会議室予約エンジン試験フレームワ
ークは、会議室予約エンジン2aを試験する処理のう
ち、試験項目ごとに変化する処理に関して、そのパラメ
ータ(配置形態、呼び出しシーケンスおよび予約用デー
タの生成方法等)ごとに適切なオブジェクト(Yobidash
iSequenceオブジェクト17a、DataGeneratorオブジェ
クト18aおよびHaichiKeitaiオブジェクト19a)を
生成して用いるものであり、試験項目の各パラメータに
与えられる要素数が増加して試験項目数が組合せ論的に
増大する場合でも、その要素数に比例する追加および変
更によって対応することができる(図6参照)。
【0049】(クラス図の表記法)なお、上述した図
2、図3および図4(a)(b)(c)に示すクラス図の表記法
は図12に示すとおりである(後述する図9および図1
0に示すクラス図も同様である)。
【0050】図12(a)はクラスの表記法を示す。ここ
で、クラスとは、データ構造およびメソッドの組をい
う。インスタンスとは、特定のクラスのデータ構造に対
応する記憶領域を割り当てられた実体をいう。メソッド
とは、クラスのデータ構造に対応する操作定義をいう
(いわゆる関数に相当する)。なお、プライベートメソ
ッドは、同じクラスに所属する通常のメソッドからのみ
呼び出されるメソッドをいう。抽象クラスとは、データ
構造またはメソッドの実装を持たないクラスをいい、メ
ソッドの呼び出し部分の定義のみを持つ。これに対し、
具象クラスとは、データ構造またはメソッドの実装を持
つ完全なクラスをいう(図12(c)参照)。
【0051】図12(b)はパッケージの表記法を示す。
パッケージとは、クラスの集合体をいう。
【0052】図12(c)は継承関係に関する表記法を示
す。ここで、継承関係とは、抽象クラスが定義するメソ
ッドに対する実装を具象クラスが与える関係をいう。ま
た、2つの抽象クラスの関係においては、一方の抽象ク
ラスが他方の抽象クラスのメソッドの呼び出し部分の定
義を引き継ぐ場合を指す。このような具象クラスが複数
あるとき、それぞれの具象クラスには異なる実装を与え
ることができる。これにより、同じ名前のメソッドに異
なる処理上の振る舞いを与えることができる。具象クラ
スは抽象クラスが定義しないメソッドを独自に追加的に
定義して実装することができる。具象クラスのインスタ
ンスは、あたかも抽象クラスのインスタンスであるかの
ように振る舞うため、「前者は後者の一種である」と表
現することもある。
【0053】図12(d)は注釈に関する表記法を示す。
【0054】図12(e)〜(k)はインスタンス関係に関す
る表記法を示す。ここで、インスタンス関係とは、1つ
のクラスの1つのインスタンスが、別のクラスの1つ、
または複数のインスタンスと関連付けられている関係を
いう。なお、このような関連付けは、その形態に応じ
て、呼び出し関係、所有関係、独占的所有関係および生
成関係に分けられる。また、1つのインスタンスがいく
つのインスタンスに関連付けられているかによって、1
対1の関係(図12(e)参照)と1対多の関係(図12
(f)参照)とに分けられる。なお、文脈から明らかな場
合には、1対1または1対多の関係の表示は省略され
る。
【0055】図12(g)(h)はインスタンス間の呼び出し
関係を示す。このうち、図12(g)は1つのクラスのイ
ンスタンスが別のクラスのインスタンスのメソッドを呼
び出す関係を示し、図12(h)は双方が互いのメソッド
を呼び出す関係を示す。
【0056】図12(i)はインスタンス間の所有関係を
示す。所有関係とは、1つのクラスのインスタンスが別
のクラスのインスタンスを組み込むことにより実体をな
す関係をいう。なお、インスタンスAがインスタンスB
を所有するとき、同時にインスタンスAとインスタンス
Bとは呼び出し関係にある。
【0057】図12(j)はインスタンス間の独占的所有
関係を示す。独占的所有関係とは、所有関係のうち、所
有する側のクラスのインスタンスが所有される側のクラ
スのインスタンスの破棄等を自由に行える関係(強い所
有関係)をいう。
【0058】図12(k)はインスタンス間の生成関係を
いう。生成関係とは、あるクラスのインスタンスが、別
のクラスのインスタンスを生成する関係をいう。なお、
インスタンスを生成するとは、そのクラスのデータ構造
に対応した記憶領域を割り当てることをいう。
【0059】[会議室予約エンジン試験システム]次
に、図7および図8により、図2、図3および図4(a)
(b)(c)に示すサーバプロセス試験フレームワークを用い
て構築される会議室予約エンジン試験システムについて
説明する。
【0060】図7に示すように、会議室予約エンジン試
験システムは、図2、図3および図4(a)(b)(c)に示す
サーバプロセス試験フレームワークの各クラスに対応し
て生成された複数のインスタンス(オブジェクト)によ
り構成されている。
【0061】ここで、会議室予約エンジン試験システム
は、会議室予約エンジン2aに対する試験を管理するMa
inオブジェクト(メイン部)11aと、会議室予約エン
ジン2aが実行される実行環境の状況(システム状態)
を監視するSystemWatcherオブジェクト(システム監視
部)12aと、Mainオブジェクト11aにより起動さ
れ、クライアントプロセスを模倣して会議室予約エンジ
ン2aを呼び出すClientオブジェクト(クライアント
部)13aとを備えている。
【0062】また、会議室予約エンジン試験システム
は、Mainオブジェクト11aにより呼び出され、試験項
目の内容に従って会議室予約エンジン2aの所定の機能
の呼び出しを所定の手順で実行するYobidashiSequence
オブジェクト(呼び出し手順実行部)17aと、Yobida
shiSequenceオブジェクト17aにより呼び出され、会
議室予約エンジン2aへの呼び出しを実行する際に必要
とされる予約用データ(試験用データ)を生成するData
Generatorオブジェクト(試験用データ生成部)18a
と、YobidashiSequenceオブジェクト17aにより呼び
出され、会議室予約エンジン2aの配置形態に起因した
呼び出し手順の差異を補正した上で会議室予約エンジン
2aへの呼び出しを実行するHaichiKeitaiオブジェクト
(呼び出し手順補正部)19aとを備えている。
【0063】ここで、YobidashiSequenceオブジェクト
17a、DataGeneratorオブジェクト18aおよびHaich
iKeitaiオブジェクト19aはそれぞれ、抽象クラスで
あるYobidashiSequenceクラス17、DataGeneratorクラ
ス18およびHaichiKeitaiクラス19(図2および図3
参照)を継承して作成された複数種類の具象クラスのう
ちの1つに対応するものであり、KoumokuFactoryオブジ
ェクト(ファクトリ部)16aの下で、あらかじめ定め
られた試験項目定義ファイル20に基づいて、試験項目
の内容に対応した適切なオブジェクトが生成されるよう
になっている。
【0064】次に、図7および図8により、会議室予約
エンジン試験システムの動作についてオブジェクト単位
で説明する。
【0065】Mainオブジェクト Mainオブジェクト11aは、会議室予約エンジン試験シ
ステムの開始点となるオブジェクトである。1回の試験
実行時には、1つの試験項目が実行される。Mainオブジ
ェクト11aは、KoumokuFactoryオブジェクト16aを
起動するとともに(ステップ101)、あらかじめ定め
られた順序でSystemWatcherオブジェクト12aおよびC
lientオブジェクト13aを起動する(ステップ106
および107)。また、Mainオブジェクト11aは、Cl
ientオブジェクト13aの動作の終了を待ち(ステップ
107′)、SystemWatcherオブジェクト12aを停止
させた後(ステップ107″)、SystemWatcherオブジ
ェクト12aおよびClientオブジェクト13aから、シ
ステム状態および呼び出し結果をそれぞれ取得し(ステ
ップ116および117)、その結果を集計ファイル1
5へ書き出す(ステップ118)。なお、集計ファイル
15は、試験担当者が試験結果の合否を判定するための
資料となる。
【0066】SystemWatcherオブジェクト SystemWatcherオブジェクト12aは、会議室予約エン
ジン2aが実行される実行環境の状況(システム状態)
を監視するオブジェクトである。SystemWatcherオブジ
ェクト12aは、Mainオブジェクト11aによって起動
された後、試験実行中に会議室予約エンジン2aが消費
するメモリ空間やCPU時間等の資源の量を監視して記
録する(ステップ106′)。
【0067】Clientオブジェクト Clientオブジェクト13aは、複数のクライアントプロ
セスを模倣して会議室予約エンジン2aを呼び出すオブ
ジェクトである。Clientオブジェクト13aは、Mainオ
ブジェクト11aによって起動された後、KoumokuFacto
ryオブジェクト16aにより生成されたYobidashiSeque
nceオブジェクト17aの情報を受け取る。その後、Cli
entオブジェクト13aは、YobidashiSequenceオブジェ
クト17aを起動する(ステップ108)。
【0068】KoumokuFactoryオブジェクト KoumokuFactoryオブジェクト16aは、Mainオブジェク
ト11aにより与えられる試験項目番号に対応する試験
項目の内容を試験項目定義ファイル20から読み出し
(ステップ102)、その試験項目の各パラメータに与
えられる要素に対応する適切なYobidashiSequenceオブ
ジェクト17a、DataGeneratorオブジェクト18aお
よびHaichiKeitaiオブジェクト19aを生成する(ステ
ップ103、104および105)。
【0069】ここで、YobidashiSequenceオブジェクト
17a、DataGeneratorオブジェクト18aおよびHaich
iKeitaiオブジェクト19aはそれぞれ、抽象クラスで
あるYobidashiSequenceクラス17、DataGeneratorクラ
ス18およびHaichiKeitaiクラス19を継承して作成さ
れた複数種類の具象クラスのうちの1つに対応するもの
であり、KoumokuFactoryオブジェクト16aの下で、あ
らかじめ定められた試験項目定義ファイル20に基づい
て、試験項目の内容に対応した適切なオブジェクトが生
成される。
【0070】YobidashiSequenceオブジェクト YobidashiSequenceオブジェクト17aは、Clientオブ
ジェクト13aにより起動されると、DataGeneratorオ
ブジェクト18aを呼び出した後(ステップ109)、
試験項目の内容に従って会議室予約エンジン2aの所定
の機能の呼び出し(doYoyaku、checkYoyaku、cancelYoy
aku)を所定の手順で実行する(ステップ111)。な
お、YobidashiSequenceオブジェクト17aは、会議室
予約エンジン2aを直接呼び出さず、HaichiKeitaiオブ
ジェクト19aを呼び出す。
【0071】DataGeneratorオブジェクト DataGeneratorオブジェクト18aは、YobidashiSequen
ceオブジェクト17aにより呼び出されると、Yobidash
iSequenceオブジェクト17aにより会議室予約エンジ
ン2aへの呼び出しを実行する際に必要とされる予約用
データを生成する(ステップ110)。なお、予約用デ
ータは、何番目のクライアントプロセスであるかという
情報と、そのプロセス内での何回目の会議室予約エンジ
ン2aの呼び出しであるかという情報とによって決定さ
れる。
【0072】HaichiKeitaiオブジェクト HaichiKeitaiオブジェクト19aは、YobidashiSequenc
eオブジェクト17aにより呼び出されると、会議室予
約エンジン2aへの呼び出しのための詳細な手順を実行
する(ステップ112)。具体的には、会議室予約エン
ジン2aの配置形態に起因した呼び出し手順の差異を補
正した上で会議室予約エンジン2aへの呼び出しを実行
する。
【0073】なお、HaichiKeitaiオブジェクト19aに
よる会議室予約エンジン2aへの呼び出しの結果は、Ha
ichiKeitaiオブジェクト19aおよびYobidashiSequenc
eオブジェクト17aを介してClientオブジェクト13
aへ返される(ステップ113、114および11
5)。
【0074】このように本発明の第1の実施の形態によ
れば、会議室予約エンジン2aを試験する処理のうち、
試験項目ごとに変化する処理に関して、そのパラメータ
(配置形態、呼び出しシーケンスおよび予約用データの
生成方法等)ごとに適切なオブジェクト(YobidashiSeq
uenceオブジェクト17a、DataGeneratorオブジェクト
18aおよびHaichiKeitaiオブジェクト19a)を生成
して用いるようにしているので、試験項目の各パラメー
タに与えられる要素数が増加して試験項目数が組合せ論
的に増大しても、コード量が急激に増大することを防止
することができる。
【0075】また、本発明の第1の実施の形態によれ
ば、試験項目ごとに変化する処理が抽象クラス(Yobida
shiSequenceクラス17、DataGeneratorクラス18およ
びHaichiKeitaiクラス19)として定義されており、こ
れらを継承して具象クラスを作成することにより試験項
目に対応した処理を実現することができるので、試験項
目の追加や変更等が行われた場合でも、フレームワーク
等の既存のコードを書き換える必要がない。なお、試験
項目のパラメータに新たな要素が追加されない限りは、
試験項目定義ファイルの内容を修正するのみで対応する
ことができる。
【0076】さらに、本発明の第1の実施の形態によれ
ば、呼び出し手順実行クラス(YobidashiSequenceクラ
ス17)が呼び出し手順補正クラス(HaichiKeitaiクラ
ス19)を介して会議室予約エンジン2aを呼び出すよ
うにしているので、会議室予約エンジン2aの配置形態
が異なる場合でも、他のクラスの内容を変更する必要が
ない。また、配置形態以外の呼び出しのための手順の一
部に変更が生じた場合でも、その手順の差異を隠蔽する
ことができる。
【0077】第2の実施の形態 次に、図9乃至図11により、本発明の第2の実施の形
態について説明する。本発明の第2の実施の形態におい
ては、会議室予約エンジンの呼び出しの結果を自動的に
判定するようにした点を除いて、他は図1乃至図8に示
す第1の実施の形態と略同一である。本発明の第2の実
施の形態において、上述した第1の実施の形態と同一部
分には同一符号を付して詳細な説明は省略する。
【0078】なお、本発明の第2の実施の形態において
は、(1)配置形態、(2)クライアントプロセス数、(3)呼
び出しシーケンス(呼び出し手順)、および(4)予約用
データ(試験用データ)の生成方法というパラメータに
加えて、次のような2つのパラメータが追加されてい
る。
【0079】(5)ローカル判定(個々のクライアントプ
ロセスにおける会議室予約エンジンの呼び出しの毎回の
結果を判定する基準) (6)合否判定(全てのクライアントプロセスにおける上
記(5)のパラメータによる判定結果と、SystemWatcherオ
ブジェクトによって監視されるシステム状態とから試験
結果の合否を判定する基準) なお、このようなパラメータを追加して上述した試験項
目1を再定義すると、次のようになる。
【0080】<試験項目1′> 配置形態:同一マシン(Keitai1) クライアントプロセス数:3 呼び出しシーケンス:予約メソッド(doYoyaku)、確認
メソッド(checkYoyaku)、取消メソッド(cancelYoyak
u)を順に呼び出し、これを10回繰り返す(Sequence
1)。
【0081】予約用データの生成方法:再現性のある乱
数に基づいてデータを生成(Generator2)。
【0082】ローカル判定:予約メソッド(doYoyaku)
または取消メソッド(cancelYoyaku)が呼び出された直
後に、その呼び出しの結果がデータベースに反映されて
おり、かつ確認メソッド(checkYoyaku)が実際の予約
状況と合致する結果を返すこと。これらの条件を満たす
呼び出しを合格とし、そうでないものを不合格とする
(LocalHantei1)。
【0083】合否判定:全てのクライアントプロセスに
おける全てのローカル判定が合格であり、かつ会議室予
約エンジン2aが実行される実行環境のメモリ消費量が
(クライアントプロセス数)×(定数)で与えられる閾
値を越えないこと。これらの条件を満たす呼び出しを合
格とし、そうでないものを不合格とする(GouhiHantei
1)。
【0084】[会議室予約エンジン試験フレームワー
ク]図9に示すように、会議室予約エンジン試験フレー
ムワークは、図2に示す会議室予約エンジン試験フレー
ムワークに加えて、会議室予約エンジン(サーバプロセ
ス)2aの呼び出しの結果をその呼び出しごとに判定す
るLocalHanteiクラス(ローカル判定クラス)21と、L
ocalHanteiクラス(ローカル判定クラス)21による判
定結果とSystemWathcerクラス(システム監視クラス)
12による監視結果とに基づいて試験項目の合否を判定
するGouhiHanteiクラス(合否判定クラス)22とを備
えている。
【0085】ここで、LocalHanteiクラス21およびGou
hiHanteiクラス22はそれぞれ抽象クラスとして定義さ
れており、これらを継承してその属性やメソッドを適宜
具象化することにより、試験項目の各パラメータに与え
られる要素に対応した複数種類の具象クラスを作成する
ことができるようになっている。
【0086】また、LocalHanteiクラス21は、抽象ク
ラスであるHaichiKeitaiクラス19を継承して作成され
ており、このLocalHanteiクラス21を継承して試験項
目の各パラメータに与えられる要素に対応した具象クラ
スが作成される(図10参照)。なお、このようにして
作成されるLocalHanteiクラス21の具象クラスは、Hai
chiKeitaiクラス19を継承する具象クラス(Keitai1や
Keitai2等)のインスタンスを所有する。また、LocalHa
nteiクラス21の具象クラスは、HaichiKeitaiクラス1
9を継承する具象クラス(Keitai1やKeitai2等)と同様
に振る舞い、その具象クラスが呼び出される度にその結
果のローカル判定を行って、その結果を必要に応じてGo
uhiHanteiクラス22を継承する具象クラスへ通知す
る。
【0087】なお、会議室予約エンジン試験フレームワ
ークは、図9に示すように、抽象クラスとして定義され
たYobidashiSequenceクラス17、DataGeneratorクラス
18、HaichiKeitaiクラス19、LocalHanteiクラス2
1およびGouhiHanteiクラス22をそれぞれ継承してな
る具象クラスの中から、あらかじめ定められた試験項目
定義ファイル20に基づいて、試験項目の内容に対応し
た最適な具象クラスを選択するKoumokuFactoryクラス
(ファクトリクラス)16を備えている。試験項目定義
ファイル20は、図5に示す内容に加えて、ローカル判
定および合否判定の各パラメータに与えられる要素に対
応する具象クラス名を含む。
【0088】[会議室予約エンジン試験システム]次
に、図11により、図9および図10に示すサーバプロ
セス試験フレームワークを用いて構築される会議室予約
エンジン試験システムについて説明する。
【0089】図11に示すように、会議室予約エンジン
試験システムは、図9および図10に示すサーバプロセ
ス試験フレームワークの各クラスに対応して生成された
複数のインスタンス(オブジェクト)により構成されて
いる。
【0090】ここで、会議室予約エンジン試験システム
は、図7に示す会議室予約エンジン試験システムに加え
て、YobidashiSequenceオブジェクト17aにより呼び
出され、会議室予約エンジン2aの呼び出しの結果をそ
の呼び出しごとに判定するLocalHanteiオブジェクト
(ローカル判定部)21aと、LocalHanteiオブジェク
ト21aによる判定結果とSystemWatcherオブジェクト
12aによる監視結果とに基づいて試験項目の合否を判
定するGouhiHanteiオブジェクト(合否判定部)22a
とを備えている。
【0091】ここで、LocalHanteiオブジェクト21a
およびGouhiHanteiオブジェクト22aはそれぞれ、抽
象クラスであるLocalHanteiクラス21およびGouhiHant
eiクラス22を継承して作成された複数種類の具象クラ
スのうちの1つに対応するものであり、KoumokuFactory
オブジェクト(ファクトリ部)16aの下で、あらかじ
め定められた試験項目定義ファイル20に基づいて、試
験項目の内容に対応した適切なオブジェクトが生成され
るようになっている。
【0092】なお、LocalHanteiオブジェクト21a
は、YobidashiSequenceオブジェクト17aとHaichiKei
taiオブジェクト19aとの間に配置されているが、Loc
alHanteiオブジェクト21aはHaichiKeitaiオブジェク
ト19aを所有する関係にあることから、YobidashiSeq
uenceオブジェクト17aはLocalHanteiオブジェクト2
1aをHaichiKeitaiオブジェクト19aの一種として用
いることができる。
【0093】次に、図11により、会議室予約エンジン
試験システムの動作についてオブジェクト単位で説明す
る。
【0094】Mainオブジェクト Mainオブジェクト11aは、会議室予約エンジン試験シ
ステムの開始点となるオブジェクトである。1回の試験
実行時には、1つの試験項目が実行される。Mainオブジ
ェクト11aは、KoumokuFactoryオブジェクト16aを
起動するとともに(ステップ201)、あらかじめ定め
られた順序でSystemWatcherオブジェクト12aおよびC
lientオブジェクト13aを起動する(ステップ203
および204)。また、Mainオブジェクト11aは、Cl
ientオブジェクト13aの動作の終了を待ち、SystemWa
tcherオブジェクト12aを停止させた後、SystemWatch
erオブジェクト12a、Clientオブジェクト13aおよ
びGouhiHanteiオブジェクト22aから、システム状
態、呼び出し結果および合否判定結果をそれぞれ取得し
(ステップ219、220および221)、その結果を
集計ファイル15へ書き出す(ステップ222)。な
お、集計ファイル15は、試験担当者が試験結果の合否
を判定するための資料となる。
【0095】SystemWatcherオブジェクト SystemWatcherオブジェクト12aは、会議室予約エン
ジン2aが実行される実行環境の状況(システム状態)
を監視するオブジェクトである。SystemWatcherオブジ
ェクト12aは、Mainオブジェクト11aによって起動
された後、試験実行中に会議室予約エンジン2aが消費
するメモリ空間やCPU時間等の資源の量を監視して記
録する。
【0096】Clientオブジェクト Clientオブジェクト13aは、複数のクライアントプロ
セスを模倣して会議室予約エンジン2aを呼び出すオブ
ジェクトである。Clientオブジェクト13aは、Mainオ
ブジェクト11aによって起動された後、KoumokuFacto
ryオブジェクト16aにより生成されたYobidashiSeque
nceオブジェクト17aの情報を受け取る。その後、Cli
entオブジェクト13aは、YobidashiSequenceオブジェ
クト17aを起動する(ステップ205)。
【0097】KoumokuFactoryオブジェクト KoumokuFactoryオブジェクト16aは、Mainオブジェク
ト11aにより与えられる試験項目番号に対応する試験
項目の内容を試験項目定義ファイル20から読み出し、
その試験項目の各パラメータに与えられる要素に対応す
る適切なYobidashiSequenceオブジェクト17a、DataG
eneratorオブジェクト18a、HaichiKeitaiオブジェク
ト19a、LocalHanteiオブジェクト21aおよびGouhi
Hanteiオブジェクト22aを生成する(ステップ20
2)。なお、図11においては、YobidashiSequenceオ
ブジェクト17a、DataGeneratorオブジェクト18
a、HaichiKeitaiオブジェクト19a、LocalHanteiオ
ブジェクト21aおよびGouhiHanteiオブジェクト22
aを生成する動作については省略している。
【0098】ここで、YobidashiSequenceオブジェクト
17a、DataGeneratorオブジェクト18a、HaichiKei
taiオブジェクト19a、LocalHanteiオブジェクト21
aおよびGouhiHanteiオブジェクト22aはそれぞれ、
抽象クラスであるYobidashiSequenceクラス17、DataG
eneratorクラス18、HaichiKeitaiクラス19、LocalH
anteiクラス21およびGouhiHanteiクラス22を継承し
て作成された複数種類の具象クラスのうちの1つに対応
するものであり、KoumokuFactoryオブジェクト16aの
下で、あらかじめ定められた試験項目定義ファイル20
に基づいて、試験項目の内容に対応した適切なオブジェ
クトが生成される。
【0099】YobidashiSequenceオブジェクト YobidashiSequenceオブジェクト17aは、Clientオブ
ジェクト13aにより起動されると、DataGeneratorオ
ブジェクト18aを呼び出した後(ステップ206)、
試験項目の内容に従って会議室予約エンジン2aの所定
の機能の呼び出し(doYoyaku、checkYoyaku、cancelYoy
aku)を所定の手順で実行する(ステップ208)。な
お、YobidashiSequenceオブジェクト17aは、会議室
予約エンジン2aを直接呼び出さず、LocalHanteiオブ
ジェクト21aを呼び出す。
【0100】DataGeneratorオブジェクト DataGeneratorオブジェクト18aは、YobidashiSequen
ceオブジェクト17aにより呼び出されると、Yobidash
iSequenceオブジェクト17aにより会議室予約エンジ
ン2aへの呼び出しを実行する際に必要とされる予約用
データを生成する(ステップ207)。なお、予約用デ
ータは、何番目のクライアントプロセスであるかという
情報と、そのプロセス内での何回目の会議室予約エンジ
ン2aの呼び出しであるかという情報とによって決定さ
れる。
【0101】HaichiKeitaiオブジェクト HaichiKeitaiオブジェクト19aは、LocalHanteiオブ
ジェクト21aを介してYobidashiSequenceオブジェク
ト17aにより呼び出されると、会議室予約エンジン2
aへの呼び出しのための詳細な手順を実行する(ステッ
プ210)。具体的には、会議室予約エンジン2aの配
置形態に起因した呼び出し手順の差異を補正した上で会
議室予約エンジン2aへの呼び出しを実行する。
【0102】なお、HaichiKeitaiオブジェクト19aに
よる会議室予約エンジン2aへの呼び出しの結果は、Ha
ichiKeitaiオブジェクト19a、LocalHanteiオブジェ
クト21aおよびYobidashiSequenceオブジェクト17
aを介してClientオブジェクト13aへ返される(ステ
ップ211、212、217および218)。
【0103】LocalHanteiオブジェクト LocalHanteiオブジェクト21aは、YobidashiSequence
オブジェクト17aにより呼び出されると、HaichiKeit
aiオブジェクト19aを呼び出す(ステップ209)。
LocalHanteiオブジェクト21aは、HaichiKeitaiオブ
ジェクト19aからその結果を受け取ると(ステップ2
12)、自らの合否判定メソッド(doHantei)を呼び出
すことによりその合否を判定する(ステップ213)。
この判定結果は、必要に応じてGouhiHanteiオブジェク
ト22aのupdateFromLocalHanteiメソッドを呼び出す
ことによりGouhiHanteiオブジェクト22aへ通知され
る(ステップ214)。
【0104】GouhiHanteiオブジェクト GouhiHanteiオブジェクト22aは、LocalHanteiオブジ
ェクト21aから通知を受け取ると、試験項目全体の合
否判定のために必要な情報をLocalHanteiオブジェクト
21aへ問い合わせ、その評価を行う(ステップ215
および216)。 なお、SystemWatcherオブジェクト
12aは、システム状態が試験項目に定められた閾値を
越えると、その旨をGouhiHaiteiオブジェクト22aのu
pdateFromSystemWatcherメソッドを呼び出すことにより
GouhiHanteiオブジェクト22aへ非同期に通知する
(ステップ230)。GouhiHanteiオブジェクト22a
は、SystemWatcherオブジェクト12aから通知を受け
取ると、その通知に基づいて必要な情報をSystemWatche
rオブジェクト12aへ問い合わせ、その評価を行う
(ステップ231および232)。
【0105】このように本発明の第2の実施の形態によ
れば、会議室予約エンジン2aの呼び出しに連動してそ
の結果を判定し、その判定結果に基づいて試験項目全体
の合否を判定するようにしているので、上述した第1の
実施の形態の作用効果に加えて、試験項目ごとの合否を
自動的に判定することができる。
【0106】なお、本発明の第2の実施の形態によれ
ば、試験結果を判定する処理を行うためのローカル判定
クラス(LocalHanteiクラス21)を、上述した第1の
実施の形態における既存の呼び出し手順補正クラス(Ha
ichiKeitaiクラス19)を継承して作成しているので、
既存のクラス(YobidashiSequenceクラス17等)から
の呼び出し関係を何ら変更することなく、試験項目の合
否を判定する機能を追加することができる。
【0107】なお、上述した第1および第2の実施の形
態においては、クライアントマシンおよびサーバマシン
がネットワークを介して通信するシステム、および、同
一のマシン内でマルチタスクシステムによる独立した複
数のプロセスにより構成されるシステムを前提として説
明しているが、これ以外のシステムにも適用可能であ
る。具体的には、クライアントプロセスおよびサーバプ
ロセスは、互いに同じアドレス空間を共有しないプロセ
スという関係に限らず、互いに同じアドレス空間を共有
するプロセスという関係であってもよく、例えば、同一
のマシン内でマルチスレッドシステムによる同じアドレ
ス空間を共有する複数のプロセスにより構成されるシス
テムに適用することができる。
【0108】なお、上述した観点から、本明細書では、
「クライアントプロセス」および「サーバプロセス」と
いう用語をそれぞれ、「呼び出す側のプロセス」および
「呼び出される側のプロセス」という広義の意味で用い
ている。
【0109】なお、上述した第1および第2の実施の形
態における会議室予約エンジン試験システムは、コンピ
ュータ上で動作するプログラムとして実現することがで
きる。このような会議室予約エンジン試験プログラム
は、各種の記録媒体に記録され、コンピュータから読み
出された上述したような処理が行われる。また、上述し
た第1および第2の実施の形態における会議室予約エン
ジン試験フレームも、コンピュータ上で用いることがで
き、各種の記録媒体に記録される。
【0110】なお、上述した第1および第2の実施の形
態で用いられる記録媒体としては、磁気ディスク、フロ
ッピーディスク、ハードディスク、光ディスク(CD−
ROM、CD−RおよびDVD等)、光磁気ディスク
(MO等)および半導体メモリ等を含み、プログラムを
記録することができ、かつコンピュータ読み取り可能な
ものであれば、その記録形式はどのようなものでもよ
い。また、記録媒体としては、ネットワーク上で伝送さ
れる際の搬送波等の情報伝達媒体を含む。さらに、記録
媒体は、コンピュータと独立したものに限らず、LAN
やインターネット等により伝送されたプログラムをダウ
ンロードして記憶または一時記憶した記録媒体も含まれ
る。さらにまた、記録媒体は1つであるとは限らず、複
数の記録媒体から、上述した第1および第2の実施の形
態で行われる処理が実現される場合も本発明における記
録媒体の概念に含まれる。
【0111】また、上述した第1および第2の実施の形
態においては、記録媒体からコンピュータにインストー
ルされた会議室予約エンジン試験プログラムの指示に基
づき、コンピュータ上で稼働しているオペレーティング
システム(OS)、データベース管理ソフトおよびネッ
トワークソフト等の他のプログラム(ミドルウェア等)
により、上述した第1および第2の実施の形態で行われ
る処理の一部を実現するようにしてもよい。
【0112】
【発明の効果】以上説明したように本発明によれば、試
験項目の変更や追加等に対応してその構成を容易に変更
および拡張することができる。
【図面の簡単な説明】
【図1】本発明によるサーバプロセス試験システムによ
り試験されるサーバプロセスを含むシステムの一例を示
す図。
【図2】本発明によるサーバプロセス試験システムを構
築するために用いられるサーバプロセス試験フレームワ
ークの一実施の形態を説明するためのクラス図。
【図3】図2に示すサーバプロセス試験フレームワーク
において、試験項目の各パラメータに与えられる要素に
対応するクラスを決定する方法を説明するためのクラス
図。
【図4】図3に示す各クラス(具象クラス)の内容を説
明するためのクラス図。
【図5】試験項目定義ファイルの一例を示す図。
【図6】本発明によるサーバプロセス試験システムを説
明するための概念図。
【図7】図2乃至図4に示すサーバプロセス試験フレー
ムワークを用いて構築されるサーバプロセス試験システ
ムを説明するための機能ブロック図。
【図8】図7に示すサーバプロセス試験システムの動作
を説明するためのフローチャート。
【図9】本発明によるサーバプロセス試験システムを構
築するために用いられるサーバプロセス試験フレームワ
ークの他の実施の形態を説明するためのクラス図。
【図10】図9に示す呼び出し手順補正クラス(Haichi
Keitaiクラス)とローカル判定クラス(LocalHanteiク
ラス)との関係を説明するためのクラス図。
【図11】図9に示すサーバプロセス試験フレームワー
クを用いて構築されるサーバプロセス試験システムを説
明するための機能ブロック図。
【図12】クラス図の表記法を説明するための図。
【符号の説明】
1 予約業務端末 1a クライアントプロセス 2 サーバマシン 2a 会議室予約エンジン(サーバプロセス) 3 データベースマシン 3a データベース 4 予約業務担当者 11 Mainクラス(メインクラス) 11a Mainオブジェクト(メイン部) 12 SystemWatcherクラス(システム監視クラス) 12a SystemWatcherオブジェクト(システム監視
部) 13 Clientクラス(クライアントクラス) 13a Clientオブジェクト(クライアント部) 15 集計ファイル 16 KoumokuFactoryクラス(ファクトリクラス) 16a KoumokuFactoryオブジェクト(ファクトリ部) 17 YobidashiSequenceクラス(呼び出し手順実行ク
ラス) 17a YobidashiSequenceオブジェクト(呼び出し手
順実行部) 18 DataGeneratorクラス(試験用データ生成クラ
ス) 18a DataGeneratorオブジェクト(試験用データ生
成部) 19 HaichiKeitaiクラス(呼び出し手順補正クラス) 19a HaichiKeitaiオブジェクト(呼び出し手順補正
部) 20 試験項目定義ファイル 21 LocalHanteiクラス(ローカル判定クラス) 21a LocalHanteiオブジェクト(ローカル判定部) 22 GouhiHanteiクラス(合否判定クラス) 22a GouhiHanteiオブジェクト(合否判定部)
フロントページの続き (54)【発明の名称】 サーバプロセス試験システム、サーバプロセス試験フレームワークを記録したコンピュータ読み 取り可能な記録媒体、およびサーバプロセス試験プログラムを記録したコンピュータ読み取り可 能な記録媒体

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】クライアントプロセスから呼び出されて各
    種の機能を提供するサーバプロセスを試験するためのサ
    ーバプロセス試験システムにおいて、 サーバプロセスに対する試験を管理するメイン部と、 前記メイン部により起動され、クライアントプロセスを
    模倣して前記サーバプロセスを呼び出すクライアント部
    と、 前記クライアント部により呼び出され、試験項目の内容
    に従って前記サーバプロセスの所定の機能の呼び出しを
    所定の手順で実行する呼び出し手順実行部と、 前記呼び出し手順実行部により呼び出され、前記サーバ
    プロセスへの呼び出しを実行する際に必要とされる試験
    用データを生成する試験用データ生成部とを備えたこと
    を特徴とするサーバプロセス試験システム。
  2. 【請求項2】前記呼び出し手順実行部により呼び出さ
    れ、前記サーバプロセスの配置形態に起因した呼び出し
    手順の差異を補正した上で前記サーバプロセスへの呼び
    出しを実行する呼び出し手順補正部をさらに備えたこと
    を特徴とする請求項1記載のサーバプロセス試験システ
    ム。
  3. 【請求項3】前記呼び出し手順実行部により呼び出さ
    れ、前記サーバプロセスの呼び出しの結果をその呼び出
    しごとに判定するローカル判定部と、 前記ローカル判定部による判定結果に基づいて試験項目
    の合否を判定する合否判定部とをさらに備えたことを特
    徴とする請求項1または2記載のサーバプロセス試験シ
    ステム。
  4. 【請求項4】前記サーバプロセスが実行される実行環境
    の状況を監視するシステム監視部をさらに備え、 前記合否判定部は、前記ローカル判定部による判定結果
    と前記システム監視部による監視結果とに基づいて試験
    項目の合否を判定することを特徴とする請求項3記載の
    サーバプロセス試験システム。
  5. 【請求項5】前記呼び出し手順実行部および前記試験用
    データ生成部の少なくとも一方を、あらかじめ定められ
    た試験項目定義ファイルに基づいて、試験項目の内容に
    対応して生成するファクトリ部をさらに備えたことを特
    徴とする請求項1記載のサーバプロセス試験システム。
  6. 【請求項6】前記呼び出し手順補正部を、あらかじめ定
    められた試験項目定義ファイルに基づいて、試験項目の
    内容に対応して生成するファクトリ部をさらに備えたこ
    とを特徴とする請求項2記載のサーバプロセス試験シス
    テム。
  7. 【請求項7】前記ローカル判定部および前記合否判定部
    の少なくとも一方を、あらかじめ定められた試験項目定
    義ファイルに基づいて、試験項目の内容に対応して生成
    するファクトリ部をさらに備えたことを特徴とする請求
    項3記載のサーバプロセス試験システム。
  8. 【請求項8】クライアントプロセスから呼び出されて各
    種の機能を提供するサーバプロセスを試験するためのサ
    ーバプロセス試験フレームワークを記録したコンピュー
    タ読み取り可能な記録媒体において、 サーバプロセスに対する試験を管理するメインクラス
    と、 クライアントプロセスを模倣して前記サーバプロセスを
    呼び出すクライアントクラスと、 試験項目の内容に従って前記サーバプロセスの所定の機
    能の呼び出しを所定の手順で実行する呼び出し手順実行
    クラスと、 前記サーバプロセスへの呼び出しを実行する際に必要と
    される試験用データを生成する試験用データ生成クラス
    と、 あらかじめ定められた試験項目定義ファイルに基づい
    て、前記呼び出し手順実行クラスおよび前記試験用デー
    タ生成クラスの少なくとも一方を継承してなる複数種類
    の具象クラスの中から、試験項目の内容に対応した最適
    な具象クラスを選択するファクトリクラスとを含むこと
    を特徴とするサーバプロセス試験フレームワークを記録
    したコンピュータ読み取り可能な記録媒体。
  9. 【請求項9】前記サーバプロセスの配置形態に起因した
    呼び出し手順の差異を補正した上で前記サーバプロセス
    への呼び出しを実行する呼び出し手順補正クラスをさら
    に備え、 前記ファクトリクラスは、あらかじめ定められた試験項
    目定義ファイルに基づいて、前記呼び出し手順補正クラ
    スを継承してなる複数種類の具象クラスの中から、試験
    項目の内容に対応した最適な具象クラスを選択すること
    を特徴とする請求項8記載のサーバプロセス試験フレー
    ムワークを記録したコンピュータ読み取り可能な記録媒
    体。
  10. 【請求項10】前記サーバプロセスの呼び出しの結果を
    その呼び出しごとに判定するローカル判定クラスと、 前記ローカル判定クラスによる判定結果に基づいて試験
    項目の合否を判定する合否判定クラスとをさらに備え、 前記ファクトリクラスは、あらかじめ定められた試験項
    目定義ファイルに基づいて、前記ローカル判定クラスお
    よび前記合否判定クラスの少なくとも一方を継承してな
    る複数種類の具象クラスの中から、試験項目の内容に対
    応した最適な具象クラスを選択することを特徴とする請
    求項8または9記載のサーバプロセス試験フレームワー
    クを記録したコンピュータ読み取り可能な記録媒体。
  11. 【請求項11】前記サーバプロセスが実行される実行環
    境の状況を監視するシステム監視クラスをさらに備え、 前記合否判定クラスは、前記ローカル判定クラスによる
    判定結果と前記システム監視クラスによる監視結果とに
    基づいて試験項目の合否を判定することを特徴とする請
    求項10記載のサーバプロセス試験フレームワークを記
    録したコンピュータ読み取り可能な記録媒体。
  12. 【請求項12】クライアントプロセスから呼び出されて
    各種の機能を提供するサーバプロセスを試験するための
    サーバプロセス試験プログラムを記録したコンピュータ
    読み取り可能な記録媒体において、 サーバプロセスに対する試験を管理させる手順と、 クライアントプロセスを模倣して前記サーバプロセスを
    呼び出させる手順と、 試験項目の内容に従って前記サーバプロセスの所定の機
    能の呼び出しを所定の手順で実行させる手順と、 前記サーバプロセスへの呼び出しを実行する際に必要と
    される試験用データを生成させる手順とをコンピュータ
    に対して実行させることを特徴とするサーバプロセス試
    験プログラムを記録したコンピュータ読み取り可能な記
    録媒体。
  13. 【請求項13】前記サーバプロセスの配置形態に起因し
    た呼び出し手順の差異を補正した上で前記サーバプロセ
    スへの呼び出しを実行させる手順をコンピュータに対し
    てさらに実行させることを特徴とする請求項12記載の
    サーバプロセス試験プログラムを記録したコンピュータ
    読み取り可能な記録媒体。
  14. 【請求項14】前記サーバプロセスの呼び出しの結果を
    その呼び出しごとに判定させる手順と、 その判定結果に基づいて試験項目の合否を判定させる手
    順とをコンピュータに対してさらに実行させることを特
    徴とする請求項12または13記載のサーバプロセス試
    験プログラムを記録したコンピュータ読み取り可能な記
    録媒体。
JP2000035815A 2000-02-14 2000-02-14 サーバプロセス試験システム、サーバプロセス試験フレームワークを記録したコンピュータ読み取り可能な記録媒体、およびサーバプロセス試験プログラムを記録したコンピュータ読み取り可能な記録媒体 Pending JP2001229047A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000035815A JP2001229047A (ja) 2000-02-14 2000-02-14 サーバプロセス試験システム、サーバプロセス試験フレームワークを記録したコンピュータ読み取り可能な記録媒体、およびサーバプロセス試験プログラムを記録したコンピュータ読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000035815A JP2001229047A (ja) 2000-02-14 2000-02-14 サーバプロセス試験システム、サーバプロセス試験フレームワークを記録したコンピュータ読み取り可能な記録媒体、およびサーバプロセス試験プログラムを記録したコンピュータ読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
JP2001229047A true JP2001229047A (ja) 2001-08-24

Family

ID=18559954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000035815A Pending JP2001229047A (ja) 2000-02-14 2000-02-14 サーバプロセス試験システム、サーバプロセス試験フレームワークを記録したコンピュータ読み取り可能な記録媒体、およびサーバプロセス試験プログラムを記録したコンピュータ読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JP2001229047A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099743A (ja) * 2004-09-29 2006-04-13 Microsoft Corp 再現可能なテストの自動化に関するテストケース実行挙動を選択するシステムおよび方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62126457A (ja) * 1985-11-27 1987-06-08 Fujitsu Ltd 分散デ−タ処理方式
JPH06187275A (ja) * 1992-12-18 1994-07-08 Fujitsu Ltd サーバアプリケーションのテスト方法
JPH0713795A (ja) * 1993-06-28 1995-01-17 Toshiba Corp データ処理試験装置
JPH10105404A (ja) * 1996-09-27 1998-04-24 Kokusai Denshin Denwa Co Ltd <Kdd> オブジェクト指向ソフトウェア・デザインパターン
JPH1115693A (ja) * 1997-05-01 1999-01-22 Nippon Steel Corp ソフトウェアのテスト装置および記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62126457A (ja) * 1985-11-27 1987-06-08 Fujitsu Ltd 分散デ−タ処理方式
JPH06187275A (ja) * 1992-12-18 1994-07-08 Fujitsu Ltd サーバアプリケーションのテスト方法
JPH0713795A (ja) * 1993-06-28 1995-01-17 Toshiba Corp データ処理試験装置
JPH10105404A (ja) * 1996-09-27 1998-04-24 Kokusai Denshin Denwa Co Ltd <Kdd> オブジェクト指向ソフトウェア・デザインパターン
JPH1115693A (ja) * 1997-05-01 1999-01-22 Nippon Steel Corp ソフトウェアのテスト装置および記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099743A (ja) * 2004-09-29 2006-04-13 Microsoft Corp 再現可能なテストの自動化に関するテストケース実行挙動を選択するシステムおよび方法

Similar Documents

Publication Publication Date Title
US8725548B2 (en) Dynamic workflow approvals
US9740522B2 (en) Controlled interruption and resumption of batch job processing
US8898620B2 (en) System and method for application process automation over a computer network
Adams et al. Dynamic, extensible and context-aware exception handling for workflows
JP5113119B2 (ja) コンピュータが実行可能なワークフロー制御システム
US8340999B2 (en) Automatic generation of executable components from business process models
JP4496067B2 (ja) サービス指向アーキテクチャ向けのサービス・インターフェースを自動的に生成するための方法およびシステム
US8473912B2 (en) Computer readable medium, system and method of debugging software applications modelled using flow paradigms
US7739243B2 (en) System and method for dynamically configuring a multiplatform computing environment
US20030195789A1 (en) Method for incorporating human-based activities in business process models
US20070179826A1 (en) Creating a modified ontological model of a business machine
JP5160840B2 (ja) データオブジェクトの消費者に対するコンテンツの提供方法および装置
US8307054B2 (en) Systems and/or methods for location transparent routing and execution of processes
US8046733B2 (en) Method and system for process composition
US20020161823A1 (en) Dynamically defining workflow processes using generic nodes
JP2005196768A (ja) ワークフロー・システムおよび方法
US9513874B2 (en) Enterprise computing platform with support for editing documents via logical views
JP2001511555A (ja) ソフトウエアシステムの生成
Do et al. Social Patterns for Designing Multiagent Systems.
CN106600226B (zh) 用于优化流程管理系统的方法及装置
US20080288918A1 (en) Web service tool based on business object layer
CN114879939A (zh) 生成微服务的方法、系统、电子设备及存储介质
US20060224676A1 (en) System, method and program product for managing communications pursuant to an information technology (IT) migration
Chau et al. Automating SLA modeling
CN111258567A (zh) 服务代码开发处理方法及装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050906

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051107

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060623