(57)【要約】【課題】信頼度成長モデルにあてはめなくても、テスト工程の終了判定を行うソフトウェアテスト終了判定方法等を提供する。【解決手段】消化したテスト項目数の変化に対する検出バグ数を登録する実績情報ファイル１５と、前記検出バグ数の推移からバグ収束を判定するバグ収束判定手段１７を有する情報処理装置１０において、前記消化したテスト項目数の二以上の区間（つまり、テスト項目消化率）の範囲内で検出されたバグ数から第１の傾きを算出し、かつ、ソフトウェアテスト開始から終了までに検出されたバグ数から第２の傾きを算出し、前記第１の傾きと前記第２の傾きの比をとって、前記区間におけるバグ収束度を算出し、前記バグ収束度と閾値を比較してバグ収束を判断して、ソフトウェアテストの終了判定を行うことを特徴とする。【選択図】図１
2008033662.tif 000002
【特許請求の範囲】
【請求項１】
任意のパラメータの変化に対する検出バグ数の推移より、バグ収束を判断し、ソフトウェアテストの終了判定を行うソフトウェアテスト終了判定方法において、
前記パラメータの二以上の区間の範囲内で検出されたバグ数から第１の傾きを算出し、かつ、ソフトウェアテスト開始から終了までに検出されたバグ数から第２の傾きを算出する傾き算出工程と、
前記第１の傾きと前記第２の傾きの比をとって、前記区間におけるバグ収束度を算出するバグ収束度算出工程と、
前記バグ収束度と閾値を比較してバグ収束を判断する判断工程を有することを特徴とするソフトウェアテスト終了判定方法。
【請求項２】
前記区間は、ソフトウェアテストの終盤におけるパラメータの区間であることを特徴とする請求項１に記載のソフトウェアテスト終了判定方法。
【請求項３】
前記パラメータはソフトウェアテストのテスト項目数、または、ソフトウェアテストの所要時間のうち少なくとも一つであることを特徴とする請求項１または２に記載のソフトウェアテスト終了判定方法。
【請求項４】
任意のパラメータの変化に対する検出バグ数を登録する手段と、
前記検出バグ数の推移からバグ収束を判定する手段を有する情報処理装置において、
前記パラメータの二以上の区間の範囲内で検出されたバグ数から第１の傾きを算出し、かつ、ソフトウェアテスト開始から終了までに検出されたバグ数から第２の傾きを算出し、
前記第１の傾きと前記第２の傾きの比をとって、前記区間におけるバグ収束度を算出し、
前記バグ収束度と閾値を比較してバグ収束を判断して、ソフトウェアテストの終了判定を行うことを特徴とする情報処理装置。
【請求項５】
コンピュータに、
任意のパラメータの変化に対する検出バグ数を登録する手段と、
前記検出バグ数の推移からバグ収束を判定する手段として機能させる情報処理装置のプログラムにおいて、
前記パラメータの二以上の区間の範囲内で検出されたバグ数から第１の傾きを算出し、かつ、ソフトウェアテスト開始から終了までに検出されたバグ数から第２の傾きを算出し、
前記第１の傾きと前記第２の傾きの比をとって、前記区間におけるバグ収束度を算出し、
前記バグ収束度と閾値を比較してバグ収束を判断して、ソフトウェアテストの終了判定を行うように実行させることを特徴とするプログラム。
【請求項６】
請求項５に記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア製品開発プロジェクトを管理するシステムにおいて、ソフトウェアテストのテスト工程の終了判定についてのソフトウェアテスト終了判定方法等に関するものである。
【背景技術】
【０００２】
ソフトウェアの信頼度を評価するために、対象となる情報処理装置を用いてソフトウェアのテストが行われる。そのテストには種々のテスト工程が設けられているが、妥当な結果を得るために各テスト工程をいつ終了するかという終了判定が重要になってくる。従来のソフトウェアテスト終了判定方法としては、縦軸に検出した累積バグ数、横軸にテスト項目数またはテスト時間を使用してバグ検出推移グラフを作成し、ゴンペルツモデルやNHPPモデルのような「信頼度成長モデル」にあてはめることでバグ収束しているかを判断し、テスト工程の終了判定を行っていた（特許文献１参照）。しかし、「プロジェクト規模が小さいため、バグ推移グラフが大きな階段状になる」または「テストの進め方に紆余曲折があり、きれいな曲線にならない」場合は、信頼度成長モデルにあてはめられず、バグ収束の判断ができないという問題があった。
【特許文献１】特開平８−７６９９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
本発明は、以上の問題点を解決するために、信頼度成長モデルにあてはめなくても、テスト工程の終了判定を行うソフトウェアテスト終了判定方法等を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成する本発明の態様は、任意のパラメータの変化に対する検出バグ数の推移より、バグ収束を判断し、ソフトウェアテストの終了判定を行うソフトウェアテスト終了判定方法において、前記パラメータの二以上の区間の範囲内で検出されたバグ数から第１の傾きを算出し、かつ、ソフトウェアテスト開始から終了までに検出されたバグ数から第２の傾きを算出する傾き算出工程と、前記第１の傾きと前記第２の傾きの比をとって、前記区間におけるバグ収束度を算出するバグ収束度算出工程と、前記バグ収束度と閾値を比較してバグ収束を判断する判断工程を有することを特徴とするソフトウェアテスト終了判定方法に関するものである。
【０００５】
ここで、前記区間は、ソフトウェアテストの終盤におけるパラメータの区間であることを特徴とする。また、前記パラメータはソフトウェアテストのテスト項目数、または、ソフトウェアテストの所要時間のうち少なくとも一つであることを特徴とする。
【０００６】
本発明の他の態様は、任意のパラメータの変化に対する検出バグ数を登録する手段と、前記検出バグ数の推移からバグ収束を判定する手段を有する情報処理装置において、前記パラメータの二以上の区間の範囲内で検出されたバグ数から第１の傾きを算出し、かつ、ソフトウェアテスト開始から終了までに検出されたバグ数から第２の傾きを算出し、前記第１の傾きと前記第２の傾きの比をとって、前記区間におけるバグ収束度を算出し、前記バグ収束度と閾値を比較してバグ収束を判断して、ソフトウェアテストの終了判定を行うことを特徴とする情報処理装置に関するものである。
【０００７】
また、本発明の他の態様は、コンピュータに、任意のパラメータの変化に対する検出バグ数を登録する手段と、前記検出バグ数の推移からバグ収束を判定する手段として機能させる情報処理装置のプログラムにおいて、前記パラメータの二以上の区間の範囲内で検出されたバグ数から第１の傾きを算出し、かつ、ソフトウェアテスト開始から終了までに検出されたバグ数から第２の傾きを算出し、前記第１の傾きと前記第２の傾きの比をとって、前記区間におけるバグ収束度を算出し、前記バグ収束度と閾値を比較してバグ収束を判断して、ソフトウェアテストの終了判定を行うように実行させることを特徴とするプログラムに関するものである。
【０００８】
また、本発明の他の態様は、上記プログラムを記録した記録媒体に関するものである。
【発明の効果】
【０００９】
本発明により、ソフトウェア製品開発プロジェクトのテスト工程において、バグ検出推移グラフが「信頼度成長モデル」にあてはまらない場合でも、バグの収束度を算出し、テスト工程の終了判定ができることにある。その理由は、バグ収束度を「信頼度成長モデル」にあてはめて求めるのではなく、バグ検出推移グラフの傾きからバグ収束度を求めるためである。
【００１０】
特に、テスト工程の終盤においては、検出バグ数が飽和状態になるので、バグ検出推移グラフの傾きの変化は顕著なものであり、精度の高い終了判定を行うことができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明のソフトウェアテスト終了判定方法等を実施するための最良の形態について説明する。説明する際には、本明細書と同時に提出する図面を適宜参照する。
【００１２】
〈構成〉
図１は、本形態のソフトウェアテスト終了判定方法を実行するシステムの構成図である。図１を参照すると、このシステムは、計画情報登録手段１２、計画情報ファイル１３、実績情報登録手段１４、実績情報ファイル１５、収束判定基準定義ファイル１６、バグ収束判定手段１７、表示手段１８を有する情報処理装置１０と、入力装置１１と、表示装置１９とで構成されている。情報処理装置１０には、各手段について中央処理制御を行うＣＰＵ(Central Processing Unit)と、当該ＣＰＵが中央処理制御を行うときに読み出すプログラムを記録した記録媒体としてのＲＯＭ(Read Only Memory)が備えられている。このプログラムには本形態のソフトウェアテスト終了判定方法に関するプログラムが含まれる。
【００１３】
入力装置１９は、ソフトウェアテスト終了判定方法を行うのに必要な情報を入力する装置であり、キーボードやマウス等に代表される。入力される情報は、主に、予定テスト項目数に係る情報、予測バグ数に係る情報、消化テスト項目数に係る情報、検出バグ数に係る情報等がある。
予定テスト項目数とは、情報処理装置１０にてこれから行うソフトウェアテストを項目別にあげたときの項目数である。ソフトウェアテスト終了判定をするまでになされるテスト項目の項目数でもある。
予測バグ数とは、採り上げた項目に係るテスト工程を情報処理装置１０にて実行するときに検出されると考えられるバグ数である。一般的には、ある程度信頼度を評価することができるソフトウェアにおいて、消化されるテスト項目の項目数が大きくなるにつれて検出されるバグ数がどの程度小さくなるかを予測する。
消化テスト項目数とは、ソフトウェアテストを実行している際に、予定テスト項目数にて採り上げられた項目のうち実際に行われたテストの項目数である。
検出バグ数とは、ソフトウェアテストを実行している際に、実際に検出されたバグの数である。
【００１４】
計画情報登録手段１２は、入力装置１１より入力された情報のうち、予定テスト項目数に係る情報及び予測バグ数に係る情報を一つにまとめた情報を計画情報として登録する機能を有する。
計画情報ファイル１３は、計画情報登録手段１２により登録された計画情報を記憶する機能を有する。
【００１５】
実績情報登録手段１４は、入力装置１１より入力された情報のうち、消化テスト項目数に係る情報、検出バグ数に係る情報を一つにまとめた情報を実績情報として登録する機能を有する。
実績情報ファイル１５は、実績情報登録手段１４により登録された実績情報を記憶する機能を有する。
【００１６】
収束判定基準定義ファイル１６は、消化テスト項目数と検出バグ数から求められるバグ収束度を用いた収束判定において、その判定の基準値を記憶する機能を有する。予定テスト項目数と予測バグ数に基づいて基準値を設定するようにすると良い。
【００１７】
バグ収束判定手段１７は、計画情報、実績情報、収束判定の基準値に基づいてバグ収束しているか否かを判定する機能を有する。バグ収束していない場合には、実行するテストのテスト項目が少なく信頼度がきちんと評価できないものである可能性があるので、テスト項目を追加する。そのために、入力装置１１より計画情報登録手段１２に登録する追加用の追加テスト項目数を入力する。
【００１８】
表示手段１８は、バグ収束判定手段１７よりバグ収束の判定結果を受信し、当該結果を画像データに変換する機能を有する。表示装置１９は、表示手段１８より画像データに変換された判定結果を利用者に表示する装置であり、液晶ディスプレイ等に代表される。
【００１９】
〈動作〉
次に、本発明のソフトウェアテスト終了判定方法の処理動作について詳細に説明する。まず、図２のフローチャートを参照して、計画情報の入力に関する処理動作について説明する。
【００２０】
まず、ステップ２１では、入力装置１１から予定テスト項目数と予測バグ数を入力する。ステップ２２では、入力された予定テスト項目数と予測バグ数を計画情報としてまとめ、当該計画情報を計画情報ファイル１３に登録する。
【００２１】
次に、図３のフローチャートを参照して、実績情報の入力に関する処理動作について説明する。
【００２２】
まず、ステップ３１では、入力装置１１から消化したテスト項目数と検出バグ数を入力する。ステップ３２では、入力された消化テスト項目数と検出バグ数を実績情報としてまとめ、実績情報ファイル１５に登録する。実績は１週間に１度程度の頻度で入力するのが一般的である。
【００２３】
次に、図４のフローチャートと図６のバグ検出推移グラフを参照して、収束判定に関する処理動作について説明する。
【００２４】
まず、ステップ４１では、消化したテスト項目数と検出バグ数の実績データをもとに「テスト開始から終了までの全体の傾き」及び、「テスト終盤の傾き」を求める。本形態では、「テスト終盤の傾き」として、テスト項目消化率８０％から９０％までの区間と９０％から１００％までの区間の傾きを求める。つまり、区間の傾きとは、ある区間の範囲内で検出されたバグ数を、その区間の区間幅で割った値である。２つの区間の傾きを求めることにより、テスト終盤になるほど、バグが収束しているかを確かめることができる。テスト終盤の区間（テスト項目消化率８０％〜９０％、９０％〜１００％）がバグ収束の飽和する様子を最も良く反映しているからである。
【００２５】
ステップ４１の傾きを算出する式を、図６のバグ検出推移グラフにて説明する。図６において、Ｘはテスト項目数、Ｙは検出バグ数である。テスト項目消化率８０％のテスト項目数がＸ６１のときの検出バグ数をＹ６１、テスト項目消化率９０％のテスト項目数がＸ６２のときの検出バグ数をＹ６２、テスト項目消化率１００％のテスト項目数がＸ６３のときの検出バグ数をＹ６３とした場合、傾きは以下の式で算出できる。
テスト開始から終了までの全体の傾き＝（Ｙ６３／Ｘ６３）
テスト項目消化率８０％から９０％までの傾き＝（Ｙ６２−Ｙ６１）／（Ｘ６２−Ｘ６１）
テスト項目消化率９０％から１００％までの傾き＝（Ｙ６３−Ｙ６２）／（Ｘ６３−Ｘ６２）
【００２６】
テストが完了しておらず、途中経過の傾きを算出する場合は、計画情報ファイル１３に登録した予定テスト項目数をＹ６３とし、予測バグ数をＸ６３として求める。
【００２７】
ステップ４２では、ステップ４１で算出した傾きから、テスト項目消化率８０％から９０％まで区間と９０％から１００％までの区間のバグ収束度を求める。各区間のバグ収束度はその区間における傾きと、ソフトウェアテスト開始から終了までの全体の傾きとの比をとることにより求まる。
【００２８】
ステップ４２のバグ収束度を算出する式を、図６のバグ検出推移グラフにて説明すると、以下の式で算出できる。
テスト項目消化率８０％から９０％までのバグ収束度
＝テスト項目消化率８０％から９０％までの傾き／テスト開始から終了までの全体の傾き
＝｛（Ｙ６２−Ｙ６１）／（Ｘ６２−Ｘ６１）｝／（Ｙ６３／Ｘ６３）
テスト項目消化率９０％から１００％までのバグ収束度
＝テスト項目消化率９０％から１００％までの傾き／テスト開始から終了までの全体の傾き
＝｛（Ｙ６３−Ｙ６２）／（Ｘ６３−Ｘ６２）｝／（Ｙ６３／Ｘ６３）
【００２９】
ステップ４３では、ステップ４２で算出したバグ収束度からバグ収束判定をおこなう。
ステップ４２で算出したバグ収束度が、収束判定の基準値以下の場合は「収束している」と判断し（ステップ４４）、基準値以上の場合は「収束していない」と判断する（ステップ４５）。あらかじめ、テスト項目消化率８０％から９０％までのバグ収束度の基準値とテスト項目消化率９０％から１００％までのバグ収束度の基準値を、収束判定基準定義ファイル１６に設定しておく。品質の良い製品では、テスト終盤にいくほどバグは収束しているため、テスト項目消化率８０％から９０％よりも９０％から１００％までのバグ収束度の基準値を小さく設定しておく。
【００３０】
ステップ４６では、「収束していない」と判断された場合、収束するために必要な追加テスト項目数を算出する。算出方法は、ステップ４２の算出式で、バグ収束度が基準値以下になるために必要なテスト項目数を求める。
【００３１】
次に、図５のフローチャートを参照して、収束判定結果の表示に関する処理動作について説明する。
ステップ５１では、実績情報ファイル１５からバグ検出推移グラフを作成し、表示する。
ステップ５２では、バグ収束判定手段１７で得たバグ収束度とバグ収束判定の結果を表示する。
【００３２】
図７は、表示手段１９において、バグ収束度とバグ収束判定の結果についての表示内容を図示したものである。テスト項目消化率が８０％〜９０％（テスト項目数８０００〜９０００）のバグ収束度が０．３０であり、収束判定は○：合格であり、かつ、テスト項目消化率が９０％〜１００％（テスト項目数９０００〜１００００）のバグ収束度が０．１０とより小さくなり、収束判定は○：合格である。よって、バグ収束していると判断するのが妥当であり、収束に必要なテスト項目数は０で済み、ソフトウェアテストを終了することができる。
【００３３】
本形態のソフトウェアテスト終了判定方法を実施することにより、以下の効果を奏する。つまり、ソフトウェア製品開発プロジェクトのテスト工程において、バグ検出推移グラフが「信頼度成長モデル」にあてはまらない場合でも、バグの収束度を算出し、テスト工程の終了判定ができるようになる。その理由は、バグ収束度を「信頼度成長モデル」にあてはめて求めるのではなく、バグ検出推移グラフの（テスト終盤の傾き）と（テスト開始から終了までの全体の傾き）から、バグ収束度を求められるためである。
【００３４】
なお、上述した内容は本発明のソフトウェアテスト終了判定方法等を実施するための最良のものであるが、かかる実施形式に限定するものではない。従って、本発明の要旨を変更しない範囲内において、その実施形式を種々変形することが可能である。
【００３５】
例えば、本形態では、テスト項目消化率８０％から９０％までの区間と９０％から１００％までの区間の傾きを求めるようにしたが、テスト項目消化率の二以上の任意の区間の傾きを求めることも可能である。各区間が一部重複する場合であっても良い。
【００３６】
また、本形態のバグ検出推移グラフ（図６）は、テスト項目数に対するバグ検出数を用いているが、テストの所要時間に対するバグ検出数を用いてその検出の推移に基づいてバグ収束しているか否かを判断しても良い。さらに、任意のパラメータを用いて、そのパラメータの変化に対するバグ検出数の推移を求め、その推移に基づいてバグ収束しているか否か判断しても良い。
【図面の簡単な説明】
【００３７】
【図１】本形態のソフトウェアテスト終了判定方法を実行するシステムの構成図である。
【図２】計画情報の入力に関する処理動作についてのフローチャートである。
【図３】実績情報の入力に関する処理動作についてのフローチャートである。
【図４】収束判定に関する処理動作についてのフローチャートである。
【図５】収束判定結果の表示に関する処理動作についてのフローチャートである。
【図６】バグ検出推移グラフである。
【図７】バグ収束度とバグ収束判定の結果についての表示内容を図示したものである。
【符号の説明】
【００３８】
１０    情報処理装置
１１    入力装置
１２    計画情報登録手段
１３    計画情報ファイル
１４    実績情報登録手段
１５    実績情報ファイル
１６    収束判定基準定義ファイル
１７    バグ収束判定手段
１８    表示手段
１９    表示装置
【図１】
2008033662.tif 000003
【図２】
2008033662.tif 000004
【図３】
2008033662.tif 000005
【図４】
2008033662.tif 000006
【図５】
2008033662.tif 000007
【図６】
2008033662.tif 000008
【図７】
2008033662.tif 000009