JP2000132425A - ソフトウェアテスト方法 - Google Patents

ソフトウェアテスト方法

Info

Publication number
JP2000132425A
JP2000132425A JP10304044A JP30404498A JP2000132425A JP 2000132425 A JP2000132425 A JP 2000132425A JP 10304044 A JP10304044 A JP 10304044A JP 30404498 A JP30404498 A JP 30404498A JP 2000132425 A JP2000132425 A JP 2000132425A
Authority
JP
Japan
Prior art keywords
stub
software
test
real
temporary
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
JP10304044A
Other languages
English (en)
Inventor
Jun Shimabukuro
潤 島袋
Tomoko Tosaka
智子 登坂
Satoshi Muramoto
聡 村本
Tamotsu Sasaki
保 佐々木
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 Ltd
Original Assignee
Hitachi 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 Ltd filed Critical Hitachi Ltd
Priority to JP10304044A priority Critical patent/JP2000132425A/ja
Publication of JP2000132425A publication Critical patent/JP2000132425A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 テスト条件の変更やテストケースの追加が容
易なソフトウェアの部分的テストの方法を提供する。 【解決手段】 下位モジュールをシミュレートするスタ
ブを、テスト対象モジュール101からの呼出しを受け
付ける仮スタブ103と、それぞれが所定の単一動作を
行う複数の実行モジュールの集合としての実スタブ10
5として実現し、仮スタブaと実スタブa1、a2との
対応関係は、指定条件ファイル107において、仮スタ
ブ呼び出し時の引数値及び内部条件を使って定義する。
そして、テスト実施時に仮スタブ103から呼び出され
る実スタブ決定処理104が、仮スタブ呼び出し時の引
数値及び内部条件と指定条件ファイル107とに基づい
て、実行する実スタブa1又はa2を決定し、実行す
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、計算機ソフトウェ
アのテスト方法に関し、特に、ソフトウェアの一部分を
テストする方法に関する。
【0002】
【従来の技術】ソフトウェアの部分的テストに関する従
来技術としては、例えば「ソフトウェアのテスト技法」
(玉井、他著、共立出版、1988年1月発行)第14
8頁〜第155頁にあるように、ドライバとスタブとを
組み合わせる方式が知られている。
【0003】ドライバは、テスト対象モジュールの上位
モジュールをシミュレートするもので、テスト対象モジ
ュールの実行に必要な変数などに値を設定し、テスト対
象モジュールを呼び出す。スタブは、テスト対象モジュ
ールの下位モジュールをシミュレートするもので、テス
ト対象モジュールからの呼出しに対して、テスト対象モ
ジュールが実行を継続できるように、出力引数などの値
を設定する。
【0004】テスト対象モジュールから呼び出される下
位モジュールは、一般に、呼び出された時点における入
力引数値や共通データ値などの条件に応じ、異なる処理
を行うものである。従って、これをシミュレートするス
タブも、テスト対象モジュールについてより詳細なテス
トを行うためには、同様に、呼び出された時点における
入力引数値や共通データ値などの条件に応じて、異なる
処理を行う必要がある。このような、状況に応じた異な
る処理を実現するためのスタブとしては、対話型スタブ
とバッチ型スタブとがある。
【0005】対話型スタブは、呼び出された時点で、テ
スト対象モジュールの実行に必要な変数に設定すべき値
を、ユーザに対話的に問い合わせ、直接入力させるもの
である。従って、対話型スタブでは、テスト実施中にユ
ーザの介入が必要になる。更に、テスト対象モジュール
がタイムアウト管理を行っている場合など、テスト対象
モジュールの動作がスタブの処理時間に依存する場合に
は利用することができない。
【0006】これに対して、バッチ型スタブでは、テス
ト対象モジュールの実行に必要な変数に設定すべき値、
またはその値の決定に必要な全ての情報を、予めテスト
スクリプトに記述しておき、スタブは、呼び出された時
点でテストスクリプトの記述に従った動作を行う。従っ
て、バッチ型スタブでは、一般に、テスト実施中にユー
ザの介入は不要であり、テスト対象モジュールの動作が
スタブの処理時間に依存する場合にもある程度対応する
ことができる。このようなバッチ型スタブの例は、前記
「ソフトウェアのテスト技法」の他、「AP試験シミュ
レーター構成方式についての一考察」(情報処理学会第
55回全国大会予稿集、講演番号5AE−8)や、「シ
ミュレーションに基づく組込みソフトウェア開発支援環
境」(日本ソフトウェア科学会第14回全国大会論文
集、講演番号E3−3)などにも記載されている。
【0007】
【発明が解決しようとする課題】このようなバッチ型ス
タブにおいては、テストスクリプトは、テストケースの
内容に依存して作成するので、ある特定のテストケース
のために作成したテストスクリプトを他のテストケース
のために用いることや、他のテスト実施者が作成したテ
ストスクリプトを別のテスト実施者が用いることは、一
般に困難であった。
【0008】また、テストを進めているうちに、テスト
ケースの不足が判明し、事前に予期していなかったスタ
ブの動作の追加が必要になった場合には、テストスクリ
プトの変更が必要となるが、その変更は一般に煩雑であ
った。
【0009】本発明の目的は、テスト条件の変更やテス
トケースの追加が容易なソフトウェアの部分的テストの
方法を提供することにある。
【0010】
【課題を解決するための手段】本発明に係る第一のソフ
トウェアテスト方法は、他のモジュールの呼出しを含む
テスト対象ソフトウェアのテストを実施するソフトウェ
アテスト方法である。そして、テスト対象ソフトウェア
の実行中に、他のモジュールに対する呼出しが生じた場
合、予め定義された条件に基づいて、予め用意された、
それぞれ所定の動作を行う複数の実行モジュールから適
切な実行モジュールを選択して実行することを特徴とす
る。
【0011】この場合において、前記他のモジュールに
対する呼出しが必要な場合、対応する仮スタブの呼び出
しを行い、当該仮スタブでは、実スタブ決定処理を呼び
出し、当該実スタブ決定処理では、予め定義された条件
に基づいて、予め用意された実スタブ群から適切な実ス
タブを選択して実行するようにしてもよい。
【0012】また、本発明に係る第二のソフトウェアテ
スト方法は、他のソフトウェアとデータ通信を行うテス
ト対象ソフトウェアのテストを実施するソフトウェアテ
スト方法である。そして、テスト対象ソフトウェアから
受信したデータを解析して要求内容を判定し、当該要求
内容に対して、予め定義された条件に基づいて、予め用
意された、それぞれ所定の動作を行う複数の実行モジュ
ールから適切な実行モジュールを選択して実行すること
を特徴とする。
【0013】この場合において、前記テスト対象ソフト
ウェアからの要求内容に対して、対応する仮スタブの呼
び出しを行い、当該仮スタブでは、実スタブ決定処理を
呼び出し、当該実スタブ決定処理では、予め定義された
条件に基づいて、予め用意された実スタブ群から適切な
実スタブを選択して実行するようにしてもよい。
【0014】更に、前記他のソフトウェアとテスト対象
ソフトウェアとは、ネットワーク等で接続された異なる
計算機で実行されていてもよい。この場合、テスト対象
となるのは、計算機で実行されるテスト対象ソフトウェ
アに限らず、同様の動作を行うハードウェアであっても
よい。
【0015】
【発明の実施の形態】以下、本発明の実施の形態を、図
面を参照しつつ、詳細に説明する。なお、当然ながら、
本発明は以下の実施形態に限定されるものではない。
【0016】図1は、本発明によるソフトウェアテスト
方法を実施するためのテスト用ソフトウェアの機能構成
を示す図である。テスト用ソフトウェアとは、テスト対
象となるソフトウェアをテストするのに使われるソフト
ウェアである。同図に示すように、テスト用ソフトウェ
ア100は、ドライバ102、仮スタブ103、実スタ
ブ決定処理104および実スタブ105から構成され
る。
【0017】テスト対象モジュール101は、テスト用
ソフトウェア100を使ったテストの対象となるソフト
ウェアモジュールである。なお、図1の例は、テスト対
象ソフトウェア101が、他の二つのソフトウェアモジ
ュール(仮スタブa及びbに対応)を呼び出す場合を表
している。
【0018】ドライバ102は、テスト実行開始時又は
その後のユーザからの指示に基づいて、テスト対象モジ
ュール101を呼び出す。ドライバ102は、従来と同
様のもので、例えば、テスト実施者が、テキストエディ
タを使って、所定のプログラム言語で作成する。テスト
対象モジュール101が入力データを必要とする場合
は、ドライバ102は、予め作成した入力データ10
6、または、テスト実施時にテスト実施者が入力するテ
ストデータを、テスト対象モジュール101に渡す。
【0019】仮スタブ103は、従来のスタブと同様
に、テスト対象モジュール101から呼び出されるソフ
トウェアモジュール(例えば、C言語における関数)毎
に作成される。仮スタブ103は、実際のソフトウェア
モジュールと同一のインタフェースを持ち、テスト実施
時にテスト対象モジュール101から呼び出される。な
お、以下の説明では、簡単のため、「ソフトウェアモジ
ュール」の代わりに、「関数」を使う。
【0020】実スタブ決定処理104は、仮スタブ10
3から呼び出される処理ルーチンで、条件指定ファイル
107の内容に基づいて、実行する実スタブ105を一
つ決定して、呼び出すものである。
【0021】実スタブ105は、テスト対象モジュール
101から呼び出される関数がとりうる複数の動作のう
ちの、所定の状況下における動作の模擬を行うもので、
複数の動作の内の各動作に対応して作成される。実際に
実行される実スタブ105は、テスト実施時に、実スタ
ブ決定処理104によって決定される。そのため、実ス
タブ105は、ダイナミック・リンク・ライブラリ(D
LL)等の実行時に動的にリンク可能なライブラリとし
て実現される。
【0022】図2は、本発明によるテストウェアテスト
方法を実施する計算機システムのハードウェア構成例を
示す図である。同図に示すように、計算機システム20
0は、処理装置201と、入力装置202と、表示装置
203と、メモリ204と、外部記憶装置205とを備
える。計算機システム200において、入力装置202
によってテストの開始が指示されると、外部記憶装置2
05から必要なプログラムがメモリ204にロードさ
れ、処理装置201によって実行される。
【0023】次に、仮スタブ103の動作について詳細
に説明する。図3は、仮スタブ103の動作を示すフロ
ーチャートである。例えば、テスト実施者やプログラム
作成担当者が、同図に示すような処理を行うように、所
定のプログラミング言語を使って、仮スタブ103を作
成する。
【0024】仮スタブ103の動作は、非同期型及び同
期型で異なる。テスト対象モジュール101が、呼び出
した関数における処理の結果に依存するデータ(以下、
出力データという)を必要としない場合には、非同期型
300を用いる。また、出力データを必要とする場合に
は同期型310を用いる。非同期型及び同期型のいずれ
を用いるかは、置き換えられる関数の性質に基づいて、
テスト実施者等が、適宜選択する。
【0025】図3に示すように、非同期型仮スタブ30
0では、対応する関数名およびテスト対象モジュール1
01から渡される入力引数値を引数として実スタブ決定
処理104を呼び出し(S301)、処理を終える。実
スタブ決定処理104の呼び出しは、例えば、所定の関
数の呼び出しで実現される。
【0026】一方、同期型仮スタブ310では、対応す
る関数名およびテスト対象モジュール101からの入力
引数値に加え、実スタブが処理終了を仮スタブに通知す
る際の終了通知領域および出力データ値の格納領域を引
数として、実スタブ決定処理104を呼び出す(S31
1)。そして、同期型仮スタブ310は、前記終了通知
領域を監視して実スタブの処理終了を待ち(S31
2)、実スタブの処理終了を検知すると、前記出力デー
タ値格納領域から出力データ値を読み込み、その出力デ
ータ値を、具体的な関数の呼び出し方法に応じて、戻り
値として、又は、所定のデータ格納領域を使って、テス
ト対象モジュール101へ渡して(S313)、処理を
終える。
【0027】次に、実スタブ決定処理104の動作につ
いて詳細に説明する。実スタブ決定処理104は、上述
したように、仮スタブ103から呼び出される処理ルー
チンで、条件指定ファイル107の内容に基づいて、実
スタブ105を一つ決定して呼び出すものである。
【0028】条件指定ファイル107は、テスト内容に
応じてテスト実施者等が作成するファイルである。図4
は、条件指定ファイル107の構成例を示す図である。
同図に示すように、条件指定ファイル107は、仮スタ
ブ毎にテーブルを備え、各テーブルは、引数値(図4の
場合は、引数1や引数2)及び内部変数値(図4の場合
は、呼出回や経過時間)で表現される「条件」、並び
に、その条件に該当する際に選択される実スタブを実行
するのに必要な「実スタブ情報」(図4の場合は、実ス
タブ名)とから構成される。図4に示した例では、内部
条件としては、スタブaでは、当該仮スタブが呼び出さ
れた回数を用い、スタブbでは、テスト対象モジュール
起動からの経過時間を用いている。なお、内部変数は、
テスト用ソフトウェア100内に設けられた適当な領域
に保持され、実スタブ決定処理104によって更新され
る。
【0029】例えば、図4に示した条件指定ファイル1
07のスタブa用のテーブルでは、条件は、「引数
1」、「引数2」及び「呼出回」で表されている。な
お、「引数1」、「引数2」及び「呼出回」欄の記号
「*」は、任意の値であることを表す。例えば、呼出回
が「1」であれば、引数1及び引数2の値に拘わらず、
「処理タイムアウト用」の実スタブが選択される。ま
た、テーブルの上段にある条件の方が下段にある条件に
対して優先する。例えば、「処理タイムアウト用」の条
件の方が、「機器異常発生用」の条件に優先して判断さ
れる。
【0030】図5は、実スタブ決定処理104の処理の
流れを示すフローチャートである。例えば、テスト実施
者等が、同図に示すような処理を行うように、実スタブ
決定処理104を作成する。
【0031】図5に示すように、実スタブ決定処理10
4は、まず、呼び出し時に引数として与えられる関数名
を使って、条件指定ファイル107から当該関数(スタ
ブ)用のテーブルを検索し、当該関数についての条件及
び実スタブ情報を取得する(S500)。そして、取得
した条件、並びに、与えられた引数値及びその時点での
内部変数値に基づいて、実スタブを一つ決定する(S5
01)。次に、必要に応じて内部変数値を更新し(S5
02)、求めた実スタブを実行して(S503)、処理
を終える。実スタブの実行は、例えば、新規スレッドま
たは新規プロセスとして実行される。なお、実スタブを
呼び出す際の引数は、当該スタブが非同期型である場合
には与えられた引数値のみであるが、同期型の場合には
終了通知領域と出力データ格納領域が加わる。
【0032】次に、実スタブ105の動作について詳細
に説明する。図6は、実スタブ105の動作を示すフロ
ーチャートである。例えば、テスト実施者等が、同図に
示すような処理を実現するように、実スタブのコーディ
ングを行う。
【0033】実スタブ105も、仮スタブ103と同様
に、非同期型と同期型によってその動作が異なる。非同
期型実スタブ600では、単に、スタブが模擬する関数
の所定条件下での動作内容を実現する処理を行う(S6
01)。一方、同期型実スタブ610では、非同期型と
同様に、模擬する関数の所定条件下での動作内容を実現
する処理を行い(S611)、その後に、処理結果に基
づいて出力データを出力データ格納領域に設定し(S6
12)、終了通知領域を使って仮スタブへ処理終了を通
知する(S613)。
【0034】以上説明したテスト用ソフトウェアを使っ
たテスト対象モジュール101の実際のテストは、例え
ば、次のようにして行われる。まず、ドライバ102、
テスト対象モジュール101、仮スタブ103、実スタ
ブ決定処理104を、コンパイル/リンクし、実行形式
のテスト・モジュールを作成する。また、実スタブ10
5は、DLL等の実行時に動的にリンク可能なライブラ
リとしてコンパイルしておく。また、目的のテストケー
スに応じて、条件指定ファイル107を作成しておく。
【0035】以上のような準備を行った後、前記実行形
式のテスト・モジュールを実行すると、まず、ドライバ
102によってテスト対象モジュール101が呼び出さ
れ、テスト対象モジュール101の実行が開始される。
テスト対象モジュール101の実行に伴い、仮スタブ1
03の呼び出しが発生すると、これに対応して、実スタ
ブ決定処理104が呼び出され、実スタブ決定処理10
4によって、そのときの引数値等に応じて、適切な実ス
タブ105が動的にリンク・実行されて、所望のテスト
ケースに応じたテストが行われる。
【0036】以上説明したように、第1のテスト用ソフ
トウェア100によれば、他の関数の呼出を含むソフト
ウェアに対して、必要に応じて実スタブを適宜作成し、
テスト内容に応じた条件指定ファイルを作成するのみ
で、いろいろなテストケースに柔軟に対応することがで
き、いろいろなテスト状況に応じたソフトウェアのテス
トを実施することが容易になる。また、既に作成された
実スタブの再利用や、実スタブの追加も容易に行える。
【0037】次に、複数の計算機で構成される計算機シ
ステムに対して本発明を適用する場合について説明す
る。
【0038】図7は、複数の計算機で構成される計算機
システムの一つの構成要素を、本発明による方式でテス
トするためのハードウェア構成例を示す図である。同図
に示すように、計算機システム700は、処理装置20
1と、入力装置202と、表示装置203と、メモリ2
04と、外部記憶装置205と、通信装置701とを備
える。処理装置201、入力装置202、表示装置20
3、メモリ204及び外部記憶装置205は、図2のも
のと同一である。通信装置701は、通信回線702を
介して、テスト対象である装置703と接続されてい
る。
【0039】図8は、本発明による第2のテスト用ソフ
トウェア800の機能構成を示す図である。このテスト
用ソフトウェア800は、上述した計算機システム70
0において実行される。同図に示すように、テスト用ソ
フトウェア800は、ドライバ801、送信処理部80
2、受信処理部803、コマンド解析処理部804、仮
スタブ103、実スタブ決定処理104、実スタブ10
5から構成される。なお、構成要素のうち、図1と同一
の符号を付したものは図1のものと同一である。
【0040】送信処理部802および受信処理部803
は、それぞれ、実際の計算機システムで用いられる通信
方式によって、テスト対象装置703(例えば、テスト
対象装置703上で動作しているソフトウェア)へのデ
ータの送信およびテスト対象装置703からのデータの
受信を行う。送信処理部802および受信処理部803
は、テスト実施者等が適宜作成する。
【0041】ドライバ801は、図1に示したドライバ
102に対応するものであり、テスト実施開始時、又は
その後、テスト実施者等からの指示に基づいて、指示デ
ータをテスト対象装置703に送信する。指示データの
内容に複数の可能性がある場合には、外部記憶装置20
5に予め作成した入力データ106、または、テスト実
施時にテスト実施者が入力するデータを指示データとし
て用いる。
【0042】コマンド解析処理部804は、受信処理部
803がテスト対象装置703からデータを受信した場
合に起動される。起動されたコマンド解析処理部804
は、受信データを解析してテスト対象装置703からの
要求内容(コマンド)を識別し、要求内容に対応する仮
スタブ103を呼び出す。コマンド解析処理部804
は、テスト実施者等が適宜作成する。
【0043】コマンド解析処理部804から呼び出され
た仮スタブ103は、第1のテスト用ソフトウェア10
0の場合と同様に、実スタブ決定処理104の呼び出し
を行い、実スタブ決定処理104では、条件指定ファイ
ル107の内容に基づいて、適当な実スタブ105を選
択し、実行する。実スタブ105での処理、及び、仮ス
タブ103での処理が終了すると、コマンド解析処理部
804は、テスト対象装置703からの要求内容等に応
じて、必要ならば送信処理部802を用いて出力データ
値等をテスト対象装置703に送信する。
【0044】以上説明したように、第2のテスト用ソフ
トウェア800を使えば、通信回線702を介して他の
計算機システム700とデータ通信を行うテスト対象装
置703のテストを行うことができる。
【0045】なお、図7および図8では、複数の計算機
で構成される計算機システムに対して本発明を適用する
場合を示したが、単一計算機上で複数のソフトウェアが
通信(例えば、プロセス間通信)を行う場合について拡
張することは容易である。すなわち、受信処理部803
および送信処理部802を、対象ソフトウェアシステム
が用いる通信形態に適合するように実現すればよい。
【0046】以上の説明では、仮スタブ103、実スタ
ブ決定処理104、実スタブ105及び条件指定ファイ
ル107の作成は、例えば、テスト実施者等がテキスト
エディタ等を利用して手作業で作成するとしていたが、
これらのテスト用ソフトウェア100や800の作成を
計算機によって支援することも可能である。
【0047】次に、利用者との対話を用いて、仮スタブ
103、実スタブ決定処理104、実スタブ105及び
条件指定ファイル107の作成を支援する方法について
説明する。なお、以下では、第1のテスト用ソフトウェ
ア100の作成を支援する場合について説明するが、第
2のテスト用ソフトウェア800についても同様に作成
を支援することができる。
【0048】図9は、第1のテスト用ソフトウェア10
0の作成を支援する支援ソフトウェア900の機能構成
を示す図である。同図に示すように、支援ソフトウェア
900は、全体制御部901と、仮スタブ&実スタブ決
定処理生成処理部902、実スタブ作成支援処理部90
4と、条件指定ファイル作成処理部905と、スタブ管
理テーブル903とを備える。
【0049】支援ソフトウェア900が起動されると、
まず、全体制御部901は、支援内容が、新規テスト対
象モジュールに対する作成支援か、既に仮スタブの作成
が終了している関数についての実スタブの追加作成支援
か、実スタブの作成を完了したテスト対象モジュールに
ついての条件指定ファイル作成支援のいずれであるかを
ユーザに問い合せ、それぞれの場合に応じて、仮スタブ
&実スタブ決定処理生成処理部902、実スタブ作成支
援処理部904、条件指定ファイル作成処理部905を
起動する。
【0050】スタブ管理テーブル903は、仮スタブ&
実スタブ決定処理生成処理部902および実スタブ作成
支援処理部904での処理結果を蓄積する。スタブ管理
テーブル903に蓄積されたこれらの情報は、実スタブ
作成支援処理904および条件指定ファイル作成処理部
905において利用される。
【0051】図10は、スタブ管理テーブル903の構
成例を示す図である。同図に示すように、スタブ管理テ
ーブル903は、テスト対象モジュールの各々につい
て、スタブを作成する必要がある関数の一覧テーブル1
000を備え、更に、スタブを作成する必要がある関数
の各々について、既に作成された実スタブの一覧テーブ
ル1001を備える。関数一覧テーブル1000は、関
数名、引数情報、同期方式、終了通知領域及び出力デー
タ格納領域、対応する実スタブ一覧テーブル1001へ
のポインタ等を格納する領域を有する。実スタブ一覧テ
ーブル1001は、各関数に対応する実スタブ名を格納
する領域を有する。
【0052】図11は、仮スタブ&実スタブ決定処理生
成処理部902の処理の流れを示すフローチャートであ
る。同図に示すように、仮スタブ&実スタブ決定処理生
成処理部902は起動されると、ユーザが指定したテス
ト対象モジュールを解析し、当該テスト対象モジュール
で呼び出されている関数のうち、仮スタブ及び実スタブ
を作成すべき関数(以下、スタブ化関数という)を抽出
する(S1100)。例えば、その実体が定義されてい
ない関数を、スタブ化関数として抽出する。この場合、
スタブ化関数に関する情報(関数名、引数情報等)も同
時に収集し、保持しておく。
【0053】次に、抽出した関数の全てについて、仮ス
タブの作成を終了したか否かを判定する(S110
1)。その結果、未処理であるスタブ化関数が存在する
場合には(S1101:Yes)、その一つを選択し、
その関数が同期型であるか非同期型であるかをユーザに
問い合わせる(S1102)。当該問い合わせに対し
て、ユーザが同期型を指定した場合には、終了通知領域
及び出力データ格納領域を適宜用意し、図3に示したよ
うな動作を行う同期型仮スタブ310を生成し(S11
04)、当該関数に対する仮スタブとする。非同期型を
指定した場合にも同様に、図3に示したような動作を行
う非同期型仮スタブ300を生成する(S1105)。
【0054】以上のようにして、仮スタブ300又は3
10の生成が終了すると、仮スタブの生成を行った関数
の関数名、引数情報、同期方式、終了通知領域、出力デ
ータ格納領域をスタブ管理テーブル903内の関数一覧
テーブル1000に登録する(S1106)。
【0055】そして、上述した処理S1101〜S11
06を繰り返し、抽出した関数の全てについて処理を終
了すると(S1101:No)、続いて、実スタブ決定
処理104を生成する処理を行う(S1107)。
【0056】支援ソフトウェア900では、ユーザが選
択できる内部変数の種類、及び、条件指定ファイル10
7のデータ形式を予め定めているので、テスト対象モジ
ュールの解析時に取得した情報を適宜使うことで、図5
に示したような動作を行う実スタブ決定処理104のコ
ードを自動的に生成することが可能である。
【0057】図12は、実スタブ作成支援処理部904
の処理の流れを示すフローチャートである。同図に示す
ように、実スタブ作成支援処理部904が起動される
と、まず、テスト対象モジュールの名称および実スタブ
の作成を行う関数(以下、スタブ化対象関数という)の
名称、並びに、これから作成する実スタブの名称をユー
ザに問い合わせる(S1200)。当該問い合わせに対
してユーザが入力したテスト対象モジュールおよびスタ
ブ化対象関数の名称を用いて、スタブ管理テーブル90
3の検索を行い、スタブ化対象関数についての情報を取
得する(S1201)。
【0058】そして、取得した情報に基づいて、同期型
/非同期型のいずれであるかを判定し(S1202)、
その結果、同期型である場合は(S1202:Ye
s)、実スタブの一部として、出力データ値の設定を行
う処理(図6のステップ612)のコードと、仮スタブ
への処理終了を通知する処理(図6のステップ613)
のコードを生成する(S1203)。各処理コードの生
成処理(S1203)が終了するか、あるいは、スタブ
化対象関数が非同期型であった場合は(S1202:N
o)、次に、ユーザに、作成対象となっている実スタブ
が行う動作模擬内容を問い合わせる(S1204)。例
えば、テキストエディタを起動し、ユーザに動作模擬内
容のコーディングを促す。なお、この際、ユーザに、ス
タブ管理テーブル903から取得した引数情報や出力デ
ータ格納領域についての情報を適宜提示し、動作模擬内
容のコーディングを支援する。
【0059】そして、ユーザが動作模擬内容のコーディ
ング等を終了することによって、動作模擬内容の入力を
完了すると、これを実スタブの一部(図6のステップ6
01又はステップ611)として、実スタブに組み込ん
で実スタブを完成させる(S1205)。そして、完成
した実スタブの名称を、スタブ管理テーブル903の該
当する実スタブ一覧テーブル1001に登録して、実ス
タブ作成支援処理を終了する。
【0060】図13は、条件指定ファイル作成処理部9
05の処理の流れを示すフローチャートである。同図に
示すように、条件指定ファイル作成処理部905が起動
されると、まず、テスト対象モジュール名をユーザに問
い合わせる(S1300)。次に、当該問い合わせに対
してユーザが指定したテスト対象モジュールについての
スタブ化関数一覧を、スタブ管理テーブル903から取
得する(S1301)。次に、取得した全スタブ化関数
に対して、条件指定ファイル作成処理を終了したか否か
を判定する(S1302)。
【0061】その結果、未処理の関数がある場合は(S
1302:Yes)、未処理の関数から一つを選択し、
当該関数について、スタブ管理テーブル903から、対
応する実スタブ名や引数情報等を取得する(S130
3)。次に、取得した情報をユーザに提示し、各々の実
スタブを用いるか否か、用いる場合には実スタブを用い
る条件(引数値、起動回数等の内部変数値)や各条件の
優先順位を問い合わせる(S1304)。そして、当該
問い合わせに対してユーザから入力される情報に基づい
て、当該関数に対する条件指定ファイル107を生成す
る(S1305)。そして、上述した処理S1302〜
S1305を繰り返し、全関数に対して処理を終了する
と(S1302:No)、条件指定ファイル作成処理を
終了する。
【0062】以上のようにして、支援ソフトウェア90
0の支援の下、テストの実施に必要なテスト用ソフトウ
ェアのうちの仮スタブ103、実スタブ決定処理10
4、実スタブ105、および条件指定ファイル107を
作成することができる。
【0063】
【発明の効果】以上、詳細に説明したように、本発明の
ソフトウェアテスト方法によれば、スタブが取り得る動
作を、それぞれが所定の状況下での動作に対応する実ス
タブの集合として作成するので、以前に作成した実スタ
ブや他人が作成した実スタブを利用することが容易にな
り、テストの準備に必要な工数が削減される。
【0064】また、テスト実施者は、必要な実スタブを
作成した後は、起こり得る条件と実スタブとの対応関係
を定義するだけで、種々の条件下でのテストの実施が可
能となるため、テストの準備に必要な工数が削減され
る。また、テストケースの不足が判明した場合のスタブ
動作の追加も容易に行える。
【図面の簡単な説明】
【図1】 本発明によるソフトウェアテスト方法を実施
するためのテスト用ソフトウェアの機能構成を示す図で
ある。
【図2】 本発明によるテストウェアテスト方法を実施
する計算機システムのハードウェア構成例を示す図であ
る。
【図3】 仮スタブ103の動作を示すフローチャート
である。
【図4】 条件指定ファイル107の構成例を示す図で
ある。
【図5】 実スタブ決定処理104の処理の流れを示す
フローチャートである。
【図6】 実スタブ105の動作を示すフローチャート
である。
【図7】 本発明による第2のテストウェアテスト方法
を実施する計算機システムのハードウェア構成例を示す
図である。
【図8】 本発明による第2のテスト用ソフトウェア8
00の機能構成を示す図である。
【図9】 本発明によるテスト用ソフトウェア100の
作成を支援する支援ソフトウェア900の機能構成を示
す図である。
【図10】 スタブ管理テーブル903の構成例を示す
図である。
【図11】 仮スタブ&実スタブ決定処理生成処理部9
02の処理の流れを示すフローチャートである。
【図12】 実スタブ作成支援処理部904の処理の流
れを示すフローチャートである。
【図13】 条件指定ファイル作成処理部905の処理
の流れを示すフローチャートである。
【符号の説明】
103 仮スタブ 104 実スタブ決定処理 105 実スタブ 107 条件指定ファイル 200、700 計算機システム 902 仮スタブ&実スタブ決定処理生成処理部 903 スタブ管理テーブル 904 実スタブ作成支援処理部 905 条件指定ファイル作成処理部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 村本 聡 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 (72)発明者 佐々木 保 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 Fターム(参考) 5B042 HH13 HH43

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 他のモジュールの呼出しを含むテスト対
    象ソフトウェアのテストを実施するソフトウェアテスト
    方法であって、 テスト対象ソフトウェアの実行中に、他のモジュールに
    対する呼出しが生じた場合、予め定義された条件に基づ
    いて、予め用意された、それぞれ所定の動作を行う複数
    の実行モジュールから適切な実行モジュールを選択して
    実行することを特徴とするソフトウェアテスト方法。
  2. 【請求項2】 前記他のモジュールに対する呼出しが必
    要な場合、 対応する仮スタブの呼び出しを行い、 当該仮スタブでは、実スタブ決定処理を呼び出し、 当該実スタブ決定処理では、予め定義された条件に基づ
    いて、予め用意された実スタブ群から適切な実スタブを
    選択して実行することを特徴とする請求項1に記載のソ
    フトウェアテスト方法。
  3. 【請求項3】 他のソフトウェアとデータ通信を行うテ
    スト対象ソフトウェアのテストを実施するソフトウェア
    テスト方法であって、 テスト対象ソフトウェアから受信したデータを解析して
    要求内容を判定し、 当該要求内容に対して、予め定義された条件に基づい
    て、予め用意された、それぞれ所定の動作を行う複数の
    実行モジュールから適切な実行モジュールを選択して実
    行することを特徴とするソフトウェアテスト方法。
  4. 【請求項4】 前記テスト対象ソフトウェアからの要求
    内容に対して、 対応する仮スタブの呼び出しを行い、 当該仮スタブでは、実スタブ決定処理を呼び出し、 当該実スタブ決定処理では、予め定義された条件に基づ
    いて、予め用意された実スタブ群から適切な実スタブを
    選択して実行することを特徴とする請求項3に記載のソ
    フトウェアテスト方法。
  5. 【請求項5】 前記他のソフトウェアとテスト対象ソフ
    トウェアとは、異なる計算機で実行されることを特徴と
    する請求項3又は請求項4に記載のソフトウェアテスト
    方法。
JP10304044A 1998-10-26 1998-10-26 ソフトウェアテスト方法 Pending JP2000132425A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10304044A JP2000132425A (ja) 1998-10-26 1998-10-26 ソフトウェアテスト方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10304044A JP2000132425A (ja) 1998-10-26 1998-10-26 ソフトウェアテスト方法

Publications (1)

Publication Number Publication Date
JP2000132425A true JP2000132425A (ja) 2000-05-12

Family

ID=17928382

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10304044A Pending JP2000132425A (ja) 1998-10-26 1998-10-26 ソフトウェアテスト方法

Country Status (1)

Country Link
JP (1) JP2000132425A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963815B2 (en) 2003-08-25 2005-11-08 Fujitsu Limited Test support program and test support method
JP2007034796A (ja) * 2005-07-28 2007-02-08 Chugoku Electric Power Co Inc:The 開発支援システム、および開発支援プログラム。
JP2009129132A (ja) * 2007-11-22 2009-06-11 Nec Corp ソフトウェア部分テストシステム、それに用いる方法およびプログラム
JP2009129133A (ja) * 2007-11-22 2009-06-11 Nec Corp ソフトウェア部分テストシステム、ソフトウェア部分テスト方法およびソフトウェア部分テスト用プログラム
JP2015146179A (ja) * 2014-01-31 2015-08-13 富士通株式会社 テストダブルの生成
JP2016021161A (ja) * 2014-07-15 2016-02-04 株式会社日立製作所 シミュレータシステム、ゲートウェイシステムテスト装置及びゲートウェイシステムテスト方法
WO2017041530A1 (zh) * 2015-09-09 2017-03-16 中兴通讯股份有限公司 一种软件度量检测方法和系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963815B2 (en) 2003-08-25 2005-11-08 Fujitsu Limited Test support program and test support method
JP2007034796A (ja) * 2005-07-28 2007-02-08 Chugoku Electric Power Co Inc:The 開発支援システム、および開発支援プログラム。
JP2009129132A (ja) * 2007-11-22 2009-06-11 Nec Corp ソフトウェア部分テストシステム、それに用いる方法およびプログラム
JP2009129133A (ja) * 2007-11-22 2009-06-11 Nec Corp ソフトウェア部分テストシステム、ソフトウェア部分テスト方法およびソフトウェア部分テスト用プログラム
JP2015146179A (ja) * 2014-01-31 2015-08-13 富士通株式会社 テストダブルの生成
JP2016021161A (ja) * 2014-07-15 2016-02-04 株式会社日立製作所 シミュレータシステム、ゲートウェイシステムテスト装置及びゲートウェイシステムテスト方法
WO2017041530A1 (zh) * 2015-09-09 2017-03-16 中兴通讯股份有限公司 一种软件度量检测方法和系统

Similar Documents

Publication Publication Date Title
CN111078315B (zh) 微服务编排、执行方法及系统、架构、设备、存储介质
US8881105B2 (en) Test case manager
US7861177B2 (en) Software configuration program for software applications
US6282699B1 (en) Code node for a graphical programming system which invokes execution of textual code
US7954059B2 (en) Automatic conversion of text-based code having function overloading and dynamic types into a graphical program for compiled execution
US8196113B2 (en) Realtime creation of datasets in model based testing
US6651240B1 (en) Object-oriented software development support apparatus and development support method
US7818716B2 (en) Priorities of transitions of a diagram with states
US20050177816A1 (en) Automatic generation of graphical program code for a graphical program based on the target platform of the graphical program
US20090254880A1 (en) Techniques for offering and applying code modifications
JP2001344105A (ja) Webアプリケーション開発方法、開発支援システム、および該方法に係るプログラムを記憶した記憶媒体
CN111367511B (zh) 一种仿真模型接口适配开发系统及其工作方法
CN108388515A (zh) 测试数据生成方法、装置、设备以及计算机可读存储介质
CN111611357A (zh) 人机对话系统的配置方法、多轮对话配置平台及电子设备
US20070038947A1 (en) Method and device for generation of a parametric model associated with a 3D geometry
US5655067A (en) Animation generating method in a design supporting system
CN110727429A (zh) 一种前端页面的生成方法、装置及设备
CN112650487A (zh) 混合应用程序开发方法、系统、计算机设备和存储介质
CN114115923A (zh) 一种操作系统搭建方法及系统
JP2000132425A (ja) ソフトウェアテスト方法
CN116909553A (zh) 一种页面在线开发及本地编译运行系统
JPH06348766A (ja) ツール組み込み方法及び装置
JPH08314760A (ja) プログラム開発支援装置
JP4686117B2 (ja) ソースコード変換装置、ソースコード変換方法、およびプログラム
CN113885841A (zh) 脚本生成的方法、装置、电子设备和可读介质