JP2004220330A - テスト仕様作成支援装置、テスト仕様作成方法、データベースの構築方法、テスト仕様作成プログラム - Google Patents
テスト仕様作成支援装置、テスト仕様作成方法、データベースの構築方法、テスト仕様作成プログラム Download PDFInfo
- Publication number
- JP2004220330A JP2004220330A JP2003007024A JP2003007024A JP2004220330A JP 2004220330 A JP2004220330 A JP 2004220330A JP 2003007024 A JP2003007024 A JP 2003007024A JP 2003007024 A JP2003007024 A JP 2003007024A JP 2004220330 A JP2004220330 A JP 2004220330A
- Authority
- JP
- Japan
- Prior art keywords
- test
- test scenario
- rule
- scenario generation
- software
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題手段】開発すべきソウトウエアのテストの観点および判断基準に関するノウハウを条件部および実行部のルール形式により表現したテストシナリオ生成ルールを、ソフトウエアの設計仕様から定義し、テストシナリオ生成ルールの条件部とソフトウエアの設計仕様とのマッチングをとって、テストシナリオ生成ルールの実行部を実行することによりテストシナリオを生成する。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、開発すべきソフトウエアをテストするためのテスト仕様作成支援装置、テスト仕様作成方法、この方法をコンピュータに実行させるテスト仕様作成プログラムおよびこの方法に用いるデータベースの構築方法に係り、特に、テスト仕様の効率的な生成に適するテスト仕様作成支援装置、テスト仕様作成方法、データベースの構築方法、およびテスト仕様作成プログラムに関する。
【0002】
【従来の技術】
単体テストが完了したプログラム実体間を組み合わせて実体間のインターフェースや機能またはサブシステムの相互作用を検証する結合テストでは、処理機能の種類(例えば登録系/参照系/バッチ処理系などの種類)により、テストの内容および合格の判断基準は異なる。従来の技術では、GUI(graphical user interface)など外部仕様に関するテスト支援が中心で(例えば下記特許文献1、2参照)、外部仕様に限られない処理機能の種類を考慮した結合テスト仕様の自動生成までは行なわれていなかった。また、従来技術には、処理機能の性質を考慮したテストのノウハウなどとしてのデータの表現形態が開示されておらず、ノウハウの蓄積・再利用ができなかった。
【0003】
【特許文献1】
特開2002−73372号公報
【特許文献2】
特開平9−223040号公報
【0004】
【発明が解決しようとする課題】
本発明は、上記の事情を考慮してなされたもので、テスト方針の蓄積・再利用を可能にして統一した手順でテスト仕様書を効率的に作成し得るテスト仕様作成支援装置、テスト仕様作成方法、この方法をコンピュータに実行させるテスト仕様作成プログラムおよびこの方法に用いるデータベースの構築方法を提供することを目的とする。
【0005】
【課題を解決するための手段】
上記の課題を解決するため、本発明に係るテスト仕様作成支援装置は、開発すべきソウトウエアのテストの観点および判断基準に関するノウハウを条件部および実行部のルール形式により表現したテストシナリオ生成ルールを、前記ソフトウエアの設計仕様から定義する手段と、前記テストシナリオ生成ルールの条件部と前記ソフトウエアの設計仕様とのマッチングをとって、前記テストシナリオ生成ルールの実行部を実行することによりテストシナリオを生成する手段とを具備することを特徴とする。
【0006】
すなわち、この装置はテストシナリオ生成ルールを定義する手段を具備し、テストシナリオ生成ルールは、開発すべきソウトウエアのテストの観点および判断基準に関するノウハウを条件部および実行部のルール形式により表現したものである。定義されたテストシナリオ生成ルールにより、その条件部および実行部を用い、条件部と設計仕様とのマッチングをとって実行部を実行するという手順が提供される。この手順によれば、テスト方針の蓄積・再利用をテストシナリオ生成ルールの蓄積・再利用という形で可能にし、統一した手順でテスト仕様書を効率的に作成することが可能になる。
【0007】
ここでソフトウエアのテストの観点および判断基準は、処理機能の種類(例えば登録系/参照系/バッチ処理系などの種類)に応じて決めることができる。
【0008】
また、上記の各手段は、例えば、マイクロプロセッサやメモリなどのハードウエハとこのハードウエア上で動作する基本ソフトウエアおよび応用ソフトウエアとにより実現できる。
【0009】
また、本発明に係るテスト仕様作成方法は、開発すべきソウトウエアのテストの観点および判断基準に関するノウハウを条件部および実行部のルール形式により表現したテストシナリオ生成ルールを、前記ソフトウエアの設計仕様から定義するステップと、前記テストシナリオ生成ルールの条件部と前記ソフトウエアの設計仕様とのマッチングをとって、前記テストシナリオ生成ルールの実行部を実行することによりテストシナリオを生成するステップとを具備することを特徴とする。
【0010】
この方法は、上記のテスト仕様作成支援装置における動作を実現するものであり、この方法によれば、上記同様の作用により同様の効果を得ることができる。方法ではなく、各ステップを実行するプログラムとすることもできる。
【0011】
また、本発明に係るデータベースの構築方法は、開発すべきソウトウエアのテストの観点および判断基準に関するノウハウを条件部および実行部のルール形式により表現したテストシナリオ生成ルールをデータベース化するデータベースの構築方法であって、前記条件部には前記ソフトウエアのテストの観点が表現され前記実行部には前記条件部が前記ソフトウエアの設計仕様に含まれていた場合に実行する判断基準が表現されている前記テストシナリオ生成ルールの前記条件部と前記実行部とをまとめて個々のテストシナリオ生成ルールごとにノードとしてくくり、前記ノード間に、該ノードに対応するテストシナリオ生成ルールを適用する順序情報を与えることを特徴とする。
【0012】
また、本発明に係る別のデータベースの構築方法は、開発すべきソフトウエアの設計仕様情報をデータベース化するデータベースの構築方法であって、前記設計仕様に含まれる個々の動作ごとの処理仕様をそれぞれノードとしてくくり、前記ノード間に、該ノードに対応する処理仕様の流れを示す情報を与え、前記ノード間に、ひとつのアプリケーションを示す情報を与えることを特徴とする。
【0013】
また、本発明に係るさらに別のデータベースの構築方法は、開発すべきソフトウエアのテストシナリオをデータベース化するデータベースの構築方法であって、前記テストシナリオに含まれる個々のテストごとにノードとしてくくり、前記ノード間に、該ノードに対応するテストの実施順序を示す情報を与えることを特徴とする。
【0014】
これらのデータベースの構築方法は、上記のテスト仕様作成支援装置および方法において使用することができるものである。また、これらにより、処理機能の性質を考慮したテストのノウハウとしてのデータの表現形態が開示される。
【0015】
【発明の実施の形態】
本発明の実施態様としてのテスト仕様作成支援装置は、前記設計仕様を入力する手段と、前記入力された設計仕様を蓄積する手段と、前記蓄積された設計仕様の中から任意のものを取り出す手段とをさらに具備する。装置の使い勝手を向上するため設計仕様の入力、蓄積、検索手段を設けるものである。
【0016】
また、実施態様として、前記定義されたテストシナリオ生成ルールを蓄積する手段と、前記蓄積されたテストシナリオ生成ルールの中から任意のものを取り出す手段とをさらに具備する。同様に、テストシナリオ生成ルールの蓄積、検索手段を設けるものである。
【0017】
また、実施態様として、前記定義する手段は、前記ソフトウエアの前記設計仕様からテストの観点および判断基準を抽出する手段と、前記抽出された観点および判断基準に基づいて前記設計仕様から前記テストシナリオ生成ルールを定義する手段とを含む。設計仕様からテストの観点および判断基準を抽出するのを自動的に行なうものである。抽出されたテストの観点および判断基準はテストシナリオ生成ルールを作成するためのメタルールの一部とすることができる。
【0018】
また、実施態様として、前記生成されたテストシナリオを蓄積する手段と、前記蓄積されたテストシナリオの中から任意のものを取り出す手段とをさらに具備する。装置の使い勝手を向上するためテストシナリオの蓄積、検索手段を設けるものである。
【0019】
また、実施態様として、前記生成する手段は、前記設計仕様を展開保持する設計仕様展開保持部と、前記テストシナリオ生成ルールを展開保持するテストシナリオ生成ルール展開保持部と、前記展開保持された設計仕様と前記展開保持されたテストシナリオ生成ルールとからテストシナリオを生成するテストシナリオ生成エンジンと、前記生成されたテストシナリオを展開保持するテストシナリオ展開保持部とを含む。生成する手段を構成するひとつの例である。
【0020】
また、本発明の実施態様としてのテスト仕様作成方法において、前記定義するステップは、前記ソフトウエアの前記設計仕様からテストの観点および判断基準を抽出するステップと、前記抽出された観点および判断基準に基づいて前記設計仕様から前記テストシナリオ生成ルールを定義するステップとを含む。装置の場合と同様である。
【0021】
また、実施態様として、前記生成するステップは、前記ソフトウエアの前記設計仕様から、生成すべきテストシナリオの項目および順序情報を抽出して前記生成すべきテストシナリオの初期情報を生成するステップを含む。これも装置の場合と同様である。
【0022】
以上を踏まえ、以下では本発明の実施形態を図面を参照しながら説明する。図1は、本発明の一実施形態に係るテスト仕様作成支援装置の構成を示すブロック図である。
【0023】
図1に示すように、このテスト仕様作成支援装置は、入力制御部1、出力制御部2、制御部3、設計仕様の選択・入力部4、テストシナリオ生成ルール選択・生成部5、テストシナリオ生成部6、テスト仕様書作成部7、設計仕様データベース(以下では、「データベース」を「DB」と記す。)8、テストシナリオ生成ルールDB9、テストシナリオDB10、テスト仕様書DB11、テストシナリオ生成メタルールDB12を有する。
【0024】
入力制御部1は、ユーザ20からの入力情報を取得し、これを制御部3に引き渡すものである。出力制御部2は、制御部3からの情報をユーザ20に出力情報として引き渡すものである。
【0025】
制御部3は、入力制御部1、設計仕様の選択・入力部4、テストシナリオ生成ルール選択・生成部5、テストシナリオ生成部6、およびテスト仕様書作成部7から情報を受け取り、また、受け取られた情報を、ステータスに応じて、設計仕様の選択・入力部4、テストシナリオ生成ルール選択・生成部5、テストシナリオ生成部6、またはテスト仕様書作成部7に引き渡すものである。また、必要に応じて、上記受け取られた情報を出力制御部2へ引き渡すものである。
【0026】
設計仕様の選択・入力部4は、制御部3を介して入力制御部1から受け取った入力情報に応じて、次の処理を実行する。すなわち、入力情報が設計仕様の検索条件の場合には、設計仕様DB8より検索条件にマッチする設計仕様を検索し、検索された設計仕様を制御部3に保持する。制御部3に保持された設計仕様は、出力制御部2を通してユーザ20に表示される。また、入力情報が設計仕様の登録条件の場合には、入力情報に含まれる設計仕様情報を制御部3に保持するとともに、設計仕様DB8に蓄積する。
【0027】
テストシナリオ生成ルール選択・生成部5は、制御部3を介して入力制御部1から受け取った入力情報に応じて、次の処理を実行する。すなわち、入力情報がテストシナリオ生成ルールの検索条件の場合(テストシナリオ生成ルール選択時)には、テストシナリオ生成ルールDB9より検索条件にマッチするテストシナリオ生成ルールを検索し、検索されたテストシナリオ生成ルールを制御部3に保持する。制御部に保持されたテストシナリオ生成ルールは、出力制御部2を通じてユーザに表示される。
【0028】
また、テストシナリオ生成ルール選択・生成部5への入力情報がテストシナリオ生成ルールの登録条件の場合(テストシナリオ生成ルール作成時)には、テストシナリオ生成メタルールDB12に保持されたテストシナリオ生成メタルールに基づき、制御部3からの設計仕様情報よりテストの観点、判断基準を抽出し、抽出されたテストの観点、判断基準を制御部3、出力制御部2を介してユーザ20に提示する。ユーザ20は、提示されたテストの観点および判断基準に基づいてルール生成実行結果を入力制御部1に入力する。
【0029】
入力されたルール生成実行結果は、制御部3を介してテストシナリオ生成ルール選択・生成部5に送られ、これによりテストシナリオ生成ルール選択・生成部5でテストシナリオ生成ルールが保持される。保持されたテストシナリオ生成ルールは、テストの観点および判断基準に関するノウハウをルール形式(条件部→実行部)で表現したデータである。以上作成されたテストシナリオ生成ルールはテストシナリオ生成ルールDB9に蓄積される。
【0030】
テストシナリオ生成部6は、制御部3に保持された設計仕様情報およびテストシナリオ生成ルールからテストシナリオを自動生成し、自動生成されたテストシナリオを制御部3に保持するとともに、テストシナリオDB10に蓄積する。
【0031】
テスト仕様書作成部7は、制御部3に保持されたテストシナリオに基づいて、制御部3、出力制御部2を通じて、ユーザ20にテスト仕様書作成条件を提示する。また、ユーザ20が入力した入力情報を入力制御部1、制御部3を介して受け取り、これに基づきテスト仕様書を作成しテスト仕様書DB11に蓄積する。
【0032】
なお、設計仕様DB8には、設計テンプレートに基づき作成された設計仕様が蓄積される。テストシナリオ生成ルールDB9には、テストシナリオ生成ルールが蓄積される。テストシナリオDB10には、テストシナリオ生成部6にて生成されたテストシナリオが蓄積される。テスト仕様書DB11には、テスト仕様書作成部7により生成されたテスト仕様書が蓄積される。テストシナリオ生成メタルールDB12には、テストシナリオ生成ルールを作成するためのメタルールが蓄積される。
【0033】
図2は、図1中に示したテストシナリオ生成部6についての内部構成例を示すブロック図である。図2に示すように、このテストシナリオ生成部6は、設計仕様展開部61、シナリオ生成ルール展開部62、シナリオ生成エンジン63、テストシナリオ展開部64を有する。
【0034】
設計仕様展開部61は、シナリオ生成エンジン63から渡された設計仕様情報を展開保持する記憶手段(例えばメモリ)である。シナリオ生成エンジン63の要求により保持された設計仕様情報を送出する。
【0035】
シナリオ生成ルール展開部62は、シナリオ生成エンジン63から渡されたテストシナリオ生成ルールを展開保持する記憶手段(例えばメモリ)である。シナリオ生成エンジン63からの要求により保持されたテストシナリオ生成ルールを送出する。
【0036】
シナリオ生成エンジン63は、設計仕様およびシナリオ生成ルールの展開・保持、ならびに設計仕様とシナリオ生成ルールの条件部とのマッチング、シナリオ生成ルールの実行、および実行結果のテストシナリオDB10、制御部3への送出を行う。
【0037】
テストシナリオ展開部64は、シナリオ生成エンジン63によって渡されたテストシナリオを展開保持する記憶手段(例えばメモリ)である。シナリオ生成エンジン63からの要求により保持されたテストシナリオを送出する。
【0038】
次に、上記説明のテスト仕様作成支援装置を用いることによるテスト仕様書の作成手順を図3をも参照して説明する。図3は、テスト仕様書を作成する全体手順を示す流れ図である。
【0039】
まず、設計仕様を選択または入力する(ステップ31)。このステップは、ユーザ20による入力制御部1への入力と、この入力による制御部3、設計仕様の選択・入力部4、設計仕様DB8の動作により完了する。
【0040】
次に、テストシナリオ生成ルールの選択(または作成および選択)を行なう(ステップ32)。テストシナリオ生成ルールを作成する場合には、すでに述べたように、テストシナリオ生成ルール選択・生成部5にて、テストシナリオ生成メタルールDB12に保持されたテストシナリオ生成メタルールに基づき、制御部3から渡される設計仕様よりテストシナリオ生成ルールを作成し、テストシナリオ生成ルールDB9に蓄積する。作成されたテストシナリオ生成ルールは、上述したように、テストの観点および判断基準に関するノウハウをルール形式(条件部→実行部)で表現したデータである。テストシナリオ生成ルールの選択は、テストシナリオ生成ルールDB9から該当のものを検索することによりなされる。
【0041】
次に、ステップ31で入力した設計仕様とステップ32で選択したテストシナリオ生成ルールより、テストシナリオ生成部6でテストシナリオを生成する(ステップ33)。さらに、ステップ33で生成したテストシナリオと、入力制御部1を介するユーザからの要件に基づいて、テスト仕様書作成部7にてテスト仕様書を作成する(ステップ34)。これにより、目的のテスト仕様書が作成されれば終了であり、引き続きテスト仕様書を作成する必要(例えば設計仕様に内容を追加してテスト仕様書を作り直すなど)があれば継続して最初から処理を行なう(ステップ35)。
【0042】
図4は、図3中で説明したステップ33(テストシナリオの生成)内におけるやや詳細な手順の例を示す流れ図である。
【0043】
テストシナリオを生成するには、まず、制御部3に保持された設計仕様のデータを取得し、これを設計仕様展開部61を構成する例えばメモリ上に保持する(ステップ331)。また、選択されたテストシナリオ生成ルールを制御部3から取得し、これをシナリオ生成ルール展開部62を構成する例えばメモリ上に保持する(ステップ332)。
【0044】
次に、生成されるべきテストシナリオについての初期化を行なう(ステップ333)。具体的には、ステップ331で展開された設計仕様から、テストシナリオとしての項目および順序情報を抽出し、これによりテストシナリオの初期情報を生成する。
【0045】
次に、ステップ332で展開されたテストシナリオ生成ルールのうちから適用可能なものがあるか否かを判断する(ステップ334)。具体的には、テストシナリオ生成ルールそれぞれの条件部とステップ331で展開された設計仕様とをマッチングさせる。マッチした場合には、そのルールを選択し(ステップ335)、さらにそのルールの実行部を適用する。適用された結果は、テストシナリオの一部として出力される(ステップ336)。
【0046】
同様に、別のテストシナリオ生成ルールについて設計仕様とのマッチが存在する限り、上記のステップ335、336の処理を行なう。これにより、マッチがすべて存在しなくなったときにテストシナリオが完成する。テストシナリオが完成したら、制御部3に出力し(ステップ337)、かつテストシナリオDBへの蓄積を行なう(ステップ338)。
【0047】
以上説明のように、設計仕様を用いて、テストの観点および判断基準に関するノウハウであるテストシナリオ生成ルールを条件部→実行部の形式で生成してこれをDB化することにより、DBの内容の再利用を可能にし統一した手順でテスト仕様書を効率的に作成することができる。
【0048】
【実施例】
次に、図5に示すような画面遷移を備えたWebバンキングシステムを例に取り、本発明の実施例としてのテスト仕様作成方法を説明する。図5は、本発明の実施例としてのWebバンキングシステムにおける表示画面(その一部)の変化を示す遷移図である。
【0049】
図5に示すように、これらの画面50、…、60は、それぞれ名称が与えられ、かつ矢印のように遷移または上位、下位の関係を有する。このようなGUIとこれに伴う処理(内部仕様に関する処理)とが開発・作成されるべきソフトウエアに相当する。
【0050】
図6は、図5に示した画面遷移を備えたWebバンキングシステムの設計仕様を示す仕様書の記述例を表わす図である。この仕様書は、一定の設計テンプレートに従って作成されている。すなわち、図5において、表を構成する行それぞれはユーザからのひとつの動作(ボタンの押下、メニュー選択)によって実施する一塊の処理を示している。実施する処理の細目内容は、表を構成する列で項目ごとに分類して示される。
【0051】
処理の項目(細目内容)は以下である:
・ユースケース:システムの業務機能。該当行の処理が関連する業務機能名。
・ユースケースシナリオ:該当行の処理が実施される際の状況。
・動作:該当行の処理を実施のトリガ。
・アクタ:該当行の処理を実施する権限のある利用者(または他システム、機能)
・順序:該当行の処理が前後の行の処理と連続する場合に、実行の順序を示す数値。
・入力画面:該当行の処理を開始する際に表示されている画面。
・入力データ:画面などから入力するデータ名。
・テーブル:対象となるテーブル名。
・条件:画面遷移/帳票出力/バッチ処理などの処理を実行する際に前提となる条件。
・メッセージ:該当行の処理実行時に表示するメッセージ内容。
・遷移先画面:該当行の処理の実行後に遷移する画面。
・出力帳票:該当行の処理の実行後に出力する帳票。
・処理種別:該当行の処理の種別(画面系、帳票系、バッチ系を複数選択)。
・タイプ:該当行の処理のタイプ(登録系、検索系、その他のいずれかを選択)。
【0052】
このような項目はユーザが決定し入力制御部1より入力する。例えば、図6における1行目(No.1)の処理は、次のことを示す。
・当該行の処理は、ユースケース「各種情報を照会する」に関する処理である。・当該行の処理は、ユースケースシナリオ「残高を照会する」場合に実行する処理である。
・当該行の処理は、動作「情報照会」メニューのクリック」により実施する。
・当該行の処理は、アクタ「顧客」の権限を有するものが実施可能である。
・当該行の処理は、後続する一連の処理間において、1番目に実行する処理である。
・当該行の処理は、入力画面「メニュー画面」より開始する。
・当該行の処理は、入力データはない。
・当該行の処理は、対象となるテーブルはない。
・当該行の処理を実施するための条件はない。
・当該行の処理の実施後に、表示するメッセージはない。
・当該行の処理の実施後、遷移先画面「情報照会サブメニュー画面」に遷移する。
・当該行の処理は、出力帳票はない。
・当該行の処理は、処理種別「画面系」の処理である。
・当該行の処理は、タイプ「その他」の処理である。
他の行についても同様である。このような処理内容はユーザが決定し入力制御部1より入力する。
【0053】
次に、図6に示したような設計仕様を設計仕様DB8内に蓄積するときの方式について説明する。図7は、図6で説明した設計仕様を設計仕様DB8に保存するときの方式を説明する図である。
【0054】
図7において、○(ノード)は、一行分の仕様を示し、矢印および直線はノード間の関係を示す。矢印は、ノード間に連続した関係があることを示す(ノード間の関係は上記説明の項目「順序」より導出されている)。直線で結んだノードの集合は、それらが同一のアプリケーションに関する仕様であることを示している。例えば、図7(a)は、ノード1、…、ノード6、ノード9、…、11が同一アプリケーションに関する仕様であることを示し、図7(b)は、ノード51、…、ノード55、ノード59、ノード60が別の同一アプリケーションに関する仕様であることを示す。
【0055】
次に、図7に示した各ノードおよびそれらの関係を記述する記述形式について説明する。各アプリケーションについて記述形式は、リストとして、例えば、[[APN], [[S1, S2, S3], [S4, S5, S6],[S7],…,[SN]]] となる。
ここで、APNはアプリケーション名、
S1, S2, S3,…,SNは、それぞれ、一行分の設計仕様、
[S1, S2, S3]は、S1, S2, S3が一連の連続した処理であることを示す。[S4, S5,S6]も同様である。
【0056】
1行分の設計仕様Smそれぞれの記述形式は、リストとして、例えば、[No(A), ユースケース(B), ユースケースシナリオ(C), 動作(D), アクタ(E), 順序(F), 入力画面(G), 入力データ(H), テーブル(I), 条件(J), メッセージ(K), 遷移先画面(L), 出力帳票(M), 処理種別(N), タイプ(O)] となる。ここで、A〜Oは変数。Smを構成する要素のそれぞれが1階の述語論理に基づく論理式に相当する。
【0057】
具体的な記述例を挙げると、図6の1行目の設計仕様については以下のようになる。
S1=[No(“1”), ユースケース(“各種情報を照会する”), ユースケースシナリオ(“残高を照会する”), 動作(“「情報照会メニュー」をクリック”), アクタ(“顧客”), 入力画面(“メニュー画面”), 順序(“1”), 入力データ(null), テーブル([null]), 条件(null), メッセージ(null), 遷移先画面(“情報照会サブメニュー”), 出力帳票(null), 処理種別(“画面系”), タイプ(“その他”)]
【0058】
以上説明のように、例えば図6に示すような設計仕様は上記のように方式化、形式化され設計仕様DB8に蓄積される。すなわち、ユーザは、図6に示す表の形式により設計仕様を入力し、入力された設計仕様は、図7に示す方式により設計仕様DB8へ蓄積され、かつそれぞれのアプリケーションについて上記のような形式により記述されている。
【0059】
すでに蓄積済みの設計仕様は、アプリケーション名を選択することにより、該当するアプリケーションとしてリンクづけられた仕様(ノード)を抽出し図6のような一覧表形式によりユーザに表示することができる。
【0060】
図6のような設計仕様(開発・作成されるべきソフトウエアの設計仕様)が入力されたあと、このソフトウエアをテストするためのシナリオを生成することが、本発明を具体的に適用することにより可能となる。これを以下説明する。
【0061】
基本的には、このシナリオは、テストの観点および判断基準に関するノウハウをルール形式(条件部→実行部)で表現したデータであるテストシナリオ生成ルールを、上記の設計仕様に適用することによって生成することができる。テストシナリオ生成ルールは、あらかじめ作成しておいたものを用いる。
【0062】
テストシナリオ生成ルールを作成する手順について説明する。テストシナリオ生成ルールは、テストシナリオ生成メタルール(以下ではメタルールという。)に基づいて、与えられた設計仕様から作成することができる。図8は、メタルールの例を示す図である。
【0063】
メタルールは、設計仕様がベースとしている設計モデルに沿って、テストシナリオ生成ルールを作成するための上位の知識である。また、設計モデルとテストシナリオ生成ルールとを関連づける役割を持ち、結果として、設計モデルが提示する考え方に沿った形でテストシナリオを生成することを可能にするための知識である。
【0064】
具体的には、メタルールは、設計仕様の構成要素(項目)と構成要素のとり得る値とを、テストシナリオ生成ルールの条件部に出現する節の候補として与える。図8に示すように、メタルールそれぞれの構成は以下のようになっている。
観点:設計仕様の構成要素(項目)。
基準値:「観点」の持つべき値や検証すべき値。(初期値は有無(1または0)とする。)
ルール:このメタルールにより作成したテストシナリオ生成ルールの識別子。(ルール番号やIDなどが相当する。このメタルールによりテストシナリオ生成ルールを作成した後、決定する。)
これにより、メタルールDB12には、これらのメタルールが、設計仕様にて定義している観点の数分、蓄積されていることになる。
【0065】
図9は、図6に示す設計仕様を前提としたメタルールの一部を示す図である。具体的には、図9(a)、図9(b)は、それぞれ、構成要素「遷移先画面」、「入力データ」に関してメタルールの初期値を定義した結果を示す。図10は、図9に示すメタルールに対して、テストシナリオ生成ルールの定義(作成)後、これを、関連する「観点」に関連付けた結果を示す図である。
【0066】
テストシナリオ生成ルールの具体的作成について説明する。まず、作成後のルールがテストシナリオ生成ルールDB9に蓄積・保持されるときの保存方式を図11を参照して述べる。図11は、テストシナリオ生成ルールDB9における保存方式を示す図である。図11において、○(ノード)は、テストシナリオ生成のひとつのルールを示す。ノード間の矢印はルール間の関係(適用順序)を示すものである。
【0067】
ここで、テストシナリオ生成ルールの記述形式を例えば以下のようにする。
[Rules, Order]
Rules: [R1, R2, R3,…, RN]
R1, R2, R3,…, RNは、それぞれ、一つのテストシナリオ生成ルールを示すルールID。
Order:[O1, O2, O3,…,ON]
O1, O2, O3,…,ON における Oi それぞれは、Riを実行後に次に実施可能なルールのルールIDを示すリスト。
【0068】
これを用い、図11に示すテストシナリオ生成ルールは、以下のように記述される。
[[r1, r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12], [[r3, r4], [r3, r4], [r5, r6], [r5, r6], [r7, r8], [r7, r8], [r9], [r9], [r10], [r11], [r12], [[]]]
すなわち、12個のルールがあり、各識別子がr1〜r12となる。ルールr1の実行後に次に実施可能なルールは、ルールr3またはルールr4である。ルールr2以下ルールr11まで同様である。ルールr12の実行後の次に実施可能なルールは“[]”、すなわち、実施するルールはなく、ルールr12が定義された最終のルールである。
【0069】
ここで、テストシナリオ生成ルールRiそれぞれの記述形式は、例えば、以下の形式で記述することができる。
”If LHS, then RHS.”
ここで、LHSおよびRHSは1階の述語論理式である。
【0070】
図6に示した設計仕様に対してメタルールを用いると、設計仕様の構成要素(項目)と構成要素のとり得る値とを、テストシナリオ生成ルールの条件部に出現する節の候補として与え、次のようにルールを定義(作成)することができる。
(ルールr1)データ入力後の画面遷移の場合: 指定したデータ入力後に指定した遷移先画面に遷移することを確認する。
(ルールr2)遷移先画面がある場合: 指定した遷移先に遷移することを確認する。
(ルールr3)データ入力後の帳票出力の場合: 指定したデータ入力後に指定した帳票が出力されることを確認する。
(ルールr4)出力帳票がある場合: 指定した帳票が出力されることを確認する。
(ルールr5)データ入力後のバッチ処理の場合: 指定したデータ入力後に指定したバッチ処理結果がテーブルの内容に反映されていることを確認する。
(ルールr6)バッチ処理の場合: バッチ処理結果がテーブルの内容に反映されていることを確認する。
(ルールr7)登録系の画面遷移の場合: 登録済みテーブルの内容と入力したデータとが一致することを確認する。
(ルールr8)検索系の画面遷移の場合: 登録済みテーブルの内容と表示したデータの内容とが一致することを確認する。
(ルールr9)利用者権限がある場合: 指定した利用者の権限にて処理が正しく実行されることを確認する。
(ルールr10)画面遷移/帳票出力/バッチ処理実施のための条件が指定されている場合: 指定された条件にて正しく処理が実行されていることを確認する。
(ルールr11)出力メッセージがある場合: 指定したメッセージが出力されることを確認する。
(ルールr12)画面遷移/帳票出力/バッチ処理に一連の処理順序が設定されている場合: 一連の処理の流れが正しいことを確認する。
【0071】
以上のルールr1〜r12同士の関係は、図11に示すような関係になっている。ルールr1〜r12を、上記説明のルールの記述形式に従って表現すると以下のようになる。
【0072】
(ルールr1)遷移先画面有り&入力データ有
【数1】
【0073】
(ルールr2)遷移先画面有り&入力データなし
【数2】
【0074】
(ルールr3)出力帳票有り&入力データ有り
【数3】
【0075】
(ルールr4)出力帳票有り&入力データなし
【数4】
【0076】
(ルールr5)バッチ処理&入力データあり
【数5】
【0077】
(ルールr6)バッチ処理&入力データなし
【数6】
【0078】
(ルールr7)登録系
【数7】
【0079】
(ルールr8)検索系
【数8】
【0080】
(ルールr9)利用者権限有無
【数9】
【0081】
(ルールr10)条件指定あり
【数10】
【0082】
(ルールr11)出力メッセージあり
【数11】
【0083】
(ルールr12) 画面に一連の処理の順序がある場合の確認
【数12】
【0084】
次に、テストシナリオの具体的生成について説明する。まず、作成後のシナリオがテストシナリオDB10に蓄積・保持されるときの保存方式を図12を参照して述べる。図12は、テストシナリオDB10における保存方式を示す図である。図12において、○(ノード)は、ひとつのテストシナリオを示す。ノード間の矢印は、ノード間に連続した関係があることを示す。直線で結んだノードの集合は、それらが同一のアプリケーションに関するテストシナリオ(またはテスト仕様。「テスト仕様」は、テストシナリオをユーザに示す形式に変換したもの)であることを示す。
【0085】
テストシナリオの記述形式は、例えば次にようにすることができる。
[[APN], [[S1, S2, S3], [S4, S5, S6],[S7],…,[SN]]]
ここで、APNはアプリケーション名、
S1, S2, S3,…,SNは、それぞれ、一行分のテストシナリオ、
[S1, S2, S3]は、S1,S2,S3が連続した一連のテストシナリオであることを示す。[S4, S5, S6]も同様。
【0086】
1行分のテストシナリオSmそれぞれの記述形式は、リストとして、例えば、[Y]=[No(A), ユースケース(B), ユースケースシナリオ(C), タイプ(O), 順序(F), 確認項目(P), アクタ(E), 入力画面(G), 入力データ(H), 動作(D), テーブル(I), 条件(J), メッセージ(K), 遷移先画面(L), 出力帳票(M), 処理種別(N)] となる。ここで、A〜Pは変数。Smを構成する要素のそれぞれが1階の述語論理に基づく論理式に相当する。
【0087】
図6に示したような、ひとつのアプリケーションの設計仕様と、これに対応する、ひとつのアプリケーションのテストシナリオ(後述する図16、図17)との記述上の関係は、次のように表わすことができる。
【数13】
【0088】
ひとつ(1行分)のテストシナリオの具体的な記述例は、例えば、Y=[No(“1”), ユースケース(“各種情報を照会する”), ユースケースシナリオ(“残高を照会する”), タイプ(“単純遷移”), 順序(“1”), 確認項目(“アクアの権限のユーザによって、入力画面から動作実行後、遷移先画面への遷移が正しく行われることを確認する。”), アクタ(“顧客”), 入力画面(“メニュー画面”), 入力データ(null), 動作(“「情報照会メニュー」をクリック”), テーブル([null]), 条件(null), メッセージ(null), 遷移先画面(“情報照会サブメニュー”), 出力帳票(null), 処理種別(“画面系”)] となる(図16の1行目のテスト仕様)。
【0089】
上記ですでに説明した、ルールの例としてのルールr1〜r12は、図13に示すような表形式でユーザが入力することができる。図13は、ルールの入力、表示を行う画面の例を示す図である。入力されたルールはテストシナリオ生成ルールDB9に蓄積される。また、入力・蓄積されているテストシナリオ生成ルールは、図13に示すような表の形式にてユーザに表示することができる。
【0090】
以上を前提にテストシナリオの具体的生成を、以下、説明する。まず、設計仕様を入力して設計仕様XXXXを得(設計仕様展開部61)、また、テストシナリオ生成ルール[Rules, Order]をシナリオ生成ルール展開部62に保持しておく。そして、図14に示す処理を行なうことによりテストシナリオYYYYを初期化する。図14は、テストシナリオを初期化する処理を示す流れ図であり、すでに説明した図4の流れ図におけるステップ333に相当する処理を示すものである。この初期化の過程では、設計仕様XXXXから、テストシナリオYYYYとしての項目および順序情報を抽出する処理が含まれる。
【0091】
図14を参照するに、ステップ141からステップ145はこの処理の前処理に相当する。ステップ141でテストシナリオYYYYの空リストを用意し、ステップ142でアプリケーション名をテストシナリオYYYYに定義する。さらにステップ143で設計仕様XXXXの2番目の要素(1番目の要素を除く全体)をXXXとして、これに相当するテストシナリオの要素YYYの空リストを用意する。次に、XXXの長さ(要素の数:既知)をLとして(ステップ144)、XXXの長さ分のループ処理(ステップ146以下)を行なうためのループ変数iを初期数に設定する(ステップ145)。
【0092】
ステップ146の次に、XXXのi番目の要素を取出してXXとし(ステップ147)、XXの長さ(既知)をMとして、XXの長さ分のループ処理(ステップ149以下)を行なうためのループ変数jを初期数に設定する(ステップ148)。
【0093】
ステップ149の次に、XXのj番目の要素をXとし(ステップ150)、Xの内容をYに代入する(ステップ151)。Yには要素として「確認項目」が付加されている。これが生成されるべきテスト仕様としての主要部分に相当する。図14における処理では、初期化としてこの内容はnullとして出力される。
【0094】
ステップ150の処理後、ワークエリアZを空リストとして用意し(ステップ152)、YをZに追加する(ステップ153)。さらに、j値を更新して(ステップ154)、ステップ149からのループ処理を繰り返す。これで所定数M回のループ処理が行なわれてXXを構成する全部の要素について処理が終わる(ステップ149のY)。これにより、ステップ155でYYYにZの内容を追加し、i値を更新して(ステップ156)、さらにステップ146からのループ処理を繰り返す。このループ処理が所定数L回行なわれるとXXXを構成するすべての要素について処理が終わる(ステップ146のY)。これにより、ステップ157でYYYYにYYYを追加し、テストシナリオYYYYの初期化を終了する。
【0095】
次に、図15に示す処理を行なう。図15は、図14に示す初期化処理に続くテストシナリオの具体的生成の処理手順を示す流れ図であり、すでに説明した図4の流れ図におけるステップ334からステップ336に相当する処理を示すものである。なお、図15では、ステップ334からステップ336の処理に個々には対応する表現にはなっていない。
【0096】
図15に示す処理においては、ステップ161からステップ168、およびステップ170、ステップ171について、ほぼ、図14に示したステップ143から150、およびステップ154、ステップ156とそれぞれ同様の処理が行なわれる。
【0097】
図15のステップ169の処理が、テストシナリオの自動生成に関する処理である。ステップ169は、ステップ168で1行分の設計仕様Xを取出すことを前提に開始される。すなわち、その後、まず、ルールを読み込んでかつステップ169c以降のルール長さ分のループ処理を行なうためのループ変数kを初期数に設定し(ステップ169a)、実行済みのルールを記入するリストQを空リスト([])に設定する(すなわちQ=[]とする(ステップ169a−1))。また、ルールのリストの長さ(既知)をL1とする(ステップ169b)。
【0098】
ステップ169cの後、k番目のルールを適用する(ステップ169d)。具体的には、Rkのルールの条件部が真で、かつ実行済ルールリストQにRkが含まれていない場合(ケース1)には、Rkのルールの実行部を実行し、実行済ルールリストQにはRkを追加する。この場合には、次にステップ169eに進む。また、Rkのルールの条件部が真で、かつ実行済ルールにRkが含まれている場合(ケース2)には、Rkの実行部は実行しない。このまま次にステップ169eに進む。また、Rkのルールの条件部が偽である場合(ケース3)には、何もせず、次には直接ステップ169kに進む。
【0099】
ステップ169eに進んだ場合には、次に、ステップ169g以降の順序リスト長さ分のループ処理を行なうためのループ変数lを初期数に設定し(ステップ169e)、順序リストの長さ(既知)をL2とする(ステップ169f)。
【0100】
次に、k番目のルールの次に適用するルールの順序リストのl番目のルールを抽出し(ステップ169h)、ルール番号を取得するとともにこのルールの条件部が真になる場合にその実行部を実行する(ステップ169i)。そしてl値を更新して(ステップ169j)、ステップ169g以降のループ処理を行う。
【0101】
順序リストにあるすべてのルールについて上記処理が終了したら(ステップ169gのY)、k値を更新し(ステップ169k)、ステップ169cからのループ処理を繰り返す。すべてのルールについて処理が終われば(ステップ169cのY)、j値またはi値を更新して(ステップ170、ステップ171)、同様に繰り返すことによりすべての処理を終了する。これによりテストシナリオXXXXを得ることができる。
【0102】
例えば、以下の場合:
【数14】
に、上記説明した図15の処理を行なうことにより、テストシナリオの確認項目(P)の要素に対し確認すべき項目をPのリストに追加し、テストシナリオを生成すると、図6に示した1行目の設計仕様について以下のようになる。
【0103】
すなわち、この場合には、ルールr2、ルールr9で条件部が真となり、これらの実行部が適用され、以下のシナリオが生成される。
Y=[No(“1”), ユースケース(“各種情報を照会する”), ユースケースシナリオ(C), タイプ(“その他”), 順序(“1”), 確認項目(“入力画面から動作実行後、遷移先画面への遷移が正しく行われることを確認する。指定した利用者の権限にて処理が正しく実行されることを確認する。”), アクタ(“顧客”),入力画面(“メニュー画面”), 入力データ(null), 動作(“「情報照会メニュ」をクリック”), テーブル([null]), 条件(null), メッセージ(null), 遷移先画面(“情報照会サブメニュー”), 出力帳票(null), 処理種別(“画面系”)]
【0104】
上記のようにして得られたYそれぞれを最下位の要素としてテストシナリオYYYYを得たら、次に、このテストシナリオを、図16、図17に示す表形式のテスト仕様書に変換して、ユーザに表示する。図16、図17は、図6に示した設計仕様に対応するテスト仕様の生成例を示す図である。ユーザは、表形式の幅・高さ、項目名、列行の追加などの編集を行って、所望のテスト仕様書の形式に整形後、テスト仕様書DB11に蓄積する。
【0105】
このあと、設計仕様の修正・変更やシナリオ生成ルールなどの追加・変更などがある場合には、図3に示す流れにより、そのステップ31に戻りテストシナリオ生成の処理を繰り返すことができる。以上により、図5に示すような画面遷移を備えたWebバンキングシステムにおけるテスト仕様作成方法の流れをひととおり説明した。この実施例の説明で明らかなように、処理機能の種類(例えば登録系/参照系/バッチ処理系などの種類)によりテストの内容や合格の判断基準が異なってもテスト仕様の自動生成が実現する。例えばGUI等の外部仕様に限らず、内部処理の設計仕様についてもテスト仕様の自動生成が可能になる。
【0106】
次に、設計仕様に追加を行い、これに対応してテストシナリオ(テスト仕様)を生成し直す例について以下説明する。図18は、図6に示した設計仕様情報に仕様の追加を行った設計仕様例を示す図である。この設計仕様では、図示するように「サービス名」の列181が追加され、この列に交わる各行において、実行する処理としての関連サービス名が示されている。
【0107】
仕様が追加されると、テストシナリオ生成ルール選択・生成部5において、追加仕様に関するメタルールが初期生成される。図19に、項目「サービス名」に関するメタルールの初期生成結果を示す。メタルールDB12には、図10に示したメタルールに加えて図19に示す「サービス名」に関するメタルールが追加・蓄積される。
【0108】
追加されたメタルールに基づいて、テストシナリオ生成ルールを新規追加する作業手順を図20〜図27に示す。図20〜図27は、追加されたメタルールに基づいてテストシナリオ生成ルールを新規追加する作業手順を、画面(出力制御部2の一部)に表示されるウインドウを用いて説明する図である。メタルールによるテストシナリオ生成ルールの定義は、メタルール表示ウィンドウ201(201A〜201F)およびテストシナリオ生成ルール定義ウインドウ202(202A〜202F)を通して、相互にデータの参照および連携をとりながら進めることができる。
【0109】
図20は、メタルール表示ウインドウ201およびテストシナリオ生成ルール定義ウインドウ202の初期画面を示している。メタルール表示ウインドウ201には、図10および図19にて定義したメタルール全体が表示される。テストシナリオ生成ルール定義ウインドウ202は、2つのウインドウにさらに分かれる。
【0110】
上部は、メタルール表示ウインドウ201での定義結果に基づいて、設計仕様に沿った条件式を構築する作業ウインドウ202a(202Aa〜202Fa)である。下部は、ルールNo.、条件部、実行部、次ルール、説明の項目からなり、テストシナリオ生成ルールを定義する作業ウインドウ202b(202Ab〜202Fb)である。なお、すでに説明した図13は、ウインドウ202bの表示内容の例を拡大して示したものに相当する。
【0111】
テストシナリオ生成ルールを作成するには、メタルール表示ウインドウ201での定義結果を利用して条件式を定義し(作業ウインドウ202a)、さらに、ここで定義した条件式を利用して、テストシナリオ生成ルール定義ウインドウ202の下部の作業ウインドウ202b内のルールNo.、条件部、実行部、次ルール、説明の項目を記載しながら定義して行なう。
【0112】
図21は、メタルール表示ウインドウ201Aで、新規に追加した「観点:サービス名」に関するルールを作成するために、「観点:サービス名」を選択していることを示す。図22は、マウス(入力制御部1の一部)のドラッグ&ドロップにより、選択した「観点:サービス名」をテストシナリオ生成ルール定義ウインドウ202Bの「観点」エリアに配置したことを示す。図示するように、「観点:サービス」の配置により、基準値:有、基準値:無の初期値が表示される。
【0113】
図23は、テストシナリオ生成ルール定義ウインドウ202Cにおいて、観点および基準値の情報を参照しながら、「条件式」を記載した結果を示している。ここで、ユーザは、必要に応じて、基準値を追加することができる。図24は、テストシナリオ生成ルール定義ウインドウ202Dにおいて、ユーザが必要に応じて、新たに「基準値:ログ出力」を定義し、「条件式」を追記したことを示している。
【0114】
次に、図24での観点、基準値、条件式を利用して、テストシナリオ生成ルール定義ウインドウ202Dの下部において、テストシナリオ生成ルールを定義する。図25は、「観点:サービス」の追加により、新規に作成されたルールr13およびr14を示している。
【0115】
なお、追加のテストシナリオ生成ルールの定義後には、メタルールへその追加・変更を反映させる。図26は、メタルール表示ウインドウ201Eに、「基準値:ログ出力」を追加している過程を示している。図27は、メタルール表示ウインドウに201F、「基準値:ログ出力」が追加されたことを示す。
【0116】
また、テストシナリオ生成ルールによるテストシナリオ生成後、「観点:サービス名」に関するメタルールには、ルールr13およびr14を作成した情報が反映される。図28は、ルールr13およびルールr14の適用後の「観点:サービス名」に関するメタルールを示す図である。
【0117】
以上説明のように、テストシナリオ生成ルールを追加することができる。この結果を用い、テストシナリオを再構成しテスト仕様を生成した例を図29に示す。図29は、図16に示した設計仕様を用いてテスト仕様を作成した例を示す図である。図29においてはサービス名の列291の追加がなされ、かつ、確認項目のうち欄292および293が、ルールr13およびルールr14の適用結果が反映されたものとなる。
【0118】
このように、テスト方針の蓄積・再利用を可能にして統一した手順でテスト仕様書を効率的に作成することができる。また、ソフトウェアの内部設計仕様に関する仕様から結合試験のテスト項目を自動生成し、テスト仕様作成の手間を軽減することができる。また、テストシナリオ生成ルールを作成するためのメタルールを備えることにより、設計仕様の拡張や変更に柔軟に対応して、テストシナリオの生成ルールの定義およびテストシナリオの生成を行うことができる。
【0119】
【発明の効果】
以上詳述したように、本発明では、テストシナリオ生成ルールを定義する手段を具備する。テストシナリオ生成ルールは、開発すべきソウトウエアのテストの観点および判断基準に関するノウハウを条件部および実行部のルール形式により表現したものである。定義されたテストシナリオ生成ルールにより、その条件部および実行部を用い、条件部と設計仕様とのマッチングをとって実行部を実行するという手順が提供される。この手順によれば、テスト方針の蓄積・再利用をテストシナリオ生成ルールの蓄積・再利用という形で可能にし、統一した手順でテスト仕様書を効率的に作成することが可能になる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るテスト仕様作成支援装置の構成を示すブロック図。
【図2】図1中に示したテストシナリオ生成部6についての内部構成例を示すブロック図。
【図3】図1に示したテスト仕様作成支援装置におけるテスト仕様書を作成する全体手順を示す流れ図。
【図4】図3中で説明したステップ33(テストシナリオの生成)内におけるやや詳細な手順の例を示す流れ図。
【図5】本発明の実施例としてのWebバンキングシステムにおける表示画面(その一部)の変化を示す遷移図。
【図6】図5に示した画面遷移を備えたWebバンキングシステムの設計仕様を示す仕様書の記述例を表わす図。
【図7】図6で説明した設計仕様を設計仕様DB8に保存するときの方式を説明する図。
【図8】メタルールの例を示す図。
【図9】図6に示す設計仕様を前提としたメタルールの一部を示す図。
【図10】図9に示すメタルールに対して、テストシナリオ生成ルールの定義(作成)後、これを、関連する「観点」に関連付けた結果を示す図。
【図11】テストシナリオ生成ルールDB9における保存方式を示す図。
【図12】テストシナリオDB10における保存方式を示す図。
【図13】ルールの入力、表示を行う画面の例を示す図。
【図14】テストシナリオを初期化する処理を示す流れ図。
【図15】図14に示す初期化処理に続くテストシナリオの具体的生成の処理手順を示す流れ図。
【図16】図6に示した設計仕様に対応するテスト仕様の生成例を示す図。
【図17】図16の続図であって、図6に示した設計仕様に対応するテスト仕様の生成例を示す図。
【図18】図6に示した設計仕様情報に仕様の追加を行った設計仕様例を示す図。
【図19】項目「サービス名」に関するメタルールの初期生成結果を示す図。
【図20】追加されたメタルールに基づいてテストシナリオ生成ルールを新規追加する作業手順を、画面(出力制御部2の一部)に表示されるウインドウを用いて説明する図。
【図21】図20の続図であって、追加されたメタルールに基づいてテストシナリオ生成ルールを新規追加する作業手順を、画面(出力制御部2の一部)に表示されるウインドウを用いて説明する図。
【図22】図21の続図であって、追加されたメタルールに基づいてテストシナリオ生成ルールを新規追加する作業手順を、画面(出力制御部2の一部)に表示されるウインドウを用いて説明する図。
【図23】図22の続図であって、追加されたメタルールに基づいてテストシナリオ生成ルールを新規追加する作業手順を、画面(出力制御部2の一部)に表示されるウインドウを用いて説明する図。
【図24】図23の続図であって、追加されたメタルールに基づいてテストシナリオ生成ルールを新規追加する作業手順を、画面(出力制御部2の一部)に表示されるウインドウを用いて説明する図。
【図25】「観点:サービス」の追加により、新規に作成されたルールr13およびr14を示す図。
【図26】図24の続図であって、追加されたメタルールに基づいてテストシナリオ生成ルールを新規追加する作業手順を、画面(出力制御部2の一部)に表示されるウインドウを用いて説明する図。
【図27】図26の続図であって、追加されたメタルールに基づいてテストシナリオ生成ルールを新規追加する作業手順を、画面(出力制御部2の一部)に表示されるウインドウを用いて説明する図。
【図28】ルールr13およびルールr14の適用後の「観点:サービス名」に関するメタルールを示す図。
【図29】図16に示した設計仕様を用いてテスト仕様を作成した例を示す図。
【符号の説明】
1…入力制御部 2…出力制御部 3…制御部 4…設計仕様の選択・入力部5…テストシナリオ生成ルール選択・生成部 6…テストシナリオ生成部 7…テスト仕様書作成部 8…設計仕様データベース 9…テストシナリオ生成ルールデータベース 10…テストシナリオデータベース 11…テスト仕様書データベース 12…テストシナリオ生成メタルールデータベース 61…設計仕様展開部 62…シナリオ生成ルール展開部 63…シナリオ生成エンジン 64…テストシナリオ展開部 201、201A、201B、201C、201D、201E、201F…メタルール表示ウインドウ 202、202A、202B、202C、202D、202E、202F…テストシナリオ生成ルール定義ウインドウ 202a、202Aa、202Ba、202Ca、202Da、202Ea、202Fa…作業ウインドウ 202b、202Ab、202Bb、202Cb、202Db、202Eb、202Fb…作業ウインドウ
Claims (13)
- 開発すべきソウトウエアのテストの観点および判断基準に関するノウハウを条件部および実行部のルール形式により表現したテストシナリオ生成ルールを、前記ソフトウエアの設計仕様から定義する手段と、
前記テストシナリオ生成ルールの条件部と前記ソフトウエアの設計仕様とのマッチングをとって、前記テストシナリオ生成ルールの実行部を実行することによりテストシナリオを生成する手段と
を具備することを特徴とするテスト仕様作成支援装置。 - 前記設計仕様を入力する手段と、
前記入力された設計仕様を蓄積する手段と、
前記蓄積された設計仕様の中から任意のものを取り出す手段と
をさらに具備することを特徴とする請求項1記載のテスト仕様作成支援装置。 - 前記定義されたテストシナリオ生成ルールを蓄積する手段と、
前記蓄積されたテストシナリオ生成ルールの中から任意のものを取り出す手段と
をさらに具備することを特徴とする請求項1記載のテスト仕様作成支援装置。 - 前記定義する手段は、前記ソフトウエアの前記設計仕様からテストの観点および判断基準を抽出する手段と、前記抽出された観点および判断基準に基づいて前記設計仕様から前記テストシナリオ生成ルールを定義する手段とを含むことを特徴とする請求項1記載のテスト仕様作成支援装置。
- 前記生成されたテストシナリオを蓄積する手段と、
前記蓄積されたテストシナリオの中から任意のものを取り出す手段と
をさらに具備することを特徴とする請求項1記載のテスト仕様作成支援装置。 - 前記生成する手段は、
前記設計仕様を展開保持する設計仕様展開保持部と、
前記テストシナリオ生成ルールを展開保持するテストシナリオ生成ルール展開保持部と、
前記展開保持された設計仕様と前記展開保持されたテストシナリオ生成ルールとからテストシナリオを生成するテストシナリオ生成エンジンと、
前記生成されたテストシナリオを展開保持するテストシナリオ展開保持部と
を含むことを特徴とする請求項1記載のテスト仕様作成支援装置。 - 開発すべきソウトウエアのテストの観点および判断基準に関するノウハウを条件部および実行部のルール形式により表現したテストシナリオ生成ルールを、前記ソフトウエアの設計仕様から定義するステップと、
前記テストシナリオ生成ルールの条件部と前記ソフトウエアの設計仕様とのマッチングをとって、前記テストシナリオ生成ルールの実行部を実行することによりテストシナリオを生成するステップと
を具備することを特徴とするテスト仕様作成方法。 - 前記定義するステップは、前記ソフトウエアの前記設計仕様からテストの観点および判断基準を抽出するステップと、前記抽出された観点および判断基準に基づいて前記設計仕様から前記テストシナリオ生成ルールを定義するステップとを含むことを特徴とする請求項7記載のテスト仕様作成方法。
- 前記生成するステップは、前記ソフトウエアの前記設計仕様から、生成すべきテストシナリオの項目および順序情報を抽出して前記生成すべきテストシナリオの初期情報を生成するステップを含むことを特徴とする請求項7記載のテスト仕様作成方法。
- 開発すべきソウトウエアのテストの観点および判断基準に関するノウハウを条件部および実行部のルール形式により表現したテストシナリオ生成ルールをデータベース化するデータベースの構築方法であって、
前記条件部には前記ソフトウエアのテストの観点が表現され前記実行部には前記条件部が前記ソフトウエアの設計仕様に含まれていた場合に実行する判断基準が表現されている前記テストシナリオ生成ルールの前記条件部と前記実行部とをまとめて個々のテストシナリオ生成ルールごとにノードとしてくくり、
前記ノード間に、該ノードに対応するテストシナリオ生成ルールを適用する順序情報を与える
ことを特徴とするデータベースの構築方法。 - 開発すべきソフトウエアの設計仕様情報をデータベース化するデータベースの構築方法であって、
前記設計仕様に含まれる個々の動作ごとの処理仕様をそれぞれノードとしてくくり、
前記ノード間に、該ノードに対応する処理仕様の流れを示す情報を与え、
前記ノード間に、ひとつのアプリケーションを示す情報を与える
ことを特徴とするデータベースの構築方法。 - 開発すべきソフトウエアのテストシナリオをデータベース化するデータベースの構築方法であって、
前記テストシナリオに含まれる個々のテストごとにノードとしてくくり、
前記ノード間に、該ノードに対応するテストの実施順序を示す情報を与える
ことを特徴とするデータベースの構築方法。 - 開発すべきソウトウエアのテストの観点および判断基準に関するノウハウを条件部および実行部のルール形式により表現したテストシナリオ生成ルールを、前記ソフトウエアの設計仕様から定義するステップと、
前記テストシナリオ生成ルールの条件部と前記ソフトウエアの設計仕様とのマッチングをとって、前記テストシナリオ生成ルールの実行部を実行することによりテストシナリオを生成するステップと
をコンピュータに実行させるテスト仕様作成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003007024A JP2004220330A (ja) | 2003-01-15 | 2003-01-15 | テスト仕様作成支援装置、テスト仕様作成方法、データベースの構築方法、テスト仕様作成プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003007024A JP2004220330A (ja) | 2003-01-15 | 2003-01-15 | テスト仕様作成支援装置、テスト仕様作成方法、データベースの構築方法、テスト仕様作成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004220330A true JP2004220330A (ja) | 2004-08-05 |
Family
ID=32897240
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003007024A Pending JP2004220330A (ja) | 2003-01-15 | 2003-01-15 | テスト仕様作成支援装置、テスト仕様作成方法、データベースの構築方法、テスト仕様作成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004220330A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006139616A (ja) * | 2004-11-12 | 2006-06-01 | Toshiba Corp | 設計情報検証装置および設計情報検証方法 |
JP2007066204A (ja) * | 2005-09-01 | 2007-03-15 | Hitachi Software Eng Co Ltd | ソフトウエア開発支援システム |
JP2011204069A (ja) * | 2010-03-26 | 2011-10-13 | Nec Corp | テスト方法およびテスト仕様書テストデータ自動生成装置 |
WO2014155941A1 (ja) * | 2013-03-29 | 2014-10-02 | 独立行政法人産業技術総合研究所 | テストデータ表示装置 |
JP2019197288A (ja) * | 2018-05-07 | 2019-11-14 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、その処理方法及びプログラム |
JP7344521B1 (ja) | 2022-12-05 | 2023-09-14 | 株式会社Shift | プログラム、方法、情報処理装置、及びシステム |
-
2003
- 2003-01-15 JP JP2003007024A patent/JP2004220330A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006139616A (ja) * | 2004-11-12 | 2006-06-01 | Toshiba Corp | 設計情報検証装置および設計情報検証方法 |
JP4630640B2 (ja) * | 2004-11-12 | 2011-02-09 | 株式会社東芝 | 設計情報検証装置および設計情報検証方法 |
JP2007066204A (ja) * | 2005-09-01 | 2007-03-15 | Hitachi Software Eng Co Ltd | ソフトウエア開発支援システム |
JP2011204069A (ja) * | 2010-03-26 | 2011-10-13 | Nec Corp | テスト方法およびテスト仕様書テストデータ自動生成装置 |
WO2014155941A1 (ja) * | 2013-03-29 | 2014-10-02 | 独立行政法人産業技術総合研究所 | テストデータ表示装置 |
JP2014197276A (ja) * | 2013-03-29 | 2014-10-16 | 独立行政法人産業技術総合研究所 | テストデータ表示装置 |
JP2019197288A (ja) * | 2018-05-07 | 2019-11-14 | キヤノンマーケティングジャパン株式会社 | 情報処理装置、その処理方法及びプログラム |
JP7256353B2 (ja) | 2018-05-07 | 2023-04-12 | キヤノンマーケティングジャパン株式会社 | 情報処理システム、その制御方法及びプログラム |
JP7344521B1 (ja) | 2022-12-05 | 2023-09-14 | 株式会社Shift | プログラム、方法、情報処理装置、及びシステム |
JP2024080972A (ja) * | 2022-12-05 | 2024-06-17 | 株式会社Shift | プログラム、方法、情報処理装置、及びシステム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5087133B2 (ja) | アプリケーション開発支援装置、プログラム及び記録媒体 | |
JP5350428B2 (ja) | 自動プログラム生成装置、方法及びコンピュータプログラム | |
CN106022007A (zh) | 面向生物组学大数据计算的云平台系统及方法 | |
CN107741950A (zh) | 数据同步任务的处理方法、装置、处理器及服务端 | |
JP6406890B2 (ja) | 情報処理装置 | |
US8612440B2 (en) | Computer based method and system for generating custom dynamic templates | |
US20060235861A1 (en) | Apparatus, system and method for supporting formation of customer-value creating scenario | |
JP6758167B2 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
JP5426938B2 (ja) | 情報処理装置、情報処理方法 | |
CN114912897A (zh) | 工作流执行方法、工作流编排方法及电子设备 | |
JP2004220330A (ja) | テスト仕様作成支援装置、テスト仕様作成方法、データベースの構築方法、テスト仕様作成プログラム | |
JP6223628B1 (ja) | 情報管理装置、情報管理方法および情報管理システム | |
JP2003141173A (ja) | データベース管理システム及びデータベース | |
CN114968032A (zh) | 业务处理方法、装置、设备及计算机可读存储介质 | |
JP2009069876A (ja) | ワークフローシステム、ワークフロー制御方法及びプログラム | |
JP2007299340A (ja) | 階層型ワークフローシステム | |
CN114115890A (zh) | 微服务开发方法及系统 | |
JP6730235B2 (ja) | アプリケーション稼働監視装置および監視方法 | |
JP6590753B2 (ja) | 簡易OpS装置、制御方法および制御プログラム | |
JP2010257327A (ja) | プロジェクト管理支援装置、プロジェクト管理支援方法、およびプロジェクト管理支援プログラム | |
JP2019175310A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP6256535B2 (ja) | 情報処理装置と、その処理方法及びプログラム | |
JP4327162B2 (ja) | 3次元形状データから形状情報を取得するシステム、その方法、及びコンピュータソフトウエアプログラム | |
JP5007609B2 (ja) | 製造指図作成プログラム及び製造指図作成装置 | |
JP2001273342A (ja) | 製品製造方法と製品製造支援方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060110 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080822 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080924 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090331 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090529 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090804 |