JP2008210275A - 試験仕様生成装置及び試験システム及び試験仕様生成方法及びプログラム - Google Patents

試験仕様生成装置及び試験システム及び試験仕様生成方法及びプログラム Download PDF

Info

Publication number
JP2008210275A
JP2008210275A JP2007047879A JP2007047879A JP2008210275A JP 2008210275 A JP2008210275 A JP 2008210275A JP 2007047879 A JP2007047879 A JP 2007047879A JP 2007047879 A JP2007047879 A JP 2007047879A JP 2008210275 A JP2008210275 A JP 2008210275A
Authority
JP
Japan
Prior art keywords
event
input
test
unit
event sequence
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
JP2007047879A
Other languages
English (en)
Other versions
JP4705060B2 (ja
Inventor
Makoto Isoda
誠 磯田
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 JP2007047879A priority Critical patent/JP4705060B2/ja
Publication of JP2008210275A publication Critical patent/JP2008210275A/ja
Application granted granted Critical
Publication of JP4705060B2 publication Critical patent/JP4705060B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】試験対象システムの動作を試験する試験仕様の生成を容易にするとともに、試験漏れを少なくして、試験の信頼性を向上する。
【解決手段】状態遷移記憶部111が記憶した状態遷移情報に基づいて、正常イベント列生成部112が正常イベント列を生成する。撹乱パターン記憶部122が記憶した撹乱パターンに基づいて、イベント列撹乱部130が正常イベント列を撹乱して、撹乱イベント列を生成する。イベント列撹乱部130が撹乱した撹乱イベント列を含む試験仕様を、試験仕様出力部190が出力する。
【選択図】図3

Description

この発明は、入力したイベントにしたがって動作する試験対象システムが所期の動作をするか否かを試験するため、試験対象システムに入力する一連のイベントを表わすイベント列を含む試験仕様を生成する試験仕様生成装置に関する。
試験対象システムの所期の動作は、状態遷移図を用いて形式的に記述することができる。状態遷移図には、試験対象システムの状態と、その状態において試験対象システムが入力するイベントと、そのイベントをその状態で試験対象システムが入力したときに試験対象システムがすべき動作(遷移アクション)と、その動作ののち試験対象システムが遷移すべき遷移先の状態とが記述される。
試験対象システムの試験において、それぞれの状態でそれぞれのイベントを入力したとき、状態遷移図に記述した通りの動作をするかを試験するやり方(単発試験)がある。単発試験には、予定されているイベントを入力したときに所期の動作をするか否かを調べる試験のほか、予定されていないイベントを入力したときに誤動作せず、正しいエラー処理などを実行できるかを調べる試験(異常対応試験)も含まれる。予定されていないイベントには、イベントの種類が予定されていない種類である場合や、パラメータの値が予定の範囲外である場合などがある。
また、単発試験では一連のイベントを入力した場合に全体として所期の動作をするかわからないので、予定されている順序にしたがってイベントを試験対象システムに入力し、試験対象システムが所期の動作をするか否かを調べる試験(機能試験)も行われる。複合的な要因で、試験対象システムが誤動作する可能性があるからである。
このような試験において試験対象システムに入力する一連のイベント(イベント列)を、状態遷移図に基づいて生成する試験装置がある(例えば、特許文献1や特許文献2)。
このような試験装置は、試験対象システムの動作仕様を所定の記述方法を用いて形式的に記述した状態遷移図などの情報をあらかじめ記憶し、状態遷移図を解析して、試験対象システムの動作を検証するための試験仕様を出力する。こうして出力した試験仕様に基づいて、試験対象システムが状態遷移図で記述されている仕様を満たしているかどうかを確認する試験をする。
特開2001−166929号公報 特開2004−151884号公報
上述の試験装置によれば、機能試験はできるが異常対応試験はできない。このため、異常対応試験は単発試験で行うことになる。したがって、複合的な要因で誤動作しないかを調べる試験が不十分になる。
異常な順序でイベントを入力したときに誤動作しないかを試験するための試験仕様を、手作業などで作成してもよいが、多くの工数がかかるため試験コストが増大し、また、検証漏れが起こる可能性があるため試験の信頼性が低下する。
この発明は、例えば、上記のような課題を解決するためになされたものであり、異常な順序でイベントを入力した場合などにおける試験対象システムの動作を試験するための試験仕様を、効率的かつ漏れなく生成することを目的とする。
この発明にかかる試験仕様生成装置は、
入力したイベントにしたがって動作する試験対象システムが所期の動作をするか否かを試験するため、上記試験対象システムに入力する一連のイベントを表わすイベント列を含む試験仕様を生成する試験仕様生成装置において、
情報を処理する処理装置と、イベント列撹乱部と、試験仕様出力部とを有し、
上記イベント列撹乱部は、上記処理装置を用いて、イベント列を入力し、入力したイベント列を撹乱して、撹乱イベント列とし、
上記試験仕様出力部は、上記処理装置を用いて、上記イベント列撹乱部が撹乱した撹乱イベント列をイベント列として含む試験仕様を出力することを特徴とする。
この発明にかかる試験仕様生成装置によれば、イベント列撹乱部がイベント列を撹乱して撹乱イベント列を生成し、生成した撹乱イベント列を含む試験仕様を、試験仕様出力部が出力するので、異常な順序でイベントを入力した場合における試験対象システムの動作を試験することができる試験仕様を、効率的かつ漏れなく生成できるという効果を奏する。
実施の形態1.
実施の形態1を、図1〜図18を用いて説明する。
図1は、この実施の形態における試験仕様生成装置100の外観の一例を示す図である。
試験仕様生成装置100は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク942(LAN)、ゲートウェイ941を介してインターネット940に接続されている。
図2は、この実施の形態における試験仕様生成装置100のハードウェア資源の一例を示す図である。
図2において、試験仕様生成装置100は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信装置915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
通信装置915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信装置915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disc)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
図3は、この実施の形態における試験システム800の全体構成の一例を示すシステム構成図である。
試験システム800は、試験仕様生成装置100と、試験装置200とを有し、試験対象システム300を試験する。
試験対象システム300は、イベントを入力し、入力したイベントにしたがって動作する。試験対象システム300は、外部で発生したイベントを入力する場合もあるし、内部で発生したイベントを入力する場合もある。例えば、試験対象システム300がもっと大きなシステムの一部である場合、試験対象システム300は、大きなシステム内の他のシステムの動作により発生したイベントを入力して動作し、その結果として発生したイベントを他のシステムが入力するなどして、全体として協調して動作する。
試験対象システム300は、予定した順序で発生したイベントを入力することにより、所期の一連の動作をするよう、設計されている。
試験システム800は、試験対象システム300が設計通りの動作をするかを試験するシステムである。
試験仕様生成装置100は、試験仕様510を生成する。試験仕様510は、試験対象システム300を試験するため、試験対象システム300に入力するイベント、イベントの入力順序、そのイベントを入力したときに期待される試験対象システム300の動作などを表わすデータである。
試験装置200は、試験仕様生成装置100が生成した試験仕様510を入力し、試験仕様510が表わすイベントを、入力順序にしたがって発生させ、試験対象システム300に入力する。試験装置200は、イベント520を入力した試験対象システム300の動作結果530を入力し、試験対象システム300が予定通り動作したか否かを検証する。試験装置200は、検証の結果を含む試験結果540を出力する。
次に、試験仕様生成装置100の内部ブロックについて説明する。
試験仕様生成装置100は、状態遷移記憶部111と、正常イベント列生成部112と、撹乱パターン入力部121と、撹乱パターン記憶部122と、イベント列撹乱部130と、パラメータ入力部141と、パラメータ記憶部142と、パラメータ設定部150と、予定動作算出部180と、試験仕様出力部190とを有する。
状態遷移記憶部111は、磁気ディスク装置920などの記憶装置を用いて、状態遷移情報を記憶する。状態遷移情報とは、試験対象システム300の動作を、試験対象システム300の状態遷移として捉えたものである。
図4は、この実施の形態における状態遷移記憶部111が記憶した状態遷移情報610の一例を示す図である。
状態遷移情報610は、状態611、イベント612、動作613、遷移先状態614、滞留時間615を含む。
状態611は、試験対象システム300の状態を表わす。この例では、試験対象システム300は、3つの状態「S1」「S2」「S3」を持つ。
イベント612は、試験対象システム300が入力するイベントを表わす。この例では、試験対象システム300は、4種類のイベント「evt1」「evt2」「evt3」「evt4」を入力する。
動作613は、試験対象システム300がある状態であるときに、あるイベントを入力したときの動作を表わす。また、遷移先状態614は、試験対象システム300がある状態であるときに、あるイベントを入力したあと、遷移する次の状態を表わす。
この例では、例えば、試験対象システム300が状態「S2」のときにイベント「evt2」を入力すると、試験対象システム300は、動作「act2」を実行し、その後、状態「S3」に遷移する。
なお、「/」は、試験対象システム300がそのイベントを入力しても、無視し、動作も遷移もしないことを表わす。例えば、試験対象システム300が状態「S3」のときにイベント「evt1」を入力しても、試験対象システム300は無視し、状態「S3」のまま、次のイベントの入力を待つ。
また、「×」は、試験対象システム300がその状態のときにそのイベントを入力することが設計上起こり得ないことを表わす。例えば、試験対象システム300が状態「S1」のときにイベント「evt4」を入力することはあり得ない。したがって、もし、状態「S1]のときにイベント「evt4」を入力したのであれば、なんらかの異常が発生しているので、試験対象システム300は、エラー処理を実行する。
滞留時間615は、試験対象システム300がその状態に留まることができる最大時間を表わす。例えば、なんらかの異常で試験対象システム300が次に入力すべきイベントを入力できない場合、試験対象システム300は、滞留時間615まで待ち、その後、初期状態に戻る。滞留時間615は、試験対象システム300がイベントを入力するタイミングに関する制約条件(時間制約)の一例である。時間制約とは、試験対象システムの動作仕様に対して規定する、タイミングに関して満たすべき条件を定義したものである。このほか制約条件には、ある状態に遷移してから次のイベントを入力する準備が整い、イベントを入力できるようになるまでの最小時間などがある。試験対象システム300は、例えば、最小時間が経過する前に入力したイベントは無視してよい。
図4に示した状態遷移図は、この例における状態遷移情報610が表わす試験対象システム300の動作を表わすものである。ここで、「prm1」は、試験対象システム300が、イベント「evt1」とともに入力するイベントのパラメータを表わす。「prm2」「prm3−1」「prm3−2」「prm4」も同様である。
なお、状態遷移情報610は、試験対象システム300の動作を設計段階で定義するものである。試験対象システム300は、外部から見て、状態遷移情報610で定義された動作と同じ動作をすればよく、必ずしも、試験対象システム300の内部で状態「S1」「S2」「S3」を管理している必要はない。
図3に戻り、試験仕様生成装置100の内部ブロックの説明を続ける。
正常イベント列生成部112(状態遷移解析部)は、状態遷移記憶部111が記憶した状態遷移情報610に基づいて、正常イベント列を生成する。正常イベント列とは、試験対象システム300が正常に動作することを予定している順序をイベントの入力順序とするイベント列のことである。イベント列とは、試験対象システム300に入力する一連のイベントを表わす情報である。
図5は、この実施の形態における正常イベント列生成部112が生成する正常イベント列の一例を表わす図である。
図4に示した状態遷移情報610によれば、試験対象システム300は、まず、状態「S1」になる。状態「S1」において試験対象システム300が入力を予定しているイベントは「evt1」だけである。試験対象システム300がイベント「evt1」を入力すると、動作「act1」を実行して、状態「S2」になる。状態「S2」において試験対象システム300が入力を予定しているイベントは「evt2」「evt3」の2種類がある。イベント「evt3」を入力した場合は、動作「act3」を実行後、再び状態「S2」になる。イベント「evt2」を入力した場合は、動作「act2」を実行後、状態「S3」になる。状態「S3」において試験対象システム300が入力を予定しているイベントは「evt4」である。試験対象システム300は、イベント「evt4」を入力すると、動作「act4」を実行して、終了状態になる。
したがって、試験対象システム300は、「evt1」「evt2」「evt4」の順で3つのイベントを入力した場合、正常に動作するはずである。また、「evt1」「evt3」「evt2」「evt4」の順で4つのイベントを入力しても、正常に動作することを予定している。同様に、「evt1」「evt3」「evt3」「evt2」「evt4」の順で5つのイベントを入力してもよい。
このように、試験対象システム300が正常に動作することを予定しているイベントの入力順序は限られている。
試験対象システム300の試験には、大きく分けて2種類の試験がある。一つは、正常に動作することを予定している順序でイベントを入力した際に、予定通りの動作をするかを調べる試験(機能試験)である。もう一つは、なんらかの異常により異なる順序でイベントを入力した際に、間違った動作をしないかを調べる試験(異常対応試験)である。
正常イベント列生成部112が生成する正常イベント列は、機能試験に用いるものである。すなわち、正常イベント列が表わす一連のイベントを、その順序にしたがって試験対象システム300に入力すれば、試験対象システム300が正常に動作することが予定されている。
正常イベント列生成部112は、CPU911などの処理装置を用いて、状態遷移記憶部111が記憶した状態遷移情報610を入力する。
正常イベント列生成部112は、CPU911などの処理装置を用いて、入力した状態遷移情報610に基づいて、正常イベント列を生成する。
正常イベント列生成部112は、CPU911などの処理装置を用いて、生成した正常イベント列を出力する。
正常イベント列生成部112は、例えば、状態遷移情報610が表わす状態の遷移を、初期状態から終了状態まで辿ることにより、試験対象システム300が予定しているイベントの入力順序を求め、正常イベント列を生成する。
この例において、状態「S2」は、複数種のイベントを入力する可能性がある状態である。このような場合、分岐が発生するので正常イベント列は1つとは限らない。その場合、正常イベント列生成部112は、複数の正常イベント列を生成する。
また、この例にはループがあるので、正常イベント列は無限に存在する。正常イベント列生成部112が生成する正常イベント列の数の上限をあらかじめ設定しておくか、1つの正常イベント列に含まれるイベントの数の上限をあらかじめ設定しておくなどして、正常イベント列生成部112が生成する正常イベント列の数を制限してもよい。
図3に戻り、試験仕様生成装置100の内部ブロックの説明を続ける。
撹乱パターン入力部121(イベント順序パターン管理部)は、キーボード902などの入力装置を用いて、撹乱パターン(イベント順序パターン)を入力する。
撹乱パターン記憶部122は、磁気ディスク装置920などの記憶装置を用いて、撹乱パターン入力部121が入力した撹乱パターンを記憶する。
イベント列撹乱部130(制約に関する試験仕様生成部)は、撹乱パターン記憶部122が記憶した撹乱パターンに基づいて、正常イベント列生成部112が生成した正常イベント列を撹乱して、撹乱イベント列を生成する。
ここで、撹乱とは、イベント列が表わすイベントの入力順序を変更したり、一部のイベントを重複させたり、一部のイベントを欠落させたりすることである。
撹乱パターンとは、イベント列をどのように撹乱するかを表わす情報である。
イベント列撹乱部130が生成する撹乱イベント列は、異常対応試験に用いるものである。すなわち、撹乱イベント列が表わす一連のイベントを、その順序にしたがって試験対象システム300に入力したとき、試験対象システム300が間違った動作をしないかを試験するために用いる。
イベント列撹乱部130は、CPU911などの処理装置を用いて、正常イベント列生成部112が生成した正常イベント列を入力する。
イベント列撹乱部130は、CPU911などの処理装置を用いて、撹乱パターン記憶部122が記憶した撹乱パターンを入力する。
イベント列撹乱部130は、CPU911などの処理装置を用いて、入力した撹乱パターンにしたがって、入力した正常イベント列を撹乱して、撹乱イベント列を生成する。
イベント列撹乱部130は、CPU911などの処理装置を用いて、生成した撹乱イベント列を出力する。
図6は、この実施の形態におけるイベント列撹乱部130が撹乱した撹乱イベント列の一例を示す図である。
例えば、イベント列撹乱部130が正常イベント列として、「evt1」「evt3」「evt2」「evt4」という順序の4つのイベントからなるイベント列を入力したとする。
イベント列撹乱部130は、例えば、イベント列の順序を変更して(逆転処理)、「evt3」「evt1」「evt2」「evt4」という順序の4つのイベントからなる撹乱イベント列を生成する。あるいは、イベント列撹乱部130は、イベントを重複させて(重複処理)、「evt1」「evt1」「evt3」「evt2」「evt4」という順序の5つのイベントからなる撹乱イベント列を生成する。あるいは、イベント列撹乱部130は、イベントを削除して(欠落処理)、「evt3」「evt2」「evt4」という順序の3つのイベントからなる撹乱イベント列を生成する。また、イベント列撹乱部130は、逆転処理・重複処理・欠落処理を組み合わせて、イベント列を撹乱し、撹乱イベント列を生成してもよい。
イベント列撹乱部130は、このように様々な方法でイベント列を撹乱し、撹乱イベント列を生成する。イベント列撹乱部130は、1つの正常イベント列から、様々な撹乱イベント列を生成する。
図3に戻り、試験仕様生成装置100の内部ブロックの説明を続ける。
パラメータ入力部141は、キーボード902などの入力装置を用いて、イベントのパラメータの設定パターンを入力する。
パラメータ記憶部142は、磁気ディスク装置920などの記憶装置を用いて、パラメータ入力部141が入力したパラメータの設定パターンを記憶する。
パラメータ設定部150は、CPU911などの処理装置を用いて、パラメータ記憶部142が記憶したパラメータの設定パターンに基づいて、イベント列撹乱部130が生成した撹乱イベント列が表わす一連のイベントの各イベントについて、パラメータを設定する。
パラメータの設定パターンには、例えば、各イベントの各パラメータが取り得る値の範囲に上限と下限があるものとして、「すべてのパラメータを上限値に設定する」「すべてのパラメータを下限値に設定する」「1つのパラメータを上限値より大きい値に設定し、他のパラメータを上限値に設定する」などがある。
図7は、この実施の形態におけるパラメータ設定部150が生成する試験手順の一例を表わす図である。
試験手順とは、イベント列が表わす一連のイベントの各イベントに、パラメータ設定部150が設定したパラメータを付けたものである。
この例では、パラメータ記憶部142が「すべてのパラメータを上限値に設定する」「すべてのパラメータを下限値に設定する」の2つの設定パターンを記憶している。パラメータ設定部150は、パラメータ記憶部142が記憶した設定パターンに基づいて、1つの撹乱イベント列から、設定パターンの数と同じ2つの試験手順を生成する。すなわち、パラメータ設定部150が生成する試験手順の数は、(撹乱イベント列の数)×(パラメータ設定パターンの数)となる。
パラメータ設定部150は、CPU911などの処理装置を用いて、イベント列撹乱部130が出力した撹乱イベント列を入力する。
パラメータ設定部150は、CPU911などの処理装置を用いて、パラメータ記憶部142が記憶したパラメータの設定パターンを入力する。
パラメータ設定部150は、CPU911などの処理装置を用いて、入力した設定パターンに基づいて、入力した撹乱イベント列が表わす各イベントのパラメータを設定する。
パラメータ設定部150は、CPU911などの処理装置を用いて、入力した撹乱イベント列と設定したパラメータとを含む試験手順を出力する。
図3に戻り、試験仕様生成装置100の内部ブロックの説明を続ける。
予定動作算出部180は、CPU911などの処理装置を用いて、状態遷移記憶部111が記憶した状態遷移情報に基づいて、パラメータ設定部150が出力した試験手順にしたがって試験対象システム300にイベントを入力した場合に予定される試験対象システム300の動作(試験規格)を算出する。試験対象システム300が設計通りであれば、試験対象システム300は試験規格と一致する動作をするはずである。
予定動作算出部180は、CPU911などの処理装置を用いて、状態遷移記憶部111が記憶した状態遷移情報を入力する。
予定動作算出部180は、CPU911などの処理装置を用いて、パラメータ設定部150が出力した試験手順(撹乱イベント列及びパラメータ)を入力する。
予定動作算出部180は、CPU911などの処理装置を用いて、入力した状態遷移情報に基づいて、入力した試験手順に対する試験規格(予定動作)を算出する。
予定動作算出部180は、CPU911などの処理装置を用いて、算出した試験規格(予定動作)を出力する。
試験仕様出力部190は、CPU911などの処理装置を用いて、試験仕様を生成する。試験仕様は、パラメータ設定部150が生成した試験手順(撹乱イベント列及びパラメータ)と、予定動作算出部180が算出した試験規格(予定動作)とを含む。
図8は、この実施の形態における試験仕様出力部190が出力する試験仕様の一例を示す図である。
このうち、「試験規格」の部分が、予定動作算出部180が算出した試験規格である。
図4に示した状態遷移情報610のとおりに試験対象システム300が動作すると仮定し、試験手順名「手順2逆転1上限」が示す試験手順にしたがって、試験対象システムにイベントを入力したとする。まず、イベント「evt3(prm3−1=max,prm3−2=max)」を入力した試験対象システム300は、初期状態において状態「S1」であるから、イベント「evt3」を無視する。すなわち、試験対象システム300はなんの動作もしない。ここでは、試験対象システム300がなんの動作もしないことを「nop」と表わしている。
次に、イベント「evt1(prm1=max)」を入力すると、試験対象システム300は、動作「act1」を実行し、状態「S2」へ遷移する。
次に、イベント「evt2(prm2=max)」を入力すると、試験対象システム300は、動作「act2」を実行し、状態「S3」へ遷移する。
次に、イベント「evt4(prm4=max)」を入力すると、試験対象システム300は、動作「act4」を実行し、終了状態へ遷移する。
このように、予定動作算出部180は、入力した状態遷移情報に基づいて、試験手順(撹乱イベント列)が表わす一連のイベントを試験対象システム300に入力した場合における試験対象システム300の状態を辿ることにより、試験規格を算出する。
試験仕様出力部190は、CPU911などの処理装置を用いて、パラメータ設定部150が出力した試験手順(撹乱イベント列及びパラメータ)を入力する。
試験仕様出力部190は、CPU911などの処理装置を用いて、予定動作算出部180が出力した試験規格(予定動作)を入力する。
試験仕様出力部190は、CPU911などの処理装置を用いて、入力した試験手順と、入力した試験規格とを含む試験仕様を生成する。
試験仕様出力部190は、CPU911などの処理装置を用いて、生成した試験仕様を出力する。
図3に戻り、試験装置200の内部ブロックについて説明する。
試験装置200は、イベント発生部210と、動作検証部220とを有する。
イベント発生部210は、CPU911などの処理装置を用いて、試験仕様生成装置100が生成した試験仕様に基づいてイベント520を発生し、発生したイベント520を試験対象システム300に入力する。
動作検証部220は、CPU911などの処理装置を用いて、イベント発生部210がイベント520を入力した試験対象システム300の動作結果530と、試験仕様510に含まれる試験規格(予定動作)とを比較して、試験対象システム300が予定通りに動作したか否かを判定する。
動作検証部220は、CPU911などの処理装置を用いて、判定結果を含む試験結果540を出力する。動作検証部220が出力した試験結果540は、例えば、CRTなどの表示装置901に表示され、利用者が試験結果を確認する。
次に、イベント列撹乱部130の詳細について説明する。
図9は、この実施の形態におけるイベント列撹乱部130の詳細ブロックの一例を示す詳細ブロック図である。
イベント列撹乱部130は、イベント列記憶部131と、イベント順序変更部132と、イベント重複部133と、イベント欠落部134とを有する。
イベント列記憶部131は、磁気ディスク装置920などの記憶装置を用いて、イベント列を記憶する。イベント列記憶部131が記憶するイベント列には、正常イベント列生成部112が生成した正常イベント列551と、イベント順序変更部132・イベント重複部133・イベント欠落部134が生成した撹乱イベント列とがある。
イベント順序変更部132は、CPU911などの処理装置を用いて、撹乱パターン記憶部122が記憶した撹乱パターンを入力する。
イベント順序変更部132は、入力した撹乱パターンが表わす処理が逆転処理である場合、CPU911などの処理装置を用いて、イベント列記憶部131が記憶したイベント列を入力する。
イベント順序変更部132は、CPU911などの処理装置を用いて、入力したイベント列が表わす一連のイベントの順序を変更する。
イベント順序変更部132は、CPU911などの処理装置を用いて、一連のイベントの順序を変更したイベント列を撹乱イベント列として出力する。
このように、イベント順序変更部132は、逆転処理をする。逆転とは、試験手順を構成する入力イベントのいくつかの順序を入れ替えるパターンである。
イベント重複部133は、CPU911などの処理装置を用いて、撹乱パターン記憶部122が記憶した撹乱パターンを入力する。
イベント重複部133は、入力した撹乱パターンが表わす処理が重複処理である場合、CPU911などの処理装置を用いて、イベント列記憶部131が記憶したイベント列を入力する。
イベント重複部133は、CPU911などの処理装置を用いて、入力したイベント列が表わす一連のイベントからイベントを選択し、選択したイベントを複数回入力するように変更する。
イベント重複部133は、CPU911などの処理装置を用いて、選択したイベントを重複させたイベント列を撹乱イベント列として出力する。
このように、イベント重複部133は、重複処理をする。重複とは、試験手順を構成する入力イベントのいくつかを重複させるパターンである。
イベント欠落部134は、CPU911などの処理装置を用いて、撹乱パターン記憶部122が記憶した撹乱パターンを入力する。
イベント欠落部134は、入力した撹乱パターンが表わす処理が欠落処理である場合、CPU911などの処理装置を用いて、イベント列記憶部131が記憶したイベント列を入力する。
イベント欠落部134は、CPU911などの処理装置を用いて、入力したイベント列が表わす一連のイベントからイベントを選択し、選択したイベントを入力しないように変更する。
イベント欠落部134は、CPU911などの処理装置を用いて、イベントを削除したイベント列を撹乱イベント列として出力する。
このように、イベント欠落部134は、欠落処理をする。欠落とは、試験手順を構成する入力イベントのいくつかを欠落させるパターンである。
イベント順序変更部132・イベント重複部133・イベント欠落部134が出力した撹乱イベント列は、イベント列記憶部131が記憶する。撹乱パターン記憶部122が記憶した撹乱パターンが複数の撹乱処理の組み合わせを表わす場合、イベント順序変更部132・イベント重複部133・イベント欠落部134は、イベント列記憶部131が記憶した撹乱イベント列を入力し、入力した撹乱イベント列を更に撹乱した撹乱イベント列を生成する。
例えば、重複処理と逆転処理との組み合わせであれば、イベント列記憶部131が記憶した正常イベント列551を、イベント重複部133が撹乱して、撹乱イベント列を生成する。イベント重複部133が生成した撹乱イベント列は、正常イベント列551のイベントを重複させたものであり、イベント列記憶部131が記憶する。イベント列記憶部131が記憶した撹乱イベント列を、更に、イベント順序変更部132が撹乱して、撹乱イベント列を生成する。イベント順序変更部132が生成した撹乱イベント列は、正常イベント列551のイベントを重複させ、更に、順序を変更したものである。イベント順序変更部132が生成した撹乱イベント列をイベント列記憶部131が記憶し、撹乱イベント列552として出力する。
図10は、この実施の形態における撹乱パターン記憶部122が記憶する撹乱パターン(イベント順序パターン)の一例を示す図である。
イベント順序パターンとは、イベント入力の順序をパターン化したイベント入力パターンである。イベント順序パターンは、値が可変な部分を定義したイベント順序パラメータを含む。イベント順序パラメータには、「対象イベント数」「重複イベント数」などがある。
図10に示した撹乱パターンのうち、パターン名「逆転」は、イベント列が表わす一連のイベントのうち、3つのイベントの順序を変更する撹乱パターンを表わす。処理内容「逆転(対象イベント数=3)」のうち、「逆転」は逆転処理をすることを表わし、「対象イベント数=3」は順序を変更するイベントの数を表わす。
パターン名「重複」は、イベント列が表わす一連のイベントのうち、2つのイベントを2回ずつ重複させる撹乱パターンを表わす。処理内容「重複(対象イベント数=2,重複イベント数=2)」のうち、「重複」は重複処理をすることを表わし、「対象イベント数=2」は重複させるイベントの数を表わし、「重複イベント数=2」は重複させるイベントの重複回数を表わす。
パターン名「欠落」は、イベント列が表わす一連のイベントのうち、1つのイベントを欠落させる撹乱パターンを表わす。処理内容「欠落(対象イベント数=1)」のうち、「欠落」は欠落処理をすることを表わし、「対象イベント数=1」は欠落させるイベントの数を表わす。
パターン名「欠落&逆転」は、2種類の撹乱処理(欠落処理と逆転処理)を組み合わせる撹乱パターンを表わす。処理内容のうち1行目の「欠落(対象イベント数=1)」は、最初に欠落処理により撹乱した撹乱イベント列を生成することを表わし、2行目の「逆転(対象イベント数=2)」は、欠落処理により撹乱された撹乱イベント列を、更に、逆転処理により撹乱することを表わしている。
撹乱パターン入力部121は、キーボード902などの入力装置を用いて、パターン名や処理内容を入力する。撹乱パターン入力部121は、CRTなどの表示装置901を用いて、入力したパターン名や処理内容を表示する。利用者は、表示を見て、必要に応じてパターン名や処理内容を編集する。利用者がキーボード902などの入力装置を操作し、撹乱パターン入力部121が操作内容を入力する。撹乱パターン入力部121は、入力した利用者の操作にしたがって、撹乱パターンを追加したり変更したり削除したりする。こうして入力された撹乱パターンを、撹乱パターン記憶部122が磁気ディスク装置920などの記憶装置を用いて記憶する。
また、撹乱パターン入力部121は、その撹乱パターンに基づいて、撹乱イベント列を生成するか否かを表わすフラグを入力し、撹乱パターン記憶部122が記憶してもよい。イベント列撹乱部130は、そのフラグを見て、オンになっている撹乱パターンに基づいて撹乱イベント列を生成する。
これにより、既に入力した撹乱パターンに基づく試験をしたくないときは、その撹乱パターンを削除せず、フラグをオフにすればよい。その後、再び、その撹乱パターンに基づく試験をしたくなった場合、撹乱パターンを再び入力する必要はなく、フラグをオンにすればよい。
多数の撹乱パターンをあらかじめ入力しておけば、利用者は、そのなかから必要なものを選ぶだけでよいので、試験仕様の設計・作成工数を削減できる。また、試験仕様生成のノウハウを蓄積することができるので、試験仕様をより良いものにすることができる。
次に、試験仕様生成装置100の動作について説明する。
図11は、この実施の形態におけるイベント列撹乱部130がイベント列を撹乱する撹乱処理(順序試験仕様生成処理)の流れの一例を示すフローチャート図である。
正常イベント列入力工程S01において、イベント列記憶部131は、CPU911などの処理装置を用いて、正常イベント列生成部112が出力した正常イベント列を入力する。
イベント列記憶部131は、磁気ディスク装置920などの記憶装置を用いて、入力した正常イベント列を記憶する。
撹乱パターン取得工程S02において、イベント列撹乱部130は、CPU911などの処理装置を用いて、撹乱パターン記憶部122が記憶した撹乱パターンから、撹乱パターンを1つ取得する。
撹乱処理判定工程S03において、イベント列撹乱部130は、CPU911などの処理装置を用いて、撹乱パターン取得工程S02で取得した撹乱パターンが表わす撹乱処理の内容を判定する。なお、撹乱パターンが表わす撹乱処理の内容が組み合わせ処理である場合には、そのうち最初の処理について判定する。
撹乱パターンが表わす撹乱処理の内容が逆転処理であると判定した場合、逆転処理S04へ進む。
撹乱パターンが表わす撹乱処理の内容が重複処理であると判定した場合、重複処理S05へ進む。
撹乱パターンが表わす撹乱処理の内容が欠落処理であると判定した場合、欠落処理S06へ進む。
逆転処理S04において、イベント順序変更部132は、CPU911などの処理装置を用いて、逆転処理をする。なお、逆転処理の詳細については後述する。その後、撹乱終了判定工程S07へ進む。
重複処理S05において、イベント重複部133は、CPU911などの処理装置を用いて、重複処理をする。なお、重複処理の詳細については後述する。その後、撹乱終了判定工程S07へ進む。
欠落処理S06において、イベント欠落部134は、CPU911などの処理装置を用いて、欠落処理をする。なお、欠落処理の詳細については後述する。
撹乱終了判定工程S07において、イベント列撹乱部130は、CPU911などの処理装置を用いて、撹乱パターン取得工程S02で取得した撹乱パターンが表わす撹乱処理をすべて終了したか判定する。
撹乱パターンが表わす撹乱処理をすべて終了したと判定した場合、パターン完了判定工程S08へ進む。撹乱パターンが表わす撹乱処理をすべて終了した場合とは、例えば、撹乱パターンが表わす撹乱処理が、組み合わせ処理でない場合や、組み合わせ処理の最後の撹乱処理をした場合である。
撹乱パターンが表わす撹乱処理の途中であると判定した場合、撹乱処理判定工程S03に戻り、次の撹乱処理をする。撹乱パターンが表わす撹乱処理の途中である場合とは、例えば、撹乱パターンが表わす撹乱処理が、組み合わせ処理であって、最後の撹乱処理まで達していない場合である。
パターン完了判定工程S08において、イベント列撹乱部130が、CPU911などの処理装置を用いて、撹乱パターン記憶部122が記憶したすべての撹乱パターンについて撹乱イベント列を生成したか否かを判定する。
すべての撹乱パターンについての処理が完了したと判定した場合、撹乱イベント列整理工程S09へ進む。
まだ処理していない撹乱パターンがあると判定した場合、撹乱パターン取得工程S02に戻り、次の撹乱パターンについて処理をする。
撹乱イベント列整理工程S09において、イベント列記憶部131は、CPU911などの処理装置を用いて、記憶した撹乱イベント列のなかに同じものがないか判定し、あれば削除して1つにする。また、イベント列記憶部131は、記憶した撹乱イベント列が正常イベント列と同じ場合は、撹乱イベント列を削除して、正常イベント列だけにする。
これにより、同じ手順が除外される。
撹乱イベント列出力工程S10において、イベント列記憶部131は、CPU911などの処理装置を用いて、記憶した撹乱イベント列を出力する。
図12は、この実施の形態におけるイベント順序変更部132がイベント列を撹乱する逆転処理の流れの一例を示すフローチャート図である。
対象数取得工程S11において、イベント順序変更部132は、CPU911などの処理装置を用いて、撹乱パターン取得工程S02で取得した撹乱パターンから、対象イベント数を取得する。
ここでは、一例として、イベント順序変更部132が対象イベント数として「3」を取得した場合について説明する。
イベント列入力工程S12において、イベント順序変更部132は、CPU911などの処理装置を用いて、イベント列記憶部131が記憶したイベント列から撹乱処理の対象となるイベント列を1つ入力する。撹乱処理の対象となるイベント列とは、例えば、組み合わせ処理でない撹乱処理や、組み合わせ処理の最初の撹乱処理の場合、正常イベント列である。また、組み合わせ処理のうち最初でない撹乱処理の場合は、前の撹乱処理の結果である撹乱イベント列である。
ここでは、一例として、イベント順序変更部132がイベント列として「evt1」「evt3」「evt2」「evt4」という順序の4つのイベントからなるイベント列を入力した場合について説明する。
組み合わせ算出工程S13において、イベント順序変更部132は、CPU911などの処理装置を用いて、イベント列入力工程S12で入力したイベント列が表わす一連のイベントのなかから、対象数取得工程S11で取得した対象イベント数のイベントを選択する組み合わせを算出する。
この例において、イベント順序変更部132が「evt1」「evt3」「evt2」「evt4」の4つのイベントから3つを選択する組み合わせは、全部で4通り()ある。イベント順序変更部132は、例えば、4通りの組み合わせ{evt1,evt3,evt2}、{evt1,evt3,evt4}、{evt1,evt2,evt4}、{evt3,evt2,evt4}のうちの1つである{evt1,evt3,evt2}を算出する。
イベント選択工程S14において、イベント順序変更部132は、CPU911などの処理装置を用いて、組み合わせ算出工程S13で算出した組み合わせに含まれるイベントを選択する。
この例において、イベント順序変更部132は、算出した組み合わせ{evt1,evt3,evt2}に含まれるイベント「evt1」「evt3」「evt2」を選択する。
順序変更工程S15において、イベント順序変更部132は、CPU911などの処理装置を用いて、イベント選択工程S14で選択したイベントの順序を入れ替えたイベント列を生成する。
この例において、イベント順序変更部132は、選択した3つのイベント「evt1」「evt3」「evt2」の順序を入れ替えたイベント列を生成する。3つのイベントの順序を入れ替えたイベント列は、全部で5通り(−1)ある。イベント順序変更部132は、5通りのイベント列「evt1」「evt2」「evt3」「evt4」、「evt2」「evt1」「evt3」「evt4」、「evt2」「evt3」「evt1」「evt4」、「evt3」「evt1」「evt2」「evt4」、「evt3」「evt2」「evt1」「evt4」のうちの1つである「evt2」「evt1」「evt3」「evt4」を生成する。なお、5通りのイベント列のうち、3通りのイベント列「evt1」「evt2」「evt3」「evt4」、「evt2」「evt3」「evt1」「evt4」、「evt3」「evt1」「evt2」「evt4」は、実質的に2つのイベントの順序を入れ替えたイベント列であるから、これを除外し、残る2通りのイベント列「evt2」「evt1」「evt3」「evt4」、「evt3」「evt2」「evt1」「evt4」のなかから、イベント列を生成することとしてもよい。
イベント列記憶工程S16において、イベント列記憶部131は、磁気ディスク装置920などの記憶装置を用いて、順序変更工程S15でイベント順序変更部132が生成したイベント列を記憶する。
第一繰り返し判定工程S17において、イベント順序変更部132は、CPU911などの処理装置を用いて、順序変更工程S15で生成できるイベント列がまだあるか判定する。
順序変更工程S15で生成できるイベント列がまだあると判定した場合、順序変更工程S15に戻り、次のイベント列を生成する。
順序変更工程S15で生成できるイベント列をすべて生成したと判定した場合、第二繰り返し判定工程S18へ進む。
この例において、順序変更工程S15で生成できるイベント列は、5通り(あるいは2通り)あるので、順序変更工程S15〜生成完了判定工程S17の処理を5回(あるいは2回)繰り返して、すべての順序についてのイベント列を生成する。
第二繰り返し判定工程S18において、イベント順序変更部132は、CPU911などの処理装置を用いて、組み合わせ算出工程S13で算出できるイベントの組み合わせがまだあるか判定する。
組み合わせ算出工程S13で算出できるイベントの組み合わせがまだあると判定した場合、組み合わせ算出工程S13に戻り、次の組み合わせを算出する。
組み合わせ算出工程S13で算出できるすべての組み合わせについての処理が完了したと判定した場合、第三繰り返し判定工程S19へ進む。
この例において、組み合わせ算出工程S13で算出できる組み合わせは4通りあるので、組み合わせ算出工程S13〜第二繰り返し判定工程S18の処理を4回繰り返す。
第三繰り返し判定工程S19において、イベント順序変更部132は、CPU911などの処理装置を用いて、イベント列入力工程S12で入力できるイベント列がまだあるかを判定する。
イベント列入力工程S12で入力できるイベント列がまだあると判定した場合、イベント列入力工程S12に戻り、次のイベント列を入力する。
イベント列入力工程S12で入力できるすべてのイベント列についての処理が完了したと判定した場合、逆転処理を終了する。
図13は、この実施の形態におけるイベント重複部133がイベント列を撹乱する重複処理の流れの一例を示すフローチャート図である。
対象数取得工程S21において、イベント重複部133は、CPU911などの処理装置を用いて、撹乱パターン取得工程S02で取得した撹乱パターンから、対象イベント数を取得する。
ここでは、一例として、イベント重複部133が対象イベント数として「2」を取得した場合について説明する。
重複数取得工程S22において、イベント重複部133は、CPU911などの処理装置を用いて、撹乱パターン取得工程S02で取得した撹乱パターンから、重複イベント数を取得する。
ここでは、一例として、イベント重複部133が重複イベント数として「2」を取得した場合について説明する。
イベント列入力工程S23において、イベント重複部133は、CPU911などの処理装置を用いて、イベント列記憶部131が記憶したイベント列から撹乱処理の対象となるイベント列を1つ入力する。
ここでは、一例として、イベント重複部133がイベント列として「evt1」「evt3」「evt2」「evt4」という順序の4つのイベントからなるイベント列を入力した場合について説明する。
組み合わせ算出工程S24において、イベント重複部133は、CPU911などの処理装置を用いて、イベント列入力工程S23で入力したイベント列が表わす一連のイベントのなかから、対象数取得工程S21で取得した対象イベント数のイベントを選択する組み合わせを算出する。
この例において、イベント重複部133が「evt1」「evt3」「evt2」「evt4」の4つのイベントから2つを選択する組み合わせは、全部で6通り()ある。イベント重複部133は、例えば、6通りの組み合わせ{evt1,evt3}、{evt1,evt2}、{evt1,evt4}、{evt3,evt2}、{evt3,evt4}、{evt2,evt4}のうちの1つである{evt1,evt3}を算出する。
イベント選択工程S25において、イベント重複部133は、CPU911などの処理装置を用いて、組み合わせ算出工程S24で算出した組み合わせに含まれるイベントを選択する。
この例において、イベント重複部133は、算出した組み合わせ{evt1,evt3}に含まれるイベント「evt1」「evt3」を選択する。
重複工程S26において、イベント重複部133は、CPU911などの処理装置を用いて、イベント選択工程S25で選択したイベントを、重複数取得工程S22で取得した重複イベント数の回数繰り返し入力するよう重複させたイベント列を生成する。
この例において、イベント重複部133は、選択した2つのイベント「evt1」「evt3」を2回ずつ重複させたイベント列「evt1」「evt1」「evt3」「evt3」「evt2」[evt4」を生成する。
イベント列記憶工程S27において、イベント列記憶部131は、磁気ディスク装置920などの記憶装置を用いて、重複工程S26でイベント重複部133が生成したイベント列を記憶する。
第二繰り返し判定工程S28において、イベント重複部133は、CPU911などの処理装置を用いて、組み合わせ算出工程S24で算出できるイベントの組み合わせがまだあるか判定する。
組み合わせ算出工程S24で算出できるイベントの組み合わせがまだあると判定した場合、組み合わせ算出工程S24に戻り、次の組み合わせを算出する。
組み合わせ算出工程S24で算出できるすべての組み合わせについての処理が完了したと判定した場合、第三繰り返し判定工程S29へ進む。
この例において、組み合わせ算出工程S24で算出できる組み合わせは6通りあるので、組み合わせ算出工程S24〜第二繰り返し判定工程S28の処理を6回繰り返す。
第三繰り返し判定工程S29において、イベント重複部133は、CPU911などの処理装置を用いて、イベント列入力工程S23で入力できるイベント列がまだあるかを判定する。
イベント列入力工程S23で入力できるイベント列がまだあると判定した場合、イベント列入力工程S23に戻り、次のイベント列を入力する。
イベント列入力工程S23で入力できるすべてのイベント列についての処理が完了したと判定した場合、重複処理を終了する。
図14は、この実施の形態におけるイベント欠落部134がイベント列を撹乱する欠落処理の流れの一例を示すフローチャート図である。
対象数取得工程S31において、イベント欠落部134は、CPU911などの処理装置を用いて、撹乱パターン取得工程S02で取得した撹乱パターンから、対象イベント数を取得する。
ここでは、一例として、イベント欠落部134が対象イベント数として「1」を取得した場合について説明する。
イベント列入力工程S32において、イベント欠落部134は、CPU911などの処理装置を用いて、イベント列記憶部131が記憶したイベント列から撹乱処理の対象となるイベント列を1つ入力する。
ここでは、一例として、イベント欠落部134がイベント列として「evt1」「evt3」「evt2」「evt4」という順序の4つのイベントからなるイベント列を入力した場合について説明する。
組み合わせ算出工程S33において、イベント欠落部134は、CPU911などの処理装置を用いて、イベント列入力工程S32で入力したイベント列が表わす一連のイベントのなかから、対象数取得工程S31で取得した対象イベント数のイベントを選択する組み合わせを算出する。
この例において、イベント欠落部134が「evt1」「evt3」「evt2」「evt4」の4つのイベントから1つを選択する組み合わせは、全部で4通り()ある。イベント欠落部134は、例えば、4通りの組み合わせ{evt1}、{evt3}、{evt4}、{evt2}のうちの1つである{evt1}を算出する。
イベント選択工程S34において、イベント欠落部134は、CPU911などの処理装置を用いて、組み合わせ算出工程S33で算出した組み合わせに含まれるイベントを選択する。
この例において、イベント欠落部134は、算出した組み合わせ{evt1}に含まれるイベント「evt1」を選択する。
欠落工程S35において、イベント欠落部134は、CPU911などの処理装置を用いて、イベント選択工程S34で選択したイベントを入力しないよう、欠落させたイベント列を生成する。
この例において、イベント欠落部134は、選択した1つのイベント「evt1」を削除したイベント列「evt3」「evt2」[evt4」を生成する。
イベント列記憶工程S36において、イベント列記憶部131は、磁気ディスク装置920などの記憶装置を用いて、欠落工程S35でイベント欠落部134が生成したイベント列を記憶する。
第二繰り返し判定工程S37において、イベント欠落部134は、CPU911などの処理装置を用いて、組み合わせ算出工程S33で算出できるイベントの組み合わせがまだあるか判定する。
組み合わせ算出工程S33で算出できるイベントの組み合わせがまだあると判定した場合、組み合わせ算出工程S33に戻り、次の組み合わせを算出する。
組み合わせ算出工程S33で算出できるすべての組み合わせについての処理が完了したと判定した場合、第三繰り返し判定工程S38へ進む。
この例において、組み合わせ算出工程S33で算出できる組み合わせは4通りあるので、組み合わせ算出工程S33〜第二繰り返し判定工程S37の処理を4回繰り返す。
第三繰り返し判定工程S38において、イベント欠落部134は、CPU911などの処理装置を用いて、イベント列入力工程S32で入力できるイベント列がまだあるかを判定する。
イベント列入力工程S32で入力できるイベント列がまだあると判定した場合、イベント列入力工程S32に戻り、次のイベント列を入力する。
イベント列入力工程S32で入力できるすべてのイベント列についての処理が完了したと判定した場合、欠落処理を終了する。
以上のようにして、イベント列撹乱部130は、撹乱イベント列を生成する。
図15〜図18は、この実施の形態における試験仕様生成装置100が出力する試験仕様の一例を示す図である。
この例に示した試験仕様は、図10に示した3つの撹乱パターンに基づいて、イベント列撹乱部130が正常イベント列の一つである「evt1」「evt3」「evt2」「evt4」を撹乱し、パラメータ設定部150がパラメータの設定パターンの一つである「上限」に基づいてパラメータを設定したものである。
なお、この例では、もとの正常イベント列から生成した試験仕様(試験分類「機能試験」)も一緒に出力している。異常対応試験と同時に、機能試験も行うためである。しかし、試験仕様生成装置100は、正常イベント列に基づく試験仕様は出力しないこととしてもよい。
この例において、試験仕様生成装置100は、一つの正常イベント列・一つの設定パターンから、32個の試験仕様を生成する。このうち、撹乱パターン「逆転」に基づいて生成したものが14個、撹乱パターン「重複」に基づいて生成したものが6個、撹乱パターン「欠落&逆転」に基づいて生成したものが12個である。
また、パラメータの設定パターンが複数あれば、その分、試験仕様の数が増える。例えば、パラメータの設定パターンが5個あれば、試験仕様の数は5倍の160個になる。更に、正常イベント列も一つではないので、試験仕様生成装置100は多くの数の試験仕様を生成する。
このように、あらかじめ撹乱パターン入力部121が入力した撹乱パターンに基づいて撹乱したすべての撹乱イベント列を、イベント列撹乱部130が生成し、生成した撹乱イベント列を含む試験手順を、試験仕様出力部190が出力するので、漏れのない網羅的な試験を実施することができる。これにより、試験手順を作成する手間が軽減されるだけでなく、試験漏れがないので、試験結果の信頼性を高めることができる。
この実施の形態における試験仕様生成装置100は、
入力したイベントにしたがって動作する試験対象システム300が所期の動作をするか否かを試験するため、試験対象システム300に入力する一連のイベントを表わすイベント列を含む試験仕様510を生成する試験仕様生成装置100において、
情報を処理するCPU911などの処理装置と、イベント列撹乱部130と、試験仕様出力部190とを有することを特徴とする。
イベント列撹乱部130は、CPU911などの処理装置を用いて、イベント列(正常イベント列551)を入力し、入力したイベント列を撹乱して、撹乱イベント列552とすることを特徴とする。
試験仕様出力部190は、CPU911などの処理装置を用いて、イベント列撹乱部130が撹乱した撹乱イベント列552をイベント列として含む試験仕様510を出力することを特徴とする。
この実施の形態における試験仕様生成装置100によれば、イベント列撹乱部130がイベント列を撹乱して撹乱イベント列を生成し、生成した撹乱イベント列を含む試験仕様を、試験仕様出力部190が出力するので、異常な順序でイベントを入力した場合における試験対象システム300の動作を試験することができるという効果を奏する。
この実施の形態におけるイベント列撹乱部130は、イベント順序変更部132を有することを特徴とする。
イベント順序変更部132は、CPU911などの処理装置を用いて、入力したイベント列が表わす一連のイベントの順序を変更して、撹乱イベント列を生成することを特徴とする。
この実施の形態における試験仕様生成装置100によれば、イベント順序変更部132が一連のイベントの順序を変更して撹乱イベント列を生成するので、微妙なタイミングの違いなどによりイベントの入力順序が違った場合における試験対象システム300の動作を試験することができるという効果を奏する。
この実施の形態におけるイベント列撹乱部130は、イベント重複部133を有することを特徴とする。
イベント重複部133は、CPU911などの処理装置を用いて、入力したイベント列が表わす一連のイベントのうちから選択したイベントを重複させて、撹乱イベント列を生成することを特徴とする。
この実施の形態における試験仕様生成装置100によれば、イベント重複部133が一連のイベントから選択したイベントを重複させて、撹乱イベント列を生成するので、なんらかの不具合で同じイベントを重複して入力した場合における試験対象システム300の動作を試験することができるという効果を奏する。
この実施の形態におけるイベント列撹乱部130は、イベント欠落部134を有することを特徴とする。
イベント欠落部134は、CPU911などの処理装置を用いて、入力したイベント列が表わす一連のイベントのうちから選択したイベントを削除して、撹乱イベント列を生成することを特徴とする。
この実施の形態における試験仕様生成装置100によれば、イベント欠落部134が一連のイベントのうちから選択したイベントを削除して、撹乱イベント列を生成するので、なんらかの不具合で入力すべきイベントを入力できなかった場合における試験対象システム300の動作を試験することができるという効果を奏する。
この実施の形態における試験仕様生成装置100は、更に、正常イベント列生成部112を有することを特徴とする。
正常イベント列生成部112は、CPU911などの処理装置を用いて、試験対象システム300が正常に動作することを予定している順序を、一連のイベントの順序とするイベント列を生成して、正常イベント列551とすることを特徴とする。
イベント列撹乱部130は、CPU911などの処理装置を用いて、正常イベント列生成部112が生成した正常イベント列551を入力することを特徴とする。
この実施の形態における試験仕様生成装置100によれば、正常イベント列生成部112が生成した正常イベント列を、イベント列撹乱部130が撹乱して撹乱イベント列を生成するので、試験対象システム300が実際に運用されている場合に発生し得る異常な順序のイベントを入力した場合における試験対象システム300の動作を試験することができるという効果を奏する。
この実施の形態における試験仕様生成装置100は、更に、情報を記憶する磁気ディスク装置920などの記憶装置と、状態遷移記憶部111とを有することを特徴とする。
状態遷移記憶部111は、磁気ディスク装置920などの記憶装置を用いて、試験対象システム300の状態611と、上記状態において試験対象システム300が入力するイベント612と、上記状態において試験対象システム300が上記イベントを入力したときに遷移すべき遷移先の状態(遷移先状態614)とを表わす状態遷移情報610を記憶することを特徴とする。
正常イベント列生成部112は、CPU911などの処理装置を用いて、状態遷移記憶部111が記憶した状態遷移情報610に基づいて、正常イベント列551を生成することを特徴とする。
この実施の形態における試験仕様生成装置100によれば、状態遷移記憶部111が記憶した状態遷移情報610に基づいて、正常イベント列生成部112が正常イベント列を生成するので、試験対象システム300が正常に動作することを予定している順序のイベント列を生成できるという効果を奏する。
この実施の形態における試験仕様生成装置100は、更に、予定動作算出部180を有することを特徴とする。
状態遷移記憶部111は、磁気ディスク装置920などの記憶装置を用いて、試験対象システム300の状態611と、上記状態において試験対象システム300が入力するイベント612と、上記状態において試験対象システム300が上記イベントを入力したときにすべき動作613と、上記状態において試験対象システム300が上記イベントを入力したときに遷移すべき遷移先の状態(遷移先状態614)とを表わす状態遷移情報610を記憶することを特徴とする。
予定動作算出部180は、CPU911などの処理装置を用いて、イベント列撹乱部130が生成した撹乱イベント列552が表わす一連のイベントを試験対象システム300に入力したとき試験対象システム300がすべき動作を算出して、予定動作(試験規格)とすることを特徴とする。
試験仕様出力部190は、CPU911などの処理装置を用いて、予定動作算出部180が算出した予定動作(試験規格)を更に含む試験仕様510を出力することを特徴とする。
この実施の形態における試験仕様生成装置100によれば、状態遷移記憶部111が記憶した状態遷移情報610に基づいて、予定動作算出部180が予定動作(試験規格)を算出するので、試験対象システム300の動作結果530が予定通りか否かを容易に検証できるという効果を奏する。
この実施の形態における試験システム800は、
試験仕様生成装置100と、試験装置200とを備えることを特徴とする。
試験装置200は、情報を処理するCPU911などの処理装置と、イベント発生部210と、動作検証部220とを有することを特徴とする。
イベント発生部210は、CPU911などの処理装置を用いて、試験仕様生成装置100が出力した試験仕様510が表わす一連のイベントにしたがって、試験対象システム300にイベント520を入力することを特徴とする。
動作検証部220は、CPU911などの処理装置を用いて、イベント発生部210がイベントを入力した試験対象システム300の動作結果530を入力し、入力した動作結果が予定通りか否かを判定することを特徴とする。
この実施の形態における試験システム800によれば、試験仕様生成装置100が生成した試験仕様510に基づいて、イベント発生部210がイベント520を試験対象システム300に入力し、その結果を動作検証部220が検証するので、試験対象システム300が正しく動作するか否かを容易に試験できるという効果を奏する。
この実施の形態における試験仕様生成装置100が試験仕様を生成する試験仕様生成方法は、
情報を処理するCPU911などの処理装置を有する試験仕様生成装置100が、入力したイベントにしたがって動作する試験対象システム300が所期の動作をするか否かを試験するため、試験対象システム300に入力する一連のイベントを表わすイベント列を含む試験仕様510を生成する試験仕様生成方法において、
CPU911などの処理装置が、イベント列(正常イベント列551)を入力することを特徴とする。
CPU911などの処理装置が、入力したイベント列を撹乱して、撹乱イベント列552とすることを特徴とする。
CPU911などの処理装置が、撹乱した撹乱イベント列をイベント列として含む試験仕様510を出力することを特徴とする。
この実施の形態における試験仕様生成方法によれば、CPU911などの処理装置が、イベント列を撹乱して撹乱イベント列を生成し、生成した撹乱イベント列を含む試験仕様を出力するので、異常な順序でイベントを入力した場合における試験対象システム300の動作を試験することができるという効果を奏する。
この実施の形態における試験仕様生成装置100は、情報を処理するCPU911などの処理装置を有するコンピュータをこの実施の形態における試験仕様生成装置100として機能させるプログラムをコンピュータが実行することにより、実現することができる。
この実施の形態におけるプログラムによれば、異常な順序でイベントを入力した場合における試験対象システム300の動作を試験できる試験仕様を生成する試験仕様生成装置100を実現することができるという効果を奏する。
以上説明した試験仕様の自動生成方式は、
試験対象システム300の動作仕様を検証するための試験仕様を生成する試験仕様生成装置100において、
試験対象システム300へのイベント入力の順序に関する制約をパターン化したイベント順序パターン(撹乱パターン)を用い、
イベント順序パターンの中で値が可変な部分をイベント順序パラメータとして定義し、
試験対象システムの動作仕様を記述した状態遷移図を解析する解析部(正常イベント列生成部112・予定動作算出部180)と、
状態遷移図に定義した制約を解析する解析部(予定動作算出部180)と、
状態遷移図を元に試験手順(正常イベント列)を抽出する抽出部(正常イベント列生成部112)と、
試験手順を構成するイベントに対する試験規格を指定する指定部(予定動作算出部180)と、
試験手順、制約、イベント順序パターン、イベント順序パラメータを組み合わせて制約に関する試験手順(撹乱イベント列)を生成する生成部(イベント列撹乱部130)と、
生成した試験手順を集約して試験仕様を出力する出力部(試験仕様出力部190)と、
を備えることを特徴とする。
以上説明した試験仕様の自動生成方式は、また、
イベント順序パターン(撹乱パターン)を用い、試験手順を構成するイベントの順序を逆転させた試験仕様を生成することを特徴とする。
以上説明した試験仕様の自動生成方式は、また、
イベント順序パターン(撹乱パターン)を用い、試験手順を構成するイベントを重複させた試験仕様を生成することを特徴とする。
以上説明した試験仕様の自動生成方式は、また、
イベント順序パターン(撹乱パターン)を用い、試験手順を構成するイベントを欠落させた試験仕様を生成することを特徴とする。
これにより、試験対象システムの状態遷移図とシステムへのイベント入力の順序のパターンから、順序に関する試験仕様を自動生成するため、試験仕様の設計・作成工数を削減できる。
また、試験対象システムへのイベント入力の順序として考えられる、さまざまな組合せに関する試験仕様を生成するので、順序とタイミングに関するシステム動作の検証もれを防ぎ、残存不具合を減らすことができる。
特に、異常なイベント列の入力により発生する不具合を検証できるので、試験仕様の有効性を確保できる。
以上説明した試験仕様の自動生成方式は、また、
試験対象システム300の動作仕様を検証するための試験仕様を生成する試験仕様生成装置において、
イベント順序パターンを管理する管理部(撹乱パターン入力部121・撹乱パターン記憶部122)と、
イベント順序パラメータを管理する管理部(撹乱パターン入力部121・撹乱パターン記憶部122)と、
試験仕様生成処理(撹乱処理)を管理する管理部(撹乱パターン入力部121・撹乱パターン記憶部122)と、
を備えることを特徴とする。
以上説明した試験仕様の自動生成方式は、また、
定義済みのイベント入力パターンの組み合わせを追加する追加部(撹乱パターン入力部121・撹乱パターン記憶部122)と、
定義済みのイベント入力パラメータの組み合わせを追加する追加部(撹乱パターン入力部121・撹乱パターン記憶部122)と、
定義済みの試験仕様生成処理(撹乱処理)の組み合わせを追加する追加部(撹乱パターン入力部121・撹乱パターン記憶部122)と、
を備えることを特徴とする。
これにより、試験対象システム300の試験仕様を生成するためのイベント入力のパターンおよびパラメータ、これに関する試験仕様生成処理を、試験仕様生成のノウハウとして蓄積できるので、試験仕様の設計・作成工数を削減できる。
また、試験対象システムの試験仕様を生成するためのイベント入力のパターンおよびパラメータ、これに関する試験仕様生成処理をより良いものへと保守できるので、制約に関するシステム動作の検証もれを防ぎ、残存不具合を減らすことができる。
実施の形態2.
実施の形態2について、図19〜図31を用いて説明する。
図19は、この実施の形態における試験システム800の全体構成の一例を示すシステム構成図である。
なお、実施の形態1で説明した試験システム800の機能ブロックと共通する部分については、同一の符号を付し、ここでは説明を省略する。
試験仕様生成装置100は、状態遷移記憶部111と、正常イベント列生成部112と、パラメータ入力部141と、パラメータ記憶部142と、パラメータ設定部150と、タイミングパターン入力部161と、タイミングパターン記憶部162と、タイミング設定部170と、予定動作算出部180と、試験仕様出力部190とを有する。
パラメータ設定部150は、CPU911などの処理装置を用いて、正常イベント列生成部112が出力した正常イベント列を入力し、パラメータ記憶部142が記憶したパラメータの設定パターンに基づいてパラメータを設定し、入力した正常イベント列と設定したパラメータとを含む試験手順を出力する。
タイミングパターン入力部161(イベント到着パターン管理部)は、キーボード902などの入力装置を用いて、タイミングパターン(イベント到着パターン)を入力する。
タイミングパターン記憶部162は、磁気ディスク装置920などの記憶装置を用いて、タイミングパターン入力部161が入力したタイミングパターンを記憶する。
タイミング設定部170(制約に関する試験仕様生成部)は、CPU911などの処理装置を用いて、タイミングパターン記憶部162が記憶したタイミングパターンに基づいて、パラメータ設定部150が生成した試験手順に含まれる正常イベント列が表わす一連のイベントの各イベントについて、入力タイミングを設定する。入力タイミングとは、試験対象システム300にイベントを入力するタイミングである。
試験対象システム300に同じ順序でイベントを入力しても、微妙なタイミングの違いにより、異なる動作をする可能性がある。この実施の形態における試験仕様生成装置100は、イベントを入力するタイミングを考慮した試験仕様を生成することにより、試験対象システム300の動作をより綿密に試験できるようにする。
タイミング設定部170は、CPU911などの処理装置を用いて、タイミングパターン記憶部162が記憶したタイミングパターンを入力する。
タイミング設定部170は、CPU911などの処理装置を用いて、パラメータ設定部150が出力した試験手順を入力する。パラメータ設定部150が出力した試験手順には、正常イベント列生成部112が出力した正常イベント列と、パラメータ設定部150が設定したパラメータとが含まれている。
タイミング設定部170は、CPU911などの処理装置を用いて、入力したタイミングパターンに基づいて、入力した試験手順に含まれる正常イベント列が表わす一連のイベントの各イベントについて、入力タイミングを設定する。
タイミング設定部170は、CPU911などの処理装置を用いて、入力した試験手順と、設定した入力タイミングとを出力する。
予定動作算出部180は、CPU911などの処理装置を用いて、状態遷移記憶部111が記憶した状態遷移情報に基づいて、タイミング設定部170が出力した試験手順と入力タイミングとにしたがって試験対象システム300にイベントを入力した場合に予定される試験対象システム300の動作(試験規格)を算出する。
ここで、試験手順は、正常イベント列をもとに生成したものなので、イベントの順序は、試験対象システム300が正常に動作することを予定している順序である。しかし、イベントを入力するタイミングは、滞留時間(制約条件)内であるとは限らないので、予定動作が異なる場合がある。
予定動作算出部180は、CPU911などの処理装置を用いて、状態遷移記憶部111が記憶した状態遷移情報を入力する。
予定動作算出部180は、CPU911などの処理装置を用いて、タイミング設定部170が出力した試験手順(正常イベント列及びパラメータ)と入力タイミングとを入力する。
予定動作算出部180は、CPU911などの処理装置を用いて、入力した状態遷移情報に基づいて、入力した試験手順に対する試験規格(予定動作)を算出する。このとき、予定動作算出部180は、状態遷移情報に含まれる滞留時間(制約条件)についての情報に基づいて、入力タイミングにしたがって試験対象システム300にイベントを入力した場合の試験規格(予定動作)を算出する。
予定動作算出部180は、CPU911などの処理装置を用いて、算出した試験規格(予定動作)を出力する。
試験仕様出力部190は、CPU911などの処理装置を用いて、タイミング設定部170が出力した試験手順と入力タイミングと、予定動作算出部180が出力した試験規格(予定動作)とを入力する。
試験仕様出力部190は、CPU911などの処理装置を用いて、入力した試験手順と入力タイミングと試験規格とを含む試験仕様を生成する。
試験仕様出力部190は、CPU911などの処理装置を用いて、生成した試験仕様510を出力する。
図20は、この実施の形態における試験仕様出力部190が出力する試験仕様510の一例を示す図である。
実施の形態1で説明した試験仕様と比較すると、入力タイミングの欄が増えている。
この例において、入力タイミングは、前のイベントを入力してからの経過時間を用いて表わされている。例えば、試験手順名「手順2上限周期1」において、2番目のイベント「evt3」は、1番目のイベント「evt1」を入力してから、時間「t1」が経過した後に入力することを示している。
また、この例において、時間「t1」は、状態「S2」の滞留時間「T2」より長いものとする。イベント「evt3」は、状態「S2」の滞留時間「T2」より長い間隔「t1」が経過した後に入力するので、イベント「evt3」の入力前に状態「S2」の滞留時間「T2」が経過する。滞留時間が経過した場合、初期状態に戻るとすると、イベント「evt3」は、試験対象システム300が状態「S1」に戻ったあとで入力されるので、このイベントに対する試験対象システム300の試験規格は「nop」(無視)となる。その後、試験対象システム300の状態は状態「S1」のままなので、イベント「evt2」に対しても「nop」、イベント「evt4」に対しては「ill」(異常入力に対するエラー処理)となる。
このように、予定動作算出部180は、入力した状態遷移情報に基づいて、試験手順(撹乱イベント列)が表わす一連のイベントを入力タイミングにしたがって試験対象システム300に入力した場合における試験対象システム300の状態を辿ることにより、試験規格を算出する。
図21は、この実施の形態におけるタイミングパターン記憶部162が記憶するタイミングパターン(イベント到着パターン)の一例を示す図である。
イベント到着パターンとは、イベント入力のタイミングをパターン化したものである。イベント到着パターンは、値が可変な部分を定義したイベント到着パラメータを含む。イベント到着パラメータには、「周期」「ジッタ」「最小間隔」「最大間隔」「密度」「対象イベント数」などがある。イベント到着パラメータのなかには、複数の値を指定できるものもある。
パターン名「周期的A」は、イベントを一定の間隔で入力する入力タイミングを設定することを表わしている。タイミングパターン「周期的(周期={5,10,15})」のうち、「周期的」の部分は、入力間隔が一定であることを表わす。周期的とは、試験手順を構成する入力イベントをある周期で入力するパターンである。「周期={5,10,15}」は、その間隔が「5秒」の場合と、「10秒」の場合と、「15秒」の場合との3種類の入力タイミングを設定することを表わしている。したがって、タイミング設定部170は、この1つのタイミングパターンにより、1つの正常イベント列に対して、3通りの入力タイミングを設定することになる。
なお、この例では、間隔の指定単位が「秒」であるが、異なる単位(例えば「ミリ秒」)であってもよいし、単位を指定する記号をつけて複数の単位を使い分けられるようにしてもよい。
パターン名「周期的B」も、イベントを一定の間隔で入力する入力タイミングを設定することを表わしている。「周期的A」と異なり、入力間隔を固定値で指定するのではなく、「滞留時間」を参照することにより指定している。「滞留時間」とは、状態遷移記憶部111が記憶した状態遷移情報における滞留時間のことであり、例えば、図4に示した例の場合、3つの状態「S1」「S2」「S3」について、それぞれ滞留時間「T1」「T2」「T3」がある。したがって、入力間隔が「T1」の場合と、「T2」の場合と、「T3」の場合との3種類の入力タイミングを設定することを表わしている。
タイミング設定部170は、状態遷移記憶部111が記憶した状態遷移情報を解析して、滞留時間を取得し、入力タイミングを設定する。
パターン名「不規則A」は、イベントの入力間隔が一定ではなく、所定のゆらぎのある入力タイミングを設定することを表わしている。タイミングパターン「不規則(周期={10,15},ジッタ=(−2,0,+2))」のうち、「不規則」の部分は、入力間隔にゆらぎがあることを表わしている。不規則とは、試験手順を構成する入力イベントをある周期とジッタ(時間的ゆらぎ)で入力するパターンである。「周期={10,15}」は、基本となる入力間隔が「10秒」の場合と、「15秒」の場合との2種類の入力タイミングを設定することを表わしている。また、設定する入力タイミングの間隔は、「ジッタ=(−2,0,2)」が表わす「−2秒」「0秒」「+2秒」のゆらぎを、基本となる入力間隔に足したものになる。例えば、基本となる入力間隔が「10秒」の場合、「8秒」(=10−2)、「10秒」(10+0)、「12秒」の3通りの入力間隔があり、これを順番に用いて、入力タイミングを設定する。したがって、タイミング設定部170は、最初のイベントは8秒後、次のイベントはその10秒後、その次のイベントはその12秒後に入力するよう、入力タイミングを設定する。基本となる入力間隔が「15秒」の場合も同様に、「13秒」「15秒」「17秒」の3通りの入力間隔を用いて、入力タイミングを設定する。その結果、タイミング設定部170は、この1つのタイミングパターンにより、1つの正常イベント列に対して、2通りの入力タイミングを設定することになる。
なお、ゆらぎを足した入力間隔を順番に用いるのではなく、ランダムな順序に入れ替えて用いてもよいし、順序を入れ替えたすべての場合について入力タイミングを設定してもよい。その場合、タイミング設定部170は、この1つのタイミングパターンにより、1つの正常イベント列に対して、12通り(=×2)の入力タイミングを設定することになる。
パターン名「不規則B」は、周期及びジッタを固定値以外の方法で指定する例である。
パターン名「周期的B」の場合と同様、周期は、状態遷移記憶部111が記憶した状態遷移情報における滞留時間を参照している。ただし、この例では、状態「S1」の滞留時間を参照するので、基本となる入力間隔は、「T1」である。
また、ジッタは、基本となる入力間隔に対するパーセンテージで指定している。したがって、この例では、(T1×(−1%))、(T1×(+1%))の2通りのゆらぎがあり、したがって、入力間隔は、(T1×0.99)と、(T1×1.01)との2通りとなる。
パターン名「制限A」は、イベントの入力間隔を、最小間隔以上、最大間隔以下の間隔から選択することを表わしている。制限とは、試験手順を構成する入力イベントの周期、ジッタを規定せず、イベント間の最小間隔と最大間隔を規定して入力するパターンである。すなわち、タイミング設定部170は、「最小間隔=5」が表わす最小間隔「5秒」と、「最大間隔=15」が表わす最大間隔「15秒」との間から入力間隔を選択し、選択した入力間隔に基づいて入力タイミングを設定する。また、「対象イベント数=2」は、最小間隔を入力間隔とする入力タイミングを、2つのイベントに対して設定することを表わしている。
パターン名「制限B」は、最小間隔及び最大間隔を固定値以外の方法で指定する例である。この例は、状態遷移記憶部111が記憶した状態遷移情報における滞留時間を参照し、滞留時間の最小値を最小間隔とし、滞留時間の最大値を最大間隔とすることを表わしている。このように、式を用いて参照値を算出する指定の仕方をしてもよい。
パターン名「バースト」は、イベントの入力タイミングを、1つ1つの入力間隔で指定するのではなく、一定の期間内に、指定した数のイベントを入力するよう指定することを表わしている。バーストとは、試験手順を構成する入力イベントの周期、ジッタ、最小・最大間隔を規定せず、単位時間当たりの入力イベント数の密度を規定して入力するパターンである。「密度={10,50}」は、例えば、1秒間に10個のイベントを入力する場合と、1秒間に50個のイベントを入力する場合との2通りの入力タイミングを設定することを表わしている。
パターン名「散発A」は、ある時期に集中的にイベントを入力し、その後ある程度の間を置いて、また集中的にイベントを入力するよう、入力タイミングを設定することを表わしている。散発とは、試験手順を構成する入力イベントを、ある内部周期を持った入力イベントを一群として、このイベント群の間をある外部周期で入力するパターンである。「内部パターン=不規則(周期={5,10},ジッタ=(−2,1))」は、集中してイベントを入力するときの入力タイミングの設定方法(この例では不規則)を表わしている。「対象イベント数=2」は、集中して入力するイベントの数(この例では2個)を表わしている。「外部周期={15,20}」は、集中してイベントを入力してから、次に集中してイベントを入力するまでの間隔を表わしている。内部パターンが2通り、外部周期が2通りあるので、タイミング設定部170は、一つの正常イベント列に対して、全部で4通り(=2×2)の入力タイミングを設定することになる。
パターン名「散発B」は、内部パターンとして複数のパターンを指定する例である。また、外部周期の代わりに外部パターンを指定して、一定値以外の間隔を設定する例である。なお、パターン名「散発A」における「外部周期={15,20}」は、「外部パターン=周期的(周期={15,20})」の省略形である。同様に、内部パターンが「周期的」だけである場合は、「内部周期={・・・}」と省略してもよい。
次に、タイミング設定部170の動作について説明する。
図22は、この実施の形態におけるタイミング設定部170がイベントの入力タイミングを設定するタイミング設定処理(タイミング試験仕様生成処理)の流れの一例を示すフローチャート図である。
この例では、タイミングパターンとして、上述した「周期的」を指定した場合の処理について説明する。
引数取得工程S41において、タイミング設定部170は、CPU911などの処理装置を用いて、タイミングパターン記憶部162が記憶したタイミングパターンから、周期を取得する。
イベント列入力工程S42において、タイミング設定部170は、CPU911などの処理装置を用いて、パラメータ設定部150が出力した試験手順(正常イベント列及びパラメータ)から、試験手順(正常イベント列及びパラメータ)を一つ入力する。
周期選択工程S43において、タイミング設定部170は、CPU911などの処理装置を用いて、引数取得工程S41で取得した周期から、周期を一つ選択する。
なお、試験結果の可読性を高めるため、引数取得工程S41で取得した周期が複数ある場合、タイミング設定部170は、取得した周期を昇順または降順に並べ替え、周期が短い順あるいは長い順に選択することとしてもよい。
イベント選択工程S44において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント列入力工程S42で入力した(試験手順に含まれる)イベント列が表わす一連のイベントから、イベントを一つずつ選択する。
タイミング設定工程S45において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント選択工程S44で選択したイベントについて、周期選択工程S43で選択した周期を、入力タイミングとして設定する。
設定完了判定工程S46において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント列入力工程S42で入力したイベント列が表わす一連のイベントすべてについて、入力タイミングを設定したか否かを判定する。
まだ入力タイミングを設定していないイベントがあると判定した場合、イベント選択工程S44に戻り、まだ選択していないイベントを選択する。
すべてのイベントに入力タイミングを設定したと判定した場合、タイミング出力工程S47へ進む。
タイミング出力工程S47において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント列入力工程S42で入力したイベント列(試験手順)について、タイミング設定工程S45で各イベントに設定した入力タイミングを出力する。
第一繰り返し判定工程S48において、タイミング設定部170は、CPU911などの処理装置を用いて、引数取得工程S41で取得した周期をすべて処理したか否かを判定する。
まだ処理していない周期があると判定した場合、周期選択工程S43に戻り、まだ選択していない周期を選択する。
すべての周期について、入力タイミングの設定処理が終わったと判定した場合、第二繰り返し判定工程S49へ進む。
第二繰り返し判定工程S49において、タイミング設定部170は、CPU911などの処理装置を用いて、パラメータ設定部150が出力したイベント列(試験手順)を、イベント列入力工程S42ですべて入力したか否かを判定する。
まだ入力すべきイベント列があると判定した場合、イベント列入力工程S42に戻り、次のイベント列(試験手順)を入力する。
入力すべきイベント列をすべて入力し、処理が完了したと判定した場合、タイミング設定処理を終了する。
図23は、この実施の形態における試験仕様出力部190が出力する試験仕様の一例と、それに基づいて試験装置200が試験対象システム300にイベントを入力するタイミングとを示す図である。
この例に示した試験仕様は、正常イベント列「手順2」(「evt1」「evt3」「evt2」[evt4」)と、パラメータの設定パターン「上限」とに基づいてパラメータ設定部150が出力した試験手順に、タイミングパターン「周期的(周期={5,10,15})」に基づいて、タイミング設定部170が入力タイミングを設定し、予定動作算出部180が試験規格を算出したものである。
このように、試験手順(イベント列及びパラメータ)が同じでも、入力タイミングの違いにより、試験対象システム300に予定される動作が異なる。状態遷移記憶部111が記憶した状態遷移情報に、タイミングに対する制約条件を表わす情報(滞留時間)が含まれているので、予定動作算出部180が予定される動作を正しく予測でき、微妙なタイミングの違いによる試験対象システム300の動作を詳しく試験することができる。
図24は、この実施の形態におけるタイミング設定部170がイベントの入力タイミングを設定するタイミング設定処理の流れの別の例を示すフローチャート図である。
この例では、タイミングパターンとして、上述の「不規則」を指定した場合の処理について説明する。
引数取得工程S51において、タイミング設定部170は、CPU911などの処理装置を用いて、タイミングパターン記憶部162が記憶したタイミングパターンから、周期とジッタとを取得する。
イベント列入力工程S52において、タイミング設定部170は、CPU911などの処理装置を用いて、パラメータ設定部150が出力した試験手順(正常イベント列及びパラメータ)から、試験手順(正常イベント列及びパラメータ)を一つ入力する。
周期選択工程S53において、タイミング設定部170は、CPU911などの処理装置を用いて、引数取得工程S51で取得した周期から、周期を一つ選択する。選択の順序は、タイミングパターンに記載された順序であってもよいし、昇順あるいは降順であってもよい。
イベント選択工程S54において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント列入力工程S52で入力した(試験手順に含まれる)イベント列が表わす一連のイベントから、イベントを順に一つずつ選択する。
タイミング算出工程S55において、タイミング設定部170は、CPU911などの処理装置を用いて、周期選択工程S53で選択した周期と、引数取得工程S51で取得したジッタとから、イベントの入力タイミングを算出する。
タイミング設定部170は、例えば、引数取得工程S51で取得したジッタから、ジッタを順に選択し、周期選択工程S53で選択した周期と選択したジッタとを合計することにより、次のイベントの入力までの間隔を算出し、イベントの入力タイミングとする。
タイミング設定工程S56において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント選択工程S54で選択したイベントについて、タイミング算出工程S55で算出した入力タイミングを設定する。
設定完了判定工程S57において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント列入力工程S52で入力したイベント列が表わす一連のイベントすべてについて、入力タイミングを設定したか否かを判定する。
まだ入力タイミングを設定していないイベントがあると判定した場合、イベント選択工程S54に戻り、次のイベントを選択する。
すべてのイベントに入力タイミングを設定したと判定した場合、タイミング出力工程S58へ進む。
タイミング出力工程S58において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント列入力工程S52で入力したイベント列(試験手順)について、タイミング設定工程S56で各イベントに設定した入力タイミングを出力する。
第一繰り返し判定工程S59において、タイミング設定部170は、CPU911などの処理装置を用いて、引数取得工程S51で取得した周期をすべて処理したか否かを判定する。
また処理していない周期があると判定した場合、周期選択工程S53に戻り、まだ選択していない周期を選択する。
すべての周期について、入力タイミングの設定処理が終わったと判定した場合、第二繰り返し判定工程S60へ進む。
第二繰り返し判定工程S60において、タイミング設定部170は、CPU911などの処理装置を用いて、パラメータ設定部150が出力したイベント列(試験手順)を、イベント列入力工程S52ですべて入力したか否かを判定する。
まだ入力すべきイベント列があると判定した場合、イベント列入力工程S52に戻り、次のイベント列(試験手順)を入力する。
入力すべきイベント列をすべて入力し、処理が完了したと判定した場合、タイミング設定処理を終了する。
図25は、この実施の形態における試験仕様出力部190が出力する試験仕様の一例と、それに基づいて試験装置200が試験対象システム300にイベントを入力するタイミングとを示す図である。
この例に示した試験仕様は、正常イベント列「手順2」と、パラメータの設定パターン「上限」とに基づいてパラメータ設定部150が出力した試験手順に、タイミングパターン「不規則(周期={10,15},ジッタ=(−2,0,2))」に基づいて、タイミング設定部170が入力タイミングを設定し、予定動作算出部180が試験規格を算出したものである。
このように、ジッタを複数指定することにより、一回の試験のなかでイベントを入力するタイミングを変えることができる。また、一つのタイミングパターンから、指定した周期の数と同じ回数の試験を実施する試験仕様を生成できる。
図26は、この実施の形態におけるタイミング設定部170がイベントの入力タイミングを設定するタイミング設定処理の流れの更に別の例を示すフローチャート図である。
この例では、タイミングパターンとして、上述の「制限」を指定した場合の処理について説明する。
引数取得工程S61において、タイミング設定部170は、CPU911などの処理装置を用いて、タイミングパターン記憶部162が記憶したタイミングパターンから、最小間隔と最大間隔と対象イベント数とを取得する。
イベント列入力工程S62において、タイミング設定部170は、CPU911などの処理装置を用いて、パラメータ設定部150が出力した試験手順(正常イベント列及びパラメータ)から、試験手順(正常イベント列及びパラメータ)を一つ入力する。
組み合わせ算出工程S63において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント列入力工程S62で入力した(試験手順に含まれる)イベント列が表わす一連のイベントのなかから、引数取得工程S61で取得した対象イベント数のイベントを選択する組み合わせを算出する。
第一イベント選択工程S64において、タイミング設定部170は、CPU911などの処理装置を用いて、組み合わせ算出工程S63で算出した組み合わせに含まれる各イベントを選択する。
第一タイミング設定工程S65において、タイミング設定部170は、CPU911などの処理装置を用いて、第一イベント選択工程S64で選択した各イベントについて、引数取得工程S61で取得した最小間隔を、入力タイミングとして設定する。
第二イベント選択工程S66において、タイミング設定部170は、CPU911などの処理装置を用いて、組み合わせ算出工程S63で算出した組み合わせに含まれない各イベントを選択する。
第二タイミング設定工程S67において、タイミング設定部170は、CPU911などの処理装置を用いて、第二イベント選択工程S66で選択した各イベントについて、引数取得工程S61で取得した最大間隔を、入力タイミングとして設定する。
タイミング出力工程S68において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント列入力工程S62で入力したイベント列(試験手順)について、第一タイミング設定工程S65および第二タイミング設定工程S67で各イベントに設定した入力タイミングを出力する。
第一繰り返し判定工程S69において、タイミング設定部170は、CPU911などの処理装置を用いて、組み合わせ算出工程S63で算出できるイベントの組み合わせがまだあるか判定する。
組み合わせ算出工程S63で算出できるイベントの組み合わせがまだあると判定した場合、組み合わせ算出工程S63に戻り、次の組み合わせを算出する。
組み合わせ算出工程S63で算出できるすべての組み合わせについての処理が完了したと判定した場合、第二繰り返し判定工程S70へ進む。
第二繰り返し判定工程S70において、タイミング設定部170は、CPU911などの処理装置を用いて、パラメータ設定部150が出力した試験手順(イベント列)を、イベント列入力工程S42ですべて入力したか否かを判定する。
まだ入力すべきイベント列があると判定した場合、イベント列入力工程S62に戻り、次のイベント列(試験手順)を入力する。
入力すべきイベント列をすべて入力し、処理が完了したと判定した場合、タイミング設定処理を終了する。
図27は、この実施の形態における試験仕様出力部190が出力する試験仕様の一例を示す図である。
この例に示した試験仕様は、正常イベント列「手順2」と、パラメータの設定パターン「上限」とに基づいてパラメータ設定部150が出力した試験手順に、タイミングパターン「制限A(最小間隔=5,最大間隔=15,対象イベント数=2)」に基づいて、タイミング設定部170が入力タイミングを設定し、予定動作算出部180が試験規格を算出したものである。
この例では、正常イベント列のイベント数が「4」、対象イベント数が「2」なので、4つのイベントから2つのイベントを選択する組み合わせの数()と同じ数である6通りの試験を実施する試験仕様を生成する。
図28は、この実施の形態におけるタイミング設定部170がイベントの入力タイミングを設定するタイミング設定処理の流れのまた別の例を示すフローチャート図である。
この例では、タイミングパターンとして、上述した「バースト」を指定した場合の処理について説明する。
引数取得工程S71において、タイミング設定部170は、CPU911などの処理装置を用いて、タイミングパターン記憶部162が記憶したタイミングパターンから、密度を取得する。
イベント列入力工程S72において、タイミング設定部170は、CPU911などの処理装置を用いて、パラメータ設定部150が出力した試験手順(正常イベント列及びパラメータ)から、試験手順(正常イベント列及びパラメータ)を一つ入力する。
密度選択工程S73において、タイミング設定部170は、CPU911などの処理装置を用いて、引数取得工程S71で取得した密度から、密度を一つ選択する。選択の順序は、タイミングパターンに記載された順序であってもよいし、昇順あるいは降順であってもよい。
イベント選択工程S74において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント列入力工程S72で入力した(試験手順に含まれる)イベント列が表わす一連のイベントから、イベントを一つずつ選択する。
タイミング算出工程S75において、タイミング設定部170は、CPU911などの処理装置を用いて、密度選択工程S73で選択した密度に基づいて、イベントの入力タイミングを算出する。
タイミング設定部170は、例えば、所定時間(例えば「1秒」)を、密度選択工程S73で選択した密度で割ることにより、イベントの入力間隔を算出し、イベントの入力タイミングとする。
タイミング設定工程S76において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント選択工程S74で選択したイベントについて、タイミング算出工程S75で算出した入力タイミングを設定する。
設定完了判定工程S77において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント列入力工程S72で入力したイベント列が表わす一連のイベントすべてについて、入力タイミングを設定したか否かを判定する。
まだ入力タイミングを設定していないイベントがあると判定した場合、イベント選択工程S74に戻り、まだ選択していないイベントを選択する。
すべてのイベントに入力タイミングを設定したと判定した場合、タイミング出力工程S78へ進む。
タイミング出力工程S78において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント列入力工程S72で入力したイベント列(試験手順)について、タイミング設定工程S76で各イベントに設定した入力タイミングを出力する。
第一繰り返し判定工程S79において、タイミング設定部170は、CPU911などの処理装置を用いて、引数取得工程S71で取得した密度をすべて処理したか否かを判定する。
まだ処理していない密度があると判定した場合、密度選択工程S73に戻り、まだ選択していない密度を選択する。
すべての密度について、入力タイミングの設定処理が終わったと判定した場合、第二繰り返し工程S80へ進む。
第二繰り返し判定工程S80において、タイミング設定部170は、CPU911などの処理装置を用いて、パラメータ設定部150が出力したイベント列(試験手順)を、イベント列入力工程S72ですべて入力したか否かを判定する。
まだ入力すべきイベント列があると判定した場合、イベント列入力工程S72に戻り、次のイベント列を入力する。
入力すべきイベント列をすべて入力し、処理が完了したと判定した場合、タイミング設定処理を終了する。
図29は、この実施の形態における試験仕様出力部190が出力する試験仕様の一例と、それに基づいて試験装置200が試験対象システム300にイベントを入力するタイミングとを示す図である。
この例に示した試験仕様は、正常イベント列「手順2」と、パラメータの設定パターン「上限」とに基づいてパラメータ設定部150が出力した試験手順に、タイミングパターン「バースト(密度={10,50})」に基づいて、タイミング設定部170が入力タイミングを設定し、予定動作算出部180が試験規格を算出したものである。
図30は、この実施の形態におけるタイミング設定部170がイベントのタイミングを設定するタイミング設定処理の流れのまた更に別の例を示すフローチャート図である。
この例では、タイミングパターンとして、「散発」を指定した場合の処理について説明する。
引数取得工程S81において、タイミング設定部170は、CPU911などの処理装置を用いて、内部パターンと対象イベント数と外部パターンとを取得する。
イベント列入力工程S82において、タイミング設定部170は、CPU911などの処理装置を用いて、パラメータ設定部150が出力した試験手順(正常イベント列及びパラメータ)から、試験手順(正常イベント列及びパラメータ)を一つ入力する。
パターン選択工程S83において、タイミング設定部170は、CPU911などの処理装置を用いて、引数取得工程S81で取得した内部パターンと外部パターンとの組み合わせを一つ選択する。
ここで、内部パターンとして指定したタイミングパターンは一つであっても、そのタイミングパターンにより設定される入力タイミングが複数ある場合、それぞれを独立した内部パターンとして扱う。
イベント選択工程S84において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント列入力工程S82で入力した(試験手順に含まれる)イベント列が表わす一連のイベントから、イベントを順に一つずつ選択する。
イベント数判定工程S85において、タイミング設定部170は、CPU911などの処理装置を用いて、入力タイミングを設定したイベントの数を判定する。
入力タイミングを設定したイベントの数が、引数取得工程S81で取得した対象イベント数より少ないと判定した場合、内部タイミング算出工程S86へ進む。
入力タイミングを設定したイベントの数が、引数取得工程S81で取得した対象イベント数と等しいと判定した場合、外部タイミング算出工程S88へ進む。
なお、タイミング設定部170は、パターン選択工程S73で新たなパターンの組み合わせを選択したときに、入力タイミングを設定したイベントの数を0にリセットする。また、入力タイミングを設定したイベントの数が対象イベント数と等しいと判定した場合にも、タイミング設定部170は、入力タイミングを設定したイベントの数を0にリセットする。
内部タイミング算出工程S86において、タイミング設定部170は、CPU911などの処理装置を用いて、パターン選択工程S83で選択した内部パターンに基づいて、イベントの入力タイミングを算出する。
内部タイミング設定工程S87において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント選択工程S84で選択したイベントについて、内部タイミング算出工程S86で算出した入力タイミングを設定する。
また、タイミング設定部170は、CPU911などの処理装置を用いて、入力タイミングを設定したイベントの数に1を加える。
その後、設定完了判定工程S90へ進む。
外部タイミング算出工程S88において、タイミング設定部170は、CPU911などの処理装置を用いて、パターン選択工程S73で選択した外部パターンに基づいて、イベントの入力タイミングを算出する。
外部タイミング設定工程S89において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント選択工程S84で選択したイベントについて、外部タイミング算出工程S88で算出した入力タイミングを設定する。
また、タイミング設定部170は、CPU911などの処理装置を用いて、入力タイミングを設定したイベントの数に1を加える。
設定完了判定工程S90において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント列入力工程S82で入力したイベント列が表わす一連のイベントすべてについて、入力タイミングを設定したか否かを判定する。
まだ入力タイミングを設定していないイベントがあると判定した場合、イベント選択工程S84に戻り、次のイベントを選択する。
すべてのイベントに入力タイミングを設定したと判定した場合、タイミング出力工程S91へ進む。
タイミング出力工程S91において、タイミング設定部170は、CPU911などの処理装置を用いて、イベント列入力工程S82で入力したイベント列(試験手順)について、内部タイミング設定工程S87あるいは外部タイミング設定工程S89で各イベントに設定した入力タイミングを出力する。
第一繰り返し判定工程S92において、タイミング設定部170は、CPU911などの処理装置を用いて、パターン選択工程S83で選択できる内部パターンと外部パターンとの組み合わせすべてについて処理をしたか否かを判定する。
まだ処理していない組み合わせがあると判定した場合、パターン選択工程S83に戻り、まだ選択していない組み合わせを選択する。
すべての組み合わせについて、入力タイミングの設定処理が終わったと判定した場合、第二繰り返し判定工程S93へ進む。
第二繰り返し判定工程S93において、タイミング設定部170は、CPU911などの処理装置を用いて、パラメータ設定部150が出力したイベント列(試験手順)を、イベント列入力工程S82ですべて入力したか否かを判定する。
まだ入力すべきイベント列があると判定した場合、イベント列入力工程S82に戻り、次のイベント列を入力する。
入力すべきイベント列すべてを入力し、処理が完了したと判定した場合、タイミング設定処理を終了する。
図31は、この実施の形態における試験仕様出力部190が出力する試験仕様の一例を示す図である。
この例に示した試験仕様は、正常イベント列「手順2」と、パラメータの設定パターン「上限」とに基づいてパラメータ設定部150が出力した試験手順に、タイミングパターン「散発(内部周期={5,7},対象イベント数=2,外部周期={10,15})」に基づいて、タイミング設定部170が入力タイミングを設定し、予定動作算出部180が試験規格を算出したものである。
この例において、内部周期が2通り、外部周期が2通りなので、全部で4通り(=2×2)の試験を実施する試験仕様を生成する。
このように、様々なタイミングパターンを用いて、イベントの入力タイミングの設定方法を指定する。タイミング設定部170は、タイミングパターン記憶部162が記憶したタイミングパターンにしたがって、イベントの入力タイミングを設定する。
試験仕様出力部190は、タイミング設定部170が設定した入力タイミングを含む試験仕様を出力する。これを試験装置200が入力し、入力タイミングにしたがって、試験対象システム300にイベントを入力することにより、試験対象システム300の動作が微妙なタイミングによって異なる場合でも、漏れのない試験を実行することができる。
この実施の形態における試験仕様生成装置100は、
入力したイベントにしたがって動作する試験対象システム300が所期の動作をするか否かを試験するため、試験対象システム300に入力する一連のイベントを表わすイベント列を含む試験仕様510を生成する試験仕様生成装置100において、
情報を処理するCPU911などの処理装置と、タイミング設定部170と、試験仕様出力部190とを有することを特徴とする。
タイミング設定部170は、CPU911などの処理装置を用いて、イベント列(正常イベント列)を入力し、入力したイベント列が表わす一連のイベントの各イベントについて入力タイミングを設定することを特徴とする。
試験仕様出力部190は、CPU911などの処理装置を用いて、上記イベント列(正常イベント列)と、タイミング設定部170が設定した入力タイミングとを含む試験仕様510を出力することを特徴とする。
この実施の形態における試験仕様生成装置100によれば、試験対象システム300にイベントを入力するタイミングの違いによる動作の違いについて、詳細な試験を実施できるので、試験結果の信頼性を高めることができるという効果を奏する。
この実施の形態におけるタイミング設定部170は、CPU911などの処理装置を用いて、入力したイベント列が表わす一連のイベントの各イベントについて、上記各イベントの前に入力したイベントの入力から所定の時間が経過したタイミングを、入力タイミングとして設定することを特徴とする。
この実施の形態における試験仕様生成装置100によれば、周期的にイベントを入力する場合における試験対象システム300の動作を試験できる試験仕様を生成することができるという効果を奏する。
この実施の形態におけるタイミング設定部170は、CPU911などの処理装置を用いて、入力したイベント列が表わす一連のイベントの各イベントについて、上記各イベントの前に入力したイベントの入力から所定の時間が経過したタイミングに対して、所定のゆらぎを含むタイミングを、入力タイミングとして設定することを特徴とする。
この実施の形態における試験仕様生成装置100によれば、イベントの入力間隔がほぼ周期的であるが、ゆらぎを含む場合における試験対象システム300の動作を試験できる試験仕様を生成することができるという効果を奏する。
この実施の形態におけるタイミング設定部170は、CPU911などの処理装置を用いて、入力したイベント列が表わす一連のイベントの各イベントについて、上記各イベントの前に入力したイベントの入力から、所定の最小間隔以上所定の最大間隔以下の時間が経過したタイミングを、入力タイミングとして設定することを特徴とする。
この実施の形態における試験仕様生成装置100によれば、イベントの入力間隔が所定の範囲内である場合における試験対象システム300の動作を試験できる試験仕様を生成することができるという効果を奏する。
この実施の形態におけるタイミング設定部170は、CPU911などの処理装置を用いて、入力したイベント列が表わす一連のイベントの各イベントについて、所定の時間内に所定の数のイベントを入力するよう、入力タイミングを設定することを特徴とする。
この実施の形態における試験仕様生成装置100によれば、イベントを所定の密度で入力した場合における試験対象システム300の動作を試験できる試験仕様を生成することができるという効果を奏する。
この実施の形態におけるタイミング設定部170は、CPU911などの処理装置を用いて、入力したイベント列が表わす一連のイベントのうち、所定の数のイベントを入力した後のイベントについて、上記所定の数のイベントの入力から、所定の時間が経過したタイミングを、入力タイミングとして設定することを特徴とする。
この実施の形態における試験仕様生成装置100によれば、散発的にイベントを入力した場合における試験対象システム300の動作を試験できる試験仕様を生成することができるという効果を奏する。
この実施の形態における試験仕様生成装置100は、更に、情報を記憶する磁気ディスク装置920などの記憶装置と、状態遷移記憶部111と、予定動作算出部180とを有することを特徴とする。
状態遷移記憶部111は、磁気ディスク装置920などの記憶装置を用いて、試験対象システム300の状態と、上記状態において試験対象システム300が入力するイベントと、上記状態において試験対象システム300が上記イベントを入力するタイミングに関する制約条件と、上記状態において試験対象システム300が上記制約条件を満たすタイミングで上記イベントを入力したときにすべき動作と、上記状態において試験対象システム300が上記イベントを入力したときに遷移すべき遷移先の状態とを表わす状態遷移情報610を記憶することを特徴とする。
予定動作算出部180は、CPU911などの処理装置を用いて、タイミング設定部170が設定した入力タイミングで試験対象システム300にイベントを入力したとき試験対象システム300がすべき動作を算出して、予定動作とすることを特徴とする。
試験仕様出力部190は、CPU911などの処理装置を用いて、予定動作算出部180が算出した予定動作を更に含む試験仕様を出力することを特徴とする。
この実施の形態における試験仕様生成装置100によれば、状態遷移記憶部111が記憶した状態遷移情報610に基づいて、予定動作算出部180が予定動作(試験規格)を算出するので、試験対象システム300の動作結果530が予定通りか否かを容易に検証できるという効果を奏する。
この実施の形態における試験システム800は、
試験仕様生成装置100と、試験装置200とを備えることを特徴とする。
試験装置200は、情報を処理するCPU911などの処理装置と、イベント発生部210と、動作検証部220とを有することを特徴とする。
イベント発生部210は、CPU911などの処理装置を用いて、試験仕様生成装置100が出力した試験仕様510が表わす一連のイベント及び入力タイミングにしたがって、試験対象システム300にイベント520を入力することを特徴とする。
動作検証部220は、CPU911などの処理装置を用いて、イベント発生部210がイベントを入力した試験対象システム300の動作結果530を入力し、入力した動作結果が予定通りか否かを判定することを特徴とする。
この実施の形態における試験システム800によれば、試験仕様生成装置100が生成した試験仕様510に基づいて、イベント発生部210がイベント520を試験対象システム300に入力し、その結果を動作検証部220が検証するので、微妙なタイミングの違いによる試験対象システム300の動作の違いを含めて、試験対象システム300が正しく動作するか否かを容易に試験することができるという効果を奏する。
この実施の形態における試験仕様生成装置100が試験仕様を生成する試験仕様生成方法は、
情報を処理するCPU911などの処理装置を有する試験仕様生成装置100が、入力したイベントにしたがって動作する試験対象システム300が所期の動作をするか否かを試験するため、試験対象システム300に入力する一連のイベントを表わすイベント列を含む試験仕様を生成する試験仕様生成方法において、
CPU911などの処理装置が、イベント列(正常イベント列)を入力することを特徴とする。
CPU911などの処理装置が、入力したイベント列が表わす一連のイベントの各イベントについて入力タイミングを設定することを特徴とする。
CPU911などの処理装置が、上記イベント列と、設定した入力タイミングとを含む試験仕様を出力することを特徴とする。
この実施の形態における試験仕様生成方法によれば、CPU911などの処理装置が、タイミングパターンに基づいて、イベント列が表わす一連のイベントの各イベントについて入力タイミングを設定するので、イベントを入力するタイミングの違いによる試験対象システム300の動作の違いを試験することができるという効果を奏する。
この実施の形態における試験仕様生成装置100は、情報を処理するCPU911などの処理装置を有するコンピュータをこの実施の形態における試験仕様生成装置100として機能させるプログラムをコンピュータが実行することにより、実現することができる。
この実施の形態におけるプログラムによれば、様々なタイミングでイベントを入力した場合における試験対象システム300の動作を試験できる試験仕様を生成する試験仕様生成装置100を実現することができるという効果を奏する。
なお、パラメータの設定後に入力タイミングを設定するのではなく、正常イベント列生成部112が出力した正常イベント列をタイミング設定部170が入力して入力タイミングを設定し、その後、パラメータ設定部150がパラメータを設定することとしてもよい。
以上説明した試験仕様の自動生成方式は、
イベント到着パターン(タイミングパターン)を用い、試験手順を構成するイベントを周期的に入力する試験仕様を生成することを特徴とする。
以上説明した試験仕様の自動生成方式は、
イベント到着パターン(タイミングパターン)を用い、試験手順を構成するイベントをジッタ(時間的ゆらぎ)のある周期で入力する試験仕様を生成することを特徴とする。
以上説明した試験仕様の自動生成方式は、
イベント到着パターン(タイミングパターン)を用い、試験手順を構成するイベントを最小間隔と最大間隔を規定して入力する試験仕様を生成することを特徴とする。
以上説明した試験仕様の自動生成方式は、
イベント到着パターン(タイミングパターン)を用い、試験手順を構成するイベントを単位時間当たりの入力密度を規定して入力する試験仕様を生成することを特徴とする。
以上説明した試験仕様の自動生成方式は、
イベント到着パターン(タイミングパターン)を用い、試験手順を構成するイベントを内部周期と外部周期を規定して入力する試験仕様を生成することを特徴とする。
これにより、試験対象システムの状態遷移図とシステムへのイベント入力のタイミングのパターンから、タイミングに関する試験仕様を自動生成するため、試験仕様の設計・作成工数を削減できる。
また、試験対象システムへのイベント入力のタイミングとして考えられる、さまざまな組合せに関する試験仕様を生成するので、タイミングに関するシステム動作の検証もれを防ぎ、残存不具合を減らすことができる。
特に、イベント入力の微妙なタイミングにより発生する不具合を検証できるので、試験仕様の有効性を確保できる。
実施の形態3.
実施の形態3について、図32を用いて説明する。
図32は、この実施の形態における試験システム800の全体構成の一例を示すシステム構成図である。
なお、実施の形態1または実施の形態2で説明した試験システム800の機能ブロックと共通する部分については、同一の符号を付し、ここでは説明を省略する。
試験仕様生成装置100は、状態遷移記憶部111と、正常イベント列生成部112と、撹乱パターン入力部121と、撹乱パターン記憶部122と、イベント列撹乱部130と、パラメータ入力部141と、パラメータ記憶部142と、パラメータ設定部150と、タイミングパターン入力部161と、タイミングパターン記憶部162と、タイミング設定部170と、予定動作算出部180と、試験仕様出力部190とを有する。
タイミング設定部170は、CPU911などの処理装置を用いて、タイミングパターン記憶部162が記憶したタイミングパターンを入力する。
タイミング設定部170は、CPU911などの処理装置を用いて、パラメータ設定部150が出力した試験手順を入力する。パラメータ設定部150が出力した試験手順には、イベント列撹乱部130が撹乱した撹乱イベント列と、パラメータ設定部150が設定したパラメータとが含まれている。なお、撹乱イベント列には、もととなった正常イベント列が含まれていてもよいし、含まれていなくてもよい。
タイミング設定部170は、CPU911などの処理装置を用いて、入力したタイミングパターンに基づいて、入力した試験手順に含まれる撹乱イベント列が表わす一連のイベントの各イベントについて、入力タイミングを設定する。
タイミング設定部170は、CPU911などの処理装置を用いて、入力した試験手順と、設定した入力タイミングとを出力する。
実施の形態1における試験仕様生成装置100は、試験対象システム300に異常な順序でイベントを入力することにより、試験対象システム300の動作を試験する(順序試験の)試験仕様を生成する。実施の形態2における試験仕様生成装置100は、試験対象システム300に様々なタイミングでイベントを入力することにより、試験対象システム300の動作を試験する(タイミング試験の)試験仕様を生成する。
この実施の形態における試験仕様生成装置100は、試験対象システム300に異常な順序かつ様々なタイミングでイベントを入力することにより、試験対象システム300の動作を試験する試験仕様を生成する。
これにより、イベントの入力順序と入力タイミングとの特殊な組み合わせにより、試験対象システム300が誤動作を起こす場合がないか、漏れのない試験をすることができる。
また、イベントの入力順序の撹乱パターンや、入力タイミングの設定パターンを、あらかじめ入力しておくことにより、試験仕様生成装置100が試験仕様を生成するので、試験仕様を生成する手間を削減できる。
以上説明した試験仕様の自動生成方式は、
試験対象システム300へのイベント入力の順序に関する制約をパターン化したイベント順序パターン(撹乱パターン)を用い、
試験対象システムへのイベント入力のタイミングに関する制約をパターン化したイベント到着パターン(タイミングパターン)を用い、
状態遷移図に定義した時間制約を解析する解析部(タイミング設定部170)と、
試験手順とイベント順序パターンを組み合わせて順序に関する試験仕様を生成する生成部(イベント列撹乱部130)と、
試験手順、時間制約、イベント到着パターンを組み合わせてタイミングに関する試験仕様を生成する生成部(タイミング設定部170)と、
を備えることを特徴とする。
これにより、試験対象システムの状態遷移図とシステムへのイベント入力の順序とタイミングのパターンから、順序とタイミングに関する試験仕様を自動生成するため、試験仕様の設計・作成工数を削減できる。
また、試験対象システムへのイベント入力の順序とタイミングとして考えられる、さまざまな組合せに関する試験仕様を生成するので、順序とタイミングに関するシステム動作の検証もれを防ぎ、残存不具合を減らすことができる。
実施の形態4.
実施の形態4について、図33〜図36を用いて説明する。
図33は、この実施の形態における試験システム800の全体構成の一例を示すシステム構成図である。
なお、実施の形態1〜実施の形態3で説明した機能ブロックと共通するブロックについては、同一の符号を付し、ここでは説明を省略する。
試験仕様生成装置100は、状態遷移記憶部111と、正常イベント列生成部112と、撹乱パターン入力部121と、撹乱パターン記憶部122と、イベント列撹乱部130と、パラメータ入力部141と、パラメータ記憶部142と、パラメータ設定部150と、タイミングパターン入力部161と、タイミングパターン記憶部162と、イベント列反復部175と、タイミング設定部170と、予定動作算出部180と、試験仕様出力部190とを有する。
イベント列反復部175は、CPU911などの処理装置を用いて、タイミングパターン記憶部162が記憶したタイミングパターンを入力する。
イベント列反復部175は、CPU911などの処理装置を用いて、パラメータ設定部150が出力した試験手順を入力する。パラメータ設定部150が出力した試験手順には、イベント列撹乱部130が撹乱した撹乱イベント列と、パラメータ設定部150が設定したパラメータとが含まれている。
イベント列反復部175は、CPU911などの処理装置を用いて、入力したタイミングパターンが、イベントの反復試験を指定するパターンであるか否かを判定する。
タイミングパターンが反復試験を指定する場合、イベント列反復部175は、CPU911などの処理装置を用いて、入力した撹乱イベント列が表わす一連のイベントを、タイミングパターンが表わす反復回数に基づいて、複数回繰り返すイベント列(反復イベント列)を生成する。
イベント列反復部175は、CPU911などの処理装置を用いて、生成した反復イベント列を含む試験手順を出力する。
なお、タイミングパターンが反復試験を指定しない場合、イベント列反復部175は、入力した試験手順をそのまま出力する。
タイミング設定部170は、CPU911などの処理装置を用いて、タイミングパターン記憶部162が記憶したタイミングパターンを入力する。
タイミング設定部170は、CPU911などの処理装置を用いて、イベント列反復部175が出力した試験手順を入力する。
タイミング設定部170は、CPU911などの処理装置を用いて、入力したタイミングパターンに基づいて、入力した試験手順に含まれる撹乱イベント列が表わす一連のイベントの各イベントについて、入力タイミングを設定する。
タイミング設定部170は、CPU911などの処理装置を用いて、入力した試験手順と、設定した入力タイミングとを出力する。
試験対象システム300は、一連の動作が正常に終了し、終了状態まで遷移すると、再び開始状態に戻り、次のイベント入力を待つよう設計されている場合が多い。
このような場合、1回1回の動作を独立に試験すると正常に動作するが、繰り返し試験をすると、誤動作をする可能性があるので、最初に戻って繰り返しイベントを入力する試験をする必要がある。その場合、一連の動作が終わってから、次のサイクルが始まるまでのタイミングが重要である場合がある。
この実施の形態における試験仕様生成装置100は、このような繰り返し試験をするための試験仕様を生成する。
図34は、この実施の形態におけるタイミングパターン記憶部162が記憶するタイミングパターンの一例を示す図である。
パターン名「反復A」は、イベント列が表わす一連のイベントを、試験対象システム300に3回繰り返し入力することを表わす。また、そのときの入力タイミングとして、「散発」により算出した3通りのタイミングを設定することを表わす。なお、「単位イベント数」は、イベント列反復部175が入力した撹乱イベント列が表わす一連のイベントに含まれるイベントの数を表わす。
パターン名「反復B」は、繰り返しの回数を別の方法で指定する例である。「総イベント数=20」は、イベント列反復部175が生成する反復イベント列が表わす一連のイベントに含まれるイベントの総数が20になるよう、繰り返しの回数を指定するものであり、例えば、撹乱イベント列が表わす一連のイベントのイベント数が「4」なら5回繰り返し、撹乱イベント列のイベント数が「5」なら4回繰り返すことを表わす。
また、この例のように、入力タイミングは、繰り返しと無関係に指定してもよい。
次に、動作について説明する。
図35は、この実施の形態におけるイベント列反復部175が反復イベント列を生成する反復処理の流れの一例を示すフローチャート図である。
引数取得工程T11において、イベント列反復部175は、CPU911などの処理装置を用いて、タイミングパターン記憶部162が記憶したタイミングパターンから、繰り返しの指定(反復回数または総イベント数)を取得する。
イベント列入力工程T12において、イベント列反復部175は、CPU911などの処理装置を用いて、パラメータ設定部150が出力した試験手順(撹乱イベント列及びパラメータ)から、試験手順(撹乱イベント列及びパラメータ)を一つ入力する。
反復指定判定工程T13において、イベント列反復部175は、CPU911などの処理装置を用いて、引数取得工程T11で取得した繰り返しの指定が、反復回数か総イベント数かを判定する。
繰り返しの指定が反復回数であると判定した場合、反復イベント列生成工程T16へ進む。
繰り返しの指定が総イベント数であると判定した場合、イベント数算出工程T14へ進む。
イベント数算出工程T14において、イベント列反復部175は、イベント列入力工程T12で入力したイベント列が表わす一連のイベントに含まれるイベントの数を数える。
反復回数算出工程T15において、イベント列反復部175は、引数取得工程T11で取得した総イベント数を、イベント数算出工程T14で算出したイベントの数で割り、その商を反復回数とする。なお、余りは切り上げてもよいし、切り捨ててもよい。
反復イベント列生成工程T16において、イベント列反復部175は、引数取得工程T11で取得した(もしくは、反復回数算出工程T15で算出した)反復回数に基づいて、イベント列入力工程T12で入力したイベント列が表わす一連のイベントを繰り返し入力する反復イベント列を生成する。
反復イベント列出力工程T17において、イベント列反復部175は、反復イベント列生成工程T16で生成した反復イベント列を出力する。
繰り返し判定工程T18において、イベント列反復部175は、CPU911などの処理装置を用いて、パラメータ設定部150が出力したイベント列(試験手順)を、イベント列入力工程T12ですべて入力したか否かを判定する。
まだ入力すべきイベント列があると判定した場合、イベント列入力工程T12に戻り、次のイベント列(試験手順)を入力する。
入力すべきイベント列をすべて入力し、処理が完了したと判定した場合、反復処理を終了する。
図36は、この実施の形態におけるイベント列反復部175が出力する反復イベント列を含む試験手順の一例を示す図である。
この例において、イベント列反復部175は、イベント列が表わす一連のイベント「evt1」「evt3」「evt2」「evt4」を3回繰り返す反復イベント列を生成し、生成した反復イベント列を含む試験手順を出力する。
イベント列反復部175が出力した試験手順は、タイミング設定部170が入力し、実施の形態2で説明した処理と同様にして、イベントの入力タイミングを設定する。
図37は、この実施の形態における試験仕様出力部190が出力する試験仕様の一例を示す図である。
タイミング設定部170がイベントの入力タイミングを設定し、予定動作算出部180が試験規格(予定動作)を算出して、試験仕様出力部190が試験仕様を出力する。
この例は、図34に示したパターン名「反復A」のように、タイミングパターン「散発」のパラメータ「対象イベント数」に「単位イベント数」を指定した場合の例である。これにより、外部周期を繰り返し試験の入力間隔とする試験仕様を生成することができる。
また、タイミングパターンとして、「周期的」や「制限」など、他のパターンを指定したり、「散発」の「対象イベント数」として「単位イベント数」以外を指定したりすることにより、更に様々なパターンで、繰り返し試験をすることができる。
この実施の形態における試験仕様生成装置100は、更に、イベント列反復部175を有することを特徴とする。
イベント列反復部175は、CPU911などの処理装置を用いて、イベント列を入力し、入力したイベント列が表わす一連のイベントを所定の回数繰り返すイベント列を生成して、反復イベント列とすることを特徴とする。
タイミング設定部170は、イベント列反復部175が生成した反復イベント列において、上記イベント列が表わす一連のイベントの最初のイベントについて、上記イベント列が表わす一連のイベントの最後のイベントの入力から、所定の時間が経過したタイミングを、入力タイミングとして設定することを特徴とする。
この実施の形態における試験仕様生成装置100によれば、一連の動作終了後、開始状態に戻る試験対象システム300において、繰り返しイベントを入力するタイミングの違いによる試験対象システム300の動作を試験できる試験仕様を生成することができるという効果を奏する。
実施の形態1における試験仕様生成装置100の外観の一例を示す図。 実施の形態1における試験仕様生成装置100のハードウェア資源の一例を示す図。 実施の形態1における試験システム800の全体構成の一例を示すシステム構成図。 実施の形態1における状態遷移記憶部111が記憶した状態遷移情報610の一例を示す図。 実施の形態1における正常イベント列生成部112が生成する正常イベント列の一例を表わす図。 実施の形態1におけるイベント列撹乱部130が撹乱した撹乱イベント列の一例を示す図。 実施の形態1におけるパラメータ設定部150が生成する試験手順の一例を表わす図。 実施の形態1における試験仕様出力部190が出力する試験仕様の一例を示す図。 実施の形態1におけるイベント列撹乱部130の詳細ブロックの一例を示す詳細ブロック図。 実施の形態1における撹乱パターン記憶部122が記憶する撹乱パターンの一例を示す図。 実施の形態1におけるイベント列撹乱部130がイベント列を撹乱する撹乱処理の流れの一例を示すフローチャート図。 実施の形態1におけるイベント順序変更部132がイベント列を撹乱する逆転処理の流れの一例を示すフローチャート図。 実施の形態1におけるイベント重複部133がイベント列を撹乱する重複処理の流れの一例を示すフローチャート図。 実施の形態1におけるイベント欠落部134がイベント列を撹乱する欠落処理の流れの一例を示すフローチャート図。 実施の形態1における試験仕様生成装置100が出力する試験仕様の一例を示す図。 実施の形態1における試験仕様生成装置100が出力する試験仕様の一例を示す図。 実施の形態1における試験仕様生成装置100が出力する試験仕様の一例を示す図。 実施の形態1における試験仕様生成装置100が出力する試験仕様の一例を示す図。 実施の形態2における試験システム800の全体構成の一例を示すシステム構成図。 実施の形態2における試験仕様出力部190が出力する試験仕様の一例を示す図。 実施の形態2におけるタイミングパターン記憶部162が記憶するタイミングパターンの一例を示す図。 実施の形態2におけるタイミング設定部170がイベントの入力タイミングを設定するタイミング設定処理の流れの一例を示すフローチャート図。 実施の形態2における試験仕様出力部190が出力する試験仕様の一例と、それに基づいて試験装置200が試験対象システム300にイベントを入力するタイミングとを示す図。 実施の形態2におけるタイミング設定部170がイベントの入力タイミングを設定するタイミング設定処理の流れの別の例を示すフローチャート図。 実施の形態2における試験仕様出力部190が出力する試験仕様の一例と、それに基づいて試験装置200が試験対象システム300にイベントを入力するタイミングとを示す図。 実施の形態2におけるタイミング設定部170がイベントの入力タイミングを設定するタイミング設定処理の流れの更に別の例を示すフローチャート図。 実施の形態2における試験仕様出力部190が出力する試験仕様の一例を示す図。 実施の形態2におけるタイミング設定部170がイベントの入力タイミングを設定するタイミング設定処理の流れのまた別の例を示すフローチャート図。 実施の形態2における試験仕様出力部190が出力する試験仕様の一例と、それに基づいて試験装置200が試験対象システム300にイベントを入力するタイミングとを示す図。 実施の形態2におけるタイミング設定部170がイベントのタイミングを設定するタイミング設定処理の流れのまた更に別の例を示すフローチャート図。 実施の形態2における試験仕様出力部190が出力する試験仕様の一例を示す図。 実施の形態3における試験システム800の全体構成の一例を示すシステム構成図。 実施の形態4における試験システム800の全体構成の一例を示すシステム構成図。 実施の形態4におけるタイミングパターン記憶部162が記憶するタイミングパターンの一例を示す図。 実施の形態4におけるイベント列反復部175が反復イベント列を生成する反復処理の流れの一例を示すフローチャート図。 実施の形態4におけるイベント列反復部175が出力する反復イベント列を含む試験手順の一例を示す図。 実施の形態4における試験仕様出力部190が出力する試験仕様の一例を示す図。
符号の説明
100 試験仕様生成装置、111 状態遷移記憶部、112 正常イベント列生成部、121 撹乱パターン入力部、122 撹乱パターン記憶部、130 イベント列撹乱部、131 イベント列記憶部、132 イベント順序変更部、133 イベント重複部、134 イベント欠落部、141 パラメータ入力部、142 パラメータ記憶部、150 パラメータ設定部、161 タイミングパターン入力部、162 タイミングパターン記憶部、170 タイミング設定部、175 イベント列反復部、180 予定動作算出部、190 試験仕様出力部、200 試験装置、210 イベント発生部、220 動作検証部、300 試験対象システム、510 試験仕様、520 イベント、530 動作結果、540 試験結果、610 状態遷移情報、611 状態、612 イベント、613 動作、614 遷移先状態、615 滞留時間、800 試験システム、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信装置、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。

Claims (20)

  1. 入力したイベントにしたがって動作する試験対象システムが所期の動作をするか否かを試験するため、上記試験対象システムに入力する一連のイベントを表わすイベント列を含む試験仕様を生成する試験仕様生成装置において、
    情報を処理する処理装置と、イベント列撹乱部と、試験仕様出力部とを有し、
    上記イベント列撹乱部は、上記処理装置を用いて、イベント列を入力し、入力したイベント列を撹乱して、撹乱イベント列とし、
    上記試験仕様出力部は、上記処理装置を用いて、上記イベント列撹乱部が撹乱した撹乱イベント列をイベント列として含む試験仕様を出力する
    ことを特徴とする試験仕様生成装置。
  2. 上記イベント列撹乱部は、イベント順序変更部を有し、
    上記イベント順序変更部は、上記処理装置を用いて、入力したイベント列が表わす一連のイベントの順序を変更して、撹乱イベント列を生成する
    ことを特徴とする請求項1に記載の試験仕様生成装置。
  3. 上記イベント列撹乱部は、イベント重複部を有し、
    上記イベント重複部は、上記処理装置を用いて、入力したイベント列が表わす一連のイベントのうちから選択したイベントを重複させて、撹乱イベント列を生成する
    ことを特徴とする請求項1に記載の試験仕様生成装置。
  4. 上記イベント列撹乱部は、イベント欠落部を有し、
    上記イベント欠落部は、上記処理装置を用いて、入力したイベント列が表わす一連のイベントのうちから選択したイベントを削除して、撹乱イベント列を生成する
    ことを特徴とする請求項1に記載の試験仕様生成装置。
  5. 上記試験仕様生成装置は、更に、正常イベント列生成部を有し、
    上記正常イベント列生成部は、上記処理装置を用いて、上記試験対象システムが正常に動作することを予定している順序を、一連のイベントの順序とするイベント列を生成して、正常イベント列とし、
    上記イベント列撹乱部は、上記処理装置を用いて、上記正常イベント列生成部が生成した正常イベント列を入力する
    ことを特徴とする請求項1に記載の試験仕様生成装置。
  6. 上記試験仕様生成装置は、更に、情報を記憶する記憶装置と、状態遷移記憶部とを有し、
    上記状態遷移記憶部は、上記記憶装置を用いて、上記試験対象システムの状態と、上記状態において上記試験対象システムが入力するイベントと、上記状態において上記試験対象システムが上記イベントを入力したときに遷移すべき遷移先の状態とを表わす状態遷移情報を記憶し、
    上記正常イベント列生成部は、上記処理装置を用いて、上記状態遷移記憶部が記憶した状態遷移情報に基づいて、正常イベント列を生成する
    ことを特徴とする請求項5に記載の試験仕様生成装置。
  7. 上記試験仕様生成装置は、更に、予定動作算出部を有し、
    上記状態遷移記憶部は、上記記憶装置を用いて、上記試験対象システムの状態と、上記状態において上記試験対象システムが入力するイベントと、上記状態において上記試験対象システムが上記イベントを入力したときにすべき動作と、上記状態において上記試験対象システムが上記イベントを入力したときに遷移すべき遷移先の状態とを表わす状態遷移情報を記憶し、
    上記予定動作算出部は、上記処理装置を用いて、上記イベント列撹乱部が生成した撹乱イベント列が表わす一連のイベントを上記試験対象システムに入力したとき上記試験対象システムがすべき動作を算出して、予定動作とし、
    上記試験仕様出力部は、上記処理装置を用いて、上記予定動作算出部が算出した予定動作を更に含む試験仕様を出力する
    ことを特徴とする請求項6に記載の試験仕様生成装置。
  8. 入力したイベントにしたがって動作する試験対象システムが所期の動作をするか否かを試験するため、上記試験対象システムに入力する一連のイベントを表わすイベント列を含む試験仕様を生成する試験仕様生成装置において、
    情報を処理する処理装置と、タイミング設定部と、試験仕様出力部とを有し、
    上記タイミング設定部は、上記処理装置を用いて、イベント列を入力し、入力したイベント列が表わす一連のイベントの各イベントについて入力タイミングを設定し、
    上記試験仕様出力部は、上記処理装置を用いて、上記イベント列と、上記タイミング設定部が設定した入力タイミングとを含む試験仕様を出力する
    ことを特徴とする試験仕様生成装置。
  9. 上記タイミング設定部は、上記処理装置を用いて、入力したイベント列が表わす一連のイベントの各イベントについて、上記各イベントの前に入力したイベントの入力から所定の時間が経過したタイミングを、入力タイミングとして設定する
    ことを特徴とする請求項8に記載の試験仕様生成装置。
  10. 上記タイミング設定部は、上記処理装置を用いて、入力したイベント列が表わす一連のイベントの各イベントについて、上記各イベントの前に入力したイベントの入力から所定の時間が経過したタイミングに対して、所定のゆらぎを含むタイミングを、入力タイミングとして設定する
    ことを特徴とする請求項8に記載の試験仕様生成装置。
  11. 上記タイミング設定部は、上記処理装置を用いて、入力したイベント列が表わす一連のイベントの各イベントについて、上記各イベントの前に入力したイベントの入力から、所定の最小間隔以上所定の最大間隔以下の時間が経過したタイミングを、入力タイミングとして設定する
    ことを特徴とする請求項8に記載の試験仕様生成装置。
  12. 上記タイミング設定部は、上記処理装置を用いて、入力したイベント列が表わす一連のイベントの各イベントについて、所定の時間内に所定の数のイベントを入力するよう、入力タイミングを設定する
    ことを特徴とする請求項8に記載の試験仕様生成装置。
  13. 上記タイミング設定部は、上記処理装置を用いて、入力したイベント列が表わす一連のイベントのうち、所定の数のイベントを入力した後のイベントについて、上記所定の数のイベントの入力から、所定の時間が経過したタイミングを、入力タイミングとして設定する
    ことを特徴とする請求項8に記載の試験仕様生成装置。
  14. 上記試験仕様生成装置は、更に、イベント列反復部を有し、
    上記イベント列反復部は、上記処理装置を用いて、イベント列を入力し、入力したイベント列が表わす一連のイベントを所定の回数繰り返すイベント列を生成して、反復イベント列とし、
    上記タイミング設定部は、上記イベント列反復部が生成した反復イベント列において、上記イベント列が表わす一連のイベントの最初のイベントについて、上記イベント列が表わす一連のイベントの最後のイベントの入力から、所定の時間が経過したタイミングを、入力タイミングとして設定する
    ことを特徴とする請求項8に記載の試験仕様生成装置。
  15. 上記試験仕様生成装置は、更に、情報を記憶する記憶装置と、状態遷移記憶部と、予定動作算出部とを有し、
    上記状態遷移記憶部は、上記記憶装置を用いて、上記試験対象システムの状態と、上記状態において上記試験対象システムが入力するイベントと、上記状態において上記試験対象システムが上記イベントを入力するタイミングに関する制約条件と、上記状態において上記試験対象システムが上記制約条件を満たすタイミングで上記イベントを入力したときにすべき動作と、上記状態において上記試験対象システムが上記イベントを入力したときに遷移すべき遷移先の状態とを表わす状態遷移情報を記憶し、
    上記予定動作算出部は、上記処理装置を用いて、上記タイミング設定部が設定した入力タイミングで上記試験対象システムにイベントを入力したとき上記試験対象システムがすべき動作を算出して、予定動作とし、
    上記試験仕様出力部は、上記処理装置を用いて、上記予定動作算出部が算出した予定動作を更に含む試験仕様を出力する
    ことを特徴とする請求項8に記載の試験仕様生成装置。
  16. 請求項1に記載の試験仕様生成装置と、試験装置とを備え、
    上記試験装置は、情報を処理する処理装置と、イベント発生部と、動作検証部とを有し、
    上記イベント発生部は、上記処理装置を用いて、上記試験仕様生成装置が出力した試験仕様が表わす一連のイベントにしたがって、上記試験対象システムにイベントを入力し、
    上記動作検証部は、上記処理装置を用いて、上記イベント発生部がイベントを入力した試験対象システムの動作結果を入力し、入力した動作結果が予定通りか否かを判定する
    ことを特徴とする試験システム。
  17. 請求項8に記載の試験仕様生成装置と、試験装置とを備え、
    上記試験装置は、情報を処理する処理装置と、イベント発生部と、動作検証部とを有し、
    上記イベント発生部は、上記処理装置を用いて、上記試験仕様生成装置が出力した試験仕様が表わす一連のイベント及び入力タイミングにしたがって、上記試験対象システムにイベントを入力し、
    上記動作検証部は、上記処理装置を用いて、上記イベント発生部がイベントを入力した試験対象システムの動作結果を入力し、入力した動作結果が予定通りか否かを判定する
    ことを特徴とする試験システム。
  18. 情報を処理する処理装置を有する試験仕様生成装置が、入力したイベントにしたがって動作する試験対象システムが所期の動作をするか否かを試験するため、上記試験対象システムに入力する一連のイベントを表わすイベント列を含む試験仕様を生成する試験仕様生成方法において、
    上記処理装置が、イベント列を入力し、
    上記処理装置が、入力したイベント列を撹乱して、撹乱イベント列とし、
    上記処理装置が、撹乱した撹乱イベント列をイベント列として含む試験仕様を出力する
    ことを特徴とする試験仕様生成方法。
  19. 情報を処理する処理装置を有する試験仕様生成装置が、入力したイベントにしたがって動作する試験対象システムが所期の動作をするか否かを試験するため、上記試験対象システムに入力する一連のイベントを表わすイベント列を含む試験仕様を生成する試験仕様生成方法において、
    上記処理装置が、イベント列を入力し、
    上記処理装置が、入力したイベント列が表わす一連のイベントの各イベントについて入力タイミングを設定し、
    上記処理装置が、上記イベント列と、設定した入力タイミングとを含む試験仕様を出力する
    ことを特徴とする試験仕様生成方法。
  20. 情報を処理する処理装置を有するコンピュータを、請求項1または請求項8に記載の試験仕様生成装置として機能させることを特徴とするプログラム。
JP2007047879A 2007-02-27 2007-02-27 試験仕様生成装置及び試験システム及び試験仕様生成方法及びプログラム Expired - Fee Related JP4705060B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007047879A JP4705060B2 (ja) 2007-02-27 2007-02-27 試験仕様生成装置及び試験システム及び試験仕様生成方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007047879A JP4705060B2 (ja) 2007-02-27 2007-02-27 試験仕様生成装置及び試験システム及び試験仕様生成方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2008210275A true JP2008210275A (ja) 2008-09-11
JP4705060B2 JP4705060B2 (ja) 2011-06-22

Family

ID=39786498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007047879A Expired - Fee Related JP4705060B2 (ja) 2007-02-27 2007-02-27 試験仕様生成装置及び試験システム及び試験仕様生成方法及びプログラム

Country Status (1)

Country Link
JP (1) JP4705060B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191899A (ja) * 2009-02-20 2010-09-02 Mitsubishi Motors Corp ソフトウェア試験方法
JP2011065576A (ja) * 2009-09-18 2011-03-31 Toshiba Corp テストケース生成装置およびその方法
JP2011258067A (ja) * 2010-06-10 2011-12-22 Toshiba Corp ロバスト性向上支援装置、並びにロバスト性向上支援方法
US8838607B2 (en) 2012-10-17 2014-09-16 International Business Machines Corporation Software system test case creation
WO2015040736A1 (ja) * 2013-09-20 2015-03-26 三菱電機株式会社 プログラム検証装置及びプログラム検証方法及びプログラム
JP2015156076A (ja) * 2014-02-20 2015-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 生成装置、生成方法、及び、プログラム
JP2017173483A (ja) * 2016-03-23 2017-09-28 株式会社Subaru 訓練用データ生成装置、訓練用データ生成方法及び訓練用データ生成プログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04278643A (ja) * 1991-03-06 1992-10-05 Fujitsu Ltd 命令列生成装置
JPH04324379A (ja) * 1991-04-25 1992-11-13 Nec Corp 集積回路試験装置
JPH05143666A (ja) * 1991-11-19 1993-06-11 Ricoh Co Ltd テストパターン作成シミユレーシヨンシステム
JPH10289129A (ja) * 1997-04-15 1998-10-27 Mitsubishi Electric Corp デバック用タスクスケジューラ
JP2006112852A (ja) * 2004-10-13 2006-04-27 Yokogawa Electric Corp テストシナリオ作成方法、テストシナリオ作成装置およびテストシナリオ作成のためのプログラム
JP2006275700A (ja) * 2005-03-29 2006-10-12 Fujitsu Ltd 回路異常動作検出システム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04278643A (ja) * 1991-03-06 1992-10-05 Fujitsu Ltd 命令列生成装置
JPH04324379A (ja) * 1991-04-25 1992-11-13 Nec Corp 集積回路試験装置
JPH05143666A (ja) * 1991-11-19 1993-06-11 Ricoh Co Ltd テストパターン作成シミユレーシヨンシステム
JPH10289129A (ja) * 1997-04-15 1998-10-27 Mitsubishi Electric Corp デバック用タスクスケジューラ
JP2006112852A (ja) * 2004-10-13 2006-04-27 Yokogawa Electric Corp テストシナリオ作成方法、テストシナリオ作成装置およびテストシナリオ作成のためのプログラム
JP2006275700A (ja) * 2005-03-29 2006-10-12 Fujitsu Ltd 回路異常動作検出システム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191899A (ja) * 2009-02-20 2010-09-02 Mitsubishi Motors Corp ソフトウェア試験方法
JP2011065576A (ja) * 2009-09-18 2011-03-31 Toshiba Corp テストケース生成装置およびその方法
JP2011258067A (ja) * 2010-06-10 2011-12-22 Toshiba Corp ロバスト性向上支援装置、並びにロバスト性向上支援方法
US8838607B2 (en) 2012-10-17 2014-09-16 International Business Machines Corporation Software system test case creation
US8965887B2 (en) 2012-10-17 2015-02-24 International Business Machines Corporation Software system test case creation
WO2015040736A1 (ja) * 2013-09-20 2015-03-26 三菱電機株式会社 プログラム検証装置及びプログラム検証方法及びプログラム
JP5992107B2 (ja) * 2013-09-20 2016-09-14 三菱電機株式会社 プログラム検証装置及びプログラム検証方法及びプログラム
JP2015156076A (ja) * 2014-02-20 2015-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 生成装置、生成方法、及び、プログラム
US10394676B2 (en) 2014-02-20 2019-08-27 International Business Machines Corporation Generation device, generation method, and program
JP2017173483A (ja) * 2016-03-23 2017-09-28 株式会社Subaru 訓練用データ生成装置、訓練用データ生成方法及び訓練用データ生成プログラム

Also Published As

Publication number Publication date
JP4705060B2 (ja) 2011-06-22

Similar Documents

Publication Publication Date Title
JP4705060B2 (ja) 試験仕様生成装置及び試験システム及び試験仕様生成方法及びプログラム
US6941546B2 (en) Method and apparatus for testing a software component using an abstraction matrix
US20080320437A1 (en) Constructing Petri Nets from traces for diagnostics
CN101960448A (zh) 当前执行组件脚本的元素的识别
US8732676B1 (en) System and method for generating unit test based on recorded execution paths
JPH11328251A (ja) モデル検査のための動作環境を自動的に生成する方法
CN109299530B (zh) 一种仿真测试案例生成方法、系统、存储介质和终端
US20070162427A1 (en) Query parameter output page finding method, query parameter output page finding apparatus, and computer product
US5754442A (en) Path analyzing displaying apparatus for designing logic circuit
US6442741B1 (en) Method of automatically generating schematic and waveform diagrams for analysis of timing margins and signal skews of relevant logic cells using input signal predictors and transition times
Rozinat et al. Process mining of test processes: A case study
US6985840B1 (en) Circuit property verification system
US8418119B2 (en) Logical circuit netlist reduction and model simplification using simulation results containing symbolic values
KR101460860B1 (ko) 상태 기반의 테스트 시나리오 모델을 이용한 gui 테스트 장치 및 방법
US7840924B2 (en) Apparatus, method, and program for verifying logic circuit operating with multiple clock signals
US20090259610A1 (en) Verification support apparatus, verification support method, and computer product
Li et al. Soncraft: A tool for construction, simulation, and analysis of structured occurrence nets
CN115176233B (zh) 以确定性顺序执行测试
US8719775B1 (en) Methods and apparatus for recording and playback of an executed process
GB2397905A (en) Method for automatically generating and ordering test scripts
KR101271232B1 (ko) 소프트웨어 테스트 장치 및 그 방법
US20080281549A1 (en) Test Apparatus for Control Unit, Pattern Signal Creating Apparatus, and Test Program Generating Apparatus
JP7040003B2 (ja) グラフ生成方法、情報処理装置およびグラフ生成プログラム
JP4747036B2 (ja) Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法
KR101012805B1 (ko) 모듈러 메시지들의 수정 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091027

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100817

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100917

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110310

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees