JP2005284484A - テストケース生成方法及びテストケース生成装置 - Google Patents

テストケース生成方法及びテストケース生成装置 Download PDF

Info

Publication number
JP2005284484A
JP2005284484A JP2004094771A JP2004094771A JP2005284484A JP 2005284484 A JP2005284484 A JP 2005284484A JP 2004094771 A JP2004094771 A JP 2004094771A JP 2004094771 A JP2004094771 A JP 2004094771A JP 2005284484 A JP2005284484 A JP 2005284484A
Authority
JP
Japan
Prior art keywords
factor
test case
equivalence
dependent
independent
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.)
Granted
Application number
JP2004094771A
Other languages
English (en)
Other versions
JP4580670B2 (ja
Inventor
Takahiro Ejiri
高宏 江尻
Katsuyuki Hosoda
勝幸 細田
Yoshifumi Ikeda
吉史 池田
Masayoshi Taira
正好 平良
Toru Matsuoya
徹 松尾谷
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.)
Japan Research Institute Ltd
Original Assignee
Japan Research Institute 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 Japan Research Institute Ltd filed Critical Japan Research Institute Ltd
Priority to JP2004094771A priority Critical patent/JP4580670B2/ja
Publication of JP2005284484A publication Critical patent/JP2005284484A/ja
Application granted granted Critical
Publication of JP4580670B2 publication Critical patent/JP4580670B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】 信頼性の高いコンピュータプログラムのテストを行うために必要となるテストケースを生成する方法を提供する。
【解決手段】 コンピュータプログラムの入力データ項目である複数のファクターがとり得る入力データの同値の組合せに基づいてテストケースを生成するテストケース生成方法において、単独で処理フローの分岐点となるファクターである独立系ファクターの同値を含む独立系ファクター情報と、複数で処理フローの分岐点となるファクターである依存系ファクターの同値を含む依存系ファクター情報とを取得するステップS401と、依存系ファクター情報に基づいて、依存系ファクターの同値の組合せを生成し、独立系ファクター情報に基づいて、独立系ファクターの同値の組合せを生成するステップS402と、生成された依存系ファクターの同値の組合せ及び独立系ファクターの同値の組合せを結合してテストケースを生成するステップS403とを有する。
【選択図】 図13

Description

本発明は、コンピュータプログラムが所望の処理を実行するか否かを判定するためのテストに用いられるテストケースを効率良く生成することができるテストケース生成方法、その方法を実施するためのテストケース生成装置、及びその方法をコンピュータに実施させるためのコンピュータプログラムに関する。
コンピュータプログラムの品質を検証するために、当該コンピュータプログラムが所望の処理を実行することができるか否かを判定するためのテストが行われる。信頼性の高いテストを行うためには、検証対象項目を漏れなくカバーした適切なテストケースを作成しなければならない。しかし、時間及び費用の都合上、実施することができるテストケースの数は限られてくる。そこで、いかにして少ないテストケースで検証対象項目を漏れなくカバーできるのかが問題となる。
非特許文献1では、テストケースの数を合理的に減少させる方法として、以下の3つのものが提案されている。
第一の手法は「同値分割法」である。同値分割法とは、「入力データを1つ1つ識別する代わりに同じ特性を持った部分集合としてとらえ、その部分集合に対して一つのテストを行う方法」をいう。ここで、上述したような部分集合を「同値」と呼び、コンピュータプログラムへの入力データ項目(以下、ファクターと言う)を同値に分けることを「同値分割」と呼ぶ。
この同値分割法では、コンピュータプログラムの仕様に基づいて、ファクターの値の無限の組合せが、有効な同値(コンピュータプログラムの仕様により正しい入力範囲として定義された部分集合)と無効な同値(有効な同値以外の部分集合であって、コンピュータプログラムの仕様により正しくない入力範囲として定義されたもの)とに集約される。そして、この同値のうちの特定の一つの入力に対してコンピュータプログラムが正しく動作した場合、その同値内の他の入力に対しても同様に正しく動作することが確認されたものとする。これにより、すべての入力データそれぞれについてコンピュータプログラムが正しく動作するか否かを確認する場合と比べて、少ないテストケースとすることができる。
また、第二の手法は「原因結果グラフ技法」である。原因結果グラフ技法とは、「テスト項目の設計において入力間の組合せを合理的に減少させ、かつテストの網羅性を維持する技法」をいう。より具体的には、同値分割を行った後に、コンピュータプログラムの各出力と論理的な関係を共有する入力同値のセットを求め、その入力同値(原因)と出力(結果)との関係をブール代数により表現して原因結果グラフを求める。そして、その原因結果グラフを表形式に表したデシジョンテーブルを作成し、そのデシジョンテーブルに基づいてテストケースを得る。このようにデシジョンテーブルにテスト項目をまとめることによりテスト項目間の重複を容易に確認することができるため、テストケースの数を抑制することができる。
さらに、第三の手法は「CFD(Case Flow Diagram:原因流れ図)技法」である。このCFD技法は、前述した原因結果グラフ技法を改良したものであり、同値分割についても図式で表現することにより、同値間の関係をより正確に表現することができる方法である。このようにして表現された同値間の関係に基づいて必要なテストケースを抽出する。ここで、CFD技法の場合、原因結果グラフ技法の場合と異なり、同値間の相互依存のテストをテストケースに含めない。これにより、原因結果グラフ技法と比べて、テストケースの数をより少なくすることができる。
松本正雄,小山田正史,松尾谷徹,「ソフトウェア開発・検証技法」,電子情報通信学会,1997年,p.139-155
ところで、ファクターは次の2種類のものに分けることがある。一つは単独で処理フローに影響を与える、すなわち処理フローの分岐点となるファクター(以下、独立系ファクターという)で、もう一つは複数で処理フローの分岐点となるファクター(依存系ファクターという)である。以下、独立系ファクターとその他のファクターとの間の関係を独立関係と呼び、依存系ファクター間の関係を依存関係と呼ぶことにする。
前述したとおり、CFD技法の場合、同値間の相互依存のテストをテストケースに含めていない。これは、すべてのファクター間には独立関係が成立していることを前提としているためである。したがって、CFD技法の場合、ファクター間に依存関係が成立している場合については考慮していない。しかしながら、通常の場合では依存関係が成立している依存系ファクターが存在していることがほとんどであり、その依存系ファクターを独立系ファクターとして処理した場合、検証すべき同値の組合せを見落とすおそれがある。そのため、CFD技法を用いてテストケースを生成すると、テストケースの数を抑制することができる一方で、必要なテストケースが欠落するという問題があった。
また、すべてのファクターが独立系ファクターである、またはすべてのファクターが依存系ファクターであるということは極めて稀であり、通常では、独立系ファクターと依存系ファクターとが混在している。しかしながら、この点を考慮したテストケース生成方法はこれまで提案されておらず、その結果必要なテストケースを効率良く生成することができないという問題があった。
本発明は斯かる事情に鑑みてなされたものであり、その目的は、ファクター間の独立関係及び依存関係の双方に対応したテストケースを生成することにより、必要なテストケースを効率良く生成することができるテストケース生成方法、その方法を実施するためのテストケース生成装置、及びその方法をコンピュータに実施させるためのコンピュータプログラムを提供することにある。
前述した課題を解決するために、本発明に係るテストケース生成方法は、コンピュータプログラムの入力データ項目である複数のファクターがとり得る入力データのうち所定の特性を有している入力データである同値の組合せに基づいて、前記コンピュータプログラムをテストするためのテストケースを生成するテストケース生成方法において、単独で処理フローの分岐点となるファクターである独立系ファクターの同値を少なくとも含む独立系ファクター情報と、複数で処理フローの分岐点となるファクターである依存系ファクターの同値を少なくとも含む依存系ファクター情報とを取得するステップと、取得された依存系ファクター情報に基づいて、依存系ファクターの同値の組合せを生成するステップと、取得された独立系ファクター情報に基づいて、独立系ファクターの同値の組合せを生成するステップと、生成された依存系ファクターの同値の組合せ及び独立系ファクターの同値の組合せを結合してテストケースを生成するステップとを有することを特徴とする。
前記発明に係るテストケース生成方法において、前記依存系ファクターの同値の組合せを生成するステップは、相互に依存関係にある依存系ファクターのグループを生成するステップと、生成されたグループ毎に依存系ファクターの同値の網羅的な組合せを生成するステップと、CFD技法を用いて、生成された依存系ファクターの同値の組合せを結合するステップとを有することが好ましい。
また、前記発明に係るテストケース生成方法において、前記独立系ファクターの同値の組合せを生成するステップは、CFD技法を用いて、独立系ファクターの同値の組合せを生成することが好ましい。
また、前記発明に係るテストケース生成方法において、前記テストケースを生成するステップは、CFD技法を用いて、生成された依存系ファクターの同値の組合せ及び独立系ファクターの同値の組合せを結合してテストケースを生成することが好ましい。
また、前記発明に係るテストケース生成方法において、ファクターの同値を少なくとも含むファクター情報を格納するファクター情報データベースから所定のファクター情報を検索するステップと、検索されたファクター情報と、前記取得された独立系ファクター情報及び/又は依存系ファクター情報とを比較するステップと、比較した結果に基づいて、前記検索されたファクター情報の同値と前記取得された独立系ファクター情報及び/又は依存系ファクター情報の同値とが異なるか否かを判定するステップと、異なると判定された場合、異なる同値に関する同値アンマッチ情報を出力するステップとをさらに有することが好ましい。
さらに、前記発明に係るテストケース生成方法において、前記取得された依存系ファクター情報及び前記取得された独立系ファクター情報には、ファクターの同値が処理フローを終了させるための同値である無効系同値であるか否かを示す情報が含まれており、前記依存系ファクターの同値の組合せを生成するステップ及び前記独立系ファクターの同値の組合せを生成するステップは、無効系同値を含む同値の組合せを生成し、前記テストケースを生成するステップは、無効系同値を含む同値の組合せを用いて生成されたテストケースであるか否かを示す情報を付加したテストケースを生成することが好ましい。
また、本発明に係るテストケース生成装置は、コンピュータプログラムの入力データ項目である複数のファクターがとり得る入力データのうち所定の特性を有している入力データである同値の組合せに基づいて、前記コンピュータプログラムをテストするためのテストケースを生成するように構成されているテストケース生成装置において、単独で処理フローの分岐点となるファクターである独立系ファクターの同値を少なくとも含む独立系ファクター情報と、複数で処理フローの分岐点となるファクターである依存系ファクターの同値を少なくとも含む依存系ファクター情報とを取得するファクター情報取得手段と、当該ファクター情報取得手段によって取得された依存系ファクター情報に基づいて、依存系ファクターの同値の組合せを生成する依存系同値組合せ生成手段と、前記ファクター情報取得手段によって取得された独立系ファクター情報に基づいて、独立系ファクターの同値の組合せを生成する独立系同値組合せ生成手段と、前記依存系同値組合せ生成手段によって生成された依存系ファクターの同値の組合せ及び前記独立系同値組合せ生成手段によって生成された独立系ファクターの同値の組合せを結合してテストケースを生成するテストケース生成手段とを備えることを特徴とする。
前記発明に係るテストケース生成装置において、前記依存系ファクター同値組合せ生成手段は、相互に依存関係にある依存系ファクターのグループを生成し、生成されたグループ毎に依存系ファクターの同値の網羅的な組合せを生成し、CFD技法を用いて、生成された依存系ファクターの同値の組合せを結合するように構成されていることが好ましい。
また、前記発明に係るテストケース生成装置において、前記独立系ファクター同値組合せ生成手段は、CFD技法を用いて、独立系ファクターの同値の組合せを生成するように構成されていることが好ましい。
また、前記発明に係るテストケース生成装置において、前記テストケース生成手段は、CFD技法を用いて、生成された依存系ファクターの同値の組合せ及び独立系ファクターの同値の組合せを結合してテストケースを生成するように構成されていることが好ましい。
また、前記発明に係るテストケース生成装置において、ファクターの同値を少なくとも含むファクター情報を格納するファクター情報データベースから所定のファクター情報を検索するファクター情報検索手段と、当該ファクター情報検索手段によって検索されたファクター情報と、前記ファクター情報取得手段によって取得された独立系ファクター情報及び/又は依存系ファクター情報とを比較するファクター情報比較手段と、当該ファクター情報比較手段による比較の結果に基づいて、前記検索されたファクター情報の同値と前記取得された独立系ファクター情報及び/又は依存系ファクター情報の同値とが異なるか否かを判定する判定手段と、当該判定手段によって異なると判定された場合、異なる同値に関する同値アンマッチ情報を出力する出力手段とをさらに備えることが好ましい。
さらに、前記発明に係るテストケース生成装置において、前記取得された依存系ファクター情報及び前記取得された独立系ファクター情報には、ファクターの同値が処理フローを終了させるための同値である無効系同値であるか否かを示す情報が含まれており、前記依存系同値組合せ生成手段及び前記独立系同値組合せ生成手段は、無効系同値を含む同値の組合せを生成するように構成され、前記テストケース生成手段は、無効系同値を含む同値の組合せを用いて生成されたテストケースであるか否かを示す情報を付加したテストケースを生成するように構成されていることが好ましい。
また、本発明に係るコンピュータプログラムは、コンピュータに、テスト対象コンピュータプログラムの入力データ項目である複数のファクターがとり得る入力データのうち所定の特性を有している入力データである同値の組合せに基づいて、前記テスト対象コンピュータプログラムをテストするためのテストケースを生成させるためのコンピュータプログラムにおいて、前記コンピュータに、単独で処理フローの分岐点となるファクターである独立系ファクターの同値を少なくとも含む独立系ファクター情報と、複数で処理フローの分岐点となるファクターである依存系ファクターの同値を少なくとも含む依存系ファクター情報とを取得させる手順と、取得された依存系ファクター情報に基づいて、依存系ファクターの同値の組合せを生成させる手順と、取得された独立系ファクター情報に基づいて、独立系ファクターの同値の組合せを生成させる手順と、生成された依存系ファクターの同値の組合せ及び独立系ファクターの同値の組合せを結合してテストケースを生成させる手順とを実行させる。
前記発明に係るコンピュータプログラムにおいて、前記依存系ファクターの同値の組合せを生成させる手順は、前記コンピュータに、相互に依存関係にある依存系ファクターのグループを生成させ、生成されたグループ毎に依存系ファクターの同値の網羅的な組合せを生成させ、CFD技法を用いて、生成された依存系ファクターの同値の組合せを結合させることが好ましい。
また、前記発明に係るコンピュータプログラムにおいて、前記独立系ファクターの同値の組合せを生成させる手順は、前記コンピュータに、CFD技法を用いて、独立系ファクターの同値の組合せを生成させることが好ましい。
また、前記発明に係るコンピュータプログラムにおいて、前記テストケースを生成させる手順は、前記コンピュータに、CFD技法を用いて、生成された依存系ファクターの同値の組合せ及び独立系ファクターの同値の組合せを結合してテストケースを生成させることが好ましい。
また、前記発明に係るコンピュータプログラムにおいて、前記コンピュータに、ファクターの同値を少なくとも含むファクター情報を格納するファクター情報データベースから所定のファクター情報を検索させる手順と、検索されたファクター情報と、前記取得された独立系ファクター情報及び/又は依存系ファクター情報とを比較させる手順と、比較の結果に基づいて、前記検索されたファクター情報の同値と前記取得された独立系ファクター情報及び/又は依存系ファクター情報の同値とが異なるか否かを判定させる手順と、異なると判定された場合、異なる同値に関する同値アンマッチ情報を出力させる手順とをさらに実行させることが好ましい。
さらに、前記発明に係るコンピュータプログラムにおいて、前記取得された依存系ファクター情報及び前記取得された独立系ファクター情報には、ファクターの同値が処理フローを終了させるための同値である無効系同値であるか否かを示す情報が含まれており、前記依存系ファクターの同値の組合せを生成する手順及び前記独立系ファクターの同値の組合せを生成する手順は、前記コンピュータに、無効系同値を含む同値の組合せを生成させ、前記テストケースを生成する手順は、前記コンピュータに、無効系同値を含む同値の組合せを用いて生成されたテストケースであるか否かを示す情報を付加したテストケースを生成させることが好ましい。
本発明のテストケース生成方法、その方法を実施するためのテストケース生成装置、及びその方法をコンピュータに実施させるためのコンピュータプログラムは、信頼性の高いコンピュータプログラムのテストを行うために必要なテストケースを生成することができ、しかもそのテストケースの数を抑制することができる。
以下、本発明の実施の形態について図面を参照しながら詳述する。
(実施の形態1)
図1は、本発明の実施の形態1に係るテストケース生成装置の構成を示すブロック図である。図1に示すように、テストケース生成装置はCPU10を備えており、CPU10はバスを介して後述する各ハードウェアと接続されている。そして、CPU10は、それらのハードウェアの動作を制御するとともに、メモリ12にロードされるコンピュータプログラムを実行する。これにより、テストケース生成装置は、後述するような処理を実行することができる。
メモリ12は、例えばDRAM又はSRAM等で構成され、コンピュータプログラムの実行時において発生する一時的なデータ等を記憶する。
表示部14は、CRT又は液晶ディスプレイ等で構成され、後述するようにして生成されるテストケースを示したファイル等を出力する。また、入力部16は、キーボード及びマウス等で構成され、テストケース生成装置に対してユーザが各種の指示等をする場合に用いられる。
外部記憶装置20は、例えばCD−ROMドライブ又はフレキシブルディスクドライブ等で構成され、本発明のコンピュータプログラム(テストケース生成プログラム30)が記録されているCD−ROM又はフレキシブルディスク等の可搬型記録媒体22からテストケース生成プログラム30を読み取る。
なお、テストケース生成装置は、前述したようにして外部記憶装置20が可搬型記録媒体22から読み取る以外の方法によって本発明のテストケース生成プログラム30を取得することができる。例えば、インターネット等の通信ネットワークに接続されているデータベース(図示せず)がテストケース生成プログラム30を記憶しているような場合であれば、このデータベースからダウンロードすることによってテストケース生成装置がテストケース生成プログラム30を取得することができる。
ハードディスク18は、読み書き可能な磁気ディスク等で構成され、テストケース生成装置の動作に必要なコンピュータプログラムであるテストケース生成プログラム30及びOS(オペレーティングシステム)32、並びに各種のデータ等を記憶している。
なお、このハードディスク18には、ファクターDB34及びコードDB36が格納されている。ファクターDB34には、テスト対象となるコンピュータプログラムの入力データ項目であるファクターに関するファクター情報が格納されている。このファクター情報には、例えばファクターの名称、ファクターの同値、ファクターがコード型であるか(ファクターの同値がコード値であるか)又は論理型であるか(ファクターの同値が真偽の何れかの論理値であるか)を示すデータ等が含まれている。一方、コードDB36には、コード型のファクターがとりうるコード値を示すコード値情報が格納されている。
次に、以上のように構成されたテストケース生成装置の動作について説明する。
図2は、テスト対象となるコンピュータプログラム(以下、テスト対象プログラムという)の仕様書の例を示す図である。図2には、クレジットカードの使用により生じた売上に関するカード売上データをコンピュータシステムに登録する機能を有するコンピュータプログラムの仕様書の一部が例示されている。このテスト対象プログラムの処理概要は、図2に示されているように以下のとおりである。
まず、テスト対象プログラムは、使用されたクレジットカードが解約されているか否かを判別するためのカード解約チェック、及び使用されたクレジットカードが不正なものであるか否かを判別するための不正カードチェックを行う。
カード解約チェックにおいて、テスト対象プログラムは、ファクター「カード解約チェック」の同値に基づいて、使用されたクレジットカードが既に解約されていると判別された場合は処理を終了する。一方、解約されていないと判別された場合は処理を継続する。また、不正カードチェックにおいて、テスト対象プログラムは、ファクター「不正カードチェック」の同値に基づいて、使用されたクレジットカードが不正なものであると判別した場合は売上データ中のカード種別に「不正カード」を示す情報をセットする。一方、不正なものではないと判別した場合は処理を継続する。
次に、テスト対象プログラムは、ショッピングリボルビング払いの申請が事前になされているか否かを判別するためのショッピングリボ事前申請チェックを行う。
このショッピングリボ事前申請チェックにおいて、テスト対象プログラムは、ファクター「売上受入区分」の同値が「1回払い」である場合であって、ショッピングリボの事前申請があるときには売上データ中の顧客決済区分に「ショッピングリボ」をセットし、ショッピングリボの事前申請がないときには同じく顧客決済区分に「1回払い」をセットする。なお、ここでショッピングリボの事前申請があるか否かの判別はファクター「Sリボ事前申請チェック」の同値に基づいてなされる。一方、ファクター「売上受入区分」の同値が「1回払い以外」である場合は売上データ中の顧客決済区分にファクター「売上受入区分」の同値をセットする。
次に、テスト対象プログラムは、ショッピングリボルビング払いが停止となっているか否かを判別するためのショッピングリボ停止チェックを行う。
このショッピングリボ停止チェックにおいて、テスト対象プログラムは、ファクター「顧客決済区分」が「ショッピングリボ」である場合であって、ショッピングリボが停止となっているときには売上データ中の顧客決済区分に「1回払い」をセットし、ショッピングリボが停止となっていないときには同じく顧客決済区分に「ショッピングリボ」をセットする。なお、ここでショッピングリボが停止となっているか否かの判別はファクター「Sリボ停止チェック」の同値に基づいてなされる。一方、ファクター「顧客決済区分」の同値がショッピングリボ以外の場合は何の処理もしない。
さらに、テスト対象プログラムは、キャッシングリボルビング払いが停止となっているか否かを判別するためのキャッシングリボ停止チェックを行う。
このキャッシングリボ停止チェックにおいて、テスト対象プログラムは、ファクター「顧客決済区分」が「キャッシングリボ」である場合であって、キャッシングリボが停止となっているときには売上データ中の顧客決済区分に「1回払い」をセットし、キャッシングリボが停止となっていないときには同じく顧客決済区分に「キャッシングリボ」をセットする。なお、ここでキャッシングリボが停止となっているか否かの判別はファクター「Cリボ停止チェック」の同値に基づいてなされる。一方、ファクター「顧客決済区分」の値がキャッシングリボ以外の場合は何の処理もしない。
以上のような処理の概要が記載されているテスト対象プログラムの仕様書に基づいて、ユーザは、ファクターの内容を示すファクター表を作成し、入力部16を用いて、そのファクター表をテストケース生成装置に対して入力する。
図3は、本発明の実施の形態1に係るテストケース生成装置に入力されるファクター表の例を示す図である。図3に示すとおり、ファクター表には、ファクターの名称を格納するためのファクター名フィールド51,独立系ファクター又は依存系ファクターの何れであるのかを示す情報を格納するための独立/依存フィールド52,ファクターの値がコード値であるか否かを示す情報を格納するためのコード値フィールド53,同じく真偽の何れかの論理値であるか否かを示す情報を格納するための論理値フィールド54,同値の内容を示す同値情報を格納するための同値フィールド55,及び依存系ファクターである場合に依存関係にあるファクターの名称を格納するための依存先ファクター名フィールド56が設けられている。
ここで、独立系ファクターとは他のファクターとの間で依存関係が成立していないファクターを意味し、依存系ファクターとは他のファクターとの間で依存関係が成立しているファクターを意味する。また、独立/依存フィールド52に「1」が格納されていれば独立系ファクターであることを意味し、「2」が格納されていれば依存系ファクターであることを意味する。さらに、コード値フィールド53及び論理値フィールド54に「1」が格納されていれば、ファクターの値がコード値であること及び論理値であることをそれぞれ意味し、同じく「0」が格納されていれば、ファクターの値がコード値ではないこと及び論理値ではないことをそれぞれ意味する。
なお、本実施の形態では、図3に示すようなファクター表をユーザが作成することとしているが、このファクター表を生成するために必要な情報をテスト対象プログラムの仕様書に明記しておき、その仕様書をテストケース生成装置に対して入力することにより、テストケース生成装置が自動的にファクター表を生成するようにしてもよい。
テストケース生成装置に対してユーザにより入力されたファクター表は、テストケース生成装置のハードディスク18に記憶される。その後、テストケース生成装置は、ユーザの指示にしたがって次の4つの処理、(1)ファクターリストの生成、(2)独立系ファクターに関する同値パターン(同値の組合せ)の生成、(3)依存系ファクターに関する同値パターンの生成、(4)テストケースの生成を実行する。
[ファクターリストの生成]
図4は、ファクターリストを生成する場合における本発明の実施の形態1に係るテストケース生成装置の動作の流れを示すフローチャートである。
まず、テストケース生成装置は、ハードディスク18に記憶されているファクター表を読み込む(S101)。そして、テストケース生成装置は、そのファクター表の独立/依存フィールド52に格納されている情報を参照して独立系ファクター及び依存系ファクターの別を確認し、その結果に基づいて、独立系ファクターに関する情報を納めるための独立系ファクターリストファイル及び依存系ファクターに関する情報を納めるための依存系ファクターリストファイルを生成する(S102)。
次に、テストケース生成装置は、ハードディスク18に格納されているファクターDB34を参照し、ファクター表に格納されているファクターに関するファクター情報を取得する(S103)。また、同様にしてコードDB36を参照し、ファクター表に格納されているファクターに関するコード値情報を取得する(S104)。
次に、テストケース生成装置は、ステップS103にて取得したファクター情報及びS104にて取得したコード値情報から、ファクター表に格納されているファクターの同値を示す同値情報を抽出し、その同値情報とファクター表の同値フィールド55に格納されている同値情報とが同じであるか否かを判定する(S105)。ここで同じであると判定した場合(S105でYES)は後述するステップS108へ進む。一方、同じではないと判定した場合(S105でNO)、テストケース生成装置は、異なっている同値を示す同値アンマッチリストファイルを生成し(S106)、その生成した同値アンマッチリストファイルを表示部14上に表示する(S107)。
図25は、前述したようにして生成された同値アンマッチリストファイルの例を示す図である。ここでは、ファクター「売上受入区分」の同値として、ファクター表にはない「回数指定払い(均等)」、「回数指定払い(ボーナス併用)」がファクターDB34に格納されているものとする。そのため、図25に示す同値アンマッチリストファイルでは、ファクター「売上受入区分」の同値が、ファクター表とファクターDBとに分けられて対応して表示されている。
このようにして表示部14上に表示された同値アンマッチリストファイルを参照することにより、ユーザは、自己が行った設計に誤りがなかったかどうか等を確認することが可能となる。
ところで、ファクター表には必要な情報が欠落している場合があり得る。図3を参照すると、ファクター「不正カードチェック」についてのコード値フィールド53の値、論理値フィールド54の値、及び同値フィールド55の値が欠落している。そこで、テストケース生成装置は、ステップS103においてファクター「不正カードチェック」に関するファクター情報をファクターDB34から取得し、これらの不足している値を得る。なお、ファクター情報を取得した結果、例えばファクター「不正カードチェック」が論理型であることが判明した場合、このファクターの同値を自動的に「あり、なし」に設定するようにしてもよい。
また、図3を参照すると、ファクター「売上受入区分」の同値フィールド55の値が欠落している。そこで、テストケース生成装置は、ステップS104においてファクター「売上受入区分」に関するコード値情報をコードDB36から取得し、このファクターの同値(例えば「1回払い、1回払い以外」)を取得する。
このようにファクターDB34及びコードDB36それぞれからファクター情報及びコード値情報を得ることにより、ファクター表で不足している情報を補うことができるため、ファクター表を完全に作成しなくても済む場合があり、ユーザの負担を軽減すること等が可能となる。
次に、テストケース生成装置は、ファクター表に格納されている各種の情報、ステップS103にて取得したファクター情報、及びステップS104にて取得したコード値情報を独立系ファクターリストファイル及び依存系ファクターリストファイルに出力することにより、これらの独立系ファクターリストファイル及び依存系ファクターリストファイルを更新し(S108)、ハードディスク18に記憶する(S109)。
図5は、前述したようにして生成された独立系ファクターリストファイルの例を示す図である。図5に示すように、独立系ファクターリストファイルには、図3に示すファクター表の独立系/依存系フィールド52,ファクター名フィールド51及び同値フィールド55と同様の独立/依存フィールド101,ファクター名フィールド102及び同値フィールド103が設けられている。また、一つのファクターに対して、そのファクターの同値の数と同じ行数のレコードが設けられており、同値フィールド103には各レコードにつき一つの同値のみが格納されている。
また、図6は、前述したようにして生成された依存系ファクターリストファイルの例を示す図である。図6に示すように、依存系ファクターリストファイルには、図3に示すファクター表の独立系/依存系フィールド52,依存先ファクター名フィールド56,ファクター名フィールド51及び同値フィールド55と同様の独立/依存フィールド111,依存先ファクター名フィールド112,ファクター名フィールド113及び同値フィールド114が設けられている。また、独立系ファクターリストファイルの場合と同様に、一つのファクターに対して、そのファクターの同値の数と同じ行数のレコードが設けられており、同値フィールド114には各レコードにつき一つの同値のみが格納されている。
なお、このようにして生成された独立系ファクターリストファイル及び依存系ファクターリストファイルに基づいてファクターDB34を更新することにより、ファクターDB34に新たなファクター情報を格納させて次回のテストケース生成に備えるようにしてもよい。
[独立系ファクターに関する同値パターンの生成]
図7は、独立系ファクターに関する同値パターンを生成する場合における本発明の実施の形態1に係るテストケース生成装置の動作の流れを示すフローチャートである。
まず、テストケース生成装置は、ハードディスク18に記憶されている独立系ファクターリストファイルを読み込む(S201)。そして、テストケース生成装置は、その独立系ファクターリストファイルに後述する同値パターンを格納するための同値パターンフィールドを追加した独立系同値パターンファイルを生成する(S202)。なお、同値パターンフィールドには、生成する同値パターンの数と同じ数の列が設けられる。
次に、テストケース生成装置は、生成した独立系同値パターンファイルに基づいて、独立系ファクターの同値の数の最大値nを取得する(S203)。その後、テストケース生成装置は、変数mに1をセット(S204)した後、各独立系ファクターについて、同値のm番目の行であって同値パターンフィールドのm番目の列に‘○’をセットする(S205)。そして、テストケース生成装置は、nとmとの値を比較し、nとmとが同一の値であるか否かを判定する(S206)。ここで、同一ではないと判定した場合(S206でNO)、テストケース生成装置は、mにm+1をセット(S207)した後、再度ステップS205及びS206を実行する。そして、ステップS206においてnとmとの値が同一であると判定した場合(S206でYES)、テストケース生成装置は、独立系同値パターンを記憶する(S208)。
なお、独立系ファクターが複数ある場合であって、ある独立系ファクターの同値の数が他の独立系ファクターの同値の数よりも少ないとき、ステップS205において、その独立系ファクターについて同値のm番目の行が存在しない事態が生じ得る。そのような場合は、任意の行の同値パターンフィールドのm番目の列に‘○’をセットすればよい。したがって、ステップS205において、例えば当該独立系ファクターの最新に‘○’がセットされた行の同値パターンフィールドのm番目の列に‘○’をセットすればよい。このように処理しても問題ないのは、既にすべての同値について‘○’がセットされているファクターの場合、それ以降のテストケースではどの同値でテストしても問題がないためである。
図8は、前述したようにして生成された独立系同値パターンファイルの例を示す図である。図8に示すように、独立系同値パターンファイルには、図5に示す独立系ファクターリストファイルと同様の独立/依存フィールド121,ファクター名フィールド122,及び同値フィールド123、並びに前述した同値パターンフィールド124が設けられている。
前述したように処理が実行された結果、図8に示すとおりに同値パターンフィールド124には‘○’がセットされている。図8に示す例の場合、2つの同値パターンが生成されたことになる。
なお、図7のフローチャートを参照して説明した処理は、各ファクターが独立関係であることを前提にしたCFD技法に則したものである。したがって、以下では、このような処理を行うことを「CFD技法を用いて処理を行う」と表現する。
[依存系ファクターに関する同値パターンの生成]
図9は、依存系ファクターに関する同値パターンを生成する場合における本発明の実施の形態1に係るテストケース生成装置の動作の流れを示すフローチャートである。
まず、テストケース生成装置は、ハードディスク18に記憶されている依存系ファクターリストファイルを読み込む(S301)。そして、テストケース生成装置は、その依存系ファクターリストファイルを参照して依存関係にあるファクターをグルーピングする(S302)。図6に示す依存系ファクターリストファイルの例の場合、ファクター「Sリボ事前申請チェック」及び「売上受入区分」が一つのグループとなり、ファクター「Sリボ停止チェック」、「Cリボ停止チェック」及び「顧客決済区分」が一つのグループとなる。以下、このようにして生成されたグループを依存系ファクターグループと呼ぶ。
次に、テストケース生成装置は、依存系ファクターグループ毎に、依存系ファクターリストファイルに同値パターンを格納するための同値パターンフィールドを追加した依存系同値パターンファイルを生成する(S303)。なお、独立系同値パターンファイルの生成の場合と同様に、この同値パターンフィールドには生成する同値パターンの数と同じ数の列が設けられる。
次に、テストケース生成装置は、複数の依存系ファクターグループのうち特定の一つの依存系ファクターグループを選択し(S304)、その依存系ファクターグループ内のファクターの同値の組合せが網羅的になるように、当該依存系ファクターグループに係る依存系同値パターンファイルの同値パターンフィールドの列に‘○’をセットする(S305)。そして、テストケース生成装置は、このようにして‘○’がセットされた依存系同値パターンファイルをハードディスク18に記憶する(S306)。
その後、テストケース生成装置は、すべての依存系ファクターグループを選択したか否かを判定する(S307)。ここで、まだ選択されていない依存系ファクターグループがあると判定した場合(S307でNO)、テストケース生成装置はステップS304に戻る。一方、すべての依存系ファクターグループを選択したと判定した場合(S307でYES)、テストケース生成装置は後述するステップS308へ進む。
図10及び図11は、前述したようにして生成された依存系同値パターンファイルの例を示す図である。図10及び図11に示すように、依存系同値パターンファイルには、図6に示す依存系ファクターリストファイルの独立/依存フィールド111,依存先ファクター名フィールド112,ファクター名フィールド113及び同値フィールド114と同様の独立/依存フィールド131,依存先ファクター名フィールド132,ファクター名フィールド133及び同値フィールド134、並びに前述した同値パターンフィールド134が設けられている。
図10には、ファクター「Sリボ事前申請チェック」及び「売上受入区分」から構成される依存系ファクターグループに係る依存系同値パターンファイルが示されている。この依存系ファクターグループの場合、2つのファクターの同値が2個あるため、前述したような処理が実行された結果、図10に示すとおりに同値パターンフィールド135に‘○’がセットされ、4(=2×2)個の同値パターンが生成される。
また、図11には、ファクター「Sリボ停止チェック」、「Cリボ停止チェック」及び「顧客決済区分」から構成される依存系ファクターグループに係る依存系同値パターンファイルが示されている。この依存系ファクターグループの場合、ファクター「顧客決済区分」の同値が7個あり、その他の2つのファクターの同値が2個ずつあるため、前述したようにして処理が実行された結果、図11に示すとおりに同値パターンフィールド135に‘○’がセットされ、28(=7×2×2)個の同値パターンが生成される。
なお、ファクター間の依存関係を考慮した場合、不要となる同値パターンが存在することがある。例えば、図10に示す同値パターンの場合、ファクター「売上受入区分」の同値が「1回払い以外」のときはファクター「Sリボ事前申請チェック」の同値が「あり」又は「ない」の何れかでも良い。したがって、図10に示す3番目の同値パターンは不要となる。その結果、この依存系グループの場合、図10に示す1番目、2番目、及び4番目の3個の同値パターンで足りる。
また、図11に示す同値パターンの場合、ファクター「Sリボ停止チェック」の同値が「あり」の同値パターンはファクター「顧客決済区分」の同値が「ショッピングリボ」のときだけでよい。同様に、ファクター「Cリボ停止チェック」の同値が「あり」の同値パターンはファクター「顧客決済区分」の同値が「キャッシングリボ」のときだけでよい。その結果、28個の同値パターンのうち21個は不要となり、同値パターンは7個あれば足りることになる。
このように不要な同値パターンが存在していることを確認したユーザは、それらの不要な同値パターンを削除するようにテストケース生成装置に指示することができる。以下ではこの削除指示がなされ、テストケース生成装置において不要な同値パターンを削除するように依存系同値パターンファイルを更新したものとして説明する。なお、このように不要な同値パターンを削除する処理は任意のものであり、必要に応じて実行すればよい。
テストケース生成装置は、以上のようにしてハードディスク18に記憶された各依存系ファクターグループに係る依存系同値パターンファイルを読み込み、読み込んだ複数の依存系同値パターンファイルを結合する(S308)。ここで、各依存系ファクターグループ間には独立関係が成立している。したがって、ステップS308における結合処理は、CFD技法を用いて行われる。その結果、図12に示す結合処理後の依存系同値パターンファイルのとおりに同値パターンフィールド135に‘○’がセットされた7個の同値パターンが生成される。
最後に、テストケース生成装置は、結合処理の結果得られた依存系同値パターンファイルをハードディスク18に記憶する(S309)。
[テストケースの生成]
図13は、テストケースを生成する場合における本発明の実施の形態1に係るテストケース生成装置の動作の流れを示すフローチャートである。
まず、テストケース生成装置は、ハードディスク18に記憶されている独立系同値パターンファイル及び依存系同値パターンファイルを読み込む(S401)。また、テストケース生成装置は、独立系同値パターンファイル及び依存系同値パターンファイルの同値パターンフィールドの代わりに後述するテストケースを格納するためのテストケースフィールドを設けたテストケースファイルを生成する(S402)。なお、テストケースフィールドには、生成するテストケースの数と同じ数の列が設けられる。
次に、テストケース生成装置は、ステップS401にて読み込んだ独立系同値パターンファイル及び依存系同値パターンファイルを結合し(S403)、その結果をテストケースファイルに出力する(S404)。ここで、独立系同値パターンと依存系同値パターンとの間には独立関係が成立している。したがって、ステップS402における結合処理は、CFD技法を用いて行われる。
図14は、前述したようにして得られたテストケースファイルの例を示す図である。図14に示すように、テストケースファイルには、図11及び図12に示す依存系同値パターンファイルと同様の独立/依存フィールド141,依存先ファクター名フィールド142,ファクター名フィールド143,及び同値フィールド143、並びに前述したテストケースフィールド145が設けられている。
前述したように処理が実行された結果、図14に示すとおりにテストケースフィールド145には‘○’がセットされている。ここで、図14に示す例では、1番目から7番目までのテストケースが主に依存系ファクターのテストを考慮したものとなり、8,9番目のテストケースが主に独立系ファクターのテストを考慮したものとなっている。
最後に、テストケース生成装置は、ステップS404にて結合処理の結果が出力されたテストケースファイルをハードディスク18に記憶する(S404)。
このようにして生成されたテストケースは、ファクター間の依存関係が考慮された上で生成されたものであるから、単にCFD技法のみを用いて生成する従来の場合と異なり、必要なテストケースが欠落する事態を回避することができる。
また、独立関係にあるファクターの同値パターンについては、CFD技法を用いることにより、その数を抑制することができる。
なお、テスト対象プログラムのテストを行う際、ユーザは、テストケース生成装置に対して、ハードディスク18に記憶されているテストケースファイルを表示部14に表示させるように指示する。その結果、表示部14にテストケースファイルの内容が表示され、ユーザはその内容を確認しながらテストシナリオを作成することにより、信頼性の高いテストを効率良く実行することができる。
(実施の形態2)
本発明の実施の形態2に係るテストケース生成装置は、あるファクターが特定の値をとった場合にその時点で処理が終了するテストケースである無効系テストケースと、無効系テストケース以外の有効系テストケースとを分けて生成することができるものである。なお、実施の形態2のテストケース生成装置の構成は、実施の形態1の場合と同様であるので説明を省略する。以下、実施の形態2のテストケース生成装置の動作について説明する。
図2に示すような処理の概要が記載されている対象プログラムの仕様書に基づいて、ユーザは、ファクターの内容を示すファクター表を作成し、入力部16を用いて、そのファクター表をテストケース生成装置に対して入力する。
図15は、実施の形態2におけるファクター表の例を示す図である。図15に示すように、このファクター表のファクター「カード解約チェック」の同値フィールド55には「あり*」、「なし」がセットされている。ここで「あり*」は、ファクター「カード解約チェック」の同値が「あり」である場合のテストケースは無効系テストケースになることを表している。
なお、テストケース生成装置が自動的にファクター表を生成するようにしてもよいことは実施の形態1の場合と同様である。
テストケース生成装置に対してユーザにより入力されたファクター表は、テストケース生成装置のハードディスク18に記憶される。その後、実施の形態1の場合と同様に、ユーザの指示にしたがって、テストケース生成装置は次の4つの処理、(1)ファクターリストの生成、(2)独立系ファクターに関する同値パターンの生成、(3)依存系ファクターに関する同値パターンの生成、(4)テストケースの生成を実行する。
[ファクターリストの生成]
実施の形態2のテストケース生成装置は、実施の形態1の場合と同様にして独立系ファクターリストファイル及び依存系ファクターリストファイルを生成する。ただし、前述したとおり実施の形態2の場合では、実施の形態1の場合と異なり、テストケース生成装置が読み込むファクター表に「*」が付されているファクターの同値が存在することがある。このように「*」が付されていることを示す情報を格納するために、実施の形態2のテストケース生成装置が生成する独立系ファクターリストファイル及び依存系ファクターリストファイルには、無効系フィールドが設けられている。
図16は、実施の形態2に係るテストケース生成装置が生成する独立系ファクターリストファイルの例を示す図である。図16に示すように、この独立系ファクターリストファイルには、実施の形態1の場合の独立/依存フィールド101,ファクター名フィールド102及び同値フィールド103と、前述した無効系フィールド201とが設けられている。そして、この例では、ファクター「カード解約チェック」の同値「あり」の場合について、無効系フィールド201の列に‘○’がセットされている。
また、図17は、実施の形態2に係るテストケース生成装置が生成する依存系ファクターリストファイルの例を示す図である。図17に示すように、この依存系ファクターリストファイルには、実施の形態1の場合の独立/依存フィールド111,依存先ファクター名フィールド112,ファクター名フィールド113及び同値フィールド114と、前述した無効系フィールド211とが設けられている。そして、この例では、ファクター表の依存系ファクターの同値には「*」がないため、何れの行の無効系フィールド201の列にも‘○’がセットされていない。
以上のように無効系フィールドが設けられた独立系ファクターリストファイル及び依存系ファクターリストファイルが生成され、ハードディスク18に記憶される。
[独立系ファクターに関する同値パターンの生成]
図18は、独立系ファクターに関する同値パターンを生成する場合における本発明の実施の形態2に係るテストケース生成装置の動作の流れを示すフローチャートである。なお、ステップS201乃至S208については実施の形態1の場合と同様なので同一符号を付して説明を省略する。ただし、ステップS202で生成される独立系同値パターンファイルの最下行には、後述するように、生成された同値パターンが有効系であるのか又は無効系であるのかを示すための行である有効系レコード及び無効系レコードが設けられている。
テストケース生成装置は、ステップS206においてnとmとの値が同一であると判定した場合(S206でYES)、無効系フィールドに‘○’がセットされている列があるか否かを判定する(S501)。ここで、当該列があると判定した場合(S501でYES)、テストケース生成装置は、独立系同値パターンファイルの無効系レコードの当該列に‘○’をセットし(S502)、有効系レコードのその他の列に‘○’をセットする(S503)。一方、無効系フィールドに‘○’がセットされている列はないと判定した場合(S501でNO)、テストケース生成装置は、有効系レコードのすべての列に‘○’をセットする(S503)。
図19は、実施の形態2に係るテストケース生成装置が生成する独立系同値パターンファイルの例を示す図である。図19に示すように、最下行には前述した有効系レコード125及び無効系レコード126が設けられている。そして、前述した処理の結果、1番目の同値パターン(ファクター「カード解約チェック」の同値が「あり」の場合の同値パターン)の列の無効系レコードに‘○’がセットされている。また、この1番目の同値パターンのようにファクター「カード解約チェック」の同値が「あり」の場合は処理が終了することになるため、ファクター「不正カードチェック」の行には‘○’がセットされていない。
[依存系ファクターに関する同値パターンの生成]
図20は、依存系ファクターに関する同値パターンを生成する場合における本発明の実施の形態2に係るテストケース生成装置の動作の流れを示すフローチャートである。なお、ステップS301乃至S309については実施の形態1の場合と同様なので同一符号を付して説明を省略する。ただし、ステップS302で生成される依存系同値パターンファイルの最下行には、独立系同値パターンファイルと同様に有効系レコード及び無効系レコードが設けられている。
テストケース生成装置は、すべての依存系ファクターグループを選択したと判定した場合(S307でYES)、無効系フィールドに‘○’がセットされている列があるか否かを判定する(S601)。ここで、当該列があると判定した場合(S601でYES)、テストケース生成装置は、依存系同値パターンファイルの無効系レコードの当該列に‘○’をセットし(S602)、有効系レコードのその他の列に‘○’をセットする(S603)。一方、無効系フィールドに‘○’がセットされている列はないと判定した場合(S601でNO)、テストケース生成装置は、有効系レコードのすべての列に‘○’をセットする(S603)。
図21及び図22は、実施の形態2に係るテストケース生成装置が生成する依存系同値パターンファイルの例を示す図である。また、図23は、実施の形態2に係るテストケース生成装置が生成する結合処理後の依存系同値パターンファイルの例を示す図である。
図21から図23に示すように、最下行には前述した有効系レコード136及び無効系レコード137が設けられている。そして、図17に示すとおり依存系ファクターリストファイルの無効系フィールド211には1つも‘○’がセットされていないため、依存系同値パターンファイルの同値パターンフィールド135のすべての列において有効系レコードに‘○’がセットされている。
[テストケースの生成]
実施の形態2のテストケース生成装置は、実施の形態1の場合と同様にしてテストケースファイルを生成する。ただし、実施の形態2の場合、テストケースファイルの最下行には有効系レコード及び無効系レコードが設けられている。また、無効系レコードに‘○’がセットされているテストケースフィールドの列には、無効系のファクターの同値の行以外のすべての行について‘○’が削除される。
図24は、実施の形態2のテストケース生成装置が生成するテストケースファイルの例を示す図である。図24に示すように、テストケースファイルの最下行には有効系レコード146及び無効系レコード147が設けられている。ここで、図24に示す例では、2番目から9番目までのテストケースが主に依存系ファクターのテストを考慮したものとなり、1,9番目のテストケースが主に独立系ファクターのテストを考慮したものとなっている。そして、1番目のテストケースは無効系のテストケースであり、無効系のファクター「カード解約チェック」の同値「あり」の行には‘○’がセットされ、それ以外のすべての行には‘○’がセットされていない。
このようにして無効系であるか否かが考慮されたテストケースを生成することにより、より効率的にテスト対象プログラムのテストを行うことが可能になる。
本発明に係るテストケース生成方法、テストケース生成装置及びコンピュータプログラムは、信頼性の高いテストを行うために必要となるテストケースを生成するテストケース生成装置等に有用である。
本発明の実施の形態1に係るテストケース生成装置の構成を示すブロック図である。 テスト対象となるコンピュータプログラムの仕様書の例を示す図である。 本発明の実施の形態1に係るテストケース生成装置に入力されるファクター表の例を示す図である。 ファクターリストを生成する場合における本発明の実施の形態1に係るテストケース生成装置の動作の流れを示すフローチャートである。 実施の形態1に係るテストケース生成装置が生成する独立系ファクターリストファイルの例を示す図である。 実施の形態1に係るテストケース生成装置が生成する依存系ファクターリストファイルの例を示す図である。 独立系ファクターに関する同値パターンを生成する場合における本発明の実施の形態1に係るテストケース生成装置の動作の流れを示すフローチャートである。 実施の形態1に係るテストケース生成装置が生成する独立系同値パターンファイルの例を示す図である。 依存系ファクターに関する同値パターンを生成する場合における本発明の実施の形態1に係るテストケース生成装置の動作の流れを示すフローチャートである。 実施の形態1に係るテストケース生成装置が生成する依存系同値パターンファイルの例を示す図である。 実施の形態1に係るテストケース生成装置が生成する依存系同値パターンファイルの例を示す図である。 実施の形態1に係るテストケース生成装置が生成する結合処理後の依存系同値パターンファイルの例を示す図である。 テストケースを生成する場合における本発明の実施の形態1に係るテストケース生成装置の動作の流れを示すフローチャートである。 実施の形態1に係るテストケース生成装置が生成するテストケースファイルの例を示す図である。 実施の形態2に係るテストケース生成装置が用いるファクター表の例を示す図である。 実施の形態2に係るテストケース生成装置が生成する独立系ファクターリストファイルの例を示す図である。 実施の形態2に係るテストケース生成装置が生成する依存系ファクターリストファイルの例を示す図である。 独立系ファクターに関する同値パターンを生成する場合における本発明の実施の形態2に係るテストケース生成装置の動作の流れを示すフローチャートである。 実施の形態2に係るテストケース生成装置が生成する独立系同値パターンファイルの例を示す図である。 依存系ファクターに関する同値パターンを生成する場合における本発明の実施の形態2に係るテストケース生成装置の動作の流れを示すフローチャートである。 実施の形態2に係るテストケース生成装置が生成する依存系同値パターンファイルの例を示す図である。 実施の形態2に係るテストケース生成装置が生成する依存系同値パターンファイルの例を示す図である。 実施の形態2に係るテストケース生成装置が生成する結合処理後の依存系同値パターンファイルの例を示す図である。 実施の形態2のテストケース生成装置が生成するテストケースファイルの例を示す図である。 同値アンマッチリストファイルの例を示す図である。
符号の説明
10 CPU
12 メモリ
14 表示部
16 入力部
18 ハードディスク
20 外部記憶装置
22 可搬型記録媒体
30 テストケース生成プログラム
32 オペレーティングシステム
34 ファクターDB
36 コードDB

Claims (18)

  1. コンピュータプログラムの入力データ項目である複数のファクターがとり得る入力データのうち所定の特性を有している入力データである同値の組合せに基づいて、前記コンピュータプログラムをテストするためのテストケースを生成するテストケース生成方法において、
    単独で処理フローの分岐点となるファクターである独立系ファクターの同値を少なくとも含む独立系ファクター情報と、複数で処理フローの分岐点となるファクターである依存系ファクターの同値を少なくとも含む依存系ファクター情報とを取得するステップと、
    取得された依存系ファクター情報に基づいて、依存系ファクターの同値の組合せを生成するステップと、
    取得された独立系ファクター情報に基づいて、独立系ファクターの同値の組合せを生成するステップと、
    生成された依存系ファクターの同値の組合せ及び独立系ファクターの同値の組合せを結合してテストケースを生成するステップと
    を有することを特徴とするテストケース生成方法。
  2. 前記依存系ファクターの同値の組合せを生成するステップは、
    相互に依存関係にある依存系ファクターのグループを生成するステップと、
    生成されたグループ毎に依存系ファクターの同値の網羅的な組合せを生成するステップと、
    CFD技法を用いて、生成された依存系ファクターの同値の組合せを結合するステップと
    を有する、請求項1に記載のテストケース生成方法。
  3. 前記独立系ファクターの同値の組合せを生成するステップは、CFD技法を用いて、独立系ファクターの同値の組合せを生成する、請求項1又は請求項2に記載のテストケース生成方法。
  4. 前記テストケースを生成するステップは、CFD技法を用いて、生成された依存系ファクターの同値の組合せ及び独立系ファクターの同値の組合せを結合してテストケースを生成する、請求項1乃至請求項3の何れかに記載のテストケース生成方法。
  5. ファクターの同値を少なくとも含むファクター情報を格納するファクター情報データベースから所定のファクター情報を検索するステップと、
    検索されたファクター情報と、前記取得された独立系ファクター情報及び/又は依存系ファクター情報とを比較するステップと、
    比較した結果に基づいて、前記検索されたファクター情報の同値と前記取得された独立系ファクター情報及び/又は依存系ファクター情報の同値とが異なるか否かを判定するステップと、
    異なると判定された場合、異なる同値に関する同値アンマッチ情報を出力するステップと
    をさらに有する、請求項1乃至請求項4の何れかに記載のテストケース生成方法。
  6. 前記取得された依存系ファクター情報及び前記取得された独立系ファクター情報には、ファクターの同値が処理フローを終了させるための同値である無効系同値であるか否かを示す情報が含まれており、
    前記依存系ファクターの同値の組合せを生成するステップ及び前記独立系ファクターの同値の組合せを生成するステップは、無効系同値を含む同値の組合せを生成し、
    前記テストケースを生成するステップは、無効系同値を含む同値の組合せを用いて生成されたテストケースであるか否かを示す情報を付加したテストケースを生成する、請求項1乃至請求項5の何れかに記載のテストケース生成方法。
  7. コンピュータプログラムの入力データ項目である複数のファクターがとり得る入力データのうち所定の特性を有している入力データである同値の組合せに基づいて、前記コンピュータプログラムをテストするためのテストケースを生成するように構成されているテストケース生成装置において、
    単独で処理フローの分岐点となるファクターである独立系ファクターの同値を少なくとも含む独立系ファクター情報と、複数で処理フローの分岐点となるファクターである依存系ファクターの同値を少なくとも含む依存系ファクター情報とを取得するファクター情報取得手段と、
    当該ファクター情報取得手段によって取得された依存系ファクター情報に基づいて、依存系ファクターの同値の組合せを生成する依存系同値組合せ生成手段と、
    前記ファクター情報取得手段によって取得された独立系ファクター情報に基づいて、独立系ファクターの同値の組合せを生成する独立系同値組合せ生成手段と、
    前記依存系同値組合せ生成手段によって生成された依存系ファクターの同値の組合せ及び前記独立系同値組合せ生成手段によって生成された独立系ファクターの同値の組合せを結合してテストケースを生成するテストケース生成手段と
    を備えることを特徴とするテストケース生成装置。
  8. 前記依存系ファクター同値組合せ生成手段は、
    相互に依存関係にある依存系ファクターのグループを生成し、生成されたグループ毎に依存系ファクターの同値の網羅的な組合せを生成し、CFD技法を用いて、生成された依存系ファクターの同値の組合せを結合するように構成されている、請求項7に記載のテストケース生成装置。
  9. 前記独立系ファクター同値組合せ生成手段は、CFD技法を用いて、独立系ファクターの同値の組合せを生成するように構成されている、請求項7又は請求項8に記載のテストケース生成装置。
  10. 前記テストケース生成手段は、CFD技法を用いて、生成された依存系ファクターの同値の組合せ及び独立系ファクターの同値の組合せを結合してテストケースを生成するように構成されている、請求項7乃至請求項9の何れかに記載のテストケース生成装置。
  11. ファクターの同値を少なくとも含むファクター情報を格納するファクター情報データベースから所定のファクター情報を検索するファクター情報検索手段と、
    当該ファクター情報検索手段によって検索されたファクター情報と、前記ファクター情報取得手段によって取得された独立系ファクター情報及び/又は依存系ファクター情報とを比較するファクター情報比較手段と、
    当該ファクター情報比較手段による比較の結果に基づいて、前記検索されたファクター情報の同値と前記取得された独立系ファクター情報及び/又は依存系ファクター情報の同値とが異なるか否かを判定する判定手段と、
    当該判定手段によって異なると判定された場合、異なる同値に関する同値アンマッチ情報を出力する出力手段と
    をさらに備える、請求項7乃至請求項10の何れかに記載のテストケース生成装置。
  12. 前記取得された依存系ファクター情報及び前記取得された独立系ファクター情報には、ファクターの同値が処理フローを終了させるための同値である無効系同値であるか否かを示す情報が含まれており、
    前記依存系同値組合せ生成手段及び前記独立系同値組合せ生成手段は、無効系同値を含む同値の組合せを生成するように構成され、
    前記テストケース生成手段は、無効系同値を含む同値の組合せを用いて生成されたテストケースであるか否かを示す情報を付加したテストケースを生成するように構成されている、請求項7乃至請求項11の何れかに記載のテストケース生成装置。
  13. コンピュータに、テスト対象コンピュータプログラムの入力データ項目である複数のファクターがとり得る入力データのうち所定の特性を有している入力データである同値の組合せに基づいて、前記テスト対象コンピュータプログラムをテストするためのテストケースを生成させるためのコンピュータプログラムにおいて、
    前記コンピュータに、
    単独で処理フローの分岐点となるファクターである独立系ファクターの同値を少なくとも含む独立系ファクター情報と、複数で処理フローの分岐点となるファクターである依存系ファクターの同値を少なくとも含む依存系ファクター情報とを取得させる手順と、
    取得された依存系ファクター情報に基づいて、依存系ファクターの同値の組合せを生成させる手順と、
    取得された独立系ファクター情報に基づいて、独立系ファクターの同値の組合せを生成させる手順と、
    生成された依存系ファクターの同値の組合せ及び独立系ファクターの同値の組合せを結合してテストケースを生成させる手順と
    を実行させるためのコンピュータプログラム。
  14. 前記依存系ファクターの同値の組合せを生成させる手順は、
    前記コンピュータに、相互に依存関係にある依存系ファクターのグループを生成させ、生成されたグループ毎に依存系ファクターの同値の網羅的な組合せを生成させ、CFD技法を用いて、生成された依存系ファクターの同値の組合せを結合させる、請求項13に記載のコンピュータプログラム。
  15. 前記独立系ファクターの同値の組合せを生成させる手順は、
    前記コンピュータに、CFD技法を用いて、独立系ファクターの同値の組合せを生成させる、請求項13又は請求項14に記載のコンピュータプログラム。
  16. 前記テストケースを生成させる手順は、
    前記コンピュータに、CFD技法を用いて、生成された依存系ファクターの同値の組合せ及び独立系ファクターの同値の組合せを結合してテストケースを生成させる、請求項13乃至請求項15の何れかに記載のコンピュータプログラム。
  17. 前記コンピュータに、
    ファクターの同値を少なくとも含むファクター情報を格納するファクター情報データベースから所定のファクター情報を検索させる手順と、
    検索されたファクター情報と、前記取得された独立系ファクター情報及び/又は依存系ファクター情報とを比較させる手順と、
    比較の結果に基づいて、前記検索されたファクター情報の同値と前記取得された独立系ファクター情報及び/又は依存系ファクター情報の同値とが異なるか否かを判定させる手順と、
    異なると判定された場合、異なる同値に関する同値アンマッチ情報を出力させる手順と
    をさらに実行させるための請求項13乃至請求項16の何れかに記載のコンピュータプログラム。
  18. 前記取得された依存系ファクター情報及び前記取得された独立系ファクター情報には、ファクターの同値が処理フローを終了させるための同値である無効系同値であるか否かを示す情報が含まれており、
    前記依存系ファクターの同値の組合せを生成する手順及び前記独立系ファクターの同値の組合せを生成する手順は、前記コンピュータに、無効系同値を含む同値の組合せを生成させ、
    前記テストケースを生成する手順は、前記コンピュータに、無効系同値を含む同値の組合せを用いて生成されたテストケースであるか否かを示す情報を付加したテストケースを生成させる、請求項13乃至請求項17の何れかに記載のコンピュータプログラム。
JP2004094771A 2004-03-29 2004-03-29 テストケース生成方法及びテストケース生成装置 Expired - Fee Related JP4580670B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004094771A JP4580670B2 (ja) 2004-03-29 2004-03-29 テストケース生成方法及びテストケース生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004094771A JP4580670B2 (ja) 2004-03-29 2004-03-29 テストケース生成方法及びテストケース生成装置

Publications (2)

Publication Number Publication Date
JP2005284484A true JP2005284484A (ja) 2005-10-13
JP4580670B2 JP4580670B2 (ja) 2010-11-17

Family

ID=35182822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004094771A Expired - Fee Related JP4580670B2 (ja) 2004-03-29 2004-03-29 テストケース生成方法及びテストケース生成装置

Country Status (1)

Country Link
JP (1) JP4580670B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019191685A (ja) * 2018-04-19 2019-10-31 東芝情報システム株式会社 ソフトウェアのテスト方法、システム、プログラムおよびファイル生成方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04276835A (ja) * 1991-03-04 1992-10-01 Nippon Telegr & Teleph Corp <Ntt> プログラム単体テストデータ生成方法
JPH07200356A (ja) * 1993-12-28 1995-08-04 Hitachi Ltd チェックリスト自動消込みシステム
JPH1011274A (ja) * 1996-06-19 1998-01-16 Nec Corp 通信ソフトウェア設計検証方式
JPH1115695A (ja) * 1997-06-26 1999-01-22 Hitachi Ltd プログラムテストパターン自動生成システム
JP2001243090A (ja) * 2000-02-29 2001-09-07 Nec Corp テスト項目自動生成システム及びテスト項目自動生成方法並びにプログラムを記録した機械可読記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04276835A (ja) * 1991-03-04 1992-10-01 Nippon Telegr & Teleph Corp <Ntt> プログラム単体テストデータ生成方法
JPH07200356A (ja) * 1993-12-28 1995-08-04 Hitachi Ltd チェックリスト自動消込みシステム
JPH1011274A (ja) * 1996-06-19 1998-01-16 Nec Corp 通信ソフトウェア設計検証方式
JPH1115695A (ja) * 1997-06-26 1999-01-22 Hitachi Ltd プログラムテストパターン自動生成システム
JP2001243090A (ja) * 2000-02-29 2001-09-07 Nec Corp テスト項目自動生成システム及びテスト項目自動生成方法並びにプログラムを記録した機械可読記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019191685A (ja) * 2018-04-19 2019-10-31 東芝情報システム株式会社 ソフトウェアのテスト方法、システム、プログラムおよびファイル生成方法
JP7016583B2 (ja) 2018-04-19 2022-02-07 東芝情報システム株式会社 ソフトウェアのテスト方法、システムおよびプログラム

Also Published As

Publication number Publication date
JP4580670B2 (ja) 2010-11-17

Similar Documents

Publication Publication Date Title
US11514226B2 (en) Systems and methods for the comparison of selected text
US7630936B2 (en) Order system payment routing
US20040216084A1 (en) System and method of managing web content
US9524279B2 (en) Help document animated visualization
US20110296528A1 (en) System and method for creating and executing portable software
US20050267914A1 (en) Method and apparatus for updating a database using table staging and queued relocation and deletion
JP2006244195A (ja) プログラムテスト支援装置およびその方法
CN101866315B (zh) 软件开发工具的测试方法及系统
JP2006012148A (ja) ベスト・プラクティスのデータベース設計への組み込み
JP2005122560A (ja) デッドロック事前検出プログラム
US7814334B2 (en) Method and apparatus for changing and adding activation keys for functions of digital content without having to change and recompile the digital content
KR101479516B1 (ko) 소스코드 보안 약점 탐지 장치 및 방법
JP4580670B2 (ja) テストケース生成方法及びテストケース生成装置
WO2019142469A1 (ja) セキュリティ設計装置、セキュリティ設計方法およびセキュリティ設計プログラム
US20040230822A1 (en) Security specification creation support device and method of security specification creation support
JP3964259B2 (ja) プログラム生成装置、及びプログラム生成方法、並びにプログラム生成用プログラム
US20140129934A1 (en) Dynamic model-based management tooling
US20130111344A1 (en) Help creation support apparatus, help creation method, and storage medium storing help creation program
CN104331827B (zh) 交易配置生成方法及交易匹配器
JP4625353B2 (ja) セキュリティ設計支援方法、セキュリティ設計支援装置及びセキュリティ設計支援プログラム
KR101534493B1 (ko) 구조 변환에 기초한 소스코드 보안 약점 탐지 장치 및 방법
JP2004310186A (ja) 自動仕訳処理方法及びその実施装置並びにその処理プログラムと記録媒体
JP4484148B2 (ja) Si対象ファイルおよびsi関連ファイル管理システム
KR20170038972A (ko) 업무 시스템 개발 방법 및 장치
JP2006227820A (ja) プログラムテストシステム及びプログラムテスト方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070322

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090904

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100506

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100511

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100727

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100730

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100824

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100830

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130903

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees