JP2017084082A - シミュレーション装置、試験シナリオファイル作成方法、及び試験シナリオファイルを用いた試験方法 - Google Patents

シミュレーション装置、試験シナリオファイル作成方法、及び試験シナリオファイルを用いた試験方法 Download PDF

Info

Publication number
JP2017084082A
JP2017084082A JP2015211333A JP2015211333A JP2017084082A JP 2017084082 A JP2017084082 A JP 2017084082A JP 2015211333 A JP2015211333 A JP 2015211333A JP 2015211333 A JP2015211333 A JP 2015211333A JP 2017084082 A JP2017084082 A JP 2017084082A
Authority
JP
Japan
Prior art keywords
test scenario
test
simulator
file
scenario file
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.)
Pending
Application number
JP2015211333A
Other languages
English (en)
Inventor
鈴木 哲雄
Tetsuo Suzuki
哲雄 鈴木
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Co Ltd
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 Fuji Electric Co Ltd filed Critical Fuji Electric Co Ltd
Priority to JP2015211333A priority Critical patent/JP2017084082A/ja
Publication of JP2017084082A publication Critical patent/JP2017084082A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】仮想ハードウェア開発環境下において試験シナリオを効率的に作成でき、これを用いることで、ハードウェアシミュレータの無いシミュレーション装置においてもハードウェアシミュレーション試験を可能にする。
【解決手段】シミュレーション装置は、命令セットシミュレータを有し、ソフトウェアプログラムのシミュレーションを実行するソフトウェアシミュレータ3と、ハードウェアを模擬するハードウェアシミュレータ6と、両シミュレータ間の信号の受け渡しを行い、ソフトウェアプログラムの試験を実行する試験シナリオ実行モデル2とを備える。試験シナリオ実行モデルは、試験開始時の初期状態の信号と、両シミュレータ間で受け渡す信号とを含む信号トレース情報12を収集して記憶部に保存する。シナリオ作成ツール7は、信号トレース情報を用いて、ソフトウェアプログラムの試験を行うための試験シナリオファイル13を作成する。
【選択図】図1

Description

本発明は、複数のシミュレータを連携させて開発プログラムの試験を行うシミュレーション装置に係り、特にシナリオモデルを用いて作成された試験シナリオに基づいて試験を行うシミュレーション装置、試験シナリオデータ作成方法、及び試験シナリオを用いた試験方法に関する。
一般に、組込機器製品は外部から入力される信号をマイクロコンピュータ(以下、「マイコン」という。)で演算処理し、その結果を出力するという一連の動作によって製品の機能を実現している。
この組込機器製品のマイコンを動作させるソフトウェアプログラムの開発や試験は、クロス開発環境と呼ばれるパーソナルコンピュータ(以下、「PC」という。)上でプログラムを作成し、当該マイコン用の機械語プログラムに変換した後に、デバッガを使用して製品や試作品、あるいはベンダー提供のソフトウェア開発キットにロードして動作試験を行っている。
近年、製品の高機能化により、プログラムの開発規模が増大し、如何に多人数による開発やハードウェアとの並行開発を可能にし、また開発したプログラムを効率的に検証するかということが問題になってきた。
この問題に対して、PC上で実際のCPUと同じ機械語命令を実行する命令セットシミュレータ(ISS:Instruction Set Simulator)を用いた開発環境が提案されている。
ISSを使用してPC上で組込み機器製品を試験する場合には、製品動作をシミュレートするための搬送メカシミュレータや電気回路シミュレータなどのハードウェアシミュレータを使用して、製品ハードウェアを模擬する仮想ハードウェア開発環境が構築されている。複数のシミュレータを用いて開発プログラムの動作試験を行う技術として、例えば特許文献1では、各シミュレータ間の同期をとってデータの受け渡しを行う情報処理装置が開示されている。
特開2014−29639号公報
搬送メカシミュレータなどのハードウェアシミュレータでは、GUIでハードウェアの動作をとらえることができるので有用であるが、実際の製品で発生する様々な異常動作を模擬しようとすると、次の問題が生ずる。
(1)様々な試験パターンの動作をさせるためのシナリオの作成に時間がかかる。
(2)シミュレーション装置として機能する各コンピュータに夫々ハードウェアシミュレータを実装していたのでは、ライセンス等の費用が掛かる。
本発明は上述のかかる事情に鑑みてなされたものであり、仮想ハードウェア開発環境下において試験シナリオを効率的に作成でき、また、この試験シナリオを用いることによりハードウェアシミュレータを備えないシミュレーション装置においても、開発プログラムに対してハードウェアシミュレーション試験を行うことのできるシミュレーション装置、試験シナリオデータ作成方法、及び試験シナリオを用いた試験方法を提供することを目的とする。
上記目的を達成するため、本発明のシミュレーション装置は、命令セットシミュレータを有し、ソフトウェアプログラムのシミュレーションを実行するソフトウェアシミュレータと、周辺装置などのハードウェアを模擬するハードウェアシミュレータと、前記ソフトウェアシミュレータと前記ハードウェアシミュレータとの間の信号の受け渡しを行い、前記ソフトウェアプログラムの試験を実行する試験シナリオ実行モデルと、を備えたシミュレーション装置であって、
前記試験シナリオ実行モデルは、試験開始時の初期状態の信号と、前記ソフトウェアシミュレータと前記ハードウェアシミュレータとの間で受け渡す信号とを含む信号トレース情報を収集して記憶部に保存し、
さらに、前記信号トレース情報を用いて、前記ソフトウェアプログラムの試験を行うための試験シナリオファイルを作成するシナリオ作成ツールを備えたことを特徴とする。
本発明では、試験シナリオ実行モデルは、単にシミュレータ間の信号の受け渡しを行うのみでなく、そのトレース情報を蓄積する。そしてシナリオ作成ツールはこのトレース情報を用いて試験シナリオファイルを作成する。これにより、効率よく試験シナリオファイルを作成することができる。このシナリオ作成ツールは、信号トレース情報から作成された試験シナリオファイルの雛形の編集が可能であり、また前記信号トレース情報に同期した任意のタイミングで結果判定のための出力値を設定可能である。
また、本発明によるシナリオ作成ツールは、実行される試験シナリオファイルの識別情報、演算結果に基づく分岐先の試験シナリオファイルの識別情報、及び各試験シナリオファイルに対して実行対象であるか否かを示す活殺フラグを含む自動試験シナリオファイルの作成が可能である。
そして、試験シナリオ実行モデルに、ユーザインタフェース(試験要求画面)を通して指定された試験シナリオファイルまたは自動試験シナリオファイルを実行させる。これにより、試験シナリオファイルを用いて、ハードウェアシミュレータの実装されていないシミュレーション装置においても開発ソフトウェアプログラムの試験をすることができる。
本発明の試験シナリオファイル作成方法は、命令セットシミュレータを有し、ソフトウェアプログラムのシミュレーションを実行するソフトウェアシミュレータと、複数のシミュレータ間の信号の受け渡しを行う試験シナリオ実行モデルとを備えるシミュレーション装置を用いて前記ソフトウェアプログラムの試験を行うためのシナリオファイルを作成する方法であって、
前記シミュレーション装置にハードウェアシミュレータを設け、前記試験シナリオ実行モデルにより前記ソフトウェアシミュレータと前記ハードウェアシミュレータとの間の信号の受け渡しを行いながら、該信号のトレース情報を収集するステップと、
前記トレース情報を用いて、前記ソフトウェアプログラムの試験を行うための試験シナリオファイルの雛形を作成するステップと、
前記シナリオファイルの雛形に対して前記トレース情報に同期した任意のタイミングで結果判定のための出力値を設定してシナリオファイルを作成するステップと、
実行される試験シナリオファイルの識別情報、試験の結果に基づく分岐先の試験シナリオファイルの識別情報、及び各試験シナリオファイルに対して実行対象であるか否かを示す活殺フラグを含む試験手順を保存する自動試験シナリオファイルを作成するステップと、を含むことを特徴とする。
本発明では、ソフトウェアシミュレータとハードウェアシミュレータの間で実際に受け渡される信号をトレースし、これをベースにして異常試験や結果判定のために必要な情報等を付加して試験シナリオファイルを作成するので、効率良く試験シナリオファイルおよび自動試験シナリオファイルを作成することができる。
また、本発明による試験シナリオファイルを用いた試験方法は、上記試験シナリオファイル作成方法で作成された試験シナリオファイル及び自動試験シナリオファイルを用いてソフトウェアプログラムの試験を行う方法であって、
試験シナリオ実行モデルによって、前記自動試験シナリオファイルで指定された試験シナリオファイルの信号をソフトウェアシミュレータに入力し、該ソフトウェアシミュレータの出力結果に基づいて前記自動試験シナリオファイルの試験手順に従って前記ソフトウェアプログラムの試験を行うことを特徴とする。
本発明では、試験シナリオ実行モデルは、試験シナリオファイルとソフトウェアシミュレータとの間で信号の受け渡しを行うので、ハードウェアシミュレータの実装されていないシミュレーション装置を用いて、ハードウェアの信号を模擬した試験を行うことができる。
本発明によれば、仮想ハードウェア開発環境下において、試験シナリオ実行モデル,シナリオ作成ツールを用いて試験シナリオを効率的に作成できる。また、この試験シナリオを用いることによりハードウェアシミュレータを備えないシミュレーション装置においても、開発ソフトウェアプログラムに対してハードウェアシミュレーション試験を行うことができるので、試験費用の削減を図ることができる。また、多人数の並行開発も可能になり、ハードウェア開発の遅れによるソフトウェア開発への影響を軽減することができる。
本発明の実施の形態によるシミュレーション装置の機能ブロック図である。 図1の試験シナリオ実行モデルの動作モードごとの受け渡しデータの流れの説明図である。 本発明の実施の形態による試験シナリオデータ作成の流れの概要説明図である。 図1の信号トレースファイルのデータ構成例である。 図1のアドレス定義ファイルのデータ構成例である。 図1のシナリオ作成ツールの試験シナリオ作成画面の説明図である。 図1の試験シナリオファイルのフォーマットの説明図である。 図1の試験シナリオファイルのデータ構成例である。 図1のシナリオ作成ツールの自動試験シナリオ設定画面の説明図である。 図1の自動試験シナリオファイルのデータ構成例である。 図1の試験シナリオ実行モデル(信号シミュレータ)のメイン処理の手順を示すフローチャートである。 図11の試験シナリオ実行処理の手順を示すフローチャートである。 図1のシナリオ作成ツールで管理される試験シナリオデータの説明図である。 図1のシナリオ作成ツールで管理される自動試験シナリオデータの説明図である。 図1の試験要求画面を通して、試験シナリオファイルを指定してから結果を得るまでの流れの説明図である。
以下に本発明に係るシミュレーション装置の実施の形態を図面を参照しながら説明する。なお、命令セットシミュレータについて従来の技術を用いるため説明を割愛する。
図1は本実施の形態によるシミュレーション装置1の機能ブロック図である。ここで、シミュレーション装置1は、開発プログラムのシミュレーションを実行するソフトウェアシミュレータ3、周辺装置などのハードウェアを模擬するハードウェアシミュレータ6、ソフトウェアシミュレータ3やハードウェアシミュレータ6に対して試験シナリオを実行する試験シナリオ実行モデル2、および試験シナリオを作成するシナリオ作成ツール7を備えている。このシミュレーション装置1は汎用的なコンピュータによって実現することができる。ソフトウェアシミュレータ3のアプリケーションプログラム4は命令セットシミュレータ(ISS)5上で動作する製品固有のプログラムで、開発対象プログラムである。
試験シナリオ実行モデルは2、メモリ空間の割り付けられたレジスタへのデータの読み出し処理/書き込み処理を行うことで、ソフトウェアシミュレータ3のアプリケーションプログラム4と、ハードウェアシミュレータ6との間のデータの受け渡しを行う。
ハードウェアシミュレータ6は、例えば、タイマモジュールや割込みコントローラなどの外部IOのデバイスモデルをシミュレートする電子回路シミュレータ6aや、投入口、搬送路、モータ、センサ(媒体検知)、ソレノイド 等の部品から構成され、組込み機器製品の実際の搬送動作を3次元(3D)表示可能な搬送メカシミュレータ6bなどがあり、これらシミュレータのソフトウェアプログラムをシミュレーション装置1にインストールして実行する。
[試験シナリオ実行モデルの動作概要]
次に図2を用いて、試験シナリオ実行モデル2の動作モードごとの概要を説明する。試験シナリオ実行モデルの処理手順の詳細については後述する。
試験シナリオ実行モデル2は、信号シミュレータとしての機能を備え、次の3つの動作モードを有する。
1)スルーモード(通常モード)
スルーモードでは、試験シナリオ実行モデル2は、ISS5,電子回路シミュレータ6a,搬送メカシミュレータ6bのデータの中継を行う。試験シナリオ実行モデル2は、中継に際して、アドレス定義ファイル11を参照して、アプリケーションプログラム4からISS5を経由して渡されるアドレスとデータのうち、アドレスについてはアドレス定義ファイル11を参照して信号名に変換し、ハードウェアシミュレータ6(本実施例では電子回路シミュレータ6a又は搬送メカシミュレータ6b)に渡す。逆にハードウェアシミュレータ6から渡される信号名は、アドレスに変換してデータと共にISS5に渡す。
ここで、アドレス定義ファイル11は、図5に示すようにデバイスモデルの信号名、アプリケーションプログラム(開発ソフトウェアプログラム)から書き込まれるデータのアドレス、信号名に対するデータ型とこれに付随する属性が互いに関連付けられて保存されている。なお、属性は、データ型によって異なるが、データ型がBoolならばビット位置、データ型がIntegerならばビット幅(8,16,32,64)を表す。
試験シナリオ実行モデル2は、上記の受け渡し処理の際に、試験開始時の初期値と実行時の信号を信号トレースファイル12に保存していく。
2)試験シナリオ実行モード
試験シナリオ実行モデル2は、試験要求画面8を通して指定された試験シナリオファイル13を読み込み、読み込んだファイルのシナリオデータに従ってソフトウェアシミュレータ3と同期して、図2の実線矢印Fで表すように信号出力する。なお通常は、電子回路シミュレータ6a,搬送メカシミュレータ6bを使用しないが、必要に応じて図2の点線矢印Gで表すような信号操作をしても良い。例えば、ソフトウェアシミュレータ3の出力の表示などがある。
3)自動試験実行モード
自動試験実行モードでは、試験シナリオ実行モデル2は、シミュレーション装置1に保存されている自動試験シナリオファイル14に登録された複数の試験シナリオファイル13を自動的に順次実行する。そして、試験シナリオ実行モデル2は、ソフトウェアシミュレータ3の動作に同期して、この試験シナリオデータをソフトウェアシミュレータ3へ入力し、ソフトウェアシミュレータ3の出力(即ちアプリケーションプログラム4の演算結果)を試験要求画面8に表示する。
[シナリオ作成ツールの概要]
シナリオ作成ツール7は、スルーモードの試験シナリオ実行モデル2によって生成された信号トレースファイル12を読込み、試験シナリオの初期データ(雛形)を生成する。生成された初期データは、試験シナリオデータのベースとなる。
初期データ生成後、ユーザはシナリオ作成ツール7によって、ユーザインタフェースを通して、試験に必要な項目を追加・編集して、試験シナリオファイル13を作成する。勿論、信号トレースファイル12を用いずに、全く新規に試験シナリオファイル13を作成することもできるが、信号トレースファイル12を用いることにより効率的に試験シナリオファイル13を作成することができる。
さらにユーザは、自動的に複数の試験シナリオを連続実行する場合は、シナリオ作成ツール7によって自動試験シナリオファイル14を作成する。
試験シナリオファイル13と自動試験シナリオファイル14の作成を終了すると、ユーザは試験要求画面8から試験シナリオ実行モデル2に対して動作モード、並びに試験で用いる試験シナリオファイル13や自動試験シナリオファイル14を指定する。指定された試験シナリオファイル13や自動試験シナリオファイル14は試験シナリオ実行モデル2に渡される。
[試験シナリオファイルの作成手順]
次に図3を用いて試験シナリオファイルの作成手順について説明する。
(ステップS1:信号トレースファイルの作成)
まず、試験シナリオ実行モデル2をスルーモードで実行して、信号トレース情報を信号トレースファイル12に保存する。図4は、信号トレースファイルのデータ構成例である。試験の初期値として試験開始時の全信号情報とその後変化のあった信号が格納される。時間="000000"の行が初期値であることを示す。
図3において、試験シナリオ実行モデル2は、試験要求画面8からトレース開始指示を受けると、初期値と動作開始から変化した信号情報として、時間、シミュレータ名、信号名、入力データを信号トレースファイル12に格納していく。
(ステップS2:信号トレース情報のシナリオ作成ツールへの取り込み)
以下、図4に示すトレースファイル12のデータ例を用いて、このデータをシナリオ作成ツール7に取り込み、図6に示す試験シナリオ作成画面で編集し、図8に示す試験シナリオファイル13に出力するまでの流れを説明する。なお、図4,図6,図8において符号A〜Eは、夫々のデータの対応関係を示している。即ち同じ符号のデータが対応することを意味する。
1)ユーザは、図6に示す試験シナリオ作成画面の「信号トレース 読込み」ボタンを選択し、読込み対象の信号トレースファイル12を指定する。
2)シナリオ作成ツール7は、指定された信号トレースファイル12のデータを読込み、一時バッファに格納する。そして試験シナリオ作成画面において以下の項目を設定する。
・信号トレースファイル12のシミュレータ名+信号名を検索し、シミュレータ名+信号名の異なるものを、試験シナリオファイルフォーマットのシミュレータ名と信号名に格納する。
・時刻=0のシミュレータ名+信号名の入力データを初期値として設定する。時刻=0がない場合は、格納しない。
・シミュレータ名を格納する順番は、任意に設定できるが、例えばシミュレータ名のあいうえお順とすることができるが、これに限らず出現した順番などであっても良い。
・試験シナリオファイルフォーマットのインターバル時間が未設定の場合は、信号トレースファイル12の時刻の差分の最大公約数をユークリッドの互除法などで求め、インターバル時間とすることができる。
図4の信号トレースファイル12のデータ例では、時刻0からの信号変化時刻が、(0, 100, 330, 350, 550, 1000)であり、各時刻の差分が、(100, 230, 20, 200,450)となる。各差分を素数の積で表すと、(2×2×5×5,2×5×23, 2×2×5, 2×2×2×5×5, 2×3×3×5×5)となる。したがって、最大公約数は10になるので、インターバル時間=10となる。
・シミュレータの時刻に対応してタイミング番号、タイミング幅、信号情報を格納する。
(タイミング番号、タイミング幅、信号情報の格納方法)
・信号トレースファイル12中のトレース情報は、時間の経過順に並んでいるので、該当する信号名の時刻の差分を求め、該当するシミュレータ名+信号名の行とタイミング幅の列で定まる欄にインターバル時間で除算した値を格納する。
・トレース情報の時間を手入力した場合は、少数点以下の端数が出る場合があるので、その場合は四捨五入した値を格納する。なお、指定によって、切り上げ、切り捨ての何れでも良い。
・信号トレースファイル12からの試験シナリオ読込みを行った場合は、最大公約数とするので、BOOL型のデータにディレイが入ることはない。
シナリオ作成ツール7は、試験シナリオ作成のために基本的に図13に示す項目を管理するが、図13において、信号トレース欄が"○"印の項目については、信号トレースファイル12から自動的に取り込まれ、その他の項目についてはユーザが設定する。
(ステップS3:試験シナリオの編集)
シナリオ作成ツール7は、信号トレースファイル12のトレース情報から、試験シナリオに必要なデータ(図13の○印のデータ)を読み込んだ後は、試験シナリオの出力ディレクトリ、試験シナリオの出力ファイル名、アドレス定義ファイル、結果判定の方法を入力する。なお、結果判定シミュレータを用いて結果判定を行うような場合は、結果判定の欄に所定の記号(例えばZ)を入力する。その他の場合は、結果判定欄の数値によって判定を行う。
ユーザは、試験内容に応じて、初期状態の変更、遅延時間(ディレイ)の設定、その他の動作指定を行ってカスタマイズすることができる。
(搬送メカシミュレータに関するカスタマイズ内容の例)
正常時は搬送前の搬送路には媒体が存在しない。しかし、搬送中に電源断が発生した状態で電源が再投入された場合など、特殊な状況下での装置の動作を試験として、搬送センサの初期値を「遮光あり」にして、そのときの挙動を検証するというようなケースが考えられる。
カスタマイズ編集の後は、試験シナリオファイル13に変換する。自動試験シナリオファイル14については、作成済みの複数の試験シナリオファイル13のうち、必要な試験シナリオファイル13を指定して自動試験シナリオファイル14に変換する。
(ステップS4:試験シナリオファイルの作成)
ユーザが図6に示す試験シナリオ作成画面の「試験シナリオ作成」ボタンを選択すると、シナリオ作成ツール7は、上記ステップS2,S3で入力・設定された情報に基づいて試験シナリオファイル13を作成する。具体的には次の動作を行う。
1)シナリオ作成ツール7は、試験シナリオデータからインターバル時間を読込み、試験シナリオファイル13に書き込む。
2)シナリオ作成ツール7は、試験シナリオからアドレス定義ファイル名を読込み、試験シナリオファイル13に書き込む。
3)シナリオ作成ツール7は、試験シナリオデータから結果判定シミュレータ名を読込み、試験シナリオファイル13に書き込む。
図6の例では、"A:101"で判定するので、結果判定シミュレータ名は記載されない。
4)シナリオ作成ツール7は、試験シナリオデータからタイミング番号を読込み、これを試験シナリオファイル13に書き込む。
5)シナリオ作成ツール7は、試験シナリオデータの結果判定欄を検索し、結果判定のタイミング番号と結果判定を読込み、試験シナリオファイル13に書き込む。
6)シナリオ作成ツール7は、定義されている順番にシミュレータ名+信号と、初期値、出力データを試験シナリオファイル13に書き込む。書き込むデータは、カンマ(",")で区切り、出力しない場合は、何も書き込まない。
シナリオ作成ツール7は、以上の処理によって試験シナリオファイル13を作成する。
[自動試験シナリオの作成]
図9は、シナリオ作成ツール7の自動試験シナリオ設定画面の例である。
この画面からは、登録済のシナリオの実行の有無(活殺)と異常発生後の処理を指定することができる。
図9の記述内容は、下記を示している
1)正常時は、NO.1〜5、7-10を実行する。なお、活殺フラグ「●」は、当該試験シナリオは実行対象であることを意味する。
2)NO.6の「×」は、当該試験シナリオは実行しないことを意味する。
3)シナリオで異常(期待しない動作)発生時
NO.3,5は、NO.4〜8を実行せずにNO,9を実行し、NO7,8は、全く異なる試験NO.12以降のシナリオ試験を実行する。異常時動作欄の「Jxx」は、NO.xxへのジャンプ動作を意味する。
図10は、図9の自動試験シナリオファイル14のデータ構成例である。
自動試験シナリオファイル14は、テキスト形式であり、活殺を0,1で表し、異常動作とシナリオファイルは、文字列がそのまま格納される。なお、自動試験シナリオ設定画面のNO.は、自動試験シナリオファイル14の行番号となる。
ユーザは、図14に示す自動試験シナリオの項目を設定後、「自動試験シナリオ作成」ボタンを選択することにより、自動試験シナリオファイル14が作成される。
[試験シナリオ実行モデルの処理手順]
次に図11を用いて、試験シナリオ実行モデル(信号シミュレータ)2のメイン処理の手順について説明する。
試験シナリオ実行モデル2は、起動後、試験要求画面からの要求を待つ(S101)。そして、試験要求画面への入力を検知すると、その動作モードを判定し、それぞれの処理に分岐する(S102)。
動作モードがスルーモードの場合は、まず、信号トレース要求があるか否かを判定し(S103)、要求がある場合は初期値を読み出して保存する(S104)。そして、次の処理要求の入力を待ち、入力があった場合は各処理を実行する(S105)。
信号トレース要求があった場合は(S110)、信号トレースファイルを保存する(S111)。信号書き換え要求があった場合は、指定信号を出力し(S107)、信号トレース要求がある場合は(S108)、信号トレースファイルに信号を書き込む(S109)。
ステップS102において動作モードが自動試験シナリオ実行モードの場合は、自動試験シナリオファイルを呼び出し(S112)、試験シナリオ実行処理のルーチンを呼び出す(S113)。試験シナリオ実行処理の手順については後述する。
試験シナリオ実行後は、実行結果を試験要求画面に通知する(S114)。そして、実行結果が正常の場合は(S115で「YES」)、次の有効なシナリオがあるか否かを判定する(S116)。基本的には、自動試験シナリオの次の行を実行するが、次の行が活殺=1(有効)であり、かつ試験シナリオが存在し、かつ異常時動作=ENDでない場合は、有効なシナリオがあると判定し、それ以外の場合は、試験を終了し(S118)、S101へ戻る。
一方、次の有効なシナリオが存在する場合は、そのシナリオを選択して、ステップS113へ移行する。
ステップS115において、異常終了した場合は、自動試験シナリオの"異常時動作"の指定にしたがって処理を実行する(S119)。"異常時動作"が"Next"の場合は、次の有効な試験シナリオを選択してステップS113へ移行して処理を実行する。"異常時動作"が"Jxx"の場合は、次の有効な試験シナリオを"xx"行とし、ステップS113へ移行して処理を実行する。"異常時動作"が"Stop"の場合は、試験を終了し(S122)、ステップS101へ戻る。
ステップS102において動作モードが試験シナリオ実行モードの場合は、後述する試験シナリオ実行処理のルーチンを呼び出す(S123)。
次に、図12を用いて試験シナリオ実行処理について説明する。
まず、指定された試験シナリオを読み出し(S201)、試験シナリオの指定に従って信号を初期化する(S202)。そして、シナリオが終了か判定する(S203)。このとき、タイミング幅が0の場合、これを終了とみなすことができる。
シナリオが終了の場合、実行結果を判定して、判定結果を保存する(S207)。このとき、判定方法が外部判定(Zxxx)以外の場合は(S204で「NO」)、指定に従った判定をする(S206)。一方、外部判定の場合は(S204で「YES」)、判定処理を呼び出してその結果を受け取る(S205)。
ステップS203で、試験シナリオを継続する場合は、ディレイを考慮して次の信号出力時間まで待って信号を出力する(S208,S209)。なお、信号出力時間は、インターバル時間×タイミング幅(±ディレイ)で求める。
以上の手順により試験シナリオを実行する。
[試験者(ユーザ)によるシナリオ試験の流れ]
次に図15を用いて、試験者がシミュレータの試験シナリオを指定してから結果を得るまでの流れについて説明する。
(ステップA1)試験者が試験要求画面から試験シナリオを指定する。
(ステップA2)試験者が試験要求画面上の実行ボタンを選択すると、試験シナリオ実行モデル2に対して、指定した試験シナリオが通知される。
(ステップA3)試験シナリオ実行モデル2は、通知された試験シナリオを読み出す。
(ステップA4)試験シナリオ実行モデル2は、ソフトウェアシミュレータ3に初期値を送信後、シミュレータ上の仮想時間を計数し、試験シナリオの設定に従って、信号をソフトウェアシミュレータ3に出力する。仮想時間と実時間の比は任意に設定することができる。なお、試験シナリオ実行モデル2は、必要により信号を他の各種シミュレータへ出力することもできる。
(ステップA5)試験シナリオ実行モデル2は、試験シナリオの実行が完了(試験結果に登録されているタイミング番号になると実行完了)すると"試験結果"の設定が、外部の結果判定シミュレータによる判定(コードZ)以外の場合には、ソフトウェアシミュレータ3の任意の端子の情報を読み取り、試験結果を判定する。
(ステップA6)試験シナリオ実行モデル2は、試験シナリオの実行が完了すると"試験結果"の設定がコードZの場合には、結果判定シミュレータに結果判定の要求を出す。
(ステップA7)結果判定シミュレータは、結果判定の要求を受けると、他のシミュレータの情報から試験判定を行い、その結果を試験シナリオ実行モデル2に通知する。
(ステップA8)試験シナリオ実行モデル2は、試験要求画面8に試験結果を通知する。
(ステップA9)試験者は、試験要求画面8で試験結果を得る。
試験者は以上の手順によってシナリオ試験を進める。
以上、本実施の形態によれば、複数のシミュレータの入出力信号を収集し、保存する試験シナリオ実行モデルを設け、正常動作の信号トレース情報を保存し、そのトレース情報を用いて、シナリオ作成ツールにより異常時の信号を追加、編集することで、異常試験の試験シナリオを容易作成することができる。
また、試験シナリオ実行モデルは、搬送メカシミュレータなどのハードウェアシミュレータが動作する場合は、シミュレータ間のデータをそのまま入出力させることになる。しかしながら、一旦シナリオ作成ツールで試験シナリオを作成すると、その試験シナリオに従った入出力を行うことで、ハードウェアシミュレータを使用しないでシミュレーションをすることができるようになるので、容易に自動試験を行うことができ、また低コストで多人数による開発が可能になる。
1 シミュレーション装置
3 ソフトウェアシミュレータ
4 アプリケーションプログラム
6 ハードウェアシミュレータ
6a 電子回路シミュレータ
6b 搬送メカシミュレータ
7 シナリオ作成ツール
8 試験要求画面
11 アドレス定義ファイル
12 信号トレースファイル
13 試験シナリオファイル
14 自動試験シナリオファイル

Claims (6)

  1. 命令セットシミュレータを有し、ソフトウェアプログラムのシミュレーションを実行するソフトウェアシミュレータと、周辺装置などのハードウェアを模擬するハードウェアシミュレータと、前記ソフトウェアシミュレータと前記ハードウェアシミュレータとの間の信号の受け渡しを行い、前記ソフトウェアプログラムの試験を実行する試験シナリオ実行モデルと、を備えたシミュレーション装置であって、
    前記試験シナリオ実行モデルは、試験開始時の初期状態の信号と、前記ソフトウェアシミュレータと前記ハードウェアシミュレータとの間で受け渡す信号とを含む信号トレース情報を収集して記憶部に保存し、
    さらに、前記信号トレース情報を用いて、前記ソフトウェアプログラムの試験を行うための試験シナリオファイルを作成するシナリオ作成ツールを備えたことを特徴とするシミュレーション装置。
  2. 前記シナリオ作成ツールは、信号トレース情報から作成された試験シナリオファイルの雛形の編集が可能であり、また前記信号トレース情報に同期した任意のタイミングで結果判定のための出力値を設定可能であることを特徴とする請求項1に記載のシミュレーション装置。
  3. 前記シナリオ作成ツールは、実行される試験シナリオファイルの識別情報、演算結果に基づく分岐先の試験シナリオファイルの識別情報、及び各試験シナリオファイルに対して実行対象であるか否かを示す活殺フラグを含む自動試験シナリオファイルを作成可能であることを特徴とする請求項2に記載のシミュレーション装置。
  4. 前記試験シナリオ実行モデルは、ユーザインタフェースを通して指定された試験シナリオファイルまたは自動試験シナリオファイルを実行することを特徴とする請求項3に記載のシミュレーション装置。
  5. 命令セットシミュレータを有し、ソフトウェアプログラムのシミュレーションを実行するソフトウェアシミュレータと、複数のシミュレータ間の信号の受け渡しを行う試験シナリオ実行モデルとを備えるシミュレーション装置を用いて前記ソフトウェアプログラムの試験を行うためのシナリオファイルを作成する方法であって、
    前記シミュレーション装置にハードウェアシミュレータを設け、前記試験シナリオ実行モデルにより前記ソフトウェアシミュレータと前記ハードウェアシミュレータとの間の信号の受け渡しを行いながら、該信号のトレース情報を収集するステップと、
    前記トレース情報を用いて、前記ソフトウェアプログラムの試験を行うための試験シナリオファイルの雛形を作成するステップと、
    前記シナリオファイルの雛形に対して前記トレース情報に同期した任意のタイミングで結果判定のための出力値を設定してシナリオファイルを作成するステップと、
    実行される試験シナリオファイルの識別情報、試験の結果に基づく分岐先の試験シナリオファイルの識別情報、及び各試験シナリオファイルに対して実行対象であるか否かを示す活殺フラグを含む試験手順を保存する自動試験シナリオファイルを作成するステップと、を含むことを特徴とする試験シナリオファイル作成方法。
  6. 請求項5記載の試験シナリオファイル作成方法で作成された試験シナリオファイル及び自動試験シナリオファイルを用いてソフトウェアプログラムの試験を行う方法であって、
    試験シナリオ実行モデルによって、前記自動試験シナリオファイルで指定された試験シナリオファイルの信号をソフトウェアシミュレータに入力し、該ソフトウェアシミュレータの出力結果に基づいて前記自動試験シナリオファイルの試験手順に従って前記ソフトウェアプログラムの試験を行うことを特徴とする試験シナリオファイルを用いた試験方法。
JP2015211333A 2015-10-27 2015-10-27 シミュレーション装置、試験シナリオファイル作成方法、及び試験シナリオファイルを用いた試験方法 Pending JP2017084082A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015211333A JP2017084082A (ja) 2015-10-27 2015-10-27 シミュレーション装置、試験シナリオファイル作成方法、及び試験シナリオファイルを用いた試験方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015211333A JP2017084082A (ja) 2015-10-27 2015-10-27 シミュレーション装置、試験シナリオファイル作成方法、及び試験シナリオファイルを用いた試験方法

Publications (1)

Publication Number Publication Date
JP2017084082A true JP2017084082A (ja) 2017-05-18

Family

ID=58714312

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015211333A Pending JP2017084082A (ja) 2015-10-27 2015-10-27 シミュレーション装置、試験シナリオファイル作成方法、及び試験シナリオファイルを用いた試験方法

Country Status (1)

Country Link
JP (1) JP2017084082A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110263399A (zh) * 2019-06-11 2019-09-20 中国科学院微电子研究所 一种基于Hspice的数据处理方法、装置及电子设备
CN110990290A (zh) * 2019-12-13 2020-04-10 浪潮软件集团有限公司 一种通用大数据平台稳定性测试系统及方法
CN111983935A (zh) * 2020-08-19 2020-11-24 北京京东叁佰陆拾度电子商务有限公司 一种性能评测方法和装置
US11106478B2 (en) 2017-11-10 2021-08-31 Mitsubishi Electric Corporation Simulation device, simulation method, and computer readable medium
CN113742220A (zh) * 2021-08-12 2021-12-03 重庆长安汽车股份有限公司 有限自动驾驶系统正向开发过程中的仿真测试方法
CN116513277A (zh) * 2023-04-20 2023-08-01 湖南中车时代通信信号有限公司 一种基于lkj运行记录数据的列控场景测试方法及系统
CN116513277B (zh) * 2023-04-20 2024-05-17 湖南中车时代通信信号有限公司 一种基于lkj运行记录数据的列控场景测试方法及系统

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11106478B2 (en) 2017-11-10 2021-08-31 Mitsubishi Electric Corporation Simulation device, simulation method, and computer readable medium
CN110263399A (zh) * 2019-06-11 2019-09-20 中国科学院微电子研究所 一种基于Hspice的数据处理方法、装置及电子设备
CN110990290A (zh) * 2019-12-13 2020-04-10 浪潮软件集团有限公司 一种通用大数据平台稳定性测试系统及方法
CN110990290B (zh) * 2019-12-13 2023-06-06 浪潮软件集团有限公司 一种通用大数据平台稳定性测试系统及方法
CN111983935A (zh) * 2020-08-19 2020-11-24 北京京东叁佰陆拾度电子商务有限公司 一种性能评测方法和装置
CN111983935B (zh) * 2020-08-19 2024-04-05 北京京东叁佰陆拾度电子商务有限公司 一种性能评测方法和装置
CN113742220A (zh) * 2021-08-12 2021-12-03 重庆长安汽车股份有限公司 有限自动驾驶系统正向开发过程中的仿真测试方法
CN113742220B (zh) * 2021-08-12 2024-03-15 重庆长安汽车股份有限公司 有限自动驾驶系统正向开发过程中的仿真测试方法
CN116513277A (zh) * 2023-04-20 2023-08-01 湖南中车时代通信信号有限公司 一种基于lkj运行记录数据的列控场景测试方法及系统
CN116513277B (zh) * 2023-04-20 2024-05-17 湖南中车时代通信信号有限公司 一种基于lkj运行记录数据的列控场景测试方法及系统

Similar Documents

Publication Publication Date Title
CN112270149B (zh) 验证平台自动化集成方法、系统及电子设备和存储介质
JP2017084082A (ja) シミュレーション装置、試験シナリオファイル作成方法、及び試験シナリオファイルを用いた試験方法
US9367427B2 (en) Embedding and executing trace functions in code to gather trace data
US7178135B2 (en) Scope-based breakpoint selection and operation
JP2007012003A (ja) フィーチャ指向ソフトウェア製品ラインの開発環境を提供するシステム
JP6289751B2 (ja) プログラム生成装置、プログラム生成方法及びプログラム生成プログラム
US9690682B2 (en) Program information generating system, method, and computer program product
WO2016026328A1 (zh) 一种信息处理方法、装置及计算机存储介质
US20120254662A1 (en) Automated test system and automated test method
CN110659256A (zh) 多机房同步方法、计算设备及计算机存储介质
CN109766139B (zh) 配置文件的配置方法及装置
JP6440895B2 (ja) ソフトウェア分析装置及びソフトウェア分析方法
US10592703B1 (en) Method and system for processing verification tests for testing a design under test
CN111813377A (zh) 一种自动生成应用程序的方法及装置
JP6763153B2 (ja) ハードウェア/ソフトウェア協調検証装置およびハードウェア/ソフトウェア協調検証方法
US9280627B1 (en) GUI based verification at multiple abstraction levels
US10579761B1 (en) Method and system for reconstructing a graph presentation of a previously executed verification test
CN110688173B (zh) 一种跨平台界面框架中组件的定位方法、装置及电子设备
CN115599618B (zh) 寄存器动态改配验证方法、装置、存储介质和处理器
TWI393897B (zh) 整合測試方法及其系統
RU2729210C1 (ru) Комплекс тестирования программного обеспечения электронных устройств
US10223077B2 (en) Determination of signals for readback from FPGA
CN109840213B (zh) 一种gui测试的测试数据创建方法、装置、终端及存储介质
US9710581B1 (en) VIP assisted method and apparatus to enable SOC integration and software development
US11487561B1 (en) Post simulation debug and analysis using a system memory model