JP2019532429A - 計算機システム、テスト方法、および記録媒体 - Google Patents

計算機システム、テスト方法、および記録媒体 Download PDF

Info

Publication number
JP2019532429A
JP2019532429A JP2019517346A JP2019517346A JP2019532429A JP 2019532429 A JP2019532429 A JP 2019532429A JP 2019517346 A JP2019517346 A JP 2019517346A JP 2019517346 A JP2019517346 A JP 2019517346A JP 2019532429 A JP2019532429 A JP 2019532429A
Authority
JP
Japan
Prior art keywords
events
event
test
item
test items
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.)
Granted
Application number
JP2019517346A
Other languages
English (en)
Other versions
JP6722352B2 (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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems 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 Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Publication of JP2019532429A publication Critical patent/JP2019532429A/ja
Application granted granted Critical
Publication of JP6722352B2 publication Critical patent/JP6722352B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01MTESTING STATIC OR DYNAMIC BALANCE OF MACHINES OR STRUCTURES; TESTING OF STRUCTURES OR APPARATUS, NOT OTHERWISE PROVIDED FOR
    • G01M17/00Testing of vehicles
    • G01M17/007Wheeled or endless-tracked vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • 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
    • 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/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0218Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
    • G05B23/0256Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults injecting test signals and analyzing monitored process response, e.g. injecting the test signal while interrupting the normal operation of the monitored system; superimposing the test signal onto a control signal during normal operation of the monitored system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Automation & Control Theory (AREA)
  • Debugging And Monitoring (AREA)

Abstract

プロセッサは、対象システムのシミュレーションモデルに対する複数のテスト項目であって、各テスト項目が少なくとも一つのイベントを含む、複数のテスト項目を取得し、テスト項目の集合内のイベントが集合内の他のテスト項目内のイベントに依存していないという集約条件の下で、複数のテスト項目の中から集合を検出し、集合内のイベントのうち集合内の他のテスト項目内のイベントと同一のイベントである共通イベントの重複を避けて共通イベントを集約テスト項目に含め、集合内のイベントのうち集合内の他のテスト項目内のイベントと異なるイベントである固有イベントを集約テスト項目に含め、集約テスト項目に従ってシミュレーションモデルを用いるシミュレーションを実行する。

Description

本発明は、計算機システムに関する。
組込みシステムは、制御対象を構成するメカニズムと、このメカニズムから受け取った物理量を元に制御演算を行い、このメカニズムに制御値の出力を行うハードウェアと、このハードウェア上で動作するソフトウェアとで構成される。例えば、自動車エンジン制御向けの組込みシステムは、制御対象であるエンジン等のメカニズムと、制御演算を行いこのエンジン等を制御するマイコン(microcontrollerまたはmicroprocessor)等の電子機器と、このマイコン等の上で動作するソフトウェアとで構成されている。
組込みシステムに含まれるソフトウェアの挙動は、制御対象のメカニズムとハードウェアの構成に強く依存するため、メカニズム、ハードウェア、ソフトウェアを併せた挙動の解析が必要である。
近年、自動車、電気機器等の高信頼化、高機能化により組込みシステムが複雑化している。そのため、作業期間短縮のためハードウェア、ソフトウェアの各部品を細分化して分業化が行われ、複数拠点での同時開発が行われている。分業化が進むにあたり、部品毎の動作確認だけではなく、部品の組み立て時に判明する性能不足、仕様の不具合が増加している。これにより、製品出荷前の最終段階での手戻りによる開発期間の遅延が多発しており、開発効率の悪化が問題となっている。
この問題を解決するため、設計時点でのメカニズム・ハードウェア・ソフトウェアを協調させたシミュレーションによる性能評価、検証手法が用いられている。
上記のシミュレーションを実行する際は、実行対象の動作を模したモデルを結合させるだけではなく、各シミュレータに対し外乱条件を挿入したり、内部状態を観測するための機構を付加したりする必要がある。これらの外乱条件の挿入、内部状態観測はシミュレーション開始前に予め決められた時刻に起こすだけではなく、シミュレータが到達する特定の状態をトリガとして作動することが求められる。これは、システム全体の複雑化によって、部品同士の複雑な相互関係に由来する異常状態の解析の重要度が高くなっていることに起因する。
しかし、性能評価のためのテスト項目の数が膨大になるため、開発期間に影響を与える。
特許文献1には、複数のテスト項目がソフトウェアに対する共通の入力データ範囲を持つ場合、それらのテスト項目を1つの統合化テスト項目としてまとめ、テストに掛る工数を削減することが記載されている。
特開2009―193488号公報
特許文献1の技術は、複数のテスト項目が共通の入力データを持ち、且つそれらが共通の範囲を持つ場合に限って、それらのテスト項目を統合する。そのため、テストに要する時間を大幅に削減することは困難である。
上記課題を解決するために、本発明の一態様である計算機システムは、記憶デバイスと、前記記憶デバイスに接続されるプロセッサと、を備える。前記プロセッサは、対象システムのシミュレーションモデルに対する複数のテスト項目であって、各テスト項目が少なくとも一つのイベントを含む、前記複数のテスト項目を取得し、テスト項目の集合内のイベントが前記集合内の他のテスト項目内のイベントに依存していないという集約条件の下で、前記複数のテスト項目の中から前記集合を検出し、前記集合内のイベントのうち前記集合内の他のテスト項目内のイベントと同一のイベントである共通イベントの重複を避けて前記共通イベントを集約テスト項目に含め、前記集合内のイベントのうち前記集合内の他のテスト項目内のイベントと異なるイベントである固有イベントを前記集約テスト項目に含め、前記集約テスト項目に従って前記シミュレーションモデルを用いるシミュレーションを実行する、ように構成されている。
シミュレーションモデルのテストに要する時間を削減することができる。
本実施例の計算機システムの構成を示す。 シミュレーションモデル群330の構成を示す。 入力テスト項目の構成を示す。 集約テスト項目の生成の概要を示す。 集約テスト項目の構成を示す。 テスト処理を示す。 テスト項目実行処理を示す。 テスト項目実行処理中のシミュレーションモデル群330の動作を示す。
以下、図面を参照して本発明の実施形態を説明する。
以下の説明では、「×××項目」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「×××項目」を「×××情報」と呼ぶことができる。また、以下の説明において、各テーブルの構成は一例であり、1つのテーブルは、2以上のテーブルに分割されてもよいし、2以上のテーブルの全部又は一部が1つのテーブルであってもよい。
また、以下の説明では、要素の識別情報として、IDが使用されるが、それに代えて又は加えて他種の識別情報が使用されてもよい。
また、以下の説明では、同種の要素を区別しないで説明する場合には、参照符号又は参照符号における共通番号を使用し、同種の要素を区別して説明する場合は、その要素の参照符号を使用又は参照符号に代えてその要素に割り振られたIDを使用することがある。
また、以下の説明では、I/O(Input/Output)は、ライト又はリードであり、アクセスと呼ばれてもよい。
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び/又はインターフェースデバイス(例えば通信ポート)等を用いながら行うため、処理の主語がプロセッサとされてもよい。プログラムを主語として説明された処理は、プロセッサあるいはそのプロセッサを有する装置が行う処理又はシステムとしてもよい。また、プロセッサは、処理の一部または全部を行うハードウェア回路を含んでもよい。プログラムは、プログラムソースから計算機のような装置にインストールされてもよい。プログラムソースは、例えば、プログラム配布サーバまたは計算機が読み取り可能な記憶メディアであってもよい。プログラムソースがプログラム配布サーバの場合、プログラム配布サーバはプロセッサ(例えばCPU)と記憶資源を含み、記憶資源はさらに配布プログラムと配布対象であるプログラムとを記憶してよい。そして、プログラム配布サーバのプロセッサが配布プログラムを実行することで、プログラム配布サーバのプロセッサは配布対象のプログラムを他の計算機に配布してよい。また、以下の説明において、2以上のプログラムが1つのプログラムとして実現されてもよいし、1つのプログラムが2以上のプログラムとして実現されてもよい。
図1は、本実施例の計算機システムの構成を示す。
この計算機システムは、主記憶部110と、CPU120と、外部記憶装置130と、入力装置140と、表示装置150とを含む。
主記憶部110は、メモリ等の主記憶装置であり、プログラムおよびデータを格納する。CPU120は、主記憶部110に格納されたプログラムに従って処理を実行する。外部記憶装置130は、HDD(hard disk drive)やSSD(solid state drive)等の補助記憶装置であり、プログラムおよびデータを格納する。入力装置140は、ユーザにより入力されるデータを取得する。表示装置150は、データを表示する。
主記憶部110は、集約部220と、テスト操作部230と、シミュレーション実行部240との、プログラムを格納する。外部記憶装置130は、解析結果310と、テスト項目群320と、シミュレーションモデル群330と、テスト結果340との、データを格納する。これらのプログラムおよびデータの何れかは、主記憶部110に格納されていてもよいし、外部記憶装置130に格納されていてもよいし、通信ネットワークを介して接続されるストレージに格納されていてもよい。
テスト項目群320は、複数のテスト項目を含む。各テスト項目は、少なくとも一つのイベントを含む。各イベントは、イベントのトリガと、シミュレーションモデル群330の状態に対する操作と、シミュレーションモデル群330の状態の観測との、少なくとも何れかを示す。テスト項目は例えば、入力装置140から入力される入力テスト項目、複数の入力テスト項目が集約されて得られる集約テスト項目、集約テスト項目のうち再テストするイベントを含む再テスト項目である。入力テスト項目は、外部の装置から通信ネットワークを介して受信されてもよい。テスト結果340は、テスト項目内のイベントの判定結果を示す判定結果リストと、テスト項目内のイベントの判定結果のうち確定した判定結果を示す確定結果リストとを含む。
解析結果310は、シミュレーションモデル群330の解析結果または実行結果である。例えば、解析結果310は、シミュレーションモデル群330の静的解析結果や、シミュレーションモデル群330を用いるシミュレーション実行部240の実行結果である。集約部220がシミュレーションモデル群330の静的解析を行い、静的解析結果を取得してもよい。テスト操作部230がシミュレーション実行部240にシミュレーションを実行させ、実行結果を取得してもよい。
集約部220は、テスト項目群320に含まれる複数の入力テスト項目を集約することで、集約テスト項目を生成する。テスト操作部230は、テスト項目に従ってシミュレーション実行部240を制御する。シミュレーション実行部240は、シミュレーションモデル群330を用いるシミュレーションを実行する。
図2は、シミュレーションモデル群330の構成を示す。
シミュレーションモデル群330は、テストの対象システムを示す複数のシミュレーションモデルを含む。シミュレーションモデルは例えば、対象システムの要素のモデルを示すプログラムである。要素は、メカニズム、ハードウェア、ソフトウェア等である。本実施例における対象システムは、自動車の制御システムである。
本実施例のシミュレーションモデル群330は、車載通信コントローラのモデルである車載通信コントローラモデル410と、車載通信コントローラに接続されたエンジンECU(electronic control unit)のモデルであるエンジンECUモデル421と、エンジンECUに接続されたエンジンのモデルであるエンジンモデル422と、車載通信コントローラに接続されたブレーキECUのモデルであるブレーキECUモデル431と、ブレーキECUに接続されたブレーキのモデルであるブレーキモデル432と、車載通信コントローラに接続されたユーザインターフェイスECUのモデルであるユーザインターフェイスECUモデル441と、ユーザインターフェイスECUに接続されたユーザ操作パネルのモデルであるユーザ操作パネルモデル442と、車載通信コントローラに接続されたステアリングECUのモデルであるステアリングECUモデル451と、ステアリングECUの影響を受ける車体姿勢のモデルである車体姿勢モデル452と、を含む。なお、この図に示されたシミュレーションモデル群330の構成は一例である。シミュレーションモデル群330の構成は、この例に限らない。
制御システム内の複数のECUの間は、CAN(control area network)等の通信ネットワークを介して接続されている。
テスト操作部230またはシミュレーション実行部240は、シミュレーションモデル群330内の各部の状態を取得するプローブ部を有していてもよい。プローブ部は、シミュレーションモデル群330内のアナログ値またはデジタル値を操作したり観測したりする。
図3は、入力テスト項目の構成を示す。
この図は、テスト項目群320内の入力テスト項目321a、321bを示す。各入力テスト項目は、イベント毎のエントリを含む。一つのイベントのエントリは、トリガ項目510と、操作項目520と、観測項目530とを含む。操作項目520と観測項目530の夫々は、なくてもよいし、複数の項目を含んでもよい。
トリガ項目510は、トリガの種類を示す指示(またはoperation)511と、トリガに用いられる状態を示す設定値(またはargument)512と、トリガの条件を示す条件513とを含む。操作項目520は、操作の種類を示す指示521と、操作対象および操作値を示す設定値522とを含む。観測項目530は、観測の種類を示す指示531と、観測対象を示す設定値532と、観測結果の判定条件を示す条件533とを含む。トリガ項目510と、操作項目520と、観測項目530の中の何れかの値は、なくてもよいし、複数の値を含んでもよい。
例えば、トリガ項目510において、指示511が待機(Wait time)を示し、設定値512が待機時間の値を示す場合、このイベントにおけるトリガは、待機時間が経過することである。例えば、トリガ項目510において、指示511が関数トリガ(Function Trigger)を示し、設定値512が関数名を示し、条件513が呼び出し(Called)を示す場合、このイベントにおけるトリガは、関数名で示された関数が呼び出されることである。
例えば、操作項目520において、指示521がI/O設定(I/O set)を示し、設定値522が出力先と値を示す場合、このイベントにおける操作は、出力先へ値を出力することである。例えば、操作項目520において、指示521がメモリ書き込み(Write memory)を示し、設定値522が操作対象と操作値を示す場合、このイベントにおける操作は、操作対象のメモリへ操作値を書き込むことである。
例えば、観測項目530において、指示531がメモリ読み出し(Read memory)を示し、設定値532が観測対象を示す場合、このイベントにおける観測は、観測対象から値を読み出すことである。更に、観測項目530において、条件533が判定条件を示し、読み出された値が判定条件を満たしている場合、このイベントが合格であると判定される。例えば、観測項目530において、指示531が“Nop”を示す場合、観測項目530が無いことを示す。
観測項目530の条件533が設定されているイベントを、判定イベントと呼ぶことがある。
操作項目520は、外乱を示すデータをメモリへ書き込むことであってもよい。操作項目520は、通信ネットワークを介して他のモデルへ信号を送信することを示していてもよい。観測項目530は、通信ネットワークを介して他のモデルから信号を受信することを示していてもよい。操作項目520は、クロック停止やクロック周波数変更等、対象システムの故障を模擬するための破壊操作を示していてもよい。
各エントリは、イベントの識別子を含んでいてもよい。各エントリは、集約できるか否かを示す属性を含んでもよい。各エントリは、複数の操作項目520を含んでもよいし、複数の観測項目530を含んでもよい。
図4は、集約テスト項目の生成の概要を示す。
集約部220は、テスト項目群320内の複数の入力テスト項目の中から、集約条件を満たす入力テスト項目の集合を検出する。例えば、集約条件は、当該集合内の各入力テスト項目内のイベントが、当該集合内の他の入力テスト項目内のイベントに依存していないことである。更に集約部220は、集合内の複数の入力テスト項目の間で完全に一致するイベントを共通イベントとし、共通イベント以外のイベントを固有イベントとし、共通イベントの重複を排除して、共通イベントと固有イベントを実行時刻順に並べることで、一つの集約テスト項目を生成する。
この図の例において、集約部220は、固有イベントAを有する入力テスト項目321aと、固有イベントBを有する入力テスト項目321bと、固有イベントCを有する入力テスト項目321cとを含む、第1集合を生成し、固有イベントDを有する入力テスト項目321dと、固有イベントEを有する入力テスト項目321eと、固有イベントFを有する入力テスト項目321fとを含む、第2集合を生成する。更に集約部220は、第1集合内の共通イベントおよび固有イベントをトリガ順に並べることで、集約テスト項目322gを生成し、第2集合内の共通イベントおよび固有イベントをトリガ順に並べることで、集約テスト項目322hを生成する。
図5は、集約テスト項目の構成を示す。
この図は、入力テスト項目321p、321qを集約することにより得られる集約テスト項目322rを示す。集約テスト項目の構成は、入力テスト項目と同様である。なお、入力テスト項目および集約テスト項目の両方を、テスト項目と呼ぶことがある。
集約テスト項目322rにおいて、1番目から5番目までの各イベントは共通イベントであり、二つの入力テスト項目321p、321qの間で完全に一致している。6番目のイベントは、入力テスト項目321pの固有イベントであり、7番目のイベントは、入力テスト項目321qの固有イベントである。
二つの入力テスト項目321p、321qを用いる場合、1番目から5番目までの共通イベントについて、2回のテストが行われる。集約テスト項目322rを用いる場合、1番目から5番目までの共通イベントについて、1回だけテストが行われる。このように複数の入力テスト項目を集約テスト項目に集約することにより、複数の入力テスト項目内の共通イベントのテストの回数を削減することができ、全体のテスト時間を削減することができる。
以下、計算機システムの動作について説明する。
計算機システムは、全ての入力テスト項目内の全ての判定イベントが合格となることを目標として、テスト処理を行う。
図6は、テスト処理を示す。
S110において集約部220は、入力装置140へ入力された複数の入力テスト項目を取得し、複数の入力テスト項目をテスト項目群320へ登録する。
S120において集約部220は、解析結果310に基づいて、テスト項目群320内の複数の入力テスト項目内のイベントのトリガ項目の発火予想時刻を解析する。発火予想時刻は、シミュレーション時刻においてトリガ項目510が発火する時刻の予測値である。発火予想時刻は、イベントの実行時刻の予測値であってもよい。
S130において集約部220は、シミュレーションモデル群330の解析結果に基づいて、テスト項目群320内の複数の入力テスト項目内の各イベントの操作項目の作用範囲を解析する。作用範囲は、操作項目の影響を受ける範囲である。例えば、作用範囲は、設定値522で示される操作対象であり、操作により書き込まれるメモリのアドレス範囲や、操作による通信に用いられる信号名等である。
S140において集約部220は、複数の入力テスト項目から、集約条件を満たす複数の入力テスト項目の集合を検出することにより、複数の入力テスト項目を複数の集合に分割する。例えば、集約条件は、集合内のイベントの発火予想時刻が集合内の他の入力テスト項目内のイベントの発火予想時刻と重複しないことを必要とする。また、集約条件は、集合内のイベントの作用範囲が集合内の他の入力テスト項目内のイベントの作用範囲と重複しないことを必要としてもよい。また、集約条件は、集合内の入力テスト項目が破壊操作のイベントを含む場合に、集合内の他の入力テスト項目内に破壊操作のイベントが含まれていないことを必要としてもよい。また、集約条件は、集合内の入力テスト項目が通信操作を含み、集合内の他の入力テスト項目が通信操作を含む場合、それらの通信操作の内容が互いに異なることを必要としてもよい。
S150において集約部220は、集合内の複数のイベントを発火予想時刻の順に並べ、並べられたイベントを一つのテスト項目に集約することで、集約テスト項目を作成し、集約テスト項目を実行テスト項目群へ登録する。これにより、テスト操作部230は、集約テスト項目内のイベントを、各入力テスト項目内で対応するイベントの実行順序に従って実行することができる。ここで集約部220は、当該集約テスト項目に対応する集合内の入力テスト項目を、当該集約テスト項目に関連付ける。ここで集約部220は、集約されなかった入力テスト項目を実行テスト項目群へ登録してもよい。
S160においてテスト操作部230は、実行テスト項目群から順にテスト項目を対象テスト項目として選択し、対象テスト項目に対するテスト項目実行処理を実行することで、各テスト項目の判定結果リストを取得する。判定結果リストは、各判定イベントの判定結果を含む。これにより、テスト操作部230は、各判定イベントの判定結果のシミュレーション時刻順に検証することができる。
S170においてテスト操作部230は、判定結果リスト内の先頭イベントを対象イベントとして選択し、対象イベントの判定結果が集約不可条件を満たすか否かを判定する。ここでテスト操作部230は、今回のテスト項目実行処理による対象イベントの判定結果が、過去のテスト項目実行処理による対象イベントの判定結果と異なる場合、対象イベントが集約不可条件を満たすと判定する。例えば、テスト操作部230は、今回の判定結果リストにおいて対象イベントが合格と判定され、且つ対象イベントを含む確定結果リストがあり、且つ確定結果リストにおいて対象イベントが不合格と判定された場合、対象イベントが集約不可条件を満たすと判定する。
S170の結果がYESである場合、S180においてテスト操作部230は、対象テスト項目に関連する判定結果を破棄し、対象テスト項目に対応する集合内の入力テスト項目に対して、集約不可属性を設定する。
S190においてテスト操作部230は、複数点故障の疑いがあることについてユーザへ警告し、処理をS210へ移行させる。ここでテスト操作部230は、警告を表示装置150へ表示させる。その後、集約部220は、集約不可属性を有する入力テスト項目の集約を行わず、テスト操作部230は、その入力テスト項目を対象テスト項目としてテスト項目実行処理を実行する。これにより、テスト操作部230は、テストの精度を向上させることができる。
S170の結果がNOである場合、S210においてテスト操作部230は、対象イベントの判定結果が対象テスト項目内の不合格よりも前の合格であるか否かを判定する。
S210の結果がYESである場合、S230においてテスト操作部230は、対象イベントとその判定結果とを確定結果リストへ登録し、処理をS250へ移行させる。
S210の結果がNOである場合、S220においてテスト操作部230は、対象イベントの判定結果が対象テスト項目内の最初の不合格であるか否かを判定する。
S220の結果がYESである場合、テスト操作部230は、処理をS230へ移行させる。
S220の結果がNOである場合、S240においてテスト操作部230は、対象イベントを再テスト項目へ登録し、処理をS250へ移行させる。これにより、テスト操作部230は、判定結果が確定していない判定イベントを再度テストすることができる。
また、テスト操作部230は、所定の再テスト条件を満たすイベントを再テスト項目へ登録してもよい。例えば、再テスト条件を満たすイベントは、対象イベントが、対象テスト項目内の判定イベントのうち、不合格の判定結果を有する判定イベントよりも後の判定イベントである。また、再テスト条件を満たすイベントは、対象テスト項目のうち、対象イベント以前のイベントであってもよいし、対象イベントに対応する入力テスト項目であってもよい。
S250においてテスト操作部230は、判定結果リストから対象イベントを破棄する。
S260においてテスト操作部230は、判定結果リストに残りのイベントがあるか否かを判定する。
S260の結果がYESである場合、テスト操作部230は、処理をS210へ移行させる。
S260の結果がNOである場合、S270においてテスト操作部230は、再テスト項目が空であるか否かを判定する。
S270の結果がNOである場合、S280においてテスト操作部230は、再テスト項目を実行テスト項目群へ登録し、処理をS120へ移行させる。
S270の結果がYESである場合、S290においてテスト操作部230は、確定結果リストに基づいて入力テスト項目毎の判定結果を作成し、このフローを終了する。ここでテスト操作部230は、確定結果リスト内のイベントを順に対象イベントとして選択し、対象イベントに対応する入力テスト項目を特定し、対象イベントの判定結果を、特定された入力テスト項目の判定結果へ登録することで、入力テスト項目毎の判定結果を作成する。
図7は、テスト項目実行処理を示す。
S410においてテスト操作部230は、対象テスト項目の先頭から順にイベントを対象イベントとして取得する。
S420においてテスト操作部230は、予め設定された単位時間だけシミュレーション時刻を進め、シミュレーション実行部240にシミュレーションを実行させる。シミュレーション実行部240は、シミュレーション時刻の経過に合わせて、シミュレーションモデル群330を用いて単位時間分のシミュレーションを実行し、シミュレーションを停止する。
S430においてテスト操作部230は、シミュレーションモデル群330の状態が対象イベントのトリガ項目510の条件513を満たすか否かを判定する。
S430の結果がNOである場合、テスト操作部230は、処理をS420へ移行させる。
S430の結果がYESである場合、S440において、対象イベントに観測項目530が設定されていれば、テスト操作部230は、シミュレーションモデル群330から当該観測項目の指示531及び設定値532に示された状態を取得する。更に当該観測項目の条件533が設定されていれば、テスト操作部230は、取得された状態が当該条件を満たすか否かを判定し、対象イベントの判定結果を判定結果リストへ登録する。
S450において、対象イベントに操作項目520が設定されていれば、テスト操作部230は、当該操作項目の指示521及び設定値522に示された状態を設定値522に従って変更する。
S460においてテスト操作部230は、対象テスト項目から対象イベントを破棄する。
S470においてテスト操作部230は、対象テスト項目が空であるか否かを判定する。
S470の結果がNOである場合、テスト操作部230は、処理をS410へ移行させる。
S470の結果がYESである場合、S480においてテスト操作部230は、対象テスト項目の判定結果リストを出力し、このフローを終了する。
図8は、テスト項目実行処理中のシミュレーションモデル群330の動作を示す。
テスト項目実行処理の期間は、シミュレーション時刻順に、トリガ条件待ち期間#0と、イベント期間#0と、トリガ条件待ち期間#1と、イベント期間#1と、トリガ条件待ち期間#2と、イベント期間#2と、トリガ条件待ち期間#3と、イベント期間#3と、を含む。例えば、トリガ条件待ち期間#0は、シミュレーションモデル群330の状態が対象テスト項目の先頭のイベントのトリガ項目510の条件を満たすまでの期間である。イベント期間#0は、当該イベントが実行される期間である。
このようなテスト項目実行処理により得られる判定結果リストにおいて、あるイベントの判定結果が不合格である場合、そのイベントよりも後のイベントの判定結果は保証されない。
次に、複数のテスト項目に共通の入力データ範囲が存在する場合に、それらのテスト項目を一つの統合化テスト項目として統合する技術を比較例として、本実施例の効果を説明する。
比較例は、複数のテスト項目が同種の入力データを有し且つそれらの入力データの値の範囲が重複している場合に、それらのテスト項目を統合することができる。例えば、比較例は、車速として100以上の値を入力するテスト項目と、車速として80以上120以下の値を入力するテスト項目と、車速として120以下の値を入力するテスト項目とを、一つの統合化テスト項目として統合することができる。また、例えば、比較例は、ブレーキ液圧として4MPa以下の値を入力するテスト項目と、ブレーキ液圧として2MPa以上の値を入力するテスト項目と、ブレーキ液圧として1MPa以上の値を入力するテスト項目とを、一つの統合化テスト項目として統合することができる。
本実施例の集約部220は、互いに異なる種類のイベントを有する複数のテスト項目を集約することができる。本実施例の集約部220は、比較例より多くのテスト項目を集約することができ、テスト時間の削減の効果が大きくなる。
記憶デバイスは、主記憶部110や外部記憶装置130等に対応する。プロセッサは、CPU120等に対応する。シミュレーションモデルは、シミュレーションモデルやシミュレーションモデル群330等に対応する。
以上、本発明の実施形態を説明したが、これは本発明の説明のための例示であって、本発明の範囲を上記構成に限定する趣旨ではない。本発明は、他の種々の形態でも実施する事が可能である。
110…主記憶部、 120…CPU、 130…外部記憶装置、 140…入力装置、 150…表示装置、 220…集約部、 230…テスト操作部、 240…シミュレーション実行部、 310…解析結果、 320…テスト項目群、 330…シミュレーションモデル群、 340…テスト結果

Claims (13)

  1. 記憶デバイスと、
    前記記憶デバイスに接続されるプロセッサと、
    を備え、
    前記プロセッサは、
    対象システムのシミュレーションモデルに対する複数のテスト項目であって、各テスト項目が少なくとも一つのイベントを含む、前記複数のテスト項目を取得し、
    テスト項目の集合内のイベントが前記集合内の他のテスト項目内のイベントに依存していないという集約条件の下で、前記複数のテスト項目の中から前記集合を検出し、
    前記集合内のイベントのうち前記集合内の他のテスト項目内のイベントと同一のイベントである共通イベントの重複を避けて前記共通イベントを集約テスト項目に含め、前記集合内のイベントのうち前記集合内の他のテスト項目内のイベントと異なるイベントである固有イベントを前記集約テスト項目に含め、
    前記集約テスト項目に従って前記シミュレーションモデルを用いるシミュレーションを実行する、
    ように構成されている、
    計算機システム。
  2. 前記プロセッサは、
    前記シミュレーションモデルに基づいて、前記複数のテスト項目内の各イベントの実行時刻を予測し、
    前記集約テスト項目内の複数のイベントを実行時刻順に配置する、
    ように構成されている、
    請求項1に記載の計算機システム。
  3. 各テスト項目は、前記シミュレーションモデルの状態の判定条件を示す判定イベントを含み、
    前記プロセッサは、前記シミュレーションの実行により、前記判定条件を用いて前記シミュレーションモデルの状態を判定することで、前記集約テスト項目内の複数の判定イベントの判定結果を得る、ように構成されている、
    請求項2に記載の計算機システム。
  4. 前記プロセッサは、前記複数の判定イベントのうち、所定の再テスト条件を満たすイベントを再テスト項目へ登録し、前記再テスト項目に従って前記シミュレーションモデルを用いるシミュレーションを実行する、ように構成されている、
    請求項3に記載の計算機システム。
  5. 前記再テスト条件を満たすイベントは、前記複数の判定イベントのうち、不合格の判定結果を有する判定イベントよりも後の判定イベントである、
    請求項4に記載の計算機システム。
  6. 前記集約テスト項目内の判定イベントの判定結果が、過去のシミュレーションによる同一の判定イベントの判定結果と異なる場合、前記プロセッサは、警告を表示装置に表示させる、
    請求項5に記載の計算機システム。
  7. 前記集約テスト項目内の判定イベントの判定結果が、過去のシミュレーションによる同一の判定イベントの判定結果と異なる場合、前記プロセッサは、前記集合内の各テスト項目に従って前記シミュレーションモデルを用いるシミュレーションを実行する、
    請求項5に記載の計算機システム。
  8. 前記プロセッサは、前記複数の判定イベントの判定結果を、対応するテスト項目の判定結果へ割り当てることで、前記集合内の各テスト項目の判定結果を生成する、ように構成されている、
    請求項1に記載の計算機システム。
  9. 前記集約条件は、前記集合内のイベントの実行時刻が、前記集合内の他のテスト項目内のイベントの実行時刻と重複しないことを必要とする、
    請求項2に記載の計算機システム。
  10. 前記複数のテスト項目内の各イベントは、イベントのトリガと、前記シミュレーションモデルの状態の操作と、前記シミュレーションモデルの状態の観測との、少なくとも何れか一つを含む、
    請求項9に記載の計算機システム。
  11. 前記集約条件は、前記集合内のイベントの操作の対象が、前記集合内の他のテスト項目内のイベントの操作の対象と重複しないことを必要とする、
    請求項10に記載の計算機システム。
  12. 対象システムのシミュレーションモデルに対する複数のテスト項目であって、各テスト項目が少なくとも一つのイベントを含む、前記複数のテスト項目を取得し、
    テスト項目の集合内のイベントが前記集合内の他のテスト項目内のイベントに依存していないという集約条件の下で、前記複数のテスト項目の中から前記集合を検出し、
    前記集合内のイベントのうち前記集合内の他のテスト項目内のイベントと同一のイベントである共通イベントの重複を避けて前記共通イベントを集約テスト項目に含め、前記集合内のイベントのうち前記集合内の他のテスト項目内のイベントと異なるイベントである固有イベントを前記集約テスト項目に含め、
    前記集約テスト項目に従って前記シミュレーションモデルを用いるシミュレーションを実行する、
    ことを備える、
    テスト方法。
  13. プロセスをコンピュータに実行させるプログラムを格納するコンピュータ読取可能な記録媒体であって、
    前記プロセスは、
    対象システムのシミュレーションモデルに対する複数のテスト項目であって、各テスト項目が少なくとも一つのイベントを含む、前記複数のテスト項目を取得し、
    テスト項目の集合内のイベントが前記集合内の他のテスト項目内のイベントに依存していないという集約条件の下で、前記複数のテスト項目の中から前記集合を検出し、
    前記集合内のイベントのうち前記集合内の他のテスト項目内のイベントと同一のイベントである共通イベントの重複を避けて前記共通イベントを集約テスト項目に含め、前記集合内のイベントのうち前記集合内の他のテスト項目内のイベントと異なるイベントである固有イベントを前記集約テスト項目に含め、
    前記集約テスト項目に従って前記シミュレーションモデルを用いるシミュレーションを実行する、
    ことを備える、
    記録媒体。
JP2019517346A 2016-11-02 2016-11-02 計算機システム、テスト方法、および記録媒体 Active JP6722352B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IB2016/001882 WO2018083515A1 (en) 2016-11-02 2016-11-02 Computer system, test method, and recording medium

Publications (2)

Publication Number Publication Date
JP2019532429A true JP2019532429A (ja) 2019-11-07
JP6722352B2 JP6722352B2 (ja) 2020-07-15

Family

ID=58094462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019517346A Active JP6722352B2 (ja) 2016-11-02 2016-11-02 計算機システム、テスト方法、および記録媒体

Country Status (3)

Country Link
US (1) US10810111B2 (ja)
JP (1) JP6722352B2 (ja)
WO (1) WO2018083515A1 (ja)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04112236A (ja) * 1990-09-03 1992-04-14 Toshiba Corp プロセッサの故障診断装置
JPH09511853A (ja) * 1994-10-11 1997-11-25 ベル コミュニケーションズ リサーチ,インコーポレイテッド 相互作用のある要素を有するシステムのための効率的なテスト・ケースの自動生成方法およびシステム
JPH10275094A (ja) * 1997-03-31 1998-10-13 Mitsubishi Electric Corp プログラム評価システム
JP2001051864A (ja) * 1999-08-12 2001-02-23 Hitachi Ltd データ処理装置の試験実行方式
JP2003028936A (ja) * 2001-07-16 2003-01-29 Mitsubishi Electric Corp 半導体装置のテストパターン編集方法
US20040088602A1 (en) * 2002-11-05 2004-05-06 Cohen Richard M. Automated recording and replaying of software regression tests
JP2007535723A (ja) * 2003-11-04 2007-12-06 キンバリー クラーク ワールドワイド インコーポレイテッド 複合ソフトウエアシステムを実施して検証するための自動多次元追跡可能性行列を含む試験ツール
JP2009193488A (ja) * 2008-02-18 2009-08-27 Nec Corp ソフトウェアテスト項目編集支援装置およびソフトウェアテスト項目編集支援方法
CN103123607A (zh) * 2013-03-08 2013-05-29 扬州大学 一种基于形式概念分析的软件回归测试方法
WO2013099438A1 (ja) * 2011-12-28 2013-07-04 日立オートモティブシステムズ株式会社 協調シミュレーション用計算機システム、組込みシステムの検証方法及びプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2147036A1 (en) * 1994-05-16 1995-11-17 Yih-Farn Robin Chen System and method for selective regression testing
US5778169A (en) * 1995-08-07 1998-07-07 Synopsys, Inc. Computer system having improved regression testing
US7320090B2 (en) * 2004-06-09 2008-01-15 International Business Machines Corporation Methods, systems, and media for generating a regression suite database
DE102006050112A1 (de) * 2006-10-25 2008-04-30 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Erstellung einer Anforderungsbeschreibung für ein eingebettetes System
US20090119542A1 (en) * 2007-11-05 2009-05-07 Advantest Corporation System, method, and program product for simulating test equipment
CN103959251B (zh) * 2011-12-05 2016-08-31 国际商业机器公司 模拟执行方法、设备和系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04112236A (ja) * 1990-09-03 1992-04-14 Toshiba Corp プロセッサの故障診断装置
JPH09511853A (ja) * 1994-10-11 1997-11-25 ベル コミュニケーションズ リサーチ,インコーポレイテッド 相互作用のある要素を有するシステムのための効率的なテスト・ケースの自動生成方法およびシステム
JPH10275094A (ja) * 1997-03-31 1998-10-13 Mitsubishi Electric Corp プログラム評価システム
JP2001051864A (ja) * 1999-08-12 2001-02-23 Hitachi Ltd データ処理装置の試験実行方式
JP2003028936A (ja) * 2001-07-16 2003-01-29 Mitsubishi Electric Corp 半導体装置のテストパターン編集方法
US20040088602A1 (en) * 2002-11-05 2004-05-06 Cohen Richard M. Automated recording and replaying of software regression tests
JP2007535723A (ja) * 2003-11-04 2007-12-06 キンバリー クラーク ワールドワイド インコーポレイテッド 複合ソフトウエアシステムを実施して検証するための自動多次元追跡可能性行列を含む試験ツール
JP2009193488A (ja) * 2008-02-18 2009-08-27 Nec Corp ソフトウェアテスト項目編集支援装置およびソフトウェアテスト項目編集支援方法
WO2013099438A1 (ja) * 2011-12-28 2013-07-04 日立オートモティブシステムズ株式会社 協調シミュレーション用計算機システム、組込みシステムの検証方法及びプログラム
CN103123607A (zh) * 2013-03-08 2013-05-29 扬州大学 一种基于形式概念分析的软件回归测试方法

Also Published As

Publication number Publication date
WO2018083515A1 (en) 2018-05-11
JP6722352B2 (ja) 2020-07-15
US20190251017A1 (en) 2019-08-15
US10810111B2 (en) 2020-10-20

Similar Documents

Publication Publication Date Title
KR102537875B1 (ko) 차량 ecu 소프트웨어 검증을 위한 동적 결함 주입 방법 및 장치
JP6592605B2 (ja) Ecuシミュレーション装置
US9842044B2 (en) Commit sensitive tests
US20050262399A1 (en) Aggregating and prioritizing failure signatures by a parsing program
US8739091B1 (en) Techniques for segmenting of hardware trace and verification of individual trace segments
EP3072046B1 (en) Latency tolerant fault isolation
US20090006934A1 (en) Triggering diagnostic operations within a data processing apparatus
JP6722352B2 (ja) 計算機システム、テスト方法、および記録媒体
US11715545B2 (en) In-system test of a memory device
US11023357B1 (en) Method and system for sequential equivalence checking
US9892010B2 (en) Persistent command parameter table for pre-silicon device testing
US8639978B2 (en) Topology independent network-based automation infrastructure
JP6649731B2 (ja) Fpgaからリードバックするための信号の特定
US8387067B2 (en) Method for tracking and/or verifying message passing in a simulation environment
JP2013003633A (ja) 故障再現装置、故障再現方法
US7454680B2 (en) Method, system and computer program product for improving efficiency in generating high-level coverage data for a circuit-testing scheme
Kurtz et al. Software based test automation approach using integrated signal simulation
US10853546B1 (en) Method and system for sequential equivalence checking
JP7084505B2 (ja) 検証装置および検証方法
US20210173989A1 (en) Simulation signal viewing method and system for digital product
US10261887B1 (en) Method and system for computerized debugging assertions
JP2022122773A (ja) 評価装置および評価方法
CN116775454A (zh) 用于测试计算机程序的方法
JP2014016752A (ja) 検証装置、検証方法、検証プログラム
CN110321574A (zh) 一种打印波形的方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191101

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200422

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: 20200526

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200619

R150 Certificate of patent or registration of utility model

Ref document number: 6722352

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350