JP5327019B2 - ソフトウェア自動試験方式 - Google Patents

ソフトウェア自動試験方式 Download PDF

Info

Publication number
JP5327019B2
JP5327019B2 JP2009268682A JP2009268682A JP5327019B2 JP 5327019 B2 JP5327019 B2 JP 5327019B2 JP 2009268682 A JP2009268682 A JP 2009268682A JP 2009268682 A JP2009268682 A JP 2009268682A JP 5327019 B2 JP5327019 B2 JP 5327019B2
Authority
JP
Japan
Prior art keywords
data
output
output data
control software
simulated
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2009268682A
Other languages
English (en)
Other versions
JP2011113272A (ja
Inventor
素子 舩越
優 豊崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009268682A priority Critical patent/JP5327019B2/ja
Publication of JP2011113272A publication Critical patent/JP2011113272A/ja
Application granted granted Critical
Publication of JP5327019B2 publication Critical patent/JP5327019B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

この発明は、周辺機器に対する入出力機能を有するアプリケーションのソフトウェア試験を自動化する、ソフトウェア自動試験方式に関する。
更に詳しくは、Windows(登録商標)などのオペレーションシステム(以降、「O/S」と略す。)上で動作する制御ソフトウェアの試験を、これに接続される周辺機器を模擬したシミュレータを用いて、試験コマンドの列で記述した試験シナリオを解釈して自動的に実行するソフトウェア自動試験方式に関する。
従来、周辺機器に対する入出力機能を有するWindows(登録商標)などのアプリケーションは完成すると、設計仕様通りに動作するか否か動作確認試験が実施される。
このような試験には、ソフトウェアの各モジュールを部分的に結合したものが意図どおり協調動作するか検査する結合テスト、製品の体をしたものに対して行うシステムテスト、実装した機能が意図どおりに動作するか検査する機能テスト、プログラムを変更した際にその変更によって予想外の影響が現れていないか一度合格したテストをすべてやり直し合格するか検査する回帰テストなどが有る。
従来から、結合テストなどの試験には、例えば信号発生器(Signal Generator、以降「SG」と略す。)、電源、制御カード、ネットワークアナライザなどの周辺機器を模擬するシミュレータを準備して行われていた。シミュレータは固有の周辺機器の模擬に特化しており、周辺機器が多数存在する場合、各周辺機器に対応するシミュレータを複数準備する必要があった。
また、周辺機器への出力データや出力タイミングの検査は、テスト対象プログラム又はシミュレータのログを試験実施者が目視で解析することによって行なわれてきた。このようにソフトウェア結合テストを実施するだけでも多大な労力を要するため、それまでに合格したテストをすべて再度検査する回帰テストを実施することは更に困難であったため、ソフトウェア試験の自動化が求められていた。
近年、特許文献に示すように、周辺機器を試験シナリオに従って制御し、自動的に試験を実施する手法が提案されており、周辺機器の入力・出力機能を有するアプリケーションのソフトウェア試験は、省力化されつつある。
特許文献1では、試験対象として指示された試験シナリオを試験シナリオ群から検索し、検索した試験コマンド中に指定された周辺機器を特定して、周辺機器毎に設けられた装置制御部に当該周辺機器用試験コマンドを供給する。装置制御部は当該試験コマンドに対応する装置コマンドを検索して受取り、装置コマンドにより周辺機器を動作させる。この結果、試験シナリオを有するワークステーションからの周辺機器のソフトウェア的な制御を実現させている。
特許文献2では、あらかじめ試験実施者による試験対象プログラムの操作を、その出力および入力情報を生成した順序通りに記録しておき、記録した試験実施者による操作を自動的に実行できるようにしている。
特許文献3は、入力機器と制御対象の出力機器とが接続されるマイコンに組み込まれた制御ソフトウェアを自動的にテストする装置である。これは装置本体とマイコン搭載部を備えており、マイコン搭載部には、入力・出力機器の動作を模擬するシミュレータを、光ループネットワークで接続する自動テスト装置を提案している。
特開平7−200355号広報(第1−5頁、第2図) 特開平7−021058号広報(第1−4頁、第1図) 特開平9−091031号広報(第1−16頁、第1図)
しかし、周辺機器との入出力機能の検査を効果的に行うには、データ出力間隔等のタイミングの自動チェック、制御内容により周辺機器からの応答を自動で変化させる機能が要求されており、これらの機能を具体的に実現することが課題であった。
上記課題を達成するため本発明は、周辺機器との入出力機能を有し、試験対象である制御ソフトウェアの試験手順を、前記制御ソフトウェアの動作に対応する複数のアクションにより時系列的に記述したテスト実行プログラム用シナリオと、
前記制御ソフトウェアに対する前記周辺機器の入出力処理を模擬する模擬I/F用シナリオと、
前記制御ソフトウェアを起動し、前記テスト実行プログラム用シナリオに記述されたアクションに従い、前記制御ソフトウェアのテストを逐次実行するテスト実行プログラムと、
前記模擬I/F用シナリオに従い前記制御ソフトウェアとの間での前記周辺機器の入出力インターフェイス動作を模擬する模擬I/Fとを備え、
前記テスト実行プログラムは、前記制御ソフトウェアを起動する第1のアクションと、その後、前記制御ソフトウェアから出力された第1の出力データと前記模擬I/Fが前記第1の出力データを受信した第1の受信時刻とからなる第2の出力データのチェックを実施する、前記テスト実行プログラム用シナリオに記述された第2のアクションを、前記制御ソフトウェアから出力された前記第1の出力データ、及び、前記第2の出力データに対し実行し、前記第1の出力データの出力後に、前記制御ソフトウェアから出力される第3の出力データと前記模擬I/Fが前記第3の出力データを受信した第2の受信時刻とからなる第4の出力データのチェックを実施する、前記テスト実行プログラム用シナリオに記述された第3のアクションを、前記制御ソフトウェアから出力された前記第3の出力データ、及び、前記第4の出力データに対し実行するものであって、
前記制御ソフトウェアが出力した前記第1の出力データは、前記模擬I/Fによって前記第1の受信時刻及び前記第1の出力データとからなる前記第2の出力データとなり、前記第2のアクションによりそれぞれ前記第1の出力データのチェック、及び、前記第1の出力データ及び前記第1の受信時刻とからなる前記第2の出力データのうち、前記第1の受信時刻を前記第3アクションでチェックするために、前記第2の出力データを前記模擬I/Fからメッセージキューに出力し、前記制御ソフトウェアが出力した前記第3の出力データは、前記模擬I/Fによって前記第2の受信時刻及び前記第3の出力データとからなる前記第4の出力データとなり、第3のアクションによりそれぞれ前記第3の出力データのチェック、及び、前記第3の出力データ及び前記第2の受信時刻とからなる前記第4の出力データのうち、前記第2の受信時刻を前記第3アクションでチェックするために、前記第4の出力データを前記模擬I/Fからメッセージキューに出力し、
前記模擬I/Fは、受信した前記第1の出力データに前記第1の受信時刻を付加して前記第2の出力データとし、及び、受信した前記第3の出力データに前記第2の受信時刻を付加して前記第4の出力データとし、
前記テスト実行プログラムは、メッセージキューに出力された前記第2の出力データのうち、前記第1の出力データが、前記第2のアクションに記述されたデータと一致しているか判定し、一致している場合に、メッセージキューに出力された前記第4の出力データのうち、前記第3の出力データが、前記第3のアクションに記述されたデータと一致しているか判定し、一致している場合に前記第1の受信時刻と前記第2の受信時刻との時間間隔を計算して、前記第1の受信時刻及び前記第2の受信時刻の時間間隔がテスト実行プログラム用シナリオに記述された規定時間内であるかを判定し、
前記制御ソフトウェアの試験を自動的に実行することを特徴とするものである。
周辺機器に対する入出力機能を有する制御ソフトウェア試験において、複数の周辺機器の動作を模擬する模擬I/Fを備えることにより、各周辺機器に対応するシミュレータを複数準備せずに制御ソフトウェア試験の自動化を実現できる。また、制御ソフトウェアが模擬I/Fへ出力した出力データ及びこれを模擬I/Fが受信した受信時刻を、テスト実行プログラムが取得し出力データ及び受信時間間隔を判定する。この結果、制御ソフトウェアが周辺機器へ出力した出力データ及び時間間隔のチェックをテスト実行プログラムと模擬I/Fが協働し自動化して行うことができ、ソフトウェア試験の省力化が行える。また、ソフトウェア結合テストを自動で繰り返し実行することができ、テスト対象の制御ソフトウェアを修正するたびに、完全な回帰テストを実行できる。

本発明の実施の形態1に係るソフトウェア自動試験方式の構成を示すブロック図である。 本発明の実施の形態1に係るテスト実行プログラム用シナリオである。 図2のテスト実行プログラム用シナリオによるテスト動作を示すフローチャートである。 図3において、メッセージキューに入れるデータの構造である。 本発明の実施の形態1に係る模擬I/F用シナリオである。 図5の模擬I/Fシナリオによるテスト動作を示すフローチャートである。 本発明の実施の形態1に係るレジスタアドレス入出力の模擬I/F用シナリオである。 本発明の実施の形態1のテスト対象である制御ソフトウェアを用いたシステムの構成を示すブロック図である。 本発明の実施の形態1のテスト対象である制御ソフトウェアを用いたシステムの動作画面である。 本発明の実施の形態1のテスト対象である制御ソフトウェアを用いたシステムのシーケンスである。 本発明の実施形態1のテスト対象である制御ソフトウェアのメイン画面上の部品とIDとのデータ定義である。 テスト対象である制御ソフトウェアと周辺機器SGとのインタフェースデータ定義である。 テスト対象である制御ソフトウェアと制御ボードとのインタフェースデータ定義ある。 テスト対象である制御ソフトウェアが出力する制御結果ファイルの内容である。
実施の形態1.
図1は、本発明を実施するための実施の形態1に係るソフトウェア自動試験方式の構成を表すブロック図である。また図8には、実施の形態1のテスト対象であるアプリケーション(制御ソフトウェア)を用いたシステムのブロック図を示す。本実施の形態では、図8に示す制御ソフトウェアをテスト対象のプログラムとし、制御ソフトウェアと接続している周辺機器をシミュレートすることにより自動試験を実行する。
図8のシステム器材は、801パーソナルコンピュータ(以降、「PC」と略す。)、802周辺機器の一例であるSG、803制御ボードから構成されるており、ユーザー804が操作する。PC801と周辺機器802はLANで接続され、PC801からSG802を制御する。制御ボード803はPC801に組み込まれたPCIカード805経由でPC801に接続されたサブアセンブリなどを制御する。806は、本実施の形態のテスト対象となる制御ソフトウェアでありPC801に搭載されている。
図1において、1はWindows(登録商標)などのO/S、2は試験を実行する手順を記載した試験シナリオを作成するための試験シナリオ作成プログラム、
3は試験シナリオ作成プログラム2を用いて作成され自動的に試験を実行する手順を記述したテスト実行プログラム用シナリオ、4は試験シナリオ作成プログラム2を用いて作成され模擬インターフェイス(以降「模擬I/F」と略す。)の応答動作を記述した模擬I/F用シナリオである。
5はテスト実行プログラム用シナリオ3の手順に従ってテスト実行者6が実行するテスト実行プログラム、7は制御ソフトウェア806など本発明のテスト対象プログラム、8はテスト対象プログラム7と周辺機器802とのインターフェイスをシミュレートする模擬I/F、9はWindows(登録商標)などのO/S1の機能であるメッセージキューである。
一般にメッセージキュー9は、複数のアプリケーション間の通信に使われ、送信側と受信側がメッセージキューに同時にやり取りしなくともよいことを意味する。キューに置かれるメッセージは、受信側がそれを取り出すまで格納されたままとなる。
10は、テスト対象プログラム7から模擬I/F8へ送信される出力データ、11は、模擬I/F8から返信される応答データである。
次に、本発明の動作を説明する前に、テスト対象である制御ソフトウェア806を用いたシステムの構成詳細と動作について図9〜図14を用いて説明する。
図9は、テスト対象である制御ソフトウェア806の画面例である。901で示すメイン画面に、902は実行ボタン、903は結果を表示するテキストボックス、904はSG802の出力状態を表示するテキストボックス、905で示す終了ボタンが配置されている。
図10は、テスト対象である制御ソフトウェア806を用いたシステム動作を表す器材間のシーケンス図である。制御ソフトウェア806は、制御ボード803に対し、定期的にステータス読込み958、959を行っている。ユーザー804が実行ボタン902を押下すると、制御ソフトウェア806はSG802に出力ON要求951を、制御ボード803にパルス出力ON要求952を送信し、結果表示テキストボックス903に「OK」と表示する。SG802は出力ON要求951を受信した後、出力を開始する。
制御ソフトウェア806は定期的にSG802に出力状態要求コマンド953を送信しており、SG802は出力開始後には「出力中」955を、出力停止後には「停止中」956を返す。また、制御ボード803に対しても、定期的にステータス読込み958、959を行っており、制御ボード803にパルス出力ON要求952を送信する以前は、パルス出力OFFを、以後はパルス出力ONを返す。
制御ソフトウェア806はSG802への出力ON要求951送信から10秒後に自動的に、SG802へ出力OFF要求954を送信する。また、ユーザー804が終了ボタン905を押下すると、制御ソフトウェア806は制御結果をファイルに出力957し、プログラムを終了する。
図11〜図14は、本発明の実施の形態1に係るテスト対象である制御ソフトウェア806を用いたシステムのデータ定義である。図9に示すテスト対象である制御ソフトウェア806の動作画面901上にある部品にはテスト実行プログラムから自動操作するためのIDが付与されており、図11は画面上の部品名1101とID1102の対応表である。
例えば、図9に示す実行ボタン902のIDは、ButtonExecである。このID1102は、図2に示すテスト実行プログラム用シナリオの画面操作、画面判定のパラメータとして用いられる。
図12は、テスト対象である制御ソフトウェア806と周辺機器の一例であるSG802とのインタフェースデータ定義である。1103に示すメッセージは、これに対応するインターフェイスデータ1104の文字列である。例えば、図10の出力ON要求951メッセージの実際の伝文は、「RF Start」という文字列である。
図13は、テスト対象である制御ソフトウェア806と制御ボード803のインタフェースデータ定義である。制御ボード803へのデータ出力はレジスタにデータを書き出す方式であるため、アドレスと出力データを定義する。1105に示すメッセージは、これに対応するインターフェイスデータ1106に示すアドレスと出力データである。
例えば、図10に示すパルス出力ON要求952メッセージの実際の出力は、アドレス0100hへのデータ0200hの書き込みである。
図14は、テスト対象である制御ソフトウェア806が出力する制御結果ファイルの内容である。ファイル名は、kekka.txt、1107にはそのフォーマットを示す。
次に、本発明のソフトウェア自動試験方式の動作について説明する。図1に示すように、あらかじめシナリオ作成プログラム2を用いて、テスト実行プログラム用シナリオ3、模擬I/F用シナリオ4を作成する。テスト作成者がシナリオ作成プログラム2の編集画面から入力、保存することによりテスト実行プログラム用シナリオ3、模擬I/F用シナリオ4が作成される。
図2はテスト実行プログラム用シナリオ3の記述例である。テスト実行プログラム用シナリオ3は、複数のアクション201から構成されており、1行に1アクションを記述する。アクションの記述は、アクション番号202、アクション種別203、パラメータ1:204、パラメータ2:205、から構成される。アクション種別203には、画像操作、画面判定、ウェイト、出力データチェック、出力データチェック(タイミング判定)、ファイルチェックがある。パラメータ1:204、パラメータ2:205、の意味は各アクション種別毎に異なる。なお、図11に示す部品のID:1102は、画面操作、画面判定のパラメータ204、205として用いられる。
図3は図2に示すテスト実行プログラム用シナリオ3の記述例によるテスト動作を示すフローチャートである。この図により、テスト対象の制御ソフトウェアの図10に示すシーケンスを結合テスト実行する時の動作例を説明する。
ステップS101(以降「S101」という)にて、テスト実行者6が、テスト実行プログラム5にテスト開始の起動をかける。S102で、テスト実行プログラム5は、テスト対象プログラム7を起動し、S103でテスト実行プログラム用シナリオ3を読み込み、アクションを順番に実行する。図2のテスト実行プログラム用シナリオ3の場合、
S104で、1番目に図11に示すButton Exceという実行ボタンを自動でクリックする。次に2000msウェイトする。
アクションの実行によって、テスト対象プログラム7から出力データ10(この場合は、図12に示すようにメッセージ「出力ON要求」に対応する伝文「RF Start」)が模擬I/F8に出力される。
模擬I/F8は、S105で出力データ10を受信すると、図4に示すように受信時刻A:401を付加して、メッセージキュー9に入れる。
S106でメッセージキュー9に入れられたデータは、テスト実行プログラム5から取り出されるのを待つ。
S107で、テスト実行プログラム5は、図2の3番目のアクションである出力データチェック206実行時、メッセージキュー9からデータを取り出し、出力データが正解データ207(この場合は、「RF Start」)と一致することをチェックする。チェックした結果がYesの場合はS120で「判定OK」を記録し、次のステップへ進む。チェックした結果がNoの場合は、S121で〔1〕に示すように「判定NG」を記録する。また、取り出したメッセージキュー9のデータのうち受信データ402は破棄するが、受信時刻A:401は、後に実行される7番目のアクションにおいて、受信タイミング208のチェックに使用するため、保持される。
S108で、4番目のアクションとして、制御ボードのアドレス0100hに0200hが書き込まれているかをチェックする。チェックした結果がYesの場合はS120で「判定OK」を記録し、次のステップへ進む。チェックした結果がNoの場合は、S121で〔1〕に示すように「判定NG」を記録する。以降チェックを実施した後にはその度に、同じ処理を実行する。
次にS109で、図2の5番目のアクションである画面判定を実行し、結果表示テキストボックス(IDはTextBoxKekka)の表示が「OK」であるかをチェックする。
S110で、6番目のアクションである画面判定を実行し、SG出力状態テキストボックス(IDはTextBoxSts)の表示が「出力中」であるかをチェックする。
S113で、図2の7番目のアクションである出力データチェック(タイミング判定)を実施する。3番目のアクションと同様にメッセージキュー9から取り出したデータが正解データ(この場合は「RF Stop」)と一致することをチェックする。
次に送信タイミングのチェックを行う。図10に示すシーケンスをチェックする場合には、「RF Stop」は「RF Start」の10秒後に送信されているはずである。
メッセージキュー9から取り出したデータに付与されている受信時刻Bと、3番目のアクションで保持した受信時刻Aとの時間間隔を求める。時間間隔が受信タイミング208の範囲(この場合「No3から10000±100ms後」)であれば合格とする。
S114で、8番目のアクションとして、終了ボタンを自動クリックする。このアクションにより、テスト対象プログラム7は終了する。
S115で、9番目のアクションであるファイルチェックを実施する。図10に示すシーケンスの場合には、制御結果が図14の制御結果ファイル名内容でファイルに出力されているはずである。あらかじめ、ref.txtという名称で、正解のファイルを生成しておき、テスト対象プログラムから出力されたファイルkekka.txtとref.txtが同一であるかを判定する。
このようにメッセージキューを利用して、受信タイミングをチェックすることにより、テスト対象プログラムの動作が、例えば「10秒間隔で周辺機器にステータスを送信する。」等の時間的制約を満たしているか否かを自動で確認することができる。
図5には模擬I/F用シナリオ4の記述例を示す。模擬I/F用シナリオ4は、応答設定501、応答変更設定502から構成される。応答設定501は受信データ503、応答データ504、遅延時間505から構成される。これは受信データ503に一致する伝文をテスト対象プログラム7から受信した場合、テスト対象プログラムに対し遅延時間505待ってから、応答データ504に一致する伝文を返信するという設定である。
応答変更設定502は、変更トリガ受信データ506、受信データ507、応答データ508、遅延時間509から構成される。これは、変更トリガ受信データ506をテスト対象プログラム7から受信したら、以後、テスト対象プログラムから応答変更設定後の受信データ507を受信した場合、テスト対象プログラム7に対し遅延時間509待ってから、応答変更設定後の応答データ508に一致する伝文を返信する、という設定である。
次に、模擬I/F8の動作を図6に示すテスト動作フローチャートを用いて説明する。テスト実行時は、模擬I/F8はテスト対象プログラム7から出力データ10を受信し、周辺機器SGを模擬してテスト対象プログラムに応答データ11を送信する役割を果たす。
模擬I/F8は、S201で出力データ10を受信した時、S202で模擬I/F用シナリオ4の応答設定501の受信データ503に出力データ10と一致するものが有るか調べる。無ければ異常を記録する。
一致するものがある場合、S203でテスト対象プログラム7に対し遅延時間505待ってから、応答データ504を送信する。次にS204で模擬I/F用シナリオ4の応答変更設定502の変更トリガ受信データ506に出力データ10と一致するものがあるかを調べる。一致するものがある場合、S205で応答設定501を検索し受信データ503が応答変更設定後の受信データ507と一致するものについて、S206にて応答データ504を応答変更設定後の応答データ508に、遅延時間505を応答変更設定後の遅延時間509に書き換える。一致するものが無い場合は、何も実行しない。
このしくみにより、模擬I/F8からテスト対象プログラム7への応答データ11をテスト実行の途中で動的に変更するとができ、自動試験が可能となる。例えば、電源を模擬する場合に、「通常時はステータス要求を受信した場合は出力OFFを応答するが、一度出力ON指示を受けた後は、ステータス要求に対して出力ONを応答する」などの動作を模擬することができる。
図10に示すシーケンスを模擬する場合には、図5に示すように、SG802を模擬する模擬I/F用シナリオ4の応答設定は、出力ON要求(RF Start)に対し「OK」を、出力状態要求(STS?)に対し「停止中」(RF OFF)を返すようにする。
また、出力開始後の模擬I/F用シナリオ4の応答は、出力状態要求(STS?)に対し「出力中」(RF ON)を返すように、応答変更設定として、出力ON要求(RF Start)を受信したら、以後の出力状態要求(STS?)に対し、「出力中」(RF ON)を返すようにする。
模擬I/Fからの応答設定は、テキストの伝文だけでなく、制御ボード803を模擬するためにレジスタアドレスの入出力で定義することもできる。図7はレジスタアドレス入出力の模擬I/F用シナリオの例である。このシナリオは、レジスタ応答設定701、レジスタ応答変更設定702から構成される。レジスタ応答設定701は読込みアドレス703、応答データ704、遅延時間705から構成される。
レジスタ応答変更設定702は変更トリガ受信データのアドレス706及びデータ707、出力データのアドレス708及び応答データ709、遅延時間710から構成される。
次に動作を説明する。図7に示すレジスタ応答設定701は、「テスト対象プログラム7が読込みアドレス703への読込みを行った時には、遅延時間705待ってから、応答データ704を読取値として返す。」という設定である。
図7に示す模擬I/Fシナリオ例は、図10シーケンスにおける「ステータス読込み958」を模擬する場合に対応している。テスト対象制御ソフトウェアがステータス読込みとしてレジスタアドレス0001hを読込んだ場合、遅延時間500ms待ってから、図13のインターフェイス定義No2に示す、出力データ0002h(パルス出力OFF)を返す。
レジスタ応答変更設定702は、「テスト対象プログラム7から変更トリガ受信データのアドレス706にデータ707が書込みされた時は、それ以後、テスト対象プログラム7が出力データのアドレス708の読込みを行った時に、遅延時間710待ってから、応答データ709を読取り値として返す。」という設定である。
図7に示す模擬I/Fシナリオ例は、図10シーケンスにおける「ステータス読込み959」を模擬する場合に対応している。テスト対象制御ソフトウェアから、パルス出力ON要求としてアドレス0100hにデータ0200hが書き込みされたので、これ以後、テスト対象制御ソフトウェアがステータス読込みとして、レジスタアドレス0001hを読込んだ時は、遅延時間30ms待ってから、図13のインターフェイス定義No2に示す、出力データ0003h(パルス出力ON)を返す。
このしくみにより、例えば制御ボードを模擬するために、テスト対象プログラムがレジスタアドレスへの読み込みを行った場合でも、模擬I/Fからの応答データをテスト実行の途中で動的に変更するとができ、自動試験が可能となる。
1 O/S(オペレーションシステム)、2 試験シナリオ作成プログラム、
3 テスト実行プログラム用シナリオ、4 模擬I/F用シナリオ、
5 テスト実行プログラム、6 テスト実行者、7 テスト対象プログラム、
8 模擬I/F、9 メッセージキュー、10 出力データ、11 応答データ、
501 応答設定、502 応答変更設定、503 受信データ、
504 応答データ、505 遅延時間、506 変更トリガ受信データ、
507 応答変更設定後の受信データ、508 応答変更設定後の応答データ、
509 応答変更設定後の遅延時間、
701 レジスタ応答設定、702 レジスタ応答変更設定、703 読込みアドレス、
704 応答データ、705 遅延時間、706 変更トリガ受信データアドレス、
707 変更トリガ受信データ、708 出力データアドレス、709 応答データ、
710 遅延時間、
801 PC、802 SG(周辺機器)、803 制御ボード、804 ユーザー、
805 PCIカード、806 制御ソフトウェア

Claims (6)

  1. 周辺機器との入出力機能を有し、試験対象である制御ソフトウェア試験手順を、前記制御ソフトウェアの動作に対応する複数のアクションにより時系列的に記述したテスト実行プログラム用シナリオと、
    前記制御ソフトウェアに対する前記周辺機器の入出力処理を模擬する模擬I/F用シナリオと、
    前記制御ソフトウェアを起動し、前記テスト実行プログラム用シナリオに記述されたアクションに従い、前記制御ソフトウェアのテストを逐次実行するテスト実行プログラムと、
    前記模擬I/F用シナリオに従い前記制御ソフトウェアとの間での前記周辺機器の入出力インターフェイス動作を模擬する模擬I/Fとを備え、
    前記テスト実行プログラムは、前記制御ソフトウェアを起動する第1のアクションとその後、前記制御ソフトウェアから出力された第1の出力データと前記模擬I/Fが前記第1の出力データを受信した第1の受信時刻とからなる第2の出力データのチェックを実施する、前記テスト実行プログラム用シナリオに記述された第2のアクションを、前記制御ソフトウェアから出力された前記第1の出力データ、及び、前記第2の出力データに対し実行し、前記第1の出力データの出力後に、前記制御ソフトウェアから出力される第3の出力データと前記模擬I/Fが前記第3の出力データを受信した第2の受信時刻とからなる第4の出力データのチェックを実施する、前記テスト実行プログラム用シナリオに記述された第3のアクションを、前記制御ソフトウェアから出力された前記第3の出力データ、及び、前記第4の出力データに対し実行するものであって、
    前記制御ソフトウェアが出力した前記第1の出力データは、前記模擬I/Fによって前記第1の受信時刻及び前記第1の出力データとからなる前記第2の出力データとなり、前記第2のアクションによりそれぞれ前記第1の出力データのチェック、及び、前記第1の出力データ及び前記第1の受信時刻とからなる前記第2の出力データのうち、前記第1の受信時刻前記第3アクションでチェックするために、前記第2の出力データを前記模擬I/Fからメッセージキューに出力し、前記制御ソフトウェアが出力した前記第3の出力データは、前記模擬I/Fによって前記第2の受信時刻及び前記第3の出力データとからなる前記第4の出力データとなり、第3のアクションによりそれぞれ前記第3の出力データのチェック、及び、前記第3の出力データ及び前記第2の受信時刻とからなる前記第4の出力データのうち、前記第2の受信時刻を前記第3アクションでチェックするために、前記第4の出力データを前記模擬I/Fからメッセージキューに出力し、
    前記模擬I/Fは、受信した前記第1の出力データに前記第1の受信時刻を付加して前記第2の出力データとし、及び、受信した前記第3の出力データに前記第2の受信時刻を付加して前記第4の出力データとし、
    前記テスト実行プログラムは、メッセージキューに出力された前記第の出力データのうち、前記第1の出力データ前記2のアクションに記述されたデータと一致しているか判定し、一致している場合に、メッセージキューに出力された前記第4の出力データのうち、前記第3の出力データが、前記第3のアクションに記述されたデータと一致しているか判定し、一致している場合に前記第1の受信時刻と前記第2の受信時刻との時間間隔を計算して、前記第1の受信時刻及び前記第2の受信時刻の時間間隔がテスト実行プログラム用シナリオに記述された規定時間内であるかを判定し、
    前記制御ソフトウェアの試験を自動的に実行することを特徴とするソフトウェア自動試験方式。
  2. 前記模擬I/Fシナリオには、受信データ、応答データ、遅延時間が記述され、
    前記模擬I/Fは、
    前記制御ソフトウェアから出力され受信した出力データと前記受信データとを照合し、両データが一致する場合には、前記遅延時間の後に前記応答データを前記制御ソフトウェアに返す応答手段を有すること
    を特徴とする請求項1に記載のソフトウェア自動試験方式。
  3. 前記模擬I/Fシナリオには、変更トリガ受信データ、受信データ、応答データ、遅延時間が記述され、
    前記模擬I/Fは、
    前記制御ソフトウェアから出力され受信した前記出力データと前記変更トリガ受信データとを照合し両データが一致する場合以後は、受信した前記出力データと前記受信データとが一致する場合に前記遅延時間の後に前記応答データを前記制御ソフトウェアに返す応答変更手段を有する
    ことを特徴とする請求項1に記載のソフトウェア自動試験方式。
  4. 前記制御ソフトウェアにより制御される制御ボードのレジスタアドレスへの入出力動作を模擬する前記模擬I/Fシナリオには、レジスタアドレス、応答データ、遅延時間が記述され、
    前記模擬I/Fは、前記制御ソフトウェアから前記レジスタアドレスへ読込まれた場合には、前記遅延時間の後に、前記応答データを前記制御ソフトウェアに返すレジスタ応答手段を有する
    ことを特徴とする請求項1に記載のソフトウェア自動試験方式。
  5. 前記制御ソフトウェアにより制御される制御ボードのレジスタアドレスへの入出力動作を模擬する前記模擬I/Fシナリオには、変更トリガ受信データである第1レジスタアドレス、受信データ、第2レジスタアドレス、応答データ、遅延時間が記述され、
    前記模擬I/Fは、前記制御ソフトウェアから前記第1レジスタアドレスに前記受信データが書込みされた場合以後は、前記制御ソフトウェアから前記第2レジスタアドレスに読込みを行なった場合に前記応答データを読取り値として返すレジスタ応答変更手段を有する
    ことを特徴とする請求項1に記載のソフトウェア自動試験方式。
  6. 前記テスト実行プログラム用シナリオ及び前記模擬I/F用シナリオを作成・編集するシナリオ作成プログラムを有する
    ことを特徴とする請求項1〜請求項5のいずれか一項に記載のソフトウェア自動試験方式。
JP2009268682A 2009-11-26 2009-11-26 ソフトウェア自動試験方式 Expired - Fee Related JP5327019B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009268682A JP5327019B2 (ja) 2009-11-26 2009-11-26 ソフトウェア自動試験方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009268682A JP5327019B2 (ja) 2009-11-26 2009-11-26 ソフトウェア自動試験方式

Publications (2)

Publication Number Publication Date
JP2011113272A JP2011113272A (ja) 2011-06-09
JP5327019B2 true JP5327019B2 (ja) 2013-10-30

Family

ID=44235564

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009268682A Expired - Fee Related JP5327019B2 (ja) 2009-11-26 2009-11-26 ソフトウェア自動試験方式

Country Status (1)

Country Link
JP (1) JP5327019B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6692278B2 (ja) * 2016-11-15 2020-05-13 ルネサスエレクトロニクス株式会社 演算装置及び仮想開発環境装置
KR102082472B1 (ko) * 2018-07-27 2020-02-27 한화시스템(주) 텍스트 기반 시뮬레이터 시스템
KR102082473B1 (ko) * 2019-03-15 2020-02-27 한화시스템(주) 시뮬레이터 시스템을 통한 시험대상장비의 테스트 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11149394A (ja) * 1997-11-17 1999-06-02 Ricoh Co Ltd 制御ソフトウェア検証方法
JP2004021461A (ja) * 2002-06-14 2004-01-22 Canon Inc シミュレータ装置
JP4909772B2 (ja) * 2007-03-16 2012-04-04 株式会社リコー シミュレーション装置

Also Published As

Publication number Publication date
JP2011113272A (ja) 2011-06-09

Similar Documents

Publication Publication Date Title
CN112817872B (zh) 开发测试系统及方法
US4696003A (en) System for testing interactive software
JP2015176370A (ja) 制御システム、方法、プログラムおよび情報処理装置
KR100618319B1 (ko) 무선통신단말기의 에러 테스트 방법
CN103345446A (zh) 一种适用于遥控类产品的自动化测试方法
KR101110241B1 (ko) 프로그램 테스트 장치 및 프로그램
CN102479152A (zh) 基于Android平台获取工具自动测试结果的方法及装置
JP5327019B2 (ja) ソフトウェア自動試験方式
EP3296875B1 (en) Simulation reproduction device, simulation reproduction method, and simulation reproduction program
JPWO2005036402A1 (ja) テストプログラムデバッグ装置、半導体試験装置、テストプログラムデバッグ方法、及び試験方法
CN114281624A (zh) 一种i2c信号完整性的测试方法、系统、装置及设备
CN110209565A (zh) 一种元数据模型调试方法及其装置
JP2004003960A (ja) 重量測定装置を備えたプログラム可能なシステムおよびそのようなシステムをプログラミングする方法、ならびにこの方法を実行するソフトウエア
CN115758963A (zh) 芯片eda仿真中打印信息的处理装置、方法及系统
JP2009104490A (ja) プログラムのテスト装置
CN114327416A (zh) 应用于开发分支的接口同步方法、装置及电子设备
CN112965868B (zh) 游戏控制器的自动化测试方法、装置及可读介质
JP2003177942A (ja) ソフトウェア単体試験の支援方法及び支援装置
CN115935876B (zh) 一种fpga电路模拟仿真的方法及装置
Zeman et al. The utilization of metrics usability to evaluate the software quality
CN114817071B (zh) 一种联机自动化测试系统、方法、装置及可读存储介质
AU2023201696B2 (en) Method and device for determining coverage in HIL testing, and storage medium
JPH07219980A (ja) テスト実行方式
CN103514093B (zh) 嵌入式系统字库测试方法及装置
JP5303968B2 (ja) エレベータのプログラム検証システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120705

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130625

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130708

LAPS Cancellation because of no payment of annual fees