JP6680980B2 - テスト実行プログラム、テスト実行装置及びテスト実行方法 - Google Patents

テスト実行プログラム、テスト実行装置及びテスト実行方法 Download PDF

Info

Publication number
JP6680980B2
JP6680980B2 JP2016125090A JP2016125090A JP6680980B2 JP 6680980 B2 JP6680980 B2 JP 6680980B2 JP 2016125090 A JP2016125090 A JP 2016125090A JP 2016125090 A JP2016125090 A JP 2016125090A JP 6680980 B2 JP6680980 B2 JP 6680980B2
Authority
JP
Japan
Prior art keywords
data
test
execution
specific
stored
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
Application number
JP2016125090A
Other languages
English (en)
Other versions
JP2017228175A (ja
Inventor
愛子 中野
愛子 中野
敬藏 小池
敬藏 小池
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016125090A priority Critical patent/JP6680980B2/ja
Publication of JP2017228175A publication Critical patent/JP2017228175A/ja
Application granted granted Critical
Publication of JP6680980B2 publication Critical patent/JP6680980B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、テスト実行プログラム、テスト実行装置及びテスト実行方法に関する。
利用者に対してサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、利用者に対して各種サービスの提供を行うために、用途に応じた業務システムを構成して稼働させる。そして、事業者は、必要に応じて、業務システムにおいて動作させる新たなプログラムの作成や既存のプログラムの修正等を行う。
この場合、事業者は、例えば、メモリに格納されているデータにアクセスする場合とディスクに格納されているデータにアクセスする場合とのそれぞれについて、作成等を行ったプログラム(以下、テスト対象プログラムとも呼ぶ)の動作に関するテストを行う。また、事業者は、例えば、メモリとディスクとの間で移動中であるデータにアクセスする場合についても、同様のテストを行う。これにより、事業者は、アクセス対象のデータの格納状態に依らず、テスト対象プログラムの動作が正常に行われることを確認することが可能になる(例えば、特許文献1及び2参照)。
特開2002−328850号公報 特開2006−072435号公報
上記のようなテストを行う場合、事業者は、例えば、テスト対象プログラムの実行とは異なる方法によって、テスト対象プログラムがテストの内容に対応する処理を正常に実行した場合の処理結果(以下、期待値データとも呼ぶ)を予め取得する。具体的に、事業者は、例えば、テスト対象プログラムと異なるプログラム(テスト対象プログラムと同じ処理を行うプログラム)を、テスト対象プログラムの実行環境とは異なる環境において実行することにより、テスト対象プログラムの期待値データを取得する。そして、事業者は、テスト対象プログラムによるテストの内容に対応する処理の結果(以下、単にテストの処理結果とも呼ぶ)と、期待値データとを比較する。これにより、事業者は、テスト対象プログラムが正常に実行したか否かの判定を行う。
ここで、例えば、メモリとディスクとの間においてデータを移動させる制御がデータの監視を行うプロセス(以下、デーモンとも呼ぶ)によって自動的に行われる場合がある。この場合、事業者は、メモリとディスクとの間においてデータが移動するタイミングを特定することが困難である。そのため、事業者は、例えば、テスト対象プログラムを繰り返し実行する。そして、事業者は、テスト対象プログラムの実行後にデーモンのログ等を確認し、メモリとディスクとの間で移動中のデータに対してアクセスが行われていた処理を事後的に特定する。これにより、事業者は、特定した処理による処理結果を、メモリとディスクとの間で移動中のデータに対するアクセスを伴うテストの処理結果として取得することが可能になる。
しかしながら、この場合、事業者は、メモリとディスクとの間で移動中のデータに対するアクセスを伴うテストが行われるタイミングを事前に特定できない。そのため、事業者は、この場合、テストが行われる可能性があるタイミングそれぞれに対応する期待値データを予め用意する必要がある。したがって、事業者は、テスト対象プログラムのテストを効率的に行うことができない場合がある。
そこで、一つの側面では、本発明は、テストを効率的に行うことを可能とするテスト実行プログラム、テスト実行装置及びテスト実行方法を提供することを目的とする。
実施の形態の一態様では、第1の記憶部の特定のアドレスに対して特定の発生頻度によるデータの読み出しが実行されたことに応じて、前記特定のアドレスに格納されたデータを前記第1の記憶部から読み出して第2の記憶部に記憶させるデータ移動処理を行う情報処理装置に、前記特定のアドレスに格納されたデータの読み出しを伴うテスト処理を実行させる処理をコンピュータに実行させるテスト実行プログラムにおいて、前記特定のアドレスに格納されたデータに対する前記テスト処理を繰り返し実行し、前記テスト処理の実行に伴って前記データ移動処理が実行されたことに応じて、前記特定のアドレスに格納されたデータに対する特定のテスト処理を実行して、前記特定のテスト処理の実行に伴って前記第2の記憶部に格納された第1のデータを取得する、処理をコンピュータに実行させる。
一つの側面によれば、テストを効率的に行うことを可能とする。
図1は、情報処理システム10の構成を示す図である。 図2は、テスト対象プログラムの動作の具体例を説明する図である。 図3は、テスト対象プログラムの動作の具体例を説明する図である。 図4は、テスト対象プログラムの動作の具体例を説明する図である。 図5は、テスト対象プログラムの動作の具体例を説明する図である。 図6は、テスト対象プログラムの動作の具体例を説明する図である。 図7は、移動中のデータに対するアクセスを伴うテスト処理の具体例を説明する図である。 図8は、移動中のデータに対するアクセスを伴うテスト処理の具体例を説明する図である。 図9は、移動中のデータに対するアクセスを伴うテスト処理の具体例を説明する図である。 図10は、移動中のデータに対するアクセスを伴うテスト処理の具体例を説明する図である。 図11は、移動中のデータに対するアクセスを伴うテスト処理の具体例を説明する図である。 図12は、移動中のデータに対するアクセスを伴うテスト処理の別の具体例を説明する図である。 図13は、情報処理装置1のハードウエア構成を示す図である。 図14は、情報処理装置1の機能のブロック図である。 図15は、第1の実施の形態におけるテスト実行処理の概略を説明するフローチャート図である。 図16は、第1の実施の形態におけるテスト実行処理の概略を説明するフローチャート図である。 図17は、第1の実施の形態におけるテスト実行処理の詳細を説明するフローチャート図である。 図18は、第1の実施の形態におけるテスト実行処理の詳細を説明するフローチャート図である。 図19は、第1の実施の形態におけるテスト実行処理の詳細を説明するフローチャート図である。 図20は、S22からS25の処理の具体例を説明する図である。 図21は、S22からS25の処理の具体例を説明する図である。 図22は、S22からS25の処理の具体例を説明する図である。 図23は、S26の処理の具体例を説明する図である。 図24は、S26の処理の具体例を説明する図である。 図25は、S32からS34の処理の具体例を説明する図である。 図26は、S32からS34の処理の具体例を説明する図である。 図27は、S35及びS36の処理の具体例を説明する図である。 図28は、S35及びS36の処理の具体例を説明する図である。 図29は、通知処理を説明するフローチャート図である。 図30は、通知処理の具体例を説明する図である。
[情報処理システムの構成]
図1は、情報処理システム10の構成を示す図である。図1に示す情報処理システム10は、情報処理装置1(以下、テスト実行装置1とも呼ぶ)と、記憶装置1aとを有する。情報処理装置1は、インターネットやイントラネット等からなるネットワークNWを介して事業者端末11にアクセスすることが可能である。
情報処理装置1では、例えば、利用者にサービスを提供するための業務システムが稼働する。そして、情報処理装置1では、業務システムを構成するプログラム(テスト対象プログラム)の動作に関するテスト処理を実行させるためのテスト実行処理を実行する。具体的に、情報処理装置1は、記憶装置1a等に記憶されたデータに対するアクセスが発生する場合のテスト対象プログラムの動作に関するテストを行う。なお、以下、テスト対象プログラムの動作に関するテストに伴う処理をテスト処理とも呼ぶ。
記憶装置1aは、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等からなる外部ディスク装置である。具体的に、記憶装置1aは、例えば、情報処理装置1がテスト実行処理を実行する際に参照する各種情報を記憶する。なお、記憶装置1aは、情報処理装置1の内部に設けられたディスク装置であってもよい。
事業者端末11は、例えば、テスト対象プログラムの各種テスト(単体テストやリグレッションテスト等)を行う際に、事業者が利用する端末である。以下、記憶装置1a等に記憶されたデータに対するアクセスが発生する場合のテスト対象プログラムの動作の具体例について説明を行う。
[テスト対象プログラムの動作の具体例]
図2から図6は、テスト対象プログラムの動作の具体例を説明する図である。図2に示す情報処理装置1(情報処理装置1のCPU)では、テスト実行処理を実行するためのテスト実行プログラムPG01と、テスト対象プログラムPG02と、記憶装置1a等に格納されたデータにアクセスを行うためのサブルーチンPG03とが動作する。また、図2に示す情報処理装置1は、メモリ1bを有している。さらに、図2に示す記憶装置1aには、データA、データB及びデータCが記憶されている。
テスト対象プログラムPG02は、テスト実行プログラムPG01からのテスト処理の実行指示を受信した場合に、サブルーチンPG03を介してデータA、データBまたはデータCに対するアクセスを行う。具体的に、図2に示す例においては、テスト対象プログラムPG02は、テスト実行プログラムPG01からのテスト処理の実行指示に応じて、データAに対して最も頻繁にアクセスを行っている。
この場合、情報処理装置1で動作するデーモン(図示しない)は、例えば、記憶装置1aに記憶されているデータのうち、アクセスされる頻度が高いデータをメモリ1bに記憶する。すなわち、メモリ1bに記憶されたデータの読み出しに要する時間は、記憶装置1aに記憶されたデータの読み出しに要する時間よりも短い。そのため、デーモンは、記憶装置1aに記憶された各データに対するアクセスの頻度を計測し、アクセスの頻度が高いデータをメモリ1bに移動する。これにより、デーモンは、データへのアクセスに要する総時間を短縮することが可能になる。具体的に、デーモンは、図3に示すように、例えば、最も頻繁にアクセスされるデータAをメモリ1bに移動する。
そして、その後、図4に示すように、例えば、データAに対するアクセスの頻度よりもデータCに対するアクセスの頻度の方が多くなる場合がある。具体的に、図4に示す例において、テスト対象プログラムPG02は、データAに対して1回のみアクセスを行っているのに対し、データCに対して3回アクセスを行っている。この場合、デーモンは、例えば、図5に示すように、データAに代えてデータCをメモリ1bに記憶する。これにより、デーモンは、データへのアクセスに要する総時間を効率的に短縮することが可能になる。
ここで、テスト実行プログラムPG01は、例えば、記憶装置1a等に記憶されたデータに対するアクセスが発生する場合のテスト対象プログラムPG02のテスト処理として、テスト対象プログラムPG02が記憶装置1aからメモリ1bに移動中のデータに対してアクセスを行う場合のテスト処理を実行する。具体的に、テスト実行プログラムPG01は、図6に示すように、例えば、データCが記憶装置1aからメモリ1bに移動している間に、テスト対象プログラムPG02がデータCに対するアクセスを行うテスト処理の実行指示を行う。以下、移動中のデータに対するアクセスを伴うテスト処理の具体例について説明を行う。
[移動中のデータに対するアクセスを伴うテスト処理の具体例(1)]
図7から図11は、移動中のデータに対するアクセスを伴うテスト処理の具体例を説明する図である。具体的に、図7から図11に示す例は、図6等で説明したデータC等に対応するデータDT01が記憶装置1aからメモリ1bに移動する間に、テスト実行プログラムPG01によるテスト対象プログラムPG02のテスト処理TS01及びこれに付随する処理が実行される場合を説明する図である。
この場合、テスト実行プログラムPG01は、図7に示すように、例えば、テスト処理TS01を実行する前に、メモリ1bに記憶された全てのデータに対する読み込み処理RD01を行う。そして、テスト実行プログラムPG01は、図8に示すように、テスト対象プログラムPG02に対してテスト処理TS01を実行する。なお、サブルーチンPG03は、この場合、記憶装置1aからメモリ1bに対するデータDT01に移動が終了するまで、データDT01に対するアクセスの実行を待機する。そのため、テスト対象プログラムPG02は、この場合、データDT01の移動が終了するまで、データDT01に対するアクセスを行うことができない。
その後、テスト対象プログラムPG02は、データDT01に移動が終了した場合、データDT01にアクセスを行う。具体的に、テスト対象プログラムPG02は、図9に示すように、例えば、データDT01に対してアクセスを行い、データDT01をデータDT02に更新する。続いて、テスト実行プログラムPG01は、図10に示すように、テスト処理TS01を実行が終了した後に、メモリ1bに記憶された全てのデータに対する読み込み処理RD02を行う。
すなわち、テスト実行プログラムPG01は、テスト対象プログラムPG02に対するテスト処理TS01を実行する際に、読み込み処理RD01と読み込み処理RD02とをそれぞれ実行する。これにより、テスト実行プログラムPG01は、テスト処理TS01を実行する前のメモリ1bに記憶されたデータと、テスト処理TS01を実行した後のメモリ1bに記憶されたデータとをそれぞれ取得することが可能になる。
その後、テスト実行プログラムPG01は、図11に示すように、データDT01(読み込み処理RD01の実行によって取得されたデータ)に対して、例えば、テスト対象プログラムPG02等と同じ処理を行うプログラム(テスト対象プログラムPG02とは異なるプログラム)を実行し、データDT02−1を生成する。
すなわち、テスト実行プログラムPG01は、テスト対象プログラムPG02等以外の処理によって、テスト対象プログラムPG02等が正常に実行された場合の処理結果(期待値データ)としてデータDT02−1を生成する。そして、テスト対象プログラムPG01は、図11に示すように、データDT02(読み込み処理RD02の実行によって取得されたデータ)とデータDT02−1との比較を行う。
その結果、データDT02−1の内容とデータDT−02の内容とが同一であった場合、テスト対象プログラムPG02等による処理が正常であったと判定することができる。そのため、テスト実行プログラムPG01は、この場合、例えば、テスト対象プログラムPG02等に異常がない旨を出力する。
一方、データDT02−1の内容とデータDT−02の内容とが同一でなかった場合、テスト対象プログラムPG02等による処理が正常でなかったと判定することができる。そのため、テスト実行プログラムPG01は、この場合、例えば、テスト対象プログラムPG02等に異常がある旨を出力する。
[移動中のデータに対するアクセスを伴うテスト処理の具体例(2)]
次に、移動中のデータに対するアクセスを伴うテスト処理の別の具体例について説明を行う。図12は、移動中のデータに対するアクセスを伴うテスト処理の別の具体例を説明する図である。
図12に示す例において、デーモンは、記憶装置1aからメモリ1bに対するデータDT01の移動を行う場合、例えば、移動対象であるデータDT01を記憶装置1cに記憶する。具体的に、記憶装置1aに格納されたデータDT01がメモリ1bに移動することを検知した場合、図示しないディスクドライバ(以下、通知部とも呼ぶ)は、データDT01を記憶装置1cに記憶する。
これにより、図12に示すテスト実行プログラムPG01は、図7等で説明したように、読み出し処理RD01を実行する必要がなく、記憶装置1aからメモリ1bに移動したデータDT01を取得することが可能になる。そのため、テスト実行プログラムPG01は、読み出し処理RD01を行うことによるテスト処理TS01への影響を抑制することが可能になる。具体的に、テスト実行プログラムPG01は、例えば、データDT01の移動がテスト処理TS01の実行前に完了することを抑制する。
ここで、例えば、記憶装置1aとメモリ1bとの間におけるデータの移動がデーモンによる制御に基づいて自動的に行われている場合、テスト実行プログラムPG01は、記憶装置1aとメモリ1bとの間においてデータの移動が行われるタイミングを特定することが困難である。そのため、テスト実行プログラムPG01は、例えば、テスト対象プログラムPG02によるテスト処理(例えば、テスト処理TS01)を繰り返し実行する。そして、テスト実行プログラムPG01は、テスト処理の実行後にデーモンが出力したログ等を確認し、テスト対象プログラムPG02の実行に伴うデータに対するアクセスが記憶装置1aとメモリ1bとの間において移動中のデータに対して行われていたか否かを確認する。
しかしながら、テスト実行プログラムPG01は、この場合、記憶装置1aからメモリ1bに対して移動中のデータ(例えば、データDT01)に対するアクセスを伴うテスト処理が行われるタイミングを事前に特定できない。そのため、事業者は、この場合、テストが実行される可能性があるタイミングそれぞれに対応する期待値データを予め用意する必要がある。したがって、事業者は、テスト対象プログラムPG02のテストを効率的に行うことができない場合がある。
そこで、本実施の形態における情報処理装置1は、記憶装置1a(以下、第1の記憶部1aとも呼ぶ)の特定のアドレスに格納されたデータに対するテスト処理を繰り返し実行する。データ移動処理は、記憶装置1aの特定のアドレスに対して特定の発生頻度によるデータの読み出しが実行されたことに応じて、特定のアドレスに格納されたデータを記憶装置1aから読み出してメモリ1bに記憶させる処理である。
そして、情報処理装置1は、テスト処理の実行に伴ってデータ移動処理が実行されたことに応じて、特定のアドレスに格納されたデータに対する特定のテスト処理を実行し、特定のテスト処理の実行に伴ってメモリ1b(以下、第2の記憶部1bとも呼ぶ)に格納されたデータ(以下、第1のデータとも呼ぶ)を取得する。特定のテスト処理は、例えば、記憶装置1aからメモリ1bに移動中のデータに対してアクセスを行う必要があるテスト処理である。
具体的に、情報処理装置1のディスクドライバ(通知部)は、例えば、記憶装置1aからメモリ1bに対して特定のアドレスに格納されたデータが移動するデータ移動処理が実行されたことを検知した場合、テスト実行プログラムPG01に対して通知を送信する。そして、テスト実行プログラムPG01は、ディスクドライバから通知が送信されたことに応じて、特定のテスト処理を実行する。
これにより、情報処理装置1は、記憶装置1aからメモリ1bに対して特定のアドレスに格納されたデータが移動しているタイミングを捉えることが可能になる。そのため、情報処理装置1は、記憶装置1aからメモリ1bに対する特定のアドレスに格納されたデータの移動中に、特定のアドレスに格納されたデータに対して特定のテスト処理を行い、第1のデータを取得することが可能になる。
その後、情報処理装置1は、データ移動処理の実行を抑止して、第1のデータが取得されるまでに実行したテスト処理を再度実行する。さらに、情報処理装置1は、特定のテスト処理の再度の実行によって記憶装置1aに格納されたデータ(以下、第2のデータとも呼ぶ)を取得する。
すなわち、情報処理装置1は、データ移動処理の実行中におけるテスト処理の実行とは別に、データ移動処理の実行を抑止した状態(記憶装置1aからメモリ1bに対してデータ移動することを抑止した状態)でのテスト処理の実行を行う。この場合、データ移動処理の実行を抑止した状態で実行されたテスト処理の実行に伴ってアクセスされるデータは、記憶装置1aとメモリ1bとの間で移動していないデータである。そのため、情報処理装置1は、データ移動処理の実行を抑止した状態で実行されたテスト処理の実行に伴ってアクセスされるデータが、少なくとも記憶装置1aとメモリ1bとの間の移動に伴う異常を含んでいないデータであると判定することができる。したがって、情報処理装置1は、データ移動処理の実行を抑止した状態で実行されたテスト処理の実行が行われる際に、記憶装置1aに記憶されている第2のデータを第1のデータの期待値データとして取得する。
これにより、情報処理装置1は、テスト処理が行われる可能性があるタイミングそれぞれに対応する期待値データを用意する必要がなくなる。そのため、情報処理装置1は、期待値データの生成に伴う処理負担を軽減させることが可能になる。そして、情報処理装置1は、第1のデータ132と第2のデータ133とを比較することで、第1のデータ132を生成したテスト対象プログラムに異常が含まれているか否かを判定することが可能になる。
[情報処理装置のハードウエア構成]
次に、情報処理装置1のハードウエア構成について説明する。図13は、情報処理装置1のハードウエア構成を示す図である。
情報処理装置1は、プロセッサであるCPU101と、メモリ102と、外部インターフェース(I/Oユニット)103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。なお、図7等で説明した記憶装置1aは、例えば、記憶媒体104に対応する。また、図7等で説明したメモリ1bは、例えば、メモリ102に対応する。
記憶媒体104は、例えば、テスト実行処理を行うためのプログラム110を記憶する。また、記憶媒体104は、例えば、テスト実行処理を行う際に用いられる情報を記憶する情報格納領域130(以下、記憶部130とも呼ぶ)を有する。なお、プログラム110は、例えば、図7等で説明したテスト実行プログラムPG01に対応する。また、プログラム110は、例えば、情報処理装置1のディスクドライバに対応する。
CPU101は、図13に示すように、プログラム110の実行時に、プログラム110を記憶媒体104からメモリ102にロードし、プログラム110と協働してテスト実行処理を行う。外部インターフェース103は、例えば、ネットワークNWを介して事業者端末11と通信を行う。
[情報処理装置の機能]
次に、情報処理装置1の機能について説明する。図14は、情報処理装置1の機能のブロック図である。
CPU101は、図14に示すように、プログラム110と協働することにより、例えば、テスト実行部111と、データ取得部112と、データ比較部113と、結果出力部114として動作する。また、情報格納領域130には、実行ファイル131と、第1のデータ132と、第2のデータ133と、第3のデータ134と、第4のデータ135と、識別情報136とが記憶されている。実行ファイル131は、例えば、図7等で説明したテスト対象プログラムPG02やサブルーチンPG03の実行ファイルである。
テスト実行部111は、テスト対象プログラムPG02等の実行ファイル131を実行することにより、記憶装置1aに格納されたデータに対するテスト処理を繰り返し実行する。そして、データ取得部112は、データ移動処理の実行中における特定のテスト処理の実行に伴ってメモリ1bに格納された第1のデータ132を取得する。
その後、テスト実行部111は、データ移動処理の実行を抑止する。具体的に、テスト実行部111は、例えば、デーモンに対して、記憶装置1aに記憶されたデータのメモリ1bに対する移動を禁止する旨の指示を行う。そして、テスト実行部111は、第1のデータ132が取得されるまでに実行したテスト処理を再度実行する。さらに、データ取得部112は、テスト実行部111によるテスト処理の再度の実行によって記憶装置1aに格納された第2のデータ133を取得する。
データ比較部113は、データ取得部112によって取得された第1のデータ132と第2のデータ133とが同一のデータであるか否かを判定する。そして、結果出力部114は、データ比較部113による判定結果を出力する。具体的に、結果出力部114は、例えば、データ比較部113による判定結果を、事業者端末11の出力装置(図示しない)に出力する。第3のデータ134、第4のデータ135及び識別情報136については後述する。
なお、CPU101は、プログラム110と協働することにより、情報処理装置1のディスクドライバとして動作するものであってよい。
[第1の実施の形態]
次に、第1の実施の形態について説明する。図15及び図16は、第1の実施の形態におけるテスト実行処理の概略を説明するフローチャート図である。
[第1のデータを取得する処理]
初めに、第1の実施の形態におけるテスト実行処理のうち、第1のデータ132を取得する処理について説明を行う。情報処理装置1は、図15に示すように、テスト実行タイミングまで待機する(S1のNO)。テスト実行タイミングは、例えば、事業者が情報処理装置1に対してテストの実行を開始する旨を入力したタイミングであってよい。そして、テスト実行タイミングになった場合(S1のYES)、情報処理装置1は、記憶装置1aの特定のアドレスに格納されたデータに対するテスト処理を繰り返し実行する(S2、S3のNO)。
すなわち、情報処理装置1は、例えば、デーモンがテスト移動処理の実行についての制御を行っている場合、テスト移動処理が実行されるタイミングを特定することができない。また、記憶装置1aからメモリ1bに移動しているデータに対するアクセスが発生する場合のテスト処理は、テスト処理の信頼性の観点から、デーモンの制御によってデータの移動が発生したタイミングで実行されることが好ましい。そのため、情報処理装置1は、S2の処理において、データ移動処理が実行されるまでテスト処理を繰り返し実行する。
その後、テスト処理の実行に伴ってデータ移動処理が実行された場合(S3のYES)、情報処理装置1は、例えば、データ移動処理の実行中において特定のテスト処理を実行する(S4)。そして、情報処理装置1は、データ移動処理の実行中におけるテスト処理の実行に伴ってメモリ1bに格納された第1のデータ132を取得する(S5)。
これにより、情報処理装置1は、記憶装置1aからメモリ1bに対して特定のアドレスに格納されたデータが移動しているタイミングを捉えることが可能になる。そのため、情報処理装置1は、記憶装置1aからメモリ1bに対する特定のアドレスに格納されたデータの移動中に、特定のアドレスに格納されたデータに対して特定のテスト処理を行い、第1のデータを取得することが可能になる。
[第2のデータを取得する処理]
次に、第1の実施の形態におけるテスト実行処理のうち、第2のデータ133を取得する処理について説明を行う。情報処理装置1は、図16に示すように、テスト再実行タイミングまで待機する(S11のNO)。テスト再実行タイミングは、例えば、事業者が情報処理装置1に対してテストの再実行を開始する旨を入力したタイミングであってよい。そして、テスト再実行タイミングになった場合(S11のYES)、情報処理装置1は、データ移動処理の実行を抑止する(S12)。
その後、情報処理装置1は、S2及びS4の処理において実行されたテスト処理(第1のデータ132が取得されるまでに実行されたテスト処理)を再度実行する(S13)。具体的に、情報処理装置1は、S2の処理においてテスト処理が実行される前に記憶装置1a(記憶装置1a内の特定のアドレス)に格納されていたデータに対して、S2及びS4の処理において実行されたテスト処理の再度の実行を行う。そして、情報処理装置1は、S13の処理おけるテスト処理の再度の実行に伴って記憶装置1aに格納された第2のデータ133を取得する(S14)。
すなわち、情報処理装置1は、データ移動処理の実行中におけるテスト処理(図15で説明したテスト処理)の実行とは別に、データ移動処理の実行を抑止した状態でのテスト処理の実行を行う。この場合、データ移動処理の実行を抑止した状態で実行されたテスト処理の実行に伴ってアクセスされるデータは、記憶装置1aとメモリ1bとの間で移動していないデータである。そのため、情報処理装置1は、データ移動処理の実行を抑止した状態で実行されたテスト処理の実行に伴ってアクセスされるデータが、少なくとも記憶装置1aとメモリ1bとの間の移動に伴う異常を含んでいないデータであると判定することができる。したがって、情報処理装置1は、データ移動処理の実行を抑止した状態で実行されたテスト処理の実行に伴って記憶装置1aに格納された第2のデータ133を、第1のデータ132の期待値データとして取得する。
このように、本実施の形態における情報処理装置1は、記憶装置1aの特定のアドレスに格納されたデータに対するテスト処理を繰り返し実行する。そして、情報処理装置1は、テスト処理の実行に伴ってデータ移動処理が実行されたことに応じて、テスト処理に含まれる特定のテスト処理を実行し、特定のテスト処理の実行に伴ってメモリ1bに格納された第1のデータ132を取得する。
その後、情報処理装置1は、データ移動処理の実行を抑止して、第1のデータ132が取得されるまでに実行したテスト処理を再度実行する。さらに、情報処理装置1は、テスト処理の再度の実行によって記憶装置1aに格納された第2のデータ133を取得する。
これにより、情報処理装置1は、テスト処理が行われる可能性があるタイミングそれぞれに対応する期待値データを用意する必要がなくなる。そのため、情報処理装置1は、期待値データの生成に伴う処理負担を軽減させることが可能になる。そして、情報処理装置1は、第1のデータ132と第2のデータ133とを比較することで、第1のデータ132を生成したテスト対象プログラムに異常が含まれているか否かを判定することが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図17から図19は、第1の実施の形態におけるテスト実行処理の詳細を説明するフローチャート図である。また、図20から図28は、第1の実施の形態におけるテスト実行処理の詳細を説明する図である。図20から図28を参照しながら、図17から図19のテスト実行処理の詳細を説明する。
[第1データ取得処理]
初めに、第1の実施の形態におけるテスト実行処理のうち、第3のデータ134及び第1のデータ132を取得する処理(以下、第1データ取得処理とも呼ぶ)について説明を行う。
テスト実行部111は、図17に示すように、テスト実行タイミングまで待機する(S21のNO)。そして、テスト実行タイミングになった場合(S21のYES)、テスト実行部111は、記憶装置1aの特定のアドレスに格納されたデータに対するテスト処理を繰り返し実行する(S22)。
そして、例えば、ディスクドライバからデータ移動処理の実行が開始された旨の通知を受信した場合(S23のYES)、データ取得部112は、S23の処理において通知を受信する直前に実行されたテスト処理を識別する識別情報136を情報格納領域130に記憶する(S24)。以下、ディスクドライバがデータ取得部112に通知を送信する処理(以下、通知処理とも呼ぶ)について説明を行う。
[通知処理]
図29は、通知処理を説明するフローチャート図である。ディスクドライバ(ディスクドライバの情報受付部)は、記憶装置1aに格納されたデータの読み出しのリクエストの発行元を識別する情報を受け付けるまで待機する(S51のNO)。具体的に、ディスクドライバは、例えば、記憶装置1aから読み出されたデータに付随する情報(例えば、読み出しのリクエストの発行元を識別するプロセスID)を参照し、読み出しのリクエストの発行元を識別する情報の取得を行うものであってよい。
その後、データの読み出しのリクエストの発行元を識別する情報を受け付けた場合(S51のYES)、ディスクドライバ(ディスクドライバの発行元判定部)は、S51の処理において受け付けた情報に基づき、読み出しのリクエストの発行元が特定の発行元であるか否かの判定を行う(S52)。特定の発行元は、例えば、記憶装置1aに格納されたデータをメモリ1bに移動するデーモンである。
そして、読み出しのリクエストの発行元が特定の発行元であると判定された場合(S53のYES)、ディスクドライバ(ディスクドライバの実行指示部)は、データ移動処理の実行が開始された旨の通知をデータ取得部112に対して行う(S54)。すなわち、ディスクドライバが行う通知は、特定のテスト処理の実行の開始を指示する通知である。具体的に、ディスクドライバが行う通知は、特定のアドレスに格納されたデータを読み出す処理、または、特定のデータに格納されたデータに対する書き込み処理の実行の開始を指示する通知であってよい。一方、読み出しのリクエストの発行元が特定の発行元でないと判定された場合(S53のYES)、ディスクドライバは、S54の処理を行わない。以下、通知処理の具体例について説明を行う。
[通知処理の具体例]
図30は、通知処理の具体例を説明する図である。図30に示す情報処理装置1には、図7等で説明したサブルーチンPG03及びメモリ1bに加えて、ディスクドライバPG04及びデーモンPG05が記載されている。一方、図30に示す情報処理装置1では、テスト実行プログラムPG01及びテスト対象プログラムPG02の記載を省略している。以下、特定の発行元がデーモンPG05であるものとして説明を行う。
ディスクドライバPG04は、記憶装置1aからデータの読み出しが行われたことを検知した場合、そのデータの読み出しのリクエストの発行元を特定する。具体的に、図30に示すように、データの読み出しのリクエストの発行元がデーモンPG05である場合、ディスクドライバPG04は、サブルーチンPG03及びテスト対象プログラムPG02を介して、テスト実行プログラムPG01に通知を送信する。一方、データの読み出しのリクエストの発行元がデーモンPG05以外(例えば、サブルーチンPG03等)である場合、テスト実行プログラムPG01に対する通知を送信しない。
すなわち、デーモンPG05が記憶装置1aに格納されたデータの読み出しを行う場合とは、記憶装置1aに格納されたデータをメモリ1bに移動する場合である。そのため、ディスクドライバPG04は、記憶装置1aに格納されたデータの読み出しのリクエストの発行元がデーモンPG05である場合、その読み出されたデータについてのデータ移動処理の実行が開始されるものと判定することができる。したがって、ディスクドライバPG04は、この場合、データ移動処理の実行が開始する旨の通知をテスト実行プログラムPG01に対して送信する。
これにより、テスト実行プログラムPG01は、データ移動処理の実行が開始するタイミングを捉えることが可能になる。そのため、テスト実行プログラムPG01は、データ移動処理の実行が開始したことに応じて、データ移動処理の実行中に行う必要があるテスト処理である特定のテスト処理を実行することが可能になる。したがって、テスト実行プログラムPG01は、テスト処理を繰り返し実行し、実行したテスト処理に特定のテスト処理が含まれているか否かを事後的に判定する場合よりも、特定のテスト処理を効率的に行うことが可能になる。
図17に戻り、データ取得部112は、識別情報136に対応するテスト処理の実行によって記憶装置1aに格納された第3のデータ134を取得する(S25)。
すなわち、データ取得部112は、第1のデータ132及び第2のデータ133に加え、特定のテスト処理の直前のテスト処理の実行によって記憶装置1aに格納された第3のデータ134を取得する。また、データ取得部112は、後述するように、第3のデータ134の期待値データである第4のデータ135を取得する。
これにより、情報処理装置1は、第3のデータ134と第4のデータ135とが同一であるか否かの判定を行うことで、特定のテスト処理の実行が行われる前の段階において、特定のテスト処理の実行によってアクセスされるデータに異常が含まれていたか否かの判定を行うことが可能になる。以下、S22からS25の処理の具体例について説明を行う。
[S22からS25の処理の具体例]
図20から図22は、S22からS25の処理の具体例を説明する図である。以下、テスト処理TS01及びテスト処理TS02が、記憶装置1aに格納されたデータをメモリ1bに移動するためのアクセスを行うテスト処理であるものとして説明を行う。そのため、テスト処理TS01及びテスト処理TS02は、例えば、記憶装置1aに格納されたデータがメモリ1bに移動するまで繰り返し行われるものである。また、以下、テスト処理TS03が、記憶装置1aからメモリ1bに移動中のデータに対するアクセスを伴うテスト処理(特定のテスト処理)であるものとして説明を行う。
なお、テスト処理TS03は、例えば、テスト処理TS01及びテスト処理TS02が行われることによって生成されたデータを入力とするテスト処理であってもよい。すなわち、テスト処理TS01及びテスト処理TS02は、記憶装置1aに格納されたデータをメモリ1bに移動するためのアクセスを行うだけでなく、テスト処理TS03が行われる際に用いられるデータの生成を行うテスト処理であってもよい。
テスト実行部111は、図20に示すように、テスト対象プログラムPG02に、テスト処理TS01の実行指示を送信する(S22)。そして、テスト対象プログラムPG02は、テスト処理TS01の実行指示の受信に伴い、記憶装置1aに格納されたデータDT01に対してアクセスを行い、データDT01をデータDT02に更新する。
その後、テスト実行部111は、テスト処理TS01の実行を行ってもデータ移動処理が実行されない場合、図21に示すように、テスト対象プログラムPG02に、テスト処理TS02の実行指示をさらに送信する(S22)。そして、テスト対象プログラムPG02は、テスト処理TS02の実行指示の受信に伴い、記憶装置1aに格納されたデータDT02に対してアクセスを行い、データDT02をデータDT03に更新する。
ここで、図22に示すように、テスト処理TS02の実行に伴って、記憶装置1aに格納されたデータDT03をメモリ1bに移動するデータ移動処理が実行された場合、ディスクドライバ(図示しない)は、テスト実行プログラムPG01に対して、データ移動処理が実行された旨の通知を送信する。そして、データ取得部112(テスト実行プログラムPG01)は、この場合、直前に実行されたテスト処理TS02を識別する識別情報136を情報格納領域130に記憶する(S23のYES、S24)。これにより、テスト実行部111は、特定のテスト処理の直前に行われたテスト処理を特定することが可能になる。
さらに、データ取得部112は、テスト処理TS02の実行に応じてメモリ1bに格納されたデータDT03を取得し、取得したデータDT03を第3のデータ134として情報格納領域130に記憶する(S25)。これにより、データ取得部112は、テスト処理TS03(特定のテスト処理)が実行される前におけるメモリ1bの状態を示すデータ(第3のデータ134)を取得することが可能になる。
図17に戻り、テスト実行部111は、特定のテスト処理を実行する(S26)。そして、データ取得部112は、特定のテスト処理の実行に伴ってメモリ1bに格納された第1のデータ132を取得する(S27)。以下、S26及びS27の処理の具体例について説明を行う。
[S26及びS27の処理の具体例]
図23及び図24は、S26及びS27の処理の具体例を説明する図である。テスト実行部111は、テスト対象プログラムPG02に対してテスト処理TS02の実行指示を送信した後、図23に示すように、テスト処理TS03(特定のテスト処理)の実行指示の送信を引き続き行う(S26)。そして、テスト対象プログラムPG02は、テスト処理TS03の実行指示の受信に伴い、サブルーチンPG03を介して、記憶装置1aからメモリ1bに対して移動中のデータDT03に対してアクセスを行う。この場合、サブルーチンPG03は、図23に示すように、記憶装置1aからメモリ1bへのデータDT03の移動が完了してから、データDT03へのアクセスを行う。
その後、記憶装置1aからメモリ1bに対するデータDT03の移動が終了した場合、サブルーチンPG03は、図24に示すように、メモリ1bに格納されたデータDT03に対してアクセスを行い、データDT03をデータDT04に更新する。そして、データ取得部112は、テスト処理TS03の実行に応じてメモリ1bに格納されたデータDT04を取得し、取得したデータDT04を第1のデータ132として情報格納領域130に記憶する(S27)。
これにより、データ取得部112は、テスト処理TS03(特定のテスト処理)が実行された後におけるメモリ1bの状態を示すデータ(第1のデータ132)を取得することが可能になる。
なお、例えば、S23の処理においてディスクドライバから通知が送信されない場合(S23のNO)、データ取得部112は、S24からS27の処理を行わない。すなわち、テスト処理の実行に伴うデータ移動処理が発生しなかった場合、データ取得部112は、テスト対象プログラムPG02の動作が正常であるか否かを判定するためのデータの取得を行わない。
[第2データ取得処理]
次に、第1の実施の形態におけるテスト実行処理のうち、第4のデータ135及び第2のデータ133を取得する処理(以下、第2データ取得処理とも呼ぶ)について説明を行う。
テスト実行部111は、図18に示すように、テスト再実行タイミングまで待機する(S31のNO)。そして、テスト再実行タイミングになった場合(S31のYES)、テスト実行部111は、データ移動処理の実行を抑止する(S32)。
その後、テスト実行部111は、S22及びS26の処理において第1のデータ132が取得されるまでに実行されたテスト処理を再度実行する(S33)。そして、データ取得部112は、S24の処理で記憶した識別情報136に対応するテスト処理までの各テスト処理の再度の実行によって記憶装置1aに格納される第4のデータ135を取得する(S34)。以下、S32からS34の処理の具体例について説明を行う。
[S32からS34の処理の具体例]
図25及び図26は、S32からS34の処理の具体例を説明する図である。テスト実行部111は、図20から図24で説明した処理が行われたタイミングよりも後のタイミングで、テスト対象プログラムPG02に、テスト処理TS01の実行を再度指示する。この場合、テスト実行部111は、データ移動処理の実行を抑止した状態で、テスト処理TS01の実行の再度の指示を行う(S32、S33)。そして、テスト対象プログラムPG02は、テスト処理TS01の実行指示の再度の受信に伴って、記憶装置1aに格納されたデータDT01に対してアクセスを行い、データDT01をデータDT02に更新する。
その後、テスト実行部111は、図25に示すように、テスト対象プログラムPG02に、テスト処理TS02の実行を再度指示する。この場合、テスト実行部111は、データ移動処理の実行を抑止した状態で、テスト処理TS02の実行の再度を指示する(S32、S33)。そして、テスト対象プログラムPG02は、テスト処理TS02の実行指示の再度の受信に伴い、記憶装置1aに格納されたデータDT02に対してアクセスを行い、データDT02をデータDT03に更新する。
ここで、図22で説明したように、情報格納領域130に記憶された識別情報136がテスト処理TS02を示す情報である場合、データ取得部112は、図26に示すように、テスト処理TS02の再度の実行によって記憶装置1aに記憶されたデータDT03を取得する。そして、データ取得部112は、取得したデータDT03を第4のデータ135として情報格納領域130に記憶する(S34)。
これにより、データ取得部112は、第3のデータ134の期待値データである第4のデータ135を取得することが可能になる。そのため、データ比較部113は、後述するように、第3のデータ134と第4のデータ135との比較を行うことが可能になる。
図18に戻り、テスト実行部111は、特定のテスト処理を再度実行する(S35)。そして、データ取得部112は、特定のテスト処理の再度の実行に伴って記憶装置1aに格納された第2のデータ133を取得する(S36)。以下、S35及びS36の処理の具体例について説明を行う。
[S35及びS36の処理の具体例]
図27及び図28は、S35及びS36の処理の具体例を説明する図である。テスト実行部111は、S34の処理の後、図27に示すように、テスト対象プログラムPG02に、テスト処理TS03の実行を再度指示する(S35)。そして、テスト対象プログラムPG02は、テスト処理TS03の実行指示の再度の受信に伴い、記憶装置1aに格納されたデータDT03に対してアクセスを行い、データDT03をデータDT04に更新する。
そして、データ取得部112は、図28に示すように、テスト処理TS03の再度の実行によって記憶装置1aに記憶されたデータDT04を取得し、取得したデータDT04を第2のデータ133として情報格納領域130に記憶する(S36)。
これにより、データ取得部112は、第1のデータ132の期待値データである第2のデータ133を取得することが可能になる。そのため、データ比較部113は、後述するように、第1のデータ132と第2のデータ133との比較を行うことが可能になる。
[データ比較処理]
次に、第1の実施の形態におけるテスト実行処理のうち、第1データ取得処理及び第2データ取得処理において取得された各データを比較する処理(以下、データ比較処理とも呼ぶ)について説明を行う。
データ比較部113は、図19に示すように、データ比較タイミングまで待機する(S41のNO)。テスト比較タイミングは、例えば、事業者が情報処理装置1に対してデータの比較を開始する旨を入力したタイミングであってよい。そして、データ比較タイミングになった場合(S41のYES)、データ比較部113は、S27の処理で取得した第1のデータ132と、S36の処理で取得した第2のデータ133とが同一であるか否かを判定する(S42)。また、データ比較部113は、この場合、S25の処理で取得した第3のデータ134と、S34の処理で取得した第4のデータ135とが同一であるか否かを判定する(S43)。
その後、結果出力部114は、S42及びS43の処理で判定された結果を出力する(S44)。
具体的に、S42の処理において、第1のデータ132と第2のデータ133とが同一であると判定された場合、結果出力部114は、例えば、特定のテスト処理が正常に行われた旨を出力する。一方、S42の処理において、第1のデータ132と第2のデータ133とが同一でないと判定された場合、結果出力部114は、例えば、特定のテスト処理が正常に行われなかった旨を出力する。
また、S43の処理において、第3のデータ134と第4のデータ135とが同一であると判定された場合、結果出力部114は、例えば、特定のテスト処理が行われる前において、特定のテスト処理によってアクセスされたデータが正常であった旨を出力する。すなわち、結果出力部114は、この場合、特定のテスト処理の前に行われたテスト処理が正常に行われた旨を出力する。一方、S43の処理において、第3のデータ134と第4のデータ135とが同一でないと判定された場合、結果出力部114は、例えば、特定のテスト処理が行われる前において、特定のテスト処理によってアクセスされたデータが正常でなかった旨を出力する。すなわち、結果出力部114は、この場合、特定のテスト処理の前に行われたテスト処理が正常に行われなかった旨を出力する。
これにより、結果出力部114は、テスト対象プログラムPG02に異常が含まれているか否かを示す情報を出力装置等に出力することが可能になる。そのため、事業者は、例えば、出力された情報に基づく異常の解析等を行うことが可能になる。
このように、本実施の形態における情報処理装置1は、記憶装置1aの特定のアドレスに格納されたデータに対するテスト処理を繰り返し実行する。そして、情報処理装置1は、テスト処理の実行に伴ってデータ移動処理が実行されたことに応じて、テスト処理に含まれる特定のテスト処理を実行し、特定のテスト処理の実行に伴ってメモリ1bに格納された第1のデータ132を取得する。
その後、情報処理装置1は、データ移動処理の実行を抑止して、第1のデータ132が取得されるまでに実行したテスト処理を再度実行する。さらに、情報処理装置1は、テスト処理の再度の実行によって記憶装置1aに格納された第2のデータ133を取得する。
これにより、情報処理装置1は、テスト処理が行われる可能性があるタイミングそれぞれに対応する期待値データを用意する必要がなくなる。そのため、情報処理装置1は、期待値データの生成に伴う処理負担を軽減させることが可能になる。そして、情報処理装置1は、第1のデータ132と第2のデータ133とを比較することで、第1のデータ132を生成したテスト対象プログラムに異常が含まれているか否かを判定することが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
第1の記憶部の特定のアドレスに対して特定の発生頻度によるデータの読み出しが実行されたことに応じて、前記特定のアドレスに格納されたデータを前記第1の記憶部から読み出して第2の記憶部に記憶させるデータ移動処理を行う情報処理装置に、前記特定のアドレスに格納されたデータの読み出しを伴うテスト処理を実行させる処理をコンピュータに実行させるテスト実行プログラムにおいて、
前記特定のアドレスに格納されたデータに対する前記テスト処理を繰り返し実行し、
前記テスト処理の実行に伴って前記データ移動処理が実行されたことに応じて、前記特定のアドレスに格納されたデータに対する特定のテスト処理を実行して、前記特定のテスト処理の実行に伴って前記第2の記憶部に格納された第1のデータを取得する、
処理をコンピュータに実行させることを特徴とするテスト実行プログラム。
(付記2)
付記1において、さらに、
前記データ移動処理の実行を抑止して、前記第1のデータが取得されるまでに実行した前記テスト処理を実行し、前記特定のテスト処理の該実行によって前記第1の記憶部に格納された第2のデータを取得し、
前記第1のデータと前記第2のデータとが同一であるか否かを判定し、判定した結果を出力する、
処理をコンピュータに実行させることを特徴とするテスト実行プログラム。
(付記3)
付記2において、
前記第2のデータを取得する処理では、前記テスト処理の実行を、前記テスト処理を実行する処理の前に前記特定のアドレスに格納されていたデータに対して行う、
ことを特徴とするテスト実行プログラム。
(付記4)
付記2において、
前記第1のデータを取得する処理では、
前記データ移動処理の実行が開始されたことに応じて、前記データ移動処理の実行が開始される直前に実行された前記テスト処理を識別する識別情報を記憶部に記憶し、
前記識別情報に対応する前記テスト処理の実行によって前記第1の記憶部に格納された第3のデータを取得し、
前記第2のデータを取得する処理では、前記識別情報に対応する前記テスト処理の実行によって前記第1の記憶部に格納された第4のデータを取得する、
処理をコンピュータに実行させることを特徴とするテスト実行プログラム。
(付記5)
付記4において、さらに、
前記第3のデータと前記第4のデータとが同一であるか否かを判定し、判定した結果を出力する、
処理をコンピュータに実行させることを特徴とするテスト実行プログラム。
(付記6)
付記4において、
前記第1のデータを取得する処理では、
前記データ移動処理の実行の開始を検知する通知部から前記データ移動処理の実行が開始された旨の通知があった場合に、前記データ移動処理の実行が開始されたと判定し、
前記通知を受信する直前に実行された前記テスト処理を識別する情報を前記識別情報として記憶部に記憶する、
ことを特徴とするテスト実行プログラム。
(付記7)
付記6において、
前記通知部は、
前記第1の記憶部に格納されたデータの読み出しのリクエストの発行元の情報を受け付け、
受け付けた前記情報に基づき、前記リクエストの発行元が特定の発行元であるか否かの判定を行い、
前記リクエストの発行元が前記特定の発行元である場合、前記データ移動処理の実行が開始された旨の通知を行う、
ことを特徴とするテスト実行プログラム。
(付記8)
付記1において、
前記第1の記憶部に格納されたデータの読み出しの実行速度は、前記第2の記憶部に格納されたデータの読み出しの実行速度よりも高速である、
ことを特徴とするテスト実行プログラム。
(付記9)
第1の記憶部の特定のアドレスに対して特定の発生頻度によるデータの読み出しが実行されたことに応じて、前記特定のアドレスに格納されたデータを前記第1の記憶部から読み出して第2の記憶部に記憶させるデータ移動処理を行う情報処理装置に、前記特定のアドレスに格納されたデータの読み出しを伴うテスト処理を実行するテスト実行装置において、
前記特定のアドレスに格納されたデータに対する前記テスト処理を繰り返し実行するテスト実行部と、
前記テスト処理の実行に伴って前記データ移動処理が実行されたことに応じて、前記特定のアドレスに格納されたデータに対する特定のテスト処理を実行して、前記特定のテスト処理の実行に伴って前記第2の記憶部に格納された第1のデータを取得するデータ取得部と、を有する、
ことを特徴とするテスト実行装置。
(付記10)
第1の記憶部の特定のアドレスに対して特定の発生頻度によるデータの読み出しが実行されたことに応じて、前記特定のアドレスに格納されたデータを前記第1の記憶部から読み出して第2の記憶部に記憶させるデータ移動処理を行う情報処理装置に、前記特定のアドレスに格納されたデータの読み出しを伴うテスト処理を実行するテスト実行方法において、
前記特定のアドレスに格納されたデータに対する前記テスト処理を繰り返し実行し、
前記テスト処理の実行に伴って前記データ移動処理が実行されたことに応じて、前記特定のアドレスに格納されたデータに対する特定のテスト処理を実行して、前記特定のテスト処理の実行に伴って前記第2の記憶部に格納された第1のデータを取得する、
ことを特徴とするテスト実行方法。
(付記11)
第1の記憶部への特定のアドレスに対するデータの読み出しリクエストの発生頻度に応じて、前記第1の記憶部に記憶された前記特定のアドレスに格納されたデータを前記第1の記憶部から読み出して第2の記憶部に記憶させるデータ移動処理を行う情報処理装置のテスト実行プログラムにおいて、
前記データ読み出しリクエストの発行元を識別する情報を受け付け、
受け付けた前記情報に基づき、前記データ読み出しリクエストの発行元が特定の発行元であるか否かの判定を行い、
前記特定の発行元である場合、前記処理装置に、前記特定のアドレスに格納されたデータを読み込む又は前記特定のアドレスへデータを書き込む処理の実行を指示する、
処理をコンピュータに実行させることを特徴とするテスト実行プログラム。
(付記12)
第1の記憶部への特定のアドレスに対するデータの読み出しリクエストの発生頻度に応じて、前記第1の記憶部に記憶された前記特定のアドレスに格納されたデータを前記第1の記憶部から読み出して第2の記憶部に記憶させるデータ移動処理を行う情報処理装置のテスト実行装置において、
前記データ読み出しリクエストの発行元を識別する情報を受け付ける情報受付部と、
受け付けた前記情報に基づき、前記データ読み出しリクエストの発行元が特定の発行元であるか否かの判定を行う発行元判定部と、
前記特定の発行元である場合、前記処理装置に、前記特定のアドレスに格納されたデータを読み込む又は前記特定のアドレスへデータを書き込む処理の実行を指示する実行指示部と、を有する、
ことを特徴とするテスト実行装置。
(付記13)
第1の記憶部への特定のアドレスに対するデータの読み出しリクエストの発生頻度に応じて、前記第1の記憶部に記憶された前記特定のアドレスに格納されたデータを前記第1の記憶部から読み出して第2の記憶部に記憶させるデータ移動処理を行う情報処理装置のテスト実行方法において、
前記データ読み出しリクエストの発行元を識別する情報を受け付け、
受け付けた前記情報に基づき、前記データ読み出しリクエストの発行元が特定の発行元であるか否かの判定を行い、
前記特定の発行元である場合、前記処理装置に、前記特定のアドレスに格納されたデータを読み込む又は前記特定のアドレスへデータを書き込む処理の実行を指示する、
ことを特徴とするテスト実行方法。
1:情報処理装置 1a:記憶装置
11:事業者端末 NW:ネットワーク

Claims (12)

  1. 第1の記憶部の特定のアドレスに対して特定の発生頻度によるデータの読み出しが実行されたことに応じて、前記特定のアドレスに格納されたデータを前記第1の記憶部から読み出して第2の記憶部に記憶させるデータ移動処理を行う情報処理装置に、前記特定のアドレスに格納されたデータの読み出しを伴うテスト処理を実行させる処理をコンピュータに実行させるテスト実行プログラムにおいて、
    前記特定のアドレスに格納されたデータに対する前記テスト処理を繰り返し実行し、
    前記テスト処理の実行に伴って前記データ移動処理が実行されたことに応じて、前記特定のアドレスに格納されたデータに対する特定のテスト処理を実行して、前記特定のテスト処理の実行に伴って前記第2の記憶部に格納された第1のデータを取得する、
    処理をコンピュータに実行させることを特徴とするテスト実行プログラム。
  2. 請求項1において、さらに、
    前記データ移動処理の実行を抑止して、前記第1のデータが取得されるまでに実行した前記テスト処理を実行し、前記特定のテスト処理の該実行によって前記第1の記憶部に格納された第2のデータを取得し、
    前記第1のデータと前記第2のデータとが同一であるか否かを判定し、判定した結果を出力する、
    処理をコンピュータに実行させることを特徴とするテスト実行プログラム。
  3. 請求項2において、
    前記第2のデータを取得する処理では、前記テスト処理の実行を、前記テスト処理を実行する処理の前に前記特定のアドレスに格納されていたデータに対して行う、
    ことを特徴とするテスト実行プログラム。
  4. 請求項2において、
    前記第1のデータを取得する処理では、
    前記データ移動処理の実行が開始されたことに応じて、前記データ移動処理の実行が開始される直前に実行された前記テスト処理を識別する識別情報を記憶部に記憶し、
    前記識別情報に対応する前記テスト処理の実行によって前記第1の記憶部に格納された第3のデータを取得し、
    前記第2のデータを取得する処理では、前記識別情報に対応する前記テスト処理の実行によって前記第1の記憶部に格納された第4のデータを取得する、
    処理をコンピュータに実行させることを特徴とするテスト実行プログラム。
  5. 請求項4において、さらに、
    前記第3のデータと前記第4のデータとが同一であるか否かを判定し、判定した結果を出力する、
    処理をコンピュータに実行させることを特徴とするテスト実行プログラム。
  6. 請求項4において、
    前記第1のデータを取得する処理では、
    前記データ移動処理の実行の開始を検知する通知部から前記データ移動処理の実行が開始された旨の通知があった場合に、前記データ移動処理の実行が開始されたと判定し、
    前記通知を受信する直前に実行された前記テスト処理を識別する情報を前記識別情報として記憶部に記憶する、
    ことを特徴とするテスト実行プログラム。
  7. 請求項6において、
    前記通知部は、
    前記第1の記憶部に格納されたデータの読み出しのリクエストの発行元の情報を受け付け、
    受け付けた前記情報に基づき、前記リクエストの発行元が特定の発行元であるか否かの判定を行い、
    前記リクエストの発行元が前記特定の発行元である場合、前記データ移動処理の実行が開始された旨の通知を行う、
    ことを特徴とするテスト実行プログラム。
  8. 第1の記憶部の特定のアドレスに対して特定の発生頻度によるデータの読み出しが実行されたことに応じて、前記特定のアドレスに格納されたデータを前記第1の記憶部から読み出して第2の記憶部に記憶させるデータ移動処理を行う情報処理装置に、前記特定のアドレスに格納されたデータの読み出しを伴うテスト処理を実行するテスト実行装置において、
    前記特定のアドレスに格納されたデータに対する前記テスト処理を繰り返し実行するテスト実行部と、
    前記テスト処理の実行に伴って前記データ移動処理が実行されたことに応じて、前記特定のアドレスに格納されたデータに対する特定のテスト処理を実行して、前記特定のテスト処理の実行に伴って前記第2の記憶部に格納された第1のデータを取得するデータ取得部と、を有する、
    ことを特徴とするテスト実行装置。
  9. 第1の記憶部の特定のアドレスに対して特定の発生頻度によるデータの読み出しが実行されたことに応じて、前記特定のアドレスに格納されたデータを前記第1の記憶部から読み出して第2の記憶部に記憶させるデータ移動処理を行う情報処理装置に、前記特定のアドレスに格納されたデータの読み出しを伴うテスト処理を実行するテスト実行方法において、
    前記特定のアドレスに格納されたデータに対する前記テスト処理を繰り返し実行し、
    前記テスト処理の実行に伴って前記データ移動処理が実行されたことに応じて、前記特定のアドレスに格納されたデータに対する特定のテスト処理を実行して、前記特定のテスト処理の実行に伴って前記第2の記憶部に格納された第1のデータを取得する、
    ことを特徴とするテスト実行方法。
  10. 第1の記憶部への特定のアドレスに対するデータの読み出しリクエストの発生頻度に応じて、前記第1の記憶部に記憶された前記特定のアドレスに格納されたデータを前記第1の記憶部から読み出して第2の記憶部に記憶させるデータ移動処理を行う情報処理装置のテスト実行プログラムにおいて、
    前記データ読み出しリクエストの発行元を識別する情報を受け付け、
    受け付けた前記情報に基づき、前記データ読み出しリクエストの発行元が特定の発行元であるか否かの判定を行い、
    前記特定の発行元である場合、前記処理装置に、前記特定のアドレスに格納されたデータを読み込む又は前記特定のアドレスへデータを書き込む処理の実行を指示する、
    処理をコンピュータに実行させることを特徴とするテスト実行プログラム。
  11. 第1の記憶部への特定のアドレスに対するデータの読み出しリクエストの発生頻度に応じて、前記第1の記憶部に記憶された前記特定のアドレスに格納されたデータを前記第1の記憶部から読み出して第2の記憶部に記憶させるデータ移動処理を行う情報処理装置のテスト実行装置において、
    前記データ読み出しリクエストの発行元を識別する情報を受け付ける情報受付部と、
    受け付けた前記情報に基づき、前記データ読み出しリクエストの発行元が特定の発行元であるか否かの判定を行う発行元判定部と、
    前記特定の発行元である場合、前記処理装置に、前記特定のアドレスに格納されたデータを読み込む又は前記特定のアドレスへデータを書き込む処理の実行を指示する実行指示部と、を有する、
    ことを特徴とするテスト実行装置。
  12. 第1の記憶部への特定のアドレスに対するデータの読み出しリクエストの発生頻度に応じて、前記第1の記憶部に記憶された前記特定のアドレスに格納されたデータを前記第1の記憶部から読み出して第2の記憶部に記憶させるデータ移動処理を行う情報処理装置のテスト実行方法において、
    前記データ読み出しリクエストの発行元を識別する情報を受け付け、
    受け付けた前記情報に基づき、前記データ読み出しリクエストの発行元が特定の発行元であるか否かの判定を行い、
    前記特定の発行元である場合、前記処理装置に、前記特定のアドレスに格納されたデータを読み込む又は前記特定のアドレスへデータを書き込む処理の実行を指示する、
    ことを特徴とするテスト実行方法。
JP2016125090A 2016-06-24 2016-06-24 テスト実行プログラム、テスト実行装置及びテスト実行方法 Active JP6680980B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016125090A JP6680980B2 (ja) 2016-06-24 2016-06-24 テスト実行プログラム、テスト実行装置及びテスト実行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016125090A JP6680980B2 (ja) 2016-06-24 2016-06-24 テスト実行プログラム、テスト実行装置及びテスト実行方法

Publications (2)

Publication Number Publication Date
JP2017228175A JP2017228175A (ja) 2017-12-28
JP6680980B2 true JP6680980B2 (ja) 2020-04-15

Family

ID=60891945

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016125090A Active JP6680980B2 (ja) 2016-06-24 2016-06-24 テスト実行プログラム、テスト実行装置及びテスト実行方法

Country Status (1)

Country Link
JP (1) JP6680980B2 (ja)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4071536B2 (ja) * 2002-05-07 2008-04-02 富士通株式会社 ファイル装置の試験装置及び該ファイル装置の試験装置における試験方法
JP2014002557A (ja) * 2012-06-18 2014-01-09 Fujitsu Ltd 試験データ生成方法、試験方法、試験データ生成装置、および試験データ生成プログラム
JP6152704B2 (ja) * 2013-05-28 2017-06-28 富士通株式会社 ストレージシステム、情報処理装置の制御プログラム、およびストレージシステムの制御方法

Also Published As

Publication number Publication date
JP2017228175A (ja) 2017-12-28

Similar Documents

Publication Publication Date Title
US9482683B2 (en) System and method for sequential testing across multiple devices
JP5104958B2 (ja) 仮想計算機システムのテスト方法、テストプログラム並びにその記録媒体、仮想計算機システム
US20080126879A1 (en) Method and system for a reliable kernel core dump on multiple partitioned platform
US20150324580A1 (en) Apparatus and method for analyzing malicious code in real environment
US10802847B1 (en) System and method for reproducing and resolving application errors
WO2018118166A1 (en) System and method for testing program using user interaction
US20170255456A1 (en) System, management device, information processing device, control method for management device, control method for information processing device, and computer-readable storage medium
US10366226B2 (en) Malicious code analysis device and method based on external device connected via USB cable
US11474855B2 (en) Information processing apparatus, information processing method, and storage medium
US9122791B2 (en) Identifying a storage location for a storage address requested during debugging
US20160259578A1 (en) Apparatus and method for detecting performance deterioration in a virtualization system
JP6349733B2 (ja) 情報処理装置、復旧支援方法、復旧支援プログラム、復旧支援システムおよび復旧支援サーバー
JP6680980B2 (ja) テスト実行プログラム、テスト実行装置及びテスト実行方法
JP2008293278A (ja) 分散処理プログラム、分散処理装置、および分散処理方法
JP6864227B2 (ja) 比較プログラム、比較装置及び比較方法
US9652304B2 (en) Electronic apparatus that uses program from another program working on different platforms, and method
JP6751231B2 (ja) ジョブスケジューラ試験プログラム、ジョブスケジューラ試験方法及び並列処理装置
JP5545133B2 (ja) 静的解析処理システム、方法、およびプログラム
JP6634819B2 (ja) 情報処理システム、及びその制御方法、プログラム
US10713147B2 (en) Test apparatus and method implementing instruction request command for testing computing machine resources
US9438607B2 (en) Information processing apparatus and verification control method
JP6555908B2 (ja) 情報処理装置及びその制御方法、プログラム
JP2019160148A (ja) データ採取装置、メモリコントローラ、演算装置、情報処理装置、データ採取システム、データ採取方法
US11113179B2 (en) Information processing device, information processing method, and computer readable medium for a trace process
US11836063B2 (en) System, control device, log extraction method, and computer-readable medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200130

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: 20200218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200302

R150 Certificate of patent or registration of utility model

Ref document number: 6680980

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150