[情報処理システムの構成]
図1は、情報処理システム10の構成を示す図である。図1に示す情報処理システム10は、情報処理装置1(ソフトウエア検証装置1とも呼ぶ)と、記憶装置2とを有する。情報処理装置1は、インターネットやイントラネット等からなるネットワークNWを介して事業者端末3にアクセスすることが可能である。
情報処理装置1は、業務システム(図示しない)に導入する新たなソフトウエアのテストを行うための処理(以下、ソフトウエア検証処理とも呼ぶ)を実行する。ソフトウエア検証処理の詳細については後述する。
記憶装置2は、例えば、HDD等からなる外部ディスク装置である。具体的に、記憶装置2は、例えば、情報処理装置1がソフトウエア検証処理を実行する際に参照する各種情報を記憶する。なお、記憶装置2は、情報処理装置1の内部に設けられたディスク装置であってもよい。
事業者端末3は、新たなソフトウエアのテストを行う事業者が利用する端末である。具体的に、事業者は、事業者端末3を介して、新たなソフトウエアのテストの開始指示等を行う。
[新たなソフトウエアのテストを行う際の比較例]
次に、新たなソフトウエアのテストを行う際の比較例について説明を行う。図2及び図3は、新たなソフトウエアのテストを行う際の比較例を説明する図である。
図2及び図3に示す情報処理装置1のCPU(Central Processing Unit)は、テストデータを生成するためのプログラムと協働して、データ生成部11として動作する。また、図2及び図3に示す情報処理装置1のCPUは、テストの実行を指示するためのプログラムと協働して、テスト実行指示部12として動作する。また、図2及び図3に示す情報処理装置1のCPUは、テスト対象の新たなソフトウエアに含まれるプログラムと協働して、テスト対象部13として動作する。
具体的に、事業者は、図2に示すように、事業者端末3を介して、テストデータの生成指示をデータ生成部11に送信する。そして、データ生成部11は、事業者端末3からテストデータ作成指示を受信した場合、例えば、テストデータの生成指示に含まれる情報を入力としてテストデータ21を生成する。その後、データ生成部11は、生成したテストデータ21を記憶装置2に記憶する。
また、事業者は、図3に示すように、事業者端末3を介して、テスト実行指示をテスト実行指示部12に送信する。そして、テスト実行指示部12は、事業者端末3からテスト実行指示を受信した場合、記憶装置2に記憶されたテストデータ21を入力とする処理(以下、テスト処理とも呼ぶ)の実行をテスト対象部13に指示する。
その後、テスト対象部13は、記憶装置2からテストデータ21を取得し、取得したテストデータ21を入力する処理を実行する。そして、事業者は、例えば、事業者端末3を介して、テスト対象部13による処理の結果を取得し、テスト対象部13の動作の正常性を判定する。
その結果、テスト対象部13の動作の正常性に異常がない場合、事業者は、利用者にサービスを提供する業務システム(図示しない)に対して、新たなソフトウエアの導入を行う。これにより、事業者は、業務システムへの導入後において、新たなソフトウエアに起因する障害の発生を防止することが可能になる。
上記のように新たなソフトウエアのテストを行う場合、事業者は、新たなソフトウエアのテストデータを事前に生成し、記憶装置2に記憶する。そして、事業者は、記憶装置2に記憶されたテストデータを取得することにより、新たなソフトウエアのテストを行う。
しかしながら、例えば、業務システムに対して導入される新たなソフトウエアが複数存在する場合、記憶装置2に予め記憶しておく必要があるテストデータのデータ量が膨大になる。また、記憶装置2が他の用途にも使用されている場合、事業者は、テストデータを記憶するための領域を十分に確保できない場合がある。
そこで、本実施の形態における情報処理装置1は、新たなソフトウエア(以下、検証対象のソフトウエアとも呼ぶ)の実行に応じてアクセスされるテストデータ21(以下、検証用データ21とも呼ぶ)を含む検証用ファイルに代えて、仮ファイルを生成する。具体的に、情報処理装置1は、検証用ファイルとファイル名が一致し、かつ、検証用データ21を生成するためのデータ生成情報を含むように仮ファイルを生成する。
その後、情報処理装置1は、仮ファイルに対する検証対象のソフトウエアからのアクセスが行われる際に、データ生成情報に基づいて検証用データ21を生成する。そして、情報処理装置1は、生成した検証用データ21を検証対象のソフトウエアに参照させる。
すなわち、情報処理装置1は、検証対象のソフトウエアが検証用データ21にアクセスするタイミングになるまで検証用データ21の生成を行わない。具体的に、情報処理装置1は、検証対象のソフトウエアのテストの実行前においては、検証用データ21を生成するためのデータ生成情報(パラメータ情報)のみを生成し、記憶装置2に記憶する。そして、情報処理装置1は、検証対象のソフトウエアから検証用データ21のアクセスが行われる際に、記憶装置2に記憶したデータ生成情報から検証用データ21の生成を行う。これにより、情報処理装置1は、記憶装置2に記憶されるデータの容量を低減させることが可能になる。
また、情報処理装置1は、仮ファイルを生成する際に、仮ファイルのファイル名を検証用ファイルと同じファイル名にする。これにより、例えば、仮ファイルのファイル名の参照要求等が発生した場合、情報処理装置1は、仮ファイルに検証用データ21が含まれていないことを参照要求の要求元に意識させることなく、参照要求に対する応答を要求元に送信することが可能になる。
[情報処理装置のハードウエア構成]
次に、情報処理装置1のハードウエア構成について説明する。図4は、情報処理装置1のハードウエア構成を示す図である。
情報処理装置1は、プロセッサであるCPU101と、メモリ102と、外部インターフェース(I/Oユニット)103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
記憶媒体104は、例えば、ソフトウエア検証処理を行うためのプログラム110を記憶する。また、記憶媒体104は、例えば、ソフトウエア検証処理を行う際に用いられる情報を記憶する情報格納領域130(以下、記憶部130とも呼ぶ)を有する。
CPU101は、図4に示すように、プログラム110の実行時に、プログラム110を記憶媒体104からメモリ102にロードし、プログラム110と協働してソフトウエア検証処理を行う。
外部インターフェース103は、例えば、記憶装置2と通信を行う。また、外部インターフェース103は、例えば、ネットワークNWを介して事業者端末3と通信を行う。
[情報処理装置の機能]
次に、情報処理装置1の機能について説明する。図5は、情報処理装置1の機能のブロック図である。また、図6は、情報処理装置1の情報格納領域130に記憶された情報のブロック図である。さらに、図7は、記憶装置2の情報格納領域230に記憶された情報のブロック図である。なお、以下、ソフトウエア検証処理は、記憶装置2を制御するためのディスクドライバ(以下、単にドライバとも呼ぶ)において実行される処理であるものとして説明を行う。
情報処理装置1のCPU101は、図5に示すように、プログラム110と協働することにより、例えば、情報受信部111と、仮ファイル生成部112(以下、第1生成部112とも呼ぶ)と、検証用情報生成部113(以下、第2生成部113とも呼ぶ)と、情報参照部114として動作する。また、情報処理装置1のCPU101は、図5に示すように、プログラム110と協働することにより、例えば、仮ファイル退避部115と、情報管理部116と、情報送信部117として動作する。
さらに、情報処理装置1のメモリ102には、図6に示すように、例えば、検証用情報131が記憶される。また、情報処理装置1の情報格納領域130には、図6に示すように、例えば、カウンタ情報132と、ファイル管理情報133とが記憶される。なお、検証用情報131は、図2等で説明したテストデータ21(検証用データ21)に対応する。
また、記憶装置2の情報格納領域230には、図7に示すように、例えば、データ生成情報231(以下、単に生成情報231とも呼ぶ)と、識別情報232とが記憶される。
情報受信部111は、図2等で説明したデータ生成部11から、検証用情報131を生成するための生成情報231を取得する旨の情報(以下、生成情報231の取得要求とも呼ぶ)を受信する。生成情報231は、例えば、検証用情報131を生成するためのパラメータ情報を含む情報である。また、情報受信部111は、例えば、データ生成部11から、データ生成部11が生成した検証用情報131を記憶装置2に記憶する旨の情報(以下、検証用情報131の記憶要求とも呼ぶ)を受信する。
そして、情報受信部111は、図2等で説明したテスト実行指示部12から、仮ファイルのファイル名を取得する旨の情報(以下、ファイル名の取得要求とも呼ぶ)を受信する。また、情報受信部111は、テスト実行指示部12から、仮ファイルを生成するための生成情報231の取得要求を受信する。さらに、情報受信部111は、図2等で説明したテスト対象部13から、仮ファイルに対するアクセスを要求する旨の情報(以下、仮ファイルのアクセス要求とも呼ぶ)を受信する。検証用情報131及び生成情報231の具体例については後述する。
仮ファイル生成部112は、検証対象のソフトウエアの実行に応じてアクセスされる検証用情報131を含む検証用ファイルに代えて、検証用ファイルとファイル名が一致し、かつ、生成情報231を含む仮ファイルを生成する。
すなわち、仮ファイル生成部112は、データ生成部11が生成した検証用情報131を記憶装置2に記憶する旨の情報を受信した場合であっても、その検証用情報131の記憶を行わない。そして、仮ファイル生成部112は、検証用情報131を含む検証用ファイルに代えて、生成情報231を含む仮ファイルを記憶装置2に記憶する。
一方、検証用情報131を生成するための生成情報231が記憶装置2に記憶されている。そのため、検証用情報生成部113は、後述するように、必要に応じて、検証用情報131を生成することが可能である。これにより、情報管理部116は、検証対象のソフトウエアのテストが実施される際に、記憶装置2に記憶する必要がある情報量を低減させることが可能になる。
検証用情報生成部113は、仮ファイルに対するテスト対象部13からのアクセス要求が行われる際に、記憶装置2に記憶された生成情報231に基づいて検証用情報131を生成する。具体的に、検証用情報生成部113は、仮ファイルに対するテスト対象部13からのアクセス要求が行われる前に、検証用情報131の生成を行うものであってよい。また、検証用情報生成部113は、仮ファイルに対するテスト対象部13からのアクセス要求が行われたことに応じて、検証用情報131の生成を行うものであってよい。
情報参照部114は、例えば、仮ファイルに対するテスト対象部13からのアクセス要求に対して、検証用情報生成部113が生成した検証用情報131を参照する。
すなわち、テスト対象部13がアクセスした仮ファイルには、ファイルの実体である検証用情報131が存在しない。そのため、情報参照部114は、仮ファイルに対する検証対象のソフトウエア(テスト対象部13)からのアクセス要求があった場合、そのアクセス要求によるアクセス先を変更し、検証用情報生成部113が生成した検証用情報131を参照する。
また、情報参照部114は、テスト実行指示部12から、仮ファイルのファイル名の取得要求を受信した場合、仮ファイルのファイル名を取得する。なお、仮ファイルのファイル名は、記憶装置2に記憶されているものであってよい。
さらに、情報参照部114は、テスト実行指示部12等から、生成情報231の取得要求を受信した場合、記憶装置2に記憶された生成情報231を取得する。
仮ファイル退避部115は、テスト対象部13等から、仮ファイルの退避要求(格納位置の変更要求)があった場合、仮ファイルのデータサイズを取得し、仮ファイルの格納位置の変更を行う。
すなわち、テスト対象部13等は、データ生成部11が生成した検証用情報131を含む検証用ファイルの先頭アドレス及びデータサイズ(以下、サイズ情報とも呼ぶ)に基づいて、仮ファイルの格納位置の変更要求を行う場合がある。しかしながら、記憶装置2には、検証用ファイルの代わりに仮ファイルが記憶されている。そして、テスト対象部13等が認識する検証用ファイルのサイズ情報は、実際に記憶装置2に記憶されている仮ファイルのサイズ情報と異なる。そのため、仮ファイル退避部115は、仮ファイルの格納位置の変更を行う場合、仮ファイルのサイズ情報を取得する。そして、仮ファイル退避部115は、取得したサイズ情報に対応する情報について、格納位置の変更を行う。
情報管理部116は、仮ファイル生成部112が生成した生成情報231を含む仮ファイルを記憶装置2に記憶する。
一方、情報管理部116は、情報受信部111が検証用情報131の記憶要求を受信した場合であっても、検証用情報生成部113が生成した検証用情報131を記憶装置2に記憶しない。そのため、検証用情報131は、メモリ102上において他の情報に上書きされるまでの間のみ維持される。
すなわち、検証用情報131は、テスト対象部13からのアクセス要求に対する応答を行うために生成される情報である。そのため、検証用情報131は、場合によっては、長期間記憶しておく必要がない情報である。したがって、情報管理部116は、検証用情報生成部113が生成した検証用情報131を記憶装置2に記憶しない。これにより、情報管理部116は、検証対象のソフトウエアのテストが実施される際に、記憶装置2に記憶する必要がある情報量を低減させることが可能になる。
情報送信部117は、生成情報231の取得要求に応じて取得された生成情報231を、データ生成部11等に送信する。また、情報送信部117は、仮ファイルのファイル名の取得要求に応じて取得された仮ファイルのファイル名を、テスト実行指示部12に送信する。さらに、情報送信部117は、仮ファイルに対するアクセス要求に対する応答を、テスト対象部13に送信する。識別情報232、カウンタ情報132及びファイル管理情報133については後述する。
[第1の実施の形態]
次に、第1の実施の形態について説明する。図8は、第1の実施の形態におけるソフトウエア検証処理の概略を説明するフローチャート図である。また、図9から図13は、第1の実施の形態におけるソフトウエア検証処理の概略を説明する図である。図9から図13を参照しながら図8のソフトウエア検証処理の概略について説明する。
[情報処理装置の構成の詳細]
初めに、情報処理装置1の構成の詳細について説明を行う。図9は、情報処理装置1の構成の詳細を説明する図である。
図9に示す情報処理装置1において、図4で説明したメモリ102等を含むハードウエア16上には、OS(Operating System)14が動作する。そして、図9に示す情報処理装置1において、OS上では、図2等で説明したデータ生成部11と、テスト実行指示部12と、テスト対象部13とが動作する。
そして、図9に示す情報処理装置1において、ハードウエア16とOS14との間には、ハードウエア16や記憶装置2を制御するドライバ15が動作する。以下、図9に示す情報処理装置1におけるドライバ15がソフトウエア検証処理を実行するものとして説明を行う。
[第1の実施の形態の概略を説明するフローチャート]
次に、第1の実施の形態の概略のフローチャートについて説明を行う。情報処理装置1のドライバ15は、図8に示すように、仮ファイルを生成するタイミング(以下、仮ファイル生成タイミングとも呼ぶ)になるまで待機する(S1のNO)。仮ファイル生成タイミングは、例えば、図10に示すように、データ生成部11(OS14)から、検証用情報131(データ生成部11が生成した検証用情報131)の記憶要求があったタイミングであってよい。
その後、仮ファイル生成タイミングになった場合(S1のYES)、ドライバ15は、図10に示すように、検証用情報131を含む検証用ファイルとファイル名が一致し、かつ、生成情報231を含む仮ファイルを生成する(S2)。そして、ドライバ15は、生成した仮ファイルを記憶装置2に記憶する。
すなわち、ドライバ15は、例えば、データ生成部11が生成した検証用情報131の記憶装置2への記憶要求を受信した場合であっても、その検証用情報131の記憶を行わない。そして、仮ファイル生成部112は、検証用情報131を含む検証用ファイルに代えて、生成情報231を含む仮ファイルを記憶装置2に記憶する。
その後、ドライバ15は、仮ファイルに対する検証対象のソフトウエア(テスト対象部13)からのアクセス要求が行われるタイミングになるまで待機する(S3のNO)。そして、検証対象のソフトウエアからのアクセス要求が行われるタイミングになった場合(S3のYES)、ドライバ15は、図11に示すように、記憶装置2に記憶された仮ファイルに含まれる生成情報231を取得する。具体的に、ドライバ15は、記憶装置2に記憶された生成情報231の中から、検証対象のソフトウエアからのアクセス要求に対応する検証用情報131を生成するための生成情報231を取得する。そして、ドライバ15は、図12に示すように、取得した生成情報231に基づいて検証用情報131を生成する(S4)。さらに、ドライバ15は、図13に示すように、生成した検証用情報131を検証対象のソフトウエアに参照させる(S4)。
すなわち、ドライバ15は、S2の処理において、検証用情報131を含む検証用ファイルに代えて、生成情報231を含む仮ファイルを記憶装置2に記憶している。そのため、ドライバ15は、検証対象のソフトウエアからのアクセス要求が行われるタイミングになったことに応じて、記憶装置2に記憶された生成情報231から検証用情報131を生成することが可能になる。これにより、ドライバ15は、検証対象のソフトウエアのテストを実行する際に記憶装置2に記憶する必要があるデータ容量を抑えながら、検証対象のソフトウエアからのアクセス要求に応答することが可能になる。
また、情報処理装置1は、仮ファイルを生成する際に、仮ファイルのファイル名を検証用ファイルと同じファイル名にする。これにより、例えば、仮ファイルのファイル名の参照要求等が発生した場合、情報処理装置1は、仮ファイルに検証用データ21が含まれていないことを参照要求の要求元に意識させることなく、参照要求に対する応答を要求元に送信することが可能になる。
このように、本実施の形態における情報処理装置1(ドライバ15)は、検証対象のソフトウエアの実行に応じてアクセスされる検証用情報131を含む検証用ファイルに代えて、仮ファイルを生成する。具体的に、情報処理装置1は、検証用ファイルとファイル名が一致し、かつ、検証用情報131を生成するための生成情報231を含むように仮ファイルを生成する。
その後、情報処理装置1は、仮ファイルに対する検証対象のソフトウエアからのアクセス要求が行われる際に、生成情報231に基づいて検証用情報131を生成する。そして、情報処理装置1は、生成した検証用情報131を検証対象のソフトウエアに参照させる。
すなわち、情報処理装置1は、検証対象のソフトウエアのテストに要する検証用情報131の全てを予め生成して記憶装置2に記憶することなく、メモリ102上に記憶可能な情報量の検証用情報131を順々に作成しながら検証対象のソフトウエアのテストを行う。さらに、情報処理装置1は、生成した検証用情報131を記憶装置2に記憶しない。これにより、情報処理装置1は、記憶装置2に記憶する情報量を低減させることが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図14から図16は、第1の実施の形態におけるソフトウエア検証処理の詳細を説明するフローチャート図である。また、図17から図24は、第1の実施の形態におけるソフトウエア検証処理の詳細を説明する図である。図17から図24を参照しながら、図14から図16のソフトウエア検証処理の詳細を説明する。
なお、以下、検証用情報131は、事業者がテストを行うソフトウエア毎にそれぞれ存在するものとする。そして、生成情報231は、検証用情報131毎にそれぞれ存在するものとする。また、テスト対象部13は、検証用情報131をそれぞれ含む検証用ファイル毎に、アクセスされたアドレスが昇順になるように検証用情報131のアクセスを行うものとして説明を行う。
[仮ファイル生成処理]
初めに、第1の実施の形態におけるソフトウエア検証処理のうち、仮ファイルを生成する処理(以下、仮ファイル生成処理とも呼ぶ)について説明を行う。
ドライバ15の情報受信部111は、図14に示すように、OS14(データ生成部11)から、記憶装置2に記憶された生成情報231の取得要求を受信するまで待機する(S11のNO)。すなわち、情報受信部111は、データ生成部11が検証用情報131を含む検証用ファイルの生成を行うための生成情報231の取得要求を行うまで待機する。
なお、以下、データ生成部11は、仮ファイル生成処理において、検証用ファイルの生成を1ファイルずつ行う(生成情報231の取得要求を1ファイルずつ行う)ものとして説明を行う。以下、生成情報231の具体例について説明を行う。
[生成情報の具体例]
図17は、生成情報231の具体例を説明する図である。図17に示す生成情報231は、生成情報231に含まれる各情報を識別する「項番」と、検証用情報131が生成される際に用いられるパラメータ情報がそれぞれ設定される「情報(1)」、「情報(2)」、「情報(3)」及び「情報(4)」とを項目として有する。また、図17に示す生成情報231は、生成される検証用情報131に含まれる各情報の行数を示す「行数」を項目として有する。なお、生成情報231においてパラメータ情報が設定される項目の数は、4項目以外であってもよい。
具体的に、図17に示す生成情報231において、「項番」が「1」である情報には、「情報(1)」として「AAA」が設定され、「情報(2)」として「川崎」が設定され、「情報(3)」として「社員」が設定され、「情報(4)」として「105」が設定されている。また、図17に示す生成情報231において、「項番」が「1」である情報には、「行数」として「150」が設定されている。図17に含まれる他の情報については説明を省略する。
すなわち、生成情報231は、検証用情報131を生成するためのパラメータ情報からなるものである。そのため、生成情報231の情報量は、その生成情報231から生成される検証用情報131の情報量よりも少ない。
図14に戻り、情報受信部111が生成情報231の取得要求を受信した場合(S11のYES)、ドライバ15の情報参照部114は、S11の処理で受信した取得要求に対応する生成情報231を記憶装置2から取得する(S12)。そして、ドライバ15の情報送信部117は、S12の処理で情報参照部114が取得した生成情報231をOS14(データ生成部11)に送信する(S13)。
また、この場合、ドライバ15の仮ファイル生成部112は、S12の処理で情報参照部114が取得した生成情報231を保持する(S14)。すなわち、S12の処理で取得された生成情報231は、後述するように、仮ファイル生成部112が仮ファイルを生成する際に使用する情報である。そのため、仮ファイル生成部112は、S12の処理で取得された生成情報231を保持する。
そして、仮ファイル生成部112は、情報格納領域130に記憶されたカウンタ情報132を更新する(S15)。カウンタ情報132は、情報参照部114が取得した生成情報231の数に対応する情報である。すなわち、カウンタ情報132は、S11からS17までの処理が実行された回数に対応する情報である。そのため、仮ファイル生成部112は、S15の処理において、現在のカウンタ情報132が示す値に「1」を加算した値を、新たなカウンタ情報132として情報格納領域130に記憶する。
さらに、仮ファイル生成部112は、情報格納領域130に記憶されたカウンタ情報132を識別情報232として取得する(S15)。識別情報232は、生成情報231(生成情報331から生成された検証用情報131)を一意に識別する情報である。具体的に、情報格納領域130に記憶されたカウンタ情報132が示す値が「15」である場合、仮ファイル生成部112は、識別情報232として「15」を取得する。
その後、情報受信部111は、OS14(データ生成部11)から、データ生成部11が生成した検証用情報131の記憶要求を受信するまで待機する(S16のNO)。すなわち、情報受信部111は、S13の処理において送信された生成情報231に基づいて検証用情報131が生成されるまで待機する。
そして、検証用情報131の記憶要求を受信した場合(S16のYES)、仮ファイル生成部112は、検証用情報131を含む検証用ファイルの記憶に代えて、検証用ファイルをファイル名が一致し、かつ、生成情報231及び識別情報232含む仮ファイルを生成する(S17)。さらに、仮ファイル生成部112は、この場合、生成した仮ファイルを記憶装置2に記憶する(S17)。
すなわち、仮ファイル生成部112は、検証用情報131の記憶要求を受信した場合であっても、記憶装置2への検証用ファイルの記憶を行わない。一方、仮ファイル生成部112は、後述するように、検証用情報131を生成するための生成情報231を含む仮ファイルを記憶装置2に記憶する。
これにより、ドライバ15は、検証対象のソフトウエアのテストを実行する際に記憶装置2に記憶する必要があるデータ容量を抑えながら、検証対象のソフトウエアからのアクセス要求に応答することが可能になる。以下、仮ファイルに含まれる生成情報231及び識別情報232の具体例について説明を行う。
[仮ファイルに含まれる生成情報231及び識別情報232の具体例]
図18は、仮ファイルに含まれる生成情報231及び識別情報232の具体例を説明する図である。図18に示す例では、生成情報231及び識別情報232が単一の情報として生成される場合について説明を行う。図18に示す生成情報231及び識別情報232は、図17で説明した生成情報231が有する項目に加え、識別情報が示す値が設定される「識別情報」を項目として有する。
具体的に、図18に示す生成情報231及び識別情報232において、「項番」が「1」である情報には、「識別情報」として「15」が設定されている。「項番」が「1」である情報の他の項目には、図17で説明した生成情報231における「項番」が「1」である情報と同じ情報が設定されている。図18に含まれる他の情報については説明を省略する。
[検証用情報生成処理]
次に、第1の実施の形態におけるソフトウエア検証処理のうち、検証対象のソフトウエアの検証の実行に伴って、生成情報231から検証用情報131を生成する際の処理(以下、検証用情報生成処理とも呼ぶ)。
情報参照部114は、図15に示すように、仮ファイル名を取得するタイミング(以下、仮ファイル名取得タイミングとも呼ぶ)になるまで待機する(S21のNO)。仮ファイル名取得タイミングは、例えば、情報受信部111が、OS14(テスト実行指示部12)から、仮ファイルのファイル名の取得要求を受信したタイミングであってよい。すなわち、テスト実行指示部12は、事業者端末3から検証対象のソフトウエアのテストを開始する旨の指示があった場合、指示されたテストの内容に合致する仮ファイルのファイル名を取得するために、仮ファイルのファイル名の取得要求をOS14(ドライバ15)に送信する。
そして、仮ファイル名取得タイミングになった場合(S21のYES)、情報参照部114は、情報格納領域130から仮ファイルのファイル名を取得する(S22)。そして、情報送信部117は、S22の処理において情報参照部114が取得した仮ファイルのファイル名を、OS14(テスト実行指示部12)に送信する(S23)。
すなわち、ドライバ15は、S17の処理において、検証用ファイルと同一のファイル名である仮ファイルを記憶装置2に記憶している。そのため、ドライバ15は、テスト実行指示部12から仮ファイルのファイル名の取得要求を受信した場合、仮ファイルに検証用情報131が生成されていないことをテスト実行指示部12に意識させることなく、仮ファイルのファイル名を返すことが可能になる。したがって、テスト実行指示部12は、OS14から取得した仮ファイルのファイル名を入力として、テスト対象部13にテスト処理を実行させることが可能になる。
その後、情報参照部114は、ファイル管理情報133を生成するタイミング(以下、ファイル管理情報生成タイミングとも呼ぶ)まで待機する(S24のNO)。ファイル管理情報133は、記憶装置2に記憶された各仮ファイルに含まれる識別情報232と、各仮ファイルの記憶装置2におけるアドレス(先頭アドレス)とが関連付けられた情報である。そして、ファイル管理情報生成タイミングは、情報受信部111が、ファイル管理情報133の生成を指示する旨の情報(以下、ファイル管理情報133の生成要求とも呼ぶ)を、テスト実行指示部12から受信したタイミングであってよい。
なお、テスト実行指示部12は、例えば、テスト対象部13に処理の実行を指示する前に、ドライバ15にファイル管理情報の生成の指示を行う。これにより、テスト実行指示部12は、ファイル管理情報133が生成されていないために、テスト対象部13が検証用情報131に対してアクセスを行うことができないという状況の発生を防止することが可能になる。
そして、ファイル管理情報生成タイミングになった場合(S24のYES)、情報参照部114は、記憶装置2に記憶された仮ファイルにアクセスする(S25)。その後、ドライバ15の情報管理部116は、S25の処理でアクセスした仮ファイルに含まれる識別情報232と、S25でアクセスした仮ファイルの先頭アドレスとを関連付けることにより、ファイル管理情報133を生成する(S26)。以下、ファイル管理情報133の具体例について説明を行う。
[ファイル管理情報の具体例(1)]
図19は、ファイル管理情報133の具体例を説明する図である。図19に示すファイル管理情報133は、ファイル管理情報133に含まれる各情報を識別する「項番」と、各仮ファイルに含まれる識別情報232が設定される「識別情報」とを項目として有する。また、図19に示すファイル管理情報133は、各仮ファイルが記憶される記憶装置2内の領域の先頭アドレスを示す「先頭アドレス」を項目として有する。さらに、図19に示すファイル管理情報133は、各仮ファイルに対応する検証用情報131が記憶されるメモリ102上の領域の先頭アドレスを示す「先頭メモリアドレス」を項目として有する。
具体的に、図19に示すファイル管理情報133において、「項番」が「1」である情報には、「識別情報」として「15」が設定され、「先頭アドレス」として「0x1000002000」が設定されている。また、図19に示すファイル管理情報133において、「項番」が「1」である情報には、「先頭メモリアドレス」として「0x3000010000」が設定されている。
すなわち、検証用情報生成部113は、後述するように、アクセス要求を受信した場合、ファイル管理情報133を参照することにより、受信したアクセス要求のアクセス先の先頭アドレスの情報から、アクセス要求に対応する仮ファイルに含まれる識別情報232を特定することが可能になる。そのため、検証用情報生成部113は、この場合、生成すべき検証用情報131を特定し、検証用情報131を生成することが可能になる。
また、検証用情報生成部113は、検証用情報131を生成した場合、ファイル管理情報133を参照することにより、生成した検証用情報131を記憶すべきメモリ102上における領域を特定することが可能になる。そのため、検証用情報生成部113は、この場合、生成した検証用情報131を、メモリ102上における予め定められた領域に記憶することが可能になる。
図16に戻り、情報受信部111は、OS14(テスト対象部13)からアクセス要求を受信するまで待機する(S31のNO)。そして、OS14からアクセス要求を受信した場合(S31のYES)、検証用情報生成部113は、ファイル管理情報133を参照し、S31の処理で受信したアクセス要求のアクセス先の先頭アドレスと関連付けられた識別情報232を特定する。そして、検証用情報生成部113は、特定した識別情報232と関連付けられた生成情報231から検証用情報131を生成する(S32)。
すなわち、テスト対象部13は、テスト実行指示部12からの指示の内容に応じて、必要な処理を実行し、仮ファイルに対してアクセス要求を送信する。しかしながら、この場合において、アクセスされた仮ファイルには、検証用情報131が含まれていない。そのため、検証用情報生成部113は、S32の処理において、アクセス要求に対応する仮ファイルに含まれる生成情報231から検証用情報131(S31の処理で受信したアクセス要求のアクセス先の検証用情報131)を生成する。
具体的に、検証用情報生成部113は、図19に示す例において、S31の処理で受信したアクセス要求のアクセス先の先頭アドレスが「0x1000300000」である場合、受信したアクセス要求のアクセス先の仮ファイルの識別情報232として「18」を特定する。そのため、検証用情報生成部113は、記憶装置2に記憶された仮ファイルに含まれる生成情報231のうち、識別情報232が「18」である生成情報231を取得する。そして、検証用情報生成部113は、識別情報232が「18」である生成情報231から、検証用情報131を生成する。
その後、検証用情報生成部113は、「識別情報」が「18」である情報の「先頭メモリアドレス」に設定された情報である「0x30001b0000」を特定する。そして、検証用情報生成部113は、メモリ102上において先頭アドレスが「0x30001b0000」である領域に、生成した検証用情報131を記憶する。以下、検証用情報131の具体例について説明をする。
[検証用情報の具体例]
図20は、検証用情報131の具体例を説明する図である。図20に示す検証用情報131は、ファイル管理情報133に含まれる各情報を識別する「項番」と、検証対象のソフトウエアからのアクセス要求のアクセス先の情報である「アクセス先情報」とを項目として有する。
具体的に、図20に示す検証用情報131において、「項番」が「2」ある情報は、図18に示す生成情報231及び識別情報232の「項番」が「4」である情報に対応する情報であり、「アクセス先情報」として「DDD,沼津,社員,69」が設定されている。
また、図20に示す検証用情報131において、「項番」が「3」及び「6」ある情報には、図18に示す生成情報231及び識別情報232の「項番」が「2」である情報に対応する情報であり、「アクセス先情報」として「BBB,沼津,社員,69」が設定されている。
一方、図20に示す検証用情報131において、「項番」が「1」等である情報の「アクセス先情報」には、図18に示す生成情報231及び識別情報232に含まれないダミー情報(「XXX,YYY,ZZZ,999」)が設定されている。
すなわち、検証用情報生成部113は、S32の処理において、図18に示す生成情報231及び識別情報232を参照し、各情報が「行数」に設定された行数だけ含まれるように検証用情報131を生成する。具体的に、検証用情報生成部113は、例えば、「項番」が「1」である情報から生成された情報が、図18に示す情報の「行数」に設定された情報である「150(行)」含まれるように検証用情報131を生成する。そして、図18に示す情報に基づいて生成された情報の行数よりも、検証用情報131に含める必要がある情報の行数の方が多い場合、検証用情報生成部113は、検証用情報131にダミー情報を含める。図20に含まれる他の情報については省略する。
図16に戻り、情報送信部117は、S32の処理で生成した検証用情報131に対するアクセス結果を、OS14(テスト対象部13)に送信する(S33)。
すなわち、検証用情報生成部113は、検証用情報生成処理が実行されるまでの間、検証用情報131を生成しない。一方、仮ファイル生成部112及び検証用情報生成部113は、それぞれ対応する仮ファイルと検証用情報131とが同一の識別情報232を有するように、それぞれ仮ファイル及び検証用情報131の生成を行う。そのため、情報参照部114は、テスト対象部13から仮ファイルに対するアクセス要求があった場合に、その仮ファイルに含まれる識別情報232に対応する検証用情報131に対してアクセスを行うことが可能になる。したがって、テスト対象部13は、同一の内容のアクセス要求を行った場合、常に同じ内容の応答を受信することが可能になる。
これにより、事業者は、検証対象のソフトウエアについて、同一の検証用情報131による複数回のテストを行う場合であっても、各回のテストにおいて使用された検証用情報131が同一であるという担保を得ることが可能になる。さらに、検証対象のソフトウエアに対する複数回のテストに、図2等で説明した方法によるテストと、本実施の形態によるテストとが混在して含まれている場合であっても、事業者は、各回のテストで使用された検証用情報131が同一であるという担保を得ることが可能になる。
そして、情報管理部116は、S33の処理の後、ファイル管理情報133に含まれる情報のうち、S31の処理で受信したアクセス要求のアクセス先に対応する先頭アドレス及び先頭メモリアドレスを、そのアクセス要求のアクセス先の検証用情報131のうち、アクセスされていない情報の先頭に対応するアドレスに更新する(S34)。
具体的に、情報管理部116は、例えば、1回のアクセス要求においてアクセスされる情報量を参照し、S31の処理で受信したアクセス要求のアクセス先に対応する先頭アドレスを、S31の処理において次に受信するアクセス要求のアクセス先の先頭アドレスに更新する。また、情報管理部116は、S31の処理で受信したアクセス要求のアクセス先に対応する先頭メモリアドレスを、S31の処理で受信したアクセス要求のアクセス先の検証用情報131のうち、OS14(テスト対象部13)によってアクセスされていないデータの先頭アドレスに更新する(S34)。
これにより、情報管理部116は、情報受信部111が次に受信するアクセス要求のアクセス先の先頭アドレスを、ファイル管理情報133の「先頭アドレス」に設定することが可能になる。そのため、検証用情報生成部113は、情報受信部111が次のアクセス要求を受信した場合においても、ファイル管理情報133を参照することにより、そのアクセス要求に対応する仮ファイルを特定することが可能になる。また、検証用情報生成部113は、次のアクセス要求に応じて検証用情報131を生成した場合においても、生成した検証用情報131を記憶するメモリ102上のアドレスを特定することが可能になる。以下、S34の処理が実行された後のファイル管理情報133の具体例について説明を行う。
[ファイル管理情報の具体例(2)]
図21及び図22は、ファイル管理情報133の具体例を説明する図である。図21に示すファイル管理情報133は、図19で説明したファイル管理情報133に対して、S34の処理が実行された場合のファイル管理情報133である。また、図22に示すファイル管理情報133は、図21に示すファイル管理情報133に対して、S34の処理が実行された場合のファイル管理情報133である。なお、以下、OS14(テスト対象部13)から行われる1回のアクセス要求による情報量が4096(バイト)であるものとして説明を行う。
具体的に、図19に示す例において、「項番」が「1」である情報に対応する仮ファイルに対して行われるアクセス要求は、記憶装置2におけるアドレスが「0x1000002000」から「0x100002fff」までの4096(バイト)の領域に記憶された情報に対するアクセス要求である。そのため、情報管理部116は、S34の処理において、「項番」が「1」である情報に対応する仮ファイルに対してアクセス要求が行われた場合、次の行われるアクセス要求に対応する先頭アドレスとして「0x1000003000」を特定する。そして、情報管理部116は、図21の下線部分に示すように、「項番」が「1」である情報の「先頭アドレス」を「0x1000003000」に更新する。
一方、図19に示す例において、「項番」が「1」である情報の仮ファイルに対応する検証用情報131は、メモリ102上におけるアドレスが「0x3000010000」から「0x3000010fff」までの4096(バイト)の領域に記憶された情報である。そのため、情報管理部116は、S34の処理において、「項番」が「1」である情報に対応する仮ファイルに対してアクセス要求が行われた場合、次の行われるアクセス要求に対応する検証用情報131の先頭アドレスとして「0x3000011000」を特定する。そして、情報管理部116は、図21の下線部分に示すように、「項番」が「1」である情報の「先頭メモリアドレス」を「0x3000011000」に更新する。
さらに、図21に示す例において、「項番」が「3」である情報に対応する仮ファイルに対して行われるアクセス要求は、アドレスが「0x10001d3500」から「0x10001d44ff」までの4096(バイト)の領域に記憶された情報に対するアクセス要求である。そのため、情報管理部116は、S34の処理において、「項番」が「3」である情報に対応する仮ファイルに対してアクセス要求が行われた場合、次の行われるアクセス要求に対応する先頭アドレスとして「0x10001d4500」を特定する。そして、情報管理部116は、図22の下線部分に示すように、「項番」が「3」である情報の「先頭アドレス」を「0x10001d4500」に更新する。
また、図21に示す例において、「項番」が「3」である情報の仮ファイルに対応する検証用情報131は、メモリ102上におけるアドレスが「0x3000025000」から「0x3000025fff」までの4096(バイト)の領域に記憶された情報である。そのため、情報管理部116は、S34の処理において、「項番」が「3」である情報に対応する仮ファイルに対してアクセス要求が行われた場合、次の行われるアクセス要求に対応する検証用情報131の先頭アドレスとして「0x3000026000」を特定する。そして、情報管理部116は、図22の下線部分に示すように、「項番」が「3」である情報の「先頭メモリアドレス」を「0x3000026000」に更新する。
これにより、情報管理部116は、仮ファイルの先頭アドレス(記憶装置2のアドレス)と、その仮ファイルに対応する検証用情報131の先頭アドレス(メモリ102上のアドレス)とを対応させながら、ファイル管理情報113を更新することが可能になる。そのため、検証用情報生成部113は、S32の処理が実行される際に、ファイル管理情報113を参照することにより、検証用情報131を生成するために用いる生成情報231を特定することが可能になる。
図16に戻り、S34の処理の後、情報受信部111は、OS14(テスト対象部13)から次のアクセス要求を受信するまで待機する(S31のNO)。
なお、ファイル管理情報133は、S34の処理が行われた後も、ファイル管理情報133の「先頭アドレス」及び「先頭メモリアドレス」に最初に設定された情報を維持するものであってもよい。以下、ファイル管理情報133の「先頭アドレス」及び「先頭メモリアドレス」に最初に設定された情報を維持する場合のファイル管理情報133の具体例について説明を行う。
[ファイル管理情報の具体例(3)]
図23及び図24は、ファイル管理情報133の具体例を説明する図である。図23及び図24に示すファイル管理情報133は、図19等で説明したファイル管理情報133が有する項目に加え、OS14(テスト対象部13)によって次にアクセスされる記憶装置2内のアドレスを示す「次回アドレス」を項目として有する。また、図23及び図24に示すファイル管理情報133は、図19等で説明したファイル管理情報133が有する項目に加え、次にアクセスされる検証用情報131が記憶されたメモリ102上のアドレスを示す「次回メモリアドレス」を項目として有する。
具体的に、図23に示すファイル管理情報133において、「項番」が「1」から「5」である情報の「次回アドレス」及び「次回メモリアドレス」には、情報が設定されていないことを示す「−」がそれぞれ設定されている。図23に含まれる他の情報については説明を省略する。
そして、図23に示すファイル管理情報において、「項番」が「5」である情報に対応する仮ファイルに対して行われるアクセス要求は、アドレスが「0x10003c3500」から「0x10003c44ff」までの4096(バイト)の領域に記憶された情報に対するアクセス要求である。そのため、情報管理部116は、S34の処理において、「項番」が「5」である情報に対応する仮ファイルに対してアクセス要求が行われた場合、次の行われるアクセス要求に対応する先頭アドレスとして「0x10003c4500」を特定する。そして、情報管理部116は、図24の下線部分に示すように、「項番」が「5」である情報の「次回アドレス」を「0x10003c4500」に更新するものであってもよい。
また、図23に示す例において、「項番」が「5」である情報の仮ファイルに対応する検証用情報131は、メモリ102上におけるアドレスが「0x300004c000」から「0x300004cfff」までの4096(バイト)の領域に記憶された情報である。そのため、情報管理部116は、S34の処理において、「項番」が「5」である情報に対応する仮ファイルに対してアクセス要求が行われた場合、次の行われるアクセス要求に対応する検証用情報131の先頭アドレスとして「0x300004d000」を特定する。そして、情報管理部116は、図24の下線部分に示すように、「項番」が「5」である情報の「先頭メモリアドレス」を「0x300004d000」に更新するものであってもよい。図24に含まれる他の情報については説明を省略する。
これにより、検証用情報生成部113は、同一の検証用情報131に対するアクセス要求が複数回行われる場合であっても、ファイル管理情報133を参照することで、受信したアクセス要求に対応する先頭アドレスと関連付けられた識別情報232を特定することが可能になる。
なお、図23等で説明したファイル管理情報133を用いる場合、検証用情報生成部113は、S32の処理において、S31の処理で受信したアクセス要求のアクセス先の仮ファイルに対応する情報の「次回アドレス」に情報が設定されているか否かを判定する。そして、「次回アドレス」に情報が設定されている場合、検証用情報生成部113は、S31の処理で受信したアクセス要求のアクセス先の先頭アドレスが「次回アドレス」に設定されている情報の識別情報232を特定するものであってよい。一方、「次回アドレス」に情報が設定されていない場合、検証用情報生成部113は、S31の処理で受信したアクセス要求のアクセス先の先頭アドレスが「先頭アドレス」に設定されている情報の識別情報232を特定するものであってよい。
このように、本実施の形態における情報処理装置1(ドライバ15)は、検証対象のソフトウエアの実行に応じてアクセスされる検証用情報131を含む検証用ファイルに代えて、仮ファイルを生成する。具体的に、情報処理装置1は、検証用ファイルとファイル名が一致し、かつ、検証用情報131を生成するための生成情報231を含むように仮ファイルを生成する。
その後、情報処理装置1は、仮ファイルに対する検証対象のソフトウエアからのアクセス要求が行われる際に、生成情報231に基づいて検証用情報131を生成する。そして、情報処理装置1は、生成した検証用情報131を検証対象のソフトウエアに参照させる。
これにより、情報処理装置1は、記憶装置2に記憶されるデータの容量を低減させることが可能になる。
[第2の実施の形態]
次に、第2の実施の形態について説明する。図25から図27は、第2の実施の形態におけるソフトウエア検証処理を説明するフローチャート図である。
第1の実施の形態におけるソフトウエア検証処理では、OS14(テスト対象部13)からアクセス要求があったことに応じて、生成情報231から検証用情報131の生成を行う。これに対し、第2の実施の形態におけるソフトウエア検証処理では、OS14(テスト対象部13)からのアクセス要求が発生と同期することなく、生成情報231から検証用情報131の生成を行う。
これにより、第2の実施の形態におけるドライバ15は、OS14(テスト対象部13)からのアクセス要求があった場合において、アクセス先である検証用情報131が既に生成されている場合、検証用情報131を生成することなくアクセス要求を行うことが可能になる。そのため、この場合、ドライバ15は、受信したアクセス要求の応答をOS14に送信するまでの時間を短縮することが可能になる。以下、第2の実施の形態の詳細について説明を行う。
[仮ファイル生成処理]
初めに、第2の実施の形態におけるソフトウエア検証処理のうち、仮ファイル生成処理について説明を行う。
情報受信部111は、図25に示すように、OS14(データ生成部11)から、記憶装置2に記憶された生成情報231の取得要求を受信するまで待機する(S41のNO)。すなわち、情報受信部111は、データ生成部11が検証用情報131を含む検証用ファイルの生成を行うための生成情報231の取得要求を行うまで待機する。
そして、情報受信部111が生成情報231の取得要求を受信した場合(S41のYES)、情報参照部114は、第1の実施の形態と同様に、S41の処理で受信した取得要求に対応する生成情報231を記憶装置2から取得する(S12)。そして、ドライバ15の情報送信部117は、S42の処理で情報参照部114が取得した生成情報231をOS14(データ生成部11)に送信する(S43)。
また、この場合、仮ファイル生成部112は、第1の実施の形態と同様に、S42の処理で情報参照部114が取得した生成情報231を保持する(S44)。そして、仮ファイル生成部112は、情報格納領域130に記憶されたカウンタ情報132を更新する(S45)。さらに、仮ファイル生成部112は、情報格納領域130に記憶されたカウンタ情報132を識別情報232として取得する(S45)。
その後、情報受信部111は、OS14(データ生成部11)から、データ生成部11が生成した検証用情報131の記憶要求を受信するまで待機する(S46のNO)。そして、検証用情報131の記憶要求を受信した場合(S46のYES)、仮ファイル生成部112は、検証用情報131を含む検証用ファイルの記憶に代えて、検証用ファイルをファイル名が一致し、かつ、生成情報231及び識別情報232含む仮ファイルを生成する(S47)。さらに、仮ファイル生成部112は、この場合、生成した仮ファイルを記憶装置2に記憶する(S47)。
これにより、ドライバ15は、検証対象のソフトウエアのテストを実行する際に記憶装置2に記憶する必要があるデータ容量を抑えながら、検証対象のソフトウエアからのアクセス要求に応答することが可能になる。
[検証用情報生成処理]
次に、第2の実施の形態におけるソフトウエア検証処理のうち、検証用情報生成処理について説明を行う。
情報参照部114は、図26に示すように、仮ファイル名取得タイミングになるまで待機する(S51のNO)。そして、仮ファイル名取得タイミングになった場合(S21のYES)、情報参照部114は、第1の実施の形態と同様に、情報格納領域130から仮ファイルのファイル名を取得する(S52)。そして、情報送信部117は、S22の処理で情報参照部114が取得した仮ファイルのファイル名を、OS14(テスト実行指示部12)に送信する(S53)。
その後、情報参照部114は、ファイル管理情報生成タイミングまで待機する(S54のNO)。そして、ファイル管理情報生成タイミングになった場合(S54のYES)、情報参照部114は、記憶装置2に記憶された仮ファイルにアクセスする(S55)。その後、ドライバ15の情報管理部116は、S55の処理でアクセスした仮ファイルに含まれる識別情報232と、S55でアクセスした仮ファイルの先頭アドレスとを関連付けることにより、ファイル管理情報133を生成する(S56)。
また、検証用情報生成部113は、この場合、第1の実施の形態と異なり、記憶装置2に記憶された生成情報231から検証用情報131を順次生成する(S57)。
すなわち、第2の実施の形態における検証用情報生成部113は、OS14(テスト対象部13)からのアクセス要求を待つことなく、ファイル管理情報生成タイミングになったことに応じて、検証用情報131の生成を行う。これにより、検証用情報生成部113は、OS14(テスト対象部13)からのアクセス要求があった場合において、アクセス先である検証用情報131が既に生成されている場合には、検証用情報131を生成することなく、アクセス要求の応答を送信することが可能になる。
なお、検証用情報生成部113は、S57の処理において、例えば、検証用情報131の先頭から順に、検証用情報131の情報量が所定の情報量(例えば、1(MB))になるまで、検証用情報131の生成を行うものであってよい。すなわち、検証用情報生成部113は、検証用情報131の先頭から順に、検証用情報131を記憶するためにメモリ102に予め用意された領域が記憶可能な情報量になるまで、検証用情報131を生成して記憶するものであってよい。
その後、情報受信部111は、図27に示すように、OS14(テスト対象部13)からアクセス要求を受信するまで待機する(S61のNO)。そして、OS14からアクセス要求を受信した場合(S61のYES)、情報送信部117は、第1の実施の形態と異なり、ファイル管理情報133を参照し、S61の処理で受信したアクセス要求に対応する先頭アドレスと関連付けられた識別情報232を特定する。そして、検証用情報生成部113は、特定した識別情報232と関連付けられた生成情報231から検証用情報131を特定する(S62)。
すなわち、検証用情報生成部113は、OS14からアクセス要求があった場合、アクセス要求のアクセス先である仮ファイルと、S57の処理において生成された検証用情報131とを対応させる必要がある。そのため、検証用情報生成部113は、OS14からアクセス要求があった場合、ファイル管理情報133を参照し、アクセス要求のアクセス先の先頭アドレスから、S56の処理において生成された検証用情報131を特定する。
なお、S61の処理で受信したアクセス要求のアクセス先に対応する検証用情報131が生成されていない場合、情報送信部117は、例えば、アクセス要求のアクセス先に対応する検証用情報131が生成されるまで待機する。
その後、情報送信部117は、S62の処理で特定した検証用情報131に対するアクセス結果を、OS14(テスト対象部13)に送信する(S63)。
また、情報管理部116は、例えば、S62の処理で特定した検証用情報131を削除する(S64)。そして、検証用情報生成部113は、例えば、生成情報231からまだ生成されていない検証用情報131の生成を行う(S65)。
すなわち、テスト対象部13は、各検証用ファイルをアクセスする際に、アクセスする情報のアドレスが昇順になるようにアクセスする。そのため、各検証用ファイルに対するアクセスが1回のみ行われる場合、テスト対象部13が過去にアクセスを行った情報に対してアクセス要求は再度発生しない。そこで、情報管理部116は、S64の処理において、S63の処理においてテスト対象部13によってアクセスされた検証用情報131を削除する。これにより、情報管理部116は、S65の処理において、S64の処理で削除された検証用情報131が記憶されていた領域に、まだ生成されていない検証用情報131の生成を行うことが可能になる。
なお、検証用情報生成部113は、S65の処理において、例えば、まだ生成されていない検証用情報131の先頭から順に、検証用情報131の生成を行う。
さらに、情報管理部116は、ファイル管理情報133に含まれる情報のうち、S61の処理で受信したアクセス要求のアクセス先に対応する先頭アドレス及び先頭メモリアドレスを、そのアクセス要求のアクセス先の検証用情報131のうち、アクセスされていない情報の先頭に対応するアドレスに更新する(S66)。
そして、S66の処理の後、情報受信部111は、第1の実施の形態と同様に、OS14(テスト対象部13)から次のアクセス要求を受信するまで待機する(S61のNO)。
これにより、第2の実施の形態におけるドライバ15は、OS14(テスト対象部13)からのアクセス要求があった場合において、アクセス先である検証用情報131が既に生成されている場合、検証用情報131を生成することなくアクセス要求を行うことが可能になる。
[仮ファイル退避処理]
次に、記憶装置2に記憶された仮ファイルを、他の記憶装置または記憶装置2における他の領域に退避させる場合の処理(以下、仮ファイル退避処理とも呼ぶ)について説明する。図28は、仮ファイル退避処理を説明するフローチャート図である。
ドライバ15の仮ファイル退避部115は、仮ファイルの退避を行うタイミング(以下、仮ファイル退避タイミングとも呼ぶ)まで待機する(S71のNO)。仮ファイル退避タイミングは、例えば、OS14(テスト対象部13等)から記憶装置2に記憶された仮ファイルを他の記憶装置等に退避させる旨の情報(退避させる仮ファイル及び退避先の他の記憶装置の情報を含む情報)を受信したタイミングであってよい。
そして、仮ファイル退避タイミングになった場合(S71のYES)、仮ファイル退避部115は、例えば、S71の処理で指定された仮ファイルにアクセスすることにより、その仮ファイルのサイズ情報を取得する(S72)。さらに、仮ファイル退避部115は、S71の処理で指定された仮ファイルの他の記憶装置に対する退避を行う(S73)。
すなわち、テスト対象部13は、データ生成部11が生成した検証用情報131(記憶装置2には記憶されていない検証用情報131)の先頭アドレス及びサイズ情報に基づいて、仮ファイルの退避要求を行う場合がある。しかしながら、記憶装置2には、検証用ファイルの代わりに仮ファイルが記憶されている。そして、テスト対象部13等が認識する検証用ファイルのサイズ情報は、実際に記憶装置2に記憶されている仮ファイルのサイズ情報と異なる。そのため、仮ファイル退避部115は、仮ファイルの格納位置の変更を行う場合、S72の処理において、仮ファイルのサイズ情報を取得する。そして、仮ファイル退避部115は、S73の処理において、取得したサイズ情報に対応する情報について、格納位置の変更を行う。
これにより、仮ファイル退避部115は、記憶装置2に仮ファイルが記憶されている場合であっても、その仮ファイルの退避を行うことが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
コンピュータに、
検証対象のソフトウエアの実行に応じてアクセスされる検証用データを含む検証用ファイルとファイル名が一致し、かつ、前記検証用データを生成するためのデータ生成情報を含む仮ファイルを生成し、
前記仮ファイルに対する前記検証対象のソフトウエアからのアクセス要求が行われる際に、前記データ生成情報に基づいて前記検証用データを生成し、生成した前記検証用データを前記検証対象のソフトウエアに参照させる、
処理を実行させることを特徴とするソフトウエア検証プログラム。
(付記2)
付記1において、さらに、
前記仮ファイルのファイル名に対する前記検証対象のソフトウエアからの参照要求に応じて、前記仮ファイルのファイル名を参照させる、
ことを特徴とするソフトウエア検証プログラム。
(付記3)
付記1において、さらに、
前記仮ファイルは、前記データ生成情報とともに、前記データ生成情報を一意に識別する識別情報を含み、
前記検証用データを参照させる処理の前に、前記仮ファイルに含まれる前記識別情報と、前記仮ファイルの記憶領域内における先頭アドレスとを関連付けたファイル管理情報を生成する、
処理をコンピュータに実行させ、
前記検証用データを参照させる処理では、前記アクセス要求が行われた場合、前記ファイル管理情報を参照し、前記アクセス要求のアクセス先の先頭アドレスと関連付けられた前記識別情報を特定し、特定した前記識別情報と関連付けられた前記データ生成情報から前記検証用データを生成する、
ことを特徴とするソフトウエア検証プログラム。
(付記4)
付記3において、
前記検証用データを参照させる処理では、前記アクセス要求が行われた場合、前記検証用データのうち、前記アクセス要求によってアクセスされる検証用データの生成を行う、
ことを特徴とするソフトウエア検証プログラム。
(付記5)
付記1において、さらに、
前記仮ファイルは、前記データ生成情報とともに、前記データ生成情報を一意に識別する識別情報を含み、
前記検証用データを参照させる処理の前に、前記データ生成情報と同一の仮ファイルに含まれる前記識別情報と、前記データ生成情報の記憶領域内における先頭アドレスとを関連付けたファイル管理情報を生成する、
処理をコンピュータに実行させ、
前記検証用データを参照させる処理では、前記アクセス要求が行われる前に、前記データ生成情報から前記検証用データを生成する、
ことを特徴とするソフトウエア検証プログラム。
(付記6)
付記5において、
前記検証対象のソフトウエアは、アクセスするデータのアドレスが昇順になるように前記検証用データにアクセスするソフトウエアであり、
前記検証用データを参照させる処理では、前記アクセス要求が行われる前に、前記検証用データの先頭から順に、データ量が所定のデータ量になるまで前記検証用データの生成を行う、
ことを特徴とするソフトウエア検証プログラム。
(付記7)
付記3または5において、
前記検証対象のソフトウエアは、アクセスするデータのアドレスが昇順になるように前記検証用データにアクセスするソフトウエアであり、
前記検証用データを参照させる処理では、前記アクセス要求が行われた場合、前記ファイル管理情報のうち、前記アクセス要求のアクセス先の前記先頭アドレスを、前記アクセス要求のアクセス先の前記検証用データのうち、前記検証対象のソフトウエアにアクセスされていないデータの先頭に対応するアドレスに更新する、
ことを特徴とするソフトウエア検証プログラム。
(付記8)
付記6において、
前記検証用データを参照させる処理では、
前記検証対象のソフトウエアによってアクセスされた前記検証用データを順次削除し、
前記検証用データが削除された場合、生成されていない前記検証用データのうちの先頭から順に、データ量が前記所定のデータ量になるまで前記検証用データの生成を行う、
ことを特徴とするソフトウエア検証プログラム。
(付記9)
付記1において、さらに、
前記仮ファイルに対する前記検証対象のソフトウエアからの格納位置の変更要求があった場合、前記仮ファイルのデータサイズを参照し、前記仮ファイルの格納位置の変更を行う、
処理を実行させることを特徴とするソフトウエア検証プログラム。
(付記10)
検証対象のソフトウエアの実行に応じてアクセスされる検証用データを含む検証用ファイルとファイル名が一致し、かつ、前記検証用データを生成するためのデータ生成情報を含む仮ファイルを生成する第1生成部と、
前記仮ファイルに対する前記検証対象のソフトウエアからのアクセス要求が行われる際に、前記データ生成情報に基づいて前記検証用データを生成し、生成した前記検証用データを前記検証対象のソフトウエアに参照させる第2生成部と、を有する、
ことを特徴とするソフトウエア検証装置。
(付記11)
検証対象のソフトウエアの実行に応じてアクセスされる検証用データを含む検証用ファイルとファイル名が一致し、かつ、前記検証用データを生成するためのデータ生成情報を含む仮ファイルを生成し、
前記仮ファイルに対する前記検証対象のソフトウエアからのアクセス要求が行われる際に、前記データ生成情報に基づいて前記検証用データを生成し、生成した前記検証用データを前記検証対象のソフトウエアに参照させる、
ことを特徴とするソフトウエア検証方法。