(57)【要約】  取得部（１１０１）は、試験対象装置（２）がテストプログラム（１３３）を実行している間の試験対象装置（２）の状態を表す値である状態値を取得する。判定部（１１０２）は、取得部（１１０１）により取得された状態値を、状態値の期待値と比較し、比較結果に基づき、試験対象装置（２）でのテストプログラム（１３３）の実行結果が信頼できるか否かを判定する。
2017179208.tif 000002
【特許請求の範囲】
【請求項１】
試験対象装置がテストプログラムを実行している間の前記試験対象装置の状態を表す値である状態値を取得する取得部と、
前記取得部により取得された前記状態値を、前記状態値の期待値と比較し、比較結果に基づき、前記試験対象装置での前記テストプログラムの実行結果が信頼できるか否かを判定する判定部とを有する情報処理装置。
【請求項２】
前記情報処理装置は、更に、
前記判定部により前記試験対象装置での前記テストプログラムの実行結果が信頼できないと判定された場合に警告メッセージを出力するメッセージ出力部とを有する請求項１に記載の情報処理装置。
【請求項３】
前記判定部は、
前記状態値と前記期待値との差が閾値以上である場合に、前記試験対象装置での前記テストプログラムの実行結果が信頼できないと判定する請求項１に記載の情報処理装置。
【請求項４】
前記メッセージ出力部は、
前記警告メッセージと、前記テストプログラムの実行結果とを出力する請求項２に記載の情報処理装置。
【請求項５】
前記取得部は、
前記試験対象装置において前記テストプログラムとともに実行されることにより前記状態値を収集する状態値収集プログラムと前記テストプログラムとを前記試験対象装置に実行させ、前記状態値収集プログラムにより収集された前記状態値を取得する請求項１に記載の情報処理装置。
【請求項６】
前記取得部は、
前記試験対象装置での前記テストプログラムの実行に要した時間と、前記テストプログラム実行中の前記試験対象装置でのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）ティック数と、前記テストプログラム実行中の前記試験対象装置でのメモリ使用量と、前記テストプログラム実行中の前記試験対象装置でのメモリへのリード数及びライト数と、前記テストプログラム実行中の前記試験対象装置でのキャッシュミス率と、前記テストプログラム実行中に前記試験対象装置で動作していたプロセスのプロセスＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）とのうちの少なくともいずれかを、前記状態値として取得する請求項１に記載の情報処理装置。
【請求項７】
コンピュータが、試験対象装置がテストプログラムを実行している間の前記試験対象装置の状態を表す値である状態値を取得し、
前記コンピュータが、取得した前記状態値を、前記状態値の期待値と比較し、比較結果に基づき、前記試験対象装置での前記テストプログラムの実行結果が信頼できるか否かを判定する情報処理方法。
【請求項８】
試験対象装置がテストプログラムを実行している間の前記試験対象装置の状態を表す値である状態値を取得する取得処理と、
前記取得処理により取得された前記状態値を、前記状態値の期待値と比較し、比較結果に基づき、前記試験対象装置での前記テストプログラムの実行結果が信頼できるか否かを判定する判定処理とをコンピュータに実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テストプログラムを用いて行われるテストに関する。
【背景技術】
【０００２】
リグレッションテストなど、ソフトウェアプラットフォームに対する自動試験を実施する際に、試験者は試験の開始後、試験の途中経過を随時確認することは行わずに、試験の完了後に出力される試験結果のみを確認する場合がある。また、（１）過去機種において既に実績のあるテストプログラムを、改修せずにそのまま試験対象機種の試験に再利用する場合がある。また、（２）試験対象機種に合わせて改修したテストプログラムを用いて試験を行う場合がある。更に、（３）試験対象機種に合わせて改修した試験環境で、過去機種において既に実績のあるテストプログラムを再利用する場合がある。これらの場合において、試験対象機種に対応させた改修がテストプログラムに行われない（上記の（１））、改修時にテストプログラムまたは試験環境に不具合が混入する（上記の（２）、（３））、テストプログラムまたは試験環境に対する改修が不十分である（上記の（２）、（３））などの理由から、試験対象機種に対して試験を実行した時に、試験対象機種の不具合のためにＦａｉｌが出力されるべき項目で、ＦａｉｌではなくＰａｓｓが出力される場合があるという課題がある。【０００３】
試験者が既存のテストプログラムおよび試験環境を再利用している場合は、試験者は、試験実行時に試験対象機種が過去機種と同様の動作をすると想定している。しかしながら、テストプログラムまたは試験環境の不具合により、試験対象機種が過去機種と異なる動作をする場合には、上記のように、Ｆａｉｌが出力されるべき項目でＰａｓｓが出力される。
特許文献１では、この課題を解決するための技術が開示されている。特許文献１の技術では、試験機種に対して過去機種と同じテストプログラムが実行された場合に、試験対象機種上のプログラムの実行経路と実行経路に対する返値と、過去機種上のプログラムの実行経路と実行経路に対する返値の差分が確認される。そして、特許文献１の技術では、誤判定の疑いがある試験結果の場合は「要確認」であることが試験者に通知される
また、特許文献２の技術でも、試験対象機種に対して過去機種と同じテストプログラムが実行される。そして、特許文献２の技術では、試験対象機種の試験結果と過去機種の試験結果に差がある場合に、試験結果の差が試験対象機種の不具合による差であるのか、試験対象機種と過去機種との機能の違いによる差であるのかが判定される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１９６３５０号公報
【特許文献２】特開２０１４−０１０６０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示の判定方法及び特許文献２に開示の判定方法は、テストプログラムの記述内容に依存する。このため、特許文献１に開示の判定方法及び特許文献２に開示の判定方法では、試験結果の信頼性を正しく判定するためには、試験に用いられるテストプログラムの記述内容に対応させて個別の調整を行わなければならないという課題がある。【０００６】
本発明は、このような課題を解決することを主な目的とする。すなわち、本発明は、テストプログラムの記述内容に依存せずに、試験結果の信頼性を判定できるようにすることを主な目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る情報処理装置は、
試験対象装置がテストプログラムを実行している間の前記試験対象装置の状態を表す値である状態値を取得する取得部と、
前記取得部により取得された前記状態値を、前記状態値の期待値と比較し、比較結果に基づき、前記試験対象装置での前記テストプログラムの実行結果が信頼できるか否かを判定する判定部とを有する。
【発明の効果】
【０００８】
本発明では、試験対象装置がテストプログラムを実行している間の試験対象装置の状態を表す値である状態値を期待値と比較して、試験対象装置でのテストプログラムの実行結果が信頼できるか否かを判定する。このため、本発明によれば、テストプログラムの記述内容に依存せずに、試験結果の信頼性を判定することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る情報処理装置の構成例を示す図。
【図２】実施の形態１に係る試験対象装置の構成例を示す図。
【図３】実施の形態１に係る情報処理装置と試験対象装置との関係を示す図。
【図４】実施の形態１に係る状態値の例を示す図。
【図５】実施の形態１に係る状態値収集プログラムに含まれる処理の例を示す図。
【図６】実施の形態１に係る期待値情報の例を示す図。
【図７】実施の形態１に係る情報処理装置の動作例を示すフローチャート図。
【図８】実施の形態１に係る試験対象装置の動作例を示すフローチャート図。
【図９】実施の形態２に係る情報処理装置の構成例を示す図。
【図１０】実施の形態２に係る情報処理装置の動作例を示すフローチャート図。
【図１１】実施の形態２に係る情報処理装置の動作例を示すフローチャート図。
【発明を実施するための形態】
【００１０】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１は、本実施の形態に係る情報処理装置１の構成例を示す。
図２は、本実施の形態に係る試験対象装置２の構成例を示す。
図３は、情報処理装置１と試験対象装置２の関係を示す。
図３に示すように、情報処理装置１と試験対象装置２はネットワーク１８を介して接続されている。ネットワーク１８は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネット等である。
【００１１】
図１に示す情報処理装置１の構成及び図２に示す試験対象装置２の構成を説明する前に、情報処理装置１及び試験対象装置２の概要を説明する。
【００１２】
情報処理装置１は、試験対象装置２にテストプログラム１３３と状態値収集プログラム１３１をネットワーク１８を介して送信する。試験対象装置２は、テストプログラム１３３と状態値収集プログラム１３１を受信する。
試験対象装置２では、テストプログラム１３３と状態値収集プログラム１３１が実行される。状態値収集プログラム１３１は、テストプログラム１３３が実行されている間の試験対象装置２の状態を表す値である状態値を収集する。
テストプログラム１３３の実行が完了すると、情報処理装置１は、試験対象装置２からテストプログラム１３３の実行結果と状態値収集プログラム１３１により収集された状態値を受信する。
情報処理装置１は、状態値収集プログラム１３１により収集された状態値と、状態値の期待値と比較し、比較結果に基づき、試験対象装置２でのテストプログラム１３３の実行結果が信頼できるか否かを判定する。また、情報処理装置１は、試験対象装置２でのテストプログラム１３３の実行結果が信頼できないと判定した場合に警告メッセージを出力する。
なお、情報処理装置１により行われる処理は、情報処理方法に相当する。
【００１３】
次に、図１に示す情報処理装置１の構成を説明する。
情報処理装置１は、ハードウェアとして、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、メモリ１２、記憶装置１３、ディスプレイ１４、マウス１５、キーボード１６、通信インタフェース１７を備える。
情報処理装置１は、コンピュータである。
【００１４】
ＣＰＵ１１は、プログラムを実行するプロセッサである。具体的には、ＣＰＵ１１は、プログラムを実行することにより取得部１１０１、判定部１１０２、メッセージ出力部１１０３の機能を実現する。取得部１１０１、判定部１１０２、メッセージ出力部１１０３の詳細は後述する。
取得部１１０１、判定部１１０２、メッセージ出力部１１０３の機能を実現するプログラムは、記憶装置１３に記憶されている。そして、取得部１１０１、判定部１１０２、メッセージ出力部１１０３の機能を実現するプログラムはメモリ１２にロードされてＣＰＵ１１で実行される。
図１では、ＣＰＵ１１が取得部１１０１、判定部１１０２、メッセージ出力部１１０３の機能を実現するプログラムを実行している状態を模式的に示している。取得部１１０１、判定部１１０２、メッセージ出力部１１０３の機能を実現するプログラムは、情報処理プログラムに相当する。
【００１５】
メモリ１２は、ＣＰＵ１１上で実行中のプログラムやスタック、変数等が格納される揮発性記憶装置である。メモリ１２は、具体的には、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００１６】
記憶装置１３は、状態値収集プログラム１３１、期待値情報１３２、テストプログラム１３３が格納される不揮発性記憶装置である。期待値情報１３２は、状態値ごとに期待値が記述されたテーブルである。
また、図示を省略しているが、前述したように、記憶装置１３には、取得部１１０１、判定部１１０２、メッセージ出力部１１０３の機能を実現するプログラムも格納されている。記憶装置１３は、具体的には、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）である。
【００１７】
ディスプレイ１４は、文書、画像、機能情報などのデータを表示する。ディスプレイ１４が表示するデータには、カーソル、アイコン、ツールボックスが含まれる。
【００１８】
マウス１５は、カーソルの移動や選択範囲、ウインドウの移動やサイズ変更などに用いられる。
【００１９】
キーボード１６は、文字、数字、各種指示などの入力のキーを備え、データ入力に用いられる。
【００２０】
通信インタフェース１７は、ネットワーク１８を介して試験対象装置２と通信を行う。
【００２１】
次に、取得部１１０１、判定部１１０２、メッセージ出力部１１０３を説明する。
前述のように、取得部１１０１、判定部１１０２、メッセージ出力部１１０３は、ＣＰＵ１１がプログラムを実行することで実現される。厳密には、以下に示す取得部１１０１、判定部１１０２、メッセージ出力部１１０３の機能は、ＣＰＵ１１がプログラムを実行することで達成されるが、理解を容易にするために、以下では、取得部１１０１、判定部１１０２、メッセージ出力部１１０３が動作することで、取得部１１０１、判定部１１０２、メッセージ出力部１１０３の機能が達成されるものとして説明を行う。
【００２２】
取得部１１０１は、状態値収集プログラム１３１とテストプログラム１３３を通信インタフェース１７を介して試験対象装置２に送信し、試験対象装置２に状態値収集プログラム１３１とテストプログラム１３３を実行させる。また、取得部１１０１は、状態値収集プログラム１３１により収集された状態値を取得する。状態値収集プログラム１３１は、前述したように、試験対象装置２においてテストプログラム１３３とともに実行されることにより状態値を収集するプログラムである。
また、取得部１１０１は、状態値収集プログラム１３１により収集された状態値を通信インタフェース１７を介して受信する。
取得部１１０１は、例えば、試験対象装置２でのテストプログラム１３３の実行に要した時間を状態値として取得する。
また、取得部１１０１は、テストプログラム１３３実行中の試験対象装置２でのＣＰＵティック数を状態値として取得してもよい。
また、取得部１１０１は、テストプログラム１３３実行中の試験対象装置２でのメモリ使用量を状態値として取得してもよい。
また、取得部１１０１は、テストプログラム１３３実行中の試験対象装置２でのメモリへのリード数及びライト数を状態値として取得してもよい。
また、取得部１１０１は、テストプログラム１３３実行中の試験対象装置２でのキャッシュミス率を状態値として取得してもよい。
また、取得部１１０１は、テストプログラム１３３実行中に試験対象装置２で動作していたプロセスのプロセスＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）を状態値として取得してもよい。
取得部１１０１の処理は、取得処理に相当する。
【００２３】
判定部１１０２は、取得部１１０１により取得された状態値を、状態値の期待値と比較し、比較結果に基づき、試験対象装置２でのテストプログラム１３３の実行結果が信頼できるか否かを判定する。
より具体的には、判定部１１０２は、状態値と期待値との差が閾値以上である場合に、試験対象装置２でのテストプログラム１３３の実行結果が信頼できないと判定する。
判定部１１０２の処理は、判定処理に相当する。
【００２４】
メッセージ出力部１１０３は、判定部１１０２により試験対象装置２でのテストプログラム１３３の実行結果が信頼できないと判定された場合に警告メッセージを出力する。
一方、メッセージ出力部１１０３は、判定部１１０２により試験対象装置２でのテストプログラム１３３の実行結果が信頼できると判定された場合に肯定メッセージを出力する。
【００２５】
次に、図２に示す試験対象装置２の構成を説明する。
試験対象装置２は、ハードウェアとして、ＣＰＵ２１、メモリ２２、記憶装置２３、通信インタフェース２４を備える。
試験対象装置２は、コンピュータである。
【００２６】
ＣＰＵ２１は、プログラムを実行するプロセッサである。具体的には、ＣＰＵ２１は、状態値収集プログラム１３１及びテストプログラム１３３を実行する。
【００２７】
メモリ２２は、ＣＰＵ２１上で実行中のプログラムやスタック、変数等に加えて、ＯＳ管理情報２２１とプログラム群２２２が格納される揮発性記憶装置である。メモリ２２は、具体的には、ＲＡＭである。
ＯＳ管理情報２２１は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が管理する情報である。
【００２８】
記憶装置２３は、ＨＤＤやＳＳＤ等の不揮発性記憶装置である。
【００２９】
通信インタフェース２４は、ネットワーク１８を介して情報処理装置１と通信を行う。
【００３０】
図４は、状態値収集プログラム１３１が収集する状態値の例を示す。
図４に示すように、本実施の形態では、状態値収集プログラム１３１は、テストプログラム１３３の実行に要したテスト時間を収集する。また、状態値収集プログラム１３１は、テストプログラム１３３実行中のＣＰＵティック数を収集する。また、状態値収集プログラム１３１は、テストプログラム１３３実行中の試験対象装置２でのメモリ使用量を収集する。また、状態値収集プログラム１３１は、テストプログラム１３３実行中の試験対象装置２でのメモリ２２へのリード数及びライト数を収集する。また、状態値収集プログラム１３１は、テストプログラム１３３実行中の試験対象装置２でのキャッシュミス率を収集する。また、状態値収集プログラム１３１は、テストプログラム１３３実行中に動作するプロセスのプロセスＩＤを収集する。
状態値収集プログラム１３１は、試験対象装置２のＯＳが管理する値であれば、図４に示す状態値以外の値も収集可能である。
【００３１】
図５は、状態値収集プログラム１３１が行う処理の例を示す。つまり、状態値収集プログラム１３１には、図５に示す処理に対応するコードが記述されている。
【００３２】
処理５１は、テストプログラム１３３の実行を開始する処理である。
処理５２は、テストプログラム１３３の実行中の状態値を収集する処理である。
処理５３は、テストプログラム１３３の実行結果を試験対象装置２のメモリ２２に保存する処理である。
処理５４は、テストプログラム１３３の実行結果及び収集した状態値を情報処理装置１に送信する処理である。
状態値収集プログラム１３１は、処理５１により、テストプログラムの種類（記述内容）と名前に依存せず、引数で渡されたテストプログラムの実行を開始する。状態値収集プログラム１３１は、図４に示すテスト時間を収集する場合は、処理５２により、テストプログラムの開始時刻とテストプログラム１３３の終了時刻を収集する。そして、状態値収集プログラム１３１は、処理５２により、テストプログラム開始時刻とテスト終了時刻との差を求め、テスト時間を得る。図４に示すＣＰＵティック数についても同様に、状態値収集プログラム１３１は、処理５２により、テストプログラム１３３の開始時のＣＰＵティック数とテストプログラム１３３の終了時のＣＰＵティック数を収集する。そして、状態値収集プログラム１３１は、処理５２により、テストプログラム開始時のＣＰＵティック数とテストプログラム終了時のＣＰＵティック数との差を求め、テストプログラム１３３実行中のＣＰＵティック数を得る。また、図４に示すメモリ使用量、メモリへのリード／ライト数、キャッシュミス率、動作するプロセスＩＤを収集する場合は、状態値収集プログラム１３１は、処理５２により、ＯＳに標準で備わっている測定機能がテストプログラム１３３の実行中に測定した状態値を、テストプログラム１３３の実行後にＯＳから収集する。
【００３３】
図６は、期待値情報１３２の例を示す。
図６に示すように、期待値情報１３２では、テストプログラムごとに、図４の各状態値の期待値が定義されている。期待値は、例えば、過去にテストプログラムを実行した際に得られた状態値の平均値である。
【００３４】
＊＊＊動作の説明＊＊＊
次に動作について、本実施の形態に係る情報処理装置１及び試験対象装置２の動作例を説明する。
最初に、図７のフローチャートを参照して、情報処理装置１の動作例を説明する。
【００３５】
先ず、ステップＳ１１において、取得部１１０１が、状態値収集プログラム１３１とテストプログラム１３３を通信インタフェース１７を介して試験対象装置２に送信する。状態値収集プログラム１３１とテストプログラム１３３は、試験対象装置２のメモリ２２上にプログラム群２２２として格納される。
【００３６】
次に、ステップＳ１２において、取得部１１０１は、試験対象装置２のメモリ２２のプログラム群２２２に含まれる状態値収集プログラム１３１を実行する。具体的には、取得部１１０１は、通信インタフェース１７を介して状態値収集プログラム１３１に実行開始指示を送信する。また、状態値収集プログラム１３１が実行を開始すると、状態値収集プログラム１３１は図５に示す処理５１によりテストプログラム１３３を起動する。また、状態値収集プログラム１３１は、処理５２によりテストプログラム実行中の状態値を収集する。
【００３７】
次に、ステップＳ１３において、取得部１１０１が、試験対象装置２からテストプログラム１３３の実行結果と状態値収集プログラム１３１により収集された状態値を通信インタフェース１７を介して取得する。
【００３８】
次に、ステップＳ１４において、判定部１１０２が、期待値情報１３２から、試験対象装置２に送信したテストプログラム１３３に対応する期待値を取得する。
【００３９】
次に、ステップＳ１５において、判定部１１０２が、ステップＳ１３で取得された状態値とＳ１４で取得された期待値を比較する。
【００４０】
状態値と期待値が一致する場合（Ｓ１６でＹＥＳ）は、判定部１１０２は、テストプログラム１３３の実行結果が信頼できると判定し、メッセージ出力部１１０３に、テストプログラム１３３の実行結果が信頼できる旨の肯定メッセージの出力を指示する。
この結果、ステップＳ１７において、メッセージ出力部１１０３が、テストプログラム１３３の実行結果と肯定メッセージをディスプレイ１４に出力する。
なお、判定部１１０２は、図５の状態値のうち既定の割合以上（例えば、８割以上）の状態値が期待値と一致していれば、ステップＳ１６をＹＥＳと判定する。また、各状態値が対応する期待値に完全に一致しなくても、規定の誤差範囲で一致していれば、各状態値が対応する期待値に一致していると判定する。つまり、判定部１１０２は、各状態値と対応する期待値との差が閾値未満であれば、各状態値と対応する期待値が一致していると判定する。一方、各状態値と対応する期待値との差が閾値以上であれば、判定部１１０２は、各状態値と対応する期待値が一致していないと判定する。
【００４１】
状態値と期待値が一致しない場合（Ｓ１６でＮＯ）は、判定部１１０２は、テストプログラム１３３の実行結果が信頼できないと判定し、メッセージ出力部１１０３に、テストプログラム１３３の実行結果が信頼できない旨の警告メッセージの出力を指示する。
この結果、ステップＳ１８において、メッセージ出力部１１０３が、テストプログラム１３３の実行結果と警告メッセージをディスプレイ１４に出力する。
【００４２】
次に、図８のフローチャートを参照して、試験対象装置２の動作例を説明する。
【００４３】
試験対象装置２は、ステップＳ２１において、図７のステップＳ１１において情報処理装置１から送信された状態値収集プログラム１３１とテストプログラム１３３を、通信インタフェース２４を介して受信する。
そして、試験対象装置２は、受信した状態値収集プログラム１３１とテストプログラム１３３をプログラム群２２２としてメモリ２２に格納する。
【００４４】
次に、ステップＳ２２において、図７のステップのＳ１２の実行開始指示により状態値収集プログラム１３１の実行が開始する。
【００４５】
次に、ステップＳ２３において、状態値収集プログラム１３１が、テストプログラム実行前の値を収集する。
具体的には、状態値収集プログラム１３１は、テストプログラム開始時刻を収集する。また、状態値収集プログラム１３１は、テストプログラム開始前のＣＰＵティック数を収集する。状態値収集プログラム１３１は、収集した値をメモリ２２に保存する。
【００４６】
次に、ステップＳ２４において、状態値収集プログラム１３１がテストプログラム１３３を実行する。
【００４７】
次に、ステップＳ２５において、テストプログラム１３３の実行が完了し、状態値収集プログラム１３１が、テストプログラム１３３の実行結果をメモリ２２に保存する。
【００４８】
次に、ステップＳ２６において、状態値収集プログラム１３１が、テストプログラム１３３実行中の状態値を収集する。
例えば、図４のテスト時間では、ステップＳ２５の際に状態値収集プログラム１３１がテストプログラム１３３の終了時刻を収集しておく。そして、状態値収集プログラム１３１は、ステップＳ２３で収集されたテストプログラム開始時刻とプログラム終了時刻との差を求め、テスト時間を得る。図４に示すＣＰＵティック数についても同様に、状態値収集プログラム１３１は、ステップＳ２５の際にテストプログラム１３３の終了時のＣＰＵティック数を収集しておく。そして、状態値収集プログラム１３１は、テストプログラム開始時のＣＰＵティック数とテスト終了時のＣＰＵティック数との差を求め、テストプログラム実行中のＣＰＵティック数を得る。また、図４に示すメモリ使用量、メモリへのリード／ライト数、キャッシュミス率、動作するプロセスＩＤを収集する場合は、状態値収集プログラム１３１は、ＯＳの測定機能がテストプログラム１３３の実行中に測定した状態値を、ＯＳ管理情報２２１から収集する。
【００４９】
次に、ステップＳ２７において、状態値収集プログラム１３１が、Ｓ２５で取得したテストプログラムの実行結果とＳ２６で収集した状態値を通信インタフェース２４を介して情報処理装置１に送信する。
【００５０】
＊＊＊実施の形態の効果の説明＊＊＊
以上のように、本実施の形態では、取得部１１０１が状態値を取得し、判定部１１０２が、状態値を期待値と比較し、比較結果に基づき、試験対象装置２でのテストプログラム１３３の実行結果が信頼できるか否かを判定する。このため、本実施の形態によれば、テストプログラム１３３の記述内容や処理内容に依存しない方法で、試験結果の信頼性を判定することができる。そして、試験結果が信頼できない場合には、メッセージ出力部１１０３が警告メッセージを出力することで、試験者に、テストプログラム１３３の実行結果の精査を促すことが出来る。この結果、試験者が、自動試験中に見逃してしまう本来ＦａｉｌになるべきにもかかわらずＰａｓｓとなる項目を抽出することができる。
また、テストプログラム１３３の実行結果において本来ＦａｉｌになるべきにもかかわらずＰａｓｓとなる項目が発生する原因として、過去機種から再利用しているテストプログラム１３３に不具合が混入していること、または改修が不十分であることが考えられる。本実施の形態によれば、試験者にテストプログラム１３３の実行結果の精査を促すことにより、試験者がテストプログラム１３３の不具合を検出することができる。
【００５１】
実施の形態２．
実施の形態１では、情報処理装置１と試験対象装置２が異なるコンピュータであった。本実施の形態では、情報処理装置１と試験対象装置２が同じコンピュータ内に構成されている例を説明する。
以下では、主に実施の形態１との差異を説明する。以下で説明していない事項は、実施の形態１と同じである。
【００５２】
＊＊＊構成の説明＊＊＊
図９は、本実施の形態に係る情報処理装置３の構成例を示す。
情報処理装置３は、ハードウェアとして、ＣＰＵ３１、メモリ３２、記憶装置３３、ディスプレイ３４、マウス３５、キーボード３６を備える。
情報処理装置３は、コンピュータである。
【００５３】
ＣＰＵ３１は、プログラムを実行するプロセッサである。具体的には、ＣＰＵ３１は、プログラムを実行することにより取得部１１０１、判定部１１０２、メッセージ出力部１１０３の機能を実現する。取得部１１０１、判定部１１０２、メッセージ出力部１１０３は、実施の形態１で説明したものと同様である。また、ＣＰＵ３１は、状態値取集プログラム１３１及びテストプログラム１３３を実行する。状態値収集プログラム１３１及びテストプログラム１３３は、実施の形態１で説明したものと同じである。
【００５４】
メモリ３２はＣＰＵ３１上で実行中のプログラムやスタック、変数等に加えて、ＯＳ管理情報２２１とプログラム群２２２が格納される揮発性記憶装置である。ＯＳ管理情報２２１は実施の形態１で説明したものと同じである。また、プログラム群２２２には、取得部１１０１、判定部１１０２、メッセージ出力部１１０３の機能を実現するプログラムと、状態値収集プログラム１３１及びテストプログラム１３３が含まれる。
【００５５】
記憶装置３３は、状態値収集プログラム１３１、期待値情報１３２、テストプログラム１３３が格納される不揮発性記憶装置である。期待値情報１３２は、実施の形態１で説明したものと同じである。
また、図示を省略しているが、記憶装置３３には、取得部１１０１、判定部１１０２、メッセージ出力部１１０３の機能を実現するプログラムも格納されている。
【００５６】
ディスプレイ３４は実施の形態１で説明したディスプレイ１４と同じである。
マウス３５は、実施の形態１で説明したマウス１５と同じである。
キーボード３６は、実施の形態１で説明したキーボード１６と同じである。
【００５７】
本実施の形態に係る情報処理装置３は、実施の形態１の情報処理装置１の機能と試験対象装置２の機能を含む。換言すると、情報処理装置３のうち、テストプログラム１３３を実行して試験を行う機能が実施の形態１の試験対象装置２に該当する。また、情報処理装置３のうち、状態値収集プログラム１３１により収集された状態値を取得し、取得した状態値を期待値と比較してテストプログラム１３３の実行結果の信頼性を評価する機能が実施の形態１の情報処理装置１に該当する。
【００５８】
＊＊＊動作の説明＊＊＊
次に、図１０及び図１１のフローチャートを参照して、情報処理装置３の動作例を説明する。
【００５９】
先ず、ステップＳ３１において、状態値収集プログラム１３１とテストプログラム１３３がプログラム群２２２としてメモリ３２に配置される。
【００６０】
次に、ステップＳ３２において、取得部１１０１が、状態値収集プログラム１３１を実行する。
【００６１】
次に、ステップＳ３３において、状態値収集プログラム１３１が、テストプログラム実行前の値を収集する。ステップＳ３３では、実施の形態１で説明したステップＳ２３と同じ処理が行われる。
【００６２】
次に、ステップＳ３４において、状態値収集プログラム１３１がテストプログラム１３３を実行する。
【００６３】
次に、ステップＳ３５において、テストプログラム１３３の実行が完了し、状態値収集プログラム１３１が、テストプログラム１３３の実行結果をメモリ３２に保存する。
【００６４】
次に、ステップＳ３６において、状態値収集プログラム１３１が、テストプログラム１３３実行中の状態値を収集する。ステップＳ３６では、実施の形態１で説明したステップＳ２６と同じ処理が行われる。また、状態値収集プログラム１３１は、収集した状態値をメモリ３２に保存する。
【００６５】
次に、ステップＳ３７において、取得部１１０１が、テストプログラム１３３の実行結果と状態値収集プログラム１３１により収集された状態値をメモリ３２から取得する。
【００６６】
次に、ステップＳ３８において、判定部１１０２が、期待値情報１３２から、テストプログラム１３３に対応する期待値を取得する。
【００６７】
次に、ステップＳ３９において、判定部１１０２が、ステップＳ３７で取得された状態値とＳ３８で取得された期待値を比較する。
【００６８】
状態値と期待値が一致する場合（Ｓ３１０でＹＥＳ）は、判定部１１０２は、テストプログラム１３３の実行結果が信頼できると判定し、メッセージ出力部１１０３に、肯定メッセージの出力を指示する。この結果、ステップＳ３１１において、メッセージ出力部１１０３が、テストプログラム１３３の実行結果と肯定メッセージをディスプレイ３４に出力する。
【００６９】
一方、状態値と期待値が一致しない場合（Ｓ３１０でＮＯ）は、判定部１１０２は、テストプログラム１３３の実行結果が信頼できないと判定し、メッセージ出力部１１０３に、警告メッセージの出力を指示する。この結果、ステップＳ３１２において、メッセージ出力部１１０３が、テストプログラム１３３の実行結果と警告メッセージをディスプレイ３４に出力する。
【００７０】
＊＊＊実施の形態の効果の説明＊＊＊
以上のように、本実施の形態によれば、情報処理装置３においてテストプログラム１３３を実行する場合でも、テストプログラム１３３の記述内容や処理内容に依存しない方法で、試験結果の信頼性を判定することができる。
また、本実施の形態によれば、情報処理装置３においてテストプログラム１３３を実行する場合でも、実施の形態１に示した効果を得ることができる。
【００７１】
以上、本発明の実施の形態について説明したが、これら２つの実施の形態を組み合わせて実施しても構わない。
あるいは、これら２つの実施の形態のうち、１つを部分的に実施しても構わない。
あるいは、これら２つの実施の形態を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【００７２】
また、情報処理装置１、試験対象装置２及び情報処理装置３のハードウェア構成例を図１、図２及び図９に示したが、情報処理装置１、試験対象装置２及び情報処理装置３を異なるハードウェア構成で実現してもよい。
例えば、情報処理装置１、試験対象装置２及び情報処理装置３を、ロジックＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＧＡ（Ｇａｔｅ  Ａｒｒａｙ）、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）といった電子回路を用いて実現してもよい。
この場合は、取得部１１０１、判定部１１０２及びメッセージ出力部１１０３は、それぞれ電子回路の一部として実現される。
なお、図１、図２、図９に示したＣＰＵ及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
【符号の説明】
【００７３】
１  情報処理装置、２  試験対象装置、３  情報処理装置、１１  ＣＰＵ、１２  メモリ、１３  記憶装置、１４  ディスプレイ、１５  マウス、１６  キーボード、１７  通信インタフェース、１８  ネットワーク、２１  ＣＰＵ、２２  メモリ、２３  記憶装置、２４  通信インタフェース、３１  ＣＰＵ、３２  メモリ、３３  記憶装置、３４  ディスプレイ、３５  マウス、３６  キーボード、３７  通信インタフェース、１３１  状態値収集プログラム、１３２  期待値情報、１３３  テストプログラム、２２１  ＯＳ管理情報、２２２  プログラム群、１１０１  取得部、１１０２  判定部、１１０３  メッセージ出力部。
【図１】
2017179208.tif 000003
【図２】
2017179208.tif 000004
【図３】
2017179208.tif 000005
【図４】
2017179208.tif 000006
【図５】
2017179208.tif 000007
【図６】
2017179208.tif 000008
【図７】
2017179208.tif 000009
【図８】
2017179208.tif 000010
【図９】
2017179208.tif 000011
【図１０】
2017179208.tif 000012
【図１１】
2017179208.tif 000013
【手続補正書】
【提出日】平成28年8月8日(2016.8.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
試験対象装置がテストプログラムを実行している間の前記試験対象装置の状態を表す値である状態値を前記試験対象装置において前記テストプログラムとともに実行されることにより収集する状態値収集プログラムと、前記テストプログラムとを前記試験対象装置に実行させ、前記状態値収集プログラムにより収集された前記状態値を取得する取得部と、
前記取得部により取得された前記状態値を、前記状態値の期待値と比較し、比較結果に基づき、前記試験対象装置での前記テストプログラムの実行結果が信頼できるか否かを判定する判定部とを有する情報処理装置。
【請求項２】
前記情報処理装置は、更に、
前記判定部により前記試験対象装置での前記テストプログラムの実行結果が信頼できないと判定された場合に警告メッセージを出力するメッセージ出力部とを有する請求項１に記載の情報処理装置。
【請求項３】
前記判定部は、
前記状態値と前記期待値との差が閾値以上である場合に、前記試験対象装置での前記テストプログラムの実行結果が信頼できないと判定する請求項１に記載の情報処理装置。
【請求項４】
前記メッセージ出力部は、
前記警告メッセージと、前記テストプログラムの実行結果とを出力する請求項２に記載の情報処理装置。
【請求項５】
前記取得部は、
前記試験対象装置での前記テストプログラムの実行に要した時間と、前記テストプログラム実行中の前記試験対象装置でのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）ティック数と、前記テストプログラム実行中の前記試験対象装置でのメモリ使用量と、前記テストプログラム実行中の前記試験対象装置でのメモリへのリード数及びライト数と、前記テストプログラム実行中の前記試験対象装置でのキャッシュミス率と、前記テストプログラム実行中に前記試験対象装置で動作していたプロセスのプロセスＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）とのうちの少なくともいずれかを、前記状態値として取得する請求項１に記載の情報処理装置。
【請求項６】
コンピュータが、試験対象装置がテストプログラムを実行している間の前記試験対象装置の状態を表す値である状態値を前記試験対象装置において前記テストプログラムとともに実行されることにより収集する状態値収集プログラムと、前記テストプログラムとを前記試験対象装置に実行させ、前記状態値収集プログラムにより収集された前記状態値を取得し、
前記コンピュータが、取得した前記状態値を、前記状態値の期待値と比較し、比較結果に基づき、前記試験対象装置での前記テストプログラムの実行結果が信頼できるか否かを判定する情報処理方法。
【請求項７】
試験対象装置がテストプログラムを実行している間の前記試験対象装置の状態を表す値である状態値を前記試験対象装置において前記テストプログラムとともに実行されることにより収集する状態値収集プログラムと、前記テストプログラムとを前記試験対象装置に実行させ、前記状態値収集プログラムにより収集された前記状態値を取得する取得処理と、
前記取得処理により取得された前記状態値を、前記状態値の期待値と比較し、比較結果に基づき、前記試験対象装置での前記テストプログラムの実行結果が信頼できるか否かを判定する判定処理とをコンピュータに実行させる情報処理プログラム。
【国際調査報告】
2017179208.tif 000014
2017179208.tif 000015