JP3415310B2 - テストケース作成装置 - Google Patents

テストケース作成装置

Info

Publication number
JP3415310B2
JP3415310B2 JP00901895A JP901895A JP3415310B2 JP 3415310 B2 JP3415310 B2 JP 3415310B2 JP 00901895 A JP00901895 A JP 00901895A JP 901895 A JP901895 A JP 901895A JP 3415310 B2 JP3415310 B2 JP 3415310B2
Authority
JP
Japan
Prior art keywords
state transition
transition diagram
test case
state
event
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.)
Expired - Fee Related
Application number
JP00901895A
Other languages
English (en)
Other versions
JPH07253905A (ja
Inventor
二郎 岡安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP00901895A priority Critical patent/JP3415310B2/ja
Publication of JPH07253905A publication Critical patent/JPH07253905A/ja
Application granted granted Critical
Publication of JP3415310B2 publication Critical patent/JP3415310B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Test And Diagnosis Of Digital Computers (AREA)
  • Control By Computers (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータ応用製品
の開発において、その動作試験に使用されるテストケー
スを作成するテストケース作成装置に関する。
【0002】
【従来の技術】現在利用されているほとんどの機器類
に、コンピュータが利用されている。例えば、日常利用
される電化製品から交通手段まで、更に工場や発電所等
の、ほとんどの機器にコンピュータが利用されている。
これらのコンピュータが利用(応用)された製品を便宜
上コンピュータ応用製品と呼ぶ。このように、コンピュ
ータ応用製品が社会生活と密接な関係を有するにつれ、
コンピュータ応用製品の誤動作が社会にもたらす影響は
非常に大きくなるので、コンピュータ応用製品に対する
信頼性の要求はますます大きくなっている。
【0003】コンピュータ応用製品の信頼性を確保する
ためには、試験工程が重要である。その製品が満足すべ
き機能仕様及び性能仕様等のすべての項目について実際
に動作確認を実施し、不具合があれば修正することによ
って、当該製品がいかなる状況においても正しく動作す
ることを保証しなければならない。従って、どのような
試験をどれだけ行なうかという問題(試験の方法及び回
数(量)等を定めたものを以下「テストケース」と称す
る)は、製品の信頼性を確保する上で非常に重要であ
る。限られた時間及び作業量の範囲内で実施可能な試験
を行って、製品の信頼性を確保するためには、効率的な
テストケースを作成することが不可欠である。
【0004】従来の試験作業においては、その製品の満
足すべき機能及び性能を一覧表にしたチェックリストが
テストケースとして用られ、試験者が手作業で操作しな
がらチェック項目を一つ一つ確認することにより、製品
の信頼性を確保している。この場合に、チェックリスト
は一応の製品動作を確認するという点では有効である。
しかし、実際にそのチェックリストによって、製品の取
り得る動作のうちどれだけを網羅して確認できたは定か
ではない。一般に、製品の取り得る動作を全て網羅して
その動作を確認できるようなテストケースをチェックリ
ストという形で実現することは、かなりの熟練者にとっ
ても非常に困難である。従って、従来の試験では、熟練
技術者が固有の製品知識と経験に基づいて、与えられた
時間内で考えられる動作を確認するという形がとられ
る。しかし、近年のコンピュータ応用製品の複雑化及び
大規模化に伴い、熟練者であっても、上記のような経験
と勘に頼った方法では、製品の信頼性を確保することは
困難となりつつある。
【0005】また、手作業操作による試験では、製品に
対するセンサ入力等を何らかの機器(例えば可変抵抗器
等)を用いて作り出す必要がある。しかし、この方法で
は、実際には、試験対象に対する入力が所望の試験を行
うための入力となっていることを保証することは容易で
はない。更に、手作業による試験では、上記のように一
つ一つの入力信号を作ってテストケースに対応する試験
条件を設定することは非常に手間がかかる。従って、従
来では、試験作業に大きな工数を要するか又は定められ
た時間内でこなせるテストケース数が少なくなるかのい
ずれかとなり、それによって製品の生産性及び/又は品
質に悪影響を及ぼす可能性がある。
【0006】以上のように、従来のような試験方法で
は、コンピュータ応用製品の信頼性を十分に保証するこ
とは非常に難しい。試験の対象であるコンピュータ応用
製品に組み込まれるプログラムの構造を解析した上で、
そのプログラムを構成する各部分を網羅するような試験
入力を作成する手段を用いる方法も考えられている。し
かし、この方法はプログラムの複雑さや規模を考慮する
と、せいぜいプログラム・モジュールを対象とした単体
試験どまりであり、製品の統合試験、システム試験段階
で用いることは困難である。
【0007】いくつかの製品分野においては、製品の仕
様を形式的に記述し、その仕様記述に基づいてテストケ
ースを網羅的に作成するという試みも行なわれている。
例えば、電子回路や通信プロトコル等の分野では、状態
遷移図を用いて仕様を記述して、その仕様に記述されて
いる動作をもれなく実行させるテストケースを自動的に
作成する方法が提案されている。U.S.Pat.N
o.4,692,921は、その1つの例である。しか
し、この方法においても、製品仕様の複雑化及び大規模
化に伴い、1つの状態遷移図で製品の全仕様を記述する
ことが困難であるので、この方法でもテストケースを自
動的に作成することは不可能といえる。
【0008】上記のように、プログラムの取り得る動作
を網羅して、コンピュータ応用製品の信頼性を十分に確
保できるテストケースを作成することは、非常に困難で
ある。
【0009】チェックリストを用いた試験では、その試
験の十分性はテストケースそのものの出来によって決ま
ってしまう。テストケースは、製品の仕様書等を参考に
して、人手によって作成しなければならないので、非常
に手間がかかる。また、テストケースの出来は、その元
になる仕様書に大きく依存するため、現在の自然言語を
用いた仕様書ではその曖昧さゆえに、十分に信頼できる
チェックリストを作成することは、非常に困難である。
【0010】更に、上記の問題を解決するための形式的
な仕様記述からのテストケースの作成も、仕様そのもの
が大規模かつ複雑になるにつれて、仕様そのものを記述
すること、及び、抜けのないようにテストケースを作成
することの両者が困難になる。
【0011】
【発明が解決しようとする課題】上記のように、従来
は、大規模かつ複雑な仕様を有するコンピュータ応用製
品の信頼性を十分に確保できるテストケースを作成する
ことは、非常に困難である。
【0012】本発明の目的は、大規模かつ複雑な仕様を
有する製品に対しても、その仕様を容易に記述し、その
仕様から抜けのない製品動作を効率的に網羅し得るテス
トケースを自動的に作成することにより、製品信頼性を
十分確保することができるテストケース作成装置を提供
することである。
【0013】
【課題を解決するための手段】本発明は、上記の課題を
解決するために次のような手段を講じた。本発明に係る
テストケース作成装置は、対象物の動作検証を行うため
のテストケースを作成するテストケース作成装置であっ
て、前記対象物の動作仕様を並行化(及び/又は階層
化)された複数の状態遷移図を用いて記述する動作仕様
記述手段と、前記動作仕様記述手段で記述された複数の
状態遷移図を探索して所定の状態からの状態遷移図上の
状態の遷移を選択し、その結果を出力する状態遷移図探
索手段と、アクションとイベントとの関係を記憶し、禁
止された遷移を管理して前記状態遷移図探索手段での遷
移選択の操作を制御するアクション/イベント関係管理
手段と、を具備する。更に、本発明装置は、前記動作仕
様記述手段で記述された階層化された前記複数の状態遷
移図の探索順序(及び遷移網羅の十分性)を管理して、
前記状態遷移図探索手段での遷移選択の操作を制御する
並行(及び/又は階層)関係管理手段を更に具備する。
【0014】更に、本発明に係るテストケース作成装置
は、前記状態遷移図探索手段から順次出力される遷移を
生起させるイベント情報をテストケースとして格納する
テストケース格納手段を更に具備する。本発明装置の望
ましい実施態様は以下の通りである。 (1) 前記テストケース格納手段は、前記前記状態遷
移図探索手段で選択されたイベントを時系列順に管理す
る手段を含むこと。 (2) 前記状態遷移図探索手段は、階層間の状態組合
せを考慮して、選択可能な遷移が未選択の遷移かどうか
を判定する手段を含むこと。 (3) 前記状態遷移図探索手段は、前記アクション/
イベント管理手段を参照して、発生するイベントをチェ
ックする手段を含むこと。
【0015】また、本発明のテストケース作成方法は、
対象物の動作検証を行うためのテストケースを作成する
方法において、前記対象物の動作仕様を並行化及び階層
化の少なくとも一方の形式の複数の状態遷移図を用いて
記述するステップと、前記複数の状態遷移図を探索し
て、所定の状態からの状態遷移図上の状態の遷移を選択
し、その結果を出力するステップと、アクションとイベ
ントとの関係を記憶し、禁止された遷移を管理して前記
遷移の選択の操作を制御するステップと、を具備する。
更に、前記探索ステップは、記憶された前記アクション
とイベントとの関係を参照して、発生イベントをチェッ
クするステップを含む。
【0016】本発明方法は、前記複数の状態遷移図の探
索順序を管理して、前記状態遷移図探索手段での遷移選
択の操作を制御するステップを更に具備する。前記制御
ステップは、遷移網羅の十分性を管理するステップを含
み、加えて、階層間の状態組合せを考慮した上で、選択
可能な遷移が未選択の遷移かどうかを判定するステップ
を含む。
【0017】
【作用】上記手段を講じた結果、次のような作用が生じ
る。本発明では、動作仕様記述手段が並行化及び階層化
の少なくとも一方の概念を取り入れて製品の動作仕様を
記述するので、大規模かつ複雑な動作仕様の記述が極め
て容易になる。
【0018】動作仕様記述手段によって記述された対象
物の動作仕様は、各状態遷移図毎に状態遷移図探索手段
によって探索処理される。状態遷移図探索手段は、例え
ば状態をノード、遷移をその遷移の向きに方向付けられ
たアークとする有向グラフとみなし、アークの向きにノ
ードをたどりながら状態遷移図を探索し、状態遷移図に
おける有向グラフの一連のパスとして動作を特定してい
く。
【0019】並行関係管理部は並行に動作する状態遷移
図の探索実行順序を管理される。階層関係管理手段は階
層化された状態遷移図の探索実行順序を管理すると共
に、階層を考慮した上での遷移網羅の十分性を判定し、
探索を行なうかどうかを管理する。アクション/イベン
ト関係管理手段は、アクションとイベントの関係を保持
して現実に発生しないような事象に対応する探索を回避
する。
【0020】上記の構成により、対象物の動作検証とし
て信頼性を確保することができ、しかも抜けのない製品
動作を網羅できるテストケースを作成することが可能に
なる。
【0021】上記のように、本発明を用いることによっ
て、製品のシステム試験用に、抜けのないテストケース
を、容易に作成することができる。また、本発明によっ
て作成されたテストケースを用いることより、製品プロ
グラムを網羅した試験を行なうことができ、製品の信頼
性を十分に確保することが実現される。
【0022】
【実施例】図面を参照して本発明の実施例を説明する。
本発明の第1実施例を説明する前に、本発明において試
験対象製品の製品仕様の記述に用いられ、階層化・並行
化の概念を有する状態遷移図を説明する。
【0023】コンピュータ応用製品の動作仕様は、状態
遷移図を用いて記述することができる。これは、多くの
場合コンピュータ応用製品の動作が、外部からの入力や
要求に応じて何らか処理を実行する性質を持つからであ
る。
【0024】状態遷移図においては、 入力(条件)×内部状態 → 出力(処理)×次状態 のように、外部からの入力とその時の製品の内部状態か
ら、出力と新たな内部状態を決定するというサイクルを
繰り返す形で、製品動作が記述されていく。実際の状態
遷移図上では、製品の取り得る複数の内部状態がそれぞ
れ丸印(○)によって表現され、ある内部状態から次の
内部状態への状態遷移が矢印(→)として表現される。
更に、その状態遷移の条件となる入力及び状態遷移に伴
って実行される処理による出力は、矢印上に「入力/出
力」のように記載される。以後、入力・条件を「イベン
ト」、出力・処理を「アクション」と呼ぶ。
【0025】本発明は、大規模かつ複雑な仕様に対応す
るために、並行化及び階層化の少なくとも一方の概念を
状態遷移図に導入する。以下、「並行化」及び「階層
化」について簡単に説明する。
【0026】「階層化」とは、動作仕様をその抽象度に
従ってレベル分けすることである。レベル分けされた動
作仕様に応じて階層化された複数の状態遷移図が作られ
る。これらの階層化された状態遷移図は、次のような関
係を有する。
【0027】ある状態遷移図(上位層の状態遷移図)に
記述されたある状態を詳細化(具体化)した状態遷移図
が他の状態遷移図(下位層の状態遷移図)である。そし
て、上位層の状態遷移図がある状態にある間は、当該状
態に対応する下位層の状態遷移図も同時に実行され、上
位層の状態遷移図において、当該状態から他の状態に遷
移した時点で、対応する下位層の状態遷移図の実行は終
了する。このように、本発明は、状態遷移図の階層化に
より、階層化された複数の状態遷移図が同時に実行され
る特徴を有する。
【0028】「並行化」とは、複数の動作を並行な関係
で同時に実行することである。並行化された複数の状態
遷移図(階層化された状態遷移図群を含む)は、階層関
係ではなく、並行(独立)な関係で同時に実行される。
従って、並行に実行される状態遷移図間では、階層化さ
れた状態遷移図とは異なり基本的には関係は有しない。
しかし、仕様上で並行関係にある状態遷移図間に何らか
の同期等をとる必要が生じた場合には、イベントとアク
ションを用いてその関係を仕様上に記述する必要があ
る。
【0029】なお、本発明においては上記の状態遷移図
の並行化及び階層化の概念が同時に利用可能であること
は云うまでもない。図1は、本発明のテストケース作成
装置でテストケース作成の対象となる並行化及び階層化
された状態遷移図の一例を示す図である。
【0030】図1の複数の状態遷移図は、自動空調シス
テムの仕様を示す。なお、図1では、イベント及びアク
ションの記述を省略している。以下、図1の自動空調シ
ステム(以下、単に「システム」と称する)の仕様を簡
単に説明する。
【0031】システムが起動すると、システムは外気温
の監視を開始する。システムは、外気温がある温度を越
えると冷房動作を開始し、ある温度を下回ると暖房動作
を開始する。なお、暖房動作を開始した場合に限り、暖
気を循環させるために、一定周期で天井ファンを回転/
停止させる。それぞれの暖房動作(又は冷房動作)中に
は、室内温度を監視して、所定温度をしきい値にして、
ヒータ(又はクーラ)運転を行なう。また、外気温があ
る範囲内に戻ったら、暖房又は冷房の動作を停止する。
【0032】図1では、状態遷移図SD1がシステムの
最上位の階層である。図1において、並行関係にあるの
は、例えば、状態遷移図SD2と状態遷移図SD3とで
あり、階層関係にあるのは、例えば、状態遷移図SD2
と状態遷移図SD4、状態遷移図SD2と状態遷移図S
D5等である。
【0033】システムは、空調開始の指示を受けると、
システムの状態を動作中に変えると共に、状態遷移図S
D1の下位層の状態遷移図SD2を展開する。状態遷移
図SD2は外気温を監視して、暖房及び冷房の開始と停
止のコントロールを行なう動作仕様を記述した状態遷移
図である。状態遷移図SD2において、暖房(又は冷
房)を開始する時は、状態を暖房(又は冷房)に移し、
暖房(又は冷房)の下位層の暖房(又は冷房)の状態遷
移図SD4(又はSD5)を展開する。
【0034】天井ファン制御の動作を記述した状態遷移
図SD3は、暖房開始と共に状態遷移図SD2と並行な
状態遷移図として起動される。状態遷移図SD3の起動
はアクションA1によって行なわれ、天井ファンは、ア
クションA1によって引き起こされるイベントE1によ
って待機状態からファンオン状態に状態を遷移し、動作
を開始する。
【0035】更に、天井ファンは、起動時と同様に、状
態遷移図SD2において暖房を終了する遷移に伴うアク
ション(図示しない)によって発生されるイベント(図
示しない)により終了し、状態遷移図SD3は待機中の
状態になる。
【0036】以上、単純な例であるが、上記のように並
行化及び階層化の概念を導入することにより、仕様を理
解し易くかつコンパクトに記述できることが分かる。図
1のような状態遷移図において、状態の遷移によって隣
あった状態を初期状態からたどっていくことは、その製
品動作の1つの流れを追うことに対応する。更に、製品
動作の流れは、その時実際にたどられた遷移の列(遷移
系列)によって特定される。ここで、テストケースとは
試験すべき製品の動作の流れであるから、テストケース
はその状態遷移図の遷移系列として表現される。更に、
遷移系列はその遷移系列をたどるイベントの列によって
も表現されるので、テストケースはイベント系列である
ともいえる。
【0037】本発明では、テストケースをイベント系列
という形で自動的に作成する。図2は、本発明の第1実
施例に係るテストケース作成装置の構成を示すブロック
図である。
【0038】第1実施例のテストケース作成装置は、製
品仕様記述部1と、複数の状態遷移図探索部2と、並行
関係管理部3と、アクション/イベント関係管理部5
と、テストケース格納部6とを具備する。
【0039】製品仕様記述部1は、テストケース作成の
対象となる製品の動作仕様を形式的に記述する。この場
合において、製品仕様記述部1は、並行化の概念を有す
る状態遷移図として動作仕様(すなわち製品仕様)を記
述する。このように状態遷移図の記述に並行化の概念を
取り入れることにより、大規模化する仕様を容易に記述
できる。
【0040】状態遷移図探索部2は、テストケース作成
のために状態遷移図を有向グラフとして探索する。具体
的には、状態遷移図探索部2は、状態遷移情報を製品仕
様記述部1から読み込み、状態遷移図における有向グラ
フの一連のパスとして製品の動作を特定しながらテスト
ケースを作成する。これらの状態遷移図探索部2は、実
行時には、一枚の状態遷移図に対し1つの状態遷移図探
索部2が割り当てられる。各状態遷移図探索部2は対応
するそれぞれの状態遷移図の現在の状態を常に管理して
おり、詳細は後述するアクション/イベント関係管理部
5から通知される発生/非発生イベントを参照しなが
ら、現在の状態からの遷移を1つずつ選択して、現在の
状態を次の状態に移すという方法で、探索を進める。状
態遷移図探索部2によって選択された遷移の情報は、そ
れを生起させるイベントという形でテストケース格納部
6に時々刻々伝達され、イベント列として格納される。
【0041】並行関係管理部3は、並行に動作する複数
の状態遷移図の関係を管理する。具体的には、並行関係
管理部3は、複数の並行な状態遷移図の探索を実行する
順序を管理する。何故ならば、並行化された状態遷移図
は見かけ上は並行関係にあるが、実際には一連の順序で
探索されるからである。
【0042】アクション/イベント関係管理部5は、ア
クションとイベントの関係を管理する。このアクション
とイベントとの関係は、通常は並行に動作する状態遷移
図間での通信に用いられ、アクション/イベント関係管
理部5は、あるアクションが実行されると、その結果、
あるイベントが発生する(又は発生しなくなる)という
関係を管理する。アクション/イベント関係管理部5
は、例えば、「フラグをセットしろ」というアクション
を実行することにより、「フラグをセット状態」という
イベントが発生するというような関係を管理する。この
ように、アクション/イベント関係管理部5が、発生/
非発生イベント情報を状態遷移図探索部2に提供するこ
とで、現実に起こらないような事象に対応したテストケ
ースを作成してしまうことを回避できる。
【0043】テストケース格納部6は、状態遷移図探索
部2による作成中(又は作成済)のテストケースを保持
(格納)する。状態遷移図探索部2が時々刻々選択し、
通知してくる遷移(実際にはその遷移を生起させるイベ
ント情報)を受信して蓄積する。状態遷移図探索部2に
よる探索の終了時には、それらの遷移(イベント情報)
の時系列が、テストケース格納部6にテストケースとし
て格納されている。
【0044】上記のように構成された第1実施例に係る
テストケース作成装置の動作を説明する。製品仕様記述
部1によって製品の動作仕様を形式的に記述する。製品
仕様の記述方式は、状態遷移図とする。この場合におい
て、本発明では、近年の複雑化・大規模化する仕様を記
述できるだけの記述力を持たせるために、通常の状態遷
移図に並行化の概念を取り入れている。このように、動
作仕様の記述に並行化の概念を用い、動作仕様を構造化
して考えることにより、動作仕様を容易に記述すること
が可能になる。
【0045】各状態遷移図探索部2は、並行化された複
数の状態遷移図をそれぞれ格納する。次に、各状態遷移
図探索部2は、個々の状態遷移図に対し、有向グラフの
探索の手法等を用いることによって、テストケースを探
索する。すなわち、各状態遷移図探索部2は、状態遷移
図における有向グラフの一連のパスとして動作を特定し
ながらテストケースを探索する。複数の状態遷移図が並
行関係にあるために、同時に複数の状態遷移図が動作す
るような場合には、状態遷移図探索部2は、並行関係管
理部3によるそれぞれの状態遷移図に対する探索順序の
指示に従って探索を行ない、製品全体に対するテストケ
ースを作成する。
【0046】状態遷移図探索部2が状態遷移図を探索し
ていく際に、単に有向グラフとしてのみの探索を行なう
ならば、どのような遷移も可能である。しかし、各遷移
にはイベントとアクションが付随しており、イベントは
遷移発生の条件を、アクションは遷移発生時の処理を意
味しているので、実際にはアクションとイベントの組合
わせにより、ある状態で発生するイベントと発生しない
イベントの区別がつく場合がある。このような状況は、
特に並行に動作する複数の状態遷移図間で情報をやりと
りする場合に多く見られる。
【0047】そこで、アクション/イベント関係管理部
5は、アクションとイベントの関係を管理し、ある状態
で発生可能(又は不可能)なイベントを識別する。状態
遷移図探索部2は、探索中に遷移を選択する際に、アク
ション/イベント関係管理部5に問い合わせを行なっ
て、イベントの発生可能性を調べ、現実には有り得ない
動作(禁止された動作)に対応したテストケースを作成
しない。
【0048】状態遷移図探索部2で選択された各状態遷
移図に対応するそれぞれの遷移(より正確には遷移を発
生させるイベント)は、時間経過毎に一列に並べられ
る。これによって、その製品仕様全体に対するテストケ
ースを構成する。それぞれの状態遷移図探索部2は、選
択した遷移(イベント)をその都度、テストケース格納
部6に通知する。テストケース格納部6は通知された一
つ一つの遷移(イベント)を時系列順に管理し、全ての
探索が終了した段階で、1つのテストケースとして格納
する。
【0049】以上のようにして、システム試験工程にお
いて、製品動作の信頼性を確保するのに十分かつ抜けの
ないテストケースを作成することが実現される。図3
は、上記の動作を実現して、実際のテストケースを作成
する方法を示すフローチャートである。
【0050】図示しない制御部がテストケースの作成作
業に伴う作業用のデータ領域を初期化する(ステップS
1)。この記憶領域は、テストケースの十分性を各遷移
毎に記憶する領域及びアクション/イベント関係部の発
生/非発生イベントの記憶領域等である。この場合に、
テストケースの十分性とは、状態遷移図に記述された動
作仕様における状態遷移を全て網羅しているかどうかを
いう。従って、テストケースの十分性が100%とは、
テストケースが状態遷移図に記述された動作仕様におけ
る状態遷移を全て網羅していることをいう。
【0051】状態遷移図探索部2が、製品仕様記述部1
によって記述された製品仕様を、読み込む(ステップS
2)。この場合に、状態遷移図の情報は、各遷移毎に状
態、イベント、アクション及び次状態の四つの情報の組
の集まりとして表現されるので、例えば、図4に示すよ
うに表形式で格納する。
【0052】ステップS3から、探索処理(すなわちテ
ストケースの作成)に入る。ステップS3では、1つの
テストケースの終了の判断を行う。この場合に、1つの
テストケースの作成終了判定には、すべての遷移の十分
性が100%になった時、現在の状態からの到達範囲内
のすべての遷移について十分性が100%になった時、
状態遷移図の現在の状態からの遷移先がなくなった時又
は(無限に長い系列を作成するのを防ぐために)テスト
ケースが一定の長さを越えた時等といった条件を用い
る。
【0053】並行関係管理部3は、状態遷移図探索部2
が探索するプロセスを決定する(ステップS4)。ここ
で、プロセスとは、並行に実行され得る状態遷移図の単
位を示す。1つのプロセスは1枚以上の状態遷移図によ
って構成される。
【0054】並行関係管理部3は、探索するプロセスの
決定に際し、疑似的に並行な動作を実現するために、一
般にオペレーティングシステムの世界で用いられるスケ
ジューリングアルゴリズム等を使って、スケジューリン
グを行なう。最も単純なスケジュールングは、それぞれ
のプロセスを順番に探索し、最後まで終ったら又はじめ
のプロセスに戻るというものである。このスケジューリ
ングは、並行関係管理部内に、図5のような構造のデー
タを保持させることによって実現できる。
【0055】状態遷移図探索部2は、ステップS4で指
定されたプロセスを構成する状態遷移図で探索を実行
し、遷移を選択する(ステップS5)。状態遷移図探索
部2による遷移探索の方法を、図6に示す。
【0056】現在の状態からの遷移のうち、アクション
/イベント関係管理部5が提示する発生するイベントの
みによって遷移できるものであるかを調べる(ステップ
S51)。遷移できるものがある場合には(ステップS
52)、その遷移を選択して(ステップS58)、ステ
ップS6に進む。ない場合には、ステップS53に進
む。アクション/イベント関係管理部5が提示する発生
しないイベントをチェックする(ステップS53)。そ
して、発生しないイベントの条件の下でも遷移可能な遷
移を、つまり発生しないイベントのために遷移不可能に
ならない遷移を探し(ステップS54)、遷移可能な遷
移がない場合(ステップS55)、ステップS6に進
む。ステップS55において、遷移可能な遷移がある場
合には、それらの遷移が今までに選択されたことがある
かをチェックし(ステップS56)、すべて選択済みの
場合にはステップS6に進む。ステップS56におい
て、選択したことのないものがある場合には、それらの
中から1つの遷移を選ぶ(ステップS57)。その選び
方は、例えば等確率で乱数によって決める等の方法が考
えられる。ステップS57で決められた遷移はステップ
S58にて選択され、ステップS6へ進む。
【0057】ステップS5の探索実行の結果遷移が選択
されたかどうかを判定し(ステップS6)、遷移が選択
された場合にはステップS7に進み、ステップS5で選
択された遷移を実行する(ステップS7)。ステップS
5において、遷移が選択されなかった場合にはステップ
S10へ進む。ステップS7において、遷移の実行は、
アクションの実行と状態の遷移とによって構成されてい
る。
【0058】アクションの実行において、状態遷移図探
索部2が遷移に伴うアクションをアクション/イベント
関係管理部5に通知し、アクション/イベント関係管理
部5がそのアクションをキーにして、発生する(しなく
なる)イベントを予め登録されているデータから検索す
る。そして、検索されたイベントは、アクション/イベ
ント関係管理部5に発生/非発生イベントとして登録さ
れ、以後の探索に用いられる。
【0059】具体的なアクション/イベント関係の管理
方法を図7に示す。アクション/イベント関係管理部5
は、状態遷移図探索部2が参照するための、その時点で
発生するイベントリスト及び発生しないイベントリスト
と、イベントとアクションとの関係を記録するアクショ
ン/イベント関係テーブルとを有する。例えば図7で
は、フラグがリセットされている時は、「フラグリセッ
ト中」が発生するイベント、「フラグセット中」が発生
しないイベントのリストに入っている。ここで、状態遷
移図探索部2の遷移選択の結果、「フラグセットしろ」
というアクションが実行されると、その情報がアクショ
ン/イベント関係管理部5に通信される。そして、アク
ション/イベント関係管理部5はアクション/イベント
関係テーブルを参照し、「フラグセットしろ」の結果
「フラグセット中」が発生し、「フラグリセット中」が
発生しなくなることを知る。そして、それぞれ発生する
イベントリスト、発生しないイベントリストを図7のよ
うに更新する。
【0060】状態の遷移とは、選択された遷移に従って
現在の状態を新しい状態に移す動作である。状態遷移図
探索部2は、現在の状態を選択された遷移先の次状態に
移す。これにより、次回の探索からは、新しい現在の状
態(すなわち次状態)から探索する。
【0061】テストケース格納部6に、テストケースを
構成するイベントが登録される(ステップS8)。この
場合に、状態遷移図探索部2は、ステップS5で選択さ
れた遷移を生起させるためのイベント情報を、テストケ
ース格納部6に通信する。テストケース格納部6は、通
信されたイベント情報を、探索の履歴として蓄え、探索
終了時には、蓄えられた探索の履歴が1つのテストケー
スを構成する。
【0062】テストケース格納部6に、テストケースの
局所的な十分性の情報が登録される(ステップS9)。
十分性の管理の方法としては、各遷移の選択された回数
を記憶する方法がある。これにより、まだ選択されてい
ない遷移が識別可能となる。また、複数回遷移を選択す
る場合にも、選択される遷移が1つに集中することを避
ける。或いは、遷移を重要な遷移に集中させる等の調整
が可能となる。
【0063】ステップS6の判定で、遷移が選択されて
いなかった場合には、ステップS10の処理が行われ
る。ステップS10では、探索のデッドロックの発生の
有無がチェックされる。複数のテストケースを作成して
いくと、探索の途中で十分性を満足し、局所的にはそれ
以上の遷移の選択を必要としなくなるため、遷移図にお
いてそれより先の部分において選択しなければならない
遷移があっても、そこまでたどり着けなくなる場合があ
る。例えば図8において、「A」のようなパスに対応す
るテストケースを作成した後では、「a」の遷移はすで
に十分性を満足している。しかし、そこで探索を打ち切
ってしまうと、「b」の遷移を試験することができな
い。このような状況を探索の「デッドロック」と呼ぶ。
並行な関係にある状態遷移図の探索順序は並行関係管理
部3によって管理されているが、この探索が各状態遷移
図に対してひとまわり実行されても、どの状態遷移図探
索部2においても遷移が選択されなかった場合に、デッ
ドロックが発生していると解釈する。
【0064】ステップS10においてデッドロックの発
生の有無で処理を振り分ける(ステップS11)。ステ
ップS11において、デッドロックが発生していない場
合には、ステップS3へ進む。デッドロックが発生して
いる場合には、ステップS12へ進む。
【0065】デッドロックを回避可能な遷移の探索を行
なう(ステップS12)。この場合、すべての状態遷移
図探索部2の現在の状態からの遷移を対象にして、それ
らの中から1つの遷移を選択する。この時、アクション
/イベント関係管理部5を参照して、発生しないイベン
トをチェックし、その条件の下で遷移し得ない遷移は選
択できない。選択できる遷移の候補が複数存在する場合
には、それらの中から1つの遷移を選択する。選択の方
法としては、未選択の遷移が多く残っている状態遷移図
探索部2の遷移を優先させる、これまでの選択回数の少
ないものを選ぶ、条件が同じ場合には等確率で乱数によ
って決める等が考えられる。
【0066】ステップS12の結果、デッドロック回避
可能な遷移が発見できたら(ステップS13)、その遷
移を選択してテストケース作成を継続するために、ステ
ップS7へ進む。ステップS12において、デッドロッ
ク回避可能な遷移が発見できなかった場合には(ステッ
プS13)、製品仕様自体がデッドロックを引き起こす
誤った仕様である可能性があるので、ステップS14へ
進み、製品仕様自体にエラーが発生していることを開発
者にメッセージとして提示した上で、テストケース作成
を終了する(ステップS14)。
【0067】ステップS3の結果、1つのテストケース
が作成終了した場合には、ステップS15へ進み、テス
トケースを作成する(ステップS15)。なお、テスト
ケース格納部6に蓄えられている一連のイベント履歴
が、製品に与えるべきテストケースとなる。テストケー
スは、例えば図9のようなフォーマットのファイルとし
て出力することができる。他にも、試験信号を作成する
ためのシステムにデータを渡して、自動試験を実現する
こともできる。
【0068】テストケース作成の完了を判定する(ステ
ップS16)。完了の条件としては、すべての遷移の十
分性が100%になった時、テストケース数が一定の値
を越えた時、等が考えられる。判定の結果、テストケー
ス作成が完了した場合には、処理を終了する。未完の場
合には、ステップS17へ進み、次のテストケース作成
を行なうための、作業用のデータ領域の再初期化を行な
う(ステップS17)。すなわち、状態遷移図探索部2
の現在の状態を初期状態に戻す、アクション/イベント
関係管理部5の発生/非発生イベントの記憶状態を初期
状態に戻す等を行う。また、遷移の十分性に関する情報
は、ここでは保存される。なお、再初期化後には、ステ
ップS3へ戻る。
【0069】図10は本発明の第2実施例に係るテスト
ケース作成装置の構成を示すブロック図である。図10
において、図2と同じ部分には同じ符号を付す。第2実
施例のテストケース作成装置は、製品仕様記述部1と、
複数の状態遷移図探索部2と、階層関係管理部4と、ア
クション/イベント関係管理部5と、テストケース格納
部6とを具備する。
【0070】製品仕様記述部1は、テストケース作成の
対象となる製品の動作仕様を形式的に記述する。この場
合において、製品仕様記述部1は、階層化の概念を有す
る状態遷移図として動作仕様(すなわち製品仕様)を記
述する。このように状態遷移図の記述に階層化の概念を
取り入れることにより、大規模化する仕様を容易に記述
できる。
【0071】状態遷移図探索部2は、テストケース作成
のために状態遷移図を有向グラフとして探索する。具体
的には、状態遷移図探索部2は、状態遷移情報を製品仕
様記述部1から読み込み、状態遷移図における有向グラ
フの一連のパスとして製品の動作を特定しながらテスト
ケースを作成する。これらの状態遷移図探索部2は、実
行時には、一枚の状態遷移図に対し1つの状態遷移図探
索部2が割り当てられる。各状態遷移図探索部2は対応
するそれぞれの状態遷移図の現在の状態を常に管理して
おり、詳細は後述するアクション/イベント関係管理部
5から通知される発生/非発生イベントを参照しなが
ら、現在の状態からの遷移を1つずつ選択して、現在の
状態を次の状態に移すという方法で、探索を進める。状
態遷移図探索部2によって選択された遷移の情報は、そ
れを生起させるイベントという形でテストケース格納部
6に時々刻々伝達され、イベント列として格納される。
【0072】階層関係管理部4は、動作仕様の階層化の
結果として上下関係を持ちながら並行に動作する複数の
状態遷移図を管理する。階層関係管理部4の第1の役割
は、階層化されている複数の状態遷移図の実行順序の管
理である。そして、階層関係管理部4の第2の役割は、
状態遷移図探索部2の遷移選択のための遷移網羅の十分
性の監視である。
【0073】状態遷移図が階層化されることにより、単
純に1つの遷移は最低一回通過すればよいということで
は、製品の信頼性を確保するテストケースを作成するこ
とはできない。
【0074】例えば図1において、現在の状態がそれぞ
れ、動作中(状態遷移図SD1)、冷房(状態遷移図S
D2)、クーラオン(状態遷移図SD4)の時に、状態
遷移図SD1にて動作停止のイベントが発生し、停止状
態への遷移が発生したとする。この状況を試験して、動
作が正常であった場合、従来の考え方でいうと、停止状
態への遷移は確認されたということになる。しかし、製
品の信頼性を確保するためには、これだけの試験では不
十分である。同じ停止状態への遷移にしても、動作中
(状態遷移図SD1)、暖房(状態遷移図SD2)、ヒ
ータオン(状態遷移図SD5)の時に停止要求があった
場合には、当然製品の振舞も異なるわけであり、試験を
省略することはできない。動作を停止しても、ヒータは
オンのままでつきっぱなしというような状況を見逃して
しまうかもしれないからである。
【0075】上記のように、単純なケースにおいても、
階層を考慮しないと抜けのないテストケースを自動的に
作成することは困難である。アクション/イベント関係
管理部5は、アクションとイベントの関係を管理する。
このアクションとイベントとの関係は、通常は並行に動
作する状態遷移図間での通信に用いられ、アクション/
イベント関係管理部5は、あるアクションが実行される
と、その結果、あるイベントが発生する(又は発生しな
くなる)という関係を管理する。アクション/イベント
関係管理部5は、例えば、「フラグをセットしろ」とい
うアクションを実行することにより、「フラグをセット
状態」というイベントが発生するというような関係を管
理する。このように、アクション/イベント関係管理部
5が、発生/非発生イベント情報を状態遷移図探索部2
に提供することで、現実に起こらないような事象に対応
したテストケースを作成してしまうことを回避できる。
【0076】テストケース格納部6は、状態遷移図探索
部2による作成中(又は作成済)のテストケースを保持
(格納)する。状態遷移図探索部2が時々刻々選択し、
通知してくる遷移(実際にはその遷移を生起させるイベ
ント情報)を受信して蓄積する。状態遷移図探索部2に
よる探索の終了時には、それらの遷移(イベント情報)
の時系列が、テストケース格納部6にテストケースとし
て格納されている。
【0077】上記のように構成された第2実施例に係る
テストケース作成装置の動作を説明する。製品仕様記述
部1によって製品の動作仕様を形式的に記述する。製品
仕様の記述方式は、状態遷移図とする。この場合におい
て、本発明では、近年の複雑化・大規模化する仕様を記
述できるだけの記述力を持たせるために、通常の状態遷
移図に階層化の概念を取り入れている。このように、動
作仕様の記述に階層化の概念を用い、動作仕様を構造化
して考えることにより、動作仕様を容易に記述すること
が可能になる。
【0078】各状態遷移図探索部2は、階層化された複
数の状態遷移図をそれぞれ格納する。次に、各状態遷移
図探索部2は、個々の状態遷移図に対し、有向グラフの
探索の手法等を用いることによって、テストケースを探
索する。すなわち、各状態遷移図探索部2は、状態遷移
図における有向グラフの一連のパスとして動作を特定し
ながらテストケースを探索する。複数の状態遷移図が階
層関係にあるために、同時に複数の状態遷移図が動作す
るような場合には、状態遷移図探索部2は、階層関係管
理部4によるそれぞれの状態遷移図に対する探索順序の
指示に従って探索を行ない、製品全体に対するテストケ
ースを作成する。
【0079】状態遷移図探索部2が状態遷移図を探索し
ていく際の、ある遷移を選択するかしないかの判断は、
通常の網羅の考え方、つまり各遷移は最低1度通過すれ
ば良いという考え方では不十分であり、階層化の結果生
じる複数の状態の組合せを考慮する必要がある。階層関
係管理部4は、階層間での状態の組合せを考慮した上
で、状態遷移図探索部2からの問い合わせに応じて、各
遷移を選択するかどうかの十分性の情報を状態遷移図探
索部2に渡す。これにより、製品動作に対して抜けのな
いような状態遷移図の探索を実行する。
【0080】状態遷移図探索部2が状態遷移図を探索し
ていく際に、単に有向グラフとしてのみの探索を行なう
ならば、どのような遷移も可能である。しかし、各遷移
にはイベントとアクションが付随しており、イベントは
遷移発生の条件を、アクションは遷移発生時の処理を意
味しているので、実際にはアクションとイベントの組合
わせにより、ある状態で発生するイベントと発生しない
イベントの区別がつく場合がある。
【0081】そこで、アクション/イベント関係管理部
5は、アクションとイベントの関係を管理し、ある状態
で発生可能(又は不可能)なイベントを識別する。状態
遷移図探索部2は、探索中に遷移を選択する際に、アク
ション/イベント関係管理部5に問い合わせを行なっ
て、イベントの発生可能性を調べ、現実には有り得ない
動作に対応したテストケースを作成しない。
【0082】状態遷移図探索部2で選択された各状態遷
移図に対応するそれぞれの遷移(より正確には遷移を発
生させるイベント)は、時間経過毎に一列に並べられ
る。これによって、その製品仕様全体に対するテストケ
ースを構成する。それぞれの状態遷移図探索部2は、選
択した遷移(イベント)をその都度、テストケース格納
部6に通知する。テストケース格納部6は通知された一
つ一つの遷移(イベント)を時系列順に管理し、全ての
探索が終了した段階で、1つのテストケースとして格納
する。
【0083】以上のようにして、システム試験工程にお
いて、製品動作の信頼性を確保するのに十分かつ抜けの
ないテストケースを作成することが実現される。図11
は、上記の動作を実現して、実際のテストケースを作成
する方法を示すフローチャートである。
【0084】図示しない制御部がテストケースの作成作
業に伴う作業用のデータ領域を初期化する(ステップS
1)。この記憶領域は、テストケースの十分性を各遷移
毎に記憶する領域及びアクション/イベント関係部の発
生/非発生イベントの記憶領域等である。この場合に、
テストケースの十分性とは、状態遷移図に記述された動
作仕様における状態遷移を全て網羅しているかどうかを
いう。従って、テストケースの十分性が100%とは、
テストケースが状態遷移図に記述された動作仕様におけ
る状態遷移を全て網羅していることをいう。
【0085】状態遷移図探索部2が、製品仕様記述部1
によって記述された製品仕様を、読み込む(ステップS
2)。状態遷移図の情報は、第1実施例と同様に、図4
のように表形式で格納する。
【0086】ステップS3から、探索処理(すなわちテ
ストケースの作成)に入る。ステップS3では、1つの
テストケースの終了の判断を行う。この場合に、1つの
テストケースの作成終了判定には、階層間の状態の組合
わせを考慮した上で、すべての遷移の十分性が100%
になった時、現在の状態からの到達範囲内のすべての遷
移について十分性が100%になった時、状態遷移図の
現在の状態からの遷移先がなくなった時又は(無限に長
い系列を作成するのを防ぐために)テストケースが一定
の長さを越えた時等といった条件を用いる。
【0087】階層関係管理部4が探索する階層を決定す
る(ステップS4)。階層がひとつしか存在しない場合
には、その階層の状態遷移図を探索すれば良い。階層関
係にある複数枚の状態遷移図が存在する場合には、各階
層はそれぞれ、概念的には同時に実行されるが、実際は
一定の順序でそれぞれの階層の状態遷移図を探索してい
かなければならない。通常は、下位層から上位層に向か
うという順序で、それぞれの状態遷移図を探索する。こ
のような階層実行は、階層関係管理部4において図12
のようなリンク関係を有するスタック構造のデータを保
持することによって実現できる。
【0088】状態遷移図探索部2は、指定された状態遷
移図において探索を実行し、遷移を選択する(ステップ
S5)。遷移の選択は、図13に示すようなフローチャ
ートによって実行される。
【0089】現在の状態からの遷移のうち、アクション
/イベント関係管理部5が提示する発生するイベントの
みによって遷移できるものであるかを調べる(ステップ
S51)。遷移できるものがある場合には(ステップS
52)、その遷移を選択して(ステップS58)、ステ
ップS6に進む。ない場合には、ステップS53に進
む。アクション/イベント関係管理部5が提示する発生
しないイベントをチェックする(ステップS53)。そ
して、発生しないイベントの条件の下でも遷移可能な遷
移を、つまり発生しないイベントのために遷移不可能に
ならない遷移を探し(ステップS54)、遷移可能な遷
移がない場合(ステップS55)、ステップS6に進
む。ステップS55において、遷移可能な遷移がある場
合には、階層化の結果生じる状態の組合せを考慮した上
で、それらの遷移が今までに選択されたことがあるかを
チェックし(ステップS56)、すべて選択済みの場合
にはステップS6に進む。ステップS56において、選
択したことのないものがある場合には、それらの中から
1つの遷移を選ぶ(ステップS57)。その選び方は、
例えば等確率で乱数によって決める等の方法が考えられ
る。ステップS57で決められた遷移はステップS58
にて選択され、ステップS6へ進む。
【0090】ステップS5の探索実行の結果遷移が選択
されたかどうかを判定し(ステップS6)、遷移が選択
された場合にはステップS7に進み、ステップS5で選
択された遷移を実行する(ステップS7)。ステップS
5において、遷移が選択されなかった場合にはステップ
S10へ進む。ステップS7において、遷移の実行は、
アクションの実行と状態の遷移とによって構成されてい
る。
【0091】アクションの実行では、第1実施例でのア
クション実行と全く同様に、アクション/イベント関係
管理部5に、発生するイベントと、発生しないイベント
とを登録する。
【0092】状態の遷移とは、選択された遷移に従っ
て、現在の状態を新しい状態に移す動作である。状態遷
移図探索部2は、現在の状態を新しい状態に移し、階層
関係管理部4に制御を渡す。階層関係管理部4は、その
遷移によって階層関係がどのように変わるかを判断す
る。そして、状態遷移の結果下位層の状態遷移図の実行
が終了する場合には、階層関係管理部4は、その状態遷
移図の状態遷移図探索部2に探索終了要求を行ない、階
層関係管理部4の管理下から当該状態遷移図探索部2を
外す。また、新たな階層が下に展開される場合には、階
層関係管理部4は、その状態遷移図の状態遷移図探索部
2に探索開始要求を行ない、階層関係管理部4の管理下
に当該状態遷移図探索部2を組み込む。
【0093】テストケース格納部6に、テストケースを
構成するイベントが登録される(ステップS8)。この
場合に、状態遷移図探索部2は、ステップS5で選択さ
れた遷移を生起させるためのイベント情報を、テストケ
ース格納部6に通信する。テストケース格納部6は、通
信されたイベント情報を、探索の履歴として蓄え、探索
終了時には、蓄えられた探索の履歴が1つのテストケー
スを構成する。
【0094】テストケース格納部6に、テストケースの
局所的な十分性の情報が登録される(ステップS9)。
十分性の管理方法としては、階層間の状態の組合せを考
慮するために、試験の網羅度合を記録する特殊なデータ
構造を利用する。このデータ構造を「十分性−木」と称
する。以下、「十分性−木」を簡単に説明する。
【0095】「十分性−木」は、図14に示すような状
態の階層関係を示す木構造図である。図14は図1の仕
様に対する十分性−木を示す。「十分性−木」は、最上
位に1つの仮想的な状態を設定し、その下に階層を展開
していくことによって現れる状態の上下関係を木の形で
表現する。
【0096】「十分性−木」におけるある遷移に対する
網羅の度合(すなわち十分性)は、その遷移の出ている
状態を「十分性−木」上でポイントし、それより下にあ
る部分木の葉(末端のノード)に至るすべてのパスのう
ち、どれだけのパスを網羅しているかによって測定す
る。葉に至るパスは、階層関係を考慮した状態の組合せ
に相当し、1つの遷移を探索する時に、製品がどのよう
な状態の組合わせになっているかが葉に至るパスによっ
て表現される。従って、ある部分木の葉に至るすべての
パスが、ある遷移について試験しなければならない製品
の状態のすべての組合わせに対応する。網羅した遷移に
対しては、この「十分性−木」のパスに対して網羅済み
の属性を与えていくことで、テストケースの抜けや重複
を防ぐ。例えば図14においてaの状態からの遷移に関
しては、パスP1〜P5の5つの組合わせすべてに関す
る動作が確認できなければ、テストケースとして十分と
は言えない。同様に、bの状態からの遷移に関しては、
パスP2及びP3の組合わせが必要である。
【0097】ステップS6の判定で、遷移が選択されて
いなかった場合には、ステップS10の処理が行なわれ
る。ステップS10では、探索のデッドロックの発生の
有無がチェックされる。デッドロックの内容は第1実施
例と同様である。階層関係にある状態遷移図の探索順序
は階層関係管理部4によって管理されているが、この探
索が各状態遷移図に対してひとまわり実行されても、ど
の状態遷移図探索部2においても遷移が選択されなかっ
た場合には、デッドロックが発生していると解釈する。
【0098】ステップS10においてデッドロックの発
生の有無で処理を振り分ける(ステップS11)。ステ
ップS11において、デッドロックが発生していない場
合には、ステップS3へ進む。デッドロックが発生して
いる場合には、ステップS12へ進む。
【0099】デッドロックを回避可能な遷移の探索を行
なう(ステップS12)。この場合、すべての状態遷移
図探索部2の現在の状態からの遷移を対象にして、それ
らの中から1つの遷移を選択する。この時、アクション
/イベント関係管理部5を参照して、発生しないイベン
トをチェックし、その条件の下で遷移し得ない遷移は選
択できない。選択できる遷移の候補が複数存在する場合
には、それらの中から1つの遷移を選択する。選択の方
法としては、十分性−木を参照して階層間の状態組合せ
を考慮した上で、未選択の遷移が多く残っている状態遷
移図探索部2の遷移を優先させる、これまでの選択回数
の少ないものを選ぶ、条件が同じ場合には等確率で乱数
によって決める等が考えられる。
【0100】ステップS12の結果、デッドロック回避
可能な遷移が発見できたら(ステップS13)、その遷
移を選択してテストケース作成を継続するために、ステ
ップS7へ進む。ステップS12において、デッドロッ
ク回避可能な遷移が発見できなかった場合には(ステッ
プS13)、製品仕様自体がデッドロックを引き起こす
誤った仕様である可能性があるので、ステップS14へ
進み、製品仕様自体にエラーが発生していることを開発
者にメッセージとして提示した上で、テストケース作成
を終了する(ステップS14)。
【0101】ステップS3の結果、1つのテストケース
が作成終了した場合には、ステップS15へ進み、テス
トケースを作成する(ステップS15)。なお、テスト
ケース格納部6に蓄えられている一連のイベント履歴
が、製品に与えるべきテストケースとなる。テストケー
スは、例えば図9のようなフォーマットのファイルとし
て出力することができる。他にも、試験信号を作成する
ためのシステムにデータを渡して、自動試験を実現する
こともできる。
【0102】テストケース作成の完了を判定する(ステ
ップS16)。完了の条件としては、すべての遷移の十
分性が100%になった時、テストケース数が一定の値
を越えた時、等が考えられる。判定の結果、テストケー
ス作成が完了した場合には、処理を終了する。未完の場
合には、ステップS17へ進み、次のテストケース作成
を行なうための、作業用のデータ領域の再初期化を行な
う(ステップS17)。すなわち、状態遷移図探索部2
の現在の状態を初期状態に戻す、アクション/イベント
関係管理部5の発生/非発生イベントの記憶状態を初期
状態に戻す等を行う。また、遷移の十分性に関する情報
は、ここでは保存される。なお、再初期化後には、ステ
ップS3へ戻る。
【0103】図15は本発明の第3実施例に係るテスト
ケース作成装置の構成を示すブロック図である。第3実
施例のテストケース作成装置は製品仕様記述部1と、複
数の状態遷移図探索部2と、並行関係管理部3と、階層
関係管理部4と、アクション/イベント関係管理部5
と、テストケース格納部6とを具備する。
【0104】製品仕様記述部1は、テストケース作成の
対象となる製品の動作仕様を形式的に記述する。この場
合において、製品仕様記述部1は、並行化及び階層化の
概念を有する状態遷移図として動作仕様(すなわち製品
仕様)を記述する。このように状態遷移図の記述に並行
化及び階層化の概念を取り入れることにより、大規模化
する仕様を容易に記述できる。
【0105】状態遷移図探索部2は、テストケース作成
のために状態遷移図を有向グラフとして探索する。具体
的には、状態遷移図探索部2は、状態遷移情報を製品仕
様記述部1から読み込み、状態遷移図における有向グラ
フの一連のパスとして製品の動作を特定しながらテスト
ケースを作成する。これらの状態遷移図探索部2は、実
行時には、一枚の状態遷移図に対し1つの状態遷移図探
索部2が割り当てられる。各状態遷移図探索部2は対応
するそれぞれの状態遷移図の現在の状態を常に管理して
おり、詳細は後述するアクション/イベント関係管理部
5から通知される発生/非発生イベントを参照しなが
ら、現在の状態からの遷移を1つずつ選択して、現在の
状態を次の状態に移すという方法で、探索を進める。状
態遷移図探索部2によって選択された遷移の情報は、そ
れを生起させるイベントという形でテストケース格納部
6に時々刻々伝達され、イベント列として格納される。
【0106】並行関係管理部3は、並行に動作する複数
の状態遷移図の関係を管理する。具体的には、並行関係
管理部3は、複数の並行な状態遷移図の探索を実行する
順序を管理する。何故ならば、並行化された状態遷移図
は見かけ上は並行関係にあるが、実際には一連の順序で
探索されるからである。
【0107】階層関係管理部4は、動作仕様の階層化の
結果として上下関係を持ちながら並行に動作する複数の
状態遷移図を管理する。階層関係管理部4の第1の役割
は、階層化されている複数の状態遷移図の実行順序の管
理である。そして、階層関係管理部4の第2の役割は、
状態遷移図探索部2の遷移選択のための遷移網羅の十分
性の監視である。
【0108】アクション/イベント関係管理部5は、ア
クションとイベントの関係を管理する。このアクション
とイベントとの関係は、通常は並行に動作する状態遷移
図間での通信に用いられ、アクション/イベント関係管
理部5は、あるアクションが実行されると、その結果、
あるイベントが発生する(又は発生しなくなる)という
関係を管理する。アクション/イベント関係管理部5
は、例えば、「フラグをセットしろ」というアクション
を実行することにより、「フラグをセット状態」という
イベントが発生するというような関係を管理する。この
ように、アクション/イベント関係管理部5が、発生/
非発生イベント情報を状態遷移図探索部2に提供するこ
とで、現実に起こらないような事象に対応したテストケ
ースを作成してしまうことを回避できる。
【0109】テストケース格納部6は、状態遷移図探索
部2による作成中(又は作成済)のテストケースを保持
(格納)する。状態遷移図探索部2が時々刻々選択し、
通知してくる遷移(実際にはその遷移を生起させるイベ
ント情報)を受信して蓄積する。状態遷移図探索部2に
よる探索の終了時には、それらの遷移(イベント情報)
の時系列が、テストケース格納部6にテストケースとし
て格納されている。
【0110】上記のように構成された第3実施例に係る
テストケース作成装置の動作を説明する。製品仕様記述
部1によって製品の動作仕様を形式的に記述する。製品
仕様の記述方式は、状態遷移図とする。この場合におい
て、本発明では、近年の複雑化・大規模化する仕様を記
述できるだけの記述力を持たせるために、通常の状態遷
移図に並行化及び階層化の概念を取り入れている。この
ように、動作仕様の記述に並行化及び階層化の概念を用
い、動作仕様を構造化して考えることにより、動作仕様
を容易に記述することが可能になる。
【0111】各状態遷移図探索部2は、並行化された複
数の状態遷移図をそれぞれ格納する。次に、各状態遷移
図探索部2は、個々の状態遷移図に対し、有向グラフの
探索の手法等を用いることによって、テストケースを探
索する。すなわち、各状態遷移図探索部2は、状態遷移
図における有向グラフの一連のパスとして動作を特定し
ながらテストケースを探索する。複数の状態遷移図が並
行関係及び階層関係にあるために、同時に複数の状態遷
移図が動作するような場合には、状態遷移図探索部2
は、並行関係管理部3及び階層関係管理部4によるそれ
ぞれの状態遷移図に対する探索順序の指示に従って探索
を行ない、製品全体に対するテストケースを作成する。
【0112】状態遷移図探索部2が状態遷移図を探索し
ていく際の、ある遷移を選択するかしないかの判断は、
通常の網羅の考え方、つまり各遷移は最低1度通過すれ
ば良いという考え方では不十分であり、階層化の結果生
じる複数の状態の組合せを考慮する必要がある。階層関
係管理部4は、階層間での状態の組合せを考慮した上
で、状態遷移図探索部2からの問い合わせに応じて、各
遷移を選択するかどうかの十分性の情報を状態遷移図探
索部2に渡す。これにより、製品動作に対して抜けのな
いような状態遷移図の探索を実行する。
【0113】状態遷移図探索部2が状態遷移図を探索し
ていく際に、単に有向グラフとしてのみの探索を行なう
ならば、どのような遷移も可能である。しかし、各遷移
にはイベントとアクションが付随しており、イベントは
遷移発生の条件を、アクションは遷移発生時の処理を意
味しているので、実際にはアクションとイベントの組合
わせにより、ある状態で発生するイベントと発生しない
イベントの区別がつく場合がある。このような状況は、
特に並行に動作する複数の状態遷移図間で情報をやりと
りする場合に多く見られる。
【0114】そこで、アクション/イベント関係管理部
5は、アクションとイベントの関係を管理し、ある状態
で発生可能(又は不可能)なイベントを識別する。状態
遷移図探索部2は、探索中に遷移を選択する際に、アク
ション/イベント関係管理部5に問い合わせを行なっ
て、イベントの発生可能性を調べ、現実には有り得ない
動作に対応したテストケースを作成しない。
【0115】状態遷移図探索部2で選択された各状態遷
移図に対応するそれぞれの遷移(より正確には遷移を発
生させるイベント)は、時間経過毎に一列に並べられ
る。これによって、その製品仕様全体に対するテストケ
ースを構成する。それぞれの状態遷移図探索部2は、選
択した遷移(イベント)をその都度、テストケース格納
部6に通知する。テストケース格納部6は通知された一
つ一つの遷移(イベント)を時系列順に管理し、全ての
探索が終了した段階で、1つのテストケースとして格納
する。
【0116】以上のようにして、システム試験工程にお
いて、製品動作の信頼性を確保するのに十分かつ抜けの
ないテストケースを作成することが実現される。図16
は、上記の動作を実現して、実際のテストケースを作成
する方法を示すフローチャートである。
【0117】図示しない制御部がテストケースの作成作
業に伴う作業用のデータ領域を初期化する(ステップS
1)。この記憶領域は、テストケースの十分性を各遷移
毎に記憶する領域及びアクション/イベント関係部の発
生/非発生イベントの記憶領域等である。この場合に、
テストケースの十分性とは、状態遷移図に記述された動
作仕様における状態遷移を全て網羅しているかどうかを
いう。従って、テストケースの十分性が100%とは、
テストケースが状態遷移図に記述された動作仕様におけ
る状態遷移を全て網羅していることをいう。
【0118】状態遷移図探索部2が、製品仕様記述部1
によって記述された製品仕様を、読み込む(ステップS
2)。状態遷移図の情報は、第1実施例と同様に、図4
のように表形式で格納する。
【0119】ステップS3から、探索処理(すなわちテ
ストケースの作成)に入る。ステップS3では、1つの
テストケースの終了の判断を行う。この場合に、1つの
テストケースの作成終了判定には、すべての遷移の十分
性が100%になった時、現在の状態からの到達範囲内
のすべての遷移について十分性が100%になった時、
状態遷移図の現在の状態からの遷移先がなくなった時又
は(無限に長い系列を作成するのを防ぐために)テスト
ケースが一定の長さを越えた時等といった条件を用い
る。
【0120】探索される状態遷移図が決定される(ステ
ップS4)。 並行関係管理部3は、状態遷移図探索部
2が探索するプロセスを決定する。ここで、プロセスと
は、並行に実行され得る状態遷移図の単位を示す。1つ
のプロセスは1枚以上の状態遷移図又は1枚の状態遷移
図とそれから展開される下位層の複数枚の状態遷移図に
よって構成される。
【0121】例えば図1は、2つのプロセスから構成さ
れており、1つのプロセスは状態遷移図SD1、状態遷
移図SD2、状態遷移図SD4及び状態遷移図SD5か
ら、もう1つのプロセスは状態遷移図SD3の1枚から
なっている。
【0122】探索するプロセスの決定は、第1実施例と
同様の方法で行なうことができる。1つのプロセスが複
数の階層によって構成される場合には、全階層にわたっ
て探索が実施された後で、次のプロセスに移るように制
御される。
【0123】プロセスが決定された後は、指定されたプ
ロセスに対して、階層関係管理部4が探索する階層を決
定する。階層の決定方法は、第2実施例と同様である。
状態遷移図探索部2は、指定された状態遷移図において
探索を実行し、遷移を選択する(ステップS5)。遷移
探索の方法は、第2実施例と同様である。
【0124】ステップS5の探索実行の結果遷移が選択
されたかどうかを判定し(ステップS6)、遷移が選択
された場合にはステップS7に進み、ステップS5で選
択された遷移を実行する(ステップS7)。ステップS
5において、遷移が選択されなかった場合にはステップ
S10へ進む。ステップS7において、遷移の実行は、
アクションの実行と状態の遷移とによって構成されてい
る。
【0125】アクションの実行では、第1実施例でのア
クション実行と全く同様に、アクション/イベント関係
管理部5に、発生するイベントと、発生しないイベント
とを登録する。
【0126】もうひとつの状態の遷移は、第2実施例と
同様である。テストケース格納部6に、テストケースを
構成するイベントが登録される(ステップS8)。この
場合に、状態遷移図探索部2は、ステップS5で選択さ
れた遷移を生起させるためのイベント情報を、テストケ
ース格納部6に通信する。テストケース格納部6は、通
信されたイベント情報を、探索の履歴として蓄え、探索
終了時には、蓄えられた探索の履歴が1つのテストケー
スを構成する。
【0127】テストケース格納部6に、テストケースの
局所的な十分性の情報が登録される(ステップS9)。
十分性の管理方法としては、階層間の状態の組合せを考
慮するために、第2実施例と同様に「十分性−木」を用
いる。網羅した遷移に対しては、この「十分性−木」の
根(木の最上位のノード)から葉へのパスに対して網羅
済みの属性を与えていくことで、テストケースの抜けや
重複を防ぐ。
【0128】ステップS6の判定で、遷移が選択されて
いなかった場合には、ステップS10の処理が行われ
る。ステップS10では、探索のデッドロックの発生の
有無がチェックされる。デッドロックの内容は第1実施
例と同様である。階層関係にある状態遷移図の探索順序
は並行関係管理部3と階層関係管理部4とによって管理
されているが、この探索が各状態遷移図に対してひとま
わり実行されても、どの状態遷移図探索部2においても
遷移が選択されなかった場合、デッドロックが発生して
いると解釈する。
【0129】ステップS10においてデッドロックの発
生の有無で処理を振り分ける(ステップS11)。ステ
ップS11において、デッドロックが発生していない場
合には、ステップS3へ進む。デッドロックが発生して
いる場合には、ステップS12へ進む。
【0130】デッドロックを回避可能な遷移の探索を行
なう(ステップS12)。この場合、すべての状態遷移
図探索部2の現在の状態からの遷移を対象にして、それ
らの中から1つの遷移を選択する。この時、アクション
/イベント関係管理部5を参照して、発生しないイベン
トをチェックし、その条件の下で遷移し得ない遷移は選
択できない。選択できる遷移の候補が複数存在する場合
には、それらの中から1つの遷移を選択する。選択の方
法としては、十分性−木を参照して階層間の状態組合せ
を考慮した上で、未選択の遷移が多く残っている状態遷
移図探索部2の遷移を優先させる、これまでの選択回数
の少ないものを選ぶ、条件が同じ場合には等確率で乱数
によって決める等が考えられる。
【0131】ステップS12の結果、デッドロック回避
可能な遷移が発見できたら(ステップS13)、その遷
移を選択してテストケース作成を継続するために、ステ
ップS7へ進む。ステップS12において、デッドロッ
ク回避可能な遷移が発見できなかった場合には(ステッ
プS13)、製品仕様自体がデッドロックを引き起こす
誤った仕様である可能性があるので、ステップS14へ
進み、製品仕様自体にエラーが発生していることを開発
者にメッセージとして提示した上で、テストケース作成
を終了する(ステップS14)。
【0132】ステップS3の結果、1つのテストケース
が作成終了した場合には、ステップS15へ進み、テス
トケースを作成する(ステップS15)。なお、テスト
ケース格納部6に蓄えられている一連のイベント履歴
が、製品に与えるべきテストケースとなる。テストケー
スは、例えば図9のようなフォーマットのファイルとし
て出力することができる。他にも、試験信号を作成する
ためのシステムにデータを渡して、自動試験を実現する
こともできる。
【0133】テストケース作成の完了を判定する(ステ
ップS16)。完了の条件としては、すべての遷移の十
分性が100%になった時、テストケース数が一定の値
を越えた時、等が考えられる。判定の結果、テストケー
ス作成が完了した場合には、処理を終了する。未完の場
合には、ステップS17へ進み、次のテストケース作成
を行なうための、作業用のデータ領域の再初期化を行な
う(ステップS17)。すなわち、状態遷移図探索部2
の現在の状態を初期状態に戻す、アクション/イベント
関係管理部5の発生/非発生イベントの記憶状態を初期
状態に戻す等を行う。また、遷移の十分性に関する情報
は、ここでは保存される。なお、再初期化後には、ステ
ップS3へ戻る。
【0134】図1に示した階層化及び並行化された状態
遷移図の1部を用いて、本発明によるテストケース作成
の例を示す。図17に、階層化及び並行化された状態遷
移図を示す。
【0135】第3実施例のフローチャートに従って、テ
ストケース作成を行う。初期化(ステップS1)におい
て、アクション/イベント関係管理部5は、イベントと
アクションの関係定義を読み込む。この例では、アクシ
ョン:ヒータONの実行によってイベント:ヒータ=O
Nが発生し、イベント:ヒータ=OFFは発生しなくな
り、アクションヒータOFFによってイベント:ヒータ
=OFFが発生し、イベント:ヒータ=ONが発生しな
い。初期状態として、ヒータ=OFF発生し、ヒータ=
ON発生しない。階層関係管理部4は、「十分性−木」
を作成した上で、状態の組合せに対応する各パスの属性
を初期化する。この場合、階層関係にあるのは状態遷移
図SD1と状態遷移図SD2であり、図18のような十
分性−木が作成される。図18において、枝が点線で示
されているのは、まだテストケースによって遷移が網羅
されていないことを示す。
【0136】状態遷移図探索部2が、状態遷移図の仕様
記述を読み込む(ステップS2)。本例では、3つの状
態遷移図が存在するので、状態遷移図探索部2が3つ割
り当てられる。状態遷移図探索部2として、状態遷移図
SD1用、状態遷移図SD2用、状態遷移図SD3用の
3つが用意される。
【0137】状態遷移図探索部2で探索する状態遷移図
が指定される(ステップS4)。探索の順序は階層関係
と並行関係を考慮して、本例においては、状態遷移図S
D2→状態遷移図SD1→状態遷移図SD3→状態遷移
図SD2→…の順とする。ただし、この時点でアクティ
ブでない状態遷移図については、探索は行なわないで次
の状態遷移図へ進む。従って、探索開始時には状態遷移
図SD2はまだアクティブではないので、状態遷移図S
D1の探索を行なう。
【0138】発生するイベントはヒータ=OFFのみで
あり(ステップS5)、遷移は選択されない(ステップ
S52)。そこで、遷移1が未チェックなため遷移1が
選択される。
【0139】ステップS58で遷移1が選択されたた
め、ステップS7へ進む(ステップS6)。状態遷移の
実行では、アクションの初期化処理によりヒータ=OF
Fが発生し、ヒータ=ONが発生しなくなる(ステップ
S7)。この情報がアクション/イベント関係管理部5
において管理される。更に状態の遷移では、現在の状態
を「動作中」状態に移す。更に、下位層の状態遷移図S
D2がアクティブとし、状態遷移図SD2の現在の状態
を初期状態である「暖房待機」にする。
【0140】遷移1のイベントである起動をテストケー
ス格納部6に通知し、登録する(ステップS8)。遷移
1に関し、「十分性−木」の根から停止へのパスに対応
した組合せについて、選択済みの属性を記録する(ステ
ップS9)。
【0141】ステップS5における状態遷移図SD3の
探索では、遷移5のヒータ=ONは発生不可能であり、
この遷移は指定されず、ステップS10へ進む。状態遷
移図SD1では直前に遷移1が選択されていたので、探
索デッドロックは発生しておらず、ステップS3へ進む
(ステップS10、ステップS11)。
【0142】更に、次の探索に状態遷移図SD2が指定
され(ステップS4)、遷移3が選択される(ステップ
S5)。この結果、状態遷移図SD2の状態は暖房中に
遷移する。イベントは、ヒータ=ONが発生し、ヒータ
=OFFが発生しなくなる。
【0143】続いて、状態遷移図SD1が探索され、遷
移2が選択される。この時、十分性−木は図19のよう
になる。ここまでの動作で、遷移1、遷移3、遷移2が
選択され、テストケースとしては、起動→暖房開始温度
→停止、までが生成された。
【0144】以上のような処理を継続することで、テス
トケースを作成することができる。本発明は、上記実施
例に限定されない。上記実施例では、テストケース作成
装置単体のみを説明したが、他の装置と適宜組み合わせ
て使用することもできる。
【0145】例えば、システム試験レベルでの信頼性確
保のために、手作業操作による試験作業を機械化する試
験装置が知られている。これは、各入力信号を、一定サ
ンプリング周期での信号値の並びとして与えると、自動
的にその入力値を試験対象製品に与え、入出力をモニタ
して、予め状態遷移図で与えられた仕様とその入出力の
履歴を比較して、製品が仕様通りに動いているかという
観点から、試験の合否を自動的に判定する装置である。
この試験装置により、手作業に伴う試験の不正確さや工
数の問題は解消される。本発明のテストケース作成装置
を上記の試験装置に適用することにより、テストケース
の作成から動作試験までの一連の作業を自動的に行うこ
とができる。
【0146】また、テストケース格納部6は、テストケ
ース作成装置の一部でなく、外部の記憶装置として有し
ていても良い。この場合は、探索結果が出力端子から順
次出力される。
【0147】更に、テストケースを作成するために、そ
の並行化又は階層化された状態遷移図を作成する製品仕
様記述部1と、状態遷移図探索部2と、アクション/イ
ベント関係管理部5とを有する構成としても良い。この
場合には、第1〜第3実施例における並行関係管理部3
と階層関係管理部4とが省略されているが、実行順序の
管理を行う必要がない場合又は並行実行可能な計算機を
使用する場合には、特に、必要としない。
【0148】また、第1〜第3実施例において、状態遷
移図探索部2が、状態遷移図の数に応じて作成される例
を示したが、これに限らず、1つの状態遷移図探索部2
が、複数の状態遷移図を探索するようにしても良い。
【0149】その他、本発明の要旨を変更しない範囲で
種々変形して実施できることは勿論である。本発明は、
上記実施例に限定されるものではなく、本発明の要旨を
変更しない範囲で種々変形して実施できるのは勿論であ
る。
【0150】
【発明の効果】本発明によれば次のような効果が得られ
る。本発明では、動作仕様記述手段が並行化及び階層化
の少なくとも一方の概念を取り入れて製品の動作仕様を
記述するので、大規模かつ複雑な動作仕様の記述が極め
て容易になる。
【0151】動作仕様記述手段によって記述された対象
物の動作仕様は、各状態遷移図毎に状態遷移図探索手段
によって探索処理される。状態遷移図探索手段は、例え
ば状態をノード、遷移をその遷移の向きに方向付けられ
たアークとする有向グラフとみなし、アークの向きにノ
ードをたどりながら状態遷移図を探索し、状態遷移図に
おける有向グラフの一連のパスとして動作を特定してい
く。
【0152】並行関係管理部は並行に動作する状態遷移
図の探索実行順序を管理される。階層関係管理手段は階
層化された状態遷移図の探索実行順序を管理すると共
に、階層を考慮した上での遷移網羅の十分性を判定し、
探索を行なうかどうかを管理する。アクション/イベン
ト関係管理手段は、アクションとイベントの関係を保持
して現実に発生しないような事象に対応する探索を回避
する。
【0153】上記の構成により、対象物の動作検証とし
て信頼性を確保することができ、しかも抜けのない製品
動作を網羅できるテストケースを作成することが可能に
なる。
【0154】上記のように、本発明を用いることによっ
て、製品のシステム試験用に、抜けのないテストケース
を、容易に作成することができる。また、本発明によっ
て作成されたテストケースを用いることより、製品プロ
グラムを網羅した試験を行なうことができ、製品の信頼
性を十分に確保することが実現される。
【図面の簡単な説明】
【図1】 本発明のテストケース作成装置でテストケー
ス作成の対象となる並行化及び階層化された状態遷移図
の一例を示す図。
【図2】 本発明の第1実施例に係るテストケース作成
装置の概略構成を示すブロック図。
【図3】 図2に示す第1実施例装置の動作を説明する
フローチャート。
【図4】 図2における状態遷移図探索部のデータ格納
方法を説明する図。
【図5】 図2における並行動作管理部の並行実行管理
方式を説明する図。
【図6】 図3における探索の実行の処理を説明するフ
ローチャート。
【図7】 図2におけるアクション/イベント関係管理
部5のアクション/イベント関係管理方式を説明する
図。
【図8】 図2における状態遷移図探索部の探索実行方
式を説明する図。
【図9】 図2に示す装置の出力例の図。
【図10】 本発明の第2実施例に係るテストケース作
成装置の概略構成を示すブロック図。
【図11】 第2実施例に係るテストケース作成装置の
動作を説明するフローチャート。
【図12】 図10における階層関係管理部の階層実行
管理方式を説明する図。
【図13】 図11における探索の実行の処理を説明す
るフローチャート。
【図14】 図10におけるテストケース作成装置が試
験の十分性を判定するための、十分性−木を説明する
図。
【図15】 本発明の第3実施例に係るテストケース作
成装置の概略構成を示すブロック図。
【図16】 図15に示す第3実施例に係るテストケー
ス作成装置の動作を説明するフローチャート。
【図17】 テストケース生成例に用いた状態遷移図仕
様。
【図18】 テストケース生成例における試験開始時の
十分性−木。
【図19】 テストケース生成例における途中段階の十
分性−木。
【符号の説明】
1…製品仕様記述部、2…状態遷移図探索部、3…並行
関係管理部 4…階層関係管理部、5…アクション/イベント関係管
理部、6…テストケース格納部。
フロントページの続き (56)参考文献 特開 平2−127849(JP,A) 特開 平6−149561(JP,A) 特開 昭60−77248(JP,A) 特開 昭63−181041(JP,A) 特開 昭62−262144(JP,A) 特開 昭63−228229(JP,A) 特開 平4−137036(JP,A) 特開 平6−103051(JP,A) 特開 平6−103050(JP,A) 岡安二郎、他3名,状態遷移仕様から のテストデータ生成方式,情報処理学会 全国大会講演論文集,日本,情報処理学 会,1991年 2月25日,Vol.42,N o.5,p.5.218−5.219 岸美保子、他3名,状態遷移モデルに 基づくプログラム部品合成システムの開 発,情報処理学会研究報告,日本,情報 処理学会,1991年 7月19日,Vol. 91,No.66(SE−80),p.167− 174 (58)調査した分野(Int.Cl.7,DB名) G06F 11/22 - 11/26 G06F 11/28 - 11/34 G06F 9/06

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 対象物の動作検証を行うためのテストケ
    ースを作成するテストケース作成装置において、 前記対象物の動作仕様を並行化された少なくとも第1と
    第2の部分状態遷移図を含む複数の部分状態遷移図であ
    って、第1の状態と第2の状態を含む複数の状態間の遷
    移が記述された部分状態遷移図を含む全体状態遷移図を
    用いて記述する動作仕様記述手段と、 アクションとイベントの関係情報としての前記第1と第
    2の部分状態遷移図間の関係を管理するアクション/イ
    ベント関係管理手段と、 前記アクション/イベント関係管理手段で管理された関
    係情報に基づいて所定の1つの部分状態遷移図を探索し
    て、前記所定の1つの部分状態遷移図における前記第1
    の状態から前記第2の状態の遷移を選択する状態遷移図
    探索手段と、 前記状態遷移図探索手段によって選択された前記遷移に
    係る情報を、当該遷移を生起させるためのテストに係る
    イベントとして格納する手段と、 を具備することを特徴とするテストケース作成装置。
  2. 【請求項2】 前記動作仕様記述手段で記述された並行
    化された前記複数の状態遷移図の探索順序を管理して、
    前記状態遷移図探索手段での遷移選択の操作を制御する
    並行関係管理手段を更に具備することを特徴とする請求
    項1記載のテストケース作成装置。
  3. 【請求項3】 対象物の動作検証を行うためのテストケ
    ースを作成するテストケース作成装置において、 前記対象物の動作仕様を階層化された少なくとも第1と
    第2の部分状態遷移図を含む複数の部分状態遷移図であ
    って、第1の状態と第2の状態を含む複数の状態間の遷
    移が記述された部分状態遷移図を含む全体状態遷移図を
    用いて記述する動作仕様記述手段と、 アクションとイベントの関係情報としての前記第1と第
    2の部分状態遷移図間の関係を管理するアクション/イ
    ベント関係管理手段と、 前記アクション/イベント関係管理手段で管理された関
    係情報に基づいて所定の1つの部分状態遷移図を探索し
    て、前記所定の1つの部分状態遷移図における前記第1
    の状態から前記第2の状態の遷移を選択する状態遷移図
    探索手段と、 前記状態遷移図探索手段によって選択された前記遷移に
    係る情報を、当該遷移を生起させるためのテストに係る
    イベントとして格納する手段と、 を具備することを特徴とするテストケース作成装置。
  4. 【請求項4】 前記動作仕様記述手段で記述された階層
    化された前記複数の状態遷移図の探索順序及び遷移網羅
    の十分性を管理して、前記状態遷移図探索手段での遷移
    選択の操作を制御する階層関係管理手段を更に具備する
    ことを特徴とする請求項3記載のテストケース作成装
    置。
  5. 【請求項5】 前記動作仕様記述手段は、動作仕様を並
    行化された複数の状態遷移図を用いて記述する手段を更
    に含むことを特徴とする請求項3記載のテストケース作
    成装置。
  6. 【請求項6】 前記動作仕様記述手段で記述された階層
    化された前記複数の状態遷移図の探索順序及び遷移網羅
    の十分性を管理して、前記状態遷移図探索手段での遷移
    選択の操作を制御する階層関係管理手段と、 前記動作仕様記述手段で記述された並行化された前記複
    数の状態遷移図の探索順序を管理して、前記状態遷移図
    探索手段での遷移選択の操作を制御する並行関係管理手
    段と、 を更に具備することを特徴とする請求項5記載のテスト
    ケース作成装置。
  7. 【請求項7】 前記イベントとして格納する手段は、前
    記前記状態遷移図探索手段で選択されたイベントを時系
    列順に管理する手段を含むことを特徴とする請求項1
    は請求項3記載のテストケース作成装置。
  8. 【請求項8】 前記状態遷移図探索手段は、階層化の結
    果生じる複数の状態における階層間の状態の組合せの十
    分性を考慮して、選択可能な遷移が未選択の遷移かどう
    かを判定する手段を含むことを特徴とする請求項3又は
    請求項5記載のテストケース作成装置。
  9. 【請求項9】 前記状態遷移図探索手段は、前記アクシ
    ョン/イベント関係管理手段を参照して、発生するイベ
    ントが遷移できるものかどうかをチェックする手段を含
    むことを特徴とする請求項1又は請求項3記載のテスト
    ケース作成装置。
JP00901895A 1994-01-26 1995-01-24 テストケース作成装置 Expired - Fee Related JP3415310B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP00901895A JP3415310B2 (ja) 1994-01-26 1995-01-24 テストケース作成装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP690194 1994-01-26
JP6-6901 1994-01-26
JP00901895A JP3415310B2 (ja) 1994-01-26 1995-01-24 テストケース作成装置

Publications (2)

Publication Number Publication Date
JPH07253905A JPH07253905A (ja) 1995-10-03
JP3415310B2 true JP3415310B2 (ja) 2003-06-09

Family

ID=26341119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP00901895A Expired - Fee Related JP3415310B2 (ja) 1994-01-26 1995-01-24 テストケース作成装置

Country Status (1)

Country Link
JP (1) JP3415310B2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006112853A (ja) * 2004-10-13 2006-04-27 Yokogawa Electric Corp テストシナリオ作成方法、テストシナリオ作成装置およびテストシナリオ作成のためのプログラム
JP4591030B2 (ja) * 2004-10-13 2010-12-01 横河電機株式会社 テストシナリオ作成方法、テストシナリオ作成装置およびテストシナリオ作成のためのプログラム
JP5107131B2 (ja) * 2008-04-28 2012-12-26 株式会社東芝 テストケース生成装置およびその生成方法、ならびにテストケース生成のためのプログラム
JP5106447B2 (ja) * 2009-03-10 2012-12-26 株式会社東芝 テストケース生成装置およびその生成方法、ならびにコンピュータプログラム
US20110046938A1 (en) * 2009-08-19 2011-02-24 Fujitsu Limited Verification apparatus and design verification program
JP5244750B2 (ja) * 2009-09-18 2013-07-24 株式会社東芝 テストケース生成装置およびその方法
JP5633904B2 (ja) * 2011-05-30 2014-12-03 日本電信電話株式会社 画面遷移グラフの自動生成方法およびその装置
JP6647729B2 (ja) * 2016-03-30 2020-02-14 キャッツ株式会社 テストケース抽出装置、テストケース抽出方法及びプログラム
JP6606028B2 (ja) * 2016-07-11 2019-11-13 株式会社東芝 文書不備検出プログラム、文書不備検出装置および文書不備検出方法
JPWO2018207481A1 (ja) * 2017-05-09 2020-03-12 古野電気株式会社 自動検査装置
US11636347B2 (en) * 2019-01-23 2023-04-25 Deepmind Technologies Limited Action selection using interaction history graphs

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
岡安二郎、他3名,状態遷移仕様からのテストデータ生成方式,情報処理学会全国大会講演論文集,日本,情報処理学会,1991年 2月25日,Vol.42,No.5,p.5.218−5.219
岸美保子、他3名,状態遷移モデルに基づくプログラム部品合成システムの開発,情報処理学会研究報告,日本,情報処理学会,1991年 7月19日,Vol.91,No.66(SE−80),p.167−174

Also Published As

Publication number Publication date
JPH07253905A (ja) 1995-10-03

Similar Documents

Publication Publication Date Title
US8589884B2 (en) Method and system for identifying regression test cases for a software
US5691925A (en) Deriving tractable sub-system for model of larger system
US6385765B1 (en) Specification and verification for concurrent systems with graphical and textual editors
JP5684946B2 (ja) イベントの根本原因の解析を支援する方法及びシステム
US20180329813A1 (en) System and method for automated intelligent mobile application testing
JP3415310B2 (ja) テストケース作成装置
US20030149756A1 (en) Configuration management method and system
US20120216176A1 (en) Computer implemented system and method for indexing and optionally annotating use cases and generating test scenarios therefrom
CN109783214A (zh) 任务调度控制系统
US20080114474A1 (en) Event triggered data capture via embedded historians
US5659554A (en) Test case generating apparatus
CN103646104A (zh) 一种强实时故障诊断方法及系统
Huszerl et al. Quantitative analysis of UML statechart models of dependable systems
WO2011138104A1 (en) System, method and computer program product for event impact analysis
Barbierato et al. Modeling hybrid systems in SIMTHESys
CN109284331A (zh) 基于业务数据资源的制证信息获取方法、终端设备及介质
US20080172669A1 (en) System capable of executing workflows on target applications and method thereof
CN100485615C (zh) 用于管理与软件组件相关的操作状态的方法和设备
CN113687927A (zh) Flume任务调度配置方法、装置、设备及存储介质
US9876671B2 (en) Method and device for processing commands in a set of components of a computer system
US20220078087A1 (en) Mesh communication network provision
US20100023147A1 (en) Reconfiguration of assets for reuse during manufacturing
CN109542938B (zh) 一种基于行为规则引导仿真的故障场景自动推理方法
Beccuti et al. Computing optimal repair strategies by means of NdRFT modeling and analysis
Swain et al. Generation and optimization of test cases for object-oriented software using state chart diagram

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees