(57)【特許請求の範囲】
【請求項１】
ソフトウェアプログラムに含まれる少なくともいずれかのモジュールの開発を担当した担当者の担当者識別子を含む担当者一覧ファイルと、前記ソフトウェアプログラムに含まれるモジュールのモジュール識別子に担当者識別子を対応付けるモジュール担当ファイルと、モジュールに発生した不具合の量である不具合量をモジュール識別子に対応付ける不具合量ファイルと、を記憶するファイル記憶部と、
前記担当者一覧ファイルに含まれる担当者識別子毎にモジュール識別子を前記モジュール担当ファイルから選択し、選択したモジュール識別子に対応付けられた不具合量を前記不具合量ファイルから選択し、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する担当者技術値算出部と
を備えるソフトウェア試験支援装置。
【請求項２】
前記ファイル記憶部は、モジュール識別子を含むモジュール一覧ファイルを記憶し、
前記モジュール一覧ファイルに含まれるモジュール識別子毎に前記担当者技術値算出部によって算出された担当者技術値を選択し、選択した担当者技術値を用いて、モジュールによって実現される機能についての試験の実施が必要な度合い表す試験必要度を算出する試験必要度算出部を備える
請求項１に記載のソフトウェア試験支援装置。
【請求項３】
前記ファイル記憶部は、前記ソフトウェアプログラムのバージョン毎の作業期間を示す作業期間ファイルと、変更されたモジュールのモジュール識別子にモジュールを変更した変更作業に要した変更作業量と変更作業が行われた作業期間の選択に用いる作業期間選択情報とを対応付ける変更作業ファイルとを記憶し、
前記ソフトウェア試験支援装置は、
前記モジュール一覧ファイルに含まれるモジュール識別子毎に変更作業量と作業期間選択情報とを前記変更作業ファイルから選択し、選択した作業期間選択情報に基づいて作業期間を前記作業期間ファイルから選択し、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する変更作業密度算出部を備え、
前記試験必要度算出部は、前記モジュール一覧ファイルに含まれるモジュール識別子毎に前記変更作業密度と前記担当者技術値とを用いて前記試験必要度を算出する
請求項２に記載のソフトウェア試験支援装置。
【請求項４】
前記ファイル記憶部は、前回算出された試験必要度である前回必要度をモジュール識別子に対応付ける試験必要度履歴ファイルを記憶し、
前記試験必要度算出部は、前記モジュール一覧ファイルに含まれるモジュール識別子毎に前回必要度を前記試験必要度履歴ファイルから選択し、選択した前回必要度と今回算出した試験必要度である今回必要度との差の大きさに基づいて、前記今回必要度を更新する
請求項２に記載のソフトウェア試験支援装置。
【請求項５】
ソフトウェアプログラムに含まれるモジュールのモジュール識別子を含むモジュール一覧ファイルと、前記ソフトウェアプログラムのバージョン毎の作業期間を示す作業期間ファイルと、変更されたモジュールのモジュール識別子にモジュールを変更した変更作業に要した変更作業量と変更作業が行われた作業期間の選択に用いる作業期間選択情報とを対応付ける変更作業ファイルと、を記憶するファイル記憶部と、
前記モジュール一覧ファイルに含まれるモジュール識別子毎に変更作業量と作業期間選択情報とを前記変更作業ファイルから選択し、選択した作業期間選択情報に基づいて作業期間を前記作業期間ファイルから選択し、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する変更作業密度算出部と
を備えるソフトウェア試験支援装置。
【請求項６】
前記モジュール一覧ファイルに含まれるモジュール識別子毎に前記変更作業密度算出部によって算出された変更作業密度を選択し、選択した変更作業密度を用いて、モジュールによって実現される機能についての試験の実施が必要な度合いを表す試験必要度を算出する試験必要度算出部を備える
請求項５に記載のソフトウェア試験支援装置。
【請求項７】
担当者一覧ファイルとモジュール担当ファイルと不具合量ファイルとを用いるソフトウェア試験支援プログラムであって、
前記担当者一覧ファイルは、ソフトウェアプログラムに含まれる少なくともいずれかのモジュールの開発を担当した担当者の担当者識別子を含むファイルであり、
前記モジュール担当ファイルは、前記ソフトウェアプログラムに含まれるモジュールのモジュール識別子に担当者識別子を対応付けるファイルであり、
前記不具合量ファイルは、モジュールに発生した不具合の量である不具合量をモジュール識別子に対応付けるファイルであり、
前記担当者一覧ファイルに含まれる担当者識別子毎にモジュール識別子を前記モジュール担当ファイルから選択し、選択したモジュール識別子に対応付けられた不具合量を前記不具合量ファイルから選択し、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する担当者技術値算出部として
コンピュータを機能させるためのソフトウェア試験支援プログラム。
【請求項８】
モジュール一覧ファイルと作業期間ファイルと変更作業ファイルとを用いるソフトウェア試験支援プログラムであって、
前記モジュール一覧ファイルは、ソフトウェアプログラムに含まれるモジュールのモジュール識別子を含むファイルであり、
前記作業期間ファイルは、前記ソフトウェアプログラムのバージョン毎の作業期間を示すファイルであり、
前記変更作業ファイルは、変更されたモジュールのモジュール識別子にモジュールを変更した変更作業に要した変更作業量と変更作業が行われた作業期間の選択に用いる作業期間選択情報とを対応付けるファイルであり、
前記モジュール一覧ファイルに含まれるモジュール識別子毎に変更作業量と作業期間選択情報とを前記変更作業ファイルから選択し、選択した作業期間選択情報に基づいて作業期間を前記作業期間ファイルから選択し、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する変更作業密度算出部として
コンピュータを機能させるためのソフトウェア試験支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアプログラムに含まれるモジュールによって実現される機能についての試験の実施が必要な度合いを表す試験必要度を算出するソフトウェア試験支援装置およびソフトウェア試験支援プログラムに関するものである。
【背景技術】
【０００２】
一般的に、ソフトウェアに対して機能の追加または不具合の修正などが必要になった場合、ソフトウェアが変更されて回帰試験が行われる。この回帰試験は、実施済みの試験も含めて、ソフトウェアの全体に対して行う試験である。
しかし、ソフトウェアが大規模である場合、回帰試験の試験項目数が膨大になってしまう。そのため、実際には、回帰試験の試験項目を取捨選択することによって、回帰試験の試験項目数を減らしている。
また、ソフトウェアの変更を含めたソフトウェア開発において、変更履歴、障害状況、障害履歴、カバレッジ率データ、担当者技術情報などの多種の情報が、ソフトウェアの品質向上のために管理されている。
【０００３】
特許文献１は、修正履歴情報を用いて試験項目を取捨選択する技術を開示している。
特許文献２は、障害の発生日時、障害の発生頻度およびモジュールの複雑度を用いて試験項目を評価する技術を開示している。
しかし、これらの技術では、ソフトウェア開発において管理されている多種の情報が十分に活用されていない。また、それぞれの試験項目について必要度の時系列変化が考慮されていない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１２９６６１号公報
【特許文献２】特開平０６−１３１２１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、ソフトウェアプログラムに含まれるモジュールによって実現される機能についての試験の実施が必要な度合いを表す試験必要度を算出できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明のソフトウェア試験支援装置は、
ソフトウェアプログラムに含まれる少なくともいずれかのモジュールの開発を担当した担当者の担当者識別子を含む担当者一覧ファイルと、前記ソフトウェアプログラムに含まれるモジュールのモジュール識別子に担当者識別子を対応付けるモジュール担当ファイルと、モジュールに発生した不具合の量である不具合量をモジュール識別子に対応付ける不具合量ファイルと、を記憶するファイル記憶部と、
前記担当者一覧ファイルに含まれる担当者識別子毎にモジュール識別子を前記モジュール担当ファイルから選択し、選択したモジュール識別子に対応付けられた不具合量を前記不具合量ファイルから選択し、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する担当者技術値算出部とを備える。
【発明の効果】
【０００７】
本発明によれば、試験必要度を算出するための指標値として、モジュールの開発を担当した担当者の担当者技術値を算出することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１におけるソフトウェア試験支援装置１００の機能構成図である。
【図２】実施の形態１における担当者一覧ファイル１８１の一例を示す図である。
【図３】実施の形態１におけるモジュール担当ファイル１８２の一例を示す図である。
【図４】実施の形態１における不具合量ファイル１８３の一例を示す図である。
【図５】実施の形態１におけるモジュール一覧ファイル１８４の一例を示す図である。
【図６】実施の形態１における作業期間ファイル１８５の一例を示す図である。
【図７】実施の形態１における変更作業ファイル１８６の一例を示す図である。
【図８】実施の形態１における不具合情報ファイル１８７の一例を示す図である。
【図９】実施の形態１における関数カバレッジ率ファイル１８８の一例を示す図である。
【図１０】実施の形態１における変更履歴ファイル１８９の一例を示す図である。
【図１１】実施の形態１における試験必要度ファイル１９１の一例を示す図である。
【図１２】実施の形態１における試験必要度順ファイル１９９の一例を示す図である。
【図１３】実施の形態１におけるソフトウェア試験支援装置１００の動作を示すフローチャートである。
【図１４】実施の形態１におけるソフトウェア試験支援装置１００のハードウェア構成図である。
【図１５】実施の形態１におけるソフトウェア試験支援システム２００の構成図である。
【図１６】実施の形態２におけるソフトウェア試験支援装置１００の機能構成図である。
【図１７】実施の形態２における指標値ファイル１９２の一例を示す図である。
【図１８】実施の形態２における試験必要度履歴ファイル１９３の一例を示す図である。
【図１９】実施の形態２におけるソフトウェア試験支援装置１００の動作を示すフローチャートである。
【発明を実施するための形態】
【０００９】
実施の形態１．
ソフトウェアプログラムに含まれるモジュールによって実現される機能についての試験の実施が必要な度合いを表す試験必要度を算出する形態について説明する。
【００１０】
＊＊＊構成の説明＊＊＊
図１は、実施の形態１におけるソフトウェア試験支援装置１００の機能構成図である。
実施の形態１におけるソフトウェア試験支援装置１００の機能構成について、図１に基づいて説明する。但し、ソフトウェア試験支援装置１００の機能構成は図１に示す機能構成と同一でなくても構わない。
【００１１】
ソフトウェア試験支援装置１００は、ソフトウェアプログラムに含まれるモジュール毎に試験必要度を算出する。
試験必要度は、モジュールによって実現される機能についての試験の実施が必要な度合いを表す。
【００１２】
ソフトウェア試験支援装置１００は、担当者技術値算出部１１０と、変更作業密度算出部１２０と、不具合量算出部１３０と、モジュールカバレッジ率算出部１３１と、変更頻度算出部１３２と、変更率算出部１３３とを備える。
ソフトウェア試験支援装置１００は、試験必要度算出部１４０と、試験必要度順出力部１５０と、ファイル記憶部１９０とを備える。
【００１３】
ファイル記憶部１９０は、ソフトウェア試験支援装置１００が使用、生成または入出力するデータを記憶する。ファイルはデータの一例である。
例えば、ファイル記憶部１９０は、担当者一覧ファイル１８１と、モジュール担当ファイル１８２と、不具合量ファイル１８３とを記憶する。
ここで、担当者一覧ファイル１８１、モジュール担当ファイル１８２および不具合量ファイル１８３について説明する。
【００１４】
図２は、実施の形態１における担当者一覧ファイル１８１の一例を示す図である。
実施の形態１における担当者一覧ファイル１８１について、図２に基づいて説明する。
担当者一覧ファイル１８１は、ソフトウェアプログラムに含まれる少なくともいずれかのモジュールの開発を担当した担当者の担当者識別子を含む。担当者識別子は担当者を識別する。
図２の担当者一覧ファイル１８１は、Ｋｏｕという担当者識別子で識別される担当者およびＭｉｙａという担当者識別子で識別される担当者が存在することを示している。
Ｋｏｕという担当者識別子で識別される担当者を担当者Ｋｏｕと呼び、Ｍｉｙａという担当者識別子で識別される担当者を担当者Ｍｉｙａと呼ぶ。
【００１５】
図３は、実施の形態１におけるモジュール担当ファイル１８２の一例を示す図である。
実施の形態１におけるモジュール担当ファイル１８２について、図２に基づいて説明する。
モジュール担当ファイル１８２は、ソフトウェアプログラムに含まれるモジュールのモジュール識別子に担当者識別子を対応付ける。モジュール識別子はモジュールを識別する。
図３のモジュール担当ファイル１８２は、担当者Ｋｏｕが位置センサ読み取りモジュールの開発および警告表示モジュールの開発を担当すること示している。また、モジュール担当ファイル１８２は、担当者Ｍｉｙａが移動制御モジュールを担当することを示している。
【００１６】
図４は、実施の形態１における不具合量ファイル１８３の一例を示す図である。
実施の形態１における不具合量ファイル１８３の一例について、図４に基づいて説明する。
不具合量ファイル１８３は、モジュールに発生した不具合の量である不具合量をモジュール識別子に対応付ける。不具合はバグまたは障害とも呼ばれる。
図４の不具合量ファイル１８３は、位置センサ読み取りモジュールの不具合量が１０であり、警告表示モジュールの不具合量が６であり、移動制御モジュールの不具合量が７であることを示している。
例えば、不具合量は、発生した不具合の個数、特に、不具合対象期間に発生した不具合の個数である。
不具合量ファイル１８３は不具合量算出部１３０によって生成される。但し、不具合量ファイル１８３は不具合量ファイル１８３によらずに予め生成されても構わない。
【００１７】
図１に戻り、ファイル記憶部１９０の説明を続ける。
例えば、ファイル記憶部１９０は、モジュール一覧ファイル１８４、作業期間ファイル１８５および変更作業ファイル１８６を記憶する。
ここで、モジュール一覧ファイル１８４、作業期間ファイル１８５および変更作業ファイル１８６について説明する。
【００１８】
図５は、実施の形態１におけるモジュール一覧ファイル１８４の一例を示す図である。
実施の形態１におけるモジュール一覧ファイル１８４について、図５に基づいて説明する。
モジュール一覧ファイル１８４は、ソフトウェアプログラムに含まれるモジュールのモジュール識別子を含む。
図５のモジュール一覧ファイル１８４は、モジュールのソースコードが記述されたソースコードファイルのファイル識別子と、モジュールで使用される関数の関数識別子と、をモジュール識別子に対応付けている。ファイル識別子はソースコードファイルを識別する。関数識別子は関数を識別する。
例えば、位置センサ読み取りモジュールのソースコードファイルのファイル識別子はＳＣｆｉｌｅ００１である。
また、位置センサ読み取りモジュールは、ｒｅａｄＰｏｓｉｔｉｏｎ関数、ｓｅｔＰａｒａｍｅｔｅｒ関数およびｒｅｓｅｔＰａｒａｍｅｔｅｒ関数を使用する。ＸＸＸ関数は、ＸＸＸという関数識別子で識別される関数である。
【００１９】
図６は、実施の形態１における作業期間ファイル１８５の一例を示す図である。
実施の形態１における作業期間ファイル１８５について、図６に基づいて説明する。
作業期間ファイル１８５は、ソフトウェアプログラムのバージョン毎の作業期間を示す。
図６の作業期間ファイル１８５は、バージョン識別子に作業期間を対応付けている。
バージョン識別子は、ソフトウェアプログラムのバージョンを識別する。ソフトウェアプログラムが改定される毎にバージョン識別子は更新される。
作業期間は、ソフトウェアプログラムに含まれるモジュールを変更する変更作業に要した期間である。
例えば、Ｖｅｒ１．２で識別されるバージョンのソフトウェアプログラムの作業期間は、２０１４年４月１日から２０１４年７月３１日までの３か月である。
【００２０】
図７は、実施の形態１における変更作業ファイル１８６の一例を示す図である。
実施の形態１における変更作業ファイル１８６について、図７に基づいて説明する。
変更作業ファイル１８６は、変更されたモジュールのモジュール識別子に、モジュールを変更した変更作業に要した変更作業量と、変更作業が行われた作業期間の選択に用いる作業期間選択情報とを対応付ける。
図７の変更作業ファイル１８６は、変更作業識別子に変更作業量と作業期間選択情報とモジュール識別子とを対応付けている。変更作業識別子は変更作業を識別する。
例えば、作業期間選択情報は、モジュールの変更作業が完了した後に行われるモジュールの単体試験が完了した日付を示す。単体試験はモジュール毎に行われる試験である。一方、複数のモジュールを結合して生成されるソフトウェアプログラムに対して行われる試験は結合試験と呼ばれる。
例えば、チャタリング防止仕様変更用の変更作業が行われた作業期間は、図６に示した作業期間のうちの２０１４年４月１日から２０１４年７月３１日までの３か月である。この作業期間は、図７に示したチャタリング防止仕様変更の作業期間選択情報が示す２０１４年８月１７日の直前の作業期間である。
【００２１】
図１に戻り、ファイル記憶部１９０の説明を続ける。
例えば、ファイル記憶部１９０は、不具合情報ファイル１８７、関数カバレッジ率ファイル１８８および変更履歴ファイル１８９を記憶する。
ここで、不具合情報ファイル１８７、関数カバレッジ率ファイル１８８および変更履歴ファイル１８９について説明する。
【００２２】
図８は、実施の形態１における不具合情報ファイル１８７の一例を示す図である。
実施の形態１における不具合情報ファイル１８７について、図８に基づいて説明する。
不具合情報ファイル１８７は、不具合が発生した発生日付に、発生した不具合を識別する不具合識別子と、不具合が発生したモジュールを識別するモジュール識別子とを対応付ける。
例えば、図８の不具合情報ファイル１８７は、２０１４年８月２日にセンサ誤検知という不具合が位置センサ読み取りモジュールに発生したことを示している。
【００２３】
図９は、実施の形態１における関数カバレッジ率ファイル１８８の一例を示す図である。
実施の形態１における関数カバレッジ率ファイル１８８について、図９に基づいて説明する。
関数カバレッジ率ファイル１８８は、関数識別子に関数カバレッジ率データを対応付ける。
例えば、関数カバレッジ率データは、関数の命令網羅率、関数の分岐網羅率および関数の条件網羅率を含む。
関数の命令網羅率は、関数に含まれる命令文のうちの試験済みの命令文の割合である。命令網羅率の欄に記されているＣ０は、命令網羅率を意味する符号である。
関数の分岐網羅率は、関数に含まれる分岐命令文のうちの試験済みの分岐命令文の割合である。分岐命令文は分岐命令の命令文である。分岐網羅率の欄に記されているＣ１は、分岐網羅率を意味する符号である。
関数の条件網羅率は、関数に含まれる分岐命令文に含まれる分岐条件のうちの試験済みの分岐条件の割合である。条件網羅率の欄に記されているＣ２は、条件分岐率を意味する符号である。
例えば、ｒｅａｄＰｏｓｉｔｉｏｎ関数の命令網羅率、分岐網羅率および条件網羅率は８０パーセント、９０パーセント、７０パーセントである。
【００２４】
図１０は、実施の形態１における変更履歴ファイル１８９の一例を示す図である。
実施の形態１における変更履歴ファイル１８９について、図１０に基づいて説明する。
変更履歴ファイル１８９は、モジュールのソースコードが変更された変更日付に、モジュールのソースコードが記述されたソースコードファイルのファイル識別子を対応付ける。
図１０の変更履歴ファイル１８９は、ソースコードファイルＳＣｆｉｌｅ００１が２０１４年５月１日に変更されたことを示している。ソースコードファイルＸＸＸは、ＸＸＸというファイル識別子で識別されるソースコードファイルである。
【００２５】
図１に戻り、ファイル記憶部１９０の説明を続ける。
例えば、ファイル記憶部１９０は、ソースコードファイル群１８０、試験必要度ファイル１９１および試験必要度順ファイル１９９を記憶する。
ソースコードファイル群１８０は、ソフトウェアプログラムに含まれるモジュールのソースコードファイルを含む。ソースコードファイル群１８０に含まれるソースコードファイルは、ソフトウェアプログラムのバージョン識別子とモジュールのモジュール識別子とによって識別される。
ここで、試験必要度ファイル１９１および試験必要度順ファイル１９９について説明する。
【００２６】
図１１は、実施の形態１における試験必要度ファイル１９１の一例を示す図である。
実施の形態１における試験必要度ファイル１９１について、図１１に基づいて説明する。
試験必要度ファイル１９１は、ソフトウェアプログラムに含まれるモジュール毎の試験必要度を含む。
図１１の試験必要度ファイル１９１は、モジュール識別子に、担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率データ、変更頻度、変更率および試験必要度を対応付けている。
担当者技術値は、担当者の技術力を表す指標値であり、担当者技術値算出部１１０によって算出される。
変更作業密度は、単位期間当たりの変更作業量を表す指標値であり、変更作業密度算出部１２０によって算出される。
不具合量は、モジュールに発生した不具合量の量であり、不具合量算出部１３０によって算出される。
モジュールカバレッジ率データは、モジュールの命令網羅率（Ｃ０）、モジュールの分岐網羅率（Ｃ１）およびモジュールの条件網羅率（Ｃ２）を含む。モジュールカバレッジ率データは、モジュールカバレッジ率算出部１３１によって生成される。
変更頻度は、モジュールのソースコードファイルが変更対象期間に変更された回数であり、変更頻度算出部１３２によって算出される。
変更率は、現在のソースコードファイルに記述されたソースコードのうちの前回のソースコードファイルに記述されたソースコードと異なる部分のソースコードの割合であり、変更率算出部１３３によって算出される。
試験必要度は、担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率、変更頻度および変更率の少なくともいずれかの指標値に基づいて、試験必要度算出部１４０によって算出される。
【００２７】
図１２は、実施の形態１における試験必要度順ファイル１９９の一例を示す図である。
実施の形態１における試験必要度順ファイル１９９の一例について、図１２に基づいて説明する。
試験必要度順ファイル１９９は、モジュール識別子を試験必要度順に示す。
図１２の試験必要度順ファイル１９９は、移動制御モジュール、警告表示モジュールおよび位置センサ読み取りモジュールの順に試験必要度が高いことを示している。
【００２８】
図１に戻り、ソフトウェア試験支援装置１００の機能構成の説明を続ける。
担当者技術値算出部１１０は、担当者一覧ファイル１８１に含まれる担当者識別子毎にモジュール識別子をモジュール担当ファイル１８２から選択する。
担当者技術値算出部１１０は、選択したモジュール識別子に対応付けられた不具合量を不具合量ファイル１８３から選択する。
担当者技術値算出部１１０は、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する。
担当者技術値算出部１１０は、モジュール担当ファイル１８２から選択したモジュール識別子と同じモジュール識別子に対応付けて、算出した担当者技術値を試験必要度ファイル１９１に設定する。
【００２９】
変更作業密度算出部１２０は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎に変更作業量と作業期間選択情報とを変更作業ファイル１８６から選択する。
変更作業密度算出部１２０は、選択した作業期間選択情報に基づいて作業期間を作業期間ファイル１８５から選択する。
変更作業密度算出部１２０は、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する。
変更作業密度算出部１２０は、モジュール識別子に対応付けて、算出した変更作業密度を試験必要度ファイル１９１に設定する。
【００３０】
不具合量算出部１３０は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎に、不具合情報ファイル１８７に含まれるモジュール識別子の個数に基づいて、モジュール識別子で識別されるモジュールに発生した不具合の量である不具合量を算出する。
不具合量算出部１３０は、モジュール識別子に対応付けて、算出した不具合量を試験必要度ファイル１９１に設定する。
不具合量算出部１３０は、モジュール識別子に対応付けて不具合量を不具合量ファイル１８３に設定する。
【００３１】
モジュールカバレッジ率算出部１３１は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎に関数識別子をモジュール一覧ファイル１８４から選択する。
モジュールカバレッジ率算出部１３１は、選択した関数識別子と同じ関数識別子に対応付けられた関数カバレッジ率データを関数カバレッジ率ファイル１８８から選択する。
モジュールカバレッジ率算出部１３１は、選択した関数カバレッジ率データに基づいて、モジュールの命令網羅率、モジュールの分岐網羅率およびモジュールの条件網羅率を算出する。モジュールの命令網羅率は、モジュールに含まれる命令文のうちの試験済みの命令文の割合である。モジュールの分岐網羅率は、モジュールに含まれる分岐命令文のうちの試験済みの命令文の割合である。モジュールの条件網羅率は、モジュールに含まれる分岐命令文に含まれる分岐条件のうちの試験済みの分岐条件の割合である。例えば、モジュールに含まれる命令文はモジュールが使用する関数に含まれる命令文を意味し、モジュールに含まれる分岐命令文はモジュールが使用する関数に含まれる分岐命令文を意味する。
モジュールカバレッジ率算出部１３１は、モジュールの命令網羅率、モジュールの分岐網羅率およびモジュールの条件網羅率を含むモジュールカバレッジ率データを生成する。
モジュールカバレッジ率算出部１３１は、モジュール識別子に対応付けて、モジュールカバレッジ率データを試験必要度ファイル１９１に設定する。
【００３２】
変更頻度算出部１３２は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎にファイル識別子をモジュール一覧ファイル１８４から選択する。
変更頻度算出部１３２は、変更履歴ファイル１８９に含まれるファイル識別子のうちの変更対象期間内の変更日付に対応付けられた選択したファイル識別子の個数を変更頻度として算出する。変更対象期間は予め決められた期間である。
変更頻度算出部１３２は、モジュール識別子に対応付けて、算出した変更頻度を試験必要度ファイル１９１に設定する。
【００３３】
変更率算出部１３３は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎にファイル識別子をモジュール一覧ファイル１８４から選択する。
変更率算出部１３３は、ソフトウェアプログラムの現在のバージョンのバージョン識別子である現バージョン識別子と、ソフトウェアプログラムの前回のバージョンのバージョン識別子である前バージョン識別子と、を作業期間ファイル１８５から選択する。
変更率算出部１３３は、選択したファイル識別子と選択した現バージョン識別子とによって識別されるソースコードファイルである現ソースコードファイルを、ソースコードファイル群１８０から選択する。
変更率算出部１３３は、選択したファイル識別子と選択した前バージョン識別子とによって識別されるソースコードファイルである前ソースコードファイルを、ソースコードファイル群１８０から選択する。
変更率算出部１３３は、現ソースコードファイルに記述されたソースコードのうちの前ソースコードファイルに記述されたソースコードと異なる部分のソースコードの割合である変更率を算出する。
変更率算出部１３３は、モジュール識別子に対応付けて、算出した変更率を試験必要度ファイル１９１に設定する。
【００３４】
試験必要度算出部１４０は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎に担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率データ、変更頻度および変更率の少なくともいずれかの指標値を試験必要度ファイル１９１から選択する。
試験必要度算出部１４０は、選択した指標値を用いて、モジュールによって実現される機能についての試験の指標を表す試験必要度を算出する。
試験必要度算出部１４０は、モジュール識別子に対応付けて、算出した試験必要度を試験必要度ファイル１９１に設定する。
例えば、試験必要度算出部１４０は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎に担当者技術値算出部１１０によって算出された担当者技術値を試験必要度ファイル１９１から選択し、選択した担当者技術値を用いて試験必要度を算出する。
例えば、試験必要度算出部１４０は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎に変更作業密度算出部１２０によって算出された変更作業密度を試験必要度ファイル１９１から選択し、選択した変更作業密度を用いて試験必要度を算出する。
【００３５】
試験必要度順出力部１５０は、モジュール一覧ファイル１８４に含まれるモジュール識別子を試験必要度順に並べて試験必要度順ファイル１９９を生成し、試験必要度順ファイル１９９を出力する。
【００３６】
＊＊＊動作の説明＊＊＊
図１３は、実施の形態１におけるソフトウェア試験支援装置１００の動作を示すフローチャートである。
実施の形態１におけるソフトウェア試験支援装置１００の動作について、図１３に基づいて説明する。但し、ソフトウェア試験支援装置１００の動作は、図１３に基づいて説明する動作と同一でなくても構わない。例えば、処理の順序が変更されても構わない。また例えば、一部の処理が削除されても構わないし、新たな処理が追加されても構わない。
【００３７】
Ｓ１０１において、不具合量算出部１３０は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎に以下の処理を行う。Ｓ１０１において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。モジュール一覧ファイル１８４については図５を参照のこと。
【００３８】
不具合量算出部１３０は、不具合情報ファイル１８７に含まれる対象モジュール識別子の個数に基づいて不具合量を算出する。不具合情報ファイル１８７については図８を参照のこと。
例えば、不具合量算出部１３０によって算出される不具合量は、不具合情報ファイル１８７に含まれる全ての対象モジュール識別子の個数である。
例えば、不具合量算出部１３０によって算出される不具合量は、不具合情報ファイル１８７に含まれる対象モジュール識別子のうちの不具合対象期間内の発生日付に対応付けられた対象モジュール識別子の個数である。不具合対象期間は予め決められた期間である。例えば、不具合対象期間は過去３か月などの一定の期間である。
【００３９】
不具合量算出部１３０は、対象モジュール識別子に対応付けて不具合量を試験必要度ファイル１９１に設定する。試験必要度ファイル１９１については図１１を参照のこと。
不具合量算出部１３０は、対象モジュール識別子に対応付けて不具合量を不具合量ファイル１８３に設定する。不具合量ファイル１８３については図４を参照のこと。
Ｓ１０１の後、処理はＳ１１０に進む。
【００４０】
Ｓ１１０において、担当者技術値算出部１１０は、担当者一覧ファイル１８１に含まれる担当者識別子毎に以下の処理を行う。Ｓ１１０において、処理の対象である一つの担当者識別子を対象担当者識別子という。担当者一覧ファイル１８１については図２を参照のこと。
【００４１】
担当者技術値算出部１１０は、対象担当者識別子に対応付けられたモジュール識別子をモジュール担当ファイル１８２から選択する。Ｓ１１０において、選択したモジュール識別子を対象モジュール識別子という。図３のモジュール担当ファイル１８２において、対象担当者識別子がＫｏｕである場合、対象モジュール識別子は位置センサ読み取りモジュールおよび警告表示モジュールである。
担当者技術値算出部１１０は、対象モジュール識別子に対応付けられた不具合量を不具合量ファイル１８３から選択する。Ｓ１１０において、選択した不具合量を対象不具合量という。図４の不具合量ファイル１８３において、対象モジュール識別子が位置センサ読み取りモジュールおよび警告表示モジュールである場合、対象不具合量は１０および６である。
担当者技術値算出部１１０は、対象不具合量に基づいて担当者技術値を算出する。例えば、担当者技術値は対象不具合量の平均値または合計量などである。対象不具合量が１０および６である場合、対象不具合量の平均値である担当者技術値は８である。
担当者技術値算出部１１０は、対象モジュール識別子に対応付けて担当者技術値を試験必要度ファイル１９１に設定する。試験必要度ファイル１９１については図１１を参照のこと。
Ｓ１１０の後、処理はＳ１２０に進む。
【００４２】
Ｓ１２０において、変更作業密度算出部１２０は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎に以下の処理を行う。Ｓ１２０において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
【００４３】
変更作業密度算出部１２０は、対象モジュール識別子に対応付けられた変更作業量および作業期間選択情報を変更作業ファイル１８６から選択する。Ｓ１２０において、選択した変更作業量を対象作業量といい、選択した作業期間選択情報を対象選択情報という。図７の変更作業ファイル１８６において、対象モジュール識別子が位置センサ読み取りモジュールである場合、対象作業量は４０および２５であり、対象選択情報は２０１４年８月１７日である。また、対象モジュール識別子が移動制御モジュールである場合、移動制御モジュールに対応付けられた変更作業量は１５である。しかし、この変更作業量は、移動制御モジュールと警告表示モジュールとの２つのモジュール識別子に対応付けられている。そのため、対象作業量は、変更作業量をモジュール識別子の個数で割った値である７．５になる。但し、変更作業量は各モジュール識別子に均等に振り分けなくてもよい。
変更作業密度算出部１２０は、対象選択情報に基づいて作業期間を作業期間ファイル１８５から選択する。Ｓ１２０において、選択される作業期間を対象作業期間という。例えば、対象作業期間は対象選択情報が示す作業日付の直前の作業期間である。図６の作業期間ファイル１８５において、対象選択情報が２０１４年８月１７日である場合、対象作業期間は２０１４年４月１日から２０１４年７月３１日である。
変更作業密度算出部１２０は、対象作業期間と対象作業量とに基づいて、変更作業密度を算出する。例えば、変更作業密度は１か月当たりの合計の対象作業量である。対象作業量が４０および２５である場合、合計の対象作業量は６５である。また、対象作業期間が３か月である場合、１か月当たりの合計の対象作業量である変更作業密度は２２である。この変更作業密度は、対象作業量を対象作業期間で割った値である。但し、その値の小数点以下は切り上げている。
変更作業密度算出部１２０は、対象モジュール識別子に対応付けて変更作業密度を試験必要度ファイル１９１に設定する。試験必要度ファイル１９１については図１１を参照のこと。
Ｓ１２０の後、処理はＳ１３１に進む。
【００４４】
Ｓ１３１において、モジュールカバレッジ率算出部１３１は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎に以下の処理を行う。Ｓ１３１において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
【００４５】
モジュールカバレッジ率算出部１３１は、対象モジュール識別子に対応付けられた関数識別子をモジュール一覧ファイル１８４から選択する。Ｓ１３１において、選択される関数識別子を対象関数識別子という。図５のモジュール一覧ファイル１８４において、対象モジュール識別子が位置センサ読み取りモジュールである場合、対象関数識別子はｒｅａｄＰｏｓｉｔｉｏｎ、ｓｅｔＰａｒａｍｅｔｅｒおよびｒｅｓｅｔＰａｒａｍｅｔｅｒである。
モジュールカバレッジ率算出部１３１は、対象関数識別子に対応付けられた関数カバレッジ率データを関数カバレッジ率ファイル１８８から選択する。Ｓ１３１において、選択される関数カバレッジ率データを対象カバレッジ率データという。図９の関数カバレッジ率ファイル１８８において、対象関数識別子がｒｅａｄＰｏｓｉｔｉｏｎである場合、８０パーセントである命令網羅率、９０パーセントである分岐網羅率および７０パーセントである条件網羅率が対象カバレッジ率データである。
モジュールカバレッジ率算出部１３１は、対象カバレッジ率データに含まれる命令網羅率、分岐網羅率および条件網羅率に基づいて、モジュールカバレッジ率データに含める命令網羅率、分岐網羅率および条件網羅率を算出する。例えば、モジュールカバレッジ率データに含める命令網羅率は、対象カバレッジ率データに含まれる命令網羅率を代入した命令網羅率算出式を計算することによって算出される。命令網羅率算出式は、モジュールカバレッジ率データに含める命令網羅率を算出するための計算式である。命令網羅率算出式は、対象カバレッジ率データに含まれる命令網羅率が代入され命令網羅率変数を含む。モジュールカバレッジ率データに含める分岐網羅率および条件網羅率は、モジュールカバレッジ率データに含める命令網羅率と同様に、分岐網羅率算出式および条件網羅率算出式を計算することによって算出される。例えば、１２個の分岐命令があり、そのうちの６個の分岐命令が試験されている場合、分岐網羅率は５０パーセントである。
モジュールカバレッジ率算出部１３１は、対象モジュール識別子に対応付けてモジュールカバレッジ率データを試験必要度ファイル１９１に設定する。試験必要度ファイル１９１については図１１を参照のこと。
Ｓ１３１の後、処理はＳ１３２に進む。
【００４６】
Ｓ１３２において、変更頻度算出部１３２は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎に以下の処理を行う。Ｓ１３２において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
【００４７】
変更頻度算出部１３２は、対象モジュール識別子に対応付けられたファイル識別子をモジュール一覧ファイル１８４から選択する。Ｓ１３２において、選択されるファイル識別子を対象ファイル識別子という。
変更頻度算出部１３２は、変更履歴ファイル１８９に含まれるファイル識別子のうちの変更対象期間内の変更日付に対応付けられた対象ファイル識別子の個数を変更頻度として算出する。変更対象期間は予め決められた期間である。例えば、変更対象期間は過去３か月などの一定の期間である。
変更頻度算出部１３２は、対象モジュール識別子に対応付けて変更頻度を試験必要度ファイル１９１に設定する。試験必要度ファイル１９１については図１１を参照のこと。
Ｓ１３２の後、処理はＳ１３３に進む。
【００４８】
Ｓ１３３において、変更率算出部１３３は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎に以下の処理を行う。Ｓ１３３において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
【００４９】
変更率算出部１３３は、対象モジュール識別子に対応付けられたファイル識別子をモジュール一覧ファイル１８４から選択する。Ｓ１３３において、選択されるファイル識別子を対象ファイル識別子という。図５のモジュール一覧ファイル１８４において、対象モジュール識別子が位置センサ読み取りモジュールである場合、対象ファイル識別子はＳＣｆｉｌｅ００１である。
変更率算出部１３３は、ソフトウェアプログラムの現在のバージョンのバージョン識別子と、ソフトウェアプログラムの前回のバージョンのバージョン識別子と、を作業期間ファイル１８５から選択する。Ｓ１３３において、現在のバージョンのバージョン識別子を現バージョン識別子といい、前回のバージョンのバージョン識別子を前バージョン識別子という。図６の作業期間ファイル１８５において、現バージョン識別子はＶｅｒ１．２であり、前バージョン識別子はＶｅｒ１．１である。
変更率算出部１３３は、対象ファイル識別子と現バージョン識別子とによって識別されるソースコードファイルである現ソースコードファイルを、ソースコードファイル群１８０から選択する。
変更率算出部１３３は、対象ファイル識別子と前バージョン識別子とによって識別されるソースコードファイルである前ソースコードファイルを、ソースコードファイル群１８０から選択する。
変更率算出部１３３は、現ソースコードファイルに記述されたソースコードのうちの前ソースコードファイルに記述されたソースコードと異なる部分のソースコードの割合である変更率を算出する。
変更率算出部１３３は、対象モジュール識別子に対応付けて変更率を試験必要度ファイル１９１に設定する。試験必要度ファイル１９１については図１１を参照のこと。
Ｓ１３３の後、処理はＳ１４０に進む。
【００５０】
Ｓ１４０において、試験必要度算出部１４０は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎に以下の処理を行う。Ｓ１４０において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
【００５１】
試験必要度算出部１４０は、対象モジュール識別子に対応付けられた担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率データ、変更頻度および変更率といった指標値を試験必要度ファイル１９１から選択する。但し、試験必要度算出部１４０は、これらの指標値のうちの少なくともいずれかを選択すればよい。試験必要度ファイル１９１については図１１を参照のこと。Ｓ１４０で選択した指標値を対象指標値という。
【００５２】
試験必要度算出部１４０は、対象指標値を用いて試験必要度を算出する。例えば、試験必要度は、各対象指標値を代入した試験必要度算出式を計算することによって算出される。試験必要度算出式は、試験必要度を算出するための計算式であり、各対象指標値が代入される指標値変数を含む。試験必要度は、重み付け対象指標値の合計値である。
【００５３】
試験必要度算出部１４０により、以下のような試験必要度が算出される。
担当者技術値が低いほど、試験必要度は高い。技術力が低い担当者によって開発されたモジュールは、多くの不具合が組み込まれており、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
変更作業密度が高いほど、試験必要度は高い。作業時間が短いほど検討が不足する。そして、検討が不足したモジュールは、多くの不具合が組み込まれており、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
不具合量が多いほど、試験必要度は高い。これまでに不具合が多かったモジュールは、多くの不具合が組み込まれており、今後も不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
カバレッジ率が低いほど、試験必要度は高い。カバレッジ率が低いモジュールは、不具合が十分に除去されておらず、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
変更頻度が高いほど、試験必要度は高い。変更頻度が高いモジュールは、多くの不具合が組み込まれやすく、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
変更率が高いほど、試験必要度は高い。変更率が高いモジュールは、多くの不具合が組み込まれやすく、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
【００５４】
試験必要度算出部１４０は、対象モジュール識別子に対応付けて試験必要度を試験必要度ファイル１９１に設定する。
Ｓ１４０の後、処理はＳ１５０に進む。
【００５５】
Ｓ１５０において、試験必要度順出力部１５０は、試験必要度ファイル１９１に含まれるモジュール識別子毎の試験必要度に基づいてモジュール識別子を試験必要度順に並べて試験必要度順ファイル１９９を生成し、試験必要度順ファイル１９９を出力する。例えば、試験必要度順出力部１５０は、試験必要度順ファイル１９９を表示装置の画面に表示する。試験必要度順ファイル１９９については図１２を参照のこと。
Ｓ１５０の後、ソフトウェア試験支援装置１００の動作は終了する。
【００５６】
図１４は、実施の形態１におけるソフトウェア試験支援装置１００のハードウェア構成図である。
実施の形態１におけるソフトウェア試験支援装置１００のハードウェア構成について、図１４に基づいて説明する。但し、ソフトウェア試験支援装置１００のハードウェア構成は図１４に示す構成と同一でなくても構わない。
【００５７】
ソフトウェア試験支援装置１００は、演算装置９０１、補助記憶装置９０２、主記憶装置９０３、通信装置９０４および入出力装置９０５を備えるコンピュータである。
演算装置９０１、補助記憶装置９０２、主記憶装置９０３、通信装置９０４および入出力装置９０５はバス９０９に接続している。
【００５８】
演算装置９０１は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。例えば、演算装置９０１は、ソフトウェア試験支援装置１００としてコンピュータを機能させるソフトウェア試験支援プログラムを実行する。
補助記憶装置９０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリまたはハードディスク装置である。
主記憶装置９０３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
通信装置９０４は、有線または無線でインターネット、ＬＡＮ（ローカルエリアネットワーク）、電話回線網またはその他のネットワークを介して通信を行う。
入出力装置９０５は、例えば、マウス、キーボード、ディスプレイ装置である。
【００５９】
プログラムは、補助記憶装置９０２に記憶されている。
例えば、オペレーティングシステム（ＯＳ）が補助記憶装置９０２に記憶される。また、「〜部」として説明している機能を実現するプログラムが補助記憶装置９０２に記憶される。
プログラムは、補助記憶装置９０２に記憶されており、主記憶装置９０３にロードされ、演算装置９０１に読み込まれ、演算装置９０１によって実行される。
【００６０】
判断、判定、抽出、検知、設定、登録、選択、生成、入力、出力等の処理の処理結果を示す情報、データ、ファイル、信号値または変数値が主記憶装置９０３または補助記憶装置９０２に記憶される。
【００６１】
図１５は、実施の形態１におけるソフトウェア試験支援システム２００の構成図である。
実施の形態１におけるソフトウェア試験支援システム２００の構成について、図１５に基づいて説明する。但し、ソフトウェア試験支援システム２００の構成は図１５に示す構成と同一でなくても構わない。
【００６２】
ソフトウェア試験支援システム２００は、ソフトウェア試験支援装置１００、プロジェクト管理システム２１０、ソフトウェア試験システム２２０、ソースコード管理システム２３０、不具合管理システム２４０および作業管理システム２５０を備える。
ソフトウェア試験支援システム２００に備わるソフトウェア試験支援装置１００および各システムは、ネットワーク２０９を介して通信する。
【００６３】
プロジェクト管理システム２１０は、ソフトウェアプログラムを開発するプロジェクトを管理するためのコンピュータシステムである。
プロジェクト管理システム２１０は、担当者一覧ファイル１８１、モジュール担当ファイル１８２、モジュール一覧ファイル１８４および作業期間ファイル１８５を記憶するプロジェクト管理記憶部２１９を備える。
ソフトウェア試験支援装置１００は、プロジェクト管理記憶部２１９に記憶される各ファイルをプロジェクト管理システム２１０から取得する。
【００６４】
ソフトウェア試験システム２２０は、ソフトウェアプログラムを試験するためのコンピュータシステムである。例えば、ソフトウェア試験システム２２０は、ＪＵｎｉｔという技術によってモジュールまたは関数の単体試験を行う。また、ソフトウェア試験システム２２０は、従来のカバレッジ取得プログラムを実行することによって、関数カバレッジ率ファイル１８８に設定される関数カバレッジ率データを生成する。
ソフトウェア試験システム２２０は、関数カバレッジ率ファイル１８８を記憶するソフトウェア試験記憶部２２９を備える。
ソフトウェア試験支援装置１００は、ソフトウェア試験記憶部２２９に記憶される関数カバレッジ率ファイル１８８をソフトウェア試験システム２２０から取得する。
【００６５】
ソースコード管理システム２３０は、ソフトウェアプログラムのソースコードを管理するためのコンピュータシステムである。例えば、ソースコード管理システム２３０は、ｃｖｓ、Ｓｕｂｖｅｒｓｉｏｎまたはｇｉｔなどのシステムによって構成される。
ソースコード管理システム２３０は、ソースコードファイル群１８０および変更履歴ファイル１８９を記憶するソースコード管理記憶部２３９を備える。
ソフトウェア試験支援装置１００は、ソースコード管理記憶部２３９に記憶されるソースコードファイル群１８０および変更履歴ファイル１８９をソースコード管理システム２３０から取得する。
【００６６】
不具合管理システム２４０は、ソフトウェアプログラムに発生した不具合を管理するためのコンピュータシステムである。例えば、不具合管理システム２４０は、ＲｅｄｍｉｎｅまたはＴｒａｃなどのソフトウェアプログラムを実行することによって、不具合情報ファイル１８７に設定する情報を管理する。
不具合管理システム２４０は、不具合情報ファイル１８７を記憶する不具合管理記憶部２４９を備える。
ソフトウェア試験支援装置１００は、不具合管理記憶部２４９に記憶される不具合情報ファイル１８７を不具合管理システム２４０から取得する。
【００６７】
作業管理システム２５０は、ソフトウェアプログラムを変更する変更作業を管理するためのコンピュータシステムである。
作業管理システム２５０は、変更作業ファイル１８６を記憶する作業管理記憶部２５９を備える。
ソフトウェア試験支援装置１００は、作業管理記憶部２５９に記憶される変更作業ファイル１８６を作業管理システム２５０から取得する。
【００６８】
＊＊＊効果の説明＊＊＊
実施の形態１により、例えば、以下のような効果を奏する。
ソフトウェア試験支援装置１００は、モジュール毎の試験必要度を算出することができる。そして、試験者は、試験必要度が高いモジュールによって実現される機能について十分な試験を行う。これにより、ソフトウェアプログラムの回帰試験が効率的に行われる。
【００６９】
実施の形態２．
試験必要度の履歴を利用して試験必要度を更新する形態について説明する。
以下、実施の形態１と異なる事項について主に説明する。説明しない事項については実施の形態１と同様である。
【００７０】
＊＊＊構成の説明＊＊＊
図１６は、実施の形態２におけるソフトウェア試験支援装置１００の機能構成図である。
実施の形態２におけるソフトウェア試験支援装置１００の機能構成について、図１６に基づいて説明する。但し、ソフトウェア試験支援装置１００の機能構成は図１６に示す機能構成と同一でなくても構わない。
【００７１】
ソフトウェア試験支援装置１００のファイル記憶部１９０は、実施の形態１における試験必要度ファイル１９１の代わりに、指標値ファイル１９２および試験必要度履歴ファイル１９３を記憶する。
ここで、指標値ファイル１９２および試験必要度履歴ファイル１９３について説明する。
【００７２】
図１７は、実施の形態２における指標値ファイル１９２の一例を示す図である。
図１７に示すように、指標値ファイル１９２は、実施の形態１における試験必要度ファイル１９１から、試験必要度の欄を削除したものである。実施の形態１における試験必要度ファイル１９１については図１１を参照のこと。
【００７３】
図１８は、実施の形態２における試験必要度履歴ファイル１９３の一例を示す図である。
実施の形態２における試験必要度履歴ファイル１９３について、図１８に基づいて説明する。
試験必要度履歴ファイル１９３は、前回算出された試験必要度である前回必要度をモジュール識別子に対応付ける。
図１８の試験必要度履歴ファイル１９３は、今回算出された試験必要度である第Ｎ回の試験必要度と、前回算出された試験必要度である第（Ｎ−１）回の試験必要度と、をモジュール識別子に対応付けている。
【００７４】
図１６に戻り、ソフトウェア試験支援装置１００の説明を続ける。
試験必要度算出部１４０は、試験必要度を算出した後に以下のような処理を行う。
試験必要度算出部１４０は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎に前回必要度を試験必要度履歴ファイル１９３から選択する。
試験必要度算出部１４０は、選択した前回必要度と今回算出した試験必要度である今回必要度との差の大きさに基づいて、今回必要度を更新する。
ソフトウェア試験支援装置１００のその他の機能構成は実施の形態１と同様である。
【００７５】
＊＊＊動作の説明＊＊＊
図１９は、実施の形態２におけるソフトウェア試験支援装置１００の動作を示すフローチャートである。
実施の形態２におけるソフトウェア試験支援装置１００の動作について、図１９に基づいて説明する。但し、ソフトウェア試験支援装置１００の動作は、図１９に基づいて説明する動作と同一でなくても構わない。例えば、処理の順序が変更されても構わない。また例えば、一部の処理が削除されても構わないし、新たな処理が追加されても構わない。
【００７６】
実施の形態２におけるソフトウェア試験支援装置１００は、実施の形態１におけるＳ１４０およびＳ１５０の代わりに、Ｓ１４１、Ｓ１４２およびＳ１５１を実行する。
Ｓ１０１からＳ１３３までの処理は実施の形態１と同様である。
実施の形態１におけるソフトウェア試験支援装置１００の動作については図１３を参照のこと。
【００７７】
ここで、Ｓ１４１、Ｓ１４２およびＳ１５１について説明する。
Ｓ１４１において、試験必要度算出部１４０は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎に以下の処理を行う。Ｓ１４１において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
【００７８】
試験必要度算出部１４０は、対象モジュール識別子に対応付けられた担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率データ、変更頻度および変更率といった指標値を指標値ファイル１９２から選択する。但し、試験必要度算出部１４０は、これらの指標値のうちの少なくともいずれかを選択すればよい。指標値ファイル１９２については図１７を参照のこと。Ｓ１４１で選択した指標値を対象指標値という。
試験必要度算出部１４０は、対象指標値を用いて試験必要度を算出する。この試験必要度の算出方法は実施の形態１のＳ１４０と同様である。
試験必要度算出部１４０は、対象モジュール識別子に対応付けて試験必要度を試験必要度履歴ファイル１９３に設定する。試験必要度履歴ファイル１９３については図１８を参照のこと。
Ｓ１４１の後、処理はＳ１４２に進む。
【００７９】
Ｓ１４２において、試験必要度算出部１４０は、モジュール一覧ファイル１８４に含まれるモジュール識別子毎に以下の処理を行う。Ｓ１４２において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。また、今回算出された試験必要度を今回必要度といい、前回算出された試験必要度を前回必要度という。
【００８０】
試験必要度算出部１４０は、対象モジュール識別子に対応付けられた今回必要度および前回必要度を試験必要度履歴ファイル１９３から選択する。Ｓ１４２で選択する今回必要度を対象今回必要度といい、Ｓ１４２で選択する前回必要度を対象前回必要度という。
【００８１】
試験必要度算出部１４０は、対象今回必要度と対象前回必要度とを用いて、新たな今回必要度を算出する。
例えば、新たな今回必要度は、対象今回必要度と対象前回必要度とを代入した試験必要度更新式を計算することによって算出される。試験必要度更新式は、新たな試験必要度を算出するための計算式である。試験必要度更新式は、対象今回必要度が代入される今回必要度変数と、対象前回必要度が代入される前回必要度変数とを含む。新たな今回必要度は、対象今回必要度と対象前回必要度との差分の大きさに応じた補正値を、対象今回必要度に加えた値である。
対象前回必要度に対する対象今回必要度の増分が大きいほど、試験必要度は高い。試験必要度の増分が大きいモジュールは、新たな不具合が組み込まれやすく、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
【００８２】
試験必要度算出部１４０は、試験必要度履歴ファイル１９３に含まれる対象今回必要度を新たな今回必要度に更新する。
Ｓ１４２の後、処理はＳ１５１に進む。
【００８３】
Ｓ１５１において、試験必要度順出力部１５０は、試験必要度履歴ファイル１９３に含まれるモジュール毎の今回必要度に基づいてモジュール識別子を今回必要度順に並び替えて試験必要度順ファイル１９９を生成し、試験必要度順ファイル１９９を出力する。
Ｓ１５１の後、ソフトウェア試験支援装置１００の動作は終了する。
【００８４】
実施の形態２におけるソフトウェア試験支援システム２００の構成は実施の形態１と同様である。実施の形態１および実施の形態２におけるソフトウェア試験支援システム２００の構成については図１５を参照のこと。
【００８５】
＊＊＊効果の説明＊＊＊
実施の形態２により、ソフトウェア試験支援装置１００は、試験必要度の履歴を利用して試験必要度を更新することができる。これにより、より適切な試験必要度が算出される。
【００８６】
各実施の形態は、ソフトウェア試験支援装置１００およびソフトウェア試験支援システム２００の形態の一例である。
つまり、ソフトウェア試験支援装置１００およびソフトウェア試験支援システム２００は、各実施の形態で説明した構成要素の一部を備えなくても構わない。また、ソフトウェア試験支援装置１００およびソフトウェア試験支援システム２００は、各実施の形態で説明していない構成要素を備えても構わない。
【００８７】
各実施の形態においてフローチャート等を用いて説明した処理手順は、各実施の形態に係る方法およびプログラムの処理手順の一例である。各実施の形態に係る方法およびプログラムは、各実施の形態で説明した処理手順と一部異なる処理手順で実現されても構わない。
【００８８】
各実施の形態において「〜部」は「〜処理」「〜工程」「〜ステップ」「〜プログラム」「〜装置」などに読み替えることができる。
【符号の説明】
【００８９】
１００  ソフトウェア試験支援装置、１１０  担当者技術値算出部、１２０  変更作業密度算出部、１３０  不具合量算出部、１３１  モジュールカバレッジ率算出部、１３２  変更頻度算出部、１３３  変更率算出部、１４０  試験必要度算出部、１５０  試験必要度順出力部、１８０  ソースコードファイル群、１８１  担当者一覧ファイル、１８２  モジュール担当ファイル、１８３  不具合量ファイル、１８４  モジュール一覧ファイル、１８５  作業期間ファイル、１８６  変更作業ファイル、１８７  不具合情報ファイル、１８８  関数カバレッジ率ファイル、１８９  変更履歴ファイル、１９０  ファイル記憶部、１９１  試験必要度ファイル、１９２  指標値ファイル、１９３  試験必要度履歴ファイル、１９９  試験必要度順ファイル、２００  ソフトウェア試験支援システム、２０９  ネットワーク、２１０  プロジェクト管理システム、２１９  プロジェクト管理記憶部、２２０  ソフトウェア試験システム、２２９  ソフトウェア試験記憶部、２３０  ソースコード管理システム、２３９  ソースコード管理記憶部、２４０  不具合管理システム、２４９  不具合管理記憶部、２５０  作業管理システム、２５９  作業管理記憶部、９０１  演算装置、９０２  補助記憶装置、９０３  主記憶装置、９０４  通信装置、９０５  入出力装置、９０９  バス。
【図１】
0006320269.tif 000002
【図２】
0006320269.tif 000003
【図３】
0006320269.tif 000004
【図４】
0006320269.tif 000005
【図５】
0006320269.tif 000006
【図６】
0006320269.tif 000007
【図７】
0006320269.tif 000008
【図８】
0006320269.tif 000009
【図９】
0006320269.tif 000010
【図１０】
0006320269.tif 000011
【図１１】
0006320269.tif 000012
【図１２】
0006320269.tif 000013
【図１３】
0006320269.tif 000014
【図１４】
0006320269.tif 000015
【図１５】
0006320269.tif 000016
【図１６】
0006320269.tif 000017
【図１７】
0006320269.tif 000018
【図１８】
0006320269.tif 000019
【図１９】
0006320269.tif 000020