WO2009096322A1 - プログラムテスト装置、およびプログラム - Google Patents

プログラムテスト装置、およびプログラム Download PDF

Info

Publication number
WO2009096322A1
WO2009096322A1 PCT/JP2009/051035 JP2009051035W WO2009096322A1 WO 2009096322 A1 WO2009096322 A1 WO 2009096322A1 JP 2009051035 W JP2009051035 W JP 2009051035W WO 2009096322 A1 WO2009096322 A1 WO 2009096322A1
Authority
WO
WIPO (PCT)
Prior art keywords
test
program
information
target program
unit
Prior art date
Application number
PCT/JP2009/051035
Other languages
English (en)
French (fr)
Inventor
Masaru Nishimura
Original Assignee
Tokyo Electron Limited
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 Tokyo Electron Limited filed Critical Tokyo Electron Limited
Priority to KR1020107017334A priority Critical patent/KR101110241B1/ko
Priority to DE112009000211T priority patent/DE112009000211T5/de
Priority to CN2009801037903A priority patent/CN101925883A/zh
Priority to US12/864,686 priority patent/US20100312541A1/en
Publication of WO2009096322A1 publication Critical patent/WO2009096322A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

Abstract

【課題】従来の群管理システムにおいては、プロセスパラメータの変更が影響し得る1以上のレシピを容易に知ることができない、という課題があった。 【解決手段】2以上の制御装置が保持しているプロセスに関する情報である2以上のレシピを、前記2以上の制御装置に各々対応付けて格納しているレシピ格納部と、レシピに含まれるプロセスパラメータについての情報であるプロセスパラメータ情報を受け付ける受付部と、前記プロセスパラメータ情報を用いて、前記レシピ格納部からレシピを検索し、当該検索したレシピについての情報であるレシピ情報を取得するレシピ情報取得部と、前記レシピ情報取得部が取得したレシピ情報を出力する出力部を具備するプロセス情報管理装置により、プロセスパラメータの変更が影響し得る1以上のレシピを容易に知ることができる。

Description

プログラムテスト装置、およびプログラム
 本発明は、主として、半導体製造装置等のハードウェアを制御するプログラムをテストするプログラムテスト装置等に関するものである。
 従来のプログラムテスト装置において、自動的にプログラムのテストを繰り返し行えるプログラム開発装置があった(例えば、特許文献1参照)。本装置は、以下の動作を行う、つまり、自動テスト装置にテストを行いたい命令を入力し、自動テスト装置が状態監視装置に、エミュレーション装置が自動テスト装置からの命令を、受信可能かどうかを問合わせる。命令受信可能であれば命令をエミュレーション装置へ送信する。エミュレーション装置は受信した命令でテストプログラムを実行し、実行結果を自動テスト装置に送信する。自動テスト装置は実行結果を保存し、全ての命令について繰り返し行うことでテストプログラムのテストを行う。
特開2003-22199号公報(第1頁、第1図等)
 しかしながら、従来のプログラムテスト装置においては、正常応答以外に異常応答や動作不良などのテストを行う際に、通常、シミュレータ側の動作を手作業で変更してテストを実施していた。そのため、異常応答や動作不良の場合のテストに、手作業が介在し、テストが煩雑であり、ミスも生じ得た。
 本第一の発明のプログラムテスト装置は、テスト対象のプログラムであるテスト対象プログラムを格納しているテスト対象プログラム格納部と、ハードウェアの動作をシミュレートするプログラムであり、テスト対象プログラムから渡される情報であるプログラム情報と動作パターンとに応じた動作を行うプログラムであるシミュレータプログラムを格納しているシミュレータプログラム格納部と、前記テスト対象プログラムをテストするために当該テスト対象プログラムに与える情報である入力情報と動作パターンとを有するテスト情報を受け付けるテスト情報受付部と、前記テスト情報が有する動作パターンを取得し、前記シミュレータプログラムに渡すテスト制御部と、前記テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行し、かつ、当該テスト対象プログラムの実行結果であるプログラム情報と、前記テスト制御部が前記シミュレータプログラムに渡した動作パターンとを用いて前記シミュレータプログラムを実行する実行部とを具備するプログラムテスト装置である。
 かかる構成により、シミュレータプログラムの動作パターンを自動的に切り替えてテストを行うことができる。そのため、特に、ハードウェアがエラーの場合のテスト対象プログラムのテストも自動的に容易にできる。
 また、本第二の発明のプログラムテスト装置は、第一の発明に対して、2以上のテスト情報を格納しているテスト情報格納部と、前記テスト情報格納部から2以上のテスト情報を、順次、読み出し、前記テスト情報受付部に渡す自動テスト部とをさらに具備するプログラムテスト装置である。
 かかる構成により、2以上のテスト項目について、自動的にテストできる。
 また、本第三の発明のプログラムテスト装置は、第二の発明に対して、前記テスト情報は、テスト対象プログラムの正常な動作結果である正解情報をも有し、前記実行部における前記テスト対象プログラムの動作結果を取得し、当該動作結果と、前記テスト情報が有する正解情報を用いて、テストの正常または異常を判断し、当該判断結果を出力するテスト結果判断部をさらに具備するプログラムテスト装置である。
 かかる構成により、テスト結果の正常/異常の自動判断ができる。
 また、本第四の発明のプログラムテスト装置は、第一から第三いずれかの発明に対して、前記テスト情報は、前記シミュレータプログラムが動作に用いるIO値をも有し、前記テスト制御部は、前記テスト情報が有する動作パターンおよびIO値を取得し、前記シミュレータプログラムに渡し、前記実行部は、前記テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行し、かつ、当該テスト対象プログラムの実行結果であるプログラム情報と、前記テスト制御部が前記シミュレータプログラムに渡した動作パターンおよびIO値とを用いて前記シミュレータプログラムを実行するプログラムテスト装置である。
 かかる構成により、シミュレータプログラムの動作パターンを自動的に切り替えて、かつ、シミュレータプログラムが用いるIO値を自動的に変更して、テストを行うことができる。そのため、特に、ハードウェアがエラーの場合のテスト対象プログラムのテストも自動的に容易にできる。
 また、本第五の発明のプログラムテスト装置は、第一から第三いずれかの発明に対して、前記テスト制御部は、前記シミュレータプログラムの動作結果であるIO値を取得し、出力する処理をも行うプログラムテスト装置である。
 かかる構成により、テスト対象プログラムの動作結果を正確に把握、かつ判断できる。
 また、本第六の発明のプログラムテスト装置は、第一から第五いずれかの発明に対して、前記動作パターンは、少なくとも正常パターンと異常パターンを有するプログラムテスト装置である。
 かかる構成により、少なくとも正常パターンと異常パターンの両方のテストが自動的にできる。
 また、本第七の発明のプログラムテスト装置は、テスト対象のプログラムであり、ハードウェアの制御を行うプログラムであるテスト対象プログラムを格納しているテスト対象プログラム格納部と、ハードウェアのエラーの動作をシミュレートするプログラムであるシミュレータプログラムを格納しているシミュレータプログラム格納部と、前記テスト対象プログラムをテストするために当該テスト対象プログラムに与える情報である入力情報と動作パターンとを有するテスト情報を受け付けるテスト情報受付部と、前記テスト情報が有する動作パターンを取得するテスト制御部と、前記テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行し、かつ、前記テスト制御部が取得した動作パターンが正常パターンであれば、前記テスト対象プログラムの実行結果であるプログラム情報をハードウェアに渡し、ハードウェアを動作させ、前記テスト制御部が取得した動作パターンが正常パターンでなければ、当該テスト対象プログラムの実行結果であるプログラム情報を用いて前記シミュレータプログラムを実行する実行部を具備するプログラムテスト装置である。
 かかる構成により、エラー状態を発生させにくいハードウェア上で動作するテスト対象プログラムであっても、正常時、および異常時の両方に対して、テストが行える。
 また、本第八の発明のプログラムテスト装置は、第七の発明に対して、2以上のテスト情報を格納しているテスト情報格納部と、前記テスト情報格納部から2以上のテスト情報を、順次、読み出し、前記テスト情報受付部に渡す自動テスト部とをさらに具備するプログラムテスト装置である。
 かかる構成により、2以上のテスト項目について、自動的にテストできる。
 また、本第九の発明のプログラムテスト装置は、第八の発明に対して、前記テスト情報は、テスト対象プログラムの正常な動作結果である正解情報をも有し、前記実行部における前記テスト対象プログラムの動作結果を取得し、当該動作結果と、前記テスト情報が有する正解情報を用いて、テストの正常または異常を判断し、当該判断結果を出力するテスト結果判断部をさらに具備するプログラムテスト装置である。
 かかる構成により、テスト結果の正常/異常の自動判断ができる。
 本発明によるプログラムテスト装置によれば、テスト対象プログラムについて、ハードウェアがエラーの場合のテストも容易にできる。
 以下、プログラムテスト装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
 本実施の形態において、ハードウェア上で動作するソフトウェアのテストを行うプログラムテスト装置について説明する。
 図1は、本実施の形態におけるプログラムテスト装置のブロック図である。
 プログラムテスト装置1は、受付部11、テスト対象プログラム格納部12、シミュレータプログラム格納部13、テスト情報格納部14、自動テスト部15、テスト情報受付部16、テスト制御部17、実行部18、テスト結果判断部19を具備する。
 受付部11は、ユーザからの入力を受け付ける。受付部11が受け付ける入力は、例えば、テストの開始を指示するテスト開始指示などの各種指示や、テストに必要な情報(動作パターンやIO値などの情報)の入力等である。各種指示などの入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。受付部11は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
 テスト対象プログラム格納部12は、テスト対象のプログラムであるテスト対象プログラムを格納している。テスト対象プログラムは、通常、ハードウェアの制御プログラムである。また、テスト対象プログラムは、例えば、半導体製造装置やFPD製造装置などのハードウェアの制御プログラムである。テスト対象プログラム格納部12は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。テスト対象プログラム格納部12にテスト対象プログラムが記憶される過程は問わない。例えば、記録媒体を介してテスト対象プログラムがテスト対象プログラム格納部12で記憶されるようになってもよく、通信回線等を介して送信されたテスト対象プログラムがテスト対象プログラム格納部12で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたテスト対象プログラムがテスト対象プログラム格納部12で記憶されるようになってもよい。
 シミュレータプログラム格納部13は、シミュレータプログラムを格納している。シミュレータプログラムは、ハードウェアの動作をシミュレートするプログラムである。シミュレータプログラムは、通常、テスト対象プログラムから渡される情報であるプログラム情報と動作パターンとに応じた動作を行うプログラムである。プログラム情報とは、テスト対象プログラムの制御対象のハードウェアに渡されるデータ(情報)である。動作パターンとは、ハードウェアの動作のパターンであり、少なくとも正常であるパターンを示す正常パターンと異常であるパターンを示す異常パターンを有する。また、異常パターンは、応答しないパターンである非応答パターン、アラームを発生するパターンであるアラームパターン、途中の処理まで正常であり、その後異常になる途中正常パターンなどの2以上のパターンが存在していても良い。また、シミュレータプログラムは、例えば、いわゆるスタブと呼ばれるソフトウェアであり、テストに用いられるソフトウェアである。シミュレータプログラムは、当該シミュレータプログラムの動作結果であるIO値を書き込む処理を行っても良い。シミュレータプログラムは、例えば、同じ関数名またはメソッド名などを有する複数のプログラムを有し得る。複数のプログラムとは、例えば、正常パターンに対応する動作を行うプログラムと、異常パターンに対応する動作を行うプログラムである。IO値とは、ハードウェアが保持しており、テスト対象のプログラムの動作により、変更されたり、読み出されたりするある領域に記憶されている情報(データ)である。シミュレータプログラム格納部13は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。シミュレータプログラム格納部13にシミュレータプログラムが記憶される過程は問わない。例えば、記録媒体を介してシミュレータプログラムがシミュレータプログラム格納部13で記憶されるようになってもよく、通信回線等を介して送信されたシミュレータプログラムがシミュレータプログラム格納部13で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたシミュレータプログラムがシミュレータプログラム格納部13で記憶されるようになってもよい。
 テスト情報格納部14は、2以上のテスト情報を格納している。テスト情報は、一テストの項目に対応する情報である。テスト情報は、通常、入力情報と動作パターンとを有する。入力情報とは、テスト対象プログラムをテストするために当該テスト対象プログラムに与える情報である。入力情報とは、例えば、プログラムに与える引数である。なお、テスト情報に動作パターンを有しない場合、動作パターンは、デフォルト値(例えば、正常パターン)である。テスト情報は、テスト対象プログラムの正常な動作結果である正解情報をも有しても良い。正解情報は、テスト対象プログラムのリターン値でも良いし、テスト対象プログラムの実行結果であり、ハードウェアの記憶領域に記載されている値(IO値など)でも良い。テスト情報は、シミュレータプログラムが動作に用いるIO値をも有しても良い。テスト情報格納部14は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。テスト情報格納部14にテスト情報が記憶される過程は問わない。例えば、記録媒体を介してテスト情報がテスト情報格納部14で記憶されるようになってもよく、通信回線等を介して送信されたテスト情報がテスト情報格納部14で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたテスト情報がテスト情報格納部14で記憶されるようになってもよい。
 自動テスト部15は、テスト情報格納部14から2以上のテスト情報を、順次、読み出し、順次、テスト情報をテスト情報受付部16に渡す。自動テスト部15は、通常、受付部11がテスト開始指示を受け付けた場合に、テスト情報格納部14から2以上のテスト情報を、順次、読み出し、テスト情報受付部16に渡す。自動テスト部15は、複数のテスト情報に対応するテスト項目を、繰り返し実行して、自動テストを実現する機能を果たす。自動テスト部15は、通常、MPUやメモリ等から実現され得る。自動テスト部15の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 テスト情報受付部16は、テスト情報を受け付ける。テスト情報は、上述したように、通常、テスト対象プログラムをテストするために当該テスト対象プログラムに与える情報である入力情報と動作パターンとを有する。テスト情報受付部16は、自動テスト部15からテスト情報を受け付けても良いし、ユーザからの手入力によりテスト情報を受け付けても良い。テスト情報受付部16は、MPUやメモリ等から実現され得る。テスト情報受付部16の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。また、テスト情報受付部16は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現されても良い。
 テスト制御部17は、テスト情報受付部16が受け付けたテスト情報が有する動作パターンを取得し、シミュレータプログラムに渡す。なお、テスト制御部17は、動作パターンがデフォルト値の場合、動作パターンをシミュレータプログラムに渡さなくても良い。また、テスト制御部17は、テスト情報が有する動作パターンおよびIO値を取得し、シミュレータプログラムに渡しても良い。さらに、テスト制御部17は、シミュレータプログラムが書き込んだIO値を取得し、出力する処理をも行っても良い。テスト制御部17は、例えば、動作パターンにより、シミュレータプログラムやシミュレータプログラムが利用するデータを書き換えても良い。かかる書き換え処理も、動作パターンをシミュレータプログラムに渡す処理と同意義である、とする。また、テスト制御部17は、例えば、IO値を、予め決められたファイルや変数に書き込んでも良い。かかる処理も、IO値をシミュレータプログラムに渡す処理である。テスト制御部17は、通常、MPUやメモリ等から実現され得る。テスト制御部17の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 実行部18は、テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行し、かつ、当該テスト対象プログラムの実行結果であるプログラム情報と、テスト制御部17がシミュレータプログラムに渡した動作パターンとを用いてシミュレータプログラムを実行する。つまり、例えば、実行部18によりシミュレータプログラムの実行により、動作パターンに応じて、起動されるシミュレータプログラムのメソッド(または関数など)が異なる。例えば、動作パターンが異なれば、同じメソッド名を有するが異なるメソッドが実行される、ということとなる。
 なお、テスト対象プログラムに与える入力情報がNULLの場合もあり得る。また、実行部18は、テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行し、かつ、当該テスト対象プログラムの実行結果であるプログラム情報と、テスト制御部17がシミュレータプログラムに渡した動作パターンおよびIO値とを用いてシミュレータプログラムを実行しても良い。実行部18は、通常、MPUやメモリ等から実現され得る。実行部18の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 テスト結果判断部19は、実行部18におけるテスト対象プログラムの動作結果を取得し、当該動作結果と、テスト情報が有する正解情報を用いて、テストの正常または異常を判断し、当該判断結果を出力する。テスト結果判断部19は、IO値を読み出し、予想されるIO値(テスト情報が有する正解情報)と合致するか否かを判断し、当該判断結果を出力しても良い。正解情報とは、テストの結果の情報であり、テスト対象プログラムのリターン値や、テスト対象プログラムの動作の結果であるIO値や、その他の記憶媒体内の情報などである。テスト結果判断部19は、通常、MPUやメモリ等から実現され得る。テスト結果判断部19の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 次に、プログラムテスト装置の動作について図2のフローチャートを用いて説明する。
 (ステップS201)受付部11は、テスト開始指示を受け付けたか否かを判断する。テスト開始指示を受け付ければステップS202に行き、テスト開始指示を受け付けなければステップS201に戻る。
 (ステップS202)自動テスト部15は、カウンタiに1を代入する。
 (ステップS203)自動テスト部15は、i番目のテスト情報が、テスト情報格納部14に存在するか否かを判断する。i番目のテスト情報が存在すればステップS204に行き、i番目のテスト情報が存在しなければ処理を終了する。
 (ステップS204)テスト制御部17は、i番目のテスト情報が有する動作パターンを取得する。
 (ステップS205)テスト制御部17は、ステップS204で取得した動作パターンを、シミュレータプログラムに渡す。なお、ここで、テスト制御部17は、シミュレータプログラムが利用する動作パターンの格納領域(ファイルやメモリなどの領域)に、ステップS204で取得した動作パターンを書き込んでも良い。この処理も、動作パターンをシミュレータプログラムに渡す処理である。
 (ステップS206)テスト制御部17は、i番目のテスト情報が有するIO値を取得する。
 (ステップS207)テスト制御部17は、ステップS206で取得したIO値を、シミュレータプログラムに渡す。なお、ここで、テスト制御部17は、IO値の格納領域(ファイルやメモリなどの領域)に、ステップS206で取得したIO値を書き込んでも良い。この処理も、IO値をシミュレータプログラムに渡す処理である。
 (ステップS208)実行部18は、i番目のテスト情報が有する入力情報を取得する。
 (ステップS209)実行部18は、テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行する。なお、通常、テスト対象プログラムの実行により、テスト対象プログラムとシミュレータプログラムがデータのやり取りを行い、シミュレータプログラムも実行される。シミュレータプログラムの実行時に、シミュレータプログラムは、ステップS205で渡された動作パターン、ステップS207で渡されたIO値を用いて、動作する。また、テスト情報が入力情報を有しない場合は、実行部18は、テスト対象プログラムに入力情報を与えない。
 (ステップS210)テスト制御部17は、IO値を読み込む処理を行うか否かを判断する。テスト制御部17は、例えば、入力情報がIO値の読み込みを指示する命令を含む場合、IO値を読み込む処理を行うと判断する。IO値を読み込む処理を行う場合はステップS211に行き、IO値を読み込む処理を行わない場合はステップS212に行く。
 (ステップS211)テスト制御部17は、IO値を読み込む。
 (ステップS212)テスト結果判断部19は、実行部18におけるテスト対象プログラムの動作結果を取得し、当該動作結果と、テスト情報が有する正解情報を用いて、テストの正常または異常を判断する。
 (ステップS213)テスト結果判断部19は、ステップS212における判断結果を出力する。
 (ステップS214)自動テスト部15は、カウンタiを1、インクリメントする。ステップS203にもどる。
 なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
 以下、本実施の形態におけるプログラムテスト装置の具体的な動作について、2つの具体例を用いて説明する。
(具体例1)
 今、図3に示すテスト情報管理表がテスト情報格納部14に格納されている。テスト情報管理表は、1以上のテスト情報を管理する表である。テスト情報管理表は、「ID」と「テスト情報」を有するレコードを1以上保持している。「ID」は、レコードを識別する属性であり、表管理のために存在する。属性「テスト情報」内のテスト情報は、ここでは、プログラムの形式で記述されている。
 テスト情報において、「#」で開始されている行(図3の(1)など)はコメント行を示す。また、図3の(2)および(3)の行は、シミュレータプログラムが動作に用いるIO値を設定するメソッドである。図3の(2)は、「DO_FullOpen」のIO値を「CONTROL」という定数値に設定することを示している。図3の(3)は、「DO_FullClose」のIO値を「FULL_CLOSE」という定数値に設定することを示している。また、図3の(4)は、テスト対象プログラム格納部12に格納されているテスト対象プログラムの「InternalFullOpen()」を起動する(テストする)ことを示している。ここで、「InternalFullOpen()」は、テスト対象プログラムに与える入力情報の例である、と言える。また、図3の(4)における「Common_OK」は、テスト情報が有する正解情報の例である。つまり、「InternalFullOpen()」の実行の結果である戻り値が「Common_OK」であれば、この時点でのテスト結果が正常である、と判断される。なお、「Common_OK」に対応する値(例えば、「0」や「1」など)が予め決められている。
 また、図3の(5)および(6)は、シミュレータプログラムの動作結果であるIO値を取得し、想定される結果(正解情報)と一致するか否かを判断するための記述である。図3の(5)において、「DO_FullOpen」のIO値を取得し、「FULL_OPEN」という定数値になっているか否かを判断することを示す。なお、「FULL_OPEN」は、テスト情報が有する正解情報である。また、図3の(6)において、「DO_FullClose」のIO値を取得し、「CONTROL」という定数値になっているか否かを判断することを示す。なお、「CONTROL」は、テスト情報が有する正解情報である。また、図3のテスト情報は、動作パターンを有さない。つまり、動作パターンは、デフォルトの正常パターン(正常モード)である。
 かかる状況において、ユーザは、テスト開始指示を入力した、とする。すると、受付部11は、テスト開始指示を受け付ける。
 次に、自動テスト部15は、図3のテスト情報管理表から、1番目のテスト情報(「ID=1」のレコード)を読み出す。
 そして、テスト制御部17は、図3の「ID=1」のレコードを順に解釈し、実行する。つまり、テスト制御部17は、1番目のテスト情報が有するコメント行を無視する(図3の(1))。次に、テスト制御部17は、1番目のテスト情報が有する「DO_FullOpen」のIO値「CONTROL」を取得し、メモリ上に配置する。そして、テスト制御部17は、取得した「DO_FullOpen」のIO値「CONTROL」を、シミュレータプログラムが使用できるようにするために、「DO_FullOpen」の領域に値「CONTROL」を書き込む(図3の(2))。また、テスト制御部17は、1番目のテスト情報が有する「DO_FullClose」のIO値「FULL_CLOSE」を取得し、メモリ上に配置する。そして、テスト制御部17は、取得した「DO_FullClose」のIO値「FULL_CLOSE」を、シミュレータプログラムが使用できるようにするために、「DO_FullClose」の領域に値「FULL_CLOSE」を書き込む(図3の(3))。
 次に、実行部18は、1番目のテスト情報が有する入力情報「InternalFullOpen()」を取得する。そして、実行部18は、テスト対象プログラムを起動し、「InternalFullOpen()」を実行する。そして、「InternalFullOpen()」の実行により、通常、IO値が適切に書き換えられる(図3の(4))。
 次に、テスト結果判断部19は、実行部18におけるテスト対象プログラムの動作結果(「InternalFullOpen()」の実行結果である戻り値)を取得する。そして、この戻り値とテスト情報が有する正解情報「Common_OK」を比較する。そして、両者が一致すればテストが正常であると判断し、両者が一致しなければテストが異常であると判断する。ここでは、例えば、「InternalFullOpen()」の実行結果である戻り値が「Common_OK」である、とする。そして、テスト結果判断部19は、戻り値と正解情報「Common_OK」が一致するので、この段階でのテストは正常である、と判断する(図3の(4))。
 次に、テスト制御部17は、図3の(5)および(6)の解釈実行により、「DO_FullOpen」のIO値を読み込む。そして、テスト結果判断部19は、テスト対象プログラムの動作結果である「DO_FullOpen」のIO値と、テスト情報が有する正解情報「Full_Open」と一致するか否かを判断する。そして、両者が一致すればテストが正常であると判断し、両者が一致しなければテストが異常であると判断する。次に、同様に、テスト結果判断部19は、テスト対象プログラムの動作結果である「DO_FullClose」のIO値を取得し、テスト情報が有する正解情報「FULL_CLOSE」と一致するか否かを判断する。そして、両者が一致すればテストが正常であると判断し、両者が一致しなければテストが異常であると判断する。そして、テスト結果判断部19は、判断結果(例えば、「正常」)を出力する。ここで、出力とは、ディスプレイへの表示でも良いし、記録媒体への蓄積でも良い。また、出力の際には、テスト結果判断部19は、テスト情報の識別番号(ID)と、判断結果を対応付けて出力する。
 以上の処理により、「ID=1」のテスト情報の処理が終了する。なお、上記のテスト結果判断部19における正常/異常の判断過程において、一致しない等の判断の場合、テスト結果判断部19は、例えば、「異常」を示す判断結果を出力する。
 次に、自動テスト部15は、図3のテスト情報管理表から、2番目以降のテスト情報(「ID=2」のレコード以降のレコード)を、順に、読み出し、1番目のテスト情報と同様に、順に解釈実行し、判断結果を出力する。
 なお、図3の(1)から(6)等のテスト情報を解釈実行する処理は公知技術であるので、詳細な説明を省略する。
(具体例2)
 今、図4に示すテスト情報管理表がテスト情報格納部14に格納されている。図4において、「ID=1」のテスト情報は、DRP(ドライ真空ポンプ)の正常動作のテストを行うための情報である。また、「ID=2」のテスト情報は、DRPのタイムアウト(異常動作)のテストを行うための情報である。また、図4において、「TagRawWrite」は、IO値を設定する関数(メソッド)を示す。つまり、(1)は、IO値「DO_RUN」に値「STOP」を設定することを示す。(2)は、IO値「DI_RUN」に値「STOP」を設定することを示す。(3)は、IO値「DI_ALARM」に値「NORMAL」を設定することを示す。また、「TagRead」は、IO値を取得し、正常か否かを確認する関数を示す。つまり、(4)は、IO値「DO_RUN」に値「STOP」が設定されていることを確認することを示す。(5)は、IO値「DI_RUN」に値「STOP」が設定されていることを確認することを示す。(6)は、IO値「DI_ALARM」に値「NORMAL」が設定されていることを確認することを示す。「SetPatarn」は、動作パターンを設定する関数を示す。つまり、(7)は、DO_RUNの動作パターンを「NORMAL」に設定することを示す。(9)は、IO値「DI_RUN」に値「RUN」が設定されていることを確認することを示す。
 かかる状況において、ユーザは、テスト開始指示を入力した、とする。すると、受付部11は、テスト開始指示を受け付ける。
 次に、自動テスト部15は、図4のテスト情報管理表から、1番目のテスト情報(「ID=1」のレコード)を読み出す。
 そして、テスト制御部17は、図4の「ID=1」のレコード内の情報(関数)を順に解釈し、実行する。つまり、図4(1)から、テスト制御部17は、1番目のテスト情報が有する「DO_RUN」のIO値「STOP」を取得し、メモリ上に配置する。そして、テスト制御部17は、取得した「DO_RUN」のIO値「STOP」を、シミュレータプログラムが使用できるようにするために、「DO_RUN」の領域に書き込む。また、図4(2)から、テスト制御部17は、1番目のテスト情報が有する「DI_RUN」のIO値「STOP」を取得し、メモリ上に配置する。そして、テスト制御部17は、取得した「DI_RUN」のIO値「STOP」を、シミュレータプログラムが使用できるようにするために、「DI_RUN」の領域に書き込む。また、図4(3)から、テスト制御部17は、1番目のテスト情報が有する「DI_ARARM」のIO値「NORMAL」を取得し、メモリ上に配置する。そして、テスト制御部17は、取得した「DI_ARARM」のIO値「NORMAL」を、シミュレータプログラムが使用できるようにするために、「DI_ARARM」の領域に値「NORMAL」を書き込む。
 次に、図4(4)から、テスト制御部17は、「DO_RUN」のIO値を取得する。そして、テスト結果判断部19は、「DO_RUN」のIO値が「STOP」であるか否かを判断する。また、図4(5)から、テスト制御部17は、「DI_RUN」のIO値を取得する。そして、テスト結果判断部19は、「DI_RUN」のIO値が「STOP」であるか否かを判断する。さらに、図4(6)から、テスト制御部17は、「DI_ARARM」のIO値を取得する。そして、テスト結果判断部19は、「DI_ARARM」のIO値が「NORMAL」であるか否かを判断する。
 次に、図4(7)から、テスト制御部17は、1番目のテスト情報が有する動作パターン「DO_RUN,NORMAL」を取得する。なお、動作パターン「DO_RUN,NORMAL」は、「DO_RUN」の動作が「NORMAL」である、という動作パターンである。そして、テスト制御部17は、「DO_RUN,NORMAL」をシミュレータプログラムに渡す。つまり、「DO_RUN」の動作が「NORMAL」となるように設定される。
 次に、図4(8)から、実行部18は、1番目のテスト情報が有する入力情報「DRP.Run()」を取得する。そして、実行部18は、テスト対象プログラムを起動し、「DRP.Run()」を実行する。そして、「DRP.Run()」の実行により、DRPが動作し、通常、IO値が適切に書き換えられる。
 次に、テスト結果判断部19は、実行部18におけるテスト対象プログラムの動作結果(「DRP.Run()」の実行結果である戻り値)を取得する。そして、この戻り値とテスト情報が有する正解情報を比較する。そして、両者が一致すればテストが正常であると判断し、両者が一致しなければテストが異常であると判断する。
 次に、図4(9)から、テスト制御部17は、1番目のテスト情報が有する入力情報「TagRead(DI_RUN,RUN)」を取得する。そして、テスト制御部17は、「TagRead(DI_RUN,RUN)」の解釈実行により、「DI_RUN」のIO値を読み込む。そして、テスト結果判断部19は、テスト対象プログラムの動作結果である「DI_RUN」のIO値と、テスト情報が有する正解情報「RUN」と一致するか否かを判断する。そして、テスト結果判断部19は、両者が一致すればテストが正常であると判断し、両者が一致しなければテストが異常であると判断する。そして、テスト結果判断部19は、判断結果(例えば、「正常」)を出力する。ここで、出力とは、ディスプレイへの表示でも良いし、記録媒体への蓄積でも良い。また、出力の際には、テスト結果判断部19は、テスト情報の識別番号(ID)と、判断結果を対応付けて出力する。
 以上の処理により、「ID=1」のテスト情報の処理が終了する。なお、上記のテスト結果判断部19における正常/異常の判断過程において、一致しない等の判断の場合、テスト結果判断部19は、例えば、「異常」を示す判断結果を出力する。
 次に、自動テスト部15は、図4のテスト情報管理表から、2番目のテスト情報(「ID=2」のレコード)を読み出す。
 そして、テスト制御部17は、図4の「ID=2」のレコード内の関数を順に解釈し、実行する。つまり、テスト制御部17は、図4の「ID=2」のレコード中の(10)から(15)を、(1)から(6)と同様に処理する。
 次に、テスト制御部17は、2番目のテスト情報の(16)から、動作パターン「DO_RUN,TIMEOUT」を取得する。なお、動作パターン「DO_RUN,TIMEOUT」は、「DO_RUN」の動作が「TIMEOUT」である、という動作パターンである。そして、テスト制御部17は、「DO_RUN,TIMEOUT」をシミュレータプログラムに渡す。つまり、「DO_RUN」の動作が「TIMEOUT」となるように設定される。
 次に、実行部18は、2番目のテスト情報の(17)から、入力情報「DRP.Run()」を取得する。そして、実行部18は、テスト対象プログラムを起動し、「DRP.Run()」を実行する。そして、「DRP.Run()」の実行により、DRPが動作し、通常、IO値が適切に書き換えられる。
 次に、テスト結果判断部19は、実行部18におけるテスト対象プログラムの動作結果(「DRP.Run()」の実行結果である戻り値)を取得する。そして、この戻り値とテスト情報が有する正解情報を比較する。そして、両者が一致すればテストが正常であると判断し、両者が一致しなければテストが異常であると判断する。
 次に、テスト制御部17は、2番目のテスト情報が有する入力情報「TagRead(DI_RUN,STOP)」を取得する。そして、テスト制御部17は、「TagRead(DI_RUN,STOP)」の解釈実行により、「DI_RUN」のIO値を読み込む。そして、テスト結果判断部19は、テスト対象プログラムの動作結果である「DI_RUN」のIO値と、テスト情報が有する正解情報「STOP」と一致するか否かを判断する。そして、テスト制御部17は、両者が一致すればテストが正常であると判断し、両者が一致しなければテストが異常であると判断する。そして、テスト結果判断部19は、判断結果(例えば、「正常」)を出力する。ここで、出力とは、ディスプレイへの表示でも良いし、記録媒体への蓄積でも良い。また、出力の際には、テスト結果判断部19は、テスト情報の識別番号(ID)と、判断結果を対応付けて出力する。
 以上の処理により、「ID=2」のテスト情報の処理が終了する。なお、上記のテスト結果判断部19における正常/異常の判断過程において、一致しない等の判断の場合、テスト結果判断部19は、例えば、「異常」を示す判断結果を出力する。
 次に、自動テスト部15は、図4のテスト情報管理表から、3番目以降のテスト情報(「ID=3」のレコード以降のレコード)を、順に、読み出し、1番目、2番目のテスト情報と同様に、順に解釈実行し、判断結果を出力する。
 次に、本プログラムテスト装置の概念について説明する。従来のプログラムテスト装置の概念図の例を図5に示す。つまり、従来のプログラムテスト装置は、自動テストプログラム51とテスト対象プログラム52とシミュレータプログラム53を有する。そして、自動テストプログラム51は、自動的に1以上のテスト項目を実行するものである。テスト対象プログラム52は、テスト対象プログラム格納部12のテスト対象プログラムと同様であり、テストの対象となるプログラムである。シミュレータプログラム53は、シミュレータプログラム格納部13のシミュレータプログラムと同様であり、機器の応答をシミュレートするプログラムである。シミュレータプログラムは、一の関数(スタブ)に対して、正常パターンの関数(スタブ)と、異常パターンの関数(スタブ)を有している。なお、図5における「通信」とは、データ通信であっても、データの受け渡しであっても、関数の呼び出し等であっても良い。つまり、「通信」とは、テスト対象プログラム52とシミュレータプログラム53が協調的に動作をすれば良い。
 このようなプログラムテスト装置において、テスト対象プログラムのテストとしては正常に動作するだけでなく、機器からアラームを発生させたり、起動タイムアウトが生じたりするような異常ケースもテストする必要がある。つまり、プログラムテスト装置において、正常パターンと異常パターン、異常パターンの中でも、応答しないパターンである非応答パターン、アラームを発生するパターンであるアラームパターン、途中の処理まで正常であり、その後異常になる途中正常パターンなどの、2以上の動作パターンについてテストをする必要がある。しかし、従来のプログラムテスト装置では、予めシミュレータプログラム側で動作パターンを設定しておき、テスト対象プログラムをテストすることとなる。つまり、複数の動作パターンのテストを行う場合には、手作業により、複数の動作パターンの書き換えを行い、かつ、動作させる関数を切り替える等しながらテストを進める、ということが行われており、複数の動作パターンを纏めて自動的にテストを行う事ができなかった。
 一方、上記実施の形態で説明したプログラムテスト装置の概念図は、図6である。本プログラムテスト装置は、自動テストプログラム61とテスト対象プログラム62とシミュレータプログラム63と自動制御用プログラム64を有する。自動制御用プログラム64は、主として、上述したテスト制御部17に該当する。つまり、自動制御用プログラム64は、シミュレータプログラム63に対し、NUnitなどの自動テストプログラム61から動作パターンの切り替えを行うインターフェイスを提供することにより自動的に複数の動作パターンを連続してテストが行える。また、本プログラムテスト装置では、IOの状態(IO値)も自動制御用プログラム64から書き換える機能も提供し、機器の異常動作などもテスト対象プログラム62側からシミュレートすることが可能になる。本プログラムテスト装置では、上記の構成により、正常ケース、異常ケースのテストを一つのテストプログラムからテストができるようになる。また、IOの状態(IO値)を書き換え、読み取り可能にする事で、制御指示の実行結果だけでなく、実際にシミュレータプログラム?3側で値が変化した事を確認できるため、テスト対象プログラム?2の入力部(入力処理)と出力部(出力処理)のテストが可能となる。なお、NUnitについては、http://www.divakk.co.jp/aoyagi/csharp_tips_nunit.html」等に説明されている。
 以上、本実施の形態によれば、テスト対象プログラムについて、ハードウェアがエラーの場合のテスト対象プログラムのテストも容易にできる。さらに具体的には、自動的に複数の動作パターンを連続してテストが行える。また、本実施の形態によれば、IOの状態(IO値)も自動制御用プログラム64から書き換える機能も提供し、機器の異常動作なども、テスト対象プログラム62側から精度の高くシミュレートすることが可能になる。さらに、本実施の形態によれば、IO値を読み取り可能にする事で、制御指示の実行結果だけでなく、実際にシミュレータプログラム側で値が変化した事を確認できるため、テスト対象プログラムの入力部と出力部のテストが可能となる。
 なお、本実施の形態において、テスト情報の内容は問わないことは言うまでもない。
 さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるプログラムテスト装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、テスト対象プログラムをテストするために当該テスト対象プログラムに与える情報である入力情報と動作パターンとを有するテスト情報を受け付けるテスト情報受付部と、前記テスト情報が有する動作パターンを取得し、ハードウェアの動作をシミュレートするシミュレータプログラムに渡すテスト制御部と、前記テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行し、かつ、当該テスト対象プログラムの実行結果であるプログラム情報と、前記テスト制御部が前記シミュレータプログラムに渡した動作パターンとを用いて前記シミュレータプログラムを実行する実行部として機能させるためのプログラム、である。
 また、上記プログラムにおいて、前記テスト情報は、前記シミュレータプログラムが動作に用いるIO値をも有し、前記テスト制御部は、前記テスト情報が有する動作パターンおよびIO値を取得し、前記シミュレータプログラムに渡し、前記実行部は、前記テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行し、かつ、当該テスト対象プログラムの実行結果であるプログラム情報と、前記テスト制御部が前記シミュレータプログラムに渡した動作パターンおよびIO値とを用いて前記シミュレータプログラムを実行するように、コンピュータを機能させるプログラムであることは好適である。
 また、上記プログラムにおいて、前記テスト制御部を、前記シミュレータプログラムの動作結果であるIO値を取得し、出力する処理をも行うように、コンピュータを機能させるプログラムであることは好適である。
(実施の形態2)
 本実施の形態において、正常系のテスト情報をハードウェアに与え、異常系のテスト情報をシミュレータプログラムに与えるプログラムテスト装置について説明する。本実施の形態におけるプログラムテスト装置は、正常パターンの場合は、ハードウェアを用いて、さらに精度高くテストを行い、異常パターンの場合は、シミュレータプログラムを用いてテストを行う、というものである。かかる処理により、ハードウェアでその状態(通常、異常パターン)を作り出すことが難しいテストケースのみをソフトウェアで行える。
 図7は、本実施の形態におけるプログラムテスト装置2のブロック図である。プログラムテスト装置2は、受付部11、テスト対象プログラム格納部12、シミュレータプログラム格納部23、テスト情報格納部14、自動テスト部25、テスト情報受付部16、テスト制御部27、実行部28、テスト結果判断部29を具備する。
 シミュレータプログラム格納部23は、ハードウェアのエラーの動作をシミュレートするプログラムであるシミュレータプログラムを格納している。シミュレータプログラムとは、通常、テスト対象プログラムから渡されるプログラム情報に応じた動作を行う。ただし、エラーコードを返すだけ、などの画一的な処理でも良い。シミュレータプログラム格納部23は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。シミュレータプログラム格納部23にシミュレータプログラムが記憶される過程は問わない。例えば、記録媒体を介してシミュレータプログラムがシミュレータプログラム格納部23で記憶されるようになってもよく、通信回線等を介して送信されたシミュレータプログラムがシミュレータプログラム格納部23で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたシミュレータプログラムがシミュレータプログラム格納部23で記憶されるようになってもよい。
 テスト制御部27は、テスト情報受付部16が受け付けたテスト情報が有する動作パターンを取得する。テスト制御部27は、通常、MPUやメモリ等から実現され得る。テスト制御部27の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 実行部28は、テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行する。また、実行部28は、テスト制御部27が取得した動作パターンが正常パターンであるか否かを判断する。そして、動作パターンが正常パターンであれば、テスト対象プログラムの実行結果であるプログラム情報をハードウェアに渡し、ハードウェアを動作させる。また、実行部28は、動作パターンが正常パターンでなければ、当該テスト対象プログラムの実行結果であるプログラム情報を用いてシミュレータプログラムを実行する。正常パターンでない場合とは、異常パターンである場合、および異常パターンが細分化されたパターンである、非応答パターン、アラームパターン、途中正常パターンなどの場合である。なお、プログラム情報は、テスト対象プログラムからハードウェアに渡される情報である、とも言える。実行部28は、通常、MPUやメモリ等から実現され得る。実行部28の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
 次に、プログラムテスト装置の動作について図8のフローチャートを用いて説明する。図8のフローチャートにおいて、図2のフローチャートと重複するステップについて、説明を省略する。
 (ステップS901)実行部28は、テストを実行する。テスト実行処理について、図8のフローチャートを用いて、詳細に説明する。
 なお、図8のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
 次に、テスト実行処理について、図9のフローチャートを用いて説明する。図9のフローチャートにおいて、図2のフローチャートと重複するステップについて、説明を省略する。
 (ステップS901)テスト制御部27は、ステップS204で取得した動作パターンが正常パターンか否かを判断する。正常パターンであればステップS902に行き、正常パターンでなければステップS217に行く。
 (ステップS902)テスト制御部27は、ステップS206で取得されたIO値を、ハードウェアのIO値として、ハードウェアに書き込む。ハードウェアに書き込む処理は、ハードウェアに渡す処理でも良い。
 (ステップS903)実行部28は、テスト対象プログラムを実行する。
 (ステップS904)テスト制御部27は、ステップS903における実行結果であるプログラム情報を取得する。
 (ステップS905)テスト制御部27は、ステップS204で取得した動作パターンが正常パターンか否かを判断する。正常パターンであればステップS906に行き、正常パターンでなければステップS207に行く。
 (ステップS906)実行部28は、ステップS904で取得したプログラム情報をハードウェアに渡し、ハードウェアを動作させる。
 (ステップS907)実行部28は、ステップS904で取得したプログラム情報を用いてシミュレータプログラムを実行する。
 (ステップS908)テスト制御部27は、ステップS906または、ステップS907における実行結果を受け付けたか否かを判断する。実行結果を受け付ければステップS909に良き、実行結果を受け付けなければステップS908に戻る。
 (ステップS909)テスト制御部27は、i番目のテスト情報のテストが終了したか否かを判断する。テストが終了した、との判断の場合は、ステップS910に行き、テストが終了していない、との判断の場合は、ステップS903に戻る。
 (ステップS910)テスト結果判断部29は、ハードウェアから、または、シミュレータプログラムが書き込んだ情報から、IO値を取得する。ステップS212に行く。
 なお、図9のフローチャートにおける処理の流れは一例であることは言うまでもない。
 以下、本実施の形態におけるプログラムテスト装置の具体的な動作について説明する。
 今、図4に示すテスト情報管理表がテスト情報格納部14に格納されている、とする。
 かかる状況において、ユーザは、テスト開始指示を入力した、とする。すると、受付部11は、テスト開始指示を受け付ける。
 次に、自動テスト部25は、図4のテスト情報管理表から、1番目のテスト情報(「ID=1」のレコード)を読み出す。
 そして、テスト制御部27は、図4の「ID=1」のレコード内の関数を順に解釈し、実行する。つまり、テスト制御部27は、1番目のテスト情報が有する「DO_RUN」のIO値「STOP」を取得し、メモリ上に配置する。そして、テスト制御部27は、取得した「DO_RUN」のIO値「STOP」をハードウェアに渡し、ハードウェアは「DO_RUN」の領域にIO値「STOP」を書き込む。また、テスト制御部27は、1番目のテスト情報が有する「DI_RUN」のIO値「STOP」を取得し、メモリ上に配置する。そして、テスト制御部27は、取得した「DI_RUN」のIO値「STOP」をハードウェアに渡し、ハードウェアは「DI_RUN」の領域にIO値「STOP」を書き込む。また、テスト制御部27は、1番目のテスト情報が有する「DI_ARARM」のIO値「NORMAL」を取得し、メモリ上に配置する。そして、テスト制御部27は、取得した「DI_ARARM」のIO値「NORMAL」をハードウェアに渡し、ハードウェアは「DI_ARARM」の領域にIO値「NORMAL」を書き込む。
 次に、テスト制御部27は、「DO_RUN」のIO値をハードウェアから読み出す。そして、テスト結果判断部29は、「DO_RUN」のIO値が「STOP」であるか否かを判断する。また、テスト制御部27は、「DI_RUN」のIO値をハードウェアから読み出す。そして、テスト結果判断部29は、「DI_RUN」のIO値が「STOP」であるか否かを判断する。さらに、テスト制御部27は、「DI_ARARM」のIO値をハードウェアから読み出す。そして、テスト結果判断部29は、「DI_ARARM」のIO値が「NORMAL」であるか否かを判断する。
 次に、テスト制御部27は、1番目のテスト情報が有する動作パターン「DO_RUN,NORMAL」を取得する。なお、動作パターン「DO_RUN,NORMAL」は、「DO_RUN」の動作が「NORMAL」である、という動作パターンである。
 次に、実行部28は、1番目のテスト情報が有する入力情報「DRP.Run()」を取得する。そして、実行部28は、テスト対象プログラムを起動し、「DRP.Run()」を実行する。そして、実行部28は、「DRP.Run()」の実行結果を取得する。
 次に、実行部28は、テスト制御部27が取得した動作パターン「DO_RUN,NORMAL」から、動作パターンが正常パターンであることを認識する。なお、実行部28は、「NORMAL」と「正常パターン」を示す情報を対に、予め保持している。
 そして、実行部28は、テスト対象プログラムの実行結果(「DRP.Run()」の実行結果)であるプログラム情報をハードウェアに渡し、ハードウェアを動作させる。
 次に、実行部28は、ハードウェアの実行結果を得る。なお、「DRP.Run()」の実行により、通常、ハードウェア内のIO値が適切に書き換えられる。そして、実行部28は、ハードウェアの実行結果をテスト対象プログラムに渡す。
 次に、テスト結果判断部29は、実行部28におけるテスト対象プログラムの動作結果(「DRP.Run()」の実行結果である戻り値)を取得する。そして、この戻り値とテスト情報が有する正解情報を比較する。そして、両者が一致すればテストが正常であると判断し、両者が一致しなければテストが異常であると判断する。
 次に、テスト制御部27は、1番目のテスト情報が有する入力情報「TagRead(DI_RUN,RUN)」を取得する。そして、テスト制御部27は、「TagRead(DI_RUN,RUN)」の解釈実行により、「DI_RUN」のIO値を、ハードウェアから読み込む。そして、テスト結果判断部29は、テスト対象プログラムの動作結果である「DI_RUN」のIO値と、テスト情報が有する正解情報「RUN」と一致するか否かを判断する。そして、テスト結果判断部29は、両者が一致すればテストが正常であると判断し、両者が一致しなければテストが異常であると判断する。そして、テスト結果判断部29は、判断結果(例えば、「正常」)を出力する。ここで、出力とは、ディスプレイへの表示でも良いし、記録媒体への蓄積でも良い。また、出力の際には、テスト結果判断部29は、テスト情報の識別番号(ID)と、判断結果を対応付けて出力する。
 以上の処理により、「ID=1」のテスト情報の処理が終了する。なお、上記のテスト結果判断部29における正常/異常の判断過程において、一致しない等の判断の場合、テスト結果判断部29は、例えば、「異常」を示す判断結果を出力する。
 次に、自動テスト部25は、図4のテスト情報管理表から、2番目のテスト情報(「ID=2」のレコード)を読み出す。
 そして、テスト制御部27は、図4の「ID=2」のレコードを順に解釈し、実行する。つまり、テスト制御部27は、図4の「ID=2」のレコード中の(10)から(15)を、(1)から(6)と同様に処理する。(1)から(6)の処理は、本実施の形態において、上記した処理である。
 次に、テスト制御部27は、2番目のテスト情報の(16)から、動作パターン「DO_RUN,TIMEOUT」を取得する。
 次に、実行部28は、1番目のテスト情報が有する入力情報「DRP.Run()」を取得する。そして、実行部28は、テスト対象プログラムを起動し、「DRP.Run()」を実行する。そして、実行部28は、「DRP.Run()」の実行結果を取得する。
 次に、実行部28は、テスト制御部27が取得した動作パターン「DO_RUN,TIMEOUT」から動作パターンが正常パターンでない、と判断する。なお、実行部28は、正常パターンでない1以上の動作パターンの情報を、予め保持していており、テスト制御部27が取得した動作パターンが、保持している正常パターンでない動作パターンのいずれかの情報に合致すれば、テスト制御部27が取得した動作パターンが正常パターンでない動作パターンであると判断しても良い。また、実行部28は、正常パターンの動作パターンの情報を、予め保持していており、テスト制御部27が取得した動作パターンが、保持している正常パターンの情報に合致しなければ、テスト制御部27が取得した動作パターンが正常パターンでない動作パターンであると判断しても良い。
 そして、実行部28は、テスト対象プログラムの実行結果(「DRP.Run()」の実行結果)であるプログラム情報を用いてシミュレータプログラムを実行する。このシミュレータプログラムは、異常パターンの場合のシミュレータプログラム(スタブなど)である。そして、実行部28は、シミュレータプログラムの実行結果をテスト対象プログラムに渡す。
 次に、テスト結果判断部29は、実行部28におけるテスト対象プログラムの動作結果(「DRP.Run()」の実行結果である戻り値)を取得する。そして、この戻り値とテスト情報が有する正解情報を比較する。そして、両者が一致すればテストが正常であると判断し、両者が一致しなければテストが異常であると判断する。
 次に、テスト制御部27は、1番目のテスト情報が有する入力情報「TagRead(DI_RUN,STOP)」を取得する。そして、テスト制御部27は、「TagRead(DI_RUN,STOP)」の解釈実行により、「DI_RUN」のIO値を、ハードウェアから読み込む。そして、テスト結果判断部29は、テスト対象プログラムの動作結果である「DI_RUN」のIO値と、テスト情報が有する正解情報「STOP」と一致するか否かを判断する。そして、テスト結果判断部29は、両者が一致すればテストが正常であると判断し、両者が一致しなければテストが異常であると判断する。そして、テスト結果判断部29は、判断結果(例えば、「正常」)を出力する。ここで、出力とは、ディスプレイへの表示でも良いし、記録媒体への蓄積でも良い。また、出力の際には、テスト結果判断部29は、テスト情報の識別番号(ID)と、判断結果を対応付けて出力する。
 以上の処理により、「ID=2」のテスト情報の処理が終了する。なお、上記のテスト結果判断部29における正常/異常の判断過程において、一致しない等の判断の場合、テスト結果判断部29は、例えば、「異常」を示す判断結果を出力する。
 以上、本実施の形態によれば、正常系のテスト情報をハードウェアに与え、異常系のテスト情報をシミュレータプログラムに与えるプログラムテスト装置を提供できる。かかるプログラムテスト装置により、正常パターンの場合は、ハードウェアを用いて、さらに精度高くテストを行い、異常パターンの場合は、シミュレータプログラムを用いてテストを行うことができる。かかる処理により、ハードウェアでその状態(通常、異常パターン)を作り出すことが難しいテストケースをソフトウェアで擬似的に行え、かつ、容易に状態(通常、正常パターン)を作り出すことができるテストケースについて、実際に運用されるハードウェアを用いて精度高くテストを行える。
 なお、本実施の形態の具体例において、実行部28とハードウェアとの情報のやり取りは一度だけであったが、両者間で、連続したデータのやり取りがあっても良いことは言うまでもない。また、同様に、実行部28とシミュレータプログラムとの情報のやり取りは一度だけであったが、両者間で、連続したデータのやり取りがあっても良いことは言うまでもない。
 さらに、本実施の形態におけるプログラムテスト装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、テスト対象プログラムをテストするために当該テスト対象プログラムに与える情報である入力情報と動作パターンとを有するテスト情報を受け付けるテスト情報受付部と、前記テスト情報が有する動作パターンを取得するテスト制御部と、前記テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行し、かつ、前記テスト制御部が取得した動作パターンが正常パターンであれば、前記テスト対象プログラムの実行結果であるプログラム情報をハードウェアに渡し、ハードウェアを動作させ、前記テスト制御部が取得した動作パターンが正常パターンでなければ、当該テスト対象プログラムの実行結果であるプログラム情報を用いてシミュレータプログラムを実行する実行部として機能させるためのプログラム、である。
 また、図10は、本明細書で述べたプログラムを実行して、上述した実施の形態のプログラムテスト装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図10は、このコンピュータシステム340の概観図であり、図11は、コンピュータシステム340のブロック図である。
 図10において、コンピュータシステム340は、FD(Flexible Disk)ドライブ、CD-ROM(Compact Disk Read Only Memory)ドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
 図11において、コンピュータ341は、FDドライブ3411、CD-ROMドライブ3412に加えて、CPU(Central Processing Unit)3413と、CPU3413、CD-ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM(Read-Only Memory)3415と、CPU3413に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM(Random Access Memory)3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
 コンピュータシステム340に、上述した実施の形態のプログラムテスト装置の機能を実行させるプログラムは、CD-ROM3501、またはFD3502に記憶されて、CD-ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD-ROM3501、FD3502またはネットワークから直接、ロードされても良い。
 プログラムは、コンピュータ341に、上述した実施の形態のプログラムテスト装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
 また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
 また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
 本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
 以上のように、本発明にかかるプログラムテスト装置は、ハードウェアがエラーの場合のテスト対象プログラムのテストも自動的に容易にできる、という効果を有し、プログラムテスト装置等として有用である。
実施の形態1におけるプログラムテスト装置のブロック図 同プログラムテスト装置の動作について説明するフローチャート 同テスト情報管理表を示す図 同テスト情報管理表を示す図 同従来のプログラムテスト装置の概念図 同実施の形態で説明したプログラムテスト装置の概念図 実施の形態2におけるプログラムテスト装置のブロック図 同プログラムテスト装置の動作について説明するフローチャート 同テスト実行処理の動作について説明するフローチャート 同コンピュータシステムの概観図 同コンピュータシステムのブロック図

Claims (13)

  1. テスト対象のプログラムであるテスト対象プログラムを格納しているテスト対象プログラム格納部と、
    ハードウェアの動作をシミュレートするプログラムであり、テスト対象プログラムから渡される情報であるプログラム情報と動作パターンとに応じた動作を行うプログラムであるシミュレータプログラムを格納しているシミュレータプログラム格納部と、
    前記テスト対象プログラムをテストするために当該テスト対象プログラムに与える情報である入力情報と動作パターンとを有するテスト情報を受け付けるテスト情報受付部と、
    前記テスト情報が有する動作パターンを取得し、前記シミュレータプログラムに渡すテスト制御部と、
    前記テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行し、かつ、当該テスト対象プログラムの実行結果であるプログラム情報と、前記テスト制御部が前記シミュレータプログラムに渡した動作パターンとを用いて前記シミュレータプログラムを実行する実行部とを具備するプログラムテスト装置。
  2. 2以上のテスト情報を格納しているテスト情報格納部と、
    前記テスト情報格納部から2以上のテスト情報を、順次、読み出し、前記テスト情報受付部に渡す自動テスト部とをさらに具備する請求項1記載のプログラムテスト装置。
  3. 前記テスト情報は、
    テスト対象プログラムの正常な動作結果である正解情報をも有し、
    前記実行部における前記テスト対象プログラムの動作結果を取得し、当該動作結果と、前記テスト情報が有する正解情報を用いて、テストの正常または異常を判断し、当該判断結果を出力するテスト結果判断部をさらに具備する請求項2記載のプログラムテスト装置。
  4. 前記テスト情報は、
    前記シミュレータプログラムが動作に用いるIO値をも有し、
    前記テスト制御部は、
    前記テスト情報が有する動作パターンおよびIO値を取得し、前記シミュレータプログラムに渡し、
    前記実行部は、
    前記テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行し、かつ、当該テスト対象プログラムの実行結果であるプログラム情報と、前記テスト制御部が前記シミュレータプログラムに渡した動作パターンおよびIO値とを用いて前記シミュレータプログラムを実行する請求項1記載のプログラムテスト装置。
  5. 前記テスト制御部は、
    前記シミュレータプログラムの動作結果であるIO値を取得し、出力する処理をも行う請求項1記載のプログラムテスト装置。
  6. 前記動作パターンは、
    少なくとも正常パターンと異常パターンを有する請求項1記載のプログラムテスト装置。
  7. テスト対象のプログラムであり、ハードウェアの制御を行うプログラムであるテスト対象プログラムを格納しているテスト対象プログラム格納部と、
    ハードウェアのエラーの動作をシミュレートするプログラムであるシミュレータプログラムを格納しているシミュレータプログラム格納部と、
    前記テスト対象プログラムをテストするために当該テスト対象プログラムに与える情報である入力情報と動作パターンとを有するテスト情報を受け付けるテスト情報受付部と、
    前記テスト情報が有する動作パターンを取得するテスト制御部と、
    前記テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行し、かつ、前記テスト制御部が取得した動作パターンが正常パターンであれば、前記テスト対象プログラムの実行結果であるプログラム情報をハードウェアに渡し、ハードウェアを動作させ、前記テスト制御部が取得した動作パターンが正常パターンでなければ、当該テスト対象プログラムの実行結果であるプログラム情報を用いて前記シミュレータプログラムを実行する実行部を具備するプログラムテスト装置。
  8. 2以上のテスト情報を格納しているテスト情報格納部と、
    前記テスト情報格納部から2以上のテスト情報を、順次、読み出し、前記テスト情報受付部に渡す自動テスト部とをさらに具備する請求項7記載のプログラムテスト装置。
  9. 前記テスト情報は、
    テスト対象プログラムの正常な動作結果である正解情報をも有し、
    前記実行部における前記テスト対象プログラムの動作結果を取得し、当該動作結果と、前記テスト情報が有する正解情報を用いて、テストの正常または異常を判断し、当該判断結果を出力するテスト結果判断部をさらに具備する請求項8記載のプログラムテスト装置。
  10. コンピュータを、
    テスト対象プログラムをテストするために当該テスト対象プログラムに与える情報である入力情報と動作パターンとを有するテスト情報を受け付けるテスト情報受付部と、
    前記テスト情報が有する動作パターンを取得し、ハードウェアの動作をシミュレートするシミュレータプログラムに渡すテスト制御部と、
    前記テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行し、かつ、当該テスト対象プログラムの実行結果であるプログラム情報と、前記テスト制御部が前記シミュレータプログラムに渡した動作パターンとを用いて前記シミュレータプログラムを実行する実行部として機能させるためのプログラム。
  11. 前記テスト情報は、
    前記シミュレータプログラムが動作に用いるIO値をも有し、
    前記テスト制御部は、
    前記テスト情報が有する動作パターンおよびIO値を取得し、前記シミュレータプログラムに渡し、
    前記実行部は、
    前記テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行し、かつ、当該テスト対象プログラムの実行結果であるプログラム情報と、前記テスト制御部が前記シミュレータプログラムに渡した動作パターンおよびIO値とを用いて前記シミュレータプログラムを実行するように、コンピュータを機能させるための請求項10記載のプログラム。
  12. 前記テスト制御部は、
    前記シミュレータプログラムの動作結果であるIO値を取得し、出力する処理をも行うように、コンピュータを機能させるための請求項10記載のプログラム。
  13. コンピュータを、
    テスト対象プログラムをテストするために当該テスト対象プログラムに与える情報である入力情報と動作パターンとを有するテスト情報を受け付けるテスト情報受付部と、
    前記テスト情報が有する動作パターンを取得するテスト制御部と、
    前記テスト情報が有する入力情報をテスト対象プログラムに与え、当該テスト対象プログラムを実行し、かつ、前記テスト制御部が取得した動作パターンが正常パターンであれば、前記テスト対象プログラムの実行結果であるプログラム情報をハードウェアに渡し、ハードウェアを動作させ、前記テスト制御部が取得した動作パターンが正常パターンでなければ、当該テスト対象プログラムの実行結果であるプログラム情報を用いてシミュレータプログラムを実行する実行部として機能させるためのプログラム。
PCT/JP2009/051035 2008-01-28 2009-01-23 プログラムテスト装置、およびプログラム WO2009096322A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020107017334A KR101110241B1 (ko) 2008-01-28 2009-01-23 프로그램 테스트 장치 및 프로그램
DE112009000211T DE112009000211T5 (de) 2008-01-28 2009-01-23 Programmprüfvorrichtung und -programm
CN2009801037903A CN101925883A (zh) 2008-01-28 2009-01-23 程序测试装置以及程序
US12/864,686 US20100312541A1 (en) 2008-01-28 2009-01-23 Program test device and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-015916 2008-01-28
JP2008015916A JP2009176186A (ja) 2008-01-28 2008-01-28 プログラムテスト装置、およびプログラム

Publications (1)

Publication Number Publication Date
WO2009096322A1 true WO2009096322A1 (ja) 2009-08-06

Family

ID=40912675

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/051035 WO2009096322A1 (ja) 2008-01-28 2009-01-23 プログラムテスト装置、およびプログラム

Country Status (7)

Country Link
US (1) US20100312541A1 (ja)
JP (1) JP2009176186A (ja)
KR (1) KR101110241B1 (ja)
CN (1) CN101925883A (ja)
DE (1) DE112009000211T5 (ja)
TW (1) TW200951707A (ja)
WO (1) WO2009096322A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5545135B2 (ja) * 2010-08-31 2014-07-09 コニカミノルタ株式会社 アプリケーション共有システムおよび画像形成装置
CN102650528A (zh) * 2011-02-25 2012-08-29 鸿富锦精密工业(深圳)有限公司 安全处理系统及方法
CN103003800B (zh) * 2011-05-09 2016-02-10 现代自动车株式会社 异常处理测试装置和方法
EP2810166A4 (en) * 2012-01-31 2016-04-20 Hewlett Packard Development Co IDENTIFY A FAILED CODE CHANGE
US9785542B2 (en) * 2013-04-16 2017-10-10 Advantest Corporation Implementing edit and update functionality within a development environment used to compile test plans for automated semiconductor device testing
US9785526B2 (en) * 2013-04-30 2017-10-10 Advantest Corporation Automated generation of a test class pre-header from an interactive graphical user interface
JP6446334B2 (ja) * 2015-06-12 2018-12-26 東京エレクトロン株式会社 プラズマ処理装置、プラズマ処理装置の制御方法及び記憶媒体
KR102308990B1 (ko) * 2021-07-20 2021-10-06 (주) 에이블리 반도체 테스트 패턴 발생 장치 및 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348544A (ja) * 1993-06-02 1994-12-22 Fujitsu Ltd Scsiシミュレータ
JPH0991031A (ja) * 1995-09-25 1997-04-04 Matsushita Electric Ind Co Ltd 制御ソフトウェアの自動テスト装置、テスト計画入力装置、テスト実行装置、およびテスト結果評価装置、ならびにそれらの方法
JPH10161906A (ja) * 1996-11-29 1998-06-19 Toshiba Corp ソフトウェア実行装置及びソフトウェア実行方法
JP2000207249A (ja) * 1999-01-18 2000-07-28 Hitachi Ltd シミュレ―ション装置
JP2001216176A (ja) * 2000-02-04 2001-08-10 Seiko Epson Corp デバッグ装置およびデバッグ方法ならびにデバッグプログラムを記憶した記憶媒体
JP2002259162A (ja) * 2001-03-02 2002-09-13 Canon Inc 機器制御ソフトウェア開発支援システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003022199A (ja) 2001-07-06 2003-01-24 Sharp Corp プログラム開発装置およびプログラム開発方法ならびに記録媒体および開発プログラム
CN1825322A (zh) * 2005-02-21 2006-08-30 北瀚科技股份有限公司 Ic电路验证平台
JP4427002B2 (ja) * 2005-05-20 2010-03-03 株式会社アドバンテスト 半導体試験用プログラムデバッグ装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348544A (ja) * 1993-06-02 1994-12-22 Fujitsu Ltd Scsiシミュレータ
JPH0991031A (ja) * 1995-09-25 1997-04-04 Matsushita Electric Ind Co Ltd 制御ソフトウェアの自動テスト装置、テスト計画入力装置、テスト実行装置、およびテスト結果評価装置、ならびにそれらの方法
JPH10161906A (ja) * 1996-11-29 1998-06-19 Toshiba Corp ソフトウェア実行装置及びソフトウェア実行方法
JP2000207249A (ja) * 1999-01-18 2000-07-28 Hitachi Ltd シミュレ―ション装置
JP2001216176A (ja) * 2000-02-04 2001-08-10 Seiko Epson Corp デバッグ装置およびデバッグ方法ならびにデバッグプログラムを記憶した記憶媒体
JP2002259162A (ja) * 2001-03-02 2002-09-13 Canon Inc 機器制御ソフトウェア開発支援システム

Also Published As

Publication number Publication date
JP2009176186A (ja) 2009-08-06
US20100312541A1 (en) 2010-12-09
KR101110241B1 (ko) 2012-02-15
KR20100108582A (ko) 2010-10-07
TW200951707A (en) 2009-12-16
CN101925883A (zh) 2010-12-22
DE112009000211T5 (de) 2010-12-09

Similar Documents

Publication Publication Date Title
WO2009096322A1 (ja) プログラムテスト装置、およびプログラム
US10977014B2 (en) Web-based programming environment for embedded devices
JP4148527B2 (ja) 機能テスト・スクリプト生成装置
US9575873B2 (en) Software testing system and method
US6807631B2 (en) System and method for deploying a hardware configuration with a computer program
CN112270149B (zh) 验证平台自动化集成方法、系统及电子设备和存储介质
US20120116561A1 (en) Program testing apparatus, method of testing a program, and program testing program
US8745727B2 (en) Graphical user interface tester
JP2006024006A (ja) テストケース生成装置、テストケース生成プログラム、モデルベース開発プログラム、ソースコード生成妥当性診断装置、ソースコード生成妥当性診断プログラム、およびモデルベース開発方法。
JPH09259153A (ja) バッチ実行制御プログラム作成装置及び方法
US7130760B2 (en) Reporting invalid parameter values for a parameter-based system
CN107038117B (zh) 一种基于事件处理函数间定义-引用的web自动化测试方法
JP6959624B2 (ja) セキュリティアセスメントシステム
US8745587B2 (en) System and method for testing computer programs
US7962796B2 (en) State testing device and methods thereof
JP2007226567A (ja) 回路シミュレータおよび回路シミュレーションプログラム
JP2008033572A (ja) 画面作成装置、画面作成プログラムおよびそれを記録した記録媒体
JP2005174045A (ja) ソースプログラム変換装置、ソースプログラム変換方法、ソースプログラム変換プログラム、および、プログラム記録媒体
JP2006244383A (ja) データベースシステム
JP2007172128A (ja) I/oシミュレータ装置
JPH07219980A (ja) テスト実行方式
JP5738065B2 (ja) 制御プログラム開発支援装置
KR101818712B1 (ko) 웹 기반 워크 벤치 서비스를 이용한 시뮬레이션 방법 및 시스템
WO2023238262A1 (ja) 情報処理装置、試験方法、及び試験プログラム
JP2010204840A (ja) ユーザインターフェース操作統合システムのカスタマイズ方法及び端末装置並びにコンピュータプログラム及び情報記録媒体

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980103790.3

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09706540

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 12864686

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20107017334

Country of ref document: KR

Kind code of ref document: A

RET De translation (de og part 6b)

Ref document number: 112009000211

Country of ref document: DE

Date of ref document: 20101209

Kind code of ref document: P

122 Ep: pct application non-entry in european phase

Ref document number: 09706540

Country of ref document: EP

Kind code of ref document: A1

REG Reference to national code

Ref country code: DE

Ref legal event code: 8607