特許第5918062号(P5918062)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECプラットフォームズ株式会社の特許一覧

特許5918062テスト装置、テスト方法及びテストプログラム
<>
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000002
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000003
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000004
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000005
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000006
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000007
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000008
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000009
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000010
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000011
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000012
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000013
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000014
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000015
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000016
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000017
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000018
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000019
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000020
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000021
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000022
  • 特許5918062-テスト装置、テスト方法及びテストプログラム 図000023
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5918062
(24)【登録日】2016年4月15日
(45)【発行日】2016年5月18日
(54)【発明の名称】テスト装置、テスト方法及びテストプログラム
(51)【国際特許分類】
   G06F 11/22 20060101AFI20160428BHJP
   G06F 11/28 20060101ALI20160428BHJP
【FI】
   G06F11/22 310A
   G06F11/28 340A
【請求項の数】10
【全頁数】20
(21)【出願番号】特願2012-168232(P2012-168232)
(22)【出願日】2012年7月30日
(65)【公開番号】特開2014-26575(P2014-26575A)
(43)【公開日】2014年2月6日
【審査請求日】2015年6月17日
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100124154
【弁理士】
【氏名又は名称】下坂 直樹
(72)【発明者】
【氏名】藤巻 修
【審査官】 多胡 滋
(56)【参考文献】
【文献】 特開平07−253901(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/22
G06F 11/28
G06F 11/36
(57)【特許請求の範囲】
【請求項1】
情報処理装置が処理することができる命令を、組み合わせることによって構成された複数の命令列からランダムに第1命令列を取り出す選択部と、
前記第1命令列が複数の前記命令から構成される場合に、ランダムに前記命令列を挿入命令列として選び、該挿入命令列を、前記第1命令列を構成する前記命令間に挿入し、挿入後の命令列を第2命令列とする第1処理を行い、
前記第1命令列が1個の前記命令から構成される場合に、前記第1命令列を前記第2命令列とする挿入部と、
前記第2命令列を並べることにより第3命令列を作成する生成部と、
前記第3命令列の処理を前記情報処理装置に命ずる実施部とを備え、
前記挿入部は、1度以上前記第1処理を行う
テスト装置。
【請求項2】
前記命令と、前記情報処理装置が前記命令を実行する前に行う前処理命令列と、前記情報処理装置が前記命令を実行した後に行う後処理命令列とが関連付けされている場合に、前記命令と前記前処理命令列と前記後処理命令列とを並べて、前記命令列とする読み取り部を更に備える
請求項1に記載のテスト装置。
【請求項3】
前記挿入部は、
前記挿入命令列が複数の前記命令から構成されると判定する場合に、ランダムに前記命令列を新たな挿入命令列として選び、該新たな挿入命令列を、前記挿入命令列を構成する前記命令間に挿入することによって得られる命令列を第2挿入命令列とし、
前記挿入命令列が1つの前記命令から構成されると判定する場合に、該挿入命令列を前記第2挿入命令列とする第2処理を行い、
前記第2挿入命令列を前記第1命令列に挿入し、挿入後の命令列を前記第2命令列とする
請求項1あるは請求項2に記載のテスト装置。
【請求項4】
前記挿入部は、前記新たな挿入命令列が2つ以上の前記命令から構成されると判定する場合に、前記新たな挿入命令列を前記挿入命令列として、前記第2処理を繰り返し実施する
請求項3に記載のテスト装置。
【請求項5】
前記第2命令列に対するデータをランダムに選び、該選んだデータを第1データとして作成する作成部を更に備え、
前記生成部は、前記第2命令列と、前記第1データとを組み合わせ、前記第3命令列を作成する
請求項1乃至請求項4のいずれか1項に記載のテスト装置。
【請求項6】
前記実施部は、前記情報処理装置における先行制御を有効にし、前記第3命令列を前記情報処理装置に実行させることに応じて第1結果を受け取り、前記情報処理装置における先行制御を無効にし、前記第3命令列を前記情報処理装置に実行させることに応じて第2結果を受け取り、
前記第1結果と前記第2結果を比較し、一致しないと判定する場合にはエラーに関する情報を出力し、一致すると判定する場合には該エラーに関する情報を出力しない判断部を更に備える
請求項1乃至請求項5のいずれか1項に記載のテスト装置。
【請求項7】
終了信号を受け取ると処理を終了する終了部を更に備え、
前記終了部が前記終了信号を受け取るまで、前記選択部、前記挿入部、前記生成部、前記作成部、前記実施部、前記判断部が処理を繰り返し行う
請求項6に記載のテスト装置。
【請求項8】
前記第2命令列を記憶する記憶部を更に有し、
前記選択部は、複数の前記命令列を読み取り、
前記挿入部は、前記複数の命令列に対し、前記第1処理を行い、前記第2命令列を前記記憶部に記憶させ、
前記生成部は、前記記憶部からランダムに前記第2命令列を読み取り、読み取った前記第2命令列を並べて前記第3命令列とする
請求項1乃至請求項6に記載のテスト装置。
【請求項9】
情報処理装置が処理することができる命令を、組み合わせることによって構成された複数の命令列からランダムに第1命令列を取り出し、前記第1命令列が複数の前記命令から構成される場合に、ランダムに前記命令列を挿入命令列として選び、該挿入命令列を、前記第1命令列を構成する前記命令間に挿入し、挿入後の命令列を第2命令列とする処理を1度以上行い、前記第1命令列が1個の前記命令から構成される場合に、前記第1命令列を前記第2命令列とし、前記第2命令列を並べることにより第3命令列を作成し、前記第3命令列の処理を前記情報処理装置に命じるテスト方法。
【請求項10】
情報処理装置が処理することができる命令を、組み合わせることによって構成された複数の命令列からランダムに第1命令列を取り出す選択機能と、
前記第1命令列が複数の前記命令から構成される場合に、ランダムに前記命令列を挿入命令列として選び、該挿入命令列を、前記第1命令列を構成する前記命令間に挿入し、挿入後の命令列を第2命令列とする処理を1度以上行い、
前記第1命令列が1個の前記命令から構成される場合に、前記第1命令列を前記第2命令列とする挿入機能と、
前記第2命令列を並べることにより第3命令列を作成する生成機能と、
前記第3命令列の処理を前記情報処理装置に命ずる実施機能とを、
コンピュータに実現させるテストプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置を試験するテスト装置等に関する。
【背景技術】
【0002】
特許文献1は、情報処理装置を試験(以降、「テスト」とも表す)する方法の一例を開示する。図22は、特許文献1が開示する情報処理装置を試験する方法を表す。図22に示すように、特許文献1が開示するテスト装置32は、抑止命令指定部28と、ランダム試験プログラム生成部29と、試験命令実行部30と、実行結果判定部31とを有する。
【0003】
抑止命令指定部28は、情報処理装置6が処理することができる命令(以降、「実行可能命令」とも表す)のうち、ランダム試験から除外する命令を記憶する。ランダム試験プログラム生成部29は、実行可能命令の中から、抑止命令指定部28が記憶する命令には含まれない命令を複数選び出し、選び出した命令列を組み合わせることにより、命令列を生成する。その命令列は、情報処理装置6がランダム試験にて処理するプログラム(以降、「ランダム試験プログラム」と表す)を表す。次に、試験命令実行部30は、情報処理装置6に、該命令列を処理することを命じる。次に、実行結果判定部31は、情報処理装置6から実行結果に関する情報を受け取り、受け取った情報に応じて情報処理装置6の状態を判定する。
【0004】
しかしながら、実行可能命令には、命令を実行する前に所定の命令処理を行う前処理、あるいは、命令を実行した後に所定の命令処理を行う後処理を必要とする命令(以降、「要処理命令」と表す)が存在する。所定の命令処理は、あらかじめ、複数の命令を連続して並べることにより構成される命令列から成る(以降、前処理を構成する命令列を「前処理命令」、後処理を構成する命令列を「後処理命令」と表す)。前処理命令と後処理命令とは、所定の命令列であるため、情報処理装置6が実行する命令列におけるランダム性(乱雑さ、乱数性などとも表す)を低下させる。
【0005】
特許文献2が開示する情報処理装置試験方法は、要処理命令と前処理命令との間、あるいは、要処理命令と後処理命令との間に、新たな命令を追加し、追加することにより得られた命令をランダム試験プログラムとして出力する。即ち、その情報処理装置試験方法において、前処理命令、あるいは、後処理命令が、所定の命令列である。そのため、要処理命令が頻出するランダム試験プログラムは、ランダム性が低下する。
【0006】
特許文献3が開示する論理検証方式は、予め決められた命令列を複数組み合わせ、その組み合わせをテスト命令列として出力する。該論理検証方式は、上述した方法により大規模なテスト命令列を作成する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開昭62−100846号公報
【特許文献2】特開平02−115940号公報
【特許文献3】特開2002−157145号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
ランダム試験を実施するためのコンピュータ・プログラム(以降、単に「プログラム」と表す)には、乱数あるいは乱数発生プログラムを使って発生させた擬似乱数(以降、これらの乱数をまとめて、「乱数」と表記する)に従い、命令をランダムに複数個選択し、選んだ複数の命令を実施する方法が存在する。ある特定の命令を実施するためには、所定の命令列を実施する前処理命令、あるいは所定の命令列を実施する後処理命令が必要になる。しかしながら、前処理命令と後処理命令とが所定の命令列を含む処理であるため、そのランダム試験を構成する命令列は、該特定の命令前後で決まってしまう。その結果、該ランダム試験において、処理のランダム性は低下する。そのため、ランダム試験としては、必ずしも目的が達成しているとは言えない。
【0009】
そこで、本発明の主たる目的は、ランダム性の高いテストを実施するテスト装置等を提供することである。
【課題を解決するための手段】
【0010】
前述の目的を達成するために、本発明に係るテスト装置は、以下の構成を備えることを特徴とする。
【0011】
即ち、本発明に係るテスト装置は、
情報処理装置が処理することができる命令を、組み合わせることによって構成された複数の命令列からランダムに第1命令列を取り出す選択部と、
前記第1命令列が複数の前記命令から構成される場合に、ランダムに前記命令列を挿入命令列として選び、該挿入命令列を、前記第1命令列を構成する前記命令間に挿入し、挿入後の命令列を第2命令列とする第1処理を行い、
前記第1命令列が1個の前記命令から構成される場合に、前記第1命令列を前記第2命令列とする挿入部と、
前記第2命令列を並べることにより第3命令列を作成する生成部と、
前記第3命令列の処理を前記情報処理装置に命ずる実施部とを備え、
前記挿入部は、1度以上前記第1処理を行う
ことを特徴とする。
【0012】
また、本発明の他の見地として、本発明に係るテスト方法は、
情報処理装置が処理することができる命令を、組み合わせることによって構成された複数の命令列からランダムに第1命令列を取り出し、前記第1命令列が複数の前記命令から構成される場合に、ランダムに前記命令列を挿入命令列として選び、該挿入命令列を、前記第1命令列を構成する前記命令間に挿入し、挿入後の命令列を第2命令列とする処理を1度以上行い、前記第1命令列が1個の前記命令から構成される場合に、前記第1命令列を前記第2命令列とし、前記第2命令列を並べることにより第3命令列を作成し、前記第3命令列の処理を前記情報処理装置に命じる
ことを特徴とする。
【発明の効果】
【0013】
本発明に係るテスト装置等によれば、高いランダム性を有するテストを実施することができる。
【発明を実施するための形態】
【0014】
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
【0015】
<第1の実施形態>
本発明の第1の実施形態に係るテスト装置が有する構成と、そのテスト装置が行う処理とについて、図1図2とを参照しながら詳細に説明を行う。図1は、本発明の第1の実施形態に係るテスト装置1の構成を示すブロック図である。図2は、本発明の第1の実施形態に係るテスト装置1における処理の流れを示すフローチャートである。
【0016】
図1を参照すると、本発明の第1の実施形態に係るテスト装置1は、選択部2と、挿入部3と、生成部4と、実施部5とを有する。テスト装置1は、ランダム試験を行う対象である情報処理装置6と繋がる。テスト装置1は、情報処理装置6が実行することができる命令(以降、「実行可能命令」とも表す)を命令7から読み取る。
【0017】
例えば、情報処理装置6は、図3に示すような命令を実行する。図3は、本発明の第1の実施形態に係るテスト装置1の入力となる実行可能命令列を表す概念図である。図3におけるa1、a2、a3、a4、b1、b2、b3などの表記は、それぞれ、情報処理装置6において実行することができる1個の命令を概念的に表す。図3における1行目には、「a1、a2、a3、a4」という4個の命令が存在する。「a1、a2、a3、a4」という表記は、情報処理装置6がa1を実行し、次にa2を実行し、次にa3を実行し、次にa4を実行することを表す。以降では、命令が1個以上の実行可能命令を有するとき、一連の命令をまとめて命令列(あるいは、「実行可能命令列」)とも表現する。
【0018】
まず、選択部2は、命令7の中から1個以上の第1命令列をランダムに選ぶ(ステップS1)。図4は、本発明の第1の実施形態に係る選択部2が選ぶ命令列を表す概念図である。図4を参照すると、例えば、選択部2は、「b1、b2、b3」、「c1」、「d1、d2」、「a1、a2、a3、a4」という4個の第1命令列を順に選ぶ。
【0019】
次に、挿入部3は、第1命令列が命令を2個以上有するか否かを判定する(ステップS2)。例えば、図4の例において、挿入部3は、「b1、b2、b3」という第1命令列が「b1」、「b2」、「b3」という3個の命令を有すると判定する(ステップS2においてYESと判定)。また、挿入部3は、「c1」という第1命令列が、「c1」という1個の命令を有すると判定する(ステップS2においてNOと判定)。
【0020】
挿入部3は、第1命令列が命令を2個以上有すると判定する場合(ステップS2においてYESと判定)、第1命令列における各命令間に、ランダムに選んだ1個以上の命令列を挿入することにより、第2命令列を作成する(ステップS3)。また、挿入部3は、第1命令列が命令を2個以上有さないと判定する場合(ステップS2においてNOと判定)、第1命令列を第2命令列とする(ステップS4)。
【0021】
図5は、本発明の第1の実施形態に係る挿入部3が作成する第2命令列を表す概念図である。図4図5とを参照しながら、挿入部3が行う処理の例について説明する。例えば、挿入部3は、上述したように「b1、b2、b3」という第1命令列が命令を2個以上有すると判定するため、「b1」と「b2」との間と、「b2」と「b3」との間とに、ランダムに選んだ1個以上の命令列を挿入する。図5を参照すると、挿入部3は、例えば、「b1」と「b2」との間に、「c1」という命令列を2個挿入する。次に、挿入部3は、「b2」と「b3」との間に、「d1、d2」という命令列を1個挿入する。次に、挿入部3は、「b1、c1、c1、b2、d1、d2、b3」という第2命令列を作成する。また、挿入部3は、「c1」という第1命令列が命令を2個以上有さないと判定するため、「c1」という第2命令列を作成する。
【0022】
次に、生成部4は、第2命令列を並べることにより、第3命令列を作成する(ステップS5)。図5の例において、生成部4は、例えば、1行目から順に並べ、「b1、c1、c1、b2、d1、d2、b3、c1、d1、a1、a2、a3、a4、c1、d2、・・・」という第3命令列を作成する。生成部4は、必ずしも、挿入部3が作成する第2命令列を順に並べる必要はなく、第2命令列の単位でランダムに並び替えてもよいし、逆の順序で並べても良いし、一部の第2命令列だけを並べても良い。並べる方法は、上述した例には限定されない。
【0023】
次に、実施部5は、情報処理装置6に第3命令列の処理を命じる(ステップS6)。例えば、上述した例においては、実施部5は、「b1、c1、c1、b2、d1、d2、b3、c1、d1、a1、a2、a3、a4、c1、d2、・・・」という命令列を情報処理装置6に命ずる。すると、情報処理装置6は、「b1、c1、c1、b2、d1、d2、b3、c1、d1、a1、a2、a3、a4、c1、d2、・・・」という命令列を処理する。
【0024】
特許文献1乃至特許文献3が開示するテスト装置は、ある命令を実行する前に行う一連の命令(以降、「前処理命令列」と表す)と、ある命令を実行した後に行う一連の命令(以降、「後処理命令列」と表す)とを組み合わせることにより、ランダム試験を行うための命令列を作成する。そのため、前処理命令列、あるいは、後処理命令列において、情報処理装置6が処理する命令は、必ず同じになる。そのため、特許文献1乃至特許文献3が開示するテスト装置は、ランダム試験を行う装置であるにもかかわらず、特定の命令列が複数出現する命令列を作成する。
【0025】
一方、本発明における第1の実施形態に係るテスト装置1は、情報処理装置6が処理を行う一連の命令(命令列)における各命令間に、ランダムに選んだ命令列を1個以上挿入する。即ち、本発明における第1の実施形態に係るテスト装置1は、特定の命令列を、ランダムに選んだ命令列を有する命令列に変換する。そのため、本発明における第1の実施形態に係るテスト装置1によれば、特定の命令列が出現する頻度は低減し、高いランダム性を有した命令を作成することができる。
【0026】
即ち、本発明における第1の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。
【0027】
<第2の実施形態>
次に、上述した第1の実施形態を基本とする第2の実施形態について説明する。
【0028】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【0029】
図6図7とを参照しながら、本発明の第2の実施形態に係るテスト装置9、そのテスト装置が行う処理とについてについて説明を行う。図6は、本発明の第2の実施形態に係るテスト装置9の構成を示すブロック図である。図7は、本発明の第2の実施形態に係るテスト装置9における処理の流れを示すフローチャートである。
【0030】
図6を参照すると、テスト装置9は、読み取り部8を更に有する。テスト装置9は、実行可能命令を命令10から読み取る。命令10の例を図8に示す。図8は、本発明の第2の実施形態に係る読み取り部8が読み取る命令列を表す概念図である。
【0031】
図8を参照すると、命令列は、実行可能命令と、前処理命令列と、後処理命令列とから構成される。例えば、実行可能命令「b2」は、前処理命令列「b1」と、後処理命令列「b3」と関連付けされている。また、実行可能命令「d2」は、前処理命令列「d1」と関連付けされているが、後処理命令列とは関連付けされていない。
【0032】
読み取り部8は、命令10から実行可能命令と、前処理命令列と、後処理命令列とを読み取る(ステップS7)。次に、読み取り部8は、読み取った情報を、前処理命令列、実行可能命令、後処理命令列の順に並べることにより、実行可能命令列を作成する(ステップS8)。例えば、読み取り部8は、実行可能命令「b2」と、前処理命令列「b1」と、後処理命令列「b3」とを読み取り、読み取った命令を上述したように並べることにより、「b1、b2、b3」という命令列を作成する。
【0033】
読み取り部8は、第1の実施形態における入力とは異なる形式の入力であっても、テスト装置9が第1の実施形態と同様の処理を行うことを可能にする。
【0034】
即ち、本発明における第2の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。
【0035】
<第3の実施形態>
次に、上述した第1の実施形態を基本とする第3の実施形態について説明する。
【0036】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【0037】
図9図10とを参照しながら、本発明の第3の実施形態に係るテスト装置12が有する構成と、テスト装置12が行う処理とについて説明を行う。図9は、本発明の第3の実施形態に係るテスト装置12の構成を示すブロック図である。図10は、本発明の第3の実施形態に係るテスト装置12における処理の流れを示すフローチャートである。
【0038】
図9を参照すると、第3の実施形態に係るテスト装置12は、挿入部11を有する。挿入部11は、第1命令列が2個以上の命令を含むと判定すると(ステップS2においてYESと判定)、第1命令列が含む各命令間に挿入する命令列(以降、「挿入命令列」と略記する)として、それぞれ、1個以上の命令列をランダムに選ぶ(ステップS9)。
【0039】
挿入部11は、選んだ各挿入命令列が2個以上の命令を含むと判定する(ステップS10にてYESと判定)と、該挿入命令列が含む各命令間に挿入する命令列として、それぞれ、1個以上の命令列をランダムに選ぶ。次に、挿入部11は、新たに選んだ命令列を、該挿入命令列が含む各命令間に、それぞれ挿入することによって得られる命令列を第2挿入命令列とする(ステップS11)。
【0040】
挿入部11は、選んだ各挿入命令列が2個以上の命令を含まないと判定する(ステップS10にてNOと判定)と、該挿入命令列を第2挿入命令列とする(ステップS12)。
【0041】
次に、挿入部11は、各挿入命令列について作成した第2挿入命令列を、第1命令列が含む各命令間にそれぞれ挿入し、得られた命令列を第2命令列とする(ステップS13)。
【0042】
例えば、第2の実施形態で例示した例において、選択部2は「b1、b2、b3」という第1命令列を選ぶとする。次に、挿入部11は、「b1」と「b2」との間に挿入するランダムに選んだ第1A挿入命令列と、「b2」と「b3」との間に挿入するランダムに選んだ第1B挿入命令列とを選ぶ。第1A挿入命令列が「c1」であり、第1B挿入命令列が「d1、d2」であるとする。挿入部11は、第1A挿入命令列である「c1」に対し、選んだ第1A挿入命令列が2個以上の命令を含まないと判定するため、「c1」を第2挿入命令列とする。
【0043】
挿入部11は、挿入命令列である「d1、d2」に対しては、選んだ第1B挿入命令列が2個以上の命令を含むと判定するため、「d1」と「d2」との間に、ランダムに選んだ挿入命令列を挿入する。例えば、該選んだ挿入命令列が「c1」であるとすると、挿入部11は、「d1、c1、d2」を第2挿入命令列とする。
【0044】
次に、挿入部11は、「b1、b2、b3」に各第2挿入命令列を挿入することによって、「b1、c1、b2、d1、c1、d2、b3」という第2命令列を作成する。
【0045】
本発明における第3の実施形態に係るテスト装置12は、選んだ各挿入命令列が複数の命令を含むと判定する場合、さらに、挿入命令列における各命令間に、ランダムに選んだ命令列を挿入する。そのように処理することにより、作成する命令列は、さらに、ランダム試験に適したものとなる。
【0046】
即ち、本発明における第3の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。
【0047】
<第4の実施形態>
次に、上述した第3の実施形態を基本とする第4の実施形態について説明する。
【0048】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第3の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【0049】
図11図12とを参照しながら、本発明の第4の実施形態に係るテスト装置14が有する構成と、テスト装置14が行う処理とについて説明を行う。図11は、本発明の第4の実施形態に係るテスト装置14の構成を示すブロック図である。図12は、本発明の第4の実施形態に係るテスト装置14における処理の流れを示すフローチャートである。
【0050】
図11を参照すると、第4の実施形態に係るテスト装置14は、挿入部13を有する。挿入部13は、本発明の第3の実施形態に係るテスト装置における挿入命令列が複数の命令を含む場合において、該複数の命令間に命令列を挿入する処理を、再帰的に繰り返し実施する。
【0051】
即ち、挿入部13は、挿入命令列における命令間にランダムに、選んだ1つ以上の命令列を挿入する(ステップS14)。そのときに、挿入部13は、選んだ命令列が2つ以上の命令を含むと判定する場合(ステップS15にてYESと判定)、選んだ各命令列を挿入命令列、即ち、ステップS14における処理の入力とする(ステップS16)。
【0052】
挿入部13は、選んだ命令列が2つ以上の命令を含むと判定しない場合(ステップS15にてNOと判定)、選んだ命令列に対する処理を全て終了したか否かを判定する。挿入部13は、選んだ命令列に対する処理を全て終了したと判定すると(ステップS17にてYESと判定)、処理を終える。挿入部13は、選んだ命令列に対する処理を終了していないと判定すると(ステップS17にてNOと判定)、処理を終了していない該選んだ命令列に対して、ステップS15の処理を行う。
【0053】
本発明における第4の実施形態に係るテスト装置14は、命令列を挿入する処理を再帰的に繰り返し実施するため、更に高いランダム性を有するテストを実施することができる。
【0054】
即ち、本発明における第4の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。
【0055】
<第5の実施形態>
次に、上述した第1の実施形態を基本とする第5の実施形態について説明する。
【0056】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【0057】
図13図14とを参照しながら、本発明の第5の実施形態に係るテスト装置17が有する構成と、そのテスト装置17が行う処理とについて説明を行う。図13は、本発明の第5の実施形態に係るテスト装置17の構成を示すブロック図である。図14は、本発明の第5の実施形態に係るテスト装置17における処理の流れを示すフローチャートである。
【0058】
図13を参照すると、第5の実施形態に係るテスト装置17は、生成部15と作成部16とを有する。生成部15は、挿入部3が作成した第2命令列を情報処理装置6が処理するデータをランダムに選ぶ(ステップS18)。例えば、生成部15は、各命令を処理するために必要なデータを記憶する外部記憶装置(図13において不図示)を参照し、その中から第2命令列における各命令に要するデータを選び出しても良い。あるいは、第2命令列における各命令が数値データを処理する場合に、生成部15は、ランダムに数値データを作成しても良い。ランダムにデータを選ぶ方法は、上述した方法に限定されない。
【0059】
次に、作成部16は、第2命令列と、上述のように選んだデータとを関連付けすることにより、第3命令列を作成する(ステップS19)。
【0060】
本発明における第5の実施形態に係るテスト装置17は、情報処理装置6が処理するデータをランダムに選び出す。テスト装置17は、同じ命令を処理する命令列であっても、異なるデータを作成するため、本発明における第5の実施形態に係るテスト装置17によれば、作成するテストは、さらに、ランダム試験にふさわしいプログラムとなる。
【0061】
即ち、本発明における第5の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。
【0062】
<第6の実施形態>
次に、上述した第1の実施形態を基本とする第6の実施形態について説明する。
【0063】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【0064】
図15図16とを参照しながら、本発明の第6の実施形態に係るテスト装置20が有する構成と、テスト装置20が行う処理とについて説明を行う。図15は、本発明の第6の実施形態に係るテスト装置20の構成を示すブロック図である。図16は、本発明の第6の実施形態に係るテスト装置20における処理の流れを示すフローチャートである。
【0065】
図15を参照すると、第6の実施形態に係るテスト装置20は、実施部18と判断部19とを更に有する。実施部18は、情報処理装置6における先行制御を有効にし(ステップS20)、次に、生成部4が生成する第3命令列の処理を情報処理装置6に命ずる(ステップS21)。次に、情報処理装置6は、該第3命令列の処理を実行することより得られた結果を実施部18に送る。実施部18は、情報処理装置6が送信した実行結果を受け取る(ステップS22)。実行結果は、レジスタの値や、第3命令列がアクセスしたメモリの値などを含む。
【0066】
次に、実施部18は、情報処理装置6における先行制御を無効にし(ステップS23)、次に、生成部4が生成する第3命令列の処理を情報処理装置6に命ずる(ステップS24)。先行制御を無効する方法は、情報処理装置6が第3命令列の各命令を実行するたびに、割り込みを発生することで実現することができる。次に、情報処理装置6は、該第3命令列の処理を実行することにより得られた結果を実施部18に送る。実施部18は、情報処理装置6が送信した実行結果を受け取る(ステップS25)。
【0067】
次に、判断部19は、実施部18における上述した2つの実行結果を比較し、該2つの実行結果が一致しないと判定した場合(ステップS26にてNOと判定)に、エラー情報を出力する(ステップS27)。判断部19は、該2つの実行結果が一致すると判定した場合(ステップS26にてYESと判定)に、エラー情報を出力しない。
【0068】
上述した例において、実施部18は、情報処理装置6が第3命令列の各命令を実行した後に、実行結果を受け取るとしたが、各命令を実行するたびに実行結果を受け取ることでも、同様の機能を実現できる。あるいは、実施部18は、情報処理装置6が第3命令列における一部の命令を実行した後に、実行結果を受け取ることもできる。
【0069】
即ち、本発明における第6の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。さらに、本発明における第6の実施形態に係るテスト装置によれば、情報処理装置6が第3命令列を処理するときに発生する可能性があるエラーを検出することができる。
【0070】
<第7の実施形態>
次に、上述した第1の実施形態を基本とする第7の実施形態について説明する。
【0071】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【0072】
図17図18とを参照しながら、本発明の第7の実施形態に係るテスト装置22が有する構成と、そのテスト装置22が行う処理とについて説明を行う。図17は、本発明の第7の実施形態に係るテスト装置22の構成を示すブロック図である。図18は、本発明の第7の実施形態に係るテスト装置22における処理の流れを示すフローチャートである。
【0073】
図17を参照すると、第7の実施形態に係るテスト装置22は、終了部21を有する。終了部21は、終了信号を受信すると(ステップS28にてYESと判定)、その後、第1の実施形態乃至第6の実施形態における処理を終了する(ステップS29)。終了部21は、終了信号を受信しないと(ステップS28にてNOと判定)、第1の実施形態乃至第6の実施形態における処理を実施する(ステップS34)。
【0074】
本発明における第7の実施形態に係るテスト装置22によれば、第1の実施形態乃至第6の実施形態により得られる効果に加え、外部からランダム試験の実行を制御することが可能になる。
【0075】
即ち、本発明における第7の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。
【0076】
<第8の実施形態>
次に、上述した第1の実施形態を基本とする第8の実施形態について説明する。
【0077】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【0078】
図19図20とを参照しながら、本発明の第8の実施形態に係るテスト装置27が有する構成と、テスト装置27が行う処理とについて説明を行う。図19は、本発明の第8の実施形態に係るテスト装置27の構成を示すブロック図である。図20は、本発明の第8の実施形態に係るテスト装置27における処理の流れを示すフローチャートである。
【0079】
図19を参照すると、本発明の第8の実施形態に係るテスト装置27は、選択部23と、挿入部24と、生成部25と、記憶部26とを有する。まず、選択部23は、命令7から、複数の実行可能命令列を選ぶ(ステップS30)。次に、挿入部24は、選んだ各々の実行可能命令列に対し、本発明における第1の実施形態にて説明したような第1処理を行う(ステップS31)。次に、挿入部24は、上述のように作成した第2命令列を記憶部26に記憶させる(ステップS32)。次に、生成部25は、記憶部26が記憶する第2命令列をランダムに取り出し、取り出した第2命令列を並べることにより第3命令列を作成する(ステップS33)。
【0080】
本発明における第8の実施形態に係るテスト装置27は、上述したように挿入部24が記憶部26に第2命令列を記憶させるため、1つの実行可能命令列に対し第1処理を実行する必要がなくなる。そのため、本発明における第8の実施形態に係るテスト装置27によれば、第1処理を減らすことができることに加え、本発明の第1の実施形態が有する効果をそのまま保持する。
【0081】
即ち、本発明における第8の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。
【0082】
(ハードウェア構成例)
図21は、本発明の各実施形態に係るテスト装置を実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。
【0083】
次に、上述した本発明の各実施形態におけるテスト装置を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係るテスト装置は、物理的または機能的に少なくとも2つの計算処理装置を用いて実現してもよい。また、係るテスト装置は、専用の装置として実現してもよい。
【0084】
図21は、本発明の第1の実施形態乃至本発明の第8の実施形態に係るテスト装置を実現可能な計算処理装置のハードウェア構成を概略的に示す図である。計算処理装置33は、中央処理演算装置(Central Processing Unit、以降「CPU」と表す)34、メモリ35、ディスク36、不揮発性記録媒体37、入力装置38、および、出力装置39を有する。
【0085】
不揮発性記録媒体37は、例えば、コンパクトディスク(Compact Disc)、デジタルバーサタイルディスク(Digital Versatile Disc)、ブルーレイディスク(Blu−ray Disc)、ユニバーサルシリアルバスメモリ(USBメモリ)などを指しており、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体37は、上述した媒体に限定されない。また、不揮発性記録媒体37の代わりに、通信ネットワークを介して係るプログラムを持ち運びしても良い。
【0086】
即ち、CPU34は、ディスク36が記憶するソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)を、実行時にメモリ35にコピーし、演算処理を実行する。CPU34は、プログラム実行に必要なデータをメモリ35から読み込む。表示が必要な場合には、CPU34は、出力装置39に出力結果を表示する。外部からプログラムを入力する場合、CPU34は、入力装置38からプログラムを読み取る。CPU34は、メモリ35にあるテストプログラム(図2図7図10図12図14図16図18図20)を解釈し実行を行う。CPU34は、上述した本発明の各実施形態において説明した処理を順次行う。
【0087】
即ち、このような場合、本発明は、係るテストプログラムによっても成し得ると捉えることができる。更に、係るテストプログラムが記録されたコンピュータ読み取り可能な記録媒体によっても、本発明は成し得ると捕らえることができる。
【図面の簡単な説明】
【0088】
図1】本発明の第1の実施形態に係るテスト装置の構成を示すブロック図である。
図2】本発明の第1の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
図3】本発明の第1の実施形態に係るテスト装置の入力となる実行可能命令列を表す概念図である。
図4】本発明の第1の実施形態に係る選択部が選ぶ命令列を表す概念図である。
図5】本発明の第1の実施形態に係る挿入部が作成する第2命令列を表す概念図である。
図6】本発明の第2の実施形態に係るテスト装置の構成を示すブロック図である。
図7】本発明の第2の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
図8】本発明の第2の実施形態に係る読み取り部が読み取る命令列を表す概念図である。
図9】本発明の第3の実施形態に係るテスト装置の構成を示すブロック図である。
図10】本発明の第3の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
図11】本発明の第4の実施形態に係るテスト装置の構成を示すブロック図である。
図12】本発明の第4の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
図13】本発明の第5の実施形態に係るテスト装置の構成を示すブロック図である。
図14】本発明の第5の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
図15】本発明の第6の実施形態に係るテスト装置の構成を示すブロック図である。
図16】本発明の第6の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
図17】本発明の第7の実施形態に係るテスト装置の構成を示すブロック図である。
図18】本発明の第7の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
図19】本発明の第8の実施形態に係るテスト装置の構成を示すブロック図である。
図20】本発明の第8の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
図21】本発明の各実施形態に係るテスト装置を実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。
図22】本発明に関連するテスト装置の構成を示すブロック図である。
【符号の説明】
【0089】
1 テスト装置
2 選択部
3 挿入部
4 生成部
5 実施部
6 情報処理装置
7 命令
8 読み取り部
9 テスト装置
10 命令
11 挿入部
12 テスト装置
13 挿入部
14 テスト装置
15 生成部
16 作成部
17 テスト装置
18 実施部
19 判断部
20 テスト装置
21 終了部
22 テスト装置
23 選択部
24 挿入部
25 生成部
26 記憶部
27 テスト装置
28 抑止命令指定部
29 ランダム試験プログラム生成部
30 試験命令実行部
31 実行結果判定部
32 テスト装置
33 計算処理装置
34 CPU
35 メモリ
36 ディスク
37 不揮発性記録媒体
38 入力装置
39 出力装置
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22