(57)【特許請求の範囲】
【請求項１】
１又は複数の入力機器と、制御対象の出力機器とが接続される制御装置で用いられる制御ソフトウェアのテストを自動的に実行する制御ソフトウェアの自動テスト装置であって、
前記入力機器から入力された入力信号を基に１又は複数の動作結果の値が全て許容範囲内にあるか否か判断した後、更に、予め設定された正解情報と前記動作結果との照合時の誤差を属性として保持するテスト計画を表形式で作成する作成手段と、前記テスト計画を時間条件とを含めて判断して実行し、誤差を含めてテスト結果を評価した後、前記テスト結果のうち予め設定された間隔時間でデータを抽出し、前記データの一部を間引くテスト装置本体と、前記入力機器および出力信号が出力される出力機器の動作を模擬的に実行する周辺シミュレータを接続するためのポートと、前記制御ソフトウェアにより動作する制御装置を搭載する搭載部と、前記テスト装置本体と接続されたテスト対象部と、前記入力信号を基にテストを順に実行するための実行手段とを備えたこと
を特徴とする制御ソフトウェアの自動テスト装置。
【請求項２】
前記作成手段は、入力された表形式のテスト計画の内容から各入力信号および出力信号の関連性を解釈して実行形式のテストファイルに変換する変換手段をさらに備えること
を特徴とする請求項１記載の制御ソフトウェアの自動テスト装置。
【請求項３】
前記作成手段は、入力された表形式のテスト計画の内容から各入力信号および出力信号の関連性を解釈してテスト結果の評価のための正解データを生成する正解データ生成手段をさらに備えること
を特徴とする請求項１または２記載の制御ソフトウェアの自動テスト装置。
【請求項４】
前記入力機器は、時間公差を加味した時間データを入力可能であり、入力された時間データの時間公差が相互に干渉するか否かを判断する公差判断手段をさらに備えること
を特徴とする請求項１から３のいずれかに記載の制御ソフトウェアの自動テスト装置。
【請求項５】
前記実行手段は、前記テスト結果を前記表形式に変換し出力する表形式出力手段をさらに備えること
を特徴とする請求項１から４のいずれかに記載の制御ソフトウェアの自動テスト装置。
【請求項６】
前記実行手段は、テスト範囲を指定するテスト範囲指定手段と、指定されたテスト範囲を前記テスト計画に基づき連続的にテストする連続テスト実行手段と、指定された入力信号または出力信号を１つだけ実行する単一テスト実行手段とをさらに備えること
を特徴とする請求項１から５のいずれかに記載の制御ソフトウェアの自動テスト装置。
【請求項７】
前記実行手段は、実行すべき１または複数のテスト計画を指定するテスト計画指定手段と、指定された１または複数のテスト計画を連続的に実行するテスト計画連続実行手段とをさらに備えること
を特徴とする請求項１から６のいずれかに記載の制御ソフトウェアの自動テスト装置。
【請求項８】
前記評価手段は、誤差を含む評価基準データを格納する評価基準データ格納手段と、前記正解データ作成手段で作成された正解データと前記テスト結果とを前記評価基準データに基づいて照合し評価結果データを作成する照合手段とを備えること
を特徴とする請求項１から７のいずれかに記載の制御ソフトウェアの自動テスト装置。
【請求項９】
前記照合手段で作成された評価結果データを表形式で前記入力された表形式のテスト結果に並べて表示する結果表示手段をさらに備えること
を特徴とする請求項８記載の制御ソフトウェアの自動テスト装置。
【請求項１０】
前記評価手段は、変化するテスト実行結果のうち変化途中データを間引く間引き手段をさらに備えること
を特徴とする請求項９に記載の制御ソフトウェアの自動テスト装置。
【請求項１１】
前記照合手段は、テスト結果を正解データと照合する第１照合手段と、  パターンが連続するテスト結果の最初のパターンを検索するパターン検索手段と、検索されたパターンとその後の連続するパターンとを照合する第２照合手段とを備えること
を特徴とする請求項８から１０のいずれかに記載の制御ソフトウェアのテスト装置。
【請求項１２】
入力機器と制御対象の出力機器とがネットワークを介して接続され、制御ソフトウェアを自動的にテストする制御ソフトウェアの自動テスト方法であって、
前記入力機器から入力された入力信号を基に前記テストを実行する時間条件及び動作条件、更に、予め設定された正解情報とテスト結果との照合時の誤差を属性として保持するテスト計画を表形式で作成する作成工程と、前記テスト計画に基づき、前記制御ソフトウェアを実行しテスト結果を出力する実行工程と、前記実行工程で出力されたテスト結果を評価する評価工程と、前記テスト結果のうち予め設定された間隔時間でデータを抽出し、前記データの一部を間引く間引き工程とを含むこと
を特徴とする制御ソフトウェアの自動テスト方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、製品の各制御対象を制御するための制御装置で用いられる制御ソフトウェアを自動的にテストする制御ソフトウェアの自動テスト装置及び方法に関する。
【０００２】
【従来の技術】
システムコンポやテレビジョン等の家電製品には、近年、制御用のワンチップのマイクロコンピュータ（以下、マイコンという）やワンボードのマイコンが広く組み込まれている。この組み込みマイコンに搭載される制御ソフトウェアは、完成すると、品質保証のためテスト装置を用いて設計仕様通りに動作するか否かテストされる。近年、電化製品の小型化・高機能化を背景に、この種の組み込みマイコンに対する機能依存度が高まりつつある。このため、この種の組み込みマイコンのメモリに格納された制御ソフトウェアのサイズが急増し、品質保証のための制御ソフトウェア動作確認テストに多大な労力が必要である。
【０００３】
この制御ソフトウェアの動作確認テストの際には、マイコンに各種の周辺シミレータ（
実際のモータやスイッチやセンサ等の入出力機器を擬似的に表現した機器）を接続した状態でテスト用コンピュータとマイコンおよび周辺シミュレータとを接続し、絶対時間で順に記述されたテスト計画（テストプログラム）をテスト用コンピュータで実行し、そのテスト結果をテスト用コンピュータのモニタ画面に表示し、その表示結果を目視により確認している。
【０００４】
この種のテスト装置として、テストプログラムとしてのテスト計画を専用言語で記述したものが知られている。このテスト計画は、たとえば、周辺シミュレータの入出力条件とその絶対時間でのタイミングとを順に専用言語で記述して作成される。このテストプログラムを実行する際に、事象変化を絶対時間で予測できない制御対象がある場合には、オペレータが状態を常時監視して事象変化の都度、それに合わせてデータを入力する。たとえば、システムコンポ用のマイコンをテストする際にモータが所定の回転数になると次の制御を行う場合、オペレータがモータの回転数を監視して、回転数が所定値になると、その旨のデータをテスト用コンピュータに入力する。
【０００５】
このようなデータがテスト用コンピュータからマイコンや周辺シミュレータに送信され、マイコンにより制御されて各周辺シミュレータが順次動作し、その実行結果のデータがテスト用コンピュータで受信される。そして、実行結果のデータがたとえばモニタ上に表示される。オペレータは実行結果を目視により確認し、テスト結果が誤差等を考慮した所定の許容範囲に入っているかを判断する。この動作を繰り返して全てのテスト内容の実行結果を評価する。
【０００６】
【発明が解決しようとする課題】
テストプログラムの作成の際に、前記従来の構成では、専用言語を用いて作成しなければならないので、プログラムに対する専門知識が必要になり、簡単にテストプログラムを作成できない。また、専用言語で記述されたテストプログラムでは、実際の動作が直観的に表現されていないので、動作内容が判りにくく、実際の設計仕様を時系列的に記述するのに適していない。このため、テストプログラムの完成に多大の労力が必要になる。
【０００７】
テスト実行の際に、前記従来の構成では、動作状況が毎回同じとは限らない機器（たとえば、モータ等のアクチュエータのように機構動作を伴う出力機器）を制御する場合、入出力条件を絶対時間だけで記述したテストプログラムを実行すると、意図しない動作を実行するという問題がある。つまり、モータの停止時間のように時間が確定していない信号を正しく処理することができない。
【０００８】
たとえば、カセットの開閉扉のテストを行う際に、クローズボタンを押してモータにより扉を閉めた直後にオープンボタンを押してモータにより扉を開ける動作をテストする場合を想定する。このテストを行うために、絶対時間１でクローズボタン信号を発生させ、その後、絶対時間２でモータの動作開始信号を発生させ、絶対時間３でモータの動作完了信号を発生させ、絶対時間４でオープンボタン信号を発生させるようなテストプログラムを作成したと仮定する。この場合、モータの停止が遅れ、絶対時間３でモータが停止しないときには、扉が充分に閉じていない状態でオープン信号が発せられ、その後実際にモータが停止した後に動作完了信号が発せられることがある。
【０００９】
したがって、このような場合には、前述したようにオペレータが状態を監視して手入力により動作完了信号を入力する必要がある。このように、前記従来の構成では、オペレータが状態を常に監視して、事象変化（たとえば、モータの動作完了）に合わせてデータ（たとえば、動作完了信号）を入力する必要があり、制御ソフトウェアのテスト実行を無人で行うことができない。
【００１０】
また、何らかの問題が生じて別のデータを入力する必要が生じた場合、再度専用言語のテストプログラムを変更しなければならず、数値や信号を少しずつ変化させてその実行結果をみるシミュレーション動作を行いにくい。
【００１１】
テスト結果評価の際に、前記従来の構成では、基本的にはオペレータが目視によりテスト結果を評価している。これは、正解データとの照合を機械的に判断させると、Ａ／Ｄ変換分解能やハードウェア能力による値のふらつき、内部タイマの精度による時間ずれ、データの伝達経路や通信速度による到達遅れ等による物理的な誤差を含むテスト結果がすべて評価の上でエラーになるからである。
【００１２】
このように前記従来の構成では、テストプログラムの作成やテストプログラムによるテストの実行は行えても、テストプログラムの作成が専門的で難しく、かつ作成されたプログラムもテスト内容が直観的に判りにくいものになっている。また、テストプログラムが絶対時間で入出力条件を記述しているので、動作状況が変動しやすい出力機器を自動でテストできず、テスト実行を無人化するのも困難である。さらに、物理的な誤差を含むテスト結果を自動的に評価することができない。
【００１３】
本発明の課題は、テスト計画を簡単に作成でき、かつテストを無人で行え、テスト結果を自動的に評価できる制御ソフトウェアの自動テスト装置及び方法を提供することにある。
【００１４】
【課題を解決するための手段】
請求項１に係る制御ソフトウェアの自動テスト装置は、１又は複数の入力機器と、制御対象の出力機器とが接続される制御装置で用いられる制御ソフトウェアのテストを自動的に実行する制御ソフトウェアの自動テスト装置であって、前記入力機器から入力された入力信号を基に１又は複数の動作結果の値が全て許容範囲内にあるか否か判断した後、更に、予め設定された正解情報と前記動作結果との照合時の誤差を属性として保持するテスト計画を表形式で作成する作成手段と、前記テスト計画を時間条件とを含めて判断して実行し、誤差を含めてテスト結果を評価した後、前記テスト結果のうち予め設定された間隔時間でデータを抽出し、前記データの一部を間引くテスト装置本体と、前記入力機器および出力信号が出力される出力機器の動作を模擬的に実行する周辺シミュレータを接続するためのポートと、前記制御ソフトウェアにより動作する制御装置を搭載する搭載部と、前記テスト装置本体と接続されたテスト対象部と、前記入力信号を基にテストを順に実行するための実行手段とを備えたことを特徴とする。
【００１５】
この場合、テスト対象部の搭載部に制御装置を搭載し、かつ周辺シミュレータを制御装置と装置本体とに接続した状態で、装置本体でテスト計画が表形式で作成されると、それが時間条件と動作条件とを含めて判断して実行され、制御装置に対して周辺シミュレータとの間で信号の入出力が行われ、そのテスト結果の情報がテスト装置本体に入力される。テスト装置本体では、予め設定された正解情報とテスト結果とが物理的な誤差を含めて照合されて評価される。ここでは、テスト計画が表形式で作成されるので、簡単にテスト計画を作成できるとともに、テスト内容を直観的に理解できる。また、時間条件に加えて動作条件を含めてテストを実行するので、動作状況が不安定な機器であっても自動的にテストを実行できる。さらに、物理的な誤差を含めてテスト結果を評価しているので、テスト結果が物理的に変動しても自動的に評価できる。
【００１６】
請求項２に係る制御ソフトウェアの自動テスト装置は、請求項１記載の装置において、作成手段は、入力された表形式のテスト計画の内容から各入力信号および出力信号の関連性を解釈して実行形式のテストファイルに変換する変換手段をさらに備えている。
【００１７】
請求項３に係る制御ソフトウェアの自動テスト装置は、請求項１または２記載の装置において、作成手段は、入力された表形式のテスト計画の内容から各入力信号および出力信号の関連性を解釈してテスト結果の評価のための正解データを生成する正解データ生成手段をさらに備えている。
【００１８】
請求項４に係る制御ソフトウェアの自動テスト装置は、請求項１から３のいずれかに記載の装置において、入力機器は、時間公差を加味した時間データを入力可能であり、入力された時間データの時間公差が相互に干渉するか否かを判断する公差判断手段をさらに備えている。
【００１９】
請求項５に係る制御ソフトウェアの自動テスト装置は、請求項１から３のいずれかに記載の装置において、実行手段は、テスト結果を表形式に変換し出力する表形式出力手段をさらに備えている。
【００２０】
請求項６に係る制御ソフトウェアの自動テスト装置は、請求項１から５のいずれかに記載の装置において、実行手段は、テスト範囲を指定するテスト範囲指定手段と、指定されたテスト範囲を前記テスト計画に基づき連続的にテストする連続テスト実行手段と、指定された入力信号または出力信号を１つだけ実行する単一テスト実行手段とをさらに備えている。
【００２１】
請求項７に係る制御ソフトウェアの自動テスト装置は、請求項１から６のいずれかに記載の装置において、実行手段は、実行すべき１または複数のテスト計画を指定するテスト計画指定手段と、指定された１または複数のテスト計画を連続的に実行するテスト計画連続実行手段とをさらに備えている。
【００２２】
請求項８に係る制御ソフトウェアの自動テスト装置は、請求項１から７のいずれかに記載の装置において、前記評価手段は、誤差を含む評価基準データを格納する評価基準データ格納手段と、前記正解データ作成手段で作成された正解データと前記テスト結果とを前記評価基準データに基づいて照合し評価結果データを作成する照合手段とを備えている。
【００２３】
請求項９に係る制御ソフトウェアの自動テスト装置は、請求項８記載の装置において、照合手段で作成された評価結果データを表形式で前記入力された表形式のテスト結果に並べて表示する結果表示手段をさらに備えている。
【００２４】
請求項１０に係る制御ソフトウェアの自動テスト装置は、請求項９に記載の装置において、評価手段は、変化するテスト実行結果のうち変化途中データを間引く間引き手段をさらに備えている。
【００２５】
請求項１１に係る制御ソフトウェアの自動テスト装置は、請求項８から１０のいずれかに記載の装置において、照合手段は、テスト結果を正解データと照合する第１照合手段と、パターンが連続するテスト結果の最初のパターンを検索するパターン検索手段と、検索されたパターンとその後の連続するパターンとを照合する第２照合手段とを備えている。
【００２６】
請求項１２に係る制御ソフトウェアの自動テスト方法は、入力機器と制御対象の出力機器とがネットワークを介して接続され、制御ソフトウェアを自動的にテストする制御ソフトウェアの自動テスト方法であって、前記入力機器から入力された入力信号を基に前記テストを実行する時間条件及び動作条件、更に、予め設定された正解情報とテスト結果との照合時の誤差を属性として保持するテスト計画を表形式で作成する作成工程と、前記テスト計画に基づき、前記制御ソフトウェアを実行しテスト結果を出力する実行工程と、前記実行工程で出力されたテスト結果を評価する評価工程と、前記テスト結果のうち予め設定
された間隔時間でデータを抽出し、前記データの一部を間引く間引き工程とを含んでいる。
【００２７】
【実施例】
図１は、本発明の一実施例による制御ソフトウェアの自動テスト装置を示すブロック図である。
【００２８】
図１において、自動テスト装置は、装置本体１と、たとえば家電製品制御用のマイコン２を搭載したマイコン搭載部３とを備えている。マイコン２には、テスト対象の制御ソフトウェアが格納されたＰＲＯＭが搭載されている。マイコン搭載部３には、家電製品の入力機器及び出力機器の動作を模擬するための複数の周辺シミュレータ４ａ〜４ｅが接続用のＩ／Ｏポートを介して接続されている。周辺シミュレータ４ａは、たとえば、リモコン等の入力機器を模擬したものであり、周辺シミュレータ４ｂは、ステッピングモータ等の出力機器を、周辺シミュレータ４ｃはサーミスタ等のアナログ入力機器を、周辺シミュレータ４ｄは、ブザー等の出力機器を、周辺シミュレータ４ｅはＬＣＤ等の表示機器をそれぞれ模擬したものである。マイコン搭載部３および周辺シミュレータ４ａ〜４ｅは、装置本体１と３つの光ループネットワーク５ａ〜５ｃで接続されている。光ループネットワーク５ａ〜５ｃは、たとえば、特開昭６３−２０９３６号公報に開示されたような高速型のネットワークであり、データの入出力を高速度で行える。
【００２９】
装置本体１は、図２に示すように、たとえばペンティアム（商標）プロセッサを搭載し、オペレーションシステムとしてＷｉｎｄｏｗｓ（商標）を採用したパーソナルコンピュータからなり、ペンティアム（商標）プロセッサを含む制御部本体（ＣＰＵ）１０を有している。制御部本体１０には、キーボード１１と、マウス１２と、ＣＲＴディスプレイ１３と、ＲＯＭ，ＲＡＭを含むメモリ１４と、ハードディスクドライブ，フロッピーディスクドライブ，ＣＤＲＯＭドライブ等を含む外部記憶装置１５とが接続されている。また制御部１０には、Ｉ／Ｏドライバ１６も接続されている。Ｉ／Ｏドライバ１６には、光Ｉ／Ｏボード１７が接続されている。この光Ｉ／Ｏボード１７に３つの光ループネットワーク５ａ〜５ｃがそれぞれ接続されている。そして、光ループネットワーク５ａ〜５ｃ中の光子局に周辺シミュレータ４ａ〜４ｅやマイコン搭載部３が接続されている。
【００３０】
外部記憶装置１５のたとえばハードディスクドライブには、図３に示すようなディレクトリ構造が構築されている。すなわち、ルートディレクトリには、環境ディレクトリ２０が作られ、環境ディレクトリ２０には、機種名ディレクトリ２１が構築されている。機種名ディレクトリ２１は、機種名毎の各種ファイルを格納するためのものである。機種名ディレクトリ２１には、チェックディレクトリ２２と結果ディレクトリ２３とが構築されている。また機種名ディレクトリ２１には、転送データ定義ファイル３０が格納されている。転送データ定義ファイル３０は、チェックシートファイル（テスト順を示すテスト計画を表形式で編集し可能なファイル）からテスト実行ファイルや正解ファイルの作成を行ったり、テスト機能や照合機能で使用される周辺シミュレータの設定を行うための情報を格納したファイルである。転送データ定義ファイル３０には、周辺シミュレータ毎の出力通信タイプや出力アドレス（装置本体１から周辺シミュレータへの出力データアドレス）や入力アドレス（周辺シミュレータから装置本体への入力データアドレス）や周辺シミュレータ単位の遅れ時間、値公差等の情報が格納されている。また、表形式（チェックシート形式）のテスト計画（チェックシートファイル）のデータから実行ファイルや正解ファイルを生成する際の変換情報であるデータ変換パターン情報等も格納されている。
【００３１】
チェックディレクトリ２２には、タイマ表定義ファイル３１、項目定義ファイル３２、周辺シミュレータファイル３３、チェックシートファイル３４、実行ファイル３５、正解ファイル３６、エラー出力ファイル３７および連続実行ファイルリスト３８が格納されて
いる。またチェックディレクトリ２２には、シンボルディレクトリ２４が構築されている。シンボルディレククトリ２４には、シンボルファイル３９および部分保存ファイル４０が格納されている。
【００３２】
項目定義ファイル３２には、後述する入力項目の定義数や出力項目の定義数、各項目の名称等の情報が格納されている。ここでは、後述するチェックシートの項目表示部分の設定が行われる。タイマ表定義ファイル３１には、チェックシートで使用するタイマ表情報が格納されている。ここには、各タイマの識別情報、タイマ名、その時間単位、設定時間、タイマ公差等の情報が格納されている。このタイマ表定義ファイル３１には、速度テーブル情報も格納されている。この速度テーブル情報は、変化する数値に意味があるスルーデータ（たとえば、サーミスタの温度データ）に限り、数値の変化開始から変化終了までの変化時間を自動化計算させるためのデータである。
【００３３】
周辺シミュレータファイル３３には、周辺シミュレータ４ａ〜４ｅの各種の情報が格納されている。チェックシートファイル３４には、生成されたチェックシート（テスト計画）情報が格納されている。実行ファイル３５は、チェックシートから変換されたファイルであり、中間言語で記述され、テスト実行時に使用されるテストプログラムを格納するファイルである。正解ファイル３６は、チェックシートファイルから変換されたファイルであり、結果照合時に使用される正解データを格納するファイルである。エラー出力ファイル３７は、エラーが生じたときに生成される。連続実行ファイルリスト３８は、複数のチェックシートファイルにまたがってテストを連続実行する際の、連続実行されるチェックシートファイルの名称が実行順に格納されたリストである。シンボルファイル３９は、周期的に変化する動作や段階的に変化するパターン動作をシンボル化して記録したファイルである。部分保存ファイル４０には、部分保存されたファイルが格納されている。
【００３４】
結果ディレクトリ２３には、実行結果ファイル４１、照合結果ファイル４２および結果評価ファイル４３が格納されている。実行結果ファイル４１は、テストの実行結果を格納するファイルである。照合結果ファイル４２は照合結果を格納するファイルである。結果評価ファイル４３は評価結果を格納するファイルである。
【００３５】
次に自動テスト装置１の動作について、図４〜図２２に示す制御フローチャートに従って説明する。
【００３６】
電源が投入されると、図４のステップＳ１で初期設定がなされる。ステップＳ２では、図２３に示すような初期画面を表示する。この初期画面では、チェックシートとテスト実行と結果照合の３つのボタンが表示される。ステップＳ３〜Ｓ５では、いずれのボタンが操作されたか否かを判断する。オペレータは、初期画面が表示されると、マウス１２を操作して所望の処理に対応するボタンにカーソルを合わせ左ボタンをクリックする。図４では、フローチャートによる表現の都合上あたかも３つの処理で優先順位があるように表示されているが、実際には優先順位はない。以降のフローチャートにおいてもボタンの操作やメニューの選択に同様に優先順位はない。
【００３７】
チェックシートボタンが操作されたと判断するとステップＳ３からステップＳ６に移行する。ステップＳ６ではチェックシート処理を行う。このチェックシート処理は、テスト手順を直観的に判断できるように表形式で記述するための処理である。テスト実行ボタンが操作されたと判断するとステップＳ４からステップＳ７に移行する。ステップＳ７ではテスト実行処理を実行する。結果照会ボタンが操作されたと判断するステップＳ５からステップＳ８に移行する。ステップＳ８では結果照合処理を実行する。
【００３８】
ステップＳ８のチェックシート処理では、図５のステップＳ１１で、図２４に示すチェ
ックシート処理のデータ入力画面を表示する。このデータ入力画面では、機種名、チェックシートバージョン、シート番号のデータを必須入力項目としている。また画面の下部には、チェックシートの項目を編集するための項目エディタ、チェックシートに入力を行うためのシート入力、チェックシートを読み込むためのシート読み込み、この処理を終了するための終了の４つのボタンが表示されている。ステップＳ１３〜Ｓ１６では、これら４つのボタンのいずれが操作されたか否かを判断する。
【００３９】
項目エディタボタンが操作されたと判断するとステップＳ１３からステップＳ１７に移行する。ステップＳ１７では、ファイル項目編集処理がなされる。このファイル項目編集処理により、項目定義ファイルや転送データ定義ファイルやタイマ表定義ファイルの内容を編集できる。シート入力ボタンが操作されたと判断するとステップＳ１４からステップＳ１８に移行し、シート入力処理を実行する。シート読み込みボタンが操作されたと判断すると、ステップＳ１５からステップＳ１９に移行し、指定されたシート番号のチェックシートをチェックシートファイルから読み込む。終了ボタンが操作されたと判断するとメインルーチンに戻る。
【００４０】
ステップＳ１８のシート入力処理では、図６のステップＳ２１で、入力されたファイルの変更の有無をチェックする。ステップＳ２２では、読み込まれたチェックシートを画面上に表示する。このチェックシート画面を図２５に示す。ここでは、画面上部に、ファイル、オプション、表示、編集の４つのメニューが表示される。また画面下部には、チェックシートを登録するための登録ボタンと、この処理を終了するための終了ボタンとが表示されている。そしてその画面中央にテストプログラムを入力するための表形式のチェックシートの入力画面が表示される。ここで、表形式の入力画面は、入力条件が表示される入力項目と、出力条件が表示される出力項目と、時間データが表示される時間項目と、備考項目とに分かれている。この入力項目及び出力項目には、項目定義ファイルで定義された入力項目や出力項目が表示されている。ここで入力項目には、センサやリモコン等の入力機器を模擬した周辺シミュレータからマイコンへの入力信号（入力条件）が示されている。また出力項目には、モータやＬＣＤ等の制御対象の出力機器への出力信号（出力条件）が示されている。時間項目は、各種出力条件と入力条件との関係を示す時間データを記述するための欄である。この時間データが表の列方向（横方向）に記述される。また、入力項目や出力項目の状態が同じく表の列方向に表示される。また各表の同一列（縦一列）は同じ時間タイミングを示している。また、項目名の隣や２０列毎に累積データ表示欄が設けられている。この累積データ表示欄には、直前の列での入出力条件の状態が表示されている。
【００４１】
ステップＳ２３〜Ｓ２８では、各メニューまたはボタンのいずれが選択または操作されたか否かを判断する。これらが選択または操作されていないとステップＳ２９に移行し、入力処理を実行する。
【００４２】
ファイルメニューが選択されるとステップＳ２３からステップＳ３０に移行する。ステップＳ３０ではファイル処理を実行する。オプションメニューが選択されるとステップＳ２４からステップＳ３１に移行する。ステップＳ３１ではオプション処理を実行する。表示メニューが選択されるとステップＳ２５からステップＳ３２に移行する。ステップＳ３２では、表示サイズや表示枠の変更等の表示処理を行う。編集メニューが選択されたと判断するとステップＳ２６からステップＳ３３に移行する。ステップＳ３３では編集処理を実行する。登録ボタンが操作されたと判断するとステップＳ２７からステップＳ３４に移行する。ステップＳ３４ではデータが入力されたチェックシートをチェックシートファイルに登録する。終了ボタンが操作されたと判断するとチェックシート処理ルーチンに戻る。
【００４３】
図６のステップＳ３０のファイル処理では、図７のステップＳ４１でファイルメニューのオプションメニューを表示する。このオプションメニューには、ファイル登録、印刷、追加及びエディット終了の４つのメニューが表示される。ステップＳ４２〜Ｓ４５では、いずれのメニューが選択されたかを判断する。登録メニューが選択されるとステップＳ４２から図６のステップＳ３４に移行する。そして入力されたチェックシートをチェックシートファイルに登録する。印刷メニューが選択されるとステップＳ４３からステップＳ４６に移行する。ステップＳ４６では、印刷範囲の指定や印刷スタイルの指定や印刷実行処理等を行う。追加処理が選択されるとステップＳ４４からステップＳ４７に移行する。ステップＳ４７では、ファイルの追加処理が実行される。終了メニューが選択されたと判断するとステップＳ４５から図６に移行しチェックシート処理ルーチンに戻る。
【００４４】
図６のステップＳ３１のオプション処理では、図８のステップＳ５１で、オプション処理のオプションメニューを表示する。オプション処理のオプションメニューには、実行ファイル作成、正解ファイル作成、実行・正解ファイル作成、累積チェック及びシンボル処理の５つのメニューが表示される。ステップＳ５２〜Ｓ５６では、いずれのオプションメニューが選択されたかを判断する。実行ファイル作成メニューが選択されたと判断するとステップＳ５２からステップＳ５７に移行する。ステップＳ５７では後述する実行ファイル作成処理を行う。正解ファイル作成メニューが選択されたと判断するとステップＳ５３からステップＳ５８に移行する。ステップＳ５８では後述する正解ファイル作成処理を行う。実行・正解ファイル作成メニューが選択されたと判断するとステップＳ５４からステップＳ５９に移行する。ステップＳ５９では実行ファイル作成処理を行う。ステップＳ６０では正解ファイル作成処理を行う。
【００４５】
累積チェックメニューが選択されたと判断するとステップＳ５５からステップＳ６１に移行する。ステップＳ６１では累積チェック処理を行う。この累積チェック処理では、累積データ表示欄の表示内容をチェックし、正しく表示し直す。シンボルメニューが選択されたと判断するとステップＳ５６からステップＳ６２に移行する。ステップＳ６２では後述するシンボル処理を実行する。
【００４６】
図６のステップＳ３３の編集処理では、図９のステップＳ７１で編集処理のオプションメニューを表示する。このオプションメニューは、１列挿入、１列削除、部分保存、挿入読み込みの４つのメニューが表示される。ステップＳ７５では、いずれのメニューが選択されたか否かを判断する。
【００４７】
１列挿入メニューが選択されたと判断するとステップＳ７２からステップＳ７６に移行する。挿入指定列の列番号をクリックし、ステップＳ７６で１列挿入メニューを選択することで、指定列以降の列の１列右方向への移動を行う。指定列に時間データがある場合には１列前の時間データを参照して時間データを自動挿入する等の１列挿入処理を実行する。
【００４８】
１列削除メニューが選択されたと判断するとステップＳ７３からステップＳ７７に移行する。削除指定列の列番号がクリックし、ステップＳ７７で１列削除メニューを選択することで、指定列以降の列の１列左方向への移動を行う。指定列に時間データの開始または終了がある場合には、時間データを削除する。
【００４９】
部分保存メニューが選択されたと判断するとステップＳ７４からステップＳ７８へ移行する。開始列と終了列とを指定した後にステップＳ７８で部分保存メニューを選択すると、ダイアログボックスが表示され、指定された列範囲を開始／終了のページ／列で表示する。そして部分保存するファイル名を入力した後に、ダイアログボックスに表示された部分保存ボタンを押すと部分保存ファイルが作成される。この部分保存ファイルは、シンボ
ルディレクトリに格納される。
【００５０】
挿入先頭列位置が指定された後に挿入読み込みメニューが選択されると、ステップＳ７５からステップＳ７９に移行する。ステップＳ７９では、挿入読み込み処理が実行される。挿入読み込み処理では、挿入読み込みのダイアログボックスが表示され、指定された列範囲の開始／終了のページ／列が表示される。続いてファイル名を選択しダイアログボックスに表示された挿入読み込みボタンを押すと指定位置を先頭に部分保存ファイルが読み込まれる。このようなチェックシートの編集処理を行えるので、入出力条件が僅かに異なる場合に、チェックシートに行や列を挿入・削除するだけで簡単に対応できる。
【００５１】
図６のステップＳ２９の入力処理では、図１０のステップＳ８１〜Ｓ８４でマウスの移動やクリックキーの押圧等により種々の入力操作を判断する。ステップＳ８５では他の処理を実行し処理を終了する。カーソルキーまたはマウスの位置を検知すると、ステップＳ８１からステップＳ８６に移行する。ステップＳ８６ではカーソル移動処理を行う。カラム位置にカーソルがあるときにマウスの左ボタンがクリックされると、データの入力要求があったと判断し、ステップＳ８２からステップＳ８７に移行する。ステップＳ８７では入力ボックスを表示する。ステップＳ８８では、入力されたデータをチェックシートに格納する。カーソルがカラム位置に移動した状態で右ボタンがダブルクリックされると、削除要求があったと判断し、ステップＳ８３からステップＳ８９に移行する。ステップＳ８９では削除ダイアログボックスを表示する。ステップＳ９０では、削除ボタンが押されたか否かを判断する。削除ボタンが押された場合にはステップＳ９１に移行し指定されたカラムのデータを削除する。
【００５２】
時間設定の基準になるデータをクリックした後、時間設定終了の基準となるデータまたは列をクリックし、さらに時間項目または時間表示欄にカーソルを移動して左ボタンをクリックすると、時間データの入力要求があったと判断し、ステップＳ８４からステップＳ９２に移行する。ステップＳ９２では時間入力ダイアログボックスを表示する。この状態を図２６に示す。時間ダイアログボックスが表示されると、オペレータは、タイマ名または時間を入力する。タイマ名が入力されるとステップＳ９３からステップＳ９４に移行する。ステップＳ９４では入力ボタンが押されたか否かを判断する。入力ボタンが押されていない場合にはステップＳ９５に移行する。ステップＳ９５では取消ボタンが押されたか否かを判断する。取消ボタンも押されていない場合にはステップＳ９４に戻る。入力ボタンが押された場合にはステップＳ９４からステップＳ９６に移行する。ステップＳ９６では入力された時間をチェックシート上にセットする。また、ステップＳ９３でタイマ名入力がなされていない場合にはステップＳ９７に移行する。ステップＳ９７では時間入力がなされたか否かを判断する。時間入力がなされた場合にはその単位の指定の有無を判断する。時間入力がなされた場合にはステップＳ９４に進み、時間入力がなされていない場合にはステップＳ９３に戻る。
【００５３】
このようにして時間を表の中で任意に入力できるので、時間データの入力が容易になる。なおタイマ名では、タイマ表に登録されたタイマ名が選択できる。このタイマ名には、通常、時間公差が含まれている。
【００５４】
ステップＳ９６の時間入力処理では、図１１のステップＳ１０１で時間データのチェックシートへの登録がなされる。ステップＳ１０２〜Ｓ１０４では、公差チェックがなされる。この公差チェックは、時間データには公差が含まれているのに対して、チェックシート上では、時間データに公差が表示されていないために行われる。
【００５５】
ステップＳ１０２では、入力位置の前方向に時間設定がされている場合、各行の時間データのうち、前方向かつ最も近い時間データを求める。そしてステップＳ１０３およびＳ
１０４で見つかった時間と入力時間とで公差の干渉をチェックする。チェックシート上で公差が干渉するケースは以下の２つの場合が考えられる。ここではチェック対象時間（時間１）より前に開始している時間（時間２）がチェックの対象となり、その後に開始している時間はチェックの対象にならない。第１には、図２７（Ａ）に示すように、時間１と、時間１の終了時間より前の列で終了している時間２との関係が、時間１−公差１＜時間２＋公差２の場合、第２には、図２７（Ｂ）に示すように、時間１と、時間１の終了時間より後の列で終了している時間２との関係が、時間１＋公差１＞時間２−公差２の場合である。これらの２つの場合をステップＳ１０３およびＳ１０４でチェックする。
【００５６】
これらの２つの場合のいずれかに該当する場合、ステップＳ１０５に移行する。ステップＳ１０５では、入力時間は時間公差が干渉している旨のエラーダイアログボックスを表示する。このとき対象時間も合わせて表示する。このダイアログボックスには強制入力ボタンとキャンセルボタンとが表示される。ステップＳ１０６では、強制入力ボタンが操作されたか否かを判断する。強制入力ボタンが操作されるとステップＳ１０６からステップＳ１０９に移行し、登録された時間データをチェックシート上に表示し、入力ルーチンに戻る。強制入力ボタンが操作されていない場合にはステップＳ１０６からステップＳ１０７に移行する。ステップＳ１０７ではキャンセルボタンが操作されたか否かを判断する。キャンセルボタンが操作された場合にはステップＳ１０８に移行する。ステップＳ１０８では、ステップＳ１０１で登録した時間データを削除する。キャンセルボタンも操作されていない場合にはステップＳ１０６に戻る。また、ステップＳ１０３およびＳ１０４で公差の干渉がないと判断するとステップＳ１０９に移行し、登録された時間データをチェックシート上に表示、入力ルーチンに戻る。
【００５７】
図８のステップＳ５７の実行ファイル作成処理では、図１２のステップＳ１１１で指定のチェックシートをチェックシートファイルから読み出す。ステップＳ１１２では、読み出したチェックシートのフォーマットをチェックする。ステップＳ１１３では、チェック結果によりフォーマットエラーであるか否かを判断する。フォーマットエラーの場合は処理を中断してオプション処理ルーチンに戻る。フォーマットエラーでない場合には、ステップＳ１１４に移行する。ステップＳ１１４では、読み出したチェックシートを１列ずつ読み込む。
【００５８】
ステップＳ１１５では読み込んだ１列内に入力条件が書き込まれているか否かを判断する。入力条件が書き込まれている場合にはステップＳ１１５からＳ１１６に移行する。ステップＳ１１６では、書き込まれた入力条件に時間データで関連付けられた出力条件の検索やそれらの関係の解析を行う。入力条件が書き込まれていない場合にはステップＳ１１５からＳ１１７に移行する。ステップＳ１１７では、読み込んだチェックシートの１列内に出力条件が書き込まれているか否かを判断する。出力条件が書き込まれている場合にはステップＳ１１７からＳ１１８に移行する。ステップＳ１１８では、書き込まれた出力条件に時間データで関連付けられた入力条件が書き込まれているか否かを判断する。入力条件が書き込まれている場合にはステップＳ１１６に移行し、書き込まれた入力条件に時間データで関連付けられた出力条件の検索やそれらの関係の解析を行う。ステップＳ１１６での解析が終了するとステップＳ１１９に移行し、解析結果に基づき、パターン変換処理を実施してチェックシート上の入力条件，出力条件を中間言語形式のプログラムに変換する。具体的には、転送データ定義ファイルに登録してあるデータ変換パターン情報と解析結果とを照合して、入力条件だけが有る場合や出力条件に時間データで関連付けられた入力条件が有る場合にはパターン変換処理を実施する。ステップＳ１１７で出力条件が書き込まれていないと判断した場合、またはステップＳ１１８で出力条件に時間データで関連付けられた入力条件が書き込まれていないと判断した場合には、上記解析処理およびパターン変換処理は行わない。つまり、出力条件だけがある場合には解析処理およびパターン変換処理を実施せず、ステップＳ１２０に移行する。また、パターン変換処理が終わると
ステップＳ１２０に移行する。
【００５９】
ステップＳ１２０では、次の列があるか否かを判断する。次の列が有る場合には、ステップＳ１１４に戻り、次の列のデータを読み込む。ステップＳ１２０で次の行が無いと判断すると、ステップＳ１２１に移行する。ステップＳ１２１では、変換された中間言語のテストプログラムを実行ファイル３５に書き込む。このようにして、チェックシート上に記述された入力条件および出力条件から実行用のテストプログラムを作成する。
【００６０】
図８のステップＳ５８の正解ファイル作成処理では、図１３のステップＳ１３１〜Ｓ１３４で図１２のステップＳ１１１〜Ｓ１１４と同様な処理により読み出したチェックシートを１列ずつ読み込む。
【００６１】
ステップＳ１３５では読み込んだ１列内に入力条件が書き込まれているか否かを判断する。入力条件が書き込まれている場合にはステップＳ１３５からＳ１３６に移行する。ステップＳ１３６では、書き込まれた入力条件に時間データで関連付けられた出力条件が書き込まれているか否かを判断する。出力条件が書き込まれている場合にはステップＳ１３７に移行し、書き込まれた出力条件に時間データにより関連付けられた入力条件の検索やそれらの関係の解析を行う。
【００６２】
ステップＳ１３５で入力条件が書き込まれていないと判断した場合にはＳ１３８に移行する。ステップＳ１３８では、読み込んだチェックシートの１列内に出力条件が書き込まれているか否かを判断する。出力条件が書き込まれている場合にはステップＳ１３８からＳ１３９に移行する。ステップＳ１３９では、書き込まれた出力条件に時間データで関連付けられた入力条件が書き込まれているか否かを判断する。入力条件が書き込まれている場合にはステップＳ１３９からステップＳ１３７に移行し、書き込まれた入力条件に時間データで関連付けられた出力条件の検索やそれらの関係の解析を行う。入力条件が書き込まれていない場合にはステップＳ１３９からＳ１４０に移行する。ステップＳ１４０では、書き込まれた出力条件に時間データで関連付けられた出力条件が書き込まれているか否かを判断する。出力条件が書き込まれている場合にはステップＳ１４０からＳ１３７に移行し、書き込まれた出力条件に時間データで関連付けられた入力条件の検索やそれらの関係の解析を行う。
【００６３】
ステップＳ１３７での解析が終了するとステップＳ１４１に移行し、解析結果に基づき、パターン変換処理を実施してチェックシート上の入力条件，出力条件を中間言語形式のプログラムに変換する。具体的には、転送データ定義ファイルに登録してあるデータ変換パターン情報と解析結果とを照合して、出力条件が含まれるときのみパターン変換処理を実施する。
【００６４】
一方、ステップＳ１３６，Ｓ１３８およびＳ１４０で出力条件が書き込まれていないと判断した場合は解析処理およびパターン変換処理を実施せず、ステップＳ１４２に移行する。また、パターン変換処理が終わるとステップＳ１４２に移行する。ステップＳ１４２，Ｓ１４３ではステップＳ１２０，Ｓ１２１と同様な処理を行い正解ファイルを作成する。このように、正解ファイル作成の際には、入力条件だけが有る場合にはパターン変換処理を行わず、出力条件が含まれるときのみパターン変換処理を行う。
【００６５】
なお、これらの実行ファイル作成処理および正解ファイル作成処理はステップＳ５９およびステップＳ６０でもそれぞれ同様に行われる。
【００６６】
図８のステップＳ６２のシンボル処理では、図１４のステップＳ１５１でシンボル処理のオプションメニューを表示する。このオプションメニューには、初期動作設定メニュー
、パターン動作設定メニュー、終了動作設定メニュー、設定解除メニューおよびシンボル登録メニューの５つのメニューが表示される。ステップＳ１５２では、パターンデータのブロックの開始列と終了列とをマウスにより指定されるのを待つ。ステップＳ１５３では、初期動作メニューが選択されたか否かを判断する。ステップＳ１５４では、パターン動作設定メニューが選択されるのを待つ。このパターン動作設定メニューは必ず入力されなければならない。パターン動作設定メニューが選択されるとステップＳ１５５に移行する。ステップＳ１５５では、指定されたブロックのパターン動作を設定する。ステップＳ１５６では終了動作指定メニューが選択されたか否かを判断する。ステップＳ１５７ではシンボル登録メニューが選択されたか否かを判断する。他の処理が選択されたか否かを判断する。他の処理が選択された場合にはステップＳ１５９に移行し他の処理を実行する。
【００６７】
初期動作設定メニューが選択されるとステップＳ１５３からステップＳ１６０に移行する。ステップＳ１６０では、初期動作を設定する。終了動作設定メニューが選択されたと判断するとステップＳ１５６からステップＳ１６１に移行する。ステップＳ１６１では終了動作を設定する。これらの操作を終了するとオペレータは、シンボル登録メニューを選択する。シンボル登録メニューが選択されるとステップＳ１５７からステップＳ１６２に移行する。ステップＳ１６２では、シンボル登録ダイアログボックスが表示される。ここでオペレータはシンボル名を入力する。シンボル登録ダイアログボックスにはキャンセルボタンと登録ボタンとが表示される。ステップＳ１６３では登録ボタンが操作されたか否かを判断する。登録ボタンが操作されていない場合にはステップＳ１６４に移行する。ステップＳ１６４ではキャンセルボタンが操作されたか否かを判断する。キャンセルボタンが操作されていない場合にはステップＳ１６３に戻る。登録ボタンが操作された場合にはステップＳ１６３からステップＳ１６５に移行する。ステップＳ１６５では、指定されたブロックに表示された時間データをパターンデータとしてシンボルディレクトリにあるパターンデータファイルに登録する。
【００６８】
図４のステップＳ７のテスト実行処理では、図１５のステップＳ１７１で、テスト実行のデータ入力画面を表示する。このテスト画面は、図２４に示すチェックシートデータのデータ入力画面と同様な画面であり、下部に実験起動ボタンと終了ボタンとが表示される。また、上部には、機種名、チェックシートバージョン、ＰＲＯＭバージョン、シート番号等のデータ入力画面が表示される。ステップＳ１７２では、データ入力画面でのデータの入力を待つ。ステップＳ１７３では、実験起動ボタンが操作されたか否かを判断する。実験起動ボタンが操作されるとステップＳ１７３からステップＳ１７４に移行する。
【００６９】
ステップＳ１７４では連続実行ファイルリスト３８が有るか否かを判断する。つまり、連続実行する複数のチェックシートファイルが有るか否かを判断する。連続実行する複数のチェックシートファイルが無い場合にはステップＳ１７４からＳ１７５に移行する。ステップＳ１７５では後述する図１６に示すテスト処理を実行する。連続実行する複数のチェックシートファイルが有る場合にはステップＳ１７４からＳ１７６に移行する。ステップＳ１７６では、連続実行ファイルリスト３８からチェックシートファイル名を順に読み出し、そのチェックシートファイル名のチェックシートをチェックシートファイル３８から読み込む。ステップＳ１７７では、後述する図１８の連続実行処理を行う。ステップＳ１７８では、連続実行ファイルリスト３８の全ての連続実行すべきチェックシートファイル読み出しを完了したか否かを判断する。まだチェックシートファイルが有る場合にはステップＳ１７６に戻る。ここでは、複数のチェックシートファイルの名前を実行順に連続実行ファイルリスト３８に登録しそれを順に実行することで、複数のチェックシートファイルにまたがるテスト計画を簡単に実行できる。このため、テスト計画をサブルーチン化した複数のチェックシートファイルを作成することで、テスト計画の標準化を図ることができる。
【００７０】
ステップＳ１７３で実験起動ボタンが操作されていない判断した場合、またはステップＳ１７８で全ての連続実行ファイルを読み出したと判断した場合は、ステップＳ１７９に移行する。ステップＳ１７９では、終了ボタンが操作されたか否かを判断する。終了ボタンが操作されるとメインルーチンに戻り、終了ボタンが操作されていない場合は、ステップＳ１７２に戻る。
【００７１】
ステップＳ１７５のテスト処理では、図１６のステップＳ１８１でテスト実行のチェックシートを表示する。この表示画面の一例を図２８に示す。ここでは、画面左部に実行部分のチェックシートが、右半分に現在の実行中の入力項目および出力項目やその入力データ及び出力データが表示される。また下部に、Ｍ入力（マニュアル入力），連続実行，１列実行，開始列，ブレークポイント，実行中断，終了の７つのボタンが表示される。
【００７２】
ステップＳ１８２〜Ｓ１８８では、いずれのボタンが操作されたか否かを判断する。Ｍ入力が操作されたと判断するとステップＳ１８２からステップＳ１９０に移行する。ステップＳ１９０では、後述するマニュアル入力処理を行う。このマニュアル入力処理は、実行中において、入力項目や出力項目のデータを変更する場合に行う。このマニュアル入力を選択するとチェックシート表示欄で新たな入力を行える。連続実行ボタンが操作されたと判断するとステップＳ１８３からステップＳ１９１に移行する。ステップＳ１９１では、図１８に示す連続実行処理がなされる。１列実行処理ボタンが選択されたと判断するとステップＳ１８４からステップＳ１９２に移行する。ステップＳ１９２では、現在行を１列のみ実行する１列実行処理が行われる。開始列ボタンが操作されたと判断するとステップＳ１８５からステップＳ１９３に移行する。ステップＳ１９３では、連続実行を行う開始列を指定する。ブレークポイントボタンが操作されたと判断するとステップＳ１８６からステップＳ１９４に移行する。ステップＳ１９４では、開始列が予め設定されているか否かを判断する。開始列が設定されている場合には、指定された列を連続実行の終了列として設定する。開始列が設定されていない場合にはブレークポイントを設定できない。他の処理が選択されるとステップＳ１８７からステップＳ１９６に移行する。ステップＳ１９６では選択された他の処理を実行する。
【００７３】
ステップＳ１９０のマニュアル入力処理では、図１７のステップＳ２０１で、図２８の下部ボタンが異なるマニュアル入力画面を表示する。このマニュアル入力画面では、下部に１列実行ボタンと終了ボタンとが表示される。ステップＳ２０２では、１列実行ボタンが操作されたか否かを判断する。１列実行ボタンが操作されていないと判断するとステップＳ２０３に移行する。ステップＳ２０３ではチェックシートに対する入力処理を行う。ステップＳ２０４では、終了ボタンが操作されたか否かを判断する。終了ボタンが操作されていない場合にはステップＳ２０１に戻る。終了ボタンが操作されると図１６のルーチンに戻る。
【００７４】
１列実行ボタンが操作されたと判断するとステップＳ２０２からステップＳ２０５に移行する。ステップＳ２０５では、周辺シミュレータ４ａ〜４ｅからの出力信号を取り込む。ステップＳ２０６では、入力されたチェックシートの内容からパターン変換入力信号を生成する。ステップＳ２０７では、周辺シミュレータ４ａ〜４ｅに対して生成された入力信号を出力する。周辺シミュレータ４ａ〜４ｅはこれによって動作し、動作結果が実行結果記録としてステップＳ２０８で記録される。このようにマニュアル入力処理では、テストプログラムを書き換え、書き換えられたテストプログラムを逐次実行することができる。このため、入力条件や出力条件を少しずつ変更してその実行結果を確認するようなシミュレーション動作を簡単に行える。
【００７５】
図１６のステップＳ１９１の連続実行処理では、図１８のステップＳ２１１で実行ファイルを読み込む。ステップＳ２１２では、実行中断ボタンが操作されたか否かを判断する
。実行中断ボタンが操作されると処理を終了して元のルーチンに戻る。ステップＳ２１３では、ファイルが終了したか否かを判断する。これは、ファイルのＥＯＦを判断することで行われる。ファイルが終了されていないと判断するとステップＳ２１４に移行する。ステップＳ２１４では、周辺シミュレータ４ａ〜４ｅからの出力信号を取り込む。ステップＳ２１５では、動作条件がＯＫか否かを判断する。ここで、動作条件とは、１又は複数の動作結果の値（範囲を含む）が全て正しいか否かを判断する条件である。ステップＳ２１６では、時間条件がＯＫか否かを判断する。動作条件と時間条件とのいずれかがＯＫな場合には、ステップＳ２１７に移行する。ステップＳ２１７では、周辺シミュレータ４ａ〜４ｅへの入力信号を出力する。そして周辺シミュレータ４ａ〜４ｅはこれによって動作し、その実行結果が実行結果ファイルに１列ずつ記録される。この実行結果は表示画面の右欄に刻々と表示される。このように、時間条件だけでなく、動作条件をもチェックすることで、入力操作と関係なく動作しているステッピングモータのように機構動作を行う機器を制御する場合に、動作時間が毎回異なっていても、同じ条件でテストを行える。
【００７６】
図６のステップＳ８の結果照合処理では、図１９のステップＳ２２１で結果照合のデータ入力画面が表示される。このデータ入力画面は図２４に示すチェックシートのデータ入力画面と同様な画面である。但し、下部に結果照合ボタンと終了ボタンとが表示されている。また、上部にはデータ入力画面が表示されている。ステップＳ２２２では、データ入力画面にデータが入力されるのを待つ。ここで必要なデータは、機種名、チェックシートバージョン、ＰＲＯＭバージョン、シート番号である。ステップＳ２２３では、結果照合ボタンが操作されたか否かを判断する。ステップＳ２２４では終了ボタンが操作されたか否かを判断する。結果照合ボタンが操作されたと判断するとステップＳ２２３からステップＳ２２５に移行する。ステップＳ２２５では、項目ファイルが既に存在するか否かを判断する。項目ファイルが存在していない場合にはステップＳ２２６に移行してエラー出力ファイルにその旨を出力する。項目ファイルがある場合にはステップＳ２２７に移行し、照合処理を実行する。終了ボタンが操作されると結果照合処理を終了しメインルーチンに戻る。
【００７７】
ステップＳ２２７の照合処理では、図２０のステップＳ２３１で、チェックシート画面を表示する。このチェックシート画面は、図２９に示すように、左側に実行結果をチェックシート形式で、右側に評価結果をチェックシート形式で表示する。また、下部に前方方向のエラー箇所に移動するための前方エラーボタン、後ろ方向のエラー箇所に移動するための後方エラーボタン、左の画面を基準に右の表示列位置を合わせるための左右合わせボタン、結果を表示するための結果表示ボタン、照合画面を終了してデータ入力画面に戻るための終了ボタンの５つのボタンが表示される。また上部には、オプションメニューが表示される。ここでのオプションメニューとしては、間引き処理や、照合結果ファイルの作成やログファイル読み込みや間引きファイルの読み込みやＣＭファイルの読み込み等のメニューが表示される。ステップＳ２３２ではオプションメニューが操作されたか否かを判断する。ステップＳ２３３では前エラーボタンが操作されたか否かを判断する。ステップＳ２３４では後ろエラーボタンが操作されたか否かを判断する。ステップＳ２３５では結果表示ボタンが操作されたか否かを判断する。ステップＳ２３６では終了ボタンが操作されたか否かを判断する。終了ボタンが操作されたと判断すると元のルーチンに戻る。なおここでは左右合わせボタンについての説明は省略している。
【００７８】
オプションメニューが選択されたと判断するとステップＳ２３２からステップＳ２３３に移行する。ステップＳ２３３では照合オプションメニューを表示しそれらのうちのいずれか１つの選択されたメニューをさらに実行する。これについての詳細な説明は省略する。前エラーボタンが操作されたと判断するとステップＳ２３３からステップＳ２３８に移行する。ステップＳ２３３では、前方方向のエラー箇所にカーソルを移動する。後エラーボタンが操作されたと判断するとステップＳ２３４からステップＳ２３９に移行する。ス
テップＳ２３９では後ろ方向のエラー箇所にカーソルを移動する。結果表示ボタンが操作されたと判断するとステップＳ２３５からステップＳ２４０に移行する。ステップＳ２４０では、後述する結果表示処理を行う。
【００７９】
ステップＳ２４０の結果表示処理では、図２１のステップＳ２４１で図２９に示す画面表示を行う。そして実行評価結果については前述したように画面右側に表示する。ステップＳ２４２では、間引き処理を実行する。この間引き処理では、連続的に値が変化する項目については、図３０（Ａ）に示すように、状態の変化点のデータのみを表示する。この表示のために間引き処理を行う。たとえば、装置本体１は周辺シミュレータ４ａ〜４ｅから連続的にデータが転送されると全てのデータをテスト結果データとして受け取る。この状態を図３０（Ｂ）に示す。ここまでは、結果照合時、テスト結果データ２〜１０は全てエラーとなるため、以下のルールによってデータ間引き処理を行う。
【００８０】
（１）各データ毎に設定された間引き間隔時間（転送データ変換定義ファイルに設定されている）を使って変化点（変化角）の情報を取り出す。
【００８１】
（２）間引き間隔時間を超えて値が変化していなければ安定と見なしてその値を確定する。この状態を図３０（Ｃ）に示す。
【００８２】
このように間引きの基本的な考え方は、角度変化点毎に間引き間隔１と値公差とによって範囲チェックを行い、微少変化（間引き間隔１時間内で値公差内の変化）データは変化途中データと見なして値を間引く。すなわち図３０（Ｄ）に示すように、間引き間隔１内にある２つのデータ２，３において、データ２を間引くかどうかは、前後のデータ１，データ３の値と方向とを見て決定する。ここでは、間引きを３段階で行っている。まず第１段階では、特徴データを抽出するために微少データでも方向が変化したものは間引きしない。たとえば間引き間隔１内で図３０（Ｄ）において、データ２とデータ３の値が等しい場合、データ３は無条件に間引く。第２段階において、方向が変化しても微少変化データがあれば間引く。たとえば間引き間隔１内でデータ２とデータ３の値が等しく、時間間隔が指定時間（間引き間隔２）以内の場合はデータ３を間引く。第３の段階では、データ１，２，３のデータが等しい場合は間引き間隔に関係なくデータ２を間引く。このように３段階で間引き処理を行う。
【００８３】
ステップＳ２４３では、間引かれた実行結果を項目単位に分解し、項目単位結果ファイルに格納する。ステップＳ２４４では、全ての実行結果ファイルの読み込みを終了したか否かを判断する。読み込みを終了するとステップＳ２４５に移行し、結果ファイルをチェックシート形式に逆パターン変換し、チェックシートファイルに格納するとともに画面左側に表示する。このときは変換パターン定義ファイルを参照する。ファイルが終わりでない場合には、ステップＳ２４７に移行する。ステップＳ２４７では、実行結果の中から正解候補を取り出す。ステップＳ２４８では、得られた正解候補の中から最も正解値に近い値を正解と認定する。ステップＳ２４９では、周期動作の取り出しとその正解判定を行う。ステップＳ２５０では、結果ファイルに正誤判定情報を付与する。付与された結果ファイルは、照合結果ファイルに格納される。
【００８４】
ステップＳ２４９の周期動作正解判定処理では、図２２のステップＳ２５１で、初期動作定義があるか否かが判断される。初期動作定義がある場合にはステップＳ２５２に移行する。ステップＳ２５２では、次の出力データがあるかまたはファイルの終わりまで初期動作を検索する照合処理を行う。ステップＳ２５３では、パターン動作定義が有るか否かを判断する。パターン動作定義が有ると判断するとステップＳ２５４に移行し、次の出力データがあるかまたはファイルの終わりまでパターン開始位置データを検索する。ステップＳ２２５では、開始位置データが有るか否かをする。開始位置データが有る場合には、
パターンを確定し、図３２に示すように、確定したパターンに残りのデータをあてはめる。ステップＳ２５７では、パターン終了位置か否かをする。パターン終了位置ではない場合には、ステップＳ２５８に移行する。ステップＳ２５８では、正誤判定を行う。正解の場合にはステップＳ２５７に戻り、パターン終了位置まで正誤判定を繰り返す。正解では無い場合にはステップＳ２５９に移行し、エラー出力をエラーファイルに出力してステップＳ２５７に戻る。
【００８５】
パターン終了位置と判断するとステップＳ２５７からステップＳ２６０に移行する。ステップＳ２６０では、終了動作定義があるか否かを判断する。終了動作定義がない場合には処理を終了して結果表示ルーチンに戻り、終了動作定義がある場合にはステップＳ２６１に移行する。ステップＳ２６１では、終了列を検索して終了動作時間に時間に遡って終了動作をあてはめる。
【００８６】
このパターン動作照合処理では、第１段階では通常の照合処理を行い、第２段階でシンボルの照合処理を行う。シンボルの照合については、シンボル開始列から初期動作を検索する。また、パターン動作の開始データを検索する。そしてパターン動作を確定し残りのデータを当てはめる。次の出力データが記入されている位置まで繰り返しパターンを検索し、終了動作定義がある場合は終了列を見つけて終了動作時間分逆上って終了動作を当てはめる。
【００８７】
【発明の効果】
本発明に係る制御ソフトウェアの自動テスト装置および方法では、テスト計画が表形式で作成されるので、簡単にテスト計画を作成できるとともに、テスト内容を直観的に理解できる。また、時間条件に加えて動作条件を含めてテストを実行するので、動作状況が不安定な機器であっても自動的にテストを実行できる。さらに、誤差を含めてテスト結果を評価しているので、テスト結果が変動しても自動的に評価できる。
【図面の簡単な説明】
【図１】本発明の一実施例による制御ソフトウェアの自動テスト装置のブロック構成図
【図２】テスト装置本体のブロック図
【図３】ファイル構成を説明する図
【図４】メインルーチンのフローチャート
【図５】チェックシート処理のフローチャート
【図６】シート入力処理のフローチャート
【図７】ファイル処理のフローチャート
【図８】オプション処理のフローチャート
【図９】編集処理のフローチャート
【図１０】入力処理のフローチャート
【図１１】時間入力処理のフローチャート
【図１２】実行ファイル作成処理のフローチャート
【図１３】正解ファイル作成処理のフローチャート
【図１４】シンボル処理のフローチャート
【図１５】テスト実行処理のフローチャート
【図１６】テスト処理のフローチャート
【図１７】マニュアル入力のフローチャート
【図１８】連続実行処理のフローチャート
【図１９】結果照合処理のフローチャート
【図２０】照合処理のフローチャート
【図２１】結果表示処理のフローチャート
【図２２】周期動作正解判定処理のフローチャート
【図２３】初期画面を示す図
【図２４】チェックシートデータ入力画面を示す図
【図２５】チェックシートエディタ画面を示す図
【図２６】時間入力画面を示す図
【図２７】公差の干渉を説明する図
【図２８】テスト実行時のチェックシート画面を示す図
【図２９】照合処理時のチェックシート画面を示す図
【図３０】間引き処理を説明する図
【図３１】タイマ公差がある場合の正解判定を説明する図
【図３２】パターン動作定義を示す図
【符号の説明】
１  テスト装置本体
２  マイコン
３  マイコン搭載部
４ａ〜４ｅ  周辺シミュレータ
５ａ〜５ｃ  光ループネットワーク
１０  ＣＰＵ
１２  マウス
１３  ＣＲＴディスプレイ
１４  メモリ
１５  外部記憶装置
【図１】
0003585601.tif 000002
【図２】
0003585601.tif 000003
【図３】
0003585601.tif 000004
【図４】
0003585601.tif 000005
【図５】
0003585601.tif 000006
【図６】
0003585601.tif 000007
【図７】
0003585601.tif 000008
【図８】
0003585601.tif 000009
【図９】
0003585601.tif 000010
【図１０】
0003585601.tif 000011
【図１１】
0003585601.tif 000012
【図１２】
0003585601.tif 000013
【図１３】
0003585601.tif 000014
【図１４】
0003585601.tif 000015
【図１５】
0003585601.tif 000016
【図１６】
0003585601.tif 000017
【図１７】
0003585601.tif 000018
【図１８】
0003585601.tif 000019
【図１９】
0003585601.tif 000020
【図２０】
0003585601.tif 000021
【図２１】
0003585601.tif 000022
【図２２】
0003585601.tif 000023
【図２３】
0003585601.tif 000024
【図２４】
0003585601.tif 000025
【図２５】
0003585601.tif 000026
【図２６】
0003585601.tif 000027
【図２７】
0003585601.tif 000028
【図２８】
0003585601.tif 000029
【図２９】
0003585601.tif 000030
【図３０】
0003585601.tif 000031
【図３１】
0003585601.tif 000032
【図３２】
0003585601.tif 000033