JP2001282536A - テスト項目抽出装置 - Google Patents

テスト項目抽出装置

Info

Publication number
JP2001282536A
JP2001282536A JP2000092405A JP2000092405A JP2001282536A JP 2001282536 A JP2001282536 A JP 2001282536A JP 2000092405 A JP2000092405 A JP 2000092405A JP 2000092405 A JP2000092405 A JP 2000092405A JP 2001282536 A JP2001282536 A JP 2001282536A
Authority
JP
Japan
Prior art keywords
class
test
test item
information
diagram
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.)
Pending
Application number
JP2000092405A
Other languages
English (en)
Inventor
Tetsuo Tsukurida
哲雄 造田
Kenichi Shintoku
賢一 新徳
Masato Nishiguchi
真人 西口
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.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
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 Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2000092405A priority Critical patent/JP2001282536A/ja
Publication of JP2001282536A publication Critical patent/JP2001282536A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 オブジェクト指向プログラムのテストに必要
なテスト項目を少ない工数で作成することができるテス
ト項目作成支援装置を提供すること。 【解決手段】 テスト項目抽出対象のオブジェクト指向
プログラムの設計モデルから、パッケージ情報、クラス
図情報、汎化関連、操作の情報を取得する第1の手段
と、状態図から状態遷移情報を取得する第2の手段と、
これら第1および第2の手段で取得した情報に基づき操
作単位でテスト項目を作成し、外部記憶装置または出力
装置に出力する第3の手段を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、オブジェクト指向
を用いて開発したソフトウェアのテスト項目の抽出作業
を支援するテスト項目支援装置に関するものである。
【0002】
【従来の技術】ソフトウェアを開発した場合は、当該ソ
フトウェアの機能についての情報を提供するために設計
モデルを構築し、設計モデルに示された機能が正常に働
くか否かを検査する機能テストを行う必要がある。近年
では、再利用性を高めることを目的としてオブジェクト
指向を用いて設計モデルを作成することが普及してい
る。従来、オブジェクト指向を適用して開発したソフト
ウェアについても、その機能テストを行う際には、テス
ト項目を作成すると共に、テスト結果の予想を行ってい
る。しかし、従来においては、設計モデルを利用してテ
スト項目を抽出する作業と、テスト結果を予想する作業
といった全ての作業を手作業で行っていたため、効率が
悪いと言う問題があった。そこで、テスト作業を向上さ
せるために、テスト項目を自動生成する技術が必要にな
る。従来の構造化設計を適用したソフトウェアの開発に
おいては、特開平5−119985号公報や特開平8−
44589号公報に見られるようにコンピュータの支援
を受けて、テスト項目を自動的生成する技術がある。
【0003】
【発明が解決しようとする課題】しかしながら、構造化
設計には、オブジェクト指向設計にあるクラス構造や継
承がないため、これらの従来技術を使用してテスト項目
を自動生成することができない。すなわち、オブジェク
ト指向プログラムでは、インスタンスがどのクラスから
派生しているかで名前が同じであるにもかかわらず異な
る操作になるということがある。また、継承されて直接
記述されていない操作が実際には存在しているというこ
となど、クラスが持っている操作の複雑さに加えて、オ
ブジェクトクラス内の状態の変化を考慮しなければなら
ない。このため、上記従来技術を使用してオブジェクト
指向プログラムのテスト項目を自動生成することはでき
ない。本発明の目的は、オブジェクト指向プログラムの
テストに必要なテスト項目を少ない工数で作成すること
ができるテスト項目作成支援装置を提供することにあ
る。
【0004】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、テスト項目抽出対象のオブジェクト指向
プログラムの設計モデルから、パッケージ情報、クラス
図情報、汎化関連、操作の情報を取得する第1の手段
と、状態図から状態遷移情報を取得する第2の手段と、
これら第1および第2の手段で取得した情報に基づき操
作単位でテスト項目を作成し、外部記憶装置または出力
装置に出力する第3の手段を備えることを特徴とする。
また、前記第3の手段は、前記クラス図から抽出した操
作の情報に対して、クラスの操作の引数が正常である場
合と、エラーとなる場合と、状態遷移図から抽出した状
態遷移とを組み合わせてテスト項目を抽出し、テスト条
件としてそれらを組み合わせた項目を作成し、引数の組
合せによりテスト結果を推測して出力することを特徴と
する。また、設計モデルから抽出したクラス図情報、汎
化情報および操作情報と、状態図から抽出した状態遷移
情報とに基づき、テスト項目を操作単位で表示し、論理
的な単位で保存する手段を備えることを特徴とする。
【0005】
【発明の実施の形態】以下、図面を用いて本発明の実施
の形態を詳細に説明する。図1は、本発明のテスト項目
抽出支援装置の一実施形態を示すブロック構成図であ
る。この実施形態のテスト項目抽出支援装置は、端末1
01、クラス図・状態図作成手段102、中央処理装置
103、設計モデル104およびテスト項目DB105
が格納された外部記憶装置106、プリンタ107を備
えている。中央処理装置103内には、プログラムで構
成されるテスト項目抽出部108が用意されている。端
末101は、コマンド入力やマウスを使った操作や処理
結果などを表示出力する機能を持っている。クラス図・
状態図作成手段102はオブジェクト指向を用いた設計
を行うための手段であり、クラス図や状態図を作成す
る。中央処置装置103は本発明が実現する機能やデー
タを格納し、外部記憶装置106はクラス図・状態図作
成手段102で作成した設計モデル104、本発明で作
成したテスト項目をテスト項目DB105に格納する装
置である。
【0006】テスト項目抽出部108は、設計モデル1
04からパッケージとクラスの関係を抽出してモデル図
抽出情報1087の記憶エリアに格納するパッケージと
クラスの関係抽出処理部1081と、設計モデル104
からクラスとクラスの関係を抽出し、モデル図抽出情報
1087の記憶エリアに格納するクラス間関係抽出処理
部1082と、設計モデル104からクラスと操作の関
係を抽出し、モデル図抽出情報1087の記憶エリアに
格納するクラスと操作の関係抽出処理部1083と、設
計モデル104からクラスと状態遷移の関係を抽出し、
モデル図抽出情報1087の記憶アリアに格納するクラ
スと状態遷移の関係抽出処理部1084と、モデル図抽
出情報1087に格納している情報を使用してテスト項
目を作成し、テスト項目DB105に格納するテスト項
目作成処理部1085と、テスト項目DB105の情報
を端末101やプリンタ107に出力するテスト項目表
示処理部1086とを備えている。
【0007】オブジェクト指向を適用した設計モデル1
04の一例を図2、図3に示す。図2はパッケージ名が
「面積計算パッケージ」というパッケージ201であ
り、このパッケージ201はクラス図の名前が「直線図
形」というクラス図202と「曲線図形」というクラス
図203を持っている。
【0008】図2に含まれる「直線図形」というクラス
図202は、クラス名が多角形という多角形クラス20
4と汎化関係217にあり多角形クラス204から派生
したクラスの名前が三角形という三角形クラス205
と、多角形クラス204から派生したクラスの名前が長
方形という長方形クラス206と、長方形クラス206
から派生したクラスの名前が正方形という正方形クラス
207の4つを持っていることを示している。
【0009】多角形クラス204は、面積計算()20
8と表示()209と分割()210の3つの操作を持
っている。この場合、操作の前に付いている記号(+、
−)は可視性を示しており、例えば記号「+218」は
サブクラスに継承でできることを示し、記号「−21
9」は隠蔽されていることを示す。したがって、多角形
クラス204の操作のうち面積計算()208と表
示()209は継承によりサブクラスでも使用できる
が、分割()210は隠蔽されているのでサブクラスで
は使用できないことになる。
【0010】三角形クラス205の操作である面積計算
(底辺、高さ)211は、引数に底辺212と高さ21
3をとり、スーパークラスである多角形クラス204に
記述されている面積計算()208をオーバーライドし
ている。三角形クラス205の操作である面積計算(角
度、辺)214と面積計算(底辺、高さ)211は、オ
ーバーロードの操作である。また、三角形クラス205
は多角形クラス204から継承された表示()209を
使うことができる。
【0011】長方形クラス206は、多角形クラス20
4に記述されている面積計算()208をオーバーライ
ドした面積計算(縦の辺、横の辺)215と、継承され
た表示()209の操作を使用することができる。
【0012】正方形クラス207はスーパークラスであ
る長方形クラス206の面積計算(縦の辺、横の辺)2
15の操作をオーバーライドした面積計算(辺)216
と継承された表示()209の操作を使うことができ
る。
【0013】長方形クラス206が持っている状態図3
01を図3に示す。長方形クラス206は、開始状態3
02になると状態遷移名として縦の辺、横の辺を取得す
る303という状態遷移が起こり、面積計算304とい
う名前の状態になる。状態遷移名として画面表示命令を
取得する305の状態遷移が起こると、面積表示306
という名前の状態になり、状態遷移名として面積表示の
終了する308という遷移が発生し、終了状態309に
なる。また、面積計算304という名前の状態で画面表
示命令を取得しない場合は、面積計算304という名前
の状態が終了したとき状態遷移名として面積計算が終了
する307という遷移が発生し、終了状態309へ遷移
することを示している。
【0014】次に、本実施形態の動作について図4のフ
ローチャートを参照して説明する。ここでは、図2、図
3の具体例を参照して説明する。まず、ステップ401
で、設計モデル104からパッケージとクラスの関係を
取得してモデル図抽出情報1087の記憶エリアに格納
する。このステップ401での詳細な動作を図5に示し
ている。図5は、クラスの集合であるパッケージとクラ
スの関係抽出処理部1081の動作を示したフローチャ
ートである。まず、設計モデル104からパッケージを
取得する(ステップ501)。取得したパッケージにク
ラスが含まれる場合は、クラスを取得し、パッケージ名
とクラスの関係を付け、モデル図抽出情報1087の記
憶エリアに格納する(ステップ502)。次に、パッケ
ージと関係付けられていないクラスがあるどうか調べる
(ステップ503)。関係付けをしていないクラスがあ
れば、ステップ502に戻り、パッケージと関係を付け
る。ステップ501で取得したパッケージとクラスの関
係付けが全て終了したならば、パッケージを変更する
(ステップ504)。設計モデル104のすべてのパッ
ケージに対してステップ501からステップ504の処
理を行い、パッケージとクラスの関係を作成し、処理が
終了したならば、図4のステップ402へ進む。
【0015】図6は、図2の例のクラス図があった場合
に、モデル抽出情報1087の記憶エリアに格納するパ
ッケージとクラスの関係を示すテーブル図である。パッ
ケージ名601は設計モデル104のパッケージの名前
であり、クラス名602にはステップ502においてパ
ッケージと関連付けられたクラスの名前(多角形、三角
形など)が登録される。
【0016】図4のステップ401が終了し、図6のパ
ッケージとクラスの関係情報を作成したならば、図4に
戻ってステップ402へ進む。ステップ402では、設
計モデル104からクラス間関係を取得してモデル図抽
出情報1087の記憶エリアに格納する。ステップ40
2の詳細を図7に示す。図7はクラス間関係抽出処理部
1082の動作を示したフローチャートである。まず、
設計モデル104からクラスを取得する(ステップ70
1)。ステップ701で取得したクラスにスーパークラ
スがある場合はスーパークラスをステップ701で取得
したクラスと関係付けてモデル図抽出情報1087の記
憶エリアに格納する(ステップ702、ステップ70
3)。この後、ステップ701で取得したクラスのすぐ
親であるスーパークラスがなくなるまで関係付けを繰り
返す(ステップ704)。そして、ステップ701で取
得したクラスにスーパークラスがない場合は、スーパー
クラスを調べていない他のクラスがあるか調べる(ステ
ップ705)。設計モデル104中のすべてのクラスに
対してクラス間関係を付けたならば、図4のステップ4
03へ進む。
【0017】図8は図2の例のクラス図があった場合
に、モデル図抽出情報1087の記憶エリアに格納する
クラス間関係のテーブルの情報である。クラス名801
はステップ701で取得したクラス(多角形、三角形な
ど)の名前を登録する。スーパークラス名802にはク
ラスがスーパークラスを持っているか否かを登録する。
例えば、図2の三角形クラス205は、スーパークラス
が多角形クラス204であるので、スーパークラス名8
02には「多角形」と登録する。スーパークラスを持た
ない場合は存在しないことを登録する。スーパークラス
がある場合はステップ704で関係付けしたスーパーク
ラスの名前を記述する。なお、スーパークラス名803
にはスーパークラスが複数存在することもある。
【0018】図4のステップ402が終了し、図8のク
ラス間関係情報を作成したならば、ステップ403へ戻
る。ステップ403では設計モデル104からクラスと
操作の関係を取得し、その関係をモデル図抽出情報10
87の記憶エリアに格納する。
【0019】ステップ403の詳細を図9に示す。図9
は、設計モデル104からクラスと操作の関係を抽出
し、モデル図抽出情報1087の記憶エリアに格納する
クラスと操作の関係抽出処理部1083の動作を示した
フローチャートである。この動作では、クラス図内のク
ラス1つずつを定めて、その継承関係を辿り、クラスと
そのクラスが使える全操作とを関連付ける処理を行う。
まず、設計モデル104からクラスと操作とを関連付け
るクラスを取得する(ステップ901)。そして、その
クラスの継承関係を辿って操作を取得した場合、操作と
関連付けられるクラスはステップ901で取得したクラ
スである。ステップ901で取得したクラスが使うこと
のできる操作を、モデル図抽出情報1087の記憶アリ
アにクラスと関連付けて格納する(ステップ902)。次
に、クラス間の関係を登録した図8のテーブル(クラス
名801とスーパークラス802の関係テーブル)を使
い、ステップ901で取得したクラスに対する直接のス
ーパークラスの個数を取得してNの値に設定する(ステ
ップ903)。スーパークラスの個数が「0」でないと
きは、ステップ905に進み、スーパークラスがないと
き(N=0)は処理を終了する(ステップ904)。ス
ーパークラスがあるときは、まだ選択していないスーパ
ークラスの中から1つを選択する(ステップ905)。
そして、選択したスーパークラスを引数として、ステッ
プ906に進む。
【0020】図10は、ステップ901で取得したクラ
スの継承関係を辿っていき、ステップ901で取得した
クラスとスーパークラスの操作との関係を取得する動作
を示したフローチャートである。まず、ステップ906
で引数として与えられたクラスを設計モデル104から
取得する(ステップ9061)。次に、ステップ906
1で取得したクラスが使うことのできる操作を取得する
(ステップ9062)。ステップ9062で取得した操
作の中から1つ取得し(ステップ9063)、その操作
とモデル図抽出情報1087の記憶エリアにクラスが使
うことができる操作として登録している各操作とを比較
し、引数の個数、引数の型および返り値の型が等しいか
を調べる(ステップ9064、ステップ9065、ステ
ップ9066)。比較した結果、モデル図抽出情報10
87内に全く同じ操作がすでに格納されているときは、
モデル図抽出情報1087に操作の情報を格納しない
(ステップ9067)。それ以外のときは、モデル図抽
出情報1087にステップ9062で取得した操作を格
納する(ステップ9068)。
【0021】ステップ9061で取得したクラスが使う
ことができる操作で、また比較していない操作がある場
合は、ステップ9063に戻る(ステップ9069)。
ステップ9062で取得した操作を全て比較したら、ク
ラス間の関係を示した図8のテーブル(クラス名801
とスーパークラス802の関係テーブル)を使い、ステ
ップ9061で取得したクラスのスーパークラスの個数
を取得する(ステップ9070)。この後、モデル図抽
出情報1087にステップ9061で取得したクラスが
使える操作として格納した操作と、比較していない操作
があるスーパークラスの個数を検査する(ステップ90
71)。すべてのスーパークラスの操作を比較したと
き、またはスーパークラスがないときは動作を終了す
る。
【0022】操作を比較する必要があるスーパークラス
があるときは、ステップ9072に進む。ステップ90
72では、クラス間の関係を示した図8のテーブル(ク
ラス名801とスーパークラス802の関係テーブル)
を使い、ステップ9061で取得したクラスの直接のス
ーパークラスから、ステップ9072でまだ選択してい
ないスーパークラスを1つ選択する。そして、選択した
スーパークラスを引数としてステップ9073に進む。
ステップ9073が終了したならば、ステップ9074
に進み、ステップ9072で選択していないスーパーク
ラスの個数を設定し(ステップ9074)、ステップ9
071に戻る。ステップ9061で取得したクラスの直
接のスーパークラスすべて対して、このような処理を行
う。
【0023】図9のステップ906が終了し、ステップ
905で選択したスーパークラスが使える操作のなか
で、ステップ901で取得したクラスが使える操作をモ
デル図抽出情報1087の記憶エリアに格納したなら
ば、ステップ907に進む。ステップ905で一度選択
したスーパークラスは選択する必要がないため、ステッ
プ907では、ステップ905で選択していないスーパ
ークラスの個数を設定する。ステップ907が終了した
ならば、ステップ904に戻る。ステップ901で取得
したクラスの直接のスーパークラスを全て選択したなら
ば終了する。
【0024】図11は、モデル抽出情報1087に格納
するクラスと操作の関係を示すテーブルである。クラス
名1101には、ステップ901で取得したクラスの名
前を登録する。操作1102にはステップ906でクラ
スと関係付けした操作を記述する。図11の場合、多角
形クラス204が、面積計算()208と表示()20
9と分割()210を使用することができることを示し
ている。また、三角形クラス205が、面積計算(底
辺、高さ)211と面積計算(角度、辺)214と表示
()209を使用することができることを示している。
【0025】図4のステップ403が終了し、図11の
テーブルを作成したならばステップ404に進む。ステ
ップ404では、設計モデル104からクラス名と状態
遷移の関係を取得する。ステップ404の詳細を図12
に示す。図12はクラスと状態遷移の関係抽出処理部1
084の動作を示すフローチャートである。まず、設計
モデル104から状態遷移を抽出する対象となるクラス
を取得する(ステップ1201)。ステップ1201で
取得したクラスが状態図を持っているか調べる(ステッ
プ1202)。そのクラスが状態図を持っている場合は
その状態図から状態を取得する(ステップ1204)。
状態図を持っていなければ状態遷移元が開始状態で状態
遷移先が終了状態である状態図を持っているものとする
(ステップ1203)。次に、取得した状態を起点とし
て遷移先である状態を取得する(ステップ1205)。
ステップ1205で取得した状態遷移に名前がついてい
れば状態遷移名を取得する(ステップ1206,120
7)。状態遷移に名前がついていなければ、遷移元状態
と遷移先状態それぞれの名前で状態遷移を識別する。取
得した状態遷移をクラスと関係付けしてモデル抽出情報
1087に格納する(ステップ1208)。ステップ1
204で取得したクラスから遷移している状態をすべて
取得していれば(ステップ1209)、ステップ121
0へ進む。そうでなければステップ1205へ戻る(ス
テップ1209)。ステップ1202で取得した状態図
の状態を全て起点にし終えたらステップ1211へ進
む。そうでなければステップ1204へ戻る(ステップ
1210)。クラスすべてに対して調べ終えたならば、
図4のステップ405へ進む。そうでなければステップ
1201へ戻る(ステップ1211)。
【0026】図13はモデル抽出情報1087に格納す
るクラスと状態遷移の関係テーブルである。図13にお
いて、クラス名1301にはステップ1201で取得し
たクラスの名前を登録する。遷移元状態名→遷移先状態
名(状態遷移名)1302にはステップ1204、ステ
ップ1205で取得した状態名、および1208で取得
した状態遷移名を登録する。図13では、長方形クラス
206が持っている状態図の状態遷移は状態遷移名が
「縦辺、横辺を取得する」である「開始状態から面積計
算状態への状態遷移」と、状態遷移名が「画面表示命令
を取得する」である「面積計算状態から面積表示状態へ
の状態遷移」と、状態遷移名が「面積計算を取得しな
い」である「面積計算状態から終了状態」への状態遷移
と、状態遷移名が「面積表示が終了する」である「面積
表示状態から終了状態への状態遷移」であることを示し
ている。
【0027】図4のステップ404が終了し、図1のテ
ーブルを作成したならばステップ405に進む。ステッ
プ405では、モデル図抽出情報1087に格納してい
る関係を使用してテスト項目を作成する。ステップ40
5の詳細を図14に示す。図14はテスト項目作成処理
部1085の動作を示すフローチャートである。まず、
クラスを図6のテーブルから取得する(ステップ140
1)。次に、図12のテーブルからそのクラスが持って
いる状態遷移を取得する(ステップ1402)。さら
に、図11のテーブルからステップ1401で取得した
クラスが使える操作を取得する(ステップ1403)。
さらに、ステップ1402で取得した状態遷移とステッ
プ1403で取得した操作の引数が全て正常である場合
の組合せでテスト項目を作成し(ステップ1404)、
テスト項目DB105に格納する(ステップ140
5)。次に、操作のある1つの引数がエラーとなる場合
のテスト項目を作成する(ステップ1406)。ステッ
プ1404から1406の処理を変数nが引数の個数に
達するまで繰り返す(ステップ1407)。この後、ス
テップ1401で取得したクラスが他に操作を持ってい
る場合はステップ1403へ戻る(ステップ140
8)。ステップ1402で取得した状態遷移と全ての操
作の組合せでテスト項目を作成し終えたならば、状態遷
移を変更する(ステップ1409)。またステップ14
01で取得したクラスで使用できる操作と状態遷移の全
ての組合せでテスト項目を作成し終えたならば、テスト
項目を作成する対象になるクラスを変更する(ステップ
1410)。全てのクラスに対してテスト項目を作成し
たならば、図4のステップ406へ進む。
【0028】図15は、テスト項目DB105に格納す
るテスト項目のテーブルである。クラス名1501には
ステップ1401で取得したクラスの名前を登録する。
状態遷移1502にはステップ1402で取得した状態
名や状態遷移名を登録する。操作名1503にはステッ
プ1403で取得した操作を登録する。テスト結果をエ
ラーとするための「偽である引数」1504には、第n
番の引数が偽になることを表す数字nを登録する。すべ
ての引数が真のときは、偽である引数がないことを登録
する。推定テスト結果1505には引数すべてが正常の
ときは真、それ以外の場合は偽と推定し、テスト結果を
登録する。
【0029】図16は、テスト項目DB105に格納す
る情報の構成図である。本発明では設計モデル104に
基づいて各クラスのテスト項目を論理的な単位で関係付
けして保存する。図6のテーブルを使ってパッケージと
パッケージが持っているクラスとを関係付ける。また、
図10のテーブルを使ってクラスとクラスが持っている
操作を関係付ける。図2の例のパッケージの場合、パッ
ケージ201が多角形クラス204、三角形クラス20
5、長方形クラス206、正方形クラス207、楕円ク
ラス、円クラスを持っていることを示している(160
1)。そのうち多角形クラス204が操作、面積計
算()、表示()、分割()を持っていることを示して
いる(1602)。
【0030】図4のステップ405が終了し、図16の
テスト項目を作成したならば、ステップ406へ進む。
図4のステップ406では、テスト項目DB105から
テスト項目情報を取得し、端末101やプリンタ107
に表示、出力する。ステップ406の詳細を図17に示
す。図17はテスト項目表示処理部1086の動作を示
すフローチャートである。まず、テスト項目として表示
する操作を端末101から取得する(ステップ170
1)。取得した操作のテスト項目と推定結果をテスト項
目DB105から取得する(ステップ1702)。ステ
ップ1701で取得したクラスや操作に関するテスト項
目や推定結果を全て取得したならば(ステップ170
3)、端末101やプリンタ107に出力し(ステップ
1704)、終了する。
【0031】ところで、設計モデル104から抽出した
情報は、モデル図抽出情報1087に格納している。モ
デル図抽出情報1087に格納している情報は、図16
に指定している関係とクラスのテスト項目を示す図15
の情報とを格納しており、この状態ではテスト項目を出
力する形式を決定していない。本発明では、テスト項目
の出力形態を状況に応じて変更することができる。ここ
では、図18に示すツリー構造で図19のようにテスト
項目を出力する場合と、図20に示すツリー構造で図2
1のようにテスト項目を出力する場合の2通りの例を示
す。
【0032】図18は、テスト項目を出力する構造を示
したものである。ここでは市販の表計算ソフトを使用し
てテスト項目を出力する例を示している。テスト項目を
出力する構造は、テスト項目が確認しやすいように変更
することができる。図18では、パッケージ名である
「面積計算パッケージ」というフォルダ1801を作成
している。そして、「楕円」というクラス名をブック名
とするブック「楕円.xls」1802を作成してい
る。そのブック1802にテスト項目は操作名をシート
名にしたシート単位で出力する。出力した構造は、図1
6の形式で保持される。これにより、設計モデル104
抽出した関係を壊すことなく、テスト項目一覧を作成す
ることができる。
【0033】図19は、市販の表計算ソフトのシートに
操作単位でテスト項目一覧を出力した例を示す図であ
る。テスト項目DB105から取得した情報は操作単位
(1901)で出力する。出力したテスト項目には唯一
の番号を割り当てる(1902)。条件を出力する欄で
ある条件1903には、テスト項目DB105から取得
した情報を利用する。引数1904には操作の引数が正
常である場合とエラーになる場合があるので、操作の引
数すべてに対して正常とエラーの2種類を表示する。状
態遷移1905には状態遷移1502を利用して状態遷
移を出力する。テスト項目の条件とする部分には「○」
1906を出力する。結果1907にはテストを行った
場合の期待される結果を、推定テスト結果1505を用
いて推測できるときは「×」1908を出力し、推測で
きないときは何も出力しない。操作が行なわれたときに
状態遷移が起こらないの場合のために、状態遷移に関す
るエラー1909も出力する。
【0034】図20は、テスト項目を出力する場合の図
18とは異なる一例を示したものである。図20では、
「面積計算パッケージ」というパッケージ名のフォルダ
2001を作成し、そのフォルダ2001に「長方形」
というクラス名のフォルダ2002を作成する。テスト
項目一覧はそのクラス名のフォルダ2002に操作単位
のファイル2003として作成している。出力した構造
は、図16の形式で保持され、設計モデル104から抽
出した関係を壊すことなく、テスト項目一覧を作成する
ことができる。
【0035】図21は、テキストファイルにテスト項目
を出力した場合の例を示す図である。テスト項目DB1
05から取得した情報は操作単位2101で出力する。
出力したテスト項目には唯一の番号2102を割り当て
る。条件を出力する欄2103にはテスト項目DB10
5から取得した情報を利用する。引数2104には操作
の引数が正常である場合とエラーになる場合があるの
で、操作の引数すべてに対して正常とエラーの2種類を
表示する。状態遷移2105には状態遷移1502を利
用して状態遷移を出力する。テスト項目の条件とする部
分には「○」2106を出力する。結果2107には、
期待するテスト結果を出力するために推定テスト結果1
505を使用する。期待するテスト結果がわかれば
「×」2108を出力し、それ以外のときは何も出力し
ない。操作が行なわれたときに状態遷移が起こらないの
場合のために状態遷移に関するエラー2109も出力す
る。
【0036】
【発明の効果】以上説明したように、本発明によれば、
オブジェクト指向を適応したソフトウェア開発におい
て、クラス図から得られるクラス間関係や操作、状態図
から得られる状態や状態遷移を取得し、テスト項目を自
動生成し、かつ必要に応じて推測のテスト結果を出力す
ることで、オブジェクト指向プログラムのテストに必要
な項目を作成する作業を自動化することができ、作業工
数を削減することができる。また、テスト項目を論理的
な単位に分けて保存することでテスト項目の管理を容易
にすることができる。また、設計仕様の変更がいつ生じ
ても作業負荷をかけることなくテスト項目の再生成を行
うことができる。
【図面の簡単な説明】
【図1】本発明を適用したテスト項目作成支援装置の実
施形態を示すブロック構成図である。
【図2】オブジェクト指向を適用して作成した設計モデ
ルの一例を示す図である。
【図3】図2における設計モデルの状態図の例を示す図
である。
【図4】テスト項目作成支援装置の概略動作を示すフロ
ーチャートである。
【図5】設計モデルからパッケージとクラスの関係を取
得する動作を示すフローチャートである。
【図6】図5の処理により作成されたパッケージとクラ
スの関係を格納するテーブルの構成図である。
【図7】クラスとクラスの関係を取得する動作を示すフ
ローチャートである。
【図8】図7の処理により作成されたクラスとクラスの
関係を格納するテーブルの構成図である。
【図9】クラスと操作の関係を取得する動作を示すフロ
ーチャートである。
【図10】図9のステップ906の詳細を示すフローチ
ャートである。
【図11】図9の処理により作成されたクラスと操作の
関係を格納するテーブルの構成図である。
【図12】クラスと状態遷移の関係を取得する動作を示
すフローチャートである。
【図13】図12の処理により作成されたクラスと状態
遷移の関係を格納するテーブルの構成図である。
【図14】テスト項目を作成する動作を示したフローチ
ャートである。
【図15】図14の処理により作成したテスト項目を格
納するテーブルの構成図である。
【図16】図14の処理により作成したテスト項目を論
理的単位で格納する形式を示した図である。
【図17】テスト項目の情報を出力するための動作を示
したフローチャートである。
【図18】図17の処理により作成した出力結果の一例
を示す図である。
【図19】市販の表計算ソフトのシート上にテスト項目
の一覧を出力した例を示す図である。
【図20】図17の処理により作成した出力結果の他の
例を示す図である。
【図21】市販の表計算ソフトのシート上にテスト項目
の一覧を出力した例を示す図である。
【符号の説明】
101…端末、102…クラス図・状態図作成手段、1
03…中央処理装置、104…設計モデル、105…テ
スト項目データベース、106…外部記憶装置、107
…プリンタ、108…テスト項目抽出部、201…面積
計算パッケージ、204〜207…クラス、301…状
態図、1081…パッケージとクラスの関係抽出処理
部、1082…クラス間関係抽出処理部、1083…ク
ラスと操作の関係抽出処理部、1084…クラスと状態
遷移の関係抽出処理部、1085…テスト項目作成処理
部、1086…テスト項目表示処理部、1087…モデ
ル図抽出情報。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 新徳 賢一 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウエアエンジニアリング株式会 社内 (72)発明者 西口 真人 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウエアエンジニアリング株式会 社内 Fターム(参考) 5B042 GA08 HH17 NN04 NN05 NN07 NN23 5B076 DB01 DB04 DB09 DD10 DE03 EC05

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 オブジェクト指向プログラムのテスト項
    目を抽出する作業を支援するテスト項目抽出支援装置で
    あって、 テスト項目抽出対象のオブジェクト指向プログラムの設
    計モデルから、パッケージ情報、クラス図情報、汎化関
    連、操作の情報を取得する第1の手段と、状態図から状
    態遷移情報を取得する第2の手段と、これら第1および
    第2の手段で取得した情報に基づき操作単位でテスト項
    目を作成し、外部記憶装置または出力装置に出力する第
    3の手段を備えることを特徴とするテスト項目抽出装
    置。
  2. 【請求項2】 前記第3の手段は、前記クラス図から抽
    出した操作の情報に対して、クラスの操作の引数が正常
    である場合と、エラーとなる場合と、状態遷移図から抽
    出した状態遷移とを組み合わせてテスト項目を抽出し、
    テスト条件としてそれらを組み合わせた項目を作成し、
    引数の組合せによりテスト結果を推測して出力すること
    を特徴とする請求項1に記載のテスト項目抽出装置。
  3. 【請求項3】 設計モデルから抽出したクラス図情報、
    汎化情報および操作情報と、状態図から抽出した状態遷
    移情報とに基づき、テスト項目を操作単位で表示し、論
    理的な単位で保存する手段を備えることを特徴とする請
    求項1または2に記載のテスト項目抽出装置。
  4. 【請求項4】 スーパークラスから継承した操作のテス
    ト項目を作成する手段を備えることを特徴とする請求項
    1に記載のテスト項目抽出装置。
  5. 【請求項5】 スーパークラスから継承した操作がオー
    バーライドされている場合のテスト項目を作成する手段
    を備えることを特徴とする請求項1に記載のテスト項目
    抽出装置。
JP2000092405A 2000-03-29 2000-03-29 テスト項目抽出装置 Pending JP2001282536A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000092405A JP2001282536A (ja) 2000-03-29 2000-03-29 テスト項目抽出装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000092405A JP2001282536A (ja) 2000-03-29 2000-03-29 テスト項目抽出装置

Publications (1)

Publication Number Publication Date
JP2001282536A true JP2001282536A (ja) 2001-10-12

Family

ID=18607745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000092405A Pending JP2001282536A (ja) 2000-03-29 2000-03-29 テスト項目抽出装置

Country Status (1)

Country Link
JP (1) JP2001282536A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345597A (ja) * 2002-05-22 2003-12-05 Nec Fielding Ltd 修正情報適用システム,方法およびプログラム
JP2010267024A (ja) * 2009-05-13 2010-11-25 Nippon Telegr & Teleph Corp <Ntt> テストデータ生成方法及び装置及びプログラム
JP2010267022A (ja) * 2009-05-13 2010-11-25 Nippon Telegr & Teleph Corp <Ntt> テストデータ生成方法及び装置及びプログラム
JP2010267023A (ja) * 2009-05-13 2010-11-25 Nippon Telegr & Teleph Corp <Ntt> テストデータ生成方法及び装置及びプログラム
JP2011159202A (ja) * 2010-02-03 2011-08-18 Nippon Telegr & Teleph Corp <Ntt> テスト項目生成方法及び装置及びプログラム
WO2014155941A1 (ja) * 2013-03-29 2014-10-02 独立行政法人産業技術総合研究所 テストデータ表示装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003345597A (ja) * 2002-05-22 2003-12-05 Nec Fielding Ltd 修正情報適用システム,方法およびプログラム
JP2010267024A (ja) * 2009-05-13 2010-11-25 Nippon Telegr & Teleph Corp <Ntt> テストデータ生成方法及び装置及びプログラム
JP2010267022A (ja) * 2009-05-13 2010-11-25 Nippon Telegr & Teleph Corp <Ntt> テストデータ生成方法及び装置及びプログラム
JP2010267023A (ja) * 2009-05-13 2010-11-25 Nippon Telegr & Teleph Corp <Ntt> テストデータ生成方法及び装置及びプログラム
JP2011159202A (ja) * 2010-02-03 2011-08-18 Nippon Telegr & Teleph Corp <Ntt> テスト項目生成方法及び装置及びプログラム
WO2014155941A1 (ja) * 2013-03-29 2014-10-02 独立行政法人産業技術総合研究所 テストデータ表示装置
JP2014197276A (ja) * 2013-03-29 2014-10-16 独立行政法人産業技術総合研究所 テストデータ表示装置

Similar Documents

Publication Publication Date Title
US7661076B2 (en) Two dimensional trees to edit graph-like diagrams
US6392651B1 (en) Interactive timeline visualization
US7093199B2 (en) Design environment to facilitate accessible software
US8311797B2 (en) Viewing system that supports multiple electronic document types
JP3441309B2 (ja) 図的プログラミングにおける機能オブジェクトの表示方法
US8775923B1 (en) Web page restoration
US20080222599A1 (en) Web services mashup designer
EP2174295A2 (en) Data system and method
US20080222572A1 (en) Look and feel of a web services mashup designer
JP2007042108A (ja) 電子テーブルの列を隠すためのコンピュータ実行方法、システム及びプログラム
JP2002229783A (ja) ソフトウェア構築支援システム、その方法およびソフトウェア構築支援プログラム
CN106991096A (zh) 动态页面渲染方法及装置
CN104820589A (zh) 一种动态适配网页的方法及其装置
CN112748923A (zh) 一种可视化看板的创建方法、装置、电子设备和存储介质
CN112068911A (zh) 电子表单的生成方法、装置、系统、设备以及介质
JP3345473B2 (ja) アニメーション生成方法
CN112100123A (zh) 一种Web前端分层展示大数据量CAD文件的方法
JP2001282536A (ja) テスト項目抽出装置
CA2686367A1 (en) Dynamic native editor code view facade
CN111258578A (zh) 实现设备模板图元的方法
US9176746B2 (en) Data templates in user interface elements
CN113722031A (zh) 一种电子签名的动态展示方法、设备、介质及产品
CN115687704A (zh) 信息显示方法、装置、电子设备及计算机可读存储介质
US20020029106A1 (en) Vehicular information system developing apparatus, vehicular information system developing tool, vehicular information system developing method, and navigation system developing method
JP4960188B2 (ja) 画面遷移図の表示方法およびシステム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050519

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050719

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050901