JP2000339193A - テストケース生成装置、テストケース生成方法およびテストケース生成プログラムを記録した媒体 - Google Patents
テストケース生成装置、テストケース生成方法およびテストケース生成プログラムを記録した媒体Info
- Publication number
- JP2000339193A JP2000339193A JP11150035A JP15003599A JP2000339193A JP 2000339193 A JP2000339193 A JP 2000339193A JP 11150035 A JP11150035 A JP 11150035A JP 15003599 A JP15003599 A JP 15003599A JP 2000339193 A JP2000339193 A JP 2000339193A
- Authority
- JP
- Japan
- Prior art keywords
- graph
- state
- test case
- operation specification
- generating
- 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.)
- Withdrawn
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
(57)【要約】
【課題】 操作者が内部条件を設定する操作を知らなく
ても、テストを行なうことが可能なテストケースを生成
するテストケース生成装置を提供すること。 【解決手段】 テストケース生成装置は、対象となる機
器の内部条件に応じて次の状態に遷移する形式の操作仕
様を入力する操作仕様入力部21と、対象となる機器内
部の初期条件を入力する初期条件入力部22と、操作仕
様入力部21によって入力された操作仕様および初期条
件入力部22によって入力された初期条件から、イベン
トによって次の状態に遷移する形式の操作仕様に変換す
る操作仕様変換部23と、操作仕様変換部23によって
変換された操作仕様からテストケースを生成して出力す
るテストケース出力部24とを含む。作成された操作仕
様は、イベントによって次の状態に遷移する形式の操作
仕様であるので、操作者が内部条件を設定する操作を知
らなくてもテストを行なうことが可能となる。
ても、テストを行なうことが可能なテストケースを生成
するテストケース生成装置を提供すること。 【解決手段】 テストケース生成装置は、対象となる機
器の内部条件に応じて次の状態に遷移する形式の操作仕
様を入力する操作仕様入力部21と、対象となる機器内
部の初期条件を入力する初期条件入力部22と、操作仕
様入力部21によって入力された操作仕様および初期条
件入力部22によって入力された初期条件から、イベン
トによって次の状態に遷移する形式の操作仕様に変換す
る操作仕様変換部23と、操作仕様変換部23によって
変換された操作仕様からテストケースを生成して出力す
るテストケース出力部24とを含む。作成された操作仕
様は、イベントによって次の状態に遷移する形式の操作
仕様であるので、操作者が内部条件を設定する操作を知
らなくてもテストを行なうことが可能となる。
Description
【0001】
【発明の属する技術分野】本発明は、家電機器や情報処
理装置等の電子機器のテストケースを自動生成する技術
に関し、特に、入出力装置を備えた機器の操作仕様書お
よび内部条件の初期値からテストケースを自動生成する
テストケース生成装置、テストケース生成方法およびテ
ストケース生成プログラムを記録した媒体に関する。
理装置等の電子機器のテストケースを自動生成する技術
に関し、特に、入出力装置を備えた機器の操作仕様書お
よび内部条件の初期値からテストケースを自動生成する
テストケース生成装置、テストケース生成方法およびテ
ストケース生成プログラムを記録した媒体に関する。
【0002】
【従来の技術】近年、家電機器や情報処理装置等の電子
機器の高機能化および多機能化が進み、その電子機器の
操作仕様は複雑化および大規模化しつつある。これら電
子機器の品質を保証するためには、出荷時において、想
定し得る操作手順を全て網羅するテストケースを生成
し、そのテストケースに基づいてテストを行なうことに
より全ての機能が正常に動作することを確認することが
必要とされる。
機器の高機能化および多機能化が進み、その電子機器の
操作仕様は複雑化および大規模化しつつある。これら電
子機器の品質を保証するためには、出荷時において、想
定し得る操作手順を全て網羅するテストケースを生成
し、そのテストケースに基づいてテストを行なうことに
より全ての機能が正常に動作することを確認することが
必要とされる。
【0003】テストケースを作成する第1の方法とし
て、操作者がテストケースを作成する電子機器を実際に
操作し、その操作履歴を記憶する方法がある。操作者が
マウスやキーボードによって電子機器を操作する際その
操作手順を順次記録しておき、この記録された操作履歴
を再実行させることによって、電子機器のテストが行な
われる。しかし、この方法によって全てのテストケース
を作成するためには、予め全ての操作手順を決めてお
き、操作者がその操作手順に従って操作を行なう必要が
あるため、漏れのないテストケースを作成するのが困難
であるという問題点があった。
て、操作者がテストケースを作成する電子機器を実際に
操作し、その操作履歴を記憶する方法がある。操作者が
マウスやキーボードによって電子機器を操作する際その
操作手順を順次記録しておき、この記録された操作履歴
を再実行させることによって、電子機器のテストが行な
われる。しかし、この方法によって全てのテストケース
を作成するためには、予め全ての操作手順を決めてお
き、操作者がその操作手順に従って操作を行なう必要が
あるため、漏れのないテストケースを作成するのが困難
であるという問題点があった。
【0004】この問題点を解決する方法として、状態遷
移仕様情報等からテストケースを自動生成する方法があ
る。特開平9−223040号公報に開示された発明
は、ソフトウェアのシステムテスト支援装置に関するも
のである。このシステムテスト支援装置には、ユーザに
よって定義される構造仕様ファイル、状態遷移仕様ファ
イルおよび個別状態遷移ファイルに従ってテストシナリ
オを生成するテストシナリオ生成手段が設けられ、状態
遷移仕様ファイルを用いてソフトウェアのGUI(Grap
hical User Interface)部が有する全ての状態と全て
の状態遷移とを網羅するために必要なテストシナリオを
生成する。このようにして、利用者がソフトウェアの仕
様情報を定義するだけでテストシナリオが自動的に生成
され、予め人手によりマウスやキーボード等を実際に操
作して、操作履歴を記録する必要がなくなる。
移仕様情報等からテストケースを自動生成する方法があ
る。特開平9−223040号公報に開示された発明
は、ソフトウェアのシステムテスト支援装置に関するも
のである。このシステムテスト支援装置には、ユーザに
よって定義される構造仕様ファイル、状態遷移仕様ファ
イルおよび個別状態遷移ファイルに従ってテストシナリ
オを生成するテストシナリオ生成手段が設けられ、状態
遷移仕様ファイルを用いてソフトウェアのGUI(Grap
hical User Interface)部が有する全ての状態と全て
の状態遷移とを網羅するために必要なテストシナリオを
生成する。このようにして、利用者がソフトウェアの仕
様情報を定義するだけでテストシナリオが自動的に生成
され、予め人手によりマウスやキーボード等を実際に操
作して、操作履歴を記録する必要がなくなる。
【0005】しかし、特開平9−223040号公報に
開示された発明によれば、たとえば、GUI部品の属性
が異なれば別の状態となるため状態遷移仕様を詳細に定
義する必要があり、状態数の多い製品レベルの操作仕様
を作成する場合には不向きである。また、製品の操作仕
様を記述する際、設計の初期段階からGUI部品の属性
や内部条件の違いを考慮して状態遷移が定義された操作
仕様を記述することは困難である。
開示された発明によれば、たとえば、GUI部品の属性
が異なれば別の状態となるため状態遷移仕様を詳細に定
義する必要があり、状態数の多い製品レベルの操作仕様
を作成する場合には不向きである。また、製品の操作仕
様を記述する際、設計の初期段階からGUI部品の属性
や内部条件の違いを考慮して状態遷移が定義された操作
仕様を記述することは困難である。
【0006】また、一般的に操作仕様が作成される際、
まず概略の操作仕様が記述され、そして段階的に設計が
詳細化されてゆく。そのため、状態遷移表によって操作
仕様が記述される際、画面に現れるGUI部品の属性が
異なれば別の状態であるとして細かく状態を分けて設計
するよりも、ある程度機能的にまとまった単位を1状態
とし、同じイベントが与えられても内部条件に応じて次
に遷移する状態が変わるような記述ができれば、操作仕
様の記述が容易となる。このような記述が可能なツール
も市販されている。
まず概略の操作仕様が記述され、そして段階的に設計が
詳細化されてゆく。そのため、状態遷移表によって操作
仕様が記述される際、画面に現れるGUI部品の属性が
異なれば別の状態であるとして細かく状態を分けて設計
するよりも、ある程度機能的にまとまった単位を1状態
とし、同じイベントが与えられても内部条件に応じて次
に遷移する状態が変わるような記述ができれば、操作仕
様の記述が容易となる。このような記述が可能なツール
も市販されている。
【0007】
【発明が解決しようとする課題】上述したように、同じ
イベントが与えられても内部条件に応じて次に遷移する
状態が変わるように記述された操作仕様書からテストケ
ースを生成する方法として、たとえば、操作仕様書の状
態遷移をグラフ化し、このグラフ上で全ての状態遷移を
網羅するパスを検出してテストケースを生成する方法を
挙げることができる。しかし、この方法においては、テ
スト担当者自身が内部条件を満足させるための操作手順
自体を知らなければテストを行なうことができないとい
う問題点があった。また、このテストケースは、イベン
トを与えれば次の状態に遷移する形式のものではないの
で、テストを自動化することができないという問題点も
あった。
イベントが与えられても内部条件に応じて次に遷移する
状態が変わるように記述された操作仕様書からテストケ
ースを生成する方法として、たとえば、操作仕様書の状
態遷移をグラフ化し、このグラフ上で全ての状態遷移を
網羅するパスを検出してテストケースを生成する方法を
挙げることができる。しかし、この方法においては、テ
スト担当者自身が内部条件を満足させるための操作手順
自体を知らなければテストを行なうことができないとい
う問題点があった。また、このテストケースは、イベン
トを与えれば次の状態に遷移する形式のものではないの
で、テストを自動化することができないという問題点も
あった。
【0008】本発明は、上記問題点を解決するためにな
されたものであり、第1の目的は、操作者が内部条件を
設定する操作を知らなくてもテストが行なえるテストケ
ース生成装置を提供することである。
されたものであり、第1の目的は、操作者が内部条件を
設定する操作を知らなくてもテストが行なえるテストケ
ース生成装置を提供することである。
【0009】第2の目的は、テストの自動化が可能なテ
ストケースを生成できるテストケース生成装置を提供す
ることである。
ストケースを生成できるテストケース生成装置を提供す
ることである。
【0010】第3の目的は、操作者が内部条件を設定す
る操作を知らなくてもテストが行なえるテストケース生
成方法を提供することである。
る操作を知らなくてもテストが行なえるテストケース生
成方法を提供することである。
【0011】第4の目的は、テストの自動化が可能なテ
ストケースを生成できるテストケース生成方法を提供す
ることである。
ストケースを生成できるテストケース生成方法を提供す
ることである。
【0012】第5の目的は、操作者が内部条件を設定す
る操作を知らなくてもテストを行なえるテストケース生
成プログラムを記録した媒体を提供することである。
る操作を知らなくてもテストを行なえるテストケース生
成プログラムを記録した媒体を提供することである。
【0013】第6の目的は、テストの自動化が可能なテ
ストケースを生成できるテストケース生成プログラムを
記録した媒体を提供することである。
ストケースを生成できるテストケース生成プログラムを
記録した媒体を提供することである。
【0014】
【課題を解決するための手段】請求項1に記載のテスト
ケース生成装置は、対象となる機器の内部条件に応じて
次の状態に遷移する形式の操作仕様を入力するための操
作仕様入力手段と、対象となる機器内部の初期条件を入
力するための初期条件入力手段と、操作仕様入力手段に
よって入力された操作仕様および初期条件入力手段によ
って入力された初期条件から、イベントによって次の状
態に遷移する形式の操作仕様に変換するための操作仕様
変換手段と、操作仕様変換手段によって変換された操作
仕様からテストケースを生成して出力するためのテスト
ケース出力手段とを含む。
ケース生成装置は、対象となる機器の内部条件に応じて
次の状態に遷移する形式の操作仕様を入力するための操
作仕様入力手段と、対象となる機器内部の初期条件を入
力するための初期条件入力手段と、操作仕様入力手段に
よって入力された操作仕様および初期条件入力手段によ
って入力された初期条件から、イベントによって次の状
態に遷移する形式の操作仕様に変換するための操作仕様
変換手段と、操作仕様変換手段によって変換された操作
仕様からテストケースを生成して出力するためのテスト
ケース出力手段とを含む。
【0015】操作仕様変換手段は、操作仕様入力手段に
よって入力された操作仕様および初期条件入力手段によ
って入力された初期条件から、イベントによって次の状
態に遷移する形式の操作仕様に変換するので、操作者が
内部条件を設定する操作を知らなくてもテストを行なう
ことが可能となる。また、イベントによって次の状態に
遷移する形式の操作仕様であるので、テストの自動化が
可能となる。
よって入力された操作仕様および初期条件入力手段によ
って入力された初期条件から、イベントによって次の状
態に遷移する形式の操作仕様に変換するので、操作者が
内部条件を設定する操作を知らなくてもテストを行なう
ことが可能となる。また、イベントによって次の状態に
遷移する形式の操作仕様であるので、テストの自動化が
可能となる。
【0016】請求項2に記載のテストケース生成装置
は、請求項1記載のテストケース生成装置であって、操
作仕様変換手段は操作仕様入力手段によって入力された
操作仕様からグラフを生成するためのグラフ生成手段
と、初期条件入力手段によって入力された初期条件に基
づいて、グラフ生成手段によって生成されたグラフ内の
状態が分割されたグラフを生成するための状態分割手段
と、状態分割手段によって生成されたグラフに対して、
始点となる状態から終点となる状態へ遷移する辺が割り
当てられたグラフを生成するための辺割当手段と、辺割
当手段によって生成されたグラフにおいて、初期状態か
ら到達不能な状態および到達不能な状態から遷移する辺
を削除したグラフを生成するための第1の削除手段と、
第1の削除手段によって削除が行なわれた後のグラフ上
で全ての状態を含み、かつ自己ループを含まないパスを
検索するための第1の検索手段とを含む。
は、請求項1記載のテストケース生成装置であって、操
作仕様変換手段は操作仕様入力手段によって入力された
操作仕様からグラフを生成するためのグラフ生成手段
と、初期条件入力手段によって入力された初期条件に基
づいて、グラフ生成手段によって生成されたグラフ内の
状態が分割されたグラフを生成するための状態分割手段
と、状態分割手段によって生成されたグラフに対して、
始点となる状態から終点となる状態へ遷移する辺が割り
当てられたグラフを生成するための辺割当手段と、辺割
当手段によって生成されたグラフにおいて、初期状態か
ら到達不能な状態および到達不能な状態から遷移する辺
を削除したグラフを生成するための第1の削除手段と、
第1の削除手段によって削除が行なわれた後のグラフ上
で全ての状態を含み、かつ自己ループを含まないパスを
検索するための第1の検索手段とを含む。
【0017】第1の検索手段は、第1の削除手段によっ
て削除が行なわれた後のグラフ上で全ての状態を含み、
かつ自己ループを含まないパスを検索するので、テスト
ケース出力手段はそのパスに基づいてテストケースを生
成することが可能となる。
て削除が行なわれた後のグラフ上で全ての状態を含み、
かつ自己ループを含まないパスを検索するので、テスト
ケース出力手段はそのパスに基づいてテストケースを生
成することが可能となる。
【0018】請求項3に記載のテストケース生成装置
は、請求項2記載のテストケース生成装置であって、操
作仕様変換手段はさらに第1の削除手段によって削除が
行なわれた後のグラフ上で、第1の検索手段によって検
索されたパス内の辺と同じ辺を削除し、第1の検索手段
によって検索されたパス内にない辺のうち同じ辺のいず
れか1つを残して他の辺を削除したグラフを生成するた
めの第2の削除手段と、第2の削除手段によって生成さ
れたグラフ上で、第1の検索手段によって検索されたパ
スを通過しない辺を通過するパスを検索するための第2
の検索手段とを含む。
は、請求項2記載のテストケース生成装置であって、操
作仕様変換手段はさらに第1の削除手段によって削除が
行なわれた後のグラフ上で、第1の検索手段によって検
索されたパス内の辺と同じ辺を削除し、第1の検索手段
によって検索されたパス内にない辺のうち同じ辺のいず
れか1つを残して他の辺を削除したグラフを生成するた
めの第2の削除手段と、第2の削除手段によって生成さ
れたグラフ上で、第1の検索手段によって検索されたパ
スを通過しない辺を通過するパスを検索するための第2
の検索手段とを含む。
【0019】第2の検索手段は、第2の削除手段によっ
て生成されたグラフ上で、第1の検索手段によって検索
されたパスを通過しない辺を通過するパスを検索するの
で、漏れのないテストケースを生成することが可能とな
る。
て生成されたグラフ上で、第1の検索手段によって検索
されたパスを通過しない辺を通過するパスを検索するの
で、漏れのないテストケースを生成することが可能とな
る。
【0020】請求項4に記載のテストケース生成装置
は、請求項2または3記載のテストケース生成装置であ
って、状態分割手段は初期条件入力手段によって入力さ
れた初期条件に存在する条件をラベル中に有する辺と接
続する状態を分割し、初期条件に存在する条件を設定す
る処理を有する辺と接続する状態を分割する。
は、請求項2または3記載のテストケース生成装置であ
って、状態分割手段は初期条件入力手段によって入力さ
れた初期条件に存在する条件をラベル中に有する辺と接
続する状態を分割し、初期条件に存在する条件を設定す
る処理を有する辺と接続する状態を分割する。
【0021】状態分割手段は、初期条件入力手段によっ
て入力された初期条件に存在する条件をラベル中に有す
る辺と接続する状態を分割し、初期条件に存在する条件
を設定する処理を有する辺と接続する状態を分割するの
で、状態数の増加を抑えることができ、テストケース生
成に要する時間を削減することが可能となる。
て入力された初期条件に存在する条件をラベル中に有す
る辺と接続する状態を分割し、初期条件に存在する条件
を設定する処理を有する辺と接続する状態を分割するの
で、状態数の増加を抑えることができ、テストケース生
成に要する時間を削減することが可能となる。
【0022】請求項5に記載のテストケース生成方法
は、対象となる機器の内部条件に応じて次の状態に遷移
する形式の操作仕様を入力するステップと、対象となる
機器内部の初期条件を入力するステップと、入力された
操作仕様および入力された初期条件から、イベントによ
って次の状態に遷移する形式の操作仕様に変換するステ
ップと、変換された操作仕様からテストケースを生成し
て出力するステップとを含む。
は、対象となる機器の内部条件に応じて次の状態に遷移
する形式の操作仕様を入力するステップと、対象となる
機器内部の初期条件を入力するステップと、入力された
操作仕様および入力された初期条件から、イベントによ
って次の状態に遷移する形式の操作仕様に変換するステ
ップと、変換された操作仕様からテストケースを生成し
て出力するステップとを含む。
【0023】入力された操作仕様および初期条件から、
イベントによって次の状態に遷移する形式の操作仕様に
変換するので、操作者が内部条件を設定する操作を知ら
なくてもテストを行なうことが可能となる。また、イベ
ントによって次の状態に遷移する形式の操作仕様である
ので、テストの自動化が可能となる。
イベントによって次の状態に遷移する形式の操作仕様に
変換するので、操作者が内部条件を設定する操作を知ら
なくてもテストを行なうことが可能となる。また、イベ
ントによって次の状態に遷移する形式の操作仕様である
ので、テストの自動化が可能となる。
【0024】請求項6に記載のテストケース生成方法
は、請求項5記載のテストケース生成方法であって、操
作仕様を変換するステップは、入力された操作仕様から
第1のグラフを生成するステップと、入力された初期条
件に基づいて、生成された第1のグラフ内の状態が分割
された第2のグラフを生成するステップと、生成された
第2のグラフに対して、始点となる状態から終点となる
状態へ遷移する辺が割り当てられた第3のグラフを生成
するステップと、生成された第3のグラフにおいて、初
期状態から到達不能な状態および該到達不能な状態から
遷移する辺を削除した第4のグラフを生成するステップ
と、第4のグラフ上で全ての状態を含み、かつ自己ルー
プを含まないパスを検索するステップとを含む。
は、請求項5記載のテストケース生成方法であって、操
作仕様を変換するステップは、入力された操作仕様から
第1のグラフを生成するステップと、入力された初期条
件に基づいて、生成された第1のグラフ内の状態が分割
された第2のグラフを生成するステップと、生成された
第2のグラフに対して、始点となる状態から終点となる
状態へ遷移する辺が割り当てられた第3のグラフを生成
するステップと、生成された第3のグラフにおいて、初
期状態から到達不能な状態および該到達不能な状態から
遷移する辺を削除した第4のグラフを生成するステップ
と、第4のグラフ上で全ての状態を含み、かつ自己ルー
プを含まないパスを検索するステップとを含む。
【0025】第4のグラフ上で全ての状態を含み、かつ
自己ループを含まないパスを検索するので、そのパスに
基づいてテストケースを生成することが可能となる。
自己ループを含まないパスを検索するので、そのパスに
基づいてテストケースを生成することが可能となる。
【0026】請求項7に記載のテストケース生成方法
は、請求項6記載のテストケース生成方法であって、操
作仕様を変換するステップはさらに第4のグラフ上で、
検索されたパス内の辺と同じ辺を削除し、検索されたパ
ス内にない辺のうち同じ辺のいずれか1つを残して他の
辺を削除した第5のグラフを生成するステップと、第5
のグラフ上で、検索されたパスを通過しない辺を通過す
るパスを検索するステップとを含む。
は、請求項6記載のテストケース生成方法であって、操
作仕様を変換するステップはさらに第4のグラフ上で、
検索されたパス内の辺と同じ辺を削除し、検索されたパ
ス内にない辺のうち同じ辺のいずれか1つを残して他の
辺を削除した第5のグラフを生成するステップと、第5
のグラフ上で、検索されたパスを通過しない辺を通過す
るパスを検索するステップとを含む。
【0027】第4のグラフ上で、検索されたパスを通過
しない辺を通過するパスを検索するので、漏れのないテ
ストケースを生成することが可能となる。
しない辺を通過するパスを検索するので、漏れのないテ
ストケースを生成することが可能となる。
【0028】請求項8に記載のテストケース生成方法
は、請求項6または7記載のテストケース生成方法であ
って、第2のグラフを生成するステップは入力された初
期条件に存在する条件をラベル中に有する辺と接続する
状態を分割し、初期条件に存在する条件を設定する処理
を有する辺と接続する状態を分割するステップを含む。
は、請求項6または7記載のテストケース生成方法であ
って、第2のグラフを生成するステップは入力された初
期条件に存在する条件をラベル中に有する辺と接続する
状態を分割し、初期条件に存在する条件を設定する処理
を有する辺と接続する状態を分割するステップを含む。
【0029】入力された初期条件に存在する条件をラベ
ル中に有する辺と接続する状態を分割し、初期条件に存
在する条件を設定する処理を有する辺と接続する状態を
分割するので、状態数の増加を抑えることができ、テス
トケース生成に要する時間を削減することが可能とな
る。
ル中に有する辺と接続する状態を分割し、初期条件に存
在する条件を設定する処理を有する辺と接続する状態を
分割するので、状態数の増加を抑えることができ、テス
トケース生成に要する時間を削減することが可能とな
る。
【0030】請求項9に記載の媒体に記録されたテスト
ケース生成プログラムは、対象となる機器の内部条件に
応じて次の状態に遷移する形式の操作仕様を入力するス
テップと、対象となる機器内部の初期条件を入力するス
テップと、入力された操作仕様および入力された初期条
件から、イベントによって次の状態に遷移する形式の操
作仕様に変換するステップと、変換された操作仕様から
テストケースを生成して出力するステップとを含む。
ケース生成プログラムは、対象となる機器の内部条件に
応じて次の状態に遷移する形式の操作仕様を入力するス
テップと、対象となる機器内部の初期条件を入力するス
テップと、入力された操作仕様および入力された初期条
件から、イベントによって次の状態に遷移する形式の操
作仕様に変換するステップと、変換された操作仕様から
テストケースを生成して出力するステップとを含む。
【0031】入力された操作仕様および初期条件から、
イベントによって次の状態に遷移する形式の操作仕様に
変換するので、操作者が内部条件を設定する操作を知ら
なくてもテストを行なうことが可能となる。また、イベ
ントによって次の状態に遷移する形式の操作仕様である
ので、テストの自動化が可能となる。
イベントによって次の状態に遷移する形式の操作仕様に
変換するので、操作者が内部条件を設定する操作を知ら
なくてもテストを行なうことが可能となる。また、イベ
ントによって次の状態に遷移する形式の操作仕様である
ので、テストの自動化が可能となる。
【0032】請求項10に記載の媒体に記録されたテス
トケース生成プログラムは、請求項9記載のテストケー
ス生成プログラムであって、操作仕様を変換するステッ
プは、入力された操作仕様から第1のグラフを生成する
ステップと、入力された初期条件に基づいて、生成され
た第1のグラフ内の状態が分割された第2のグラフを生
成するステップと、生成された第2のグラフに対して、
始点となる状態から終点となる状態へ遷移する辺が割り
当てられた第3のグラフを生成するステップと、生成さ
れた第3のグラフにおいて、初期状態から到達不能な状
態および該到達不能な状態から遷移する辺を削除した第
4のグラフを生成するステップと、第4のグラフ上で全
ての状態を含み、かつ自己ループを含まないパスを検索
するステップとを含む。
トケース生成プログラムは、請求項9記載のテストケー
ス生成プログラムであって、操作仕様を変換するステッ
プは、入力された操作仕様から第1のグラフを生成する
ステップと、入力された初期条件に基づいて、生成され
た第1のグラフ内の状態が分割された第2のグラフを生
成するステップと、生成された第2のグラフに対して、
始点となる状態から終点となる状態へ遷移する辺が割り
当てられた第3のグラフを生成するステップと、生成さ
れた第3のグラフにおいて、初期状態から到達不能な状
態および該到達不能な状態から遷移する辺を削除した第
4のグラフを生成するステップと、第4のグラフ上で全
ての状態を含み、かつ自己ループを含まないパスを検索
するステップとを含む。
【0033】第4のグラフ上で全ての状態を含み、かつ
自己ループを含まないパスを検索するので、そのパスに
基づいてテストケースを生成することが可能となる。
自己ループを含まないパスを検索するので、そのパスに
基づいてテストケースを生成することが可能となる。
【0034】請求項11に記載の媒体に記録されたテス
トケース生成プログラムは、請求項10記載のテストケ
ース生成プログラムであって、操作仕様を変換するステ
ップはさらに第4のグラフ上で、検索されたパス内の辺
と同じ辺を削除し、検索されたパス内にない辺のうち同
じ辺のいずれか1つを残して他の辺を削除した第5のグ
ラフを生成するステップと、第5のグラフ上で、前記検
索されたパスを通過しない辺を通過するパスを検索する
ステップとを含む。
トケース生成プログラムは、請求項10記載のテストケ
ース生成プログラムであって、操作仕様を変換するステ
ップはさらに第4のグラフ上で、検索されたパス内の辺
と同じ辺を削除し、検索されたパス内にない辺のうち同
じ辺のいずれか1つを残して他の辺を削除した第5のグ
ラフを生成するステップと、第5のグラフ上で、前記検
索されたパスを通過しない辺を通過するパスを検索する
ステップとを含む。
【0035】第4のグラフ上で、検索されたパスを通過
しない辺を通過するパスを検索するので、漏れのないテ
ストケースを生成することが可能となる。
しない辺を通過するパスを検索するので、漏れのないテ
ストケースを生成することが可能となる。
【0036】請求項12に記載の媒体に記録されたテス
トケース生成プログラムは、請求項10または11記載
のテストケース生成プログラムであって、第2のグラフ
を生成するステップは、入力された初期条件に存在する
条件をラベル中に有する辺と接続する状態を分割し、初
期条件に存在する条件を設定する処理を有する辺と接続
する状態を分割するステップを含む。
トケース生成プログラムは、請求項10または11記載
のテストケース生成プログラムであって、第2のグラフ
を生成するステップは、入力された初期条件に存在する
条件をラベル中に有する辺と接続する状態を分割し、初
期条件に存在する条件を設定する処理を有する辺と接続
する状態を分割するステップを含む。
【0037】入力された初期条件に存在する条件をラベ
ル中に有する辺と接続する状態を分割し、初期条件に存
在する条件を設定する処理を有する辺と接続する状態を
分割するので、状態数の増加を抑えることができ、テス
トケース生成に要する時間を削減することが可能とな
る。
ル中に有する辺と接続する状態を分割し、初期条件に存
在する条件を設定する処理を有する辺と接続する状態を
分割するので、状態数の増加を抑えることができ、テス
トケース生成に要する時間を削減することが可能とな
る。
【0038】
【発明の実施の形態】図1は、本発明のテストケース生
成装置の外観例を示す図である。テストケース生成装置
は、コンピュータ本体1、グラフィックディスプレイ装
置2、磁気テープ4が装着される磁気テープ装置3、キ
ーボード5、マウス6、CD−ROM(Compact Disc-
Read Only Memory)8が装着されるCD−ROM装置
7、および通信モデム9を含む。テストケース生成プロ
グラムは、磁気テープ4またはCD―ROM8等の記憶
媒体によって供給される。テストケース生成プログラム
はコンピュータ本体1によって実行され、操作者はグラ
フィックディスプレイ装置2を見ながらキーボード5ま
たはマウス6を操作することによってテストケースの生
成を行う。また、テストケース生成プログラムは他のコ
ンピュータより通信回線を経由し、通信モデム9を介し
てコンピュータ本体1に供給されてもよい。
成装置の外観例を示す図である。テストケース生成装置
は、コンピュータ本体1、グラフィックディスプレイ装
置2、磁気テープ4が装着される磁気テープ装置3、キ
ーボード5、マウス6、CD−ROM(Compact Disc-
Read Only Memory)8が装着されるCD−ROM装置
7、および通信モデム9を含む。テストケース生成プロ
グラムは、磁気テープ4またはCD―ROM8等の記憶
媒体によって供給される。テストケース生成プログラム
はコンピュータ本体1によって実行され、操作者はグラ
フィックディスプレイ装置2を見ながらキーボード5ま
たはマウス6を操作することによってテストケースの生
成を行う。また、テストケース生成プログラムは他のコ
ンピュータより通信回線を経由し、通信モデム9を介し
てコンピュータ本体1に供給されてもよい。
【0039】図2は、本発明のテストケース生成装置の
構成例を示すブロック図である。図1に示すコンピュー
タ本体1は、CPU10、ROM(Read Only Memor
y)11、RAM(Random Access Memory)12および
ハードディスク13を含む。CPU10は、グラフィッ
クディスプレイ装置2、磁気テープ装置3、キーボード
5、マウス6、CD−ROM装置7、通信モデム9、R
OM11、RAM12またはハードディスク13との間
でデータを入出力しながら処理を行う。磁気テープ4ま
たはCD−ROM8に記録されたテストケース生成プロ
グラムは、CPU10により磁気テープ装置3またはC
D−ROM装置7を介して一旦ハードディスク13に格
納される。CPU10は、ハードディスク13から適宜
テストケース生成プログラムをRAM12にロードして
実行することによってテストケースの生成を行う。
構成例を示すブロック図である。図1に示すコンピュー
タ本体1は、CPU10、ROM(Read Only Memor
y)11、RAM(Random Access Memory)12および
ハードディスク13を含む。CPU10は、グラフィッ
クディスプレイ装置2、磁気テープ装置3、キーボード
5、マウス6、CD−ROM装置7、通信モデム9、R
OM11、RAM12またはハードディスク13との間
でデータを入出力しながら処理を行う。磁気テープ4ま
たはCD−ROM8に記録されたテストケース生成プロ
グラムは、CPU10により磁気テープ装置3またはC
D−ROM装置7を介して一旦ハードディスク13に格
納される。CPU10は、ハードディスク13から適宜
テストケース生成プログラムをRAM12にロードして
実行することによってテストケースの生成を行う。
【0040】図3は、本実施の形態におけるテストケー
ス生成装置の概略構成を示すブロック図である。このテ
ストケース生成装置は、同じイベントであっても内部条
件に応じて複数の状態遷移先を記述可能な操作仕様が入
力される操作仕様入力部21と、内部変数値等の初期条
件が入力される初期条件入力部22と、操作仕様入力部
21に入力された操作仕様および初期条件入力部22に
入力された初期条件から、操作仕様をイベントのみで次
状態に遷移する形式に変換する操作仕様変換部23と、
操作仕様変換部23によって変換された操作仕様からテ
ストケースを生成して出力するテストケース出力部24
とを含む。
ス生成装置の概略構成を示すブロック図である。このテ
ストケース生成装置は、同じイベントであっても内部条
件に応じて複数の状態遷移先を記述可能な操作仕様が入
力される操作仕様入力部21と、内部変数値等の初期条
件が入力される初期条件入力部22と、操作仕様入力部
21に入力された操作仕様および初期条件入力部22に
入力された初期条件から、操作仕様をイベントのみで次
状態に遷移する形式に変換する操作仕様変換部23と、
操作仕様変換部23によって変換された操作仕様からテ
ストケースを生成して出力するテストケース出力部24
とを含む。
【0041】図4は、本実施の形態におけるテストケー
ス生成装置の処理手順を説明するためのフローチャート
である。まず、操作仕様入力部21によって操作仕様書
が入力され、初期条件入力部22によって初期条件設定
表が入力される(S1)。
ス生成装置の処理手順を説明するためのフローチャート
である。まず、操作仕様入力部21によって操作仕様書
が入力され、初期条件入力部22によって初期条件設定
表が入力される(S1)。
【0042】図5は、操作仕様入力部21に入力される
操作仕様書の一例を示す図である。この操作仕様書は、
たとえば、テキストファイル等の機械的に読み取り可能
な形式で記述されている。この操作仕様書の1行目に
は、初期状態がS0であることが記述されている。ま
た、操作仕様書の2行目には、それぞれの欄が現状態、
イベント、条件(内部条件)、次状態および処理の内容
であることが記述されている。
操作仕様書の一例を示す図である。この操作仕様書は、
たとえば、テキストファイル等の機械的に読み取り可能
な形式で記述されている。この操作仕様書の1行目に
は、初期状態がS0であることが記述されている。ま
た、操作仕様書の2行目には、それぞれの欄が現状態、
イベント、条件(内部条件)、次状態および処理の内容
であることが記述されている。
【0043】たとえば、3行目には、現状態がS0のと
きにイベントe1の操作が行なわれた場合、条件がc1
=T(真)であれば次状態S1へ遷移し、そのとき何も
処理を行なわないことを示している。また、4行目に
は、現状態がS0のときにイベントe1の操作が行なわ
れた場合、条件がc1=F(偽)であれば次状態S2へ
遷移し、そのとき何も処理を行なわないことを示してい
る。さらに、8行目には、現状態がS3のときにイベン
トe3の操作が行なわれた場合、無条件に次状態S3へ
遷移し、そのとき条件c1にF(偽)を設定する処理を
実行することを示している。
きにイベントe1の操作が行なわれた場合、条件がc1
=T(真)であれば次状態S1へ遷移し、そのとき何も
処理を行なわないことを示している。また、4行目に
は、現状態がS0のときにイベントe1の操作が行なわ
れた場合、条件がc1=F(偽)であれば次状態S2へ
遷移し、そのとき何も処理を行なわないことを示してい
る。さらに、8行目には、現状態がS3のときにイベン
トe3の操作が行なわれた場合、無条件に次状態S3へ
遷移し、そのとき条件c1にF(偽)を設定する処理を
実行することを示している。
【0044】図6は、初期条件入力部22に入力される
初期条件設定表の一例を示す図である。この初期条件設
定表は、たとえば、テキストファイル等の機械的に読み
取り可能な形式で記述されている。図6には、内部条件
c1の初期値がT(真)であることが記述されている。
初期条件設定表の一例を示す図である。この初期条件設
定表は、たとえば、テキストファイル等の機械的に読み
取り可能な形式で記述されている。図6には、内部条件
c1の初期値がT(真)であることが記述されている。
【0045】再び、図4に示すフローチャートの説明に
戻る。操作仕様変換部23は、操作仕様入力部21によ
って入力された操作仕様書からグラフ(以下、グラフG
と呼ぶ。)を作成する(S2)。図7は、図5に示す操
作仕様書から作成したグラフGを示している。図7に示
すように、頂点(丸または2重丸で囲まれた部分)が状
態に対応し、辺(頂点から頂点へ伸びている矢印)が状
態遷移に対応する。辺に付されているラベルは、(イベ
ント、条件、処理の集合)を表わしている。たとえば、
状態S0から状態S1への状態遷移を表わす辺(e1,
c1,Φ)は、図5に示す3行目の記述に対応してい
る。すなわち、状態S0のときにイベントe1の操作が
行なわれた場合、内部条件がc1=T(真)であれば次
状態S1へ処理Φを実行しながら遷移することを示して
いる。なお、Φは空集合を表わしており、状態S0から
状態S1へ何も処理せずに遷移することを示している。
戻る。操作仕様変換部23は、操作仕様入力部21によ
って入力された操作仕様書からグラフ(以下、グラフG
と呼ぶ。)を作成する(S2)。図7は、図5に示す操
作仕様書から作成したグラフGを示している。図7に示
すように、頂点(丸または2重丸で囲まれた部分)が状
態に対応し、辺(頂点から頂点へ伸びている矢印)が状
態遷移に対応する。辺に付されているラベルは、(イベ
ント、条件、処理の集合)を表わしている。たとえば、
状態S0から状態S1への状態遷移を表わす辺(e1,
c1,Φ)は、図5に示す3行目の記述に対応してい
る。すなわち、状態S0のときにイベントe1の操作が
行なわれた場合、内部条件がc1=T(真)であれば次
状態S1へ処理Φを実行しながら遷移することを示して
いる。なお、Φは空集合を表わしており、状態S0から
状態S1へ何も処理せずに遷移することを示している。
【0046】また、図7において、状態S3から状態S
3への状態遷移を表わす辺(e3,NULL,{c1←
F})は、図5に示す8行目の記述に対応している。す
なわち、状態S3のときにイベントe3の操作が行なわ
れた場合、内部条件がNULLで(無条件に)状態S3
へ遷移し、そのとき条件c1にF(偽)を設定する処理
を実行することを示している。
3への状態遷移を表わす辺(e3,NULL,{c1←
F})は、図5に示す8行目の記述に対応している。す
なわち、状態S3のときにイベントe3の操作が行なわ
れた場合、内部条件がNULLで(無条件に)状態S3
へ遷移し、そのとき条件c1にF(偽)を設定する処理
を実行することを示している。
【0047】再び、図4に示すフローチャートの説明に
戻る。次に、操作仕様変換部23は、初期条件設定表に
基づいてグラフG内の状態を以下に示す規則に基づいて
2つの条件付き状態に分割する。
戻る。次に、操作仕様変換部23は、初期条件設定表に
基づいてグラフG内の状態を以下に示す規則に基づいて
2つの条件付き状態に分割する。
【0048】(1)初期条件設定表に存在する条件ci
をラベル内に有する辺と接続している状態を、2つの条
件付き状態に分割する。
をラベル内に有する辺と接続している状態を、2つの条
件付き状態に分割する。
【0049】(2)条件ciを設定する処理をラベル内
に有する辺と接続している状態を、2つの条件付き状態
に分割する。
に有する辺と接続している状態を、2つの条件付き状態
に分割する。
【0050】図8は、図7に示すグラフG内の状態が2
つの条件付き状態に分割された後のグラフを示してい
る。たとえば、条件c1をラベル内に有する辺(e1,
c1,Φ)と接続している状態S0は、2つの条件付き
状態(S0,c1=T)および(S0,c1=F)に分
割される。また、条件c1を設定する処理をラベル内に
有する辺(e3,NULL,{c1←F})と接続して
いる状態S3は、2つの条件付き状態(S3,c1=
T)および(S3,c1=F)に分割される。このよう
にして、状態S0、S1、S2およびS3がそれぞれ2
つの条件付き状態に分割される。
つの条件付き状態に分割された後のグラフを示してい
る。たとえば、条件c1をラベル内に有する辺(e1,
c1,Φ)と接続している状態S0は、2つの条件付き
状態(S0,c1=T)および(S0,c1=F)に分
割される。また、条件c1を設定する処理をラベル内に
有する辺(e3,NULL,{c1←F})と接続して
いる状態S3は、2つの条件付き状態(S3,c1=
T)および(S3,c1=F)に分割される。このよう
にして、状態S0、S1、S2およびS3がそれぞれ2
つの条件付き状態に分割される。
【0051】このように、全ての状態を内部条件に従っ
て分割するのではなく、テストケース生成に必要な状態
のみを分割することによって、状態数の増加を抑えて探
索空間を縮小し、テスト生成に要する時間を削減してい
る。
て分割するのではなく、テストケース生成に必要な状態
のみを分割することによって、状態数の増加を抑えて探
索空間を縮小し、テスト生成に要する時間を削減してい
る。
【0052】再び、図4に示すフローチャートの説明に
戻る。次に、操作仕様変換部23は、ステップS3にお
いて分割された状態に対し、図8に示すグラフGに基づ
いて辺の割り当てを行なう(S4)。図9は、図8に示
すグラフ内の分割された状態に対して、辺を割り当てた
後のグラフを示している。図9に示すように、たとえ
ば、状態S3から状態S0への遷移を表わす辺(e4,
NULL,Φ)は、条件付き状態(S3,c1=T)か
ら条件付き状態(S0,c1=T)への遷移を表わす辺
(e4,NULL,Φ)および条件付き状態(S3,c
1=F)から条件付き状態(S0,c1=F)への遷移
を表わす辺(e4,NULL,Φ)に分割される。
戻る。次に、操作仕様変換部23は、ステップS3にお
いて分割された状態に対し、図8に示すグラフGに基づ
いて辺の割り当てを行なう(S4)。図9は、図8に示
すグラフ内の分割された状態に対して、辺を割り当てた
後のグラフを示している。図9に示すように、たとえ
ば、状態S3から状態S0への遷移を表わす辺(e4,
NULL,Φ)は、条件付き状態(S3,c1=T)か
ら条件付き状態(S0,c1=T)への遷移を表わす辺
(e4,NULL,Φ)および条件付き状態(S3,c
1=F)から条件付き状態(S0,c1=F)への遷移
を表わす辺(e4,NULL,Φ)に分割される。
【0053】また、自己ループを形成する辺(e3,N
ULL,{c1←F})は、条件付き状態(S3,c1
=T)から条件付き状態(S3,c1=F)への遷移を
表わす辺(e3,NULL,{c1←F})および条件
付き状態(S3,c1=F)から条件付き状態(S3,
c1=F)への遷移を表わす辺(e3,NULL,{c
1←F})に分割される。また、状態S0から状態S1
への遷移を表わす辺(e1,c1,Φ)は、内部条件c
1=Tの場合の遷移を表わしているので、条件付き状態
(S0,c1=T)から条件付き状態(S1,c1=
T)への遷移を表わす辺(e1,c1,Φ)のみとな
る。一方、状態S0から状態S2への遷移を表わす辺
(式(1)に示す)は、内部条件c1=Fの場合の遷移
を表わしているので、条件付き状態(S0,c1=F)
から条件付き状態(S2,c1=F)への遷移を表わす
辺(式(1)に示す)のみとなる。
ULL,{c1←F})は、条件付き状態(S3,c1
=T)から条件付き状態(S3,c1=F)への遷移を
表わす辺(e3,NULL,{c1←F})および条件
付き状態(S3,c1=F)から条件付き状態(S3,
c1=F)への遷移を表わす辺(e3,NULL,{c
1←F})に分割される。また、状態S0から状態S1
への遷移を表わす辺(e1,c1,Φ)は、内部条件c
1=Tの場合の遷移を表わしているので、条件付き状態
(S0,c1=T)から条件付き状態(S1,c1=
T)への遷移を表わす辺(e1,c1,Φ)のみとな
る。一方、状態S0から状態S2への遷移を表わす辺
(式(1)に示す)は、内部条件c1=Fの場合の遷移
を表わしているので、条件付き状態(S0,c1=F)
から条件付き状態(S2,c1=F)への遷移を表わす
辺(式(1)に示す)のみとなる。
【0054】
【数1】
【0055】次に、操作仕様変換部23は、ステップS
4において辺が割り当てられたグラフから以下に示す規
則に基づいて条件付き状態および辺を削除する(S
5)。
4において辺が割り当てられたグラフから以下に示す規
則に基づいて条件付き状態および辺を削除する(S
5)。
【0056】(1)初期状態から到達不能な条件付き状
態を削除する。(2)初期状態から到達不能な条件付き
状態から遷移する辺を削除する。
態を削除する。(2)初期状態から到達不能な条件付き
状態から遷移する辺を削除する。
【0057】図10は、図9に示すグラフから上記規則
を満たす条件付き条件および辺を削除した後のグラフを
示している。たとえば、図9に示す条件付き状態(S
1,c1=F)および(S2,c1=T)は、初期状態
(S0,c1=T)から到達不能な条件付き状態である
ので削除される。また、初期状態(S0,c1=T)か
ら到達不能な条件付き状態(S2,c1=T)から状態
S5へ遷移する辺(e6,NULL,Φ)が削除され
る。このようにして作成されたグラフを以下Gcと表記
する。
を満たす条件付き条件および辺を削除した後のグラフを
示している。たとえば、図9に示す条件付き状態(S
1,c1=F)および(S2,c1=T)は、初期状態
(S0,c1=T)から到達不能な条件付き状態である
ので削除される。また、初期状態(S0,c1=T)か
ら到達不能な条件付き状態(S2,c1=T)から状態
S5へ遷移する辺(e6,NULL,Φ)が削除され
る。このようにして作成されたグラフを以下Gcと表記
する。
【0058】次に、操作仕様変換部23は、グラフGc
上で全ての状態を含み、かつ自己ループを含まないパス
の集合を検索し、このパスの集合をテストケース集合
(TC1)とする(S6)。図11は、図10に示すグ
ラフGcを検索することによって作成されたテストケー
ス集合の一例を示すグラフである。操作仕様変換部23
は、グラフGcを検索することによって、以下に示すテ
ストケース集合TC1(3つのテストケースTS1〜T
S3)が作成される。
上で全ての状態を含み、かつ自己ループを含まないパス
の集合を検索し、このパスの集合をテストケース集合
(TC1)とする(S6)。図11は、図10に示すグ
ラフGcを検索することによって作成されたテストケー
ス集合の一例を示すグラフである。操作仕様変換部23
は、グラフGcを検索することによって、以下に示すテ
ストケース集合TC1(3つのテストケースTS1〜T
S3)が作成される。
【0059】
【数2】
【0060】次に、操作仕様変換部23は、グラフGか
らグラフGcを生成する際に複数に分割された辺におい
て、以下の規則に基づいて辺を削除する(S7)。
らグラフGcを生成する際に複数に分割された辺におい
て、以下の規則に基づいて辺を削除する(S7)。
【0061】(1)分割された辺のうちいずれか1つが
TC1に現れていれば、現れていない辺を全て削除す
る。
TC1に現れていれば、現れていない辺を全て削除す
る。
【0062】(2)分割された辺のうちいずれもTC1
に現れていなければ、どれか1つの辺を残して他の辺を
全て削除する。
に現れていなければ、どれか1つの辺を残して他の辺を
全て削除する。
【0063】図12は、上述した規則に基づいて図11
に示すグラフGc上の辺を削除した後のグラフを示して
いる。たとえば、条件付き状態(S0,c1=T)から
条件付き状態(S3,c1=T)へ遷移する辺(e2,
NULL,Φ)はテストケース集合TC1の1つである
TS1に現れるので、TC1に現れない条件付き状態
(S0,c1=F)から条件付き状態(S3,c1=
F)への辺を削除する。また、条件付き状態(S3,c
1=T)において自己ループを形成する辺(e5,NU
LL,Φ)と、条件付き状態(S3,c1=F)におい
て自己ループを形成する辺(e5,NULL,Φ)と
は、いずれもTC1に現れていないので、いずれか1つ
の辺を残して他の辺を削除する。図12においては、条
件付き状態(S3,c1=F)において自己ループを形
成する辺(e5,NULL,Φ)が削除されている。
に示すグラフGc上の辺を削除した後のグラフを示して
いる。たとえば、条件付き状態(S0,c1=T)から
条件付き状態(S3,c1=T)へ遷移する辺(e2,
NULL,Φ)はテストケース集合TC1の1つである
TS1に現れるので、TC1に現れない条件付き状態
(S0,c1=F)から条件付き状態(S3,c1=
F)への辺を削除する。また、条件付き状態(S3,c
1=T)において自己ループを形成する辺(e5,NU
LL,Φ)と、条件付き状態(S3,c1=F)におい
て自己ループを形成する辺(e5,NULL,Φ)と
は、いずれもTC1に現れていないので、いずれか1つ
の辺を残して他の辺を削除する。図12においては、条
件付き状態(S3,c1=F)において自己ループを形
成する辺(e5,NULL,Φ)が削除されている。
【0064】次に、操作仕様変換部23は、ステップS
6において作成されたテストケース集合TC1の中に含
まれていない辺があれば、その辺を通過するパスを求め
て新たにテストケース集合TC2とする(S8)。図1
3は、図12に示すグラフに新たに作成されたテストケ
ース集合TC2が付加された後のグラフを示している。
たとえば、自己ループを形成する辺(e5,NULL,
Φ)はテストケース集合TC1には含まれない辺である
ので、この辺を通過するような次式に示すパスを求めて
テストケースTC2とする。
6において作成されたテストケース集合TC1の中に含
まれていない辺があれば、その辺を通過するパスを求め
て新たにテストケース集合TC2とする(S8)。図1
3は、図12に示すグラフに新たに作成されたテストケ
ース集合TC2が付加された後のグラフを示している。
たとえば、自己ループを形成する辺(e5,NULL,
Φ)はテストケース集合TC1には含まれない辺である
ので、この辺を通過するような次式に示すパスを求めて
テストケースTC2とする。
【0065】
【数3】
【0066】最後に、テストケース出力部24は、操作
仕様変換部23によって求められたテストケース集合T
C1およびTC2を出力して(S9)、処理を終了す
る。図14は、テストケース出力部24によって出力さ
れた出力結果を示す図である。たとえば、テストケース
TS1は、条件付き状態(S0,c1=T)からイベン
トe2によって条件付き状態(S3,c1=T)へ遷移
し、条件付き状態(S3,c1=T)からイベントe3
によって条件付き状態(S3,c1=F)へ遷移し、条
件付き状態(S3,c1=F)からイベントe4によっ
て条件付き状態(S0,c1=F)へ遷移し、条件付き
状態(S0,c1=F)からイベントe1によって条件
付き状態(S2,c1=F)へ遷移し、条件付き状態
(S2,c1=F)からイベントe6によって状態S5
へ遷移することを示している。
仕様変換部23によって求められたテストケース集合T
C1およびTC2を出力して(S9)、処理を終了す
る。図14は、テストケース出力部24によって出力さ
れた出力結果を示す図である。たとえば、テストケース
TS1は、条件付き状態(S0,c1=T)からイベン
トe2によって条件付き状態(S3,c1=T)へ遷移
し、条件付き状態(S3,c1=T)からイベントe3
によって条件付き状態(S3,c1=F)へ遷移し、条
件付き状態(S3,c1=F)からイベントe4によっ
て条件付き状態(S0,c1=F)へ遷移し、条件付き
状態(S0,c1=F)からイベントe1によって条件
付き状態(S2,c1=F)へ遷移し、条件付き状態
(S2,c1=F)からイベントe6によって状態S5
へ遷移することを示している。
【0067】図15〜図18は、本実施の形態における
テストケース生成装置をさらに具体的に説明するための
図である。図15は、テスト対象となる機器(たとえ
ば、コピー機)の操作部の概略を示しており、4個の操
作ボタンを含んでいる。
テストケース生成装置をさらに具体的に説明するための
図である。図15は、テスト対象となる機器(たとえ
ば、コピー機)の操作部の概略を示しており、4個の操
作ボタンを含んでいる。
【0068】図16は、図15に示す操作ボタンが押下
された場合の機器の状態遷移を示す図である。たとえ
ば、初期状態である“電源オフ状態”において、“電源
ボタン”が押下されたとき、“通常運転変数”がTの場
合には“通常運転状態”へ遷移する。また、初期状態で
ある“電源オフ状態”において、“電源ボタン”が押下
されたとき、“通常運転変数”がFの場合には“メンテ
サービス受付状態”へ遷移する。また、初期状態である
“電源オフ状態”において、“隠しボタン1”が押下さ
れると無条件に“メンテサービス移行状態”へ遷移す
る。さらには、初期状態である“電源オフ状態”におい
て、“試運転ボタン”が押下されると無条件に“試運転
状態”へ遷移する。
された場合の機器の状態遷移を示す図である。たとえ
ば、初期状態である“電源オフ状態”において、“電源
ボタン”が押下されたとき、“通常運転変数”がTの場
合には“通常運転状態”へ遷移する。また、初期状態で
ある“電源オフ状態”において、“電源ボタン”が押下
されたとき、“通常運転変数”がFの場合には“メンテ
サービス受付状態”へ遷移する。また、初期状態である
“電源オフ状態”において、“隠しボタン1”が押下さ
れると無条件に“メンテサービス移行状態”へ遷移す
る。さらには、初期状態である“電源オフ状態”におい
て、“試運転ボタン”が押下されると無条件に“試運転
状態”へ遷移する。
【0069】また、“メンテサービス移行状態”におい
て、“隠しボタン2”が押下されると、“通常運転変
数”にFが設定されて“メンテサービス移行状態”に留
まる(他の状態へ遷移しない)。また、“メンテサービ
ス受付状態”において、“隠しボタン1”が押下される
と無条件に“メンテサービス実施状態”へ遷移する。
て、“隠しボタン2”が押下されると、“通常運転変
数”にFが設定されて“メンテサービス移行状態”に留
まる(他の状態へ遷移しない)。また、“メンテサービ
ス受付状態”において、“隠しボタン1”が押下される
と無条件に“メンテサービス実施状態”へ遷移する。
【0070】図17は、このテストケースを作成する際
の初期条件設定表を示す図である。図17に示すよう
に、通常運転変数にTが設定されているので、初期状態
である“電源オフ状態”において“電源ボタン”が押下
されると、“通常運転状態”へ遷移することになる。
の初期条件設定表を示す図である。図17に示すよう
に、通常運転変数にTが設定されているので、初期状態
である“電源オフ状態”において“電源ボタン”が押下
されると、“通常運転状態”へ遷移することになる。
【0071】図16に示すグラフ(状態遷移図)は、図
7に示すグラフと1対1に対応することから、4つのテ
ストケースTS1〜TS4が生成される。図18は、生
成されたテストケースを示す図である。たとえば、テス
トケースTS1においては以下に示す状態遷移が行なえ
るか否かのテストであることを示している。
7に示すグラフと1対1に対応することから、4つのテ
ストケースTS1〜TS4が生成される。図18は、生
成されたテストケースを示す図である。たとえば、テス
トケースTS1においては以下に示す状態遷移が行なえ
るか否かのテストであることを示している。
【0072】(1)“電源オフ状態”において、“隠し
ボタン1”が押下されると“メンテサービス移行状態”
へ遷移する。
ボタン1”が押下されると“メンテサービス移行状態”
へ遷移する。
【0073】(2)次に、“メンテサービス移行状態”
において、“隠しボタン2”が押下されると“通常運転
変数”をFに変更する処理を行ない、“メンテサービス
移行状態”に留まる。
において、“隠しボタン2”が押下されると“通常運転
変数”をFに変更する処理を行ない、“メンテサービス
移行状態”に留まる。
【0074】(3)次に、“メンテサービス移行状態”
において、“隠しボタン1”が押下されると“電源オフ
状態”へ遷移する。
において、“隠しボタン1”が押下されると“電源オフ
状態”へ遷移する。
【0075】(4)次に、“電源オフ状態”において、
“電源ボタン”が押下されると“メンテサービス受付状
態”へ遷移する。
“電源ボタン”が押下されると“メンテサービス受付状
態”へ遷移する。
【0076】(5)次に、“メンテサービス受付状態”
において、“隠しボタン1”が押下されると“メンテサ
ービス実施状態”へ遷移する。
において、“隠しボタン1”が押下されると“メンテサ
ービス実施状態”へ遷移する。
【0077】このようにして、イベントのみで次の状態
へ遷移するテストケースが自動的に生成される。
へ遷移するテストケースが自動的に生成される。
【0078】以上説明したように、本実施の形態におけ
るテストケース生成装置によれば、操作者が機器の内部
条件の設定を意識せずに、イベントのみで次の状態へ遷
移する形式のテストケースを生成することが可能となっ
た。また、生成されたテストケースはイベントのみによ
って状態が遷移するので、テストを自動化することが可
能となり、ソフトウェアの品質を向上させることが可能
となった。
るテストケース生成装置によれば、操作者が機器の内部
条件の設定を意識せずに、イベントのみで次の状態へ遷
移する形式のテストケースを生成することが可能となっ
た。また、生成されたテストケースはイベントのみによ
って状態が遷移するので、テストを自動化することが可
能となり、ソフトウェアの品質を向上させることが可能
となった。
【0079】今回開示された実施の形態は、すべての点
で例示であって制限的なものではないと考えられるべき
である。本発明の範囲は上記した説明ではなくて特許請
求の範囲によって示され、特許請求の範囲と均等の意味
および範囲内でのすべての変更が含まれることが意図さ
れる。
で例示であって制限的なものではないと考えられるべき
である。本発明の範囲は上記した説明ではなくて特許請
求の範囲によって示され、特許請求の範囲と均等の意味
および範囲内でのすべての変更が含まれることが意図さ
れる。
【図1】本発明の実施の形態におけるテストケース生成
装置の外観例を示す図である。
装置の外観例を示す図である。
【図2】本発明の実施の形態におけるテストケース生成
装置の構成例を示すブロック図である。
装置の構成例を示すブロック図である。
【図3】本発明の実施の形態におけるテストケース生成
装置の概略構成を示すブロック図である。
装置の概略構成を示すブロック図である。
【図4】本発明の実施の形態におけるテストケース生成
装置の処理手順を説明するためのフローチャートであ
る。
装置の処理手順を説明するためのフローチャートであ
る。
【図5】操作仕様入力部21に入力される操作仕様書の
一例を示す図である。
一例を示す図である。
【図6】初期条件入力部22に入力される初期条件設定
表の一例を示す図である。
表の一例を示す図である。
【図7】図5に示す操作仕様書から作成したグラフを示
す図である。
す図である。
【図8】図7に示すグラフG内の状態が2つの条件付き
状態に分割された後のグラフを示す図である。
状態に分割された後のグラフを示す図である。
【図9】図8に示すグラフ内の分割された状態に対し
て、辺を割り当てた後のグラフを示す図である。
て、辺を割り当てた後のグラフを示す図である。
【図10】図9に示すグラフから所定の規則に基づいて
条件付き条件および辺を削除した後のグラフを示す図で
ある。
条件付き条件および辺を削除した後のグラフを示す図で
ある。
【図11】図10に示すグラフを検索することによって
作成されたテストケース集合のグラフを示す図である。
作成されたテストケース集合のグラフを示す図である。
【図12】図11に示すグラフから所定の規則に基づい
て辺を削除した後のグラフを示す図である。
て辺を削除した後のグラフを示す図である。
【図13】図12に示すグラフに新たに作成されたテス
トケース集合TC2が付加された後のグラフを示す図で
ある。
トケース集合TC2が付加された後のグラフを示す図で
ある。
【図14】テストケース出力部24によって出力された
出力結果を示す図である。
出力結果を示す図である。
【図15】テスト対象となる機器の操作部の概略を示す
図である。
図である。
【図16】図15に示す機器の操作ボタンが押下された
場合の機器の状態遷移を示す図である。
場合の機器の状態遷移を示す図である。
【図17】図16に示す状態遷移図からテストケースを
作成する際の初期条件設定表を示す図である。
作成する際の初期条件設定表を示す図である。
【図18】図16に示す状態遷移図から生成されたテス
トケースを示す図である。
トケースを示す図である。
1 コンピュータ本体 2 グラフィックディスプレイ装置 3 磁気テープ装置 4 磁気テープ 5 キーボード 6 マウス 7 CD−ROM装置 8 CD−ROM 9 通信モデム 10 CPU 11 ROM 12 RAM 13 ハードディスク 21 操作仕様入力部 22 初期条件入力部 23 操作仕様変更部 24 テストケース出力部
Claims (12)
- 【請求項1】 対象となる機器の内部条件に応じて次の
状態に遷移する形式の操作仕様を入力するための操作仕
様入力手段と、 前記対象となる機器内部の初期条件を入力するための初
期条件入力手段と、 前記操作仕様入力手段によって入力された操作仕様およ
び前記初期条件入力手段によって入力された初期条件か
ら、イベントによって次の状態に遷移する形式の操作仕
様に変換するための操作仕様変換手段と、 前記操作仕様変換手段によって変換された操作仕様から
テストケースを生成して出力するためのテストケース出
力手段とを含むテストケース生成装置。 - 【請求項2】 前記操作仕様変換手段は、前記操作仕様
入力手段によって入力された操作仕様からグラフを生成
するためのグラフ生成手段と、 前記初期条件入力手段によって入力された初期条件に基
づいて、前記グラフ生成手段によって生成されたグラフ
内の状態が分割されたグラフを生成するための状態分割
手段と、 前記状態分割手段によって生成されたグラフに対して、
始点となる状態から終点となる状態へ遷移する辺が割り
当てられたグラフを生成するための辺割当手段と、 前記辺割当手段によって生成されたグラフにおいて、初
期状態から到達不能な状態および該到達不能な状態から
遷移する辺を削除したグラフを生成するための第1の削
除手段と、 前記第1の削除手段によって削除が行なわれた後のグラ
フ上で全ての状態を含み、かつ自己ループを含まないパ
スを検索するための第1の検索手段とを含む、請求項1
記載のテストケース生成装置。 - 【請求項3】 前記操作仕様変換手段はさらに、前記第
1の削除手段によって削除が行なわれた後のグラフ上
で、前記第1の検索手段によって検索されたパス内の辺
と同じ辺を削除し、前記第1の検索手段によって検索さ
れたパス内にない辺のうち同じ辺のいずれか1つを残し
て他の辺を削除したグラフを生成するための第2の削除
手段と、 前記第2の削除手段によって生成されたグラフ上で、前
記第1の検索手段によって検索されたパスを通過しない
辺を通過するパスを検索するための第2の検索手段とを
含む、請求項2記載のテストケース生成装置。 - 【請求項4】 前記状態分割手段は、前記初期条件入力
手段によって入力された初期条件に存在する条件をラベ
ル中に有する辺と接続する状態を分割し、前記初期条件
に存在する条件を設定する処理を有する辺と接続する状
態を分割する、請求項2または3記載のテストケース生
成装置。 - 【請求項5】 対象となる機器の内部条件に応じて次の
状態に遷移する形式の操作仕様を入力するステップと、 前記対象となる機器内部の初期条件を入力するステップ
と、 前記入力された操作仕様および前記入力された初期条件
から、イベントによって次の状態に遷移する形式の操作
仕様に変換するステップと、 前記変換された操作仕様からテストケースを生成して出
力するステップとを含むテストケース生成方法。 - 【請求項6】 前記操作仕様を変換するステップは、前
記入力された操作仕様から第1のグラフを生成するステ
ップと、 前記入力された初期条件に基づいて、前記生成された第
1のグラフ内の状態が分割された第2のグラフを生成す
るステップと、 前記生成された第2のグラフに対して、始点となる状態
から終点となる状態へ遷移する辺が割り当てられた第3
のグラフを生成するステップと、 前記生成された第3のグラフにおいて、初期状態から到
達不能な状態および該到達不能な状態から遷移する辺を
削除した第4のグラフを生成するステップと、前記第4
のグラフ上で全ての状態を含み、かつ自己ループを含ま
ないパスを検索するステップとを含む、請求項5記載の
テストケース生成方法。 - 【請求項7】 前記操作仕様を変換するステップはさら
に、前記第4のグラフ上で、前記検索されたパス内の辺
と同じ辺を削除し、前記検索されたパス内にない辺のう
ち同じ辺のいずれか1つを残して他の辺を削除した第5
のグラフを生成するステップと、 前記第5のグラフ上で、前記検索されたパスを通過しな
い辺を通過するパスを検索するステップとを含む、請求
項6記載のテストケース生成方法。 - 【請求項8】 前記第2のグラフを生成するステップ
は、前記入力された初期条件に存在する条件をラベル中
に有する辺と接続する状態を分割し、前記初期条件に存
在する条件を設定する処理を有する辺と接続する状態を
分割するステップを含む、請求項6または7記載のテス
トケース生成方法。 - 【請求項9】 対象となる機器の内部条件に応じて次の
状態に遷移する形式の操作仕様を入力するステップと、 前記対象となる機器内部の初期条件を入力するステップ
と、 前記入力された操作仕様および前記入力された初期条件
から、イベントによって次の状態に遷移する形式の操作
仕様に変換するステップと、 前記変換された操作仕様からテストケースを生成して出
力するステップとを含むテストケース生成プログラムを
記録した媒体。 - 【請求項10】 前記操作仕様を変換するステップは、
前記入力された操作仕様から第1のグラフを生成するス
テップと、 前記入力された初期条件に基づいて、前記生成された第
1のグラフ内の状態が分割された第2のグラフを生成す
るステップと、 前記生成された第2のグラフに対して、始点となる状態
から終点となる状態へ遷移する辺が割り当てられた第3
のグラフを生成するステップと、 前記生成された第3のグラフにおいて、初期状態から到
達不能な状態および該到達不能な状態から遷移する辺を
削除した第4のグラフを生成するステップと、前記第4
のグラフ上で全ての状態を含み、かつ自己ループを含ま
ないパスを検索するステップとを含む、請求項9記載の
テストケース生成プログラムを記録した媒体。 - 【請求項11】 前記操作仕様を変換するステップはさ
らに、前記第4のグラフ上で、前記検索されたパス内の
辺と同じ辺を削除し、前記検索されたパス内にない辺の
うち同じ辺のいずれか1つを残して他の辺を削除した第
5のグラフを生成するステップと、 前記第5のグラフ上で、前記検索されたパスを通過しな
い辺を通過するパスを検索するステップとを含む、請求
項10記載のテストケース生成プログラムを記録した媒
体。 - 【請求項12】 前記第2のグラフを生成するステップ
は、前記入力された初期条件に存在する条件をラベル中
に有する辺と接続する状態を分割し、前記初期条件に存
在する条件を設定する処理を有する辺と接続する状態を
分割するステップを含む、請求項10または11記載の
テストケース生成プログラムを記録した媒体。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11150035A JP2000339193A (ja) | 1999-05-28 | 1999-05-28 | テストケース生成装置、テストケース生成方法およびテストケース生成プログラムを記録した媒体 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP11150035A JP2000339193A (ja) | 1999-05-28 | 1999-05-28 | テストケース生成装置、テストケース生成方法およびテストケース生成プログラムを記録した媒体 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000339193A true JP2000339193A (ja) | 2000-12-08 |
Family
ID=15488085
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP11150035A Withdrawn JP2000339193A (ja) | 1999-05-28 | 1999-05-28 | テストケース生成装置、テストケース生成方法およびテストケース生成プログラムを記録した媒体 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000339193A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011154656A (ja) * | 2010-01-28 | 2011-08-11 | Fujitsu Frontech Ltd | 試験装置、試験システム及び試験方法 |
| JP2014142745A (ja) * | 2013-01-23 | 2014-08-07 | Geo Technical Laboratory Co Ltd | アプリケーション・テストシステム |
-
1999
- 1999-05-28 JP JP11150035A patent/JP2000339193A/ja not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011154656A (ja) * | 2010-01-28 | 2011-08-11 | Fujitsu Frontech Ltd | 試験装置、試験システム及び試験方法 |
| JP2014142745A (ja) * | 2013-01-23 | 2014-08-07 | Geo Technical Laboratory Co Ltd | アプリケーション・テストシステム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6289489B1 (en) | Method and apparatus for automatically cross-referencing graphical objects and HDL statements | |
| US8935276B2 (en) | Apparatus for and method of handling data analysis | |
| US20200241850A1 (en) | Code Management System and Code Management Method | |
| US9684738B2 (en) | Text-based command generation | |
| CN113626017A (zh) | 异构程序的分析方法、装置、计算机设备和存储介质 | |
| US8332764B2 (en) | Editing device, information processing device, editing method, and editing program product | |
| JP2007323219A (ja) | Fmea支援装置、その装置、そのプログラム及びその媒体 | |
| JPH10149301A (ja) | スクリプト作成装置 | |
| JP2010033500A (ja) | Guiデータ変換システムおよびguiデータ変換方法 | |
| JP6025955B1 (ja) | プログラム解析装置及びプログラム解析方法 | |
| JP2998674B2 (ja) | 設計作業における文書作成支援装置 | |
| JPH1124904A (ja) | プログラム作成装置及びプログラム作成プログラムを記憶した記憶媒体 | |
| CN117434883B (zh) | 一种plc程序版本的可视化管理方法及装置 | |
| JP2012167958A (ja) | 試験情報表示装置、方法、プログラム、および該ソフトウェアを格納したコンピュータ可読媒体 | |
| JP2009140017A (ja) | 情報処理装置及びその処理方法 | |
| JP2009205643A (ja) | 画面遷移設計支援装置、画面遷移設計支援方法および画面遷移設計支援プログラム | |
| JP5202598B2 (ja) | ワークフロー管理装置、及びワークフロー管理プログラム | |
| JP4828318B2 (ja) | 複数様式帳票統合印刷方法、システム及びプログラム | |
| JP2001084136A (ja) | テスト仕様書作成システムおよびテスト仕様書作成方法 | |
| JP2007272880A (ja) | アイコン生成装置、アイコン生成プログラムおよびアイコン生成方法 | |
| JP2020161102A (ja) | 図面作成支援装置、図面作成支援プログラム及び図面作成支援方法 | |
| JP2002073372A (ja) | ソフトウェアのテスト項目生成装置、テスト項目生成方法およびその方法を実現するプログラムを記録した機械読取可能な記録媒体 | |
| JP2009020693A (ja) | 電子回路図面作成方法および装置 | |
| JP2019159745A (ja) | ガイド生成プログラム、ガイド生成方法及びサーバ装置 | |
| JP2009265799A (ja) | 画面遷移設計支援装置、画面遷移設計支援方法、および画面遷移設計支援プログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060801 |