JP6647729B2 - テストケース抽出装置、テストケース抽出方法及びプログラム - Google Patents

テストケース抽出装置、テストケース抽出方法及びプログラム Download PDF

Info

Publication number
JP6647729B2
JP6647729B2 JP2016067339A JP2016067339A JP6647729B2 JP 6647729 B2 JP6647729 B2 JP 6647729B2 JP 2016067339 A JP2016067339 A JP 2016067339A JP 2016067339 A JP2016067339 A JP 2016067339A JP 6647729 B2 JP6647729 B2 JP 6647729B2
Authority
JP
Japan
Prior art keywords
state transition
information
partial
model
test case
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.)
Active
Application number
JP2016067339A
Other languages
English (en)
Other versions
JP2017182379A (ja
Inventor
渡辺 政彦
政彦 渡辺
泰仁 有本
泰仁 有本
Original Assignee
キャッツ株式会社
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 キャッツ株式会社 filed Critical キャッツ株式会社
Priority to JP2016067339A priority Critical patent/JP6647729B2/ja
Publication of JP2017182379A publication Critical patent/JP2017182379A/ja
Application granted granted Critical
Publication of JP6647729B2 publication Critical patent/JP6647729B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、システムの状態遷移モデルを表す状態遷移情報から、前記状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路を表すテスト経路情報をテストケースの情報として抽出するテストケース抽出装置、テストケース抽出方法、及び前記テストケース抽出装置での処理をコンピュータに行わせるためのプログラムに関する。
従来、例えば、特許文献1に記載されるテストケース作成装置が知られている。このテストケース作成装置は、あるシステム(対象物:例えば、自動空調システム)の動作仕様を表す階層関係にある複数の状態遷移図(特許文献1の図1参照)からそのシステムの動作検証を行うためのテストケースを作成する。テストケースは、動作検証すべきシステムの動作の流れ、即ち、状態遷移、の正当性を確認するためのテストの対象とすべき状態遷移図における遷移系列(状態遷移経路群)として表される。このテストケース作成装置では、複数の状態遷移図のそれぞれにおいて、それら複数の状態遷移図における階層間の状態の組合せを考慮したうえで、全ての状態遷移が網羅されるように(遷移の十分性が100%)、状態遷移系列(状態遷移経路群)がテストケースとして作成される。そして、コンピュータの処理により、各状態遷移図において、上記のように作成されたテストケース、即ち、状態遷移系列(状態遷移経路群)に沿って動作(イベント、アクション等)が確認され、例えば、仕様と異なる状況が発生するか否か、即ち、状態遷移の正当性、が確認される。
特開平7−253905号公報
近年、システムの動作の複雑化に伴って、前述した階層関係にある複数の状態遷移図(状態遷移情報)も複雑になる傾向にある。このような傾向において、1つの状態遷移モデル(状態遷移図等の状態遷移情報にて表される)での状態遷移の正当性が、その状態遷移モデルと階層関係にある他の状態遷移モデルでの動作に影響を受ける場合が発生し得る(状態遷移モデル同士の干渉)。例えば、一方の状態遷移モデルにおいて変数の書き込みがあり、他方の状態遷移モデルにおいてその変数を参照して状態遷移が決められるという場合、前記他方の状態遷移モデルでは、状態遷移がその変数の書き込み結果に影響される。しかしながら、前述した従来のテストケース作成装置では、そのような状態遷移の正当性を確認するためのテストケースについて、何ら考慮されていない。このため、階層関係にある2つの部分的な状態遷移モデルを含む状態遷移モデルでの状態遷移の正当性を精度良く確認することが難しい場合があった。
本発明は、このような事情に鑑みてなされたもので、階層関係にある2つの部分的な状態遷移モデルを含む状態遷移モデルでの状態遷移の正当性を精度良く確認可能なテストケースを得ることのできるテストケース抽出装置、テストケース抽出方法及び該テストケース抽出装置での処理をコンピュータに行わせるためのプログラムを提供するものである。
本発明に係るテストケース抽出装置は、情報を処理する処理ユニットを有するコンピュータにより構成され、対象のシステムにおいてある状態でのイベント発生により状態遷移が発生するという当該システムの状態遷移モデルを表す状態遷移情報から、前記状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路を表すテスト経路情報をテストケースの情報として抽出するテストケース抽出装置であって、前記状態遷移情報は、前記状態遷移モデルの一部を構成する第1部分状態遷移モデルを表す第1部分状態遷移情報と、前記状態遷移モデルの一部を構成し、前記第1部分状態遷移モデルと階層関係にあって相互間で移行可能な第2部分状態遷移モデルを表す第2部分状態遷移情報とを含み、前記第1部分状態遷移情報及び前記第2部分状態遷移情報を処理する前記処理ユニットは、前記第1部分状態遷移モデルにおいて、初期状態から開始して、変数への書き込み処理を伴う状態遷移の後に、当該変数に対する書き込みが行われることなく前記第2部分状態遷移モデルに移行し、該第2部分状態遷移モデルにおける前記変数を参照する処理を伴う状態遷移までの経路を表すテスト経路情報を前記テストケースの情報として抽出するテスト経路抽出手段を有する構成となる。
また、本発明に係るテストケース抽出方法は、対象のシステムにおいてある状態でのイベント発生により状態遷移が発生するという当該システムの状態遷移モデルを表す状態遷移情報から、前記状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路を表すテスト経路情報をテストケースの情報として抽出するテストケース抽出方法であって、前記状態遷移モデルの一部を構成する第1部分状態遷移モデルを表す第1部分状態遷移情報と、前記状態遷移モデルの一部を構成し、前記第1部分状態遷移モデルと階層関係にあって相互間で移行可能な第2部分状態遷移モデルを表す第2部分状態遷移情報とを含む前記状態遷移情報を処理する処理ステップを有し、該処理ステップは、前記第1部分状態遷移モデルにおいて、初期状態から開始して、変数への書き込み処理を伴う状態遷移の後に、当該変数に対する書き込みが行われることなく前記第2部分状態遷移モデルに移行し、該第2部分状態遷移モデルにおける前記変数を参照する処理を伴う状態遷移までの経路を表すテスト経路情報を前記テストケースの情報として抽出するテスト経路抽出ステップを有する構成となる。
更に、本発明に係るプログラムは、対象のシステムにおいてある状態でのイベント発生により状態遷移が発生するという当該システムの状態遷移モデルを表す状態遷移情報から、前記状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路を表すテスト経路情報をテストケースの情報として抽出するテストケース抽出装置での処理をコンピュータに行わせるプログラムであって、前記状態遷移モデルの一部を構成する第1部分状態遷移モデルを表す第1部分状態遷移情報と、前記状態遷移モデルの一部を構成し、前記第1部分状態遷移モデルと階層関係にあって相互間で移行可能な第2部分状態遷移モデルを表す第2部分状態遷移情報とを含む前記状態遷移情報を処理する処理ステップを前記コンピュータに行わせ、該処理ステップは、前記第1部分状態遷移モデルにおいて、初期状態から開始して、変数への書き込み処理を伴う状態遷移の後に、当該変数に対する書き込みが行われることなく前記第2部分状態遷移モデルに移行し、該第2部分状態遷移モデルにおける前記変数を参照する処理を伴う状態遷移までの経路を表すテスト経路情報を前記テストケースの情報として抽出するテスト経路抽出ステップを有する構成となる。
これらの構成により、階層関係にある第1部分状態遷移モデルと第2部分状態遷移モデルとを含む状態遷移モデルのテストケースの抽出に際して、前記第1部分状態遷移モデルにおいて、初期状態から開始して、変数への書き込みを伴う状態遷移の後に、当該変数に対する書き込みが行われることなく前記第2部分状態遷移モデルに移行し、該第2部分状態遷移モデルにおける前記変数を参照する処理を伴う状態遷移までの経路を表すテスト経路が抽出される。このようなテスト経路を前記状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすることにより、第1部分状態遷移モデルで影響を受けた変数を第2部分状態遷移モデルで参照して状態遷移することの正当性を確認することができる。
本発明に係るテストケース抽出装置、テストケース抽出方法及びプログラムによれば、階層関係にある2つの部分的な状態遷移モデルを含む状態遷移モデルでの状態遷移の正当性を精度良く確認可能なテストケースを得ることができる。
本発明の実施の形態に係るテストケース抽出装置が構成されるコンピュータ(PC)のハードウエア構成を示すブロック図である。 階層関係にある親状態遷移モデル(親状態遷移表)と子状態遷移モデル(子状態遷移表)を含む状態遷移モデルから抽出されるテストケース(テスト経路Ptest)の一例を示す図である。 親状態遷移表(Parent)の一例を示す図である。 図3に示す親状態遷移表(Parent)に対応する親状態遷移図を示す図である。 子状態遷移表(Child)の一例を示す図である。 図5に示す子状態遷移表(Child)に対応する子状態遷移図を示す図である。 テストケース(テスト経路)を抽出する処理の手順を示すフローチャートである。 図7に示すフローチャートにおける干渉テストケース抽出処理の具体的な処理手順(その1)を示すフローチャートである。 図7に示すフローチャートにおける干渉テストケース抽出処理の具体的な処理手順(その2)を示すフローチャートである。 干渉テストケース抽出処理により抽出されるテストケース(テスト経路)の一例、及びそのテストケースにおける変数の状況の一例を示す図である。 干渉テストケール抽出処理により抽出されるテストケース(テスト経路)の他の一例、及びそのテストケースにおける変数の状況の他の一例を示す図である。
以下、本発明の実施の形態について図面を用いて説明する。
本発明の実施の形態に係るテストケース抽出装置が構成されるコンピュータ(PC)は、例えば、図1に示すハードウエア構成となる。
図1において、このコンピュータ(テストケース抽出装置)は、例えば、パーソナルコンピュータ(PC)であって、プログラムに従って種々の処理を実行する処理ユニット(CPU)11を有している。処理ユニット101には、バス107を介してメモリ102、ハードディスク装置等の外部記憶装置103、マウス、キーボード等の操作部105及び表示部106が接続されている。外部記憶装置103には、テストケース抽出の処理に供される状態遷移モデルを記述した状態遷移表の情報(状態遷移情報)が格納され、また、そのテストケース抽出の処理に係るプログラムが格納されている。処理ユニット101は、外部記憶装置103から前記状態遷移表(状態遷移モデル)の情報を読み出してメモリ102の所定領域に展開するとともに、前記プログラムをメモリ102に読み出し、そのプログラムに従って、メモリ102に展開された状態遷移表の情報を対象としたテストケース抽出に係る処理を実行する。処理ユニット101での処理の実行により生成される各種情報が表示器106に表示される。
テストケース抽出に係る処理の対象となる状態遷移モデルは、階層関係にある2つの部分状態遷移モデル、例えば、図2に示すように、上位層の親状態遷移モデルSTT1(Parent)と下位層の子状態遷移モデルSTT2(Child)とを含む。外部記憶装置103には、親状態遷移モデルSTT1(Parent)を記述する親状態遷移表(Parent)の情報と、子状態遷移モデルSTT2(Child)を記述する子状態遷移表(Child)の情報とを含む状態遷移情報が格納されている。そして、処理ユニット101は、前記親状態遷移表(Parent)の情報及び前記子状態遷移表(Child)の情報を含む状態遷移情報から、前記状態遷移モデルの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路(テスト経路という)Ptest(図2参照)を表すテスト経路情報を抽出するテストケース抽出に係る処理を実行する。
テストケース抽出に係る処理の対象となる状態遷移モデルを表す状態遷移情報は、例えば、図2に示すように階層関係にある、図3に示す親状態遷移表(Parent)の情報と図5に示す子状態遷移表(Child)の情報とを含む。
図3に示す親状態遷移表(Parent)は、図4に示す状態遷移図に示す状態遷移群を表している。この親状態遷移表(Parent)は、具体的には、
状態S00でイベントE00が発生すると、状態S01に遷移し、
状態S01でイベントE00が発生すると、変数A=1にして(アクション)、状態S01に維持(遷移)し、
状態S00でイベントE01が発生すると、変数Aが1の場合、プロセス00を実行して、状態S00に維持(遷移)し、変数Aがそれ以外の場合、プロセス01を実行して状態S01に遷移し、
状態S00でイベントE02が発生すると、子状態遷移モデル(子状態遷移表(Child))に移行して、状態S02に遷移し、
状態S02でイベントE02が発生すると、子状態遷移モデル(子状態遷移表(Child))に移行して、状態S00に遷移する、等
のような状態遷移群を表している。
図5に示す子状態遷移表(Child)は、図6に示す状態遷移図に示す状態遷移群を表している。この子状態遷移表(Child)は、具体的には、
状態S10でイベントE02の下位概念であるイベントE10が発生すると、状態S11に遷移し、
状態S11でイベントE02の下位概念であるイベントE11が発生すると、変数A=0にして状態S12に遷移し、
状態S12でイベントE12が発生すると、変数Aが0の場合、プロセス10を実行して、状態S12に維持(遷移)し、変数Aがそれ以外の場合、プロセス11を実行して、状態S10に遷移する、等
のような状態遷移群を表している。
上述したように階層関係にある図3に示す親状態遷移表(Parent)と図5に示す子状態遷移表とを含む状態遷移表の情報を対象として、処理ユニット101は、図7に示す手順に従って、テストケース抽出に係る処理を実行する。
図7において、処理ユニット101は、親状態遷移表(Parent)(図3参照)の情報を読み出してメモリ102に展開し(S10)、この親状態遷移表(Parent)の情報(状態遷移情報)から、公知の手法(例えば、N−スイッチ網羅基準)に従って、親状態遷移モデルについてのテストケース抽出処理を実行する(S20)。このテストケース抽出処理では、親状態遷移表(親状態遷移モデル)での状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路(テスト経路)を表すテスト経路情報が抽出される。
次いで、処理ユニット101は、子状態遷移表(Child)(図5参照)の情報を読み出してメモリ102に展開し(S30)、この子状態遷移表(Child)の情報(状態遷移情報)から、子状態遷移モデルについてのテストケース抽出処理を実行する(S40)。このテストケース抽出処理では、子状態遷移表(Child)の情報から、公知の手法(例えば、N−スイッチ網羅基準)に従って、子状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路(テイスト経路)を表すテスト経路情報が抽出される。
上述したように、親状態遷移表(Parent)の情報及び子状態遷移表(Child)の情報のそれぞれからテスト経路情報が抽出されると、処理ユニット101は、一方の状態遷移モデルで変数への書き込みを伴う状態遷移と、他方の状態遷移モデルでその変数を参照する処理を伴う状態遷移とを含む状態遷移経路を、干渉テストケースを表す状態遷移経路として抽出する干渉テストケース抽出処理を実行する(50:テスト経路抽出手段)。この干渉テストケース抽出処理は、図8及び図9に示す手順に従って行われる。
図8において、処理ユニット101は、親状態遷移表(Parent)の情報及び子状態遷移表(Child)の情報から変数を抽出する(S501)。処理ユニット101は、抽出された変数から1つの変数を選択し(S502)、その変数への書き込みが親状態遷移表(Parent:第1部分状態遷移表)において行なわれるか否かを判定する(S503)。例えば、図3に示す親状態遷移表(Parent)及び図5に示す子状態遷移表(Child)から抽出される変数Aは、親状態遷移表(Parent)において書き込みが行われると判定される。前記変数への書き込みが親状態遷移表(Parent)で行われると判定されると(S503でYES)、処理ユニット101は、この親状態遷移表(Parent)において書き込みが行われると判定された変数が子状態遷移表(Child:第2部分状態遷移表)において参照されるか否かを判定する(S504)。例えば、図5に示す子状態遷移表(Child)において前記変数Aが参照されると判定される。
なお、前記変数への書き込みが親状態遷移表(Parent)において行なわれないと判定された場合(S503でNO)、後述する図9に示す処理が実行される。また、親状態遷移表(Parent)において書き込みが行われると判定された変数(S503でYES)が子状態遷移表(Child)において参照されないと判定されると(S504でNO)、抽出された変数から次の変数が選択され(S502)、その選択された変数について、親状態遷移表(Parent)で書き込みが行われるか否か(S503)、子状態遷移表(Child)で参照されるか否か(S504)の各判定が行われる。
親状態遷移表(Parent)で書き込みが行われ(S503でYES)、子状態遷移表(Child)で参照される(S504でYES)変数について、次のような処理が実行される。
処理ユニット101は、その変数への書き込みが親状態遷移表(Parent)において行なわれる箇所を特定する(S505)。例えば、図3に示す親状態遷移表(Parent)では、「状態S01でイベントE00が発生して状態S01に遷移(維持)する」箇所が、変数Aへの書き込み(A=1)が行われる箇所として特定される。処理ユニット101は、前記変数について特定された書き込み箇所から1つの書き込み箇所を選択し(S506)、その変数が子状態遷移表(Child)で参照される箇所を特定する(S507)。例えば、図5に示す子状態遷移表(Child)では、変数Aは、「状態S12でイベントE12が発生して状態S12または状態S10に遷移」する箇所で、参照(A==0又はelseの判定)される。
このように参照箇所が特定されると、処理ユニット101は、特定された参照箇所から1つの参照箇所を選択し(S508)、その参照箇所と、前記書き込み箇所とに基づいて干渉テストケースを表す干渉テスト経路情報を抽出する(S509)。具体的には、親状態遷移表(Parent)の所定の初期状態から、遷移を開始して、その変数への書き込みを伴う状態遷移が行われた後に、その変数の書き込みが行われることなく、子状態遷移表(Child)に移行し、その変数を参照する処理を伴う状態遷移までの最短の経路を表す情報が干渉テスト経路(干渉テストケース)情報として抽出される。例えば、図3に示す親状態遷移表(Parent)で書き込みが行われる変数Aが、図5に示す子状態遷移表(Child)で参照される場合、図10に示すように、親状態遷移表(Parent)において初期状態S00から、順次状態遷移を開始し、状態S01でイベントE00が発生したときに変数Aへの書き込み(A=1)を伴って状態S01に遷移した後、変数Aへの書き込みが行われることなく、子状態遷移表(Child)に移行し、状態S12でイベントE12が発生したときに変数Aを参照する処理を伴って状態S10に遷移するまでの最短の経路を表す情報が干渉テスト経路(干渉テストケース)情報として抽出される。
選択された1つの変数について、親状態遷移表(Parent)における全ての書き込み箇所及び子状態遷移表(Child)における全ての参照箇所について同様の処理が行われ(S510、S511)、対応する全ての干渉テストケースを表す干渉テストケース情報が抽出される(S509)。そして、その処理が終了すると(S510でYES、S511でYES)、処理ユニット101は、図9に示す処理を実行する。この図9に示す処理は、前記選択された1つの変数について、子状態遷移表(Child)において書き込みを伴う状態遷移と、親状態遷移(Parent)において参照する処理を伴う状態遷移を含む状態遷移経路が干渉テスト経路(干渉テストケース)として抽出される。
図9において、処理ユニット101は、選択された前記変数への書き込みが子状態遷移表(Child:第1部分状態遷移表)において行なわれるか否かを判定する(S520)。例えば、前記変数Aは、図5に示す子状態遷移表(Child)において書き込みが行われると判定される。前記変数への書き込みが子状態遷移表(Child)で行われると判定されると(S520でYES)、処理ユニット101は、この子状態遷移表(child)において書き込みが行われると判定された変数が親状態遷移表(Parent:第2部分状態遷移表)において参照されるか否かを判定する(S521)。例えば、図3に示す親状態遷移表(Parent)において前記変数Aが参照されると判定される。
なお、前記変数への書き込みが子状態遷移表(Child)において行なわれないと判定された場合(S520でNO)、後述する全ての変数についての処理がまだ終了していないことを確認して(S529でNO)、次の変数についての処理に移行する(図8におけるS502)。また、子状態遷移表(Child)において書き込みが行われると判定された変数(S520でYES)が親状態遷移表(Parent)において参照されないと判定された場合も(S521でNO)、次の変数についての処理に移行する(図8におけるS502)。
子状態遷移表(Child)で書き込みが行われ(S520でYES)、親状態遷移表(Parent)で参照される(S521でYES)変数について、次のような処理が実行される。
処理ユニット101は、その変数への書き込みが子状態遷移表(Child)において行なわれる箇所を特定する(S522)。例えば、図5に示す子状態遷移表(Child)では、「状態S11でイベントE11が発生して状態S12に遷移する」箇所が、変数Aへの書き込み(A=0)が行われる箇所として特定される。処理ユニット101は、前記変数について特定された書き込み箇所から1つの書き込み箇所を選択し(S523)、その変数が親状態遷移表(Parent)で参照される箇所を特定する(S524)。例えば、図3に示す親状態遷移表(Parent)では、変数Aは、「状態S00でイベントE01が発生して状態S00または状態S01に遷移」する箇所で、参照(A==1又はelseの判定)される。
このように参照箇所が特定されると、処理ユニット101は、特定された参照箇所から1つの参照箇所を選択し(S525)、その参照箇所と、前記書き込み箇所とに基づいて干渉テストケースを表す干渉テスト経路情報を抽出する(S526)。具体的には、子状態遷移表(Child)の所定の初期状態から、遷移を開始して、その変数への書き込みを伴う状態遷移が行われた後に、その変数の書き込みが行われることなく、親状態遷移表(Parent)に移行し、その変数を参照する処理を伴う状態遷移までの最短の経路を表す情報が干渉テスト経路(干渉テストケース)情報として抽出される。例えば、図5に示す子状態遷移表(Child)で書き込みが行われる変数Aが、図3に示す親状態遷移表(Parent)で参照される場合、図11に示すように、子状態遷移表(Child)において初期状態S10から、順次状態遷移を開始し、状態S11でイベントE11が発生したときに変数Aへの書き込み(A=0)を伴って状態S12に遷移した後、変数Aへの書き込みが行われることなく、親状態遷移表(Parent)に移行し、状態S00でイベントE01が発生したときに変数Aを参照する処理を伴って状態S01に遷移するまでの最短の経路を表す情報が干渉テスト経路(干渉テストケース)情報として抽出される。
選択された1つの変数について、子状態遷移表(Child)における全ての書き込み箇所及び親状態遷移表(Parent)における全ての参照箇所について同様の処理が行われ(S527、S528)、対応する全ての干渉テストケースを表す干渉テストケース情報が抽出される(S526)。そして、その処理が終了すると(S527でYES、S528でYES)、処理ユニット101は、全ての変数についての処理が終了したか否かを判定し(S529)、全ての変数についての処理が終了していなければ(S529でNO)、処理ユニット101は、図8に示す処理に移行して、次の変数を選択し(S502)、上述したのと同様の処理を実行する。一方、親状態遷移表(Parent)及び子状態遷移表(Child)から抽出された全ての変数についての処理が終了していると(S529でYES)、処理ユニット101は、干渉テストケース抽出処理を終了する。
上述したようにして(図7、図8、図9参照)、親状態遷移表(Parent)(図3参照)の情報から抽出された(図7に示すS20参照)、親状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路(テスト経路)を表すテスト経路情報と、子状態遷移情報(Child)(図5参照)から抽出された(図7に示すS40参照)、子状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路(テイスト経路)を表すテスト経路情報と、親状態遷移表(Parent)及び子状態遷移モデルから抽出された(図7に示すS50及び図8、図9参照)、親状態遷移モデル及び子状態遷移モデルのうちの一方の状態遷移モデルで変数への書き込みを伴う状態遷移と、他方の状態遷移モデルでその変数を参照する処理を伴う状態遷移とを含む干渉テスト経路を表す干渉テスト経路情報とが、対象のシステムに対応する状態遷移モデルでの状態遷移の正当性を確認すべきテストの対象とすべきテスト経路を表すテスト経路情報として抽出される。
上述したような本発明の実施の形態に係るテストケース抽出装置では、階層関係にある親状態遷移モデル(親状態遷移表(Parent))と、子状態遷移モデル(子状態遷移表(Child))とを含む状態遷移モデルのテストケース(テスト経路)の抽出に際して、親状態遷移モデル(第1部分状態遷移モデル)において、初期状態から開始して、変数への書き込みを伴う状態遷移の後に、当該変数への書き込みが行われることなく、子状態遷移モデル(第2部分状態遷移モデル)に移行し、該子状態遷移モデルにおける前記変数を参照する処理を伴う状態遷移までの経路、及び子状態遷移モデル(第1部分状態遷移モデル)において、初期状態から開始して、変数への書き込みを伴う状態遷移の後に、当該変数への書き込みが行われることなく、親状態遷移モデル(第2部分状態遷移モデル)に移行し、該親状態遷移モデルにおける前記変数を参照する処理を伴う状態遷移までの経路のそれぞれがテスト経路として抽出される。このようなテスト経路を前記状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすることにより、第1部分状態遷移モデル(親状態遷移モデル又はお子状態遷移モデル)で影響を受けた変数を第2部分状態遷移モデル(子状態遷移モデル又は親状態遷移モデル)で参照して状態遷移することの正当性を確認することができる。従って階層関係にある親状態遷移モデル及び子状態遷移モデルを含む状態遷移モデルでの状態遷移の正当性を精度良く確認可能なテストケースを得ることができる。
なお、上述した実施の形態では、親状態遷移表(Parent)の所定の初期状態から、遷移を開始して、その変数への書き込みを伴う状態遷移が行われた後に、その変数の書き込みが行われることなく、子状態遷移表(Child)に移行し、その変数を参照する処理を伴う状態遷移までの最短の経路を表す情報が干渉テスト経路(干渉テストケース)情報として抽出された。また、子状態遷移表(Child)の所定の初期状態から、遷移を開始して、その変数への書き込みを伴う状態遷移が行われた後に、その変数の書き込みが行われることなく、親状態遷移表(Parent)に移行し、その変数を参照する処理を伴う状態遷移までの最短の経路を表す情報が干渉テスト経路(干渉テストケース)情報として抽出された。しかし、干渉テスト経路として抽出される経路は、最短の経路でなくてもよい。
以上、本発明の実施の形態について説明したが、この実施は、一例として提示したものであり、発明の範囲を限定することは意図していない。上述したこれら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施の形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明に含まれる。
本発明に係るテストケース抽出装置、テストケース抽出方法及びプログラムは、階層関係にある2つの部分的な状態遷移モデルを含む状態遷移モデルでの状態遷移の正当性を精度良く確認可能なテストケースを得ることができるという効果を有し、テストケース抽出装置、テストケース抽出方法、及び前記テストケース抽出装置での処理をコンピュータに行わせるためのプログラムとして有用である。
101 処理ユニット
102 メモリ
103 外部記憶装置
105 操作部
106 表示部
107 バス

Claims (9)

  1. 情報を処理する処理ユニットを有するコンピュータにより構成され、
    対象のシステムにおいてある状態でのイベント発生により状態遷移が発生するという当該システムの状態遷移モデルを表す状態遷移情報から、前記状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路を表すテスト経路情報をテストケースの情報として抽出するテストケース抽出装置であって、
    前記状態遷移情報は、前記状態遷移モデルの一部を構成する第1部分状態遷移モデルを表す第1部分状態遷移情報と、前記状態遷移モデルの一部を構成し、前記第1部分状態遷移モデルと階層関係にあって相互間で移行可能な第2部分状態遷移モデルを表す第2部分状態遷移情報とを含み、
    前記第1部分状態遷移情報及び前記第2部分状態遷移情報を処理する前記処理ユニットは、
    前記第1部分状態遷移モデルにおいて、初期状態から開始して、変数への書き込み処理を伴う状態遷移の後に、当該変数に対する書き込みが行われることなく前記第2部分状態遷移モデルに移行し、該第2部分状態遷移モデルにおける前記変数を参照する処理を伴う状態遷移までの経路を表すテスト経路情報を前記テストケースの情報として抽出するテスト経路抽出手段を有するテストケース抽出装置。
  2. 前記テスト経路抽出手段は、最短経路を表す前記テスト経路情報を抽出する請求項1記載のテストケース抽出装置。
  3. 前記状態遷移情報は、前記状態遷移モデルを記述した状態遷移表を表す情報であって、
    前記第1部分状態遷移情報は、前記第1部分状態遷移モデルを記述した第1部分状態遷移表を表す情報であり、
    前記第2部分状態遷移情報は、前記第2部分状態遷移モデルを記述した第2部分状態遷移表を表す情報である請求項1または2に記載のテストケース抽出装置。
  4. 対象のシステムにおいてある状態でのイベント発生により状態遷移が発生するという当該システムの状態遷移モデルを表す状態遷移情報から、前記状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路を表すテスト経路情報をテストケースの情報として抽出するテストケース抽出方法であって、
    前記状態遷移モデルの一部を構成する第1部分状態遷移モデルを表す第1部分状態遷移情報と、前記状態遷移モデルの一部を構成し、前記第1部分状態遷移モデルと階層関係にあって相互間で移行可能な第2部分状態遷移モデルを表す第2部分状態遷移情報とを含む前記状態遷移情報を処理する処理ステップを有し、
    該処理ステップは、
    前記第1部分状態遷移モデルにおいて、初期状態から開始して、変数への書き込み処理を伴う状態遷移の後に、当該変数に対する書き込みが行われることなく前記第2部分状態遷移モデルに移行し、該第2部分状態遷移モデルにおける前記変数を参照する処理を伴う状態遷移までの経路を表すテスト経路情報を前記テストケースの情報として抽出するテスト経路抽出ステップを有するテストケース抽出方法。
  5. 前記テスト経路抽出ステップは、最短経路を表す前記テスト経路情報を抽出する請求項4記載のテストケース抽出方法。
  6. 前記状態遷移情報は、前記状態遷移モデルを記述した状態遷移表を表す情報であって、
    前記第1部分状態遷移情報は、前記第1部分状態遷移モデルを記述した第1部分状態遷移表を表す情報であり、
    前記第2部分状態遷移情報は、前記第2部分状態遷移モデルを記述した第2部分状態遷移表を表す情報である請求項4または5に記載のテストケース抽出方法。
  7. 対象のシステムにおいてある状態でのイベント発生により状態遷移が発生するという当該システムの状態遷移モデルを表す状態遷移情報から、前記状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路を表すテスト経路情報をテストケースの情報として抽出するテストケース抽出装置での処理をコンピュータに行わせるプログラムであって、
    前記状態遷移モデルの一部を構成する第1部分状態遷移モデルを表す第1部分状態遷移情報と、前記状態遷移モデルの一部を構成し、前記第1部分状態遷移モデルと階層関係にあって相互間で移行可能な第2部分状態遷移モデルを表す第2部分状態遷移情報とを含む前記状態遷移情報を処理する処理ステップを前記コンピュータに行わせ、
    該処理ステップは、
    前記第1部分状態遷移モデルにおいて、初期状態から開始して、変数への書き込み処理を伴う状態遷移の後に、当該変数に対する書き込みが行われることなく前記第2部分状態遷移モデルに移行し、該第2部分状態遷移モデルにおける前記変数を参照する処理を伴う状態遷移までの経路を表すテスト経路情報を前記テストケースの情報として抽出するテスト経路抽出ステップを有するプログラム。
  8. 前記テスト経路抽出ステップは、最短経路を表す前記テスト経路情報を抽出する請求項7記載のプログラム。
  9. 前記状態遷移情報は、前記状態遷移モデルを記述した状態遷移表を表す情報であって、
    前記第1部分状態遷移情報は、前記第1部分状態遷移モデルを記述した第1部分状態遷移表を表す情報であり、
    前記第2部分状態遷移情報は、前記第2部分状態遷移モデルを記述した第2部分状態遷移表を表す情報である請求項7または8に記載のプログラム。
JP2016067339A 2016-03-30 2016-03-30 テストケース抽出装置、テストケース抽出方法及びプログラム Active JP6647729B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016067339A JP6647729B2 (ja) 2016-03-30 2016-03-30 テストケース抽出装置、テストケース抽出方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016067339A JP6647729B2 (ja) 2016-03-30 2016-03-30 テストケース抽出装置、テストケース抽出方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2017182379A JP2017182379A (ja) 2017-10-05
JP6647729B2 true JP6647729B2 (ja) 2020-02-14

Family

ID=60007459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016067339A Active JP6647729B2 (ja) 2016-03-30 2016-03-30 テストケース抽出装置、テストケース抽出方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6647729B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256591A (zh) * 2020-11-12 2021-01-22 北京联创信安科技股份有限公司 一种测试用例生成方法、装置、测试设备及存储介质
CN117573563B (zh) * 2024-01-15 2024-05-24 成方金融科技有限公司 一种自动化测试案例调度系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219819A (ja) * 1993-12-10 1995-08-18 Nec Corp プログラム評価データ作成方法
JP3415310B2 (ja) * 1994-01-26 2003-06-09 株式会社東芝 テストケース作成装置
US8732676B1 (en) * 2007-08-29 2014-05-20 Parasoft Corporation System and method for generating unit test based on recorded execution paths
JP6113599B2 (ja) * 2013-07-23 2017-04-12 株式会社東芝 検査モデル生成装置

Also Published As

Publication number Publication date
JP2017182379A (ja) 2017-10-05

Similar Documents

Publication Publication Date Title
TWI529551B (zh) 用於實作圖形可編輯參數化單元之系統及方法
US8843892B2 (en) Visual representations of code in application development environments
US20160328496A1 (en) System and method for editing a model
JP6801383B2 (ja) 設計支援プログラム、設計支援方法、および情報処理装置
JP6647729B2 (ja) テストケース抽出装置、テストケース抽出方法及びプログラム
US20160078154A1 (en) Digital circuit design method and associated computer program product
JP2013246644A (ja) ソフトウェアオブジェクト修正支援装置、ソフトウェアオブジェクト修正支援方法、および、プログラム
JP2006106865A (ja) 論理回路設計検証装置および方法、プログラム
JP2006350420A (ja) レイアウト検証用ルールファイルのテスト装置、テスト方法及びテストプログラム
US8462154B2 (en) System and method for determining a virtual curve in an object model
WO2016060772A1 (en) Machine tool post configurator systems and methods
JP6645276B2 (ja) テスト装置、テスト方法、及びテストプログラム
JP5640790B2 (ja) 検証支援プログラム、検証支援装置、および検証支援方法
JP4881769B2 (ja) 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム
JP2009134360A (ja) モデル検査システム、モデル検査方法およびモデル検査用プログラム
CN106415554B (zh) 在具有相交跳动部的多个相邻腹板面上的航空摇动
US20160267201A1 (en) Method for construction of a step feature in a 3d model
JP2009223803A (ja) 状態遷移表処理方法及び状態遷移表処理プログラム
Canny Interactive system testing: beyond GUI testing
JP6807721B2 (ja) 状態遷移編集装置および状態遷移編集プログラム
JP5370257B2 (ja) 検証支援プログラム、検証支援装置および検証支援方法
US20160125329A1 (en) System and method for configuration-managed lifecycle diagrams
US20190278872A1 (en) Method for patching a sheet body to a target body
JP2008117110A (ja) 機能検証方法及び機能検証装置
JP5825409B2 (ja) 検証支援プログラム、検証支援装置、および検証支援方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191209

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200109

R150 Certificate of patent or registration of utility model

Ref document number: 6647729

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250