(57)【要約】【課題】  ランダム性の高いテストを実施するテスト装置等を提供する。【解決手段】テスト装置１は、情報処理装置６が処理することができる命令を、組み合わせることによって構成された複数の命令列７からランダムに第１命令列を取り出す選択部２と、前記第１命令列が複数の前記命令から構成される場合に、ランダムに前記命令列を挿入命令列として選び、該挿入命令列を、前記第１命令列を構成する前記命令間に挿入し、挿入後の命令列を第２命令列とする第１処理を行い、前記第１命令列が１個の前記命令から構成される場合に、前記第１命令列を前記第２命令列とする挿入部３と、前記第２命令列を並べることにより第３命令列を作成する生成部４と、前記第３命令列の処理を前記情報処理装置に命ずる実施部５とを備え、挿入部３は、１度以上前記第１処理を行う。【選択図】      図１
2014026575.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置が処理することができる命令を、組み合わせることによって構成された複数の命令列からランダムに第１命令列を取り出す選択部と、
前記第１命令列が複数の前記命令から構成される場合に、ランダムに前記命令列を挿入命令列として選び、該挿入命令列を、前記第１命令列を構成する前記命令間に挿入し、挿入後の命令列を第２命令列とする第１処理を行い、
前記第１命令列が１個の前記命令から構成される場合に、前記第１命令列を前記第２命令列とする挿入部と、
前記第２命令列を並べることにより第３命令列を作成する生成部と、
前記第３命令列の処理を前記情報処理装置に命ずる実施部とを備え、
前記挿入部は、１度以上前記第１処理を行う
テスト装置。
【請求項２】
前記命令と、前記情報処理装置が前記命令を実行する前に行う前処理命令列と、前記情報処理装置が前記命令を実行した後に行う後処理命令列とが関連付けされている場合に、前記命令と前記前処理命令列と前記後処理命令列とを並べて、前記命令列とする読み取り部を更に備える
請求項１に記載のテスト装置。
【請求項３】
前記挿入部は、
前記挿入命令列が複数の前記命令から構成されると判定する場合に、ランダムに前記命令列を新たな挿入命令列として選び、該新たな挿入命令列を、前記挿入命令列を構成する前記命令間に挿入することによって得られる命令列を第２挿入命令列とし、
前記挿入命令列が１つの前記命令から構成されると判定する場合に、該挿入命令列を前記第２挿入命令列とする第２処理を行い、
前記第２挿入命令列を前記第１命令列に挿入し、挿入後の命令列を前記第２命令列とする
請求項１あるは請求項２に記載のテスト装置。
【請求項４】
前記挿入部は、前記新たな挿入命令列が２つ以上の前記命令から構成されると判定する場合に、前記新たな挿入命令列を前記挿入命令列として、前記第２処理を繰り返し実施する
請求項３に記載のテスト装置。
【請求項５】
前記第２命令列に対するデータをランダムに選び、該選んだデータを第１データとして作成する作成部を更に備え、
前記生成部は、前記第２命令列と、前記第１データとを組み合わせ、前記第３命令列を作成する
請求項１乃至請求項４のいずれか１項に記載のテスト装置。
【請求項６】
前記実施部は、前記情報処理装置における先行制御を有効にし、前記第３命令列を前記情報処理装置に実行させることに応じて第１結果を受け取り、前記情報処理装置における先行制御を無効にし、前記第３命令列を前記情報処理装置に実行させることに応じて第２結果を受け取り、
前記第１結果と前記第２結果を比較し、一致しないと判定する場合にはエラーに関する情報を出力し、一致すると判定する場合には該エラーに関する情報を出力しない判断部を更に備える
請求項１乃至請求項５のいずれか１項に記載のテスト装置。
【請求項７】
終了信号を受け取ると処理を終了する終了部を更に備え、
前記終了部が前記終了信号を受け取るまで、前記選択部、前記挿入部、前記生成部、前記作成部、前記実施部、前記判断部が処理を繰り返し行う
請求項６に記載のテスト装置。
【請求項８】
前記第２命令列を記憶する記憶部を更に有し、
前記選択部は、複数の前記命令列を読み取り、
前記挿入部は、前記複数の命令列に対し、前記第１処理を行い、前記第２命令列を前記記憶部に記憶させ、
前記生成部は、前記記憶部からランダムに前記第２命令列を読み取り、読み取った前記第２命令列を並べて前記第３命令列とする
請求項１乃至請求項６に記載のテスト装置。
【請求項９】
情報処理装置が処理することができる命令を、組み合わせることによって構成された複数の命令列からランダムに第１命令列を取り出し、前記第１命令列が複数の前記命令から構成される場合に、ランダムに前記命令列を挿入命令列として選び、該挿入命令列を、前記第１命令列を構成する前記命令間に挿入し、挿入後の命令列を第２命令列とする処理を１度以上行い、前記第１命令列が１個の前記命令から構成される場合に、前記第１命令列を前記第２命令列とし、前記第２命令列を並べることにより第３命令列を作成し、前記第３命令列の処理を前記情報処理装置に命じるテスト方法。
【請求項１０】
情報処理装置が処理することができる命令を、組み合わせることによって構成された複数の命令列からランダムに第１命令列を取り出す選択機能と、
前記第１命令列が複数の前記命令から構成される場合に、ランダムに前記命令列を挿入命令列として選び、該挿入命令列を、前記第１命令列を構成する前記命令間に挿入し、挿入後の命令列を第２命令列とする処理を１度以上行い、
前記第１命令列が１個の前記命令から構成される場合に、前記第１命令列を前記第２命令列とする挿入機能と、
前記第２命令列を並べることにより第３命令列を作成する生成機能と、
前記第３命令列の処理を前記情報処理装置に命ずる実施機能とを、
コンピュータに実現させるテストプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置を試験するテスト装置等に関する。
【背景技術】
【０００２】
特許文献１は、情報処理装置を試験（以降、「テスト」とも表す）する方法の一例を開示する。図２２は、特許文献１が開示する情報処理装置を試験する方法を表す。図２２に示すように、特許文献１が開示するテスト装置３２は、抑止命令指定部２８と、ランダム試験プログラム生成部２９と、試験命令実行部３０と、実行結果判定部３１とを有する。
【０００３】
抑止命令指定部２８は、情報処理装置６が処理することができる命令（以降、「実行可能命令」とも表す）のうち、ランダム試験から除外する命令を記憶する。ランダム試験プログラム生成部２９は、実行可能命令の中から、抑止命令指定部２８が記憶する命令には含まれない命令を複数選び出し、選び出した命令列を組み合わせることにより、命令列を生成する。その命令列は、情報処理装置６がランダム試験にて処理するプログラム（以降、「ランダム試験プログラム」と表す）を表す。次に、試験命令実行部３０は、情報処理装置６に、該命令列を処理することを命じる。次に、実行結果判定部３１は、情報処理装置６から実行結果に関する情報を受け取り、受け取った情報に応じて情報処理装置６の状態を判定する。
【０００４】
しかしながら、実行可能命令には、命令を実行する前に所定の命令処理を行う前処理、あるいは、命令を実行した後に所定の命令処理を行う後処理を必要とする命令（以降、「要処理命令」と表す）が存在する。所定の命令処理は、あらかじめ、複数の命令を連続して並べることにより構成される命令列から成る（以降、前処理を構成する命令列を「前処理命令」、後処理を構成する命令列を「後処理命令」と表す）。前処理命令と後処理命令とは、所定の命令列であるため、情報処理装置６が実行する命令列におけるランダム性（乱雑さ、乱数性などとも表す）を低下させる。
【０００５】
特許文献２が開示する情報処理装置試験方法は、要処理命令と前処理命令との間、あるいは、要処理命令と後処理命令との間に、新たな命令を追加し、追加することにより得られた命令をランダム試験プログラムとして出力する。即ち、その情報処理装置試験方法において、前処理命令、あるいは、後処理命令が、所定の命令列である。そのため、要処理命令が頻出するランダム試験プログラムは、ランダム性が低下する。
【０００６】
特許文献３が開示する論理検証方式は、予め決められた命令列を複数組み合わせ、その組み合わせをテスト命令列として出力する。該論理検証方式は、上述した方法により大規模なテスト命令列を作成する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開昭６２−１００８４６号公報
【特許文献２】特開平０２−１１５９４０号公報
【特許文献３】特開２００２−１５７１４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ランダム試験を実施するためのコンピュータ・プログラム（以降、単に「プログラム」と表す）には、乱数あるいは乱数発生プログラムを使って発生させた擬似乱数（以降、これらの乱数をまとめて、「乱数」と表記する）に従い、命令をランダムに複数個選択し、選んだ複数の命令を実施する方法が存在する。ある特定の命令を実施するためには、所定の命令列を実施する前処理命令、あるいは所定の命令列を実施する後処理命令が必要になる。しかしながら、前処理命令と後処理命令とが所定の命令列を含む処理であるため、そのランダム試験を構成する命令列は、該特定の命令前後で決まってしまう。その結果、該ランダム試験において、処理のランダム性は低下する。そのため、ランダム試験としては、必ずしも目的が達成しているとは言えない。
【０００９】
そこで、本発明の主たる目的は、ランダム性の高いテストを実施するテスト装置等を提供することである。
【課題を解決するための手段】
【００１０】
前述の目的を達成するために、本発明に係るテスト装置は、以下の構成を備えることを特徴とする。
【００１１】
即ち、本発明に係るテスト装置は、
情報処理装置が処理することができる命令を、組み合わせることによって構成された複数の命令列からランダムに第１命令列を取り出す選択部と、
前記第１命令列が複数の前記命令から構成される場合に、ランダムに前記命令列を挿入命令列として選び、該挿入命令列を、前記第１命令列を構成する前記命令間に挿入し、挿入後の命令列を第２命令列とする第１処理を行い、
前記第１命令列が１個の前記命令から構成される場合に、前記第１命令列を前記第２命令列とする挿入部と、
前記第２命令列を並べることにより第３命令列を作成する生成部と、
前記第３命令列の処理を前記情報処理装置に命ずる実施部とを備え、
前記挿入部は、１度以上前記第１処理を行う
ことを特徴とする。
【００１２】
また、本発明の他の見地として、本発明に係るテスト方法は、
情報処理装置が処理することができる命令を、組み合わせることによって構成された複数の命令列からランダムに第１命令列を取り出し、前記第１命令列が複数の前記命令から構成される場合に、ランダムに前記命令列を挿入命令列として選び、該挿入命令列を、前記第１命令列を構成する前記命令間に挿入し、挿入後の命令列を第２命令列とする処理を１度以上行い、前記第１命令列が１個の前記命令から構成される場合に、前記第１命令列を前記第２命令列とし、前記第２命令列を並べることにより第３命令列を作成し、前記第３命令列の処理を前記情報処理装置に命じる
ことを特徴とする。
【発明の効果】
【００１３】
本発明に係るテスト装置等によれば、高いランダム性を有するテストを実施することができる。
【発明を実施するための形態】
【００１４】
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００１５】
＜第１の実施形態＞
本発明の第１の実施形態に係るテスト装置が有する構成と、そのテスト装置が行う処理とについて、図１と図２とを参照しながら詳細に説明を行う。図１は、本発明の第１の実施形態に係るテスト装置１の構成を示すブロック図である。図２は、本発明の第１の実施形態に係るテスト装置１における処理の流れを示すフローチャートである。
【００１６】
図１を参照すると、本発明の第１の実施形態に係るテスト装置１は、選択部２と、挿入部３と、生成部４と、実施部５とを有する。テスト装置１は、ランダム試験を行う対象である情報処理装置６と繋がる。テスト装置１は、情報処理装置６が実行することができる命令（以降、「実行可能命令」とも表す）を命令７から読み取る。
【００１７】
例えば、情報処理装置６は、図３に示すような命令を実行する。図３は、本発明の第１の実施形態に係るテスト装置１の入力となる実行可能命令列を表す概念図である。図３におけるａ１、ａ２、ａ３、ａ４、ｂ１、ｂ２、ｂ３などの表記は、それぞれ、情報処理装置６において実行することができる１個の命令を概念的に表す。図３における１行目には、「ａ１、ａ２、ａ３、ａ４」という４個の命令が存在する。「ａ１、ａ２、ａ３、ａ４」という表記は、情報処理装置６がａ１を実行し、次にａ２を実行し、次にａ３を実行し、次にａ４を実行することを表す。以降では、命令が１個以上の実行可能命令を有するとき、一連の命令をまとめて命令列（あるいは、「実行可能命令列」）とも表現する。
【００１８】
まず、選択部２は、命令７の中から１個以上の第１命令列をランダムに選ぶ（ステップＳ１）。図４は、本発明の第１の実施形態に係る選択部２が選ぶ命令列を表す概念図である。図４を参照すると、例えば、選択部２は、「ｂ１、ｂ２、ｂ３」、「ｃ１」、「ｄ１、ｄ２」、「ａ１、ａ２、ａ３、ａ４」という４個の第１命令列を順に選ぶ。
【００１９】
次に、挿入部３は、第１命令列が命令を２個以上有するか否かを判定する（ステップＳ２）。例えば、図４の例において、挿入部３は、「ｂ１、ｂ２、ｂ３」という第１命令列が「ｂ１」、「ｂ２」、「ｂ３」という３個の命令を有すると判定する（ステップＳ２においてＹＥＳと判定）。また、挿入部３は、「ｃ１」という第１命令列が、「ｃ１」という１個の命令を有すると判定する（ステップＳ２においてＮＯと判定）。
【００２０】
挿入部３は、第１命令列が命令を２個以上有すると判定する場合（ステップＳ２においてＹＥＳと判定）、第１命令列における各命令間に、ランダムに選んだ１個以上の命令列を挿入することにより、第２命令列を作成する（ステップＳ３）。また、挿入部３は、第１命令列が命令を２個以上有さないと判定する場合（ステップＳ２においてＮＯと判定）、第１命令列を第２命令列とする（ステップＳ４）。
【００２１】
図５は、本発明の第１の実施形態に係る挿入部３が作成する第２命令列を表す概念図である。図４と図５とを参照しながら、挿入部３が行う処理の例について説明する。例えば、挿入部３は、上述したように「ｂ１、ｂ２、ｂ３」という第１命令列が命令を２個以上有すると判定するため、「ｂ１」と「ｂ２」との間と、「ｂ２」と「ｂ３」との間とに、ランダムに選んだ１個以上の命令列を挿入する。図５を参照すると、挿入部３は、例えば、「ｂ１」と「ｂ２」との間に、「ｃ１」という命令列を２個挿入する。次に、挿入部３は、「ｂ２」と「ｂ３」との間に、「ｄ１、ｄ２」という命令列を１個挿入する。次に、挿入部３は、「ｂ１、ｃ１、ｃ１、ｂ２、ｄ１、ｄ２、ｂ３」という第２命令列を作成する。また、挿入部３は、「ｃ１」という第１命令列が命令を２個以上有さないと判定するため、「ｃ１」という第２命令列を作成する。
【００２２】
次に、生成部４は、第２命令列を並べることにより、第３命令列を作成する（ステップＳ５）。図５の例において、生成部４は、例えば、１行目から順に並べ、「ｂ１、ｃ１、ｃ１、ｂ２、ｄ１、ｄ２、ｂ３、ｃ１、ｄ１、ａ１、ａ２、ａ３、ａ４、ｃ１、ｄ２、・・・」という第３命令列を作成する。生成部４は、必ずしも、挿入部３が作成する第２命令列を順に並べる必要はなく、第２命令列の単位でランダムに並び替えてもよいし、逆の順序で並べても良いし、一部の第２命令列だけを並べても良い。並べる方法は、上述した例には限定されない。
【００２３】
次に、実施部５は、情報処理装置６に第３命令列の処理を命じる（ステップＳ６）。例えば、上述した例においては、実施部５は、「ｂ１、ｃ１、ｃ１、ｂ２、ｄ１、ｄ２、ｂ３、ｃ１、ｄ１、ａ１、ａ２、ａ３、ａ４、ｃ１、ｄ２、・・・」という命令列を情報処理装置６に命ずる。すると、情報処理装置６は、「ｂ１、ｃ１、ｃ１、ｂ２、ｄ１、ｄ２、ｂ３、ｃ１、ｄ１、ａ１、ａ２、ａ３、ａ４、ｃ１、ｄ２、・・・」という命令列を処理する。
【００２４】
特許文献１乃至特許文献３が開示するテスト装置は、ある命令を実行する前に行う一連の命令（以降、「前処理命令列」と表す）と、ある命令を実行した後に行う一連の命令（以降、「後処理命令列」と表す）とを組み合わせることにより、ランダム試験を行うための命令列を作成する。そのため、前処理命令列、あるいは、後処理命令列において、情報処理装置６が処理する命令は、必ず同じになる。そのため、特許文献１乃至特許文献３が開示するテスト装置は、ランダム試験を行う装置であるにもかかわらず、特定の命令列が複数出現する命令列を作成する。
【００２５】
一方、本発明における第１の実施形態に係るテスト装置１は、情報処理装置６が処理を行う一連の命令（命令列）における各命令間に、ランダムに選んだ命令列を１個以上挿入する。即ち、本発明における第１の実施形態に係るテスト装置１は、特定の命令列を、ランダムに選んだ命令列を有する命令列に変換する。そのため、本発明における第１の実施形態に係るテスト装置１によれば、特定の命令列が出現する頻度は低減し、高いランダム性を有した命令を作成することができる。
【００２６】
即ち、本発明における第１の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。
【００２７】
＜第２の実施形態＞
次に、上述した第１の実施形態を基本とする第２の実施形態について説明する。
【００２８】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００２９】
図６と図７とを参照しながら、本発明の第２の実施形態に係るテスト装置９、そのテスト装置が行う処理とについてについて説明を行う。図６は、本発明の第２の実施形態に係るテスト装置９の構成を示すブロック図である。図７は、本発明の第２の実施形態に係るテスト装置９における処理の流れを示すフローチャートである。
【００３０】
図６を参照すると、テスト装置９は、読み取り部８を更に有する。テスト装置９は、実行可能命令を命令１０から読み取る。命令１０の例を図８に示す。図８は、本発明の第２の実施形態に係る読み取り部８が読み取る命令列を表す概念図である。
【００３１】
図８を参照すると、命令列は、実行可能命令と、前処理命令列と、後処理命令列とから構成される。例えば、実行可能命令「ｂ２」は、前処理命令列「ｂ１」と、後処理命令列「ｂ３」と関連付けされている。また、実行可能命令「ｄ２」は、前処理命令列「ｄ１」と関連付けされているが、後処理命令列とは関連付けされていない。
【００３２】
読み取り部８は、命令１０から実行可能命令と、前処理命令列と、後処理命令列とを読み取る（ステップＳ７）。次に、読み取り部８は、読み取った情報を、前処理命令列、実行可能命令、後処理命令列の順に並べることにより、実行可能命令列を作成する（ステップＳ８）。例えば、読み取り部８は、実行可能命令「ｂ２」と、前処理命令列「ｂ１」と、後処理命令列「ｂ３」とを読み取り、読み取った命令を上述したように並べることにより、「ｂ１、ｂ２、ｂ３」という命令列を作成する。
【００３３】
読み取り部８は、第１の実施形態における入力とは異なる形式の入力であっても、テスト装置９が第１の実施形態と同様の処理を行うことを可能にする。
【００３４】
即ち、本発明における第２の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。
【００３５】
＜第３の実施形態＞
次に、上述した第１の実施形態を基本とする第３の実施形態について説明する。
【００３６】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００３７】
図９と図１０とを参照しながら、本発明の第３の実施形態に係るテスト装置１２が有する構成と、テスト装置１２が行う処理とについて説明を行う。図９は、本発明の第３の実施形態に係るテスト装置１２の構成を示すブロック図である。図１０は、本発明の第３の実施形態に係るテスト装置１２における処理の流れを示すフローチャートである。
【００３８】
図９を参照すると、第３の実施形態に係るテスト装置１２は、挿入部１１を有する。挿入部１１は、第１命令列が２個以上の命令を含むと判定すると（ステップＳ２においてＹＥＳと判定）、第１命令列が含む各命令間に挿入する命令列（以降、「挿入命令列」と略記する）として、それぞれ、１個以上の命令列をランダムに選ぶ（ステップＳ９）。
【００３９】
挿入部１１は、選んだ各挿入命令列が２個以上の命令を含むと判定する（ステップＳ１０にてＹＥＳと判定）と、該挿入命令列が含む各命令間に挿入する命令列として、それぞれ、１個以上の命令列をランダムに選ぶ。次に、挿入部１１は、新たに選んだ命令列を、該挿入命令列が含む各命令間に、それぞれ挿入することによって得られる命令列を第２挿入命令列とする（ステップＳ１１）。
【００４０】
挿入部１１は、選んだ各挿入命令列が２個以上の命令を含まないと判定する（ステップＳ１０にてＮＯと判定）と、該挿入命令列を第２挿入命令列とする（ステップＳ１２）。
【００４１】
次に、挿入部１１は、各挿入命令列について作成した第２挿入命令列を、第１命令列が含む各命令間にそれぞれ挿入し、得られた命令列を第２命令列とする（ステップＳ１３）。
【００４２】
例えば、第２の実施形態で例示した例において、選択部２は「ｂ１、ｂ２、ｂ３」という第１命令列を選ぶとする。次に、挿入部１１は、「ｂ１」と「ｂ２」との間に挿入するランダムに選んだ第１Ａ挿入命令列と、「ｂ２」と「ｂ３」との間に挿入するランダムに選んだ第１Ｂ挿入命令列とを選ぶ。第１Ａ挿入命令列が「ｃ１」であり、第１Ｂ挿入命令列が「ｄ１、ｄ２」であるとする。挿入部１１は、第１Ａ挿入命令列である「ｃ１」に対し、選んだ第１Ａ挿入命令列が２個以上の命令を含まないと判定するため、「ｃ１」を第２挿入命令列とする。
【００４３】
挿入部１１は、挿入命令列である「ｄ１、ｄ２」に対しては、選んだ第１Ｂ挿入命令列が２個以上の命令を含むと判定するため、「ｄ１」と「ｄ２」との間に、ランダムに選んだ挿入命令列を挿入する。例えば、該選んだ挿入命令列が「ｃ１」であるとすると、挿入部１１は、「ｄ１、ｃ１、ｄ２」を第２挿入命令列とする。
【００４４】
次に、挿入部１１は、「ｂ１、ｂ２、ｂ３」に各第２挿入命令列を挿入することによって、「ｂ１、ｃ１、ｂ２、ｄ１、ｃ１、ｄ２、ｂ３」という第２命令列を作成する。
【００４５】
本発明における第３の実施形態に係るテスト装置１２は、選んだ各挿入命令列が複数の命令を含むと判定する場合、さらに、挿入命令列における各命令間に、ランダムに選んだ命令列を挿入する。そのように処理することにより、作成する命令列は、さらに、ランダム試験に適したものとなる。
【００４６】
即ち、本発明における第３の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。
【００４７】
＜第４の実施形態＞
次に、上述した第３の実施形態を基本とする第４の実施形態について説明する。
【００４８】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第３の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００４９】
図１１と図１２とを参照しながら、本発明の第４の実施形態に係るテスト装置１４が有する構成と、テスト装置１４が行う処理とについて説明を行う。図１１は、本発明の第４の実施形態に係るテスト装置１４の構成を示すブロック図である。図１２は、本発明の第４の実施形態に係るテスト装置１４における処理の流れを示すフローチャートである。
【００５０】
図１１を参照すると、第４の実施形態に係るテスト装置１４は、挿入部１３を有する。挿入部１３は、本発明の第３の実施形態に係るテスト装置における挿入命令列が複数の命令を含む場合において、該複数の命令間に命令列を挿入する処理を、再帰的に繰り返し実施する。
【００５１】
即ち、挿入部１３は、挿入命令列における命令間にランダムに、選んだ１つ以上の命令列を挿入する（ステップＳ１４）。そのときに、挿入部１３は、選んだ命令列が２つ以上の命令を含むと判定する場合（ステップＳ１５にてＹＥＳと判定）、選んだ各命令列を挿入命令列、即ち、ステップＳ１４における処理の入力とする（ステップＳ１６）。
【００５２】
挿入部１３は、選んだ命令列が２つ以上の命令を含むと判定しない場合（ステップＳ１５にてＮＯと判定）、選んだ命令列に対する処理を全て終了したか否かを判定する。挿入部１３は、選んだ命令列に対する処理を全て終了したと判定すると（ステップＳ１７にてＹＥＳと判定）、処理を終える。挿入部１３は、選んだ命令列に対する処理を終了していないと判定すると（ステップＳ１７にてＮＯと判定）、処理を終了していない該選んだ命令列に対して、ステップＳ１５の処理を行う。
【００５３】
本発明における第４の実施形態に係るテスト装置１４は、命令列を挿入する処理を再帰的に繰り返し実施するため、更に高いランダム性を有するテストを実施することができる。
【００５４】
即ち、本発明における第４の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。
【００５５】
＜第５の実施形態＞
次に、上述した第１の実施形態を基本とする第５の実施形態について説明する。
【００５６】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００５７】
図１３と図１４とを参照しながら、本発明の第５の実施形態に係るテスト装置１７が有する構成と、そのテスト装置１７が行う処理とについて説明を行う。図１３は、本発明の第５の実施形態に係るテスト装置１７の構成を示すブロック図である。図１４は、本発明の第５の実施形態に係るテスト装置１７における処理の流れを示すフローチャートである。
【００５８】
図１３を参照すると、第５の実施形態に係るテスト装置１７は、生成部１５と作成部１６とを有する。生成部１５は、挿入部３が作成した第２命令列を情報処理装置６が処理するデータをランダムに選ぶ（ステップＳ１８）。例えば、生成部１５は、各命令を処理するために必要なデータを記憶する外部記憶装置（図１３において不図示）を参照し、その中から第２命令列における各命令に要するデータを選び出しても良い。あるいは、第２命令列における各命令が数値データを処理する場合に、生成部１５は、ランダムに数値データを作成しても良い。ランダムにデータを選ぶ方法は、上述した方法に限定されない。
【００５９】
次に、作成部１６は、第２命令列と、上述のように選んだデータとを関連付けすることにより、第３命令列を作成する（ステップＳ１９）。
【００６０】
本発明における第５の実施形態に係るテスト装置１７は、情報処理装置６が処理するデータをランダムに選び出す。テスト装置１７は、同じ命令を処理する命令列であっても、異なるデータを作成するため、本発明における第５の実施形態に係るテスト装置１７によれば、作成するテストは、さらに、ランダム試験にふさわしいプログラムとなる。
【００６１】
即ち、本発明における第５の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。
【００６２】
＜第６の実施形態＞
次に、上述した第１の実施形態を基本とする第６の実施形態について説明する。
【００６３】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００６４】
図１５と図１６とを参照しながら、本発明の第６の実施形態に係るテスト装置２０が有する構成と、テスト装置２０が行う処理とについて説明を行う。図１５は、本発明の第６の実施形態に係るテスト装置２０の構成を示すブロック図である。図１６は、本発明の第６の実施形態に係るテスト装置２０における処理の流れを示すフローチャートである。
【００６５】
図１５を参照すると、第６の実施形態に係るテスト装置２０は、実施部１８と判断部１９とを更に有する。実施部１８は、情報処理装置６における先行制御を有効にし（ステップＳ２０）、次に、生成部４が生成する第３命令列の処理を情報処理装置６に命ずる（ステップＳ２１）。次に、情報処理装置６は、該第３命令列の処理を実行することより得られた結果を実施部１８に送る。実施部１８は、情報処理装置６が送信した実行結果を受け取る（ステップＳ２２）。実行結果は、レジスタの値や、第３命令列がアクセスしたメモリの値などを含む。
【００６６】
次に、実施部１８は、情報処理装置６における先行制御を無効にし（ステップＳ２３）、次に、生成部４が生成する第３命令列の処理を情報処理装置６に命ずる（ステップＳ２４）。先行制御を無効する方法は、情報処理装置６が第３命令列の各命令を実行するたびに、割り込みを発生することで実現することができる。次に、情報処理装置６は、該第３命令列の処理を実行することにより得られた結果を実施部１８に送る。実施部１８は、情報処理装置６が送信した実行結果を受け取る（ステップＳ２５）。
【００６７】
次に、判断部１９は、実施部１８における上述した２つの実行結果を比較し、該２つの実行結果が一致しないと判定した場合（ステップＳ２６にてＮＯと判定）に、エラー情報を出力する（ステップＳ２７）。判断部１９は、該２つの実行結果が一致すると判定した場合（ステップＳ２６にてＹＥＳと判定）に、エラー情報を出力しない。
【００６８】
上述した例において、実施部１８は、情報処理装置６が第３命令列の各命令を実行した後に、実行結果を受け取るとしたが、各命令を実行するたびに実行結果を受け取ることでも、同様の機能を実現できる。あるいは、実施部１８は、情報処理装置６が第３命令列における一部の命令を実行した後に、実行結果を受け取ることもできる。
【００６９】
即ち、本発明における第６の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。さらに、本発明における第６の実施形態に係るテスト装置によれば、情報処理装置６が第３命令列を処理するときに発生する可能性があるエラーを検出することができる。
【００７０】
＜第７の実施形態＞
次に、上述した第１の実施形態を基本とする第７の実施形態について説明する。
【００７１】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００７２】
図１７と図１８とを参照しながら、本発明の第７の実施形態に係るテスト装置２２が有する構成と、そのテスト装置２２が行う処理とについて説明を行う。図１７は、本発明の第７の実施形態に係るテスト装置２２の構成を示すブロック図である。図１８は、本発明の第７の実施形態に係るテスト装置２２における処理の流れを示すフローチャートである。
【００７３】
図１７を参照すると、第７の実施形態に係るテスト装置２２は、終了部２１を有する。終了部２１は、終了信号を受信すると（ステップＳ２８にてＹＥＳと判定）、その後、第１の実施形態乃至第６の実施形態における処理を終了する（ステップＳ２９）。終了部２１は、終了信号を受信しないと（ステップＳ２８にてＮＯと判定）、第１の実施形態乃至第６の実施形態における処理を実施する（ステップＳ３４）。
【００７４】
本発明における第７の実施形態に係るテスト装置２２によれば、第１の実施形態乃至第６の実施形態により得られる効果に加え、外部からランダム試験の実行を制御することが可能になる。
【００７５】
即ち、本発明における第７の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。
【００７６】
＜第８の実施形態＞
次に、上述した第１の実施形態を基本とする第８の実施形態について説明する。
【００７７】
以下の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第１の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
【００７８】
図１９と図２０とを参照しながら、本発明の第８の実施形態に係るテスト装置２７が有する構成と、テスト装置２７が行う処理とについて説明を行う。図１９は、本発明の第８の実施形態に係るテスト装置２７の構成を示すブロック図である。図２０は、本発明の第８の実施形態に係るテスト装置２７における処理の流れを示すフローチャートである。
【００７９】
図１９を参照すると、本発明の第８の実施形態に係るテスト装置２７は、選択部２３と、挿入部２４と、生成部２５と、記憶部２６とを有する。まず、選択部２３は、命令７から、複数の実行可能命令列を選ぶ（ステップＳ３０）。次に、挿入部２４は、選んだ各々の実行可能命令列に対し、本発明における第１の実施形態にて説明したような第１処理を行う（ステップＳ３１）。次に、挿入部２４は、上述のように作成した第２命令列を記憶部２６に記憶させる（ステップＳ３２）。次に、生成部２５は、記憶部２６が記憶する第２命令列をランダムに取り出し、取り出した第２命令列を並べることにより第３命令列を作成する（ステップＳ３３）。
【００８０】
本発明における第８の実施形態に係るテスト装置２７は、上述したように挿入部２４が記憶部２６に第２命令列を記憶させるため、１つの実行可能命令列に対し第１処理を実行する必要がなくなる。そのため、本発明における第８の実施形態に係るテスト装置２７によれば、第１処理を減らすことができることに加え、本発明の第１の実施形態が有する効果をそのまま保持する。
【００８１】
即ち、本発明における第８の実施形態に係るテスト装置によれば、高いランダム性を有するテストを実施することができる。
【００８２】
（ハードウェア構成例）
図２１は、本発明の各実施形態に係るテスト装置を実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。
【００８３】
次に、上述した本発明の各実施形態におけるテスト装置を、１つの計算処理装置（情報処理装置、コンピュータ）を用いて実現するハードウェア資源の構成例について説明する。但し、係るテスト装置は、物理的または機能的に少なくとも２つの計算処理装置を用いて実現してもよい。また、係るテスト装置は、専用の装置として実現してもよい。
【００８４】
図２１は、本発明の第１の実施形態乃至本発明の第８の実施形態に係るテスト装置を実現可能な計算処理装置のハードウェア構成を概略的に示す図である。計算処理装置３３は、中央処理演算装置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、以降「ＣＰＵ」と表す）３４、メモリ３５、ディスク３６、不揮発性記録媒体３７、入力装置３８、および、出力装置３９を有する。
【００８５】
不揮発性記録媒体３７は、例えば、コンパクトディスク（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、デジタルバーサタイルディスク（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ブルーレイディスク（Ｂｌｕ−ｒａｙ  Ｄｉｓｃ）、ユニバーサルシリアルバスメモリ（ＵＳＢメモリ）などを指しており、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体３７は、上述した媒体に限定されない。また、不揮発性記録媒体３７の代わりに、通信ネットワークを介して係るプログラムを持ち運びしても良い。
【００８６】
即ち、ＣＰＵ３４は、ディスク３６が記憶するソフトウェア・プログラム（コンピュータ・プログラム：以下、単に「プログラム」と称する）を、実行時にメモリ３５にコピーし、演算処理を実行する。ＣＰＵ３４は、プログラム実行に必要なデータをメモリ３５から読み込む。表示が必要な場合には、ＣＰＵ３４は、出力装置３９に出力結果を表示する。外部からプログラムを入力する場合、ＣＰＵ３４は、入力装置３８からプログラムを読み取る。ＣＰＵ３４は、メモリ３５にあるテストプログラム（図２、図７、図１０、図１２、図１４、図１６、図１８、図２０）を解釈し実行を行う。ＣＰＵ３４は、上述した本発明の各実施形態において説明した処理を順次行う。
【００８７】
即ち、このような場合、本発明は、係るテストプログラムによっても成し得ると捉えることができる。更に、係るテストプログラムが記録されたコンピュータ読み取り可能な記録媒体によっても、本発明は成し得ると捕らえることができる。
【図面の簡単な説明】
【００８８】
【図１】本発明の第１の実施形態に係るテスト装置の構成を示すブロック図である。
【図２】本発明の第１の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
【図３】本発明の第１の実施形態に係るテスト装置の入力となる実行可能命令列を表す概念図である。
【図４】本発明の第１の実施形態に係る選択部が選ぶ命令列を表す概念図である。
【図５】本発明の第１の実施形態に係る挿入部が作成する第２命令列を表す概念図である。
【図６】本発明の第２の実施形態に係るテスト装置の構成を示すブロック図である。
【図７】本発明の第２の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
【図８】本発明の第２の実施形態に係る読み取り部が読み取る命令列を表す概念図である。
【図９】本発明の第３の実施形態に係るテスト装置の構成を示すブロック図である。
【図１０】本発明の第３の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
【図１１】本発明の第４の実施形態に係るテスト装置の構成を示すブロック図である。
【図１２】本発明の第４の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
【図１３】本発明の第５の実施形態に係るテスト装置の構成を示すブロック図である。
【図１４】本発明の第５の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
【図１５】本発明の第６の実施形態に係るテスト装置の構成を示すブロック図である。
【図１６】本発明の第６の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
【図１７】本発明の第７の実施形態に係るテスト装置の構成を示すブロック図である。
【図１８】本発明の第７の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
【図１９】本発明の第８の実施形態に係るテスト装置の構成を示すブロック図である。
【図２０】本発明の第８の実施形態に係るテスト装置における処理の流れを示すフローチャートである。
【図２１】本発明の各実施形態に係るテスト装置を実現可能な計算処理装置のハードウェア構成を、概略的に示すブロック図である。
【図２２】本発明に関連するテスト装置の構成を示すブロック図である。
【符号の説明】
【００８９】
１    テスト装置
２    選択部
３    挿入部
４    生成部
５    実施部
６    情報処理装置
７    命令
８    読み取り部
９    テスト装置
１０    命令
１１    挿入部
１２    テスト装置
１３    挿入部
１４    テスト装置
１５    生成部
１６    作成部
１７    テスト装置
１８    実施部
１９    判断部
２０    テスト装置
２１    終了部
２２    テスト装置
２３    選択部
２４    挿入部
２５    生成部
２６    記憶部
２７    テスト装置
２８    抑止命令指定部
２９    ランダム試験プログラム生成部
３０    試験命令実行部
３１    実行結果判定部
３２    テスト装置
３３    計算処理装置
３４    ＣＰＵ
３５    メモリ
３６    ディスク
３７    不揮発性記録媒体
３８    入力装置
３９    出力装置
【図１】
2014026575.tif 000003
【図２】
2014026575.tif 000004
【図３】
2014026575.tif 000005
【図４】
2014026575.tif 000006
【図５】
2014026575.tif 000007
【図６】
2014026575.tif 000008
【図７】
2014026575.tif 000009
【図８】
2014026575.tif 000010
【図９】
2014026575.tif 000011
【図１０】
2014026575.tif 000012
【図１１】
2014026575.tif 000013
【図１２】
2014026575.tif 000014
【図１３】
2014026575.tif 000015
【図１４】
2014026575.tif 000016
【図１５】
2014026575.tif 000017
【図１６】
2014026575.tif 000018
【図１７】
2014026575.tif 000019
【図１８】
2014026575.tif 000020
【図１９】
2014026575.tif 000021
【図２０】
2014026575.tif 000022
【図２１】
2014026575.tif 000023
【図２２】
2014026575.tif 000024