特許第6647729号(P6647729)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キャッツ株式会社の特許一覧

特許6647729テストケース抽出装置、テストケース抽出方法及びプログラム
<>
  • 特許6647729-テストケース抽出装置、テストケース抽出方法及びプログラム 図000002
  • 特許6647729-テストケース抽出装置、テストケース抽出方法及びプログラム 図000003
  • 特許6647729-テストケース抽出装置、テストケース抽出方法及びプログラム 図000004
  • 特許6647729-テストケース抽出装置、テストケース抽出方法及びプログラム 図000005
  • 特許6647729-テストケース抽出装置、テストケース抽出方法及びプログラム 図000006
  • 特許6647729-テストケース抽出装置、テストケース抽出方法及びプログラム 図000007
  • 特許6647729-テストケース抽出装置、テストケース抽出方法及びプログラム 図000008
  • 特許6647729-テストケース抽出装置、テストケース抽出方法及びプログラム 図000009
  • 特許6647729-テストケース抽出装置、テストケース抽出方法及びプログラム 図000010
  • 特許6647729-テストケース抽出装置、テストケース抽出方法及びプログラム 図000011
  • 特許6647729-テストケース抽出装置、テストケース抽出方法及びプログラム 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6647729
(24)【登録日】2020年1月17日
(45)【発行日】2020年2月14日
(54)【発明の名称】テストケース抽出装置、テストケース抽出方法及びプログラム
(51)【国際特許分類】
   G06F 11/36 20060101AFI20200203BHJP
【FI】
   G06F11/36 184
【請求項の数】9
【全頁数】14
(21)【出願番号】特願2016-67339(P2016-67339)
(22)【出願日】2016年3月30日
(65)【公開番号】特開2017-182379(P2017-182379A)
(43)【公開日】2017年10月5日
【審査請求日】2019年2月19日
(73)【特許権者】
【識別番号】598088871
【氏名又は名称】キャッツ株式会社
(74)【代理人】
【識別番号】100097205
【弁理士】
【氏名又は名称】樋口 正樹
(72)【発明者】
【氏名】渡辺 政彦
(72)【発明者】
【氏名】有本 泰仁
【審査官】 多賀 実
(56)【参考文献】
【文献】 特開平7−253905(JP,A)
【文献】 特開2015−022692(JP,A)
【文献】 特開平7−219819(JP,A)
【文献】 米国特許第8732676(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/28
G06F 11/36
(57)【特許請求の範囲】
【請求項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に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システムの状態遷移モデルを表す状態遷移情報から、前記状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路を表すテスト経路情報をテストケースの情報として抽出するテストケース抽出装置、テストケース抽出方法、及び前記テストケース抽出装置での処理をコンピュータに行わせるためのプログラムに関する。
【背景技術】
【0002】
従来、例えば、特許文献1に記載されるテストケース作成装置が知られている。このテストケース作成装置は、あるシステム(対象物:例えば、自動空調システム)の動作仕様を表す階層関係にある複数の状態遷移図(特許文献1の図1参照)からそのシステムの動作検証を行うためのテストケースを作成する。テストケースは、動作検証すべきシステムの動作の流れ、即ち、状態遷移、の正当性を確認するためのテストの対象とすべき状態遷移図における遷移系列(状態遷移経路群)として表される。このテストケース作成装置では、複数の状態遷移図のそれぞれにおいて、それら複数の状態遷移図における階層間の状態の組合せを考慮したうえで、全ての状態遷移が網羅されるように(遷移の十分性が100%)、状態遷移系列(状態遷移経路群)がテストケースとして作成される。そして、コンピュータの処理により、各状態遷移図において、上記のように作成されたテストケース、即ち、状態遷移系列(状態遷移経路群)に沿って動作(イベント、アクション等)が確認され、例えば、仕様と異なる状況が発生するか否か、即ち、状態遷移の正当性、が確認される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平7−253905号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
近年、システムの動作の複雑化に伴って、前述した階層関係にある複数の状態遷移図(状態遷移情報)も複雑になる傾向にある。このような傾向において、1つの状態遷移モデル(状態遷移図等の状態遷移情報にて表される)での状態遷移の正当性が、その状態遷移モデルと階層関係にある他の状態遷移モデルでの動作に影響を受ける場合が発生し得る(状態遷移モデル同士の干渉)。例えば、一方の状態遷移モデルにおいて変数の書き込みがあり、他方の状態遷移モデルにおいてその変数を参照して状態遷移が決められるという場合、前記他方の状態遷移モデルでは、状態遷移がその変数の書き込み結果に影響される。しかしながら、前述した従来のテストケース作成装置では、そのような状態遷移の正当性を確認するためのテストケースについて、何ら考慮されていない。このため、階層関係にある2つの部分的な状態遷移モデルを含む状態遷移モデルでの状態遷移の正当性を精度良く確認することが難しい場合があった。
【0005】
本発明は、このような事情に鑑みてなされたもので、階層関係にある2つの部分的な状態遷移モデルを含む状態遷移モデルでの状態遷移の正当性を精度良く確認可能なテストケースを得ることのできるテストケース抽出装置、テストケース抽出方法及び該テストケース抽出装置での処理をコンピュータに行わせるためのプログラムを提供するものである。
【課題を解決するための手段】
【0006】
本発明に係るテストケース抽出装置は、情報を処理する処理ユニットを有するコンピュータにより構成され、対象のシステムにおいてある状態でのイベント発生により状態遷移が発生するという当該システムの状態遷移モデルを表す状態遷移情報から、前記状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路を表すテスト経路情報をテストケースの情報として抽出するテストケース抽出装置であって、前記状態遷移情報は、前記状態遷移モデルの一部を構成する第1部分状態遷移モデルを表す第1部分状態遷移情報と、前記状態遷移モデルの一部を構成し、前記第1部分状態遷移モデルと階層関係にあって相互間で移行可能な第2部分状態遷移モデルを表す第2部分状態遷移情報とを含み、前記第1部分状態遷移情報及び前記第2部分状態遷移情報を処理する前記処理ユニットは、前記第1部分状態遷移モデルにおいて、初期状態から開始して、変数への書き込み処理を伴う状態遷移の後に、当該変数に対する書き込みが行われることなく前記第2部分状態遷移モデルに移行し、該第2部分状態遷移モデルにおける前記変数を参照する処理を伴う状態遷移までの経路を表すテスト経路情報を前記テストケースの情報として抽出するテスト経路抽出手段を有する構成となる。
【0007】
また、本発明に係るテストケース抽出方法は、対象のシステムにおいてある状態でのイベント発生により状態遷移が発生するという当該システムの状態遷移モデルを表す状態遷移情報から、前記状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路を表すテスト経路情報をテストケースの情報として抽出するテストケース抽出方法であって、前記状態遷移モデルの一部を構成する第1部分状態遷移モデルを表す第1部分状態遷移情報と、前記状態遷移モデルの一部を構成し、前記第1部分状態遷移モデルと階層関係にあって相互間で移行可能な第2部分状態遷移モデルを表す第2部分状態遷移情報とを含む前記状態遷移情報を処理する処理ステップを有し、該処理ステップは、前記第1部分状態遷移モデルにおいて、初期状態から開始して、変数への書き込み処理を伴う状態遷移の後に、当該変数に対する書き込みが行われることなく前記第2部分状態遷移モデルに移行し、該第2部分状態遷移モデルにおける前記変数を参照する処理を伴う状態遷移までの経路を表すテスト経路情報を前記テストケースの情報として抽出するテスト経路抽出ステップを有する構成となる。
【0008】
更に、本発明に係るプログラムは、対象のシステムにおいてある状態でのイベント発生により状態遷移が発生するという当該システムの状態遷移モデルを表す状態遷移情報から、前記状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路を表すテスト経路情報をテストケースの情報として抽出するテストケース抽出装置での処理をコンピュータに行わせるプログラムであって、前記状態遷移モデルの一部を構成する第1部分状態遷移モデルを表す第1部分状態遷移情報と、前記状態遷移モデルの一部を構成し、前記第1部分状態遷移モデルと階層関係にあって相互間で移行可能な第2部分状態遷移モデルを表す第2部分状態遷移情報とを含む前記状態遷移情報を処理する処理ステップを前記コンピュータに行わせ、該処理ステップは、前記第1部分状態遷移モデルにおいて、初期状態から開始して、変数への書き込み処理を伴う状態遷移の後に、当該変数に対する書き込みが行われることなく前記第2部分状態遷移モデルに移行し、該第2部分状態遷移モデルにおける前記変数を参照する処理を伴う状態遷移までの経路を表すテスト経路情報を前記テストケースの情報として抽出するテスト経路抽出ステップを有する構成となる。
【0009】
これらの構成により、階層関係にある第1部分状態遷移モデルと第2部分状態遷移モデルとを含む状態遷移モデルのテストケースの抽出に際して、前記第1部分状態遷移モデルにおいて、初期状態から開始して、変数への書き込みを伴う状態遷移の後に、当該変数に対する書き込みが行われることなく前記第2部分状態遷移モデルに移行し、該第2部分状態遷移モデルにおける前記変数を参照する処理を伴う状態遷移までの経路を表すテスト経路が抽出される。このようなテスト経路を前記状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすることにより、第1部分状態遷移モデルで影響を受けた変数を第2部分状態遷移モデルで参照して状態遷移することの正当性を確認することができる。
【発明の効果】
【0010】
本発明に係るテストケース抽出装置、テストケース抽出方法及びプログラムによれば、階層関係にある2つの部分的な状態遷移モデルを含む状態遷移モデルでの状態遷移の正当性を精度良く確認可能なテストケースを得ることができる。
【図面の簡単な説明】
【0011】
図1】本発明の実施の形態に係るテストケース抽出装置が構成されるコンピュータ(PC)のハードウエア構成を示すブロック図である。
図2】階層関係にある親状態遷移モデル(親状態遷移表)と子状態遷移モデル(子状態遷移表)を含む状態遷移モデルから抽出されるテストケース(テスト経路Ptest)の一例を示す図である。
図3】親状態遷移表(Parent)の一例を示す図である。
図4図3に示す親状態遷移表(Parent)に対応する親状態遷移図を示す図である。
図5】子状態遷移表(Child)の一例を示す図である。
図6図5に示す子状態遷移表(Child)に対応する子状態遷移図を示す図である。
図7】テストケース(テスト経路)を抽出する処理の手順を示すフローチャートである。
図8図7に示すフローチャートにおける干渉テストケース抽出処理の具体的な処理手順(その1)を示すフローチャートである。
図9図7に示すフローチャートにおける干渉テストケース抽出処理の具体的な処理手順(その2)を示すフローチャートである。
図10】干渉テストケース抽出処理により抽出されるテストケース(テスト経路)の一例、及びそのテストケースにおける変数の状況の一例を示す図である。
図11】干渉テストケール抽出処理により抽出されるテストケース(テスト経路)の他の一例、及びそのテストケースにおける変数の状況の他の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について図面を用いて説明する。
【0013】
本発明の実施の形態に係るテストケース抽出装置が構成されるコンピュータ(PC)は、例えば、図1に示すハードウエア構成となる。
【0014】
図1において、このコンピュータ(テストケース抽出装置)は、例えば、パーソナルコンピュータ(PC)であって、プログラムに従って種々の処理を実行する処理ユニット(CPU)11を有している。処理ユニット101には、バス107を介してメモリ102、ハードディスク装置等の外部記憶装置103、マウス、キーボード等の操作部105及び表示部106が接続されている。外部記憶装置103には、テストケース抽出の処理に供される状態遷移モデルを記述した状態遷移表の情報(状態遷移情報)が格納され、また、そのテストケース抽出の処理に係るプログラムが格納されている。処理ユニット101は、外部記憶装置103から前記状態遷移表(状態遷移モデル)の情報を読み出してメモリ102の所定領域に展開するとともに、前記プログラムをメモリ102に読み出し、そのプログラムに従って、メモリ102に展開された状態遷移表の情報を対象としたテストケース抽出に係る処理を実行する。処理ユニット101での処理の実行により生成される各種情報が表示器106に表示される。
【0015】
テストケース抽出に係る処理の対象となる状態遷移モデルは、階層関係にある2つの部分状態遷移モデル、例えば、図2に示すように、上位層の親状態遷移モデルSTT1(Parent)と下位層の子状態遷移モデルSTT2(Child)とを含む。外部記憶装置103には、親状態遷移モデルSTT1(Parent)を記述する親状態遷移表(Parent)の情報と、子状態遷移モデルSTT2(Child)を記述する子状態遷移表(Child)の情報とを含む状態遷移情報が格納されている。そして、処理ユニット101は、前記親状態遷移表(Parent)の情報及び前記子状態遷移表(Child)の情報を含む状態遷移情報から、前記状態遷移モデルの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路(テスト経路という)Ptest(図2参照)を表すテスト経路情報を抽出するテストケース抽出に係る処理を実行する。
【0016】
テストケース抽出に係る処理の対象となる状態遷移モデルを表す状態遷移情報は、例えば、図2に示すように階層関係にある、図3に示す親状態遷移表(Parent)の情報と図5に示す子状態遷移表(Child)の情報とを含む。
【0017】
図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に遷移する、等
のような状態遷移群を表している。
【0018】
図5に示す子状態遷移表(Child)は、図6に示す状態遷移図に示す状態遷移群を表している。この子状態遷移表(Child)は、具体的には、
状態S10でイベントE02の下位概念であるイベントE10が発生すると、状態S11に遷移し、
状態S11でイベントE02の下位概念であるイベントE11が発生すると、変数A=0にして状態S12に遷移し、
状態S12でイベントE12が発生すると、変数Aが0の場合、プロセス10を実行して、状態S12に維持(遷移)し、変数Aがそれ以外の場合、プロセス11を実行して、状態S10に遷移する、等
のような状態遷移群を表している。
【0019】
上述したように階層関係にある図3に示す親状態遷移表(Parent)と図5に示す子状態遷移表とを含む状態遷移表の情報を対象として、処理ユニット101は、図7に示す手順に従って、テストケース抽出に係る処理を実行する。
【0020】
図7において、処理ユニット101は、親状態遷移表(Parent)(図3参照)の情報を読み出してメモリ102に展開し(S10)、この親状態遷移表(Parent)の情報(状態遷移情報)から、公知の手法(例えば、N−スイッチ網羅基準)に従って、親状態遷移モデルについてのテストケース抽出処理を実行する(S20)。このテストケース抽出処理では、親状態遷移表(親状態遷移モデル)での状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路(テスト経路)を表すテスト経路情報が抽出される。
【0021】
次いで、処理ユニット101は、子状態遷移表(Child)(図5参照)の情報を読み出してメモリ102に展開し(S30)、この子状態遷移表(Child)の情報(状態遷移情報)から、子状態遷移モデルについてのテストケース抽出処理を実行する(S40)。このテストケース抽出処理では、子状態遷移表(Child)の情報から、公知の手法(例えば、N−スイッチ網羅基準)に従って、子状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路(テイスト経路)を表すテスト経路情報が抽出される。
【0022】
上述したように、親状態遷移表(Parent)の情報及び子状態遷移表(Child)の情報のそれぞれからテスト経路情報が抽出されると、処理ユニット101は、一方の状態遷移モデルで変数への書き込みを伴う状態遷移と、他方の状態遷移モデルでその変数を参照する処理を伴う状態遷移とを含む状態遷移経路を、干渉テストケースを表す状態遷移経路として抽出する干渉テストケース抽出処理を実行する(50:テスト経路抽出手段)。この干渉テストケース抽出処理は、図8及び図9に示す手順に従って行われる。
【0023】
図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が参照されると判定される。
【0024】
なお、前記変数への書き込みが親状態遷移表(Parent)において行なわれないと判定された場合(S503でNO)、後述する図9に示す処理が実行される。また、親状態遷移表(Parent)において書き込みが行われると判定された変数(S503でYES)が子状態遷移表(Child)において参照されないと判定されると(S504でNO)、抽出された変数から次の変数が選択され(S502)、その選択された変数について、親状態遷移表(Parent)で書き込みが行われるか否か(S503)、子状態遷移表(Child)で参照されるか否か(S504)の各判定が行われる。
【0025】
親状態遷移表(Parent)で書き込みが行われ(S503でYES)、子状態遷移表(Child)で参照される(S504でYES)変数について、次のような処理が実行される。
【0026】
処理ユニット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の判定)される。
【0027】
このように参照箇所が特定されると、処理ユニット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に遷移するまでの最短の経路を表す情報が干渉テスト経路(干渉テストケース)情報として抽出される。
【0028】
選択された1つの変数について、親状態遷移表(Parent)における全ての書き込み箇所及び子状態遷移表(Child)における全ての参照箇所について同様の処理が行われ(S510、S511)、対応する全ての干渉テストケースを表す干渉テストケース情報が抽出される(S509)。そして、その処理が終了すると(S510でYES、S511でYES)、処理ユニット101は、図9に示す処理を実行する。この図9に示す処理は、前記選択された1つの変数について、子状態遷移表(Child)において書き込みを伴う状態遷移と、親状態遷移(Parent)において参照する処理を伴う状態遷移を含む状態遷移経路が干渉テスト経路(干渉テストケース)として抽出される。
【0029】
図9において、処理ユニット101は、選択された前記変数への書き込みが子状態遷移表(Child:第1部分状態遷移表)において行なわれるか否かを判定する(S520)。例えば、前記変数Aは、図5に示す子状態遷移表(Child)において書き込みが行われると判定される。前記変数への書き込みが子状態遷移表(Child)で行われると判定されると(S520でYES)、処理ユニット101は、この子状態遷移表(child)において書き込みが行われると判定された変数が親状態遷移表(Parent:第2部分状態遷移表)において参照されるか否かを判定する(S521)。例えば、図3に示す親状態遷移表(Parent)において前記変数Aが参照されると判定される。
【0030】
なお、前記変数への書き込みが子状態遷移表(Child)において行なわれないと判定された場合(S520でNO)、後述する全ての変数についての処理がまだ終了していないことを確認して(S529でNO)、次の変数についての処理に移行する(図8におけるS502)。また、子状態遷移表(Child)において書き込みが行われると判定された変数(S520でYES)が親状態遷移表(Parent)において参照されないと判定された場合も(S521でNO)、次の変数についての処理に移行する(図8におけるS502)。
【0031】
子状態遷移表(Child)で書き込みが行われ(S520でYES)、親状態遷移表(Parent)で参照される(S521でYES)変数について、次のような処理が実行される。
【0032】
処理ユニット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の判定)される。
【0033】
このように参照箇所が特定されると、処理ユニット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に遷移するまでの最短の経路を表す情報が干渉テスト経路(干渉テストケース)情報として抽出される。
【0034】
選択された1つの変数について、子状態遷移表(Child)における全ての書き込み箇所及び親状態遷移表(Parent)における全ての参照箇所について同様の処理が行われ(S527、S528)、対応する全ての干渉テストケースを表す干渉テストケース情報が抽出される(S526)。そして、その処理が終了すると(S527でYES、S528でYES)、処理ユニット101は、全ての変数についての処理が終了したか否かを判定し(S529)、全ての変数についての処理が終了していなければ(S529でNO)、処理ユニット101は、図8に示す処理に移行して、次の変数を選択し(S502)、上述したのと同様の処理を実行する。一方、親状態遷移表(Parent)及び子状態遷移表(Child)から抽出された全ての変数についての処理が終了していると(S529でYES)、処理ユニット101は、干渉テストケース抽出処理を終了する。
【0035】
上述したようにして(図7図8図9参照)、親状態遷移表(Parent)(図3参照)の情報から抽出された(図7に示すS20参照)、親状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路(テスト経路)を表すテスト経路情報と、子状態遷移情報(Child)(図5参照)から抽出された(図7に示すS40参照)、子状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすべき状態遷移経路(テイスト経路)を表すテスト経路情報と、親状態遷移表(Parent)及び子状態遷移モデルから抽出された(図7に示すS50及び図8図9参照)、親状態遷移モデル及び子状態遷移モデルのうちの一方の状態遷移モデルで変数への書き込みを伴う状態遷移と、他方の状態遷移モデルでその変数を参照する処理を伴う状態遷移とを含む干渉テスト経路を表す干渉テスト経路情報とが、対象のシステムに対応する状態遷移モデルでの状態遷移の正当性を確認すべきテストの対象とすべきテスト経路を表すテスト経路情報として抽出される。
【0036】
上述したような本発明の実施の形態に係るテストケース抽出装置では、階層関係にある親状態遷移モデル(親状態遷移表(Parent))と、子状態遷移モデル(子状態遷移表(Child))とを含む状態遷移モデルのテストケース(テスト経路)の抽出に際して、親状態遷移モデル(第1部分状態遷移モデル)において、初期状態から開始して、変数への書き込みを伴う状態遷移の後に、当該変数への書き込みが行われることなく、子状態遷移モデル(第2部分状態遷移モデル)に移行し、該子状態遷移モデルにおける前記変数を参照する処理を伴う状態遷移までの経路、及び子状態遷移モデル(第1部分状態遷移モデル)において、初期状態から開始して、変数への書き込みを伴う状態遷移の後に、当該変数への書き込みが行われることなく、親状態遷移モデル(第2部分状態遷移モデル)に移行し、該親状態遷移モデルにおける前記変数を参照する処理を伴う状態遷移までの経路のそれぞれがテスト経路として抽出される。このようなテスト経路を前記状態遷移モデルでの状態遷移の正当性を確認するためのテストの対象とすることにより、第1部分状態遷移モデル(親状態遷移モデル又はお子状態遷移モデル)で影響を受けた変数を第2部分状態遷移モデル(子状態遷移モデル又は親状態遷移モデル)で参照して状態遷移することの正当性を確認することができる。従って階層関係にある親状態遷移モデル及び子状態遷移モデルを含む状態遷移モデルでの状態遷移の正当性を精度良く確認可能なテストケースを得ることができる。
【0037】
なお、上述した実施の形態では、親状態遷移表(Parent)の所定の初期状態から、遷移を開始して、その変数への書き込みを伴う状態遷移が行われた後に、その変数の書き込みが行われることなく、子状態遷移表(Child)に移行し、その変数を参照する処理を伴う状態遷移までの最短の経路を表す情報が干渉テスト経路(干渉テストケース)情報として抽出された。また、子状態遷移表(Child)の所定の初期状態から、遷移を開始して、その変数への書き込みを伴う状態遷移が行われた後に、その変数の書き込みが行われることなく、親状態遷移表(Parent)に移行し、その変数を参照する処理を伴う状態遷移までの最短の経路を表す情報が干渉テスト経路(干渉テストケース)情報として抽出された。しかし、干渉テスト経路として抽出される経路は、最短の経路でなくてもよい。
【0038】
以上、本発明の実施の形態について説明したが、この実施は、一例として提示したものであり、発明の範囲を限定することは意図していない。上述したこれら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施の形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明に含まれる。
【産業上の利用可能性】
【0039】
本発明に係るテストケース抽出装置、テストケース抽出方法及びプログラムは、階層関係にある2つの部分的な状態遷移モデルを含む状態遷移モデルでの状態遷移の正当性を精度良く確認可能なテストケースを得ることができるという効果を有し、テストケース抽出装置、テストケース抽出方法、及び前記テストケース抽出装置での処理をコンピュータに行わせるためのプログラムとして有用である。
【符号の説明】
【0040】
101 処理ユニット
102 メモリ
103 外部記憶装置
105 操作部
106 表示部
107 バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11