(57)【要約】【課題】欠陥検出効率を高めるためのテストケースを提供する。【解決手段】ソフトウェアテストの因子網羅テストのテストケースを生成し、前記因子網羅テストのリストを生成するソフトウェアテストケース生成装置であって、前記生成されたテストケースを記憶する記憶部と、前記生成されたテストケースに従ったソフトウェアテストの実行履歴を記憶するテスト実行履歴記憶部と、重点的にテストを実行すべき因子及び水準の要注意水準の判定条件を記憶する判断基準記憶部と、前記要注意水準の判定条件に従って、要注意の因子及び水準の組合せを判定する要注意水準組合せ分析部と要注意水準と判定された因子及び水準の組合せである要注意水準組合せを記憶する要注意水準組合せ記憶部と、前記ソフトウェアテストの実行履歴及び前記要注意水準組合せに基づいて、効率的なテストケースを生成する効果的テストケース生成部と、を備える。【選択図】図１
2013077124.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアテストの因子及び水準が入力される入力部と、前記入力された因子及び水準を記憶する因子・水準記憶部と、前記記憶された因子及び水準によって因子網羅テストのテストケースを生成する網羅テストケース生成部と、前記生成された因子網羅テストのリストを生成するリスト生成部と、前記生成されたテストのリストを出力する出力部を有するソフトウェアテストケース生成装置であって、
前記生成されたテストケースを記憶する記憶部と、
前記生成されたテストケースに従ったソフトウェアテストの実行履歴を記憶するテスト実行履歴記憶部と、
重点的にテストを実行すべき因子及び水準の要注意水準の判定条件を記憶する判断基準記憶部と、
前記要注意水準の判定条件に従って、要注意の因子及び水準の組合せを判定する要注意水準組合せ分析部と、
要注意水準と判定された因子及び水準の組合せである要注意水準組合せを記憶する要注意水準組合せ記憶部と、
前記ソフトウェアテストの実行履歴及び前記要注意水準組合せに基づいて、効率的なテストケースを生成する効果的テストケース生成部と、を備えることを特徴とするソフトウェアテストケース生成装置。
【請求項２】
前記効果的テストケース生成部は、前記ソフトウェアテストの実行履歴及び前記要注意水準組合せに基づいて、欠陥検出効率が高いテストケースを生成する高欠陥検出効率テストケース生成部を有することを特徴とする請求項１に記載のソフトウェアテストケース生成装置。
【請求項３】
前記高欠陥検出効率テストケース生成部は、前記ソフトウェアテストの実行履歴を参照し、過去のテストで欠陥が発見されている因子及び水準の組み合わせの少なくとも一部を含むテストケースを生成することを特徴とする請求項２に記載のソフトウェアテストケース生成装置。
【請求項４】
前記効果的テストケース生成部は、前記ソフトウェアテストの実行履歴及び前記要注意水準組合せに基づいてソフトウェアテストの実行優先スコアを算出する優先スコア計算部と、前記算出された実行優先スコアに基づいてソフトウェアテストの実行順位を決定する優先順位付与部と、を有することを特徴とする請求項１から３のいずれか一つに記載のソフトウェアテストケース生成装置。
【請求項５】
前記優先スコア計算部は、テストケースに前記要注意水準組合せが含まれている数を示す要注意水準組合せ数、初めてテストされる要注意水準と要注意水準ではない通常の水準との組合せがテストケースに含まれる数を示す初出要注意水準−非要注意水準組合せ数、及び、初めてテストされる水準の組合せの数を示す初出水準組合せ数に基づいて、前記実行優先スコアを算出することを特徴とする請求項４に記載のソフトウェアテストケース生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアテストケース生成装置に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特許第２８８２６８７号公報（特許文献１）がある。この公報には、「複数の値をとり得る複数のデータ・フィールドを有するソフトウェアを備えたソフトウェア・システムをテストするための最小数のテスト・ケースを生成する方法において、データベースにすべてのフィールド、フィールド値、および、ユーザが定義した制約を入力するステップと、関係あるフィールド値を含む複数の表を定義するステップと、ユーザが特定した値をフィールド間の相互作用の程度に使用して、前記フィールド値の表のそれぞれに対しテスト・ケース表を生成するステップと、相互作用のないフィールド値の複数の表を定義するステップと、前記テスト・ケース表を単一のテスト・ケース表に併合するステップと、前記相互作用のないフィールドの表を前記単一のテスト・ケース表と併合するステップとを備えたことを特徴とする方法」が記載されている（請求項１参照）。
【０００３】
また、他の背景技術として、特開２００８−１２９６６１号公報（特許文献２）がある。この公報には、「情報処理装置は、過去の修正を特定する第１の修正識別子と、過去の修正により修正を行った、プログラムに含まれる関数を特定する第１の関数識別子とを関連付ける修正履歴表を格納する格納部と、新たな修正において修正を行った、プログラムに含まれる関数を特定する第２の関数識別子を取得する取得部と、格納部から読み出した修正履歴表内の第１の修正識別子の各々に対し、当該第１の修正識別子に関連付けられる１以上の第１の関数識別子と取得した１以上の第２の関数識別子のうち一致する関数識別子の数を求め、当該一致する関数識別子の数に基づいて、第１の修正識別子により特定される修正をテストするテストケースの優先度を決定する優先度決定部とを備える」ことが記載されている（要約参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第２８８２６８７号公報
【特許文献２】特開２００８−１２９６６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述した特許文献１には、ソフトウェアの網羅テストを効率化するテストケース自動生成方法が記載されている。しかし、特許文献１に記載されたテストケース自動生成方法では、生成された各テストケースの重要度が分からない。
【０００６】
このような、特許文献１に開示されたテストケース自動生成方法では、例えば、ソフトウェア開発プロジェクトにおいて、テストに掛けられる工数が限られており、生成された網羅テストを全件実行することができないことがある。この場合、実行されるテストケースが工数が許す範囲でランダムに選択され、ランダムテストと同等の欠陥検出効果しか得られない。
【０００７】
また、特許文献２には、ソフトウェア回帰テストにおけるテストケースの優先度を決定する方法が記載されている。しかし、特許文献２に記載されたテストケースの優先度を決定する方法は、優先度が決定されるテストが過去に１回以上実行されている必要がある。
【０００８】
このようなテストケースの優先度を決定する方法では、新たな対象にテストを実行する必要がある場合に、テストケースの優先度が決定できない。例えば、ソフトウェア開発プロジェクトにおいて、新たなソフトウェアを開発する場合や、既存のソフトウェアを改修する場合に、新規又は追加で開発した部分のソフトウェアについてテストをする必要があるが、この部分のソフトウェアに関するテストケース群はまだ実行されていないので、優先度を決定できない。
【０００９】
本発明の課題は、新たにテストケースを生成する必要があるが、限られた数のテストケースしか実行できない場合において、欠陥検出効率を高めるためのテストケースを提供することである。
【課題を解決するための手段】
【００１０】
前述した問題点を解決するために、本発明の一実施形態では、限られた数のテストケースしか実行できない場合において、欠陥検出効率を高めるためのテストケースを提供する。例えば、検査を重点的に実行した方が良い入力を重点的に検査するテストケース群や、それぞれに実行の優先度を付与したテストケースを提供する。
【００１１】
また、本発明の一実施形態では、新たに構築したテストケースについても、テストの優先度を提供する。
【００１２】
より具体的には、本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、ソフトウェアテストの因子及び水準が入力される入力部と、前記入力された因子及び水準を記憶する因子・水準記憶部と、前記記憶された因子及び水準によって因子網羅テストのテストケースを生成する網羅テストケース生成部と、前記生成された因子網羅テストのリストを生成するリスト生成部と、前記生成されたテストのリストを出力する出力部を有するソフトウェアテストケース生成装置であって、前記生成されたテストケースを記憶する記憶部と、前記生成されたテストケースに従ったソフトウェアテストの実行履歴を記憶するテスト実行履歴記憶部と、重点的にテストを実行すべき因子及び水準の要注意水準の判定条件を記憶する判断基準記憶部と、前記要注意水準の判定条件に従って、要注意の因子及び水準の組合せを判定する要注意水準組合せ分析部と要注意水準と判定された因子及び水準の組合せである要注意水準組合せを記憶する要注意水準組合せ記憶部と、前記ソフトウェアテストの実行履歴及び前記要注意水準組合せに基づいて、効率的なテストケースを生成する効果的テストケース生成部と、を備える。
【発明の効果】
【００１３】
本発明の一実施形態によれば、欠陥検出効率を高めるためのテストケースを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態におけるソフトウェアテストケース生成装置１００の構成例を示すブロック図である。
【図２】本発明の実施形態におけるソフトウェアテストケース生成装置１００の機能構成の一例を示す図である。
【図３】本発明の実施形態におけるテスト対象例６００及び因子・水準の例７００の説明図である。
【図４】本発明の実施形態における因子・水準記憶部１５０へ書き込まれたテスト対象例６００のへの因子・水準データ７１０の一例の説明図である。
【図５】本発明の実施形態における生成テストケース記憶部１６０の詳細な構成例の説明図である。
【図６】本発明の実施形態におけるテストケース記憶部１６００に格納された１因子網羅テストケース群８００の一例の説明図である。
【図７】本発明の実施形態におけるテストケース記憶部１６００に格納された２因子網羅テストケース群８１０の一例の説明図である。
【図８】本発明の実施形態におけるテスト実行結果６１０の一例の説明図である。
【図９】本発明の実施形態におけるテスト実行履歴記憶部１７０に格納されたテスト実行履歴１７００の一例の説明図である。
【図１０】本発明の実施形態における要注意水準組合せ記憶部１９０に格納された１因子網羅テストに基づく要注意水準組合せ表１９００の一例の説明図である。
【図１１】本発明の実施形態における要注意水準組合せ記憶部１９０に格納された２因子網羅テストに基づく要注意水準組合せ表１９１０の一例の説明図である。
【図１２】本発明の実施形態における判断基準記憶部１８０に格納された要注意水準の判断基準データ１８００の一例の説明図である。
【図１３】本発明の実施形態における効果的テストケース生成部１３０の詳細な機能ブロック図である。
【図１４】本発明の実施形態における高欠陥検出効率テストケース生成部１３００によって構成された高欠陥検出効率テストケースのひな型１３０００の一例の説明図である。
【図１５】本発明の実施形態における２因子網羅テストの履歴より抽出された要注意水準組合せによる競合ケースＡ１の例の説明図である。
【図１６】本発明の実施形態におけるテストケースひな形１３０００に水準が展開されたテストケース群１３０１０の一例の説明図である。
【図１７】本発明の実施形態における高欠陥検出効率テストケース生成部１３００により生成された高欠陥検出効率テストケース群１３０２０の一例の説明図である。
【図１８】本発明の実施形態における優先スコア計算部１３０１によって算出された、テストケースの優先スコア１６０１０の一例の説明図である。
【図１９】本発明の実施形態における優先順位付与部１３０２によって付与された、テストケースの優先順位１６０２０の一例の説明図である。
【図２０】本発明の実施形態におけるテストチェックリスト生成部１４０により生成されるテストチェックリスト６２０の一例の説明図である。
【図２１】本発明の実施形態におけるソフトウェアテストケース生成装置１００を用いたソフトウェアテスト全体の手順を示すフローチャートである。
【図２２】本発明の実施形態におけるｉ因子網羅テストの実行（ステップ５０３）の詳細な手順を示すフローチャートである。
【図２３】本発明の実施形態における要注意水準組合せの分析（ステップ５０５）の詳細な手順を示すフローチャートである。
【図２４】本発明の実施形態における欠陥検出効率の高いテストケースの生成（ステップ５０６）の詳細な手順を示すフローチャートである。
【図２５】本発明の実施形態におけるテストケースに対する優先順位の付与（ステップ５０７）の詳細な手順を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態であるソフトウェアテストケース生成装置１００の例について図面を用いて説明する。
【００１６】
図１は、本実施形態におけるソフトウェアテストケース生成装置１００の構成例を示すブロック図である。
【００１７】
ソフトウェアテストケース生成装置１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、メモリ１０２、外部記憶装置１０３、バス１０４、外部インターフェース１０５、入力装置１０６、出力装置１０７及び通信装置１０８を有する。ＣＰＵ１０１、メモリ１０２及び外部インターフェース１０５は、バス１０４を介して相互に接続される。また、外部インターフェース１０５には、外部記憶装置１０３、入力装置１０６、出力装置１０７及び通信装置１０８が接続される。
【００１８】
外部記憶装置１０３は、ＣＰＵ１０１において実行される処理プログラムである、網羅テストケース生成プログラム１１０Ｐ、要注意水準組合せ分析プログラム１２０Ｐ、効果的テストケース生成プログラム１３０Ｐ及びテストチェックリスト生成プログラム１４０Ｐを保持する。また、外部記憶装置１０３は、因子・水準記憶部１５０と、生成テストケース記憶部１６０と、テスト実行履歴記憶部１７０と、判断基準記憶部１８０と、要注意水準組合せ記憶部１９０とを含む。これらの各記憶部は、データが格納される記憶領域である。
【００１９】
なお、本実施形態では、ソフトウェアテストケース生成装置１００が、一つの計算機に実装された例について説明したが、端末及びサーバを含む計算機システムに実装されても、また、クラウドコンピューティングのような、複数の計算機資源によって構成される計算機システムに実装されてもよい。
【００２０】
図２は、ソフトウェアテストケース生成装置１００の機能構成の一例を示す図である。
【００２１】
ソフトウェアテストケース生成装置１００は、網羅テストケース生成プログラム１１０Ｐ、要注意水準組合せ分析プログラム１２０Ｐ、効果的テストケース生成プログラム１３０Ｐ及びテストチェックリスト生成プログラム１４０Ｐが、それぞれＣＰＵ１０１で実行されて、メモリ１０２上に展開された、網羅テストケース生成部１１０、要注意水準組合せ分析部１２０、効果的テストケース生成部１３０及びテストチェックリスト生成部１４０を有する。
【００２２】
効果的テストケース生成部１３０は、高欠陥検出効率テストケース生成部１３００、優先スコア計算部１３０１及び優先順位付与部１３０２を含む（図１３参照）。
【００２３】
因子・水準記憶部１５０は、ソフトウェアをテストするための因子及び水準を記憶する。因子とはソフトウェアのテスト対象となるパラメータ及び要素の種類であり、水準とは、その因子に入力が許される値又は値の代表値である。本実施形態では、因子・水準情報は、テスト対象因子名７０１及び水準名７０２を含む（図３参照）。これらの因子・水準情報は、入力装置１０６及び通信装置１０８を介して入力され、因子・水準記憶部１５０へ格納される。
【００２４】
図３は、テスト対象例６００及び因子・水準の例７００の説明図である。
【００２５】
図３に示すテスト対象例６００は、ソフトウェアテストケース生成装置１００の出力装置１０７に表示されるＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）である。テスト対象例６００は、利用者から氏名６０１、電話番号６０２、生年月日６０３及び住所６０４の各情報の入力を待ち受ける画面である。
【００２６】
因子・水準の例７００は、上記テスト対象例６００のうち、氏名６０１の情報に関する因子及び水準を記述したものである。因子・水準の例７００は、因子名７００（氏名）と、因子が持つ水準７０２（正値、空値、半角、長文、無空白）が入力されている。
【００２７】
図４は、因子・水準記憶部１５０へ書き込まれたテスト対象例６００のへの因子・水準データ７１０の一例の説明図である。
【００２８】
レコード７１３の因子名７１１及び水準７１２は、図３における氏名情報６０１に対する因子名７００及び水準７０２に対応付けられる。レコード７１４、レコード７１５及びレコード７１６は、それぞれ、図３の電話番号情報６０２、生年月日情報６０３及び住所情報６０４に対する因子・水準の例である。以下、本実施形態では、図４に示した例を用いて説明する。
【００２９】
図２に戻り、生成テストケース記憶部１６０について説明する。生成テストケース記憶部１６０は、網羅テストケース生成部１１０乃至効果的テストケース生成部１３０が、因子・水準記憶部１５０に格納されている因子・水準データに基づいて生成したテストケースを記憶する。
【００３０】
図５は、生成テストケース記憶部１６０の詳細な構成例の説明図である。
【００３１】
生成テストケース記憶部１６０は、テストケース記憶部１６００、優先スコア記憶部１６０１及び優先順位記憶部１６０２を有する。生成テストケース記憶部１６０のうち、優先スコア記憶部１６０１及び優先順位記憶部１６０２に格納されるデータの詳細は効果的テストケース生成部１３０の処理と共に後述する。
【００３２】
以下では、網羅テストケース生成部１１０によって生成されたテストケースが格納されたテストケース記憶部１６００について説明する。
【００３３】
図６は、テストケース記憶部１６００に格納された１因子網羅テストケース群８００の一例の説明図である。
【００３４】
テストケース記憶部１６００は、テストケース識別子８０１及びテストケース８０２を含む。レコード８０３は、テストケース識別子「１」のテストケースは、因子「氏名」の水準が「正値」、因子「電話番号」の水準が「正値」、因子「生年月日」の水準が「正値」、因子「住所」の水準が「正値」となる値の組合せでテストを実行することを示している。
【００３５】
１因子網羅とは、実行するテストケース群によって、テスト対象の各因子が持つ水準について、少なくとも１回テストが実行されるとことを意味する。テストケース群の例８００では、各因子（氏名、電話番号、生年月日、住所）の各水準について１回はテストケースが割り当てあてられているため、１因子網羅である。
【００３６】
図７は、テストケース記憶部１６００に格納された２因子網羅テストケース群８１０の一例の説明図である。
【００３７】
２因子網羅とは、実行するテストケース群により、テスト対象因子の２因子の組合せに含まれる２因子の各々が持つ水準について、少なくとも１回テストが実行されることを意味する。すなわち、テストケース群８１０より、どの２因子の組合せ（氏名−電話番号、氏名−生年月日、氏名−住所、電話番号−生年月日、電話番号−住所、生年月日−住所）を取り出したとしても、その２因子に含まれる水準の組合せが少なくとも１回現れる。例えば、氏名−電話番号の組合せであれば、氏名が持つ５水準（正値、空値、半角、長文、無空白）と電話番号が持つ５水準（正値、空値、全角、桁小、桁大）の組合せ２５通りのそれぞれが、少なくとも１回テストされることである。
【００３８】
同様に、ｎ因子網羅テストとは、実行するテストケース群により、テスト対象因子のｎ因子の組合せ（ｎはテスト対象６００に含まれる因子の数を超えない整数）に含まれる、ｎ因子の持つ水準の組合せについて、少なくとも１回テストが実行されることを意味する。
【００３９】
網羅テストケース生成部１１０は、因子・水準記憶部１５０及び因子網羅数に基づき、前述したｎ因子網羅テストを生成する。具体的な生成の手段については、特許文献１などに示された手法を用いることができる。
【００４０】
図２に戻り、テスト実行履歴記憶部１７０について説明する。テスト実行履歴記憶部１７０は、テストチェックリスト生成部１４０が生成テストケース記憶部１６０のテストケース記憶部１６００に格納されているテストケースに基づき生成したテストチェックリストに基づき、利用者がテストを実行したした結果を格納する。テスト実行結果は入力装置１０６及び通信装置１０８を介して入力され、テスト実行履歴記憶部１７０へ書き込まれる。
【００４１】
テスト実行履歴は、テストケース識別子１７０１、テスト結果情報１７０３、テスト対策情報１７０４及び原因水準情報１７０５を含む（図９参照）。
【００４２】
図８は、テスト実行結果６１０の一例の説明図である。
【００４３】
図８に示すテスト実行結果６１０の例は、図６で示した１因子網羅テストケース群８００に基づき、テストチェックリスト生成部１４０が生成したテストチェックリストに、利用者が書くテストケースについての実行結果を記録したものである。
【００４４】
テストケースＩＤ６１１は、テストケース記憶部１６００に格納されるテストケースと関連付けるための識別子である。テストケース６１２は、テストケース記憶部１６００に格納されているテストケースを利用者が活用しやすいように記述したものである。テスト結果６１３は、テストケースを実行した結果、欠陥が検出されたか否かを示すものであり、本例において「○」は欠陥の検出なし、「×」は欠陥の検出ありを示す。
【００４５】
欠陥への対策６１４は、テストケースによって抽出された欠陥に対する原因究明、修正等の対策が完了しているか否かを示す。原因水準６１５は、テストケースによって抽出されたテストケース内の、どの因子のどの水準によって、その欠陥が再現するかを示す。本例では、原因水準を容易に指定するために各水準Ｎｏ．６１６を割り当て、水準Ｎｏ．６１６をによって水準を指定する。原因水準６１５には、たとえばブラケット（"［  ］"）で複数の水準Ｎｏ．を纏めることにより、複数の水準の組合せによって欠陥が再現する場合を指定することができる。また、原因水準６１５には複数の水準及び水準の組合せを指定することができる。
【００４６】
なお、本実施形態では、利用者の利便性とテストとの関連付けの誤謬をなくすため、テストチェックリスト生成部１４０が、入力すべきテストチェックリストを生成した。しかし、テストケース記憶部１６００を参照して、テストチェックリスト生成部１４０によらずテストテックリストを作成して、テスト実行履歴記憶部１７０へ入力してもよい。
【００４７】
図９は、テスト実行履歴記憶部１７０に格納されたテスト実行履歴１７００の一例の説明図である。
【００４８】
テストケース識別子１７０１は、テストケース記憶部１６００に格納されたテストケースと関連付けるための情報である。テストケース情報１７０２はテストケースの具体的な内容である。図９に示す例では説明のため、具体的なテストケース情報１７０２をテスト実行履歴記憶部１７０に含めているが、テストケース識別子１７０１によりテストケース記憶部１６００を参照するようにすれば、テストケース情報１７０２は含めなくてもよい。テスト結果情報１７０３はテスト結果６１３（図８参照）に対応付けられている。テスト対策情報１７０４、は欠陥への対策６１４（図８参照）に対応付けられている。原因水準情報１７０５は、原因水準６１５（図８参照）に対応付けられている。
【００４９】
図２に戻り、要注意水準組合せ記憶部１９０について説明する。要注意水準組合せ記憶部１９０は、要注意水準組合せ分析部１２０がテスト実行履歴記憶部１７０及び判断基準記憶部１８０に基づき、因子網羅テストケース群ごとに生成する要注意水準組合せ表１９００が格納される。
【００５０】
図１０は、要注意水準組合せ記憶部１９０に格納された１因子網羅テストに基づく要注意水準組合せ表１９００の一例の説明図である。
【００５１】
要注意水準組合せ表１９００は、組合せ因子１９０１、組合せ水準１９０２、欠陥スコア１９０３及び要注意水準フラグ１９０４を含む。
【００５２】
組合せ因子１９０１は、ｎ因子網羅テストケースにおけるｎ因子の組合せを識別する。本例は１因子網羅テストを対象としているため、各因子が記述されている。組合せ水準１９０２は、組合せ因子１９０１においてとり得る水準の組合せを識別する。本例は１因子網羅テストを対象としているため、各因子の水準が記述されている。欠陥スコア１９０３は、組合せ水準１９０２によって検出された欠陥数をスコア化したものである。組合せ水準１９０２内の部分集合となる水準について欠陥数を算出し、組合せ因子数ごとに集計した結果である。  図１０に示す例では、１因子網羅テストを対象としているため、１因子の組合せ欠陥のスコアのみを示している。要注意水準１９０４は、要注意水準組合せと判定された水準を示すフラグである。
【００５３】
図１１は、要注意水準組合せ記憶部１９０に格納された２因子網羅テストに基づく要注意水準組合せ表１９１０の一例の説明図である。
【００５４】
組合せ因子１９０１が２因子の組合せとなり、組合せ水準１９０２は２因子に含まれる水準の組合せとなる。また、欠陥スコア１９０３は、組合せ水準１９０２に示された２水準の組合せによる２因子欠陥１９１１から算出されるスコアと、組合せ水準１９０２を構成する各水準による１因子欠陥１９１２から算出されるスコアを有する。
【００５５】
図２に戻り、判断基準記憶部１８０について説明する。判断基準記憶部１８０は、予め入力装置１０６及び通信装置１０８より入力された要注意水準の判断基準が記憶される。
【００５６】
図１２は、判断基準記憶部１８０に格納された要注意水準の判断基準データ１８００の一例の説明図である。
【００５７】
判断基準データ１８００は、因子網羅度１８０１及び判定条件１８０２を含む。
【００５８】
因子網羅度１８０１は、テスト実行履歴記憶部１７０に格納されているテスト実行履歴が対象とするテストケース群の因子網羅度である。判定条件１８０２は、後述する要注意水準組合せ分析部１２０が、要注意水準組合せ記憶部１９０の組合せ水準１９０２の欠陥スコア１９０３に基づき要注意水準と判定をするための条件式ならびに閾値である。例えば、レコード１８０３は、直前に実行し、結果を記録した網羅テストが１因子網羅テストであれば、要注意水準組合せ記憶部１９０の１因子欠陥スコアが１以上であるものを要注意水準と判定する、という判定基準を示す。
【００５９】
図２に戻り、要注意水準組合せ分析部１２０について説明する。要注意水準組合せ分析部１２０は、現在対象としているｎ因子網羅テストの因子数ｎに基づき、要注意水準組合せ表を生成する。生成された要注意水準組合せ表は、要注意水準組合せ記憶部１９０に格納される。
【００６０】
要注意水準組合せ分析部１２０は、テスト実行履歴記憶部１７０からテスト実行履歴１７１０を読み出し、要注意水準組合せ表の各水準組合せ１９０２に対する欠陥スコア１９０３を算出する。例えば、テスト実行履歴１７００（図９参照）の原因水準１７０５において指定されている水準の組合せ（因子「氏名」の水準「空値」、因子「氏名」の水準「半角」、因子「生年月日」の水準「全角」、因子「生年月日」の水準「未来」）が登場した回数をカウントし、欠陥スコア１９０３にそれぞれ記録する。
【００６１】
要注意水準組合せ分析部１２０は、判断基準記憶部１８０より判断基準１８００を読み出し、判定条件１８０２に基づき要注意水準組合せを抽出し、要注意水準組合せ表１９００の要注意水準組合せフラグ１９０４を設定する。例えば、実施形態として説明している１因子網羅テストでは、判断基準１８００（図１２参照）において、因子網羅度が１因子であるレコード１８０３が選ばれる。レコード１８０３によれば、判定条件は要注意水準組合せ表１９００の１因子欠陥のスコアが１以上（１因子欠陥≧１）となっている。このため、判定条件は要注意水準組合せ表１９００を走査し、条件を満たす４レコード（組合せ因子「氏名」−組合せ水準「空値」、組合せ因子「氏名」−組合せ水準「半角」、組合せ因子「生年月日」−組合せ水準「全角」、組合せ因子「生年月日」−組合せ水準「未来」）に対して要注意水準組合せフラグ１９０４を設定する。
【００６２】
なお、本実施形態では、要注意水準組合せフラグ１９０４を設定する方法で要注意水準組合せを区別したが、要注意水準組合せのみを抽出したテーブルを作成することによって、要注意水準組合せを区別してもよい。
【００６３】
要注意水準組合せ分析部１２０は、得られた要注意水準組合せ表１９００を判断基準記憶部１８０に書き込む。
【００６４】
図１３は、効果的テストケース生成部１３０の詳細な機能ブロック図である。効果的テストケース生成部１３０は、高欠陥検出効率テストケース生成部１３００、優先スコア計算部１３０１及び優先順位付与部１３０２を有する。
【００６５】
高欠陥検出効率テストケース生成部１３００は、要注意水準組合せ記憶部１９０より要注意水準組合せ表１９００を読み出し、抽出された要注意水準組合せを新たな因子、水準として２因子網羅テストを構成し、高欠陥検出効率テストケースのひな型１３０００を作成する。なお、網羅テストケース生成部１１０が、２因子網羅テストを構成するとよい。要注意水準組合せが得られなかった因子の水準については、ドントケア（＊）を割り当て、なるべく多くの水準が含まれるようにする。
【００６６】
図１４は、高欠陥検出効率テストケース生成部１３００によって構成された高欠陥検出効率テストケースのひな型１３０００の一例の説明図である。
【００６７】
氏名１３００１及び生年月日１３００２には、要注意水準組合せ表１９００（図１０参照）において要注意水準組合せとされた因子「氏名」の２水準（「空値」及び「半角」）及び因子「生年月日」の２水準（「全角」及び「未来」）の２因子網羅組合せが記述される。また、電話番号１３００３及び住所１３００４については要注意水準組合せ表１９００において要注意水準組合せを持たなかったため、ドントケアが割り当てられる。
【００６８】
高欠陥検出効率テストケース生成部１３００は、高欠陥検出効率テストケースのひな型１３０００の作成時に、テストケースにおいて水準の競合が起きる場合には、テストケース組合せを分割する。
【００６９】
図１５は、２因子網羅テストの履歴より抽出された要注意水準組合せによる競合ケースＡ１の例の説明図である。
【００７０】
ケースＡ１は、２因子の組合せ「氏名−電話番号」と「電話番号−生年月日」から、それぞれ、要注意水準組合として「空値−全角」と「桁小−未来」を組合せた例である。ここで、この水準組合せを展開し、作成したテストケースひな形Ａ１−１に着目すると、電話番号の因子において、「全角」と「桁小」という二つの異なる水準をテストするという実行不可能なテストケースが得られてしまう。このようなケースを競合ケースと呼ぶ。そこで、ケースＡ−２のように両立し得ない水準組合せからなるケースを、競合しない水準組合せに分割し、ドントケアを挿入する。このようにして分割したケースＡ２を個々の水準に展開することによって、競合のないテストケースひな形Ａ２−１が得られる。
【００７１】
高欠陥検出効率テストケース生成部１３００は、テストケースひな形１３０００のドントケアが挿入されている因子群について、因子・水準記憶部１５０より当該因子群水準を読み込み、網羅テストケース生成部１１０を用いて１因子水準網羅テストを生成し、ドントケア部分に展開する。これによって、全ての因子群に水準が挿入されたテストケース１３０１０を得る。
【００７２】
図１６は、テストケースひな形１３０００に水準が展開されたテストケース群１３０１０の一例の説明図である。
【００７３】
レコード群１３０１１は、テストケースひな形１３０００（図１４参照）のレコード１３００５に、「電話番号」の「住所」の水準を挿入した結果である。例えば、高欠陥検出効率テストケース生成部１３００は、テストケースひな形１３０００のうち、ドントケアが挿入されているレコード１３０５を選択する。次に、ドントケアが挿入されている因子それぞれ（「電話番号」及び「住所」）の水準を因子・水準記憶部１５０の因子・水準データ７１０より読み出す。読み出した因子について、網羅テストケース生成部１１０を用い、１因子網羅テストを生成する。その後、生成した一因子網羅テストの各組み合わせ（５ケース）をレコード１３０５のドントケア部分にそれぞれ挿入する。
【００７４】
高欠陥検出効率テストケース生成部１３００は、生成したテストケース１３０１０について、テスト実行履歴記憶部１７０のテスト実行履歴１７００を参照しながら、事前に実施した網羅テストによって安全性が確認されているテストケースを除去する。
【００７５】
例えば、レコード１３０１２は、テスト実行履歴１７００のテストケース識別子１７０１の「３」で実行済みのテストであるため、削除される。例えば、高欠陥検出効率テストケース生成部１３００は、各因子の水準（因子「氏名」の水準「半角」、因子「電話番号」の水準「全角」、因子「生年月日」の水準「全角」、因子「住所」の水準「半角」）をキーにテスト実行履歴１７００を検索し、一致するレコードがあるか否かによって、生成されたテストケースが既に実行されたものかどうかを判定する。
【００７６】
高欠陥検出効率テストケース生成部１３００は、生成し、既存テストケースとの重複を取り除いた高欠陥検出効率テストケース群１３０２０を生成テストケース記憶部１６０のテストケース記憶部１６００に書き込む。
【００７７】
図１７は、高欠陥検出効率テストケース生成部１３００により生成された高欠陥検出効率テストケース群１３０２０の一例の説明図である。
【００７８】
以上に述べた、高欠陥検出効率テストケース生成部１３００によるテストケース生成により、組合せに弱く潜在的に欠陥を抱えている機能を検査する水準についてのテストを重点的に実行することが可能となる。また、検査の結果、修正されて安全と確認されたテストケースを排除することが可能となる。このため、テストによって欠陥が抽出される効率が向上する。
【００７９】
図１３に戻り、優先スコア計算部１３０１について説明する。優先スコア計算部１３０１は、要注意水準組合せ記憶部１９０の要注意水準組合せ表１９００を参照し、生成テストケース記憶部１６０のテストケース記憶部１６００に格納されているテストケースそれぞれについて、優先スコア１６０１０を算出する。算出された優先スコア１６０１０は、優先スコア記憶部１６０１に書き込まれる。
【００８０】
図１８は、優先スコア計算部１３０１によって算出された、テストケースの優先スコア１６０１０の一例の説明図である。
【００８１】
優先スコア１６０１０は、１６００に格納されている各テストケースについて算出される。例えば、本実施形態では、優先スコア１６０１０として要注意水準組合せ数１６０１１、初出要注意水準−非要注意水準組合せ数１６０１２及び初出水準組合せ数１６０１３により優先スコアを示す。以下、各々のスコアについて、１因子網羅テストが終了した状況における、レコード１６０１４を例にして説明する。
【００８２】
要注意水準組合せ数１６０１１は、テストケースに含まれている水準に、要注意水準組合せ数が何件含まれているかを示すスコアである。優先スコア計算部１３０１は、要注意水準組合せ記憶部１９０より要注意水準組合せ表１９００を読み出し、レコード１６０１４に合致する水準組合せが何件存在するかカウントすることによって、優先スコアを算出する。レコード１６０１４には氏名の「空値」と生年月日の「全角」が含まれるため、スコアは２となる。
【００８３】
初出要注意水準−非要注意水準組合せ数１６０１２は、テストケースに含まれている水準組合せの中に、初めてテストされる要注意水準と要注意水準に選ばれなかった通常の水準との組合せが何件存在するかを示すスコアである。本例では、１因子組合せが完了した状態であるため、２水準の組合せが対象となる。優先スコア計算部１３０１は、要注意水準組合せ記憶部１９０より要注意水準組合せ表１９００を読み出し、テストケースに含まれる水準を、要注意水準及び非要注意水準に分類し、要注意水準及び非要注意水準の組合せを算出する。得られた要注意水準及び非要注意水準が、テスト実行履歴記憶部１７０のテスト実行履歴１７００に含まれるか否かを検索し、初出となる要注意水準−非要注意水準組合せの数を算出する。レコード１６０１４では氏名の「空値」及び電話番号の「正値」、氏名の「空値」及び住所の「正値」、生年月日の「全角」及び電話番号の「正値」、及び、生年月日の「全角」及び住所の「正値」が対象となり、スコアは４となる。
【００８４】
初出水準組合せ数１６０１３は、テストケースに含まれている水準組合せの中に、初めてテストされる水準の組合せが何件存在するかを示すスコアである。本例では、１因子組合せが完了した状態であるため、２水準の組合せが対象となる。優先スコア計算部１３０１は、テストケースに含まれる水準の各組み合わせについて、テスト実行履歴記憶部１７０のテスト実行履歴１７００検索し、初出か否かを判定する。レコード１６０１４では氏名の「空値」及び電話番号の「正値」、氏名の「空値」及び住所の「正値」、生年月日の「全角」及び電話番号の「正値」、生年月日の「全角」及び住所の「正値」、及び、電話番号の「正値」及び住所の「正値」が対象となり、スコアは５となる。
【００８５】
なお、本実施例の優先スコアは一例であって、前述した優先スコアに限定する趣旨ではない。
【００８６】
優先スコア計算部１３０１は、算出された優先スコア１６０１０を生成テストケース記憶部１６０の優先スコア記憶部１６０１に書き込む。
【００８７】
図１３に戻り、優先順位付与部１３０２について説明する。優先順位付与部１３０２は、生成テストケース記憶部１６０の優先スコア記憶部１６０１に格納された優先スコア１６０１０を読み出して、優先順位を算出し、算出された優先順位を生成テストケース記憶部１６０のテストケース記憶部１６００に格納されたテストケース群に付与し、優先順位記憶部１６０２に保存する。
【００８８】
図１９は、優先順位付与部１３０２によって付与された、テストケースの優先順位１６０２０の一例の説明図である。
【００８９】
本実施形態では、優先スコア計算部１３０１により算出され、優先スコア記憶部１６０１に格納された要注意水準組合せ数１６０１１、初出要注意水準−非要注意水準組合せ数１６０１２及び初出水準組合せ数１６０１３を用いて優先順位を算出する。例えば、各優先スコアの評価順を、要注意水準組合せ数１６０１１＞初出要注意水準−非要注意水準組合せ数１６０１２＞初出水準組合せ数１６０１３とする。すなわち、テストケースの順位付けにおいて、要注意水準組合せ数１６０１１の大小関係により順位付け、同順位となった場合に初出要注意水準−非要注意水準組合せ数１６０１２の大小関係のより順位付け、さらに同順位となった場合に、初出水準組合せ数１６０１３によって順位付付ける。
【００９０】
なお、本実施例の優先順位付け方法は一例であって、前述した方法を限定する趣旨ではない。例えば、スコアの合計で順位を決定したり、各スコアの加重平均により順位を決定してもよい。
【００９１】
優先順位付与部１３０２は、算出した優先順位１６０２０を優先順位記憶部１６０２に書き込む。
【００９２】
以上に述べたように、優先順位付与部１３０２による各テストケースの優先順位が算出されることによって、限られたテスト期間内にどのテストケースの欠陥検出効率が高いと推測され、優先的に取り組むべきなのかが明確化されるため、特にテスト立ち上がり時期の欠陥検出を効率化することができる。
【００９３】
図２に戻り、テストチェックリスト生成部１４０について説明する。テストチェックリスト生成部１４０は、生成テストケース記憶部１６０のテストケース記憶部１６００に格納されているテストケース群、及び優先順位記憶部１６０２に格納されている優先順位１６０２０を読み出し、テストチェックリスト６２０を生成し、入力装置１０６及び通信装置１０８を介して出力する。
【００９４】
図２０は、テストチェックリスト生成部１４０により生成されるテストチェックリスト６２０の一例の説明図である。各テストケースに対して優先順位１６０２０を付与し（レコード６２１）、優先順位１６０２０に基づきテストケースをソーティングすることによって、優先度の高いテストケースから実施することができる。
【００９５】
このテストチェックリスト６２０は、ユーザが視認可能な形式でも、計算機が実行可能な形式でもよい。
【００９６】
次に、以上説明したような構成を有するソフトウェアテストケース生成装置１００によって実行される処理の手順について説明する。
【００９７】
図２１は、ソフトウェアテストケース生成装置１００を用いたソフトウェアテスト全体の手順を示すフローチャートである。
【００９８】
また、図３は、テスト対象例６００及び因子・水準の例７００の説明図であり、ソフトウェアテストケース生成装置１００へ入力されるファイルの一例を示す。図８は、テスト実行結果６１０の一例であり、ソフトウェアテストケース生成装置１００へ入力されるファイルの一例を示す。図２０は、テストチェックリスト生成部１４０により生成されるテストチェックリスト６２０の一例であり、ソフトウェアテストケース生成装置１００の出力ファイルの一例を示す。図３、図８、図２０、図２１を用いて、主にソフトウェアテストケース生成装置１００への入力及び出力について説明する。
【００９９】
ステップ５０１では、ソフトウェアのテストを目的として、開発者がテスト対象に対する因子及び各因子の持つ水準を作成し、ソフトウェアテストケース生成装置１００に対して、入力装置１０６乃至通信装置１０８を介して入力する。図３に示すテスト対象画面６００に含まれる入力データ項目６０１に対する因子・水準の例として、因子・水準入力情報７００を示す。ここでは、入力情報７００として、因子名７０１（氏名）及び因子に対する水準７０２（正値、空値、半角、長文、無空白）を作成する。
【０１００】
なお、説明を省略するが、テスト対象画面６００の他の入力データ項目（電話番号６０２、生年月日６０３、住所６０４）についても同様に因子名７０１と水準７０２が作成される。
【０１０１】
ステップ５０２では、前述した因子・水準入力情報７００を因子・水準データ７１０として因子・水準記憶部１５０に格納する。
【０１０２】
ステップ５０３では、網羅因子数ｉの初期値を１とし、上記因子・水準データ７１０に基づき、ソフトウェアテストケース生成装置１００がｉ因子網羅テストを生成し、生成されたテストを開発者が実行する。また、テスト実行結果６１０をソフトウェアテストケース生成装置１００に入力する。ステップ５０３により生成されたテストケースが図８の６１２に示すテストケース６１２であり、開発者より入力されるテスト実行結果は、入力欄６１３〜６１５である。ステップ５０３の詳細な処理については、図２２を用いて後述する。
【０１０３】
ステップ５０４では、ｉ＋１因子網羅テストの実行に必要な時間を推定し、残テスト期間において、ｉ＋１因子網羅テストの実行を完了できるか否かを判定する。ｉ＋１因子網羅テストの全てのテストケースを実行可能と判定されれば、網羅因子数ｉに１を加え、ステップ５０３へ戻り、ｉ＋１因子網羅テストの全てのテストケースは実行不可能であると判定されれば、ステップ５０５に進む。
【０１０４】
なお、テスト計画時間をあらかじめ入力しておき、また、テスト実行履歴に各テストケースの実行にかかった時間を取得することによって、ステップ５０４の判定において、本判定をソフトウェアテストケース生成装置１００で実行することができる。なお、ｉ＋１因子網羅テストの実行を完了できるかは、利用者が判定してもよい。
【０１０５】
ステップ５０５では、ステップ５０３で入力されたテスト実行結果６１０に基づき、要注意水準組合せ表１９００（図１０参照）を生成し、重点的にテストが必要と考えられる要注意水準組合せを分析し、抽出する。ステップ５０５の詳細な処理については、図２３を用いて後述する。
【０１０６】
ステップ５０６では、上記因子・水準データ７１０、テスト実行結果６１０、及び要注意水準組合せ表１９００に基づき、欠陥検出効率の高いテストケースである、高欠陥検出効率テストケース群１３０２０（図１７参照）を生成する。ステップ５０６の詳細な処理については、図２４を用いて後述する。
【０１０７】
ステップ５０７では、上記、テスト実行結果６１０、要注意水準組合せ表１９００に基づき、高欠陥検出効率テストケース群１３０２０の各テストケースに対する優先順位１６０２０（図１９参照）を付与する。ステップ５０７の詳細な処理は、図２５を用いて後述する。
【０１０８】
ステップ５０８では、優先順位１６０２０が付与された高欠陥検出効率テストケース群１３０２０に基づき、優先度順にテストケースを並べ替え、テストケースに優先順位を記述した効率的テストチェックリストを生成し、出力装置１０７及び通信装置１０８を介して出力する。ステップ５０８において生成し、出力されるテストケースが図２０の効率的テストチェックリスト６２０である。レコード６２１の優先順位によりテストケースがソートされ、また各テストケースの優先順位を視認することができる。
【０１０９】
ステップ５０９では、効率的テストチェックリスト６２０を用い、利用者がテストを実行して欠陥を検出し、欠陥に対する対策を実施する。
【０１１０】
本実施形態のソフトウェアテストケース生成装置１００を用いることにより、ソフトウェアテストにおいて、欠陥検出効率を高めるためのテストケースを提供することができる。
【０１１１】
次に、ステップ５０３の処理の詳細を説明する。
【０１１２】
図２２は、ｉ因子網羅テストの実行の詳細な手順を示すフローチャートである。
【０１１３】
まず、網羅テストケース生成部１１０が、利用者より入力され、格納された因子・水準データ７１０を因子・水準記憶部１５０より読み出す（ステップ５０３１）。
【０１１４】
網羅テストケース生成部１１０は、ステップ５０３１で読み出した情報から、ｉ因子網羅テストケース群を生成する（ステップ５０３２）。
【０１１５】
網羅テストケース生成部１１０は、ステップ５０３２で生成したｉ因子網羅テストケース群を、生成テストケース記憶部１６０のテストケース記憶部１６００に書き込む。（ステップ５０３３）。
【０１１６】
テストチェックリスト生成部１４０は、ステップ５０３３でテストケース記憶部１６００に書き込まれたテストケース群に基づき、テストチェックリストを生成し、出力装置１０７及び通信装置１０８を介して出力する（ステップ５０３４）。
【０１１７】
その後、ステップ５０３４で出力されたテストチェックリストに従いｉ因子網羅テストを実行し、実行結果をテストチェックリストに記入する。テストにより欠陥が抽出された場合は、どの水準又は水準の組合せにより欠陥が再現するかを分析し、欠陥を修正し、その結果をチェックリストに記入する（ステップ５０３５）。
【０１１８】
その後、ステップ５０３５で作成されたテスト実行結果６１０が入力される（ステップ５０３６）。
【０１１９】
なお、ステップ５０３５及び５０３６の処理は利用者が行ってもよい。
【０１２０】
テスト実行履歴記憶部１７０は、利用者より入力されたテスト実行結果６１０をテスト実行履歴として記憶する（ステップ５０３７）。
【０１２１】
次に、ステップ５０５の処理の詳細を説明する。
【０１２２】
図２３は、要注意水準組合せの分析の詳細な手順を示すフローチャートである。
【０１２３】
まず、要注意水準組合せ分析部１２０は、因子・水準記憶部１５０より因子・水準データ７１０を読み出し、直前に実行されたｉ因子網羅テストに対応する、ｉ因子の要注意水準組合せ表１９００を生成する（ステップ５０５１）。
【０１２４】
要注意水準組合せ分析部１２０は、テスト実行履歴記憶部１７０よりテスト実行履歴１７００を読み出す（ステップ５０５２）。
【０１２５】
要注意水準組合せ分析部１２０は、ステップ５０５２で読み出したテスト実行履歴１７００に基づき、ステップ５０５１で生成した要注意水準組合せ表１９００の各水準組合せに対して欠陥スコア１９０３を算出し、表１９００に書き込む（ステップ５０５３）。
【０１２６】
要注意水準組合せ分析部１２０は、判断基準記憶部１８０より、直前に実行されたｉ因子網羅テストの網羅因子度「ｉ因子」をキーとして、判定条件１８０２を検索し、読み出す（ステップ５０５４）。
【０１２７】
要注意水準組合せ分析部１２０は、ステップ５０５４で読みだした判定条件に基づき、ステップ５０５３で欠陥スコア１９０３を書き込んだ要注意水準組合せ表１９００を走査し、要注意水準組合せと判定された水準組合せについて要注意水準フラグ１９０４を立て、要注意水準組合せを決定する（ステップ５０５５）。
【０１２８】
要注意水準組合せ分析部１２０は、ステップ５０５５で要注意水準を決定した要注意水準組合せ表１９００を要注意水準組合せ記憶部１９０に書き込む（ステップ５０５６）。
【０１２９】
次に、ステップ５０６の処理の詳細を説明する。
【０１３０】
図２４は、欠陥検出効率の高いテストケースの生成の詳細な手順を示すフローチャートである。
【０１３１】
まず、効果的テストケース生成部１３０の高欠陥検出効率テストケース生成部１３００は、直前に実行されたｉ因子網羅テストに対応する、因子数ｉの要注意水準組合せ表１９００を読み出す（ステップ５０６１）。
【０１３２】
高欠陥検出効率テストケース生成部１３００は、ステップ５０６１で読みだした要注意水準組合せ表１９００より、要注意水準組合せが存在する因子組合せ、及び要注意水準組合せを取り出し、要注意水準組合せが存在する因子組合せを新たな因子、それに付随する要注意水準組合せ群を新たな水準と定義し、網羅テストケース生成部１１０を用いて要注意水準組合せを網羅するテストケースひな形１３０００を生成する。この時、要注意水準を持たない因子についてはドントケア（＊）を挿入する（ステップ５０６２）。
【０１３３】
高欠陥検出効率テストケース生成部１３００は、ステップ５０６２で生成したテストケースひな形１３０００について、水準組合せをテストケースに展開した際、水準値が競合してテスト実行不能となるテストケースひな形について、テストケースを分割し、競合を回避する（ステップ５０６３）。
【０１３４】
高欠陥検出効率テストケース生成部１３００は、ステップ５０６３までの処理で得られたテストケースひな形１３０００について、水準を展開する。また、ドントケアが含まれる因子については、１因子網羅テストケースを展開する。このようにして、テストケース群１３０１０を生成する（ステップ５０６４）。
【０１３５】
高欠陥検出効率テストケース生成部１３００は、テスト実行履歴記憶部１７０のテスト実行履歴１７００を参照し、ステップ５０６４で生成したテストケース群の中に、既に実行済みのテストケースがあるか否かを検査し、既に実行済みのテストケースがあれば、テストケース群から削除する（ステップ５０６５）。
【０１３６】
高欠陥検出効率テストケース生成部１３００は、ステップ５０６５までの処理で得られた高欠陥検出効率テストケース群１３０２０を生成テストケース記憶部１６０のテストケース記憶部１６００に書き込む（ステップ５０６６）。
【０１３７】
次に、ステップ５０７の処理の詳細を説明する。
【０１３８】
図２５は、テストケースに対する優先順位の付与の詳細な手順を示すフローチャートである。
【０１３９】
まず、効果的テストケース生成部１３０の優先スコア計算部１３０１は、生成テストケース記憶部１６０よりテストケース群を読み出す（ステップ５０７１）。
【０１４０】
優先スコア計算部１３０１は、要注意水準組合せ記憶部１９０に格納されている要注意水準組合せ表１９００、及びテスト実行履歴記憶部１７０に格納されているテスト実行履歴１７００に基づき、ステップ５０７１で読み出したテストケース群の各テストケースの優先スコア１６０１０を算出する（ステップ５０７２）。
【０１４１】
優先スコア計算部１３０１は、ステップ５０７２で算出した優先スコア１６０１０を生成テストケース記憶部１６０の優先スコア記憶部１６０１に書き込む（ステップ５０７３）。
【０１４２】
次に、効果的テストケース生成部１３０の優先順位付与部１３０２は、優先スコア記憶部１６０１より、ステップ５０７３でテストケース毎に算出された優先スコア１６０１０を読み出す（ステップ５０７４）。
【０１４３】
なお、本実施形態では、優先スコア計算部１３０１と優先順位付与部１３０２とが、優先スコア記憶部１６０１を介して、優先スコア１６０１０を授受したが、優先スコア計算部１３０１及び優先順位付与部１３０２が互いに連携して優先スコア１６０１０を授受してもよい。
【０１４４】
優先順位付与部１３０２は、ステップ５０７４で読み出した優先スコアを評価し、各テストケースの優先順位１６０２０を決定する（ステップ５０７５）。
【０１４５】
優先順位付与部１３０２は、ステップ５０７５で決定した優先順位１６０２０を生成テストケース記憶部１６０の優先順位記憶部１６０２に書き込む（ステップ５０７６）。
【０１４６】
前述した実施形態は、本発明の説明のための例示であり、本発明の範囲を例示した実施形態に限定する趣旨ではない。例えば、前述した実施形態は本説明を分かり易く説明するために詳細に説明したものであり、必ずしも説明したすべての構成を備えるものに限定されない。
【０１４７】
また、前述の各構成、機能、処理部、処理手段などは、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、前述の各構成、機能などは、プロセッサがそれぞれの機能を実現するプログラムを実行することによってソフトウェアで実現してもよい。前述の機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記憶媒体に格納することができ、これらの記憶媒体から計算機にロードされ、プロセッサによって実行される。
【０１４８】
また、制御線や情報線は説明上必要と考えられるもののみを示しており、製品上必要な制御線や情報線は示されているとは限らない。実際には、ほとんどすべての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１４９】
１００  ソフトウェアテストケース生成装置
１０１  ＣＰＵ
１０２  メモリ
１０３  外部記憶装置
１０４  バス
１０５  外部インターフェース
１０６  入力装置
１０７  出力装置
１０８  通信装置
１１０  網羅テストケース生成部
１２０  要注意水準組合せ分析部
１３０  効果的テストケース生成部
１４０  テストチェックリスト生成部
１５０  因子・水準記憶部
１６０  生成テストケース記憶部
１７０  テスト実行履歴記憶部
１８０  判断基準記憶部
１９０  要注意水準組合せ記憶部
【図１】
2013077124.tif 000003
【図２】
2013077124.tif 000004
【図３】
2013077124.tif 000005
【図４】
2013077124.tif 000006
【図５】
2013077124.tif 000007
【図６】
2013077124.tif 000008
【図７】
2013077124.tif 000009
【図８】
2013077124.tif 000010
【図９】
2013077124.tif 000011
【図１０】
2013077124.tif 000012
【図１１】
2013077124.tif 000013
【図１２】
2013077124.tif 000014
【図１３】
2013077124.tif 000015
【図１４】
2013077124.tif 000016
【図１５】
2013077124.tif 000017
【図１６】
2013077124.tif 000018
【図１７】
2013077124.tif 000019
【図１８】
2013077124.tif 000020
【図１９】
2013077124.tif 000021
【図２０】
2013077124.tif 000022
【図２１】
2013077124.tif 000023
【図２２】
2013077124.tif 000024
【図２３】
2013077124.tif 000025
【図２４】
2013077124.tif 000026
【図２５】
2013077124.tif 000027