WO2017179208A1 - 情報処理装置、情報処理方法及び情報処理プログラム - Google Patents
情報処理装置、情報処理方法及び情報処理プログラム Download PDFInfo
- Publication number
- WO2017179208A1 WO2017179208A1 PCT/JP2016/062161 JP2016062161W WO2017179208A1 WO 2017179208 A1 WO2017179208 A1 WO 2017179208A1 JP 2016062161 W JP2016062161 W JP 2016062161W WO 2017179208 A1 WO2017179208 A1 WO 2017179208A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- test
- program
- state value
- information processing
- test program
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
取得部(1101)は、試験対象装置(2)がテストプログラム(133)を実行している間の試験対象装置(2)の状態を表す値である状態値を取得する。判定部(1102)は、取得部(1101)により取得された状態値を、状態値の期待値と比較し、比較結果に基づき、試験対象装置(2)でのテストプログラム(133)の実行結果が信頼できるか否かを判定する。
Description
本発明は、テストプログラムを用いて行われるテストに関する。
リグレッションテストなど、ソフトウェアプラットフォームに対する自動試験を実施する際に、試験者は試験の開始後、試験の途中経過を随時確認することは行わずに、試験の完了後に出力される試験結果のみを確認する場合がある。また、(1)過去機種において既に実績のあるテストプログラムを、改修せずにそのまま試験対象機種の試験に再利用する場合がある。また、(2)試験対象機種に合わせて改修したテストプログラムを用いて試験を行う場合がある。更に、(3)試験対象機種に合わせて改修した試験環境で、過去機種において既に実績のあるテストプログラムを再利用する場合がある。これらの場合において、試験対象機種に対応させた改修がテストプログラムに行われない(上記の(1))、改修時にテストプログラムまたは試験環境に不具合が混入する(上記の(2)、(3))、テストプログラムまたは試験環境に対する改修が不十分である(上記の(2)、(3))などの理由から、試験対象機種に対して試験を実行した時に、試験対象機種の不具合のためにFailが出力されるべき項目で、FailではなくPassが出力される場合があるという課題がある。
試験者が既存のテストプログラムおよび試験環境を再利用している場合は、試験者は、試験実行時に試験対象機種が過去機種と同様の動作をすると想定している。しかしながら、テストプログラムまたは試験環境の不具合により、試験対象機種が過去機種と異なる動作をする場合には、上記のように、Failが出力されるべき項目でPassが出力される。
特許文献1では、この課題を解決するための技術が開示されている。特許文献1の技術では、試験機種に対して過去機種と同じテストプログラムが実行された場合に、試験対象機種上のプログラムの実行経路と実行経路に対する返値と、過去機種上のプログラムの実行経路と実行経路に対する返値の差分が確認される。そして、特許文献1の技術では、誤判定の疑いがある試験結果の場合は「要確認」であることが試験者に通知される
また、特許文献2の技術でも、試験対象機種に対して過去機種と同じテストプログラムが実行される。そして、特許文献2の技術では、試験対象機種の試験結果と過去機種の試験結果に差がある場合に、試験結果の差が試験対象機種の不具合による差であるのか、試験対象機種と過去機種との機能の違いによる差であるのかが判定される。
特許文献1では、この課題を解決するための技術が開示されている。特許文献1の技術では、試験機種に対して過去機種と同じテストプログラムが実行された場合に、試験対象機種上のプログラムの実行経路と実行経路に対する返値と、過去機種上のプログラムの実行経路と実行経路に対する返値の差分が確認される。そして、特許文献1の技術では、誤判定の疑いがある試験結果の場合は「要確認」であることが試験者に通知される
また、特許文献2の技術でも、試験対象機種に対して過去機種と同じテストプログラムが実行される。そして、特許文献2の技術では、試験対象機種の試験結果と過去機種の試験結果に差がある場合に、試験結果の差が試験対象機種の不具合による差であるのか、試験対象機種と過去機種との機能の違いによる差であるのかが判定される。
特許文献1に開示の判定方法及び特許文献2に開示の判定方法は、テストプログラムの記述内容に依存する。このため、特許文献1に開示の判定方法及び特許文献2に開示の判定方法では、試験結果の信頼性を正しく判定するためには、試験に用いられるテストプログラムの記述内容に対応させて個別の調整を行わなければならないという課題がある。
本発明は、このような課題を解決することを主な目的とする。すなわち、本発明は、テストプログラムの記述内容に依存せずに、試験結果の信頼性を判定できるようにすることを主な目的とする。
本発明に係る情報処理装置は、
試験対象装置がテストプログラムを実行している間の前記試験対象装置の状態を表す値である状態値を取得する取得部と、
前記取得部により取得された前記状態値を、前記状態値の期待値と比較し、比較結果に基づき、前記試験対象装置での前記テストプログラムの実行結果が信頼できるか否かを判定する判定部とを有する。
試験対象装置がテストプログラムを実行している間の前記試験対象装置の状態を表す値である状態値を取得する取得部と、
前記取得部により取得された前記状態値を、前記状態値の期待値と比較し、比較結果に基づき、前記試験対象装置での前記テストプログラムの実行結果が信頼できるか否かを判定する判定部とを有する。
本発明では、試験対象装置がテストプログラムを実行している間の試験対象装置の状態を表す値である状態値を期待値と比較して、試験対象装置でのテストプログラムの実行結果が信頼できるか否かを判定する。このため、本発明によれば、テストプログラムの記述内容に依存せずに、試験結果の信頼性を判定することができる。
実施の形態1.
***構成の説明***
図1は、本実施の形態に係る情報処理装置1の構成例を示す。
図2は、本実施の形態に係る試験対象装置2の構成例を示す。
図3は、情報処理装置1と試験対象装置2の関係を示す。
図3に示すように、情報処理装置1と試験対象装置2はネットワーク18を介して接続されている。ネットワーク18は、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット等である。
***構成の説明***
図1は、本実施の形態に係る情報処理装置1の構成例を示す。
図2は、本実施の形態に係る試験対象装置2の構成例を示す。
図3は、情報処理装置1と試験対象装置2の関係を示す。
図3に示すように、情報処理装置1と試験対象装置2はネットワーク18を介して接続されている。ネットワーク18は、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット等である。
図1に示す情報処理装置1の構成及び図2に示す試験対象装置2の構成を説明する前に、情報処理装置1及び試験対象装置2の概要を説明する。
情報処理装置1は、試験対象装置2にテストプログラム133と状態値収集プログラム131をネットワーク18を介して送信する。試験対象装置2は、テストプログラム133と状態値収集プログラム131を受信する。
試験対象装置2では、テストプログラム133と状態値収集プログラム131が実行される。状態値収集プログラム131は、テストプログラム133が実行されている間の試験対象装置2の状態を表す値である状態値を収集する。
テストプログラム133の実行が完了すると、情報処理装置1は、試験対象装置2からテストプログラム133の実行結果と状態値収集プログラム131により収集された状態値を受信する。
情報処理装置1は、状態値収集プログラム131により収集された状態値と、状態値の期待値と比較し、比較結果に基づき、試験対象装置2でのテストプログラム133の実行結果が信頼できるか否かを判定する。また、情報処理装置1は、試験対象装置2でのテストプログラム133の実行結果が信頼できないと判定した場合に警告メッセージを出力する。
なお、情報処理装置1により行われる処理は、情報処理方法に相当する。
試験対象装置2では、テストプログラム133と状態値収集プログラム131が実行される。状態値収集プログラム131は、テストプログラム133が実行されている間の試験対象装置2の状態を表す値である状態値を収集する。
テストプログラム133の実行が完了すると、情報処理装置1は、試験対象装置2からテストプログラム133の実行結果と状態値収集プログラム131により収集された状態値を受信する。
情報処理装置1は、状態値収集プログラム131により収集された状態値と、状態値の期待値と比較し、比較結果に基づき、試験対象装置2でのテストプログラム133の実行結果が信頼できるか否かを判定する。また、情報処理装置1は、試験対象装置2でのテストプログラム133の実行結果が信頼できないと判定した場合に警告メッセージを出力する。
なお、情報処理装置1により行われる処理は、情報処理方法に相当する。
次に、図1に示す情報処理装置1の構成を説明する。
情報処理装置1は、ハードウェアとして、CPU(Central Processing Unit)11、メモリ12、記憶装置13、ディスプレイ14、マウス15、キーボード16、通信インタフェース17を備える。
情報処理装置1は、コンピュータである。
情報処理装置1は、ハードウェアとして、CPU(Central Processing Unit)11、メモリ12、記憶装置13、ディスプレイ14、マウス15、キーボード16、通信インタフェース17を備える。
情報処理装置1は、コンピュータである。
CPU11は、プログラムを実行するプロセッサである。具体的には、CPU11は、プログラムを実行することにより取得部1101、判定部1102、メッセージ出力部1103の機能を実現する。取得部1101、判定部1102、メッセージ出力部1103の詳細は後述する。
取得部1101、判定部1102、メッセージ出力部1103の機能を実現するプログラムは、記憶装置13に記憶されている。そして、取得部1101、判定部1102、メッセージ出力部1103の機能を実現するプログラムはメモリ12にロードされてCPU11で実行される。
図1では、CPU11が取得部1101、判定部1102、メッセージ出力部1103の機能を実現するプログラムを実行している状態を模式的に示している。取得部1101、判定部1102、メッセージ出力部1103の機能を実現するプログラムは、情報処理プログラムに相当する。
取得部1101、判定部1102、メッセージ出力部1103の機能を実現するプログラムは、記憶装置13に記憶されている。そして、取得部1101、判定部1102、メッセージ出力部1103の機能を実現するプログラムはメモリ12にロードされてCPU11で実行される。
図1では、CPU11が取得部1101、判定部1102、メッセージ出力部1103の機能を実現するプログラムを実行している状態を模式的に示している。取得部1101、判定部1102、メッセージ出力部1103の機能を実現するプログラムは、情報処理プログラムに相当する。
メモリ12は、CPU11上で実行中のプログラムやスタック、変数等が格納される揮発性記憶装置である。メモリ12は、具体的には、RAM(Random Access Memory)である。
記憶装置13は、状態値収集プログラム131、期待値情報132、テストプログラム133が格納される不揮発性記憶装置である。期待値情報132は、状態値ごとに期待値が記述されたテーブルである。
また、図示を省略しているが、前述したように、記憶装置13には、取得部1101、判定部1102、メッセージ出力部1103の機能を実現するプログラムも格納されている。記憶装置13は、具体的には、HDD(Hard Disk Drive)、SSD(Solid State Drive)である。
また、図示を省略しているが、前述したように、記憶装置13には、取得部1101、判定部1102、メッセージ出力部1103の機能を実現するプログラムも格納されている。記憶装置13は、具体的には、HDD(Hard Disk Drive)、SSD(Solid State Drive)である。
ディスプレイ14は、文書、画像、機能情報などのデータを表示する。ディスプレイ14が表示するデータには、カーソル、アイコン、ツールボックスが含まれる。
マウス15は、カーソルの移動や選択範囲、ウインドウの移動やサイズ変更などに用いられる。
キーボード16は、文字、数字、各種指示などの入力のキーを備え、データ入力に用いられる。
通信インタフェース17は、ネットワーク18を介して試験対象装置2と通信を行う。
次に、取得部1101、判定部1102、メッセージ出力部1103を説明する。
前述のように、取得部1101、判定部1102、メッセージ出力部1103は、CPU11がプログラムを実行することで実現される。厳密には、以下に示す取得部1101、判定部1102、メッセージ出力部1103の機能は、CPU11がプログラムを実行することで達成されるが、理解を容易にするために、以下では、取得部1101、判定部1102、メッセージ出力部1103が動作することで、取得部1101、判定部1102、メッセージ出力部1103の機能が達成されるものとして説明を行う。
前述のように、取得部1101、判定部1102、メッセージ出力部1103は、CPU11がプログラムを実行することで実現される。厳密には、以下に示す取得部1101、判定部1102、メッセージ出力部1103の機能は、CPU11がプログラムを実行することで達成されるが、理解を容易にするために、以下では、取得部1101、判定部1102、メッセージ出力部1103が動作することで、取得部1101、判定部1102、メッセージ出力部1103の機能が達成されるものとして説明を行う。
取得部1101は、状態値収集プログラム131とテストプログラム133を通信インタフェース17を介して試験対象装置2に送信し、試験対象装置2に状態値収集プログラム131とテストプログラム133を実行させる。また、取得部1101は、状態値収集プログラム131により収集された状態値を取得する。状態値収集プログラム131は、前述したように、試験対象装置2においてテストプログラム133とともに実行されることにより状態値を収集するプログラムである。
また、取得部1101は、状態値収集プログラム131により収集された状態値を通信インタフェース17を介して受信する。
取得部1101は、例えば、試験対象装置2でのテストプログラム133の実行に要した時間を状態値として取得する。
また、取得部1101は、テストプログラム133実行中の試験対象装置2でのCPUティック数を状態値として取得してもよい。
また、取得部1101は、テストプログラム133実行中の試験対象装置2でのメモリ使用量を状態値として取得してもよい。
また、取得部1101は、テストプログラム133実行中の試験対象装置2でのメモリへのリード数及びライト数を状態値として取得してもよい。
また、取得部1101は、テストプログラム133実行中の試験対象装置2でのキャッシュミス率を状態値として取得してもよい。
また、取得部1101は、テストプログラム133実行中に試験対象装置2で動作していたプロセスのプロセスID(Identifier)を状態値として取得してもよい。
取得部1101の処理は、取得処理に相当する。
また、取得部1101は、状態値収集プログラム131により収集された状態値を通信インタフェース17を介して受信する。
取得部1101は、例えば、試験対象装置2でのテストプログラム133の実行に要した時間を状態値として取得する。
また、取得部1101は、テストプログラム133実行中の試験対象装置2でのCPUティック数を状態値として取得してもよい。
また、取得部1101は、テストプログラム133実行中の試験対象装置2でのメモリ使用量を状態値として取得してもよい。
また、取得部1101は、テストプログラム133実行中の試験対象装置2でのメモリへのリード数及びライト数を状態値として取得してもよい。
また、取得部1101は、テストプログラム133実行中の試験対象装置2でのキャッシュミス率を状態値として取得してもよい。
また、取得部1101は、テストプログラム133実行中に試験対象装置2で動作していたプロセスのプロセスID(Identifier)を状態値として取得してもよい。
取得部1101の処理は、取得処理に相当する。
判定部1102は、取得部1101により取得された状態値を、状態値の期待値と比較し、比較結果に基づき、試験対象装置2でのテストプログラム133の実行結果が信頼できるか否かを判定する。
より具体的には、判定部1102は、状態値と期待値との差が閾値以上である場合に、試験対象装置2でのテストプログラム133の実行結果が信頼できないと判定する。
判定部1102の処理は、判定処理に相当する。
より具体的には、判定部1102は、状態値と期待値との差が閾値以上である場合に、試験対象装置2でのテストプログラム133の実行結果が信頼できないと判定する。
判定部1102の処理は、判定処理に相当する。
メッセージ出力部1103は、判定部1102により試験対象装置2でのテストプログラム133の実行結果が信頼できないと判定された場合に警告メッセージを出力する。
一方、メッセージ出力部1103は、判定部1102により試験対象装置2でのテストプログラム133の実行結果が信頼できると判定された場合に肯定メッセージを出力する。
一方、メッセージ出力部1103は、判定部1102により試験対象装置2でのテストプログラム133の実行結果が信頼できると判定された場合に肯定メッセージを出力する。
次に、図2に示す試験対象装置2の構成を説明する。
試験対象装置2は、ハードウェアとして、CPU21、メモリ22、記憶装置23、通信インタフェース24を備える。
試験対象装置2は、コンピュータである。
試験対象装置2は、ハードウェアとして、CPU21、メモリ22、記憶装置23、通信インタフェース24を備える。
試験対象装置2は、コンピュータである。
CPU21は、プログラムを実行するプロセッサである。具体的には、CPU21は、状態値収集プログラム131及びテストプログラム133を実行する。
メモリ22は、CPU21上で実行中のプログラムやスタック、変数等に加えて、OS管理情報221とプログラム群222が格納される揮発性記憶装置である。メモリ22は、具体的には、RAMである。
OS管理情報221は、OS(Operating System)が管理する情報である。
OS管理情報221は、OS(Operating System)が管理する情報である。
記憶装置23は、HDDやSSD等の不揮発性記憶装置である。
通信インタフェース24は、ネットワーク18を介して情報処理装置1と通信を行う。
図4は、状態値収集プログラム131が収集する状態値の例を示す。
図4に示すように、本実施の形態では、状態値収集プログラム131は、テストプログラム133の実行に要したテスト時間を収集する。また、状態値収集プログラム131は、テストプログラム133実行中のCPUティック数を収集する。また、状態値収集プログラム131は、テストプログラム133実行中の試験対象装置2でのメモリ使用量を収集する。また、状態値収集プログラム131は、テストプログラム133実行中の試験対象装置2でのメモリ22へのリード数及びライト数を収集する。また、状態値収集プログラム131は、テストプログラム133実行中の試験対象装置2でのキャッシュミス率を収集する。また、状態値収集プログラム131は、テストプログラム133実行中に動作するプロセスのプロセスIDを収集する。
状態値収集プログラム131は、試験対象装置2のOSが管理する値であれば、図4に示す状態値以外の値も収集可能である。
図4に示すように、本実施の形態では、状態値収集プログラム131は、テストプログラム133の実行に要したテスト時間を収集する。また、状態値収集プログラム131は、テストプログラム133実行中のCPUティック数を収集する。また、状態値収集プログラム131は、テストプログラム133実行中の試験対象装置2でのメモリ使用量を収集する。また、状態値収集プログラム131は、テストプログラム133実行中の試験対象装置2でのメモリ22へのリード数及びライト数を収集する。また、状態値収集プログラム131は、テストプログラム133実行中の試験対象装置2でのキャッシュミス率を収集する。また、状態値収集プログラム131は、テストプログラム133実行中に動作するプロセスのプロセスIDを収集する。
状態値収集プログラム131は、試験対象装置2のOSが管理する値であれば、図4に示す状態値以外の値も収集可能である。
図5は、状態値収集プログラム131が行う処理の例を示す。つまり、状態値収集プログラム131には、図5に示す処理に対応するコードが記述されている。
処理51は、テストプログラム133の実行を開始する処理である。
処理52は、テストプログラム133の実行中の状態値を収集する処理である。
処理53は、テストプログラム133の実行結果を試験対象装置2のメモリ22に保存する処理である。
処理54は、テストプログラム133の実行結果及び収集した状態値を情報処理装置1に送信する処理である。
状態値収集プログラム131は、処理51により、テストプログラムの種類(記述内容)と名前に依存せず、引数で渡されたテストプログラムの実行を開始する。状態値収集プログラム131は、図4に示すテスト時間を収集する場合は、処理52により、テストプログラムの開始時刻とテストプログラム133の終了時刻を収集する。そして、状態値収集プログラム131は、処理52により、テストプログラム開始時刻とテスト終了時刻との差を求め、テスト時間を得る。図4に示すCPUティック数についても同様に、状態値収集プログラム131は、処理52により、テストプログラム133の開始時のCPUティック数とテストプログラム133の終了時のCPUティック数を収集する。そして、状態値収集プログラム131は、処理52により、テストプログラム開始時のCPUティック数とテストプログラム終了時のCPUティック数との差を求め、テストプログラム133実行中のCPUティック数を得る。また、図4に示すメモリ使用量、メモリへのリード/ライト数、キャッシュミス率、動作するプロセスIDを収集する場合は、状態値収集プログラム131は、処理52により、OSに標準で備わっている測定機能がテストプログラム133の実行中に測定した状態値を、テストプログラム133の実行後にOSから収集する。
処理52は、テストプログラム133の実行中の状態値を収集する処理である。
処理53は、テストプログラム133の実行結果を試験対象装置2のメモリ22に保存する処理である。
処理54は、テストプログラム133の実行結果及び収集した状態値を情報処理装置1に送信する処理である。
状態値収集プログラム131は、処理51により、テストプログラムの種類(記述内容)と名前に依存せず、引数で渡されたテストプログラムの実行を開始する。状態値収集プログラム131は、図4に示すテスト時間を収集する場合は、処理52により、テストプログラムの開始時刻とテストプログラム133の終了時刻を収集する。そして、状態値収集プログラム131は、処理52により、テストプログラム開始時刻とテスト終了時刻との差を求め、テスト時間を得る。図4に示すCPUティック数についても同様に、状態値収集プログラム131は、処理52により、テストプログラム133の開始時のCPUティック数とテストプログラム133の終了時のCPUティック数を収集する。そして、状態値収集プログラム131は、処理52により、テストプログラム開始時のCPUティック数とテストプログラム終了時のCPUティック数との差を求め、テストプログラム133実行中のCPUティック数を得る。また、図4に示すメモリ使用量、メモリへのリード/ライト数、キャッシュミス率、動作するプロセスIDを収集する場合は、状態値収集プログラム131は、処理52により、OSに標準で備わっている測定機能がテストプログラム133の実行中に測定した状態値を、テストプログラム133の実行後にOSから収集する。
図6は、期待値情報132の例を示す。
図6に示すように、期待値情報132では、テストプログラムごとに、図4の各状態値の期待値が定義されている。期待値は、例えば、過去にテストプログラムを実行した際に得られた状態値の平均値である。
図6に示すように、期待値情報132では、テストプログラムごとに、図4の各状態値の期待値が定義されている。期待値は、例えば、過去にテストプログラムを実行した際に得られた状態値の平均値である。
***動作の説明***
次に動作について、本実施の形態に係る情報処理装置1及び試験対象装置2の動作例を説明する。
最初に、図7のフローチャートを参照して、情報処理装置1の動作例を説明する。
次に動作について、本実施の形態に係る情報処理装置1及び試験対象装置2の動作例を説明する。
最初に、図7のフローチャートを参照して、情報処理装置1の動作例を説明する。
先ず、ステップS11において、取得部1101が、状態値収集プログラム131とテストプログラム133を通信インタフェース17を介して試験対象装置2に送信する。状態値収集プログラム131とテストプログラム133は、試験対象装置2のメモリ22上にプログラム群222として格納される。
次に、ステップS12において、取得部1101は、試験対象装置2のメモリ22のプログラム群222に含まれる状態値収集プログラム131を実行する。具体的には、取得部1101は、通信インタフェース17を介して状態値収集プログラム131に実行開始指示を送信する。また、状態値収集プログラム131が実行を開始すると、状態値収集プログラム131は図5に示す処理51によりテストプログラム133を起動する。また、状態値収集プログラム131は、処理52によりテストプログラム実行中の状態値を収集する。
次に、ステップS13において、取得部1101が、試験対象装置2からテストプログラム133の実行結果と状態値収集プログラム131により収集された状態値を通信インタフェース17を介して取得する。
次に、ステップS14において、判定部1102が、期待値情報132から、試験対象装置2に送信したテストプログラム133に対応する期待値を取得する。
次に、ステップS15において、判定部1102が、ステップS13で取得された状態値とS14で取得された期待値を比較する。
状態値と期待値が一致する場合(S16でYES)は、判定部1102は、テストプログラム133の実行結果が信頼できると判定し、メッセージ出力部1103に、テストプログラム133の実行結果が信頼できる旨の肯定メッセージの出力を指示する。
この結果、ステップS17において、メッセージ出力部1103が、テストプログラム133の実行結果と肯定メッセージをディスプレイ14に出力する。
なお、判定部1102は、図5の状態値のうち既定の割合以上(例えば、8割以上)の状態値が期待値と一致していれば、ステップS16をYESと判定する。また、各状態値が対応する期待値に完全に一致しなくても、規定の誤差範囲で一致していれば、各状態値が対応する期待値に一致していると判定する。つまり、判定部1102は、各状態値と対応する期待値との差が閾値未満であれば、各状態値と対応する期待値が一致していると判定する。一方、各状態値と対応する期待値との差が閾値以上であれば、判定部1102は、各状態値と対応する期待値が一致していないと判定する。
この結果、ステップS17において、メッセージ出力部1103が、テストプログラム133の実行結果と肯定メッセージをディスプレイ14に出力する。
なお、判定部1102は、図5の状態値のうち既定の割合以上(例えば、8割以上)の状態値が期待値と一致していれば、ステップS16をYESと判定する。また、各状態値が対応する期待値に完全に一致しなくても、規定の誤差範囲で一致していれば、各状態値が対応する期待値に一致していると判定する。つまり、判定部1102は、各状態値と対応する期待値との差が閾値未満であれば、各状態値と対応する期待値が一致していると判定する。一方、各状態値と対応する期待値との差が閾値以上であれば、判定部1102は、各状態値と対応する期待値が一致していないと判定する。
状態値と期待値が一致しない場合(S16でNO)は、判定部1102は、テストプログラム133の実行結果が信頼できないと判定し、メッセージ出力部1103に、テストプログラム133の実行結果が信頼できない旨の警告メッセージの出力を指示する。
この結果、ステップS18において、メッセージ出力部1103が、テストプログラム133の実行結果と警告メッセージをディスプレイ14に出力する。
この結果、ステップS18において、メッセージ出力部1103が、テストプログラム133の実行結果と警告メッセージをディスプレイ14に出力する。
次に、図8のフローチャートを参照して、試験対象装置2の動作例を説明する。
試験対象装置2は、ステップS21において、図7のステップS11において情報処理装置1から送信された状態値収集プログラム131とテストプログラム133を、通信インタフェース24を介して受信する。
そして、試験対象装置2は、受信した状態値収集プログラム131とテストプログラム133をプログラム群222としてメモリ22に格納する。
そして、試験対象装置2は、受信した状態値収集プログラム131とテストプログラム133をプログラム群222としてメモリ22に格納する。
次に、ステップS22において、図7のステップのS12の実行開始指示により状態値収集プログラム131の実行が開始する。
次に、ステップS23において、状態値収集プログラム131が、テストプログラム実行前の値を収集する。
具体的には、状態値収集プログラム131は、テストプログラム開始時刻を収集する。また、状態値収集プログラム131は、テストプログラム開始前のCPUティック数を収集する。状態値収集プログラム131は、収集した値をメモリ22に保存する。
具体的には、状態値収集プログラム131は、テストプログラム開始時刻を収集する。また、状態値収集プログラム131は、テストプログラム開始前のCPUティック数を収集する。状態値収集プログラム131は、収集した値をメモリ22に保存する。
次に、ステップS24において、状態値収集プログラム131がテストプログラム133を実行する。
次に、ステップS25において、テストプログラム133の実行が完了し、状態値収集プログラム131が、テストプログラム133の実行結果をメモリ22に保存する。
次に、ステップS26において、状態値収集プログラム131が、テストプログラム133実行中の状態値を収集する。
例えば、図4のテスト時間では、ステップS25の際に状態値収集プログラム131がテストプログラム133の終了時刻を収集しておく。そして、状態値収集プログラム131は、ステップS23で収集されたテストプログラム開始時刻とプログラム終了時刻との差を求め、テスト時間を得る。図4に示すCPUティック数についても同様に、状態値収集プログラム131は、ステップS25の際にテストプログラム133の終了時のCPUティック数を収集しておく。そして、状態値収集プログラム131は、テストプログラム開始時のCPUティック数とテスト終了時のCPUティック数との差を求め、テストプログラム実行中のCPUティック数を得る。また、図4に示すメモリ使用量、メモリへのリード/ライト数、キャッシュミス率、動作するプロセスIDを収集する場合は、状態値収集プログラム131は、OSの測定機能がテストプログラム133の実行中に測定した状態値を、OS管理情報221から収集する。
例えば、図4のテスト時間では、ステップS25の際に状態値収集プログラム131がテストプログラム133の終了時刻を収集しておく。そして、状態値収集プログラム131は、ステップS23で収集されたテストプログラム開始時刻とプログラム終了時刻との差を求め、テスト時間を得る。図4に示すCPUティック数についても同様に、状態値収集プログラム131は、ステップS25の際にテストプログラム133の終了時のCPUティック数を収集しておく。そして、状態値収集プログラム131は、テストプログラム開始時のCPUティック数とテスト終了時のCPUティック数との差を求め、テストプログラム実行中のCPUティック数を得る。また、図4に示すメモリ使用量、メモリへのリード/ライト数、キャッシュミス率、動作するプロセスIDを収集する場合は、状態値収集プログラム131は、OSの測定機能がテストプログラム133の実行中に測定した状態値を、OS管理情報221から収集する。
次に、ステップS27において、状態値収集プログラム131が、S25で取得したテストプログラムの実行結果とS26で収集した状態値を通信インタフェース24を介して情報処理装置1に送信する。
***実施の形態の効果の説明***
以上のように、本実施の形態では、取得部1101が状態値を取得し、判定部1102が、状態値を期待値と比較し、比較結果に基づき、試験対象装置2でのテストプログラム133の実行結果が信頼できるか否かを判定する。このため、本実施の形態によれば、テストプログラム133の記述内容や処理内容に依存しない方法で、試験結果の信頼性を判定することができる。そして、試験結果が信頼できない場合には、メッセージ出力部1103が警告メッセージを出力することで、試験者に、テストプログラム133の実行結果の精査を促すことが出来る。この結果、試験者が、自動試験中に見逃してしまう本来FailになるべきにもかかわらずPassとなる項目を抽出することができる。
また、テストプログラム133の実行結果において本来FailになるべきにもかかわらずPassとなる項目が発生する原因として、過去機種から再利用しているテストプログラム133に不具合が混入していること、または改修が不十分であることが考えられる。本実施の形態によれば、試験者にテストプログラム133の実行結果の精査を促すことにより、試験者がテストプログラム133の不具合を検出することができる。
以上のように、本実施の形態では、取得部1101が状態値を取得し、判定部1102が、状態値を期待値と比較し、比較結果に基づき、試験対象装置2でのテストプログラム133の実行結果が信頼できるか否かを判定する。このため、本実施の形態によれば、テストプログラム133の記述内容や処理内容に依存しない方法で、試験結果の信頼性を判定することができる。そして、試験結果が信頼できない場合には、メッセージ出力部1103が警告メッセージを出力することで、試験者に、テストプログラム133の実行結果の精査を促すことが出来る。この結果、試験者が、自動試験中に見逃してしまう本来FailになるべきにもかかわらずPassとなる項目を抽出することができる。
また、テストプログラム133の実行結果において本来FailになるべきにもかかわらずPassとなる項目が発生する原因として、過去機種から再利用しているテストプログラム133に不具合が混入していること、または改修が不十分であることが考えられる。本実施の形態によれば、試験者にテストプログラム133の実行結果の精査を促すことにより、試験者がテストプログラム133の不具合を検出することができる。
実施の形態2.
実施の形態1では、情報処理装置1と試験対象装置2が異なるコンピュータであった。本実施の形態では、情報処理装置1と試験対象装置2が同じコンピュータ内に構成されている例を説明する。
以下では、主に実施の形態1との差異を説明する。以下で説明していない事項は、実施の形態1と同じである。
実施の形態1では、情報処理装置1と試験対象装置2が異なるコンピュータであった。本実施の形態では、情報処理装置1と試験対象装置2が同じコンピュータ内に構成されている例を説明する。
以下では、主に実施の形態1との差異を説明する。以下で説明していない事項は、実施の形態1と同じである。
***構成の説明***
図9は、本実施の形態に係る情報処理装置3の構成例を示す。
情報処理装置3は、ハードウェアとして、CPU31、メモリ32、記憶装置33、ディスプレイ34、マウス35、キーボード36を備える。
情報処理装置3は、コンピュータである。
図9は、本実施の形態に係る情報処理装置3の構成例を示す。
情報処理装置3は、ハードウェアとして、CPU31、メモリ32、記憶装置33、ディスプレイ34、マウス35、キーボード36を備える。
情報処理装置3は、コンピュータである。
CPU31は、プログラムを実行するプロセッサである。具体的には、CPU31は、プログラムを実行することにより取得部1101、判定部1102、メッセージ出力部1103の機能を実現する。取得部1101、判定部1102、メッセージ出力部1103は、実施の形態1で説明したものと同様である。また、CPU31は、状態値取集プログラム131及びテストプログラム133を実行する。状態値収集プログラム131及びテストプログラム133は、実施の形態1で説明したものと同じである。
メモリ32はCPU31上で実行中のプログラムやスタック、変数等に加えて、OS管理情報221とプログラム群222が格納される揮発性記憶装置である。OS管理情報221は実施の形態1で説明したものと同じである。また、プログラム群222には、取得部1101、判定部1102、メッセージ出力部1103の機能を実現するプログラムと、状態値収集プログラム131及びテストプログラム133が含まれる。
記憶装置33は、状態値収集プログラム131、期待値情報132、テストプログラム133が格納される不揮発性記憶装置である。期待値情報132は、実施の形態1で説明したものと同じである。
また、図示を省略しているが、記憶装置33には、取得部1101、判定部1102、メッセージ出力部1103の機能を実現するプログラムも格納されている。
また、図示を省略しているが、記憶装置33には、取得部1101、判定部1102、メッセージ出力部1103の機能を実現するプログラムも格納されている。
ディスプレイ34は実施の形態1で説明したディスプレイ14と同じである。
マウス35は、実施の形態1で説明したマウス15と同じである。
キーボード36は、実施の形態1で説明したキーボード16と同じである。
マウス35は、実施の形態1で説明したマウス15と同じである。
キーボード36は、実施の形態1で説明したキーボード16と同じである。
本実施の形態に係る情報処理装置3は、実施の形態1の情報処理装置1の機能と試験対象装置2の機能を含む。換言すると、情報処理装置3のうち、テストプログラム133を実行して試験を行う機能が実施の形態1の試験対象装置2に該当する。また、情報処理装置3のうち、状態値収集プログラム131により収集された状態値を取得し、取得した状態値を期待値と比較してテストプログラム133の実行結果の信頼性を評価する機能が実施の形態1の情報処理装置1に該当する。
***動作の説明***
次に、図10及び図11のフローチャートを参照して、情報処理装置3の動作例を説明する。
次に、図10及び図11のフローチャートを参照して、情報処理装置3の動作例を説明する。
先ず、ステップS31において、状態値収集プログラム131とテストプログラム133がプログラム群222としてメモリ32に配置される。
次に、ステップS32において、取得部1101が、状態値収集プログラム131を実行する。
次に、ステップS33において、状態値収集プログラム131が、テストプログラム実行前の値を収集する。ステップS33では、実施の形態1で説明したステップS23と同じ処理が行われる。
次に、ステップS34において、状態値収集プログラム131がテストプログラム133を実行する。
次に、ステップS35において、テストプログラム133の実行が完了し、状態値収集プログラム131が、テストプログラム133の実行結果をメモリ32に保存する。
次に、ステップS36において、状態値収集プログラム131が、テストプログラム133実行中の状態値を収集する。ステップS36では、実施の形態1で説明したステップS26と同じ処理が行われる。また、状態値収集プログラム131は、収集した状態値をメモリ32に保存する。
次に、ステップS37において、取得部1101が、テストプログラム133の実行結果と状態値収集プログラム131により収集された状態値をメモリ32から取得する。
次に、ステップS38において、判定部1102が、期待値情報132から、テストプログラム133に対応する期待値を取得する。
次に、ステップS39において、判定部1102が、ステップS37で取得された状態値とS38で取得された期待値を比較する。
状態値と期待値が一致する場合(S310でYES)は、判定部1102は、テストプログラム133の実行結果が信頼できると判定し、メッセージ出力部1103に、肯定メッセージの出力を指示する。この結果、ステップS311において、メッセージ出力部1103が、テストプログラム133の実行結果と肯定メッセージをディスプレイ34に出力する。
一方、状態値と期待値が一致しない場合(S310でNO)は、判定部1102は、テストプログラム133の実行結果が信頼できないと判定し、メッセージ出力部1103に、警告メッセージの出力を指示する。この結果、ステップS312において、メッセージ出力部1103が、テストプログラム133の実行結果と警告メッセージをディスプレイ34に出力する。
***実施の形態の効果の説明***
以上のように、本実施の形態によれば、情報処理装置3においてテストプログラム133を実行する場合でも、テストプログラム133の記述内容や処理内容に依存しない方法で、試験結果の信頼性を判定することができる。
また、本実施の形態によれば、情報処理装置3においてテストプログラム133を実行する場合でも、実施の形態1に示した効果を得ることができる。
以上のように、本実施の形態によれば、情報処理装置3においてテストプログラム133を実行する場合でも、テストプログラム133の記述内容や処理内容に依存しない方法で、試験結果の信頼性を判定することができる。
また、本実施の形態によれば、情報処理装置3においてテストプログラム133を実行する場合でも、実施の形態1に示した効果を得ることができる。
以上、本発明の実施の形態について説明したが、これら2つの実施の形態を組み合わせて実施しても構わない。
あるいは、これら2つの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これら2つの実施の形態を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
あるいは、これら2つの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これら2つの実施の形態を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
また、情報処理装置1、試験対象装置2及び情報処理装置3のハードウェア構成例を図1、図2及び図9に示したが、情報処理装置1、試験対象装置2及び情報処理装置3を異なるハードウェア構成で実現してもよい。
例えば、情報処理装置1、試験対象装置2及び情報処理装置3を、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)といった電子回路を用いて実現してもよい。
この場合は、取得部1101、判定部1102及びメッセージ出力部1103は、それぞれ電子回路の一部として実現される。
なお、図1、図2、図9に示したCPU及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
例えば、情報処理装置1、試験対象装置2及び情報処理装置3を、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)といった電子回路を用いて実現してもよい。
この場合は、取得部1101、判定部1102及びメッセージ出力部1103は、それぞれ電子回路の一部として実現される。
なお、図1、図2、図9に示したCPU及び上記の電子回路を総称してプロセッシングサーキットリーともいう。
1 情報処理装置、2 試験対象装置、3 情報処理装置、11 CPU、12 メモリ、13 記憶装置、14 ディスプレイ、15 マウス、16 キーボード、17 通信インタフェース、18 ネットワーク、21 CPU、22 メモリ、23 記憶装置、24 通信インタフェース、31 CPU、32 メモリ、33 記憶装置、34 ディスプレイ、35 マウス、36 キーボード、37 通信インタフェース、131 状態値収集プログラム、132 期待値情報、133 テストプログラム、221 OS管理情報、222 プログラム群、1101 取得部、1102 判定部、1103 メッセージ出力部。
Claims (8)
- 試験対象装置がテストプログラムを実行している間の前記試験対象装置の状態を表す値である状態値を取得する取得部と、
前記取得部により取得された前記状態値を、前記状態値の期待値と比較し、比較結果に基づき、前記試験対象装置での前記テストプログラムの実行結果が信頼できるか否かを判定する判定部とを有する情報処理装置。 - 前記情報処理装置は、更に、
前記判定部により前記試験対象装置での前記テストプログラムの実行結果が信頼できないと判定された場合に警告メッセージを出力するメッセージ出力部とを有する請求項1に記載の情報処理装置。 - 前記判定部は、
前記状態値と前記期待値との差が閾値以上である場合に、前記試験対象装置での前記テストプログラムの実行結果が信頼できないと判定する請求項1に記載の情報処理装置。 - 前記メッセージ出力部は、
前記警告メッセージと、前記テストプログラムの実行結果とを出力する請求項2に記載の情報処理装置。 - 前記取得部は、
前記試験対象装置において前記テストプログラムとともに実行されることにより前記状態値を収集する状態値収集プログラムと前記テストプログラムとを前記試験対象装置に実行させ、前記状態値収集プログラムにより収集された前記状態値を取得する請求項1に記載の情報処理装置。 - 前記取得部は、
前記試験対象装置での前記テストプログラムの実行に要した時間と、前記テストプログラム実行中の前記試験対象装置でのCPU(Central Processing Unit)ティック数と、前記テストプログラム実行中の前記試験対象装置でのメモリ使用量と、前記テストプログラム実行中の前記試験対象装置でのメモリへのリード数及びライト数と、前記テストプログラム実行中の前記試験対象装置でのキャッシュミス率と、前記テストプログラム実行中に前記試験対象装置で動作していたプロセスのプロセスID(Identifier)とのうちの少なくともいずれかを、前記状態値として取得する請求項1に記載の情報処理装置。 - コンピュータが、試験対象装置がテストプログラムを実行している間の前記試験対象装置の状態を表す値である状態値を取得し、
前記コンピュータが、取得した前記状態値を、前記状態値の期待値と比較し、比較結果に基づき、前記試験対象装置での前記テストプログラムの実行結果が信頼できるか否かを判定する情報処理方法。 - 試験対象装置がテストプログラムを実行している間の前記試験対象装置の状態を表す値である状態値を取得する取得処理と、
前記取得処理により取得された前記状態値を、前記状態値の期待値と比較し、比較結果に基づき、前記試験対象装置での前記テストプログラムの実行結果が信頼できるか否かを判定する判定処理とをコンピュータに実行させる情報処理プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016550829A JPWO2017179208A1 (ja) | 2016-04-15 | 2016-04-15 | 情報処理装置、情報処理方法及び情報処理プログラム |
PCT/JP2016/062161 WO2017179208A1 (ja) | 2016-04-15 | 2016-04-15 | 情報処理装置、情報処理方法及び情報処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/062161 WO2017179208A1 (ja) | 2016-04-15 | 2016-04-15 | 情報処理装置、情報処理方法及び情報処理プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017179208A1 true WO2017179208A1 (ja) | 2017-10-19 |
Family
ID=60042400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2016/062161 WO2017179208A1 (ja) | 2016-04-15 | 2016-04-15 | 情報処理装置、情報処理方法及び情報処理プログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JPWO2017179208A1 (ja) |
WO (1) | WO2017179208A1 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07121409A (ja) * | 1993-10-28 | 1995-05-12 | Fujitsu Ltd | 性能評価装置 |
JP2012103991A (ja) * | 2010-11-11 | 2012-05-31 | Ricoh Co Ltd | 検査装置、検査方法およびプログラム |
JP2013196350A (ja) * | 2012-03-19 | 2013-09-30 | Fujitsu Ltd | 情報処理装置、情報処理方法、および情報処理プログラム |
-
2016
- 2016-04-15 JP JP2016550829A patent/JPWO2017179208A1/ja active Pending
- 2016-04-15 WO PCT/JP2016/062161 patent/WO2017179208A1/ja active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07121409A (ja) * | 1993-10-28 | 1995-05-12 | Fujitsu Ltd | 性能評価装置 |
JP2012103991A (ja) * | 2010-11-11 | 2012-05-31 | Ricoh Co Ltd | 検査装置、検査方法およびプログラム |
JP2013196350A (ja) * | 2012-03-19 | 2013-09-30 | Fujitsu Ltd | 情報処理装置、情報処理方法、および情報処理プログラム |
Also Published As
Publication number | Publication date |
---|---|
JPWO2017179208A1 (ja) | 2018-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10586053B2 (en) | Method for automatically detecting security vulnerability based on hybrid fuzzing, and apparatus thereof | |
US8386851B2 (en) | Functional coverage using combinatorial test design | |
US8381184B2 (en) | Dynamic test coverage | |
US20140033174A1 (en) | Software bug predicting | |
US8397104B2 (en) | Creation of test plans | |
US9208451B2 (en) | Automatic identification of information useful for generation-based functional verification | |
Agarwal et al. | Diagnosing mobile applications in the wild | |
US20090132858A1 (en) | Analyzer, analyzing system, and computer program product | |
CN101425035A (zh) | 用于检查软件的漏洞的设备和方法 | |
US8752027B2 (en) | Injecting faults into program for testing software | |
CN108009080B (zh) | 一种代码扫描工具的评估方法及装置 | |
US20150317232A1 (en) | Method And Apparatus For Positioning Crash | |
US10657028B2 (en) | Method for replicating production behaviours in a development environment | |
CN110851352A (zh) | 一种模糊测试系统及终端设备 | |
TW201319799A (zh) | 提供和收集關於程式的異常終止的資料之方法和裝置 | |
CN107632909B (zh) | 用于自动测试设备功能的方法及系统 | |
Agarwal et al. | There’s an app for that, but it doesn’t work. Diagnosing mobile applications in the wild | |
WO2017179208A1 (ja) | 情報処理装置、情報処理方法及び情報処理プログラム | |
US20080195906A1 (en) | Test pattern generation apparatus and test pattern generation method | |
CN112416735A (zh) | 一种应用程序检测方法、装置及终端设备、存储介质 | |
CN113094251A (zh) | 嵌入式系统测试方法、装置、计算机设备和存储介质 | |
JP2007286818A (ja) | 検査システムおよびその検査方法 | |
CN109144866B (zh) | 基于家用电器的软件测试方法及软件测试装置 | |
US20130007528A1 (en) | Using reverse time for coverage analysis | |
CN117313604B (zh) | 时序例外约束检查方法、装置、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2016550829 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16898668 Country of ref document: EP Kind code of ref document: A1 |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16898668 Country of ref document: EP Kind code of ref document: A1 |