JP6320269B2 - ソフトウェア試験支援装置およびソフトウェア試験支援プログラム - Google Patents
ソフトウェア試験支援装置およびソフトウェア試験支援プログラム Download PDFInfo
- Publication number
- JP6320269B2 JP6320269B2 JP2014207319A JP2014207319A JP6320269B2 JP 6320269 B2 JP6320269 B2 JP 6320269B2 JP 2014207319 A JP2014207319 A JP 2014207319A JP 2014207319 A JP2014207319 A JP 2014207319A JP 6320269 B2 JP6320269 B2 JP 6320269B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- module
- work
- person
- test
- 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.)
- Active
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
しかし、ソフトウェアが大規模である場合、回帰試験の試験項目数が膨大になってしまう。そのため、実際には、回帰試験の試験項目を取捨選択することによって、回帰試験の試験項目数を減らしている。
また、ソフトウェアの変更を含めたソフトウェア開発において、変更履歴、障害状況、障害履歴、カバレッジ率データ、担当者技術情報などの多種の情報が、ソフトウェアの品質向上のために管理されている。
特許文献2は、障害の発生日時、障害の発生頻度およびモジュールの複雑度を用いて試験項目を評価する技術を開示している。
しかし、これらの技術では、ソフトウェア開発において管理されている多種の情報が十分に活用されていない。また、それぞれの試験項目について必要度の時系列変化が考慮されていない。
ソフトウェアプログラムに含まれる少なくともいずれかのモジュールの開発を担当した担当者の担当者識別子を含む担当者一覧ファイルと、前記ソフトウェアプログラムに含まれるモジュールのモジュール識別子に担当者識別子を対応付けるモジュール担当ファイルと、モジュールに発生した不具合の量である不具合量をモジュール識別子に対応付ける不具合量ファイルと、を記憶するファイル記憶部と、
前記担当者一覧ファイルに含まれる担当者識別子毎にモジュール識別子を前記モジュール担当ファイルから選択し、選択したモジュール識別子に対応付けられた不具合量を前記不具合量ファイルから選択し、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する担当者技術値算出部とを備える。
ソフトウェアプログラムに含まれるモジュールによって実現される機能についての試験の実施が必要な度合いを表す試験必要度を算出する形態について説明する。
図1は、実施の形態1におけるソフトウェア試験支援装置100の機能構成図である。
実施の形態1におけるソフトウェア試験支援装置100の機能構成について、図1に基づいて説明する。但し、ソフトウェア試験支援装置100の機能構成は図1に示す機能構成と同一でなくても構わない。
試験必要度は、モジュールによって実現される機能についての試験の実施が必要な度合いを表す。
ソフトウェア試験支援装置100は、試験必要度算出部140と、試験必要度順出力部150と、ファイル記憶部190とを備える。
例えば、ファイル記憶部190は、担当者一覧ファイル181と、モジュール担当ファイル182と、不具合量ファイル183とを記憶する。
ここで、担当者一覧ファイル181、モジュール担当ファイル182および不具合量ファイル183について説明する。
実施の形態1における担当者一覧ファイル181について、図2に基づいて説明する。
担当者一覧ファイル181は、ソフトウェアプログラムに含まれる少なくともいずれかのモジュールの開発を担当した担当者の担当者識別子を含む。担当者識別子は担当者を識別する。
図2の担当者一覧ファイル181は、Kouという担当者識別子で識別される担当者およびMiyaという担当者識別子で識別される担当者が存在することを示している。
Kouという担当者識別子で識別される担当者を担当者Kouと呼び、Miyaという担当者識別子で識別される担当者を担当者Miyaと呼ぶ。
実施の形態1におけるモジュール担当ファイル182について、図2に基づいて説明する。
モジュール担当ファイル182は、ソフトウェアプログラムに含まれるモジュールのモジュール識別子に担当者識別子を対応付ける。モジュール識別子はモジュールを識別する。
図3のモジュール担当ファイル182は、担当者Kouが位置センサ読み取りモジュールの開発および警告表示モジュールの開発を担当すること示している。また、モジュール担当ファイル182は、担当者Miyaが移動制御モジュールを担当することを示している。
実施の形態1における不具合量ファイル183の一例について、図4に基づいて説明する。
不具合量ファイル183は、モジュールに発生した不具合の量である不具合量をモジュール識別子に対応付ける。不具合はバグまたは障害とも呼ばれる。
図4の不具合量ファイル183は、位置センサ読み取りモジュールの不具合量が10であり、警告表示モジュールの不具合量が6であり、移動制御モジュールの不具合量が7であることを示している。
例えば、不具合量は、発生した不具合の個数、特に、不具合対象期間に発生した不具合の個数である。
不具合量ファイル183は不具合量算出部130によって生成される。但し、不具合量ファイル183は不具合量ファイル183によらずに予め生成されても構わない。
例えば、ファイル記憶部190は、モジュール一覧ファイル184、作業期間ファイル185および変更作業ファイル186を記憶する。
ここで、モジュール一覧ファイル184、作業期間ファイル185および変更作業ファイル186について説明する。
実施の形態1におけるモジュール一覧ファイル184について、図5に基づいて説明する。
モジュール一覧ファイル184は、ソフトウェアプログラムに含まれるモジュールのモジュール識別子を含む。
図5のモジュール一覧ファイル184は、モジュールのソースコードが記述されたソースコードファイルのファイル識別子と、モジュールで使用される関数の関数識別子と、をモジュール識別子に対応付けている。ファイル識別子はソースコードファイルを識別する。関数識別子は関数を識別する。
例えば、位置センサ読み取りモジュールのソースコードファイルのファイル識別子はSCfile001である。
また、位置センサ読み取りモジュールは、readPosition関数、setParameter関数およびresetParameter関数を使用する。XXX関数は、XXXという関数識別子で識別される関数である。
実施の形態1における作業期間ファイル185について、図6に基づいて説明する。
作業期間ファイル185は、ソフトウェアプログラムのバージョン毎の作業期間を示す。
図6の作業期間ファイル185は、バージョン識別子に作業期間を対応付けている。
バージョン識別子は、ソフトウェアプログラムのバージョンを識別する。ソフトウェアプログラムが改定される毎にバージョン識別子は更新される。
作業期間は、ソフトウェアプログラムに含まれるモジュールを変更する変更作業に要した期間である。
例えば、Ver1.2で識別されるバージョンのソフトウェアプログラムの作業期間は、2014年4月1日から2014年7月31日までの3か月である。
実施の形態1における変更作業ファイル186について、図7に基づいて説明する。
変更作業ファイル186は、変更されたモジュールのモジュール識別子に、モジュールを変更した変更作業に要した変更作業量と、変更作業が行われた作業期間の選択に用いる作業期間選択情報とを対応付ける。
図7の変更作業ファイル186は、変更作業識別子に変更作業量と作業期間選択情報とモジュール識別子とを対応付けている。変更作業識別子は変更作業を識別する。
例えば、作業期間選択情報は、モジュールの変更作業が完了した後に行われるモジュールの単体試験が完了した日付を示す。単体試験はモジュール毎に行われる試験である。一方、複数のモジュールを結合して生成されるソフトウェアプログラムに対して行われる試験は結合試験と呼ばれる。
例えば、チャタリング防止仕様変更用の変更作業が行われた作業期間は、図6に示した作業期間のうちの2014年4月1日から2014年7月31日までの3か月である。この作業期間は、図7に示したチャタリング防止仕様変更の作業期間選択情報が示す2014年8月17日の直前の作業期間である。
例えば、ファイル記憶部190は、不具合情報ファイル187、関数カバレッジ率ファイル188および変更履歴ファイル189を記憶する。
ここで、不具合情報ファイル187、関数カバレッジ率ファイル188および変更履歴ファイル189について説明する。
実施の形態1における不具合情報ファイル187について、図8に基づいて説明する。
不具合情報ファイル187は、不具合が発生した発生日付に、発生した不具合を識別する不具合識別子と、不具合が発生したモジュールを識別するモジュール識別子とを対応付ける。
例えば、図8の不具合情報ファイル187は、2014年8月2日にセンサ誤検知という不具合が位置センサ読み取りモジュールに発生したことを示している。
実施の形態1における関数カバレッジ率ファイル188について、図9に基づいて説明する。
関数カバレッジ率ファイル188は、関数識別子に関数カバレッジ率データを対応付ける。
例えば、関数カバレッジ率データは、関数の命令網羅率、関数の分岐網羅率および関数の条件網羅率を含む。
関数の命令網羅率は、関数に含まれる命令文のうちの試験済みの命令文の割合である。命令網羅率の欄に記されているC0は、命令網羅率を意味する符号である。
関数の分岐網羅率は、関数に含まれる分岐命令文のうちの試験済みの分岐命令文の割合である。分岐命令文は分岐命令の命令文である。分岐網羅率の欄に記されているC1は、分岐網羅率を意味する符号である。
関数の条件網羅率は、関数に含まれる分岐命令文に含まれる分岐条件のうちの試験済みの分岐条件の割合である。条件網羅率の欄に記されているC2は、条件分岐率を意味する符号である。
例えば、readPosition関数の命令網羅率、分岐網羅率および条件網羅率は80パーセント、90パーセント、70パーセントである。
実施の形態1における変更履歴ファイル189について、図10に基づいて説明する。
変更履歴ファイル189は、モジュールのソースコードが変更された変更日付に、モジュールのソースコードが記述されたソースコードファイルのファイル識別子を対応付ける。
図10の変更履歴ファイル189は、ソースコードファイルSCfile001が2014年5月1日に変更されたことを示している。ソースコードファイルXXXは、XXXというファイル識別子で識別されるソースコードファイルである。
例えば、ファイル記憶部190は、ソースコードファイル群180、試験必要度ファイル191および試験必要度順ファイル199を記憶する。
ソースコードファイル群180は、ソフトウェアプログラムに含まれるモジュールのソースコードファイルを含む。ソースコードファイル群180に含まれるソースコードファイルは、ソフトウェアプログラムのバージョン識別子とモジュールのモジュール識別子とによって識別される。
ここで、試験必要度ファイル191および試験必要度順ファイル199について説明する。
実施の形態1における試験必要度ファイル191について、図11に基づいて説明する。
試験必要度ファイル191は、ソフトウェアプログラムに含まれるモジュール毎の試験必要度を含む。
図11の試験必要度ファイル191は、モジュール識別子に、担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率データ、変更頻度、変更率および試験必要度を対応付けている。
担当者技術値は、担当者の技術力を表す指標値であり、担当者技術値算出部110によって算出される。
変更作業密度は、単位期間当たりの変更作業量を表す指標値であり、変更作業密度算出部120によって算出される。
不具合量は、モジュールに発生した不具合量の量であり、不具合量算出部130によって算出される。
モジュールカバレッジ率データは、モジュールの命令網羅率(C0)、モジュールの分岐網羅率(C1)およびモジュールの条件網羅率(C2)を含む。モジュールカバレッジ率データは、モジュールカバレッジ率算出部131によって生成される。
変更頻度は、モジュールのソースコードファイルが変更対象期間に変更された回数であり、変更頻度算出部132によって算出される。
変更率は、現在のソースコードファイルに記述されたソースコードのうちの前回のソースコードファイルに記述されたソースコードと異なる部分のソースコードの割合であり、変更率算出部133によって算出される。
試験必要度は、担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率、変更頻度および変更率の少なくともいずれかの指標値に基づいて、試験必要度算出部140によって算出される。
実施の形態1における試験必要度順ファイル199の一例について、図12に基づいて説明する。
試験必要度順ファイル199は、モジュール識別子を試験必要度順に示す。
図12の試験必要度順ファイル199は、移動制御モジュール、警告表示モジュールおよび位置センサ読み取りモジュールの順に試験必要度が高いことを示している。
担当者技術値算出部110は、担当者一覧ファイル181に含まれる担当者識別子毎にモジュール識別子をモジュール担当ファイル182から選択する。
担当者技術値算出部110は、選択したモジュール識別子に対応付けられた不具合量を不具合量ファイル183から選択する。
担当者技術値算出部110は、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する。
担当者技術値算出部110は、モジュール担当ファイル182から選択したモジュール識別子と同じモジュール識別子に対応付けて、算出した担当者技術値を試験必要度ファイル191に設定する。
変更作業密度算出部120は、選択した作業期間選択情報に基づいて作業期間を作業期間ファイル185から選択する。
変更作業密度算出部120は、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する。
変更作業密度算出部120は、モジュール識別子に対応付けて、算出した変更作業密度を試験必要度ファイル191に設定する。
不具合量算出部130は、モジュール識別子に対応付けて、算出した不具合量を試験必要度ファイル191に設定する。
不具合量算出部130は、モジュール識別子に対応付けて不具合量を不具合量ファイル183に設定する。
モジュールカバレッジ率算出部131は、選択した関数識別子と同じ関数識別子に対応付けられた関数カバレッジ率データを関数カバレッジ率ファイル188から選択する。
モジュールカバレッジ率算出部131は、選択した関数カバレッジ率データに基づいて、モジュールの命令網羅率、モジュールの分岐網羅率およびモジュールの条件網羅率を算出する。モジュールの命令網羅率は、モジュールに含まれる命令文のうちの試験済みの命令文の割合である。モジュールの分岐網羅率は、モジュールに含まれる分岐命令文のうちの試験済みの命令文の割合である。モジュールの条件網羅率は、モジュールに含まれる分岐命令文に含まれる分岐条件のうちの試験済みの分岐条件の割合である。例えば、モジュールに含まれる命令文はモジュールが使用する関数に含まれる命令文を意味し、モジュールに含まれる分岐命令文はモジュールが使用する関数に含まれる分岐命令文を意味する。
モジュールカバレッジ率算出部131は、モジュールの命令網羅率、モジュールの分岐網羅率およびモジュールの条件網羅率を含むモジュールカバレッジ率データを生成する。
モジュールカバレッジ率算出部131は、モジュール識別子に対応付けて、モジュールカバレッジ率データを試験必要度ファイル191に設定する。
変更頻度算出部132は、変更履歴ファイル189に含まれるファイル識別子のうちの変更対象期間内の変更日付に対応付けられた選択したファイル識別子の個数を変更頻度として算出する。変更対象期間は予め決められた期間である。
変更頻度算出部132は、モジュール識別子に対応付けて、算出した変更頻度を試験必要度ファイル191に設定する。
変更率算出部133は、ソフトウェアプログラムの現在のバージョンのバージョン識別子である現バージョン識別子と、ソフトウェアプログラムの前回のバージョンのバージョン識別子である前バージョン識別子と、を作業期間ファイル185から選択する。
変更率算出部133は、選択したファイル識別子と選択した現バージョン識別子とによって識別されるソースコードファイルである現ソースコードファイルを、ソースコードファイル群180から選択する。
変更率算出部133は、選択したファイル識別子と選択した前バージョン識別子とによって識別されるソースコードファイルである前ソースコードファイルを、ソースコードファイル群180から選択する。
変更率算出部133は、現ソースコードファイルに記述されたソースコードのうちの前ソースコードファイルに記述されたソースコードと異なる部分のソースコードの割合である変更率を算出する。
変更率算出部133は、モジュール識別子に対応付けて、算出した変更率を試験必要度ファイル191に設定する。
試験必要度算出部140は、選択した指標値を用いて、モジュールによって実現される機能についての試験の指標を表す試験必要度を算出する。
試験必要度算出部140は、モジュール識別子に対応付けて、算出した試験必要度を試験必要度ファイル191に設定する。
例えば、試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に担当者技術値算出部110によって算出された担当者技術値を試験必要度ファイル191から選択し、選択した担当者技術値を用いて試験必要度を算出する。
例えば、試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に変更作業密度算出部120によって算出された変更作業密度を試験必要度ファイル191から選択し、選択した変更作業密度を用いて試験必要度を算出する。
図13は、実施の形態1におけるソフトウェア試験支援装置100の動作を示すフローチャートである。
実施の形態1におけるソフトウェア試験支援装置100の動作について、図13に基づいて説明する。但し、ソフトウェア試験支援装置100の動作は、図13に基づいて説明する動作と同一でなくても構わない。例えば、処理の順序が変更されても構わない。また例えば、一部の処理が削除されても構わないし、新たな処理が追加されても構わない。
例えば、不具合量算出部130によって算出される不具合量は、不具合情報ファイル187に含まれる全ての対象モジュール識別子の個数である。
例えば、不具合量算出部130によって算出される不具合量は、不具合情報ファイル187に含まれる対象モジュール識別子のうちの不具合対象期間内の発生日付に対応付けられた対象モジュール識別子の個数である。不具合対象期間は予め決められた期間である。例えば、不具合対象期間は過去3か月などの一定の期間である。
不具合量算出部130は、対象モジュール識別子に対応付けて不具合量を不具合量ファイル183に設定する。不具合量ファイル183については図4を参照のこと。
S101の後、処理はS110に進む。
担当者技術値算出部110は、対象モジュール識別子に対応付けられた不具合量を不具合量ファイル183から選択する。S110において、選択した不具合量を対象不具合量という。図4の不具合量ファイル183において、対象モジュール識別子が位置センサ読み取りモジュールおよび警告表示モジュールである場合、対象不具合量は10および6である。
担当者技術値算出部110は、対象不具合量に基づいて担当者技術値を算出する。例えば、担当者技術値は対象不具合量の平均値または合計量などである。対象不具合量が10および6である場合、対象不具合量の平均値である担当者技術値は8である。
担当者技術値算出部110は、対象モジュール識別子に対応付けて担当者技術値を試験必要度ファイル191に設定する。試験必要度ファイル191については図11を参照のこと。
S110の後、処理はS120に進む。
変更作業密度算出部120は、対象選択情報に基づいて作業期間を作業期間ファイル185から選択する。S120において、選択される作業期間を対象作業期間という。例えば、対象作業期間は対象選択情報が示す作業日付の直前の作業期間である。図6の作業期間ファイル185において、対象選択情報が2014年8月17日である場合、対象作業期間は2014年4月1日から2014年7月31日である。
変更作業密度算出部120は、対象作業期間と対象作業量とに基づいて、変更作業密度を算出する。例えば、変更作業密度は1か月当たりの合計の対象作業量である。対象作業量が40および25である場合、合計の対象作業量は65である。また、対象作業期間が3か月である場合、1か月当たりの合計の対象作業量である変更作業密度は22である。この変更作業密度は、対象作業量を対象作業期間で割った値である。但し、その値の小数点以下は切り上げている。
変更作業密度算出部120は、対象モジュール識別子に対応付けて変更作業密度を試験必要度ファイル191に設定する。試験必要度ファイル191については図11を参照のこと。
S120の後、処理はS131に進む。
モジュールカバレッジ率算出部131は、対象関数識別子に対応付けられた関数カバレッジ率データを関数カバレッジ率ファイル188から選択する。S131において、選択される関数カバレッジ率データを対象カバレッジ率データという。図9の関数カバレッジ率ファイル188において、対象関数識別子がreadPositionである場合、80パーセントである命令網羅率、90パーセントである分岐網羅率および70パーセントである条件網羅率が対象カバレッジ率データである。
モジュールカバレッジ率算出部131は、対象カバレッジ率データに含まれる命令網羅率、分岐網羅率および条件網羅率に基づいて、モジュールカバレッジ率データに含める命令網羅率、分岐網羅率および条件網羅率を算出する。例えば、モジュールカバレッジ率データに含める命令網羅率は、対象カバレッジ率データに含まれる命令網羅率を代入した命令網羅率算出式を計算することによって算出される。命令網羅率算出式は、モジュールカバレッジ率データに含める命令網羅率を算出するための計算式である。命令網羅率算出式は、対象カバレッジ率データに含まれる命令網羅率が代入され命令網羅率変数を含む。モジュールカバレッジ率データに含める分岐網羅率および条件網羅率は、モジュールカバレッジ率データに含める命令網羅率と同様に、分岐網羅率算出式および条件網羅率算出式を計算することによって算出される。例えば、12個の分岐命令があり、そのうちの6個の分岐命令が試験されている場合、分岐網羅率は50パーセントである。
モジュールカバレッジ率算出部131は、対象モジュール識別子に対応付けてモジュールカバレッジ率データを試験必要度ファイル191に設定する。試験必要度ファイル191については図11を参照のこと。
S131の後、処理はS132に進む。
変更頻度算出部132は、変更履歴ファイル189に含まれるファイル識別子のうちの変更対象期間内の変更日付に対応付けられた対象ファイル識別子の個数を変更頻度として算出する。変更対象期間は予め決められた期間である。例えば、変更対象期間は過去3か月などの一定の期間である。
変更頻度算出部132は、対象モジュール識別子に対応付けて変更頻度を試験必要度ファイル191に設定する。試験必要度ファイル191については図11を参照のこと。
S132の後、処理はS133に進む。
変更率算出部133は、ソフトウェアプログラムの現在のバージョンのバージョン識別子と、ソフトウェアプログラムの前回のバージョンのバージョン識別子と、を作業期間ファイル185から選択する。S133において、現在のバージョンのバージョン識別子を現バージョン識別子といい、前回のバージョンのバージョン識別子を前バージョン識別子という。図6の作業期間ファイル185において、現バージョン識別子はVer1.2であり、前バージョン識別子はVer1.1である。
変更率算出部133は、対象ファイル識別子と現バージョン識別子とによって識別されるソースコードファイルである現ソースコードファイルを、ソースコードファイル群180から選択する。
変更率算出部133は、対象ファイル識別子と前バージョン識別子とによって識別されるソースコードファイルである前ソースコードファイルを、ソースコードファイル群180から選択する。
変更率算出部133は、現ソースコードファイルに記述されたソースコードのうちの前ソースコードファイルに記述されたソースコードと異なる部分のソースコードの割合である変更率を算出する。
変更率算出部133は、対象モジュール識別子に対応付けて変更率を試験必要度ファイル191に設定する。試験必要度ファイル191については図11を参照のこと。
S133の後、処理はS140に進む。
担当者技術値が低いほど、試験必要度は高い。技術力が低い担当者によって開発されたモジュールは、多くの不具合が組み込まれており、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
変更作業密度が高いほど、試験必要度は高い。作業時間が短いほど検討が不足する。そして、検討が不足したモジュールは、多くの不具合が組み込まれており、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
不具合量が多いほど、試験必要度は高い。これまでに不具合が多かったモジュールは、多くの不具合が組み込まれており、今後も不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
カバレッジ率が低いほど、試験必要度は高い。カバレッジ率が低いモジュールは、不具合が十分に除去されておらず、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
変更頻度が高いほど、試験必要度は高い。変更頻度が高いモジュールは、多くの不具合が組み込まれやすく、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
変更率が高いほど、試験必要度は高い。変更率が高いモジュールは、多くの不具合が組み込まれやすく、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
S140の後、処理はS150に進む。
S150の後、ソフトウェア試験支援装置100の動作は終了する。
実施の形態1におけるソフトウェア試験支援装置100のハードウェア構成について、図14に基づいて説明する。但し、ソフトウェア試験支援装置100のハードウェア構成は図14に示す構成と同一でなくても構わない。
演算装置901、補助記憶装置902、主記憶装置903、通信装置904および入出力装置905はバス909に接続している。
補助記憶装置902は、例えば、ROM(Read Only Memory)、フラッシュメモリまたはハードディスク装置である。
主記憶装置903は、例えば、RAM(Random Access Memory)である。
通信装置904は、有線または無線でインターネット、LAN(ローカルエリアネットワーク)、電話回線網またはその他のネットワークを介して通信を行う。
入出力装置905は、例えば、マウス、キーボード、ディスプレイ装置である。
例えば、オペレーティングシステム(OS)が補助記憶装置902に記憶される。また、「〜部」として説明している機能を実現するプログラムが補助記憶装置902に記憶される。
プログラムは、補助記憶装置902に記憶されており、主記憶装置903にロードされ、演算装置901に読み込まれ、演算装置901によって実行される。
実施の形態1におけるソフトウェア試験支援システム200の構成について、図15に基づいて説明する。但し、ソフトウェア試験支援システム200の構成は図15に示す構成と同一でなくても構わない。
ソフトウェア試験支援システム200に備わるソフトウェア試験支援装置100および各システムは、ネットワーク209を介して通信する。
プロジェクト管理システム210は、担当者一覧ファイル181、モジュール担当ファイル182、モジュール一覧ファイル184および作業期間ファイル185を記憶するプロジェクト管理記憶部219を備える。
ソフトウェア試験支援装置100は、プロジェクト管理記憶部219に記憶される各ファイルをプロジェクト管理システム210から取得する。
ソフトウェア試験システム220は、関数カバレッジ率ファイル188を記憶するソフトウェア試験記憶部229を備える。
ソフトウェア試験支援装置100は、ソフトウェア試験記憶部229に記憶される関数カバレッジ率ファイル188をソフトウェア試験システム220から取得する。
ソースコード管理システム230は、ソースコードファイル群180および変更履歴ファイル189を記憶するソースコード管理記憶部239を備える。
ソフトウェア試験支援装置100は、ソースコード管理記憶部239に記憶されるソースコードファイル群180および変更履歴ファイル189をソースコード管理システム230から取得する。
不具合管理システム240は、不具合情報ファイル187を記憶する不具合管理記憶部249を備える。
ソフトウェア試験支援装置100は、不具合管理記憶部249に記憶される不具合情報ファイル187を不具合管理システム240から取得する。
作業管理システム250は、変更作業ファイル186を記憶する作業管理記憶部259を備える。
ソフトウェア試験支援装置100は、作業管理記憶部259に記憶される変更作業ファイル186を作業管理システム250から取得する。
実施の形態1により、例えば、以下のような効果を奏する。
ソフトウェア試験支援装置100は、モジュール毎の試験必要度を算出することができる。そして、試験者は、試験必要度が高いモジュールによって実現される機能について十分な試験を行う。これにより、ソフトウェアプログラムの回帰試験が効率的に行われる。
試験必要度の履歴を利用して試験必要度を更新する形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明しない事項については実施の形態1と同様である。
図16は、実施の形態2におけるソフトウェア試験支援装置100の機能構成図である。
実施の形態2におけるソフトウェア試験支援装置100の機能構成について、図16に基づいて説明する。但し、ソフトウェア試験支援装置100の機能構成は図16に示す機能構成と同一でなくても構わない。
ここで、指標値ファイル192および試験必要度履歴ファイル193について説明する。
図17に示すように、指標値ファイル192は、実施の形態1における試験必要度ファイル191から、試験必要度の欄を削除したものである。実施の形態1における試験必要度ファイル191については図11を参照のこと。
実施の形態2における試験必要度履歴ファイル193について、図18に基づいて説明する。
試験必要度履歴ファイル193は、前回算出された試験必要度である前回必要度をモジュール識別子に対応付ける。
図18の試験必要度履歴ファイル193は、今回算出された試験必要度である第N回の試験必要度と、前回算出された試験必要度である第(N−1)回の試験必要度と、をモジュール識別子に対応付けている。
試験必要度算出部140は、試験必要度を算出した後に以下のような処理を行う。
試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に前回必要度を試験必要度履歴ファイル193から選択する。
試験必要度算出部140は、選択した前回必要度と今回算出した試験必要度である今回必要度との差の大きさに基づいて、今回必要度を更新する。
ソフトウェア試験支援装置100のその他の機能構成は実施の形態1と同様である。
図19は、実施の形態2におけるソフトウェア試験支援装置100の動作を示すフローチャートである。
実施の形態2におけるソフトウェア試験支援装置100の動作について、図19に基づいて説明する。但し、ソフトウェア試験支援装置100の動作は、図19に基づいて説明する動作と同一でなくても構わない。例えば、処理の順序が変更されても構わない。また例えば、一部の処理が削除されても構わないし、新たな処理が追加されても構わない。
S101からS133までの処理は実施の形態1と同様である。
実施の形態1におけるソフトウェア試験支援装置100の動作については図13を参照のこと。
S141において、試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S141において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
試験必要度算出部140は、対象指標値を用いて試験必要度を算出する。この試験必要度の算出方法は実施の形態1のS140と同様である。
試験必要度算出部140は、対象モジュール識別子に対応付けて試験必要度を試験必要度履歴ファイル193に設定する。試験必要度履歴ファイル193については図18を参照のこと。
S141の後、処理はS142に進む。
例えば、新たな今回必要度は、対象今回必要度と対象前回必要度とを代入した試験必要度更新式を計算することによって算出される。試験必要度更新式は、新たな試験必要度を算出するための計算式である。試験必要度更新式は、対象今回必要度が代入される今回必要度変数と、対象前回必要度が代入される前回必要度変数とを含む。新たな今回必要度は、対象今回必要度と対象前回必要度との差分の大きさに応じた補正値を、対象今回必要度に加えた値である。
対象前回必要度に対する対象今回必要度の増分が大きいほど、試験必要度は高い。試験必要度の増分が大きいモジュールは、新たな不具合が組み込まれやすく、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
S142の後、処理はS151に進む。
S151の後、ソフトウェア試験支援装置100の動作は終了する。
実施の形態2により、ソフトウェア試験支援装置100は、試験必要度の履歴を利用して試験必要度を更新することができる。これにより、より適切な試験必要度が算出される。
つまり、ソフトウェア試験支援装置100およびソフトウェア試験支援システム200は、各実施の形態で説明した構成要素の一部を備えなくても構わない。また、ソフトウェア試験支援装置100およびソフトウェア試験支援システム200は、各実施の形態で説明していない構成要素を備えても構わない。
Claims (8)
- ソフトウェアプログラムに含まれる少なくともいずれかのモジュールの開発を担当した担当者の担当者識別子を含む担当者一覧ファイルと、前記ソフトウェアプログラムに含まれるモジュールのモジュール識別子に担当者識別子を対応付けるモジュール担当ファイルと、モジュールに発生した不具合の量である不具合量をモジュール識別子に対応付ける不具合量ファイルと、を記憶するファイル記憶部と、
前記担当者一覧ファイルに含まれる担当者識別子毎にモジュール識別子を前記モジュール担当ファイルから選択し、選択したモジュール識別子に対応付けられた不具合量を前記不具合量ファイルから選択し、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する担当者技術値算出部と
を備えるソフトウェア試験支援装置。 - 前記ファイル記憶部は、モジュール識別子を含むモジュール一覧ファイルを記憶し、
前記モジュール一覧ファイルに含まれるモジュール識別子毎に前記担当者技術値算出部によって算出された担当者技術値を選択し、選択した担当者技術値を用いて、モジュールによって実現される機能についての試験の実施が必要な度合い表す試験必要度を算出する試験必要度算出部を備える
請求項1に記載のソフトウェア試験支援装置。 - 前記ファイル記憶部は、前記ソフトウェアプログラムのバージョン毎の作業期間を示す作業期間ファイルと、変更されたモジュールのモジュール識別子にモジュールを変更した変更作業に要した変更作業量と変更作業が行われた作業期間の選択に用いる作業期間選択情報とを対応付ける変更作業ファイルとを記憶し、
前記ソフトウェア試験支援装置は、
前記モジュール一覧ファイルに含まれるモジュール識別子毎に変更作業量と作業期間選択情報とを前記変更作業ファイルから選択し、選択した作業期間選択情報に基づいて作業期間を前記作業期間ファイルから選択し、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する変更作業密度算出部を備え、
前記試験必要度算出部は、前記モジュール一覧ファイルに含まれるモジュール識別子毎に前記変更作業密度と前記担当者技術値とを用いて前記試験必要度を算出する
請求項2に記載のソフトウェア試験支援装置。 - 前記ファイル記憶部は、前回算出された試験必要度である前回必要度をモジュール識別子に対応付ける試験必要度履歴ファイルを記憶し、
前記試験必要度算出部は、前記モジュール一覧ファイルに含まれるモジュール識別子毎に前回必要度を前記試験必要度履歴ファイルから選択し、選択した前回必要度と今回算出した試験必要度である今回必要度との差の大きさに基づいて、前記今回必要度を更新する
請求項2に記載のソフトウェア試験支援装置。 - ソフトウェアプログラムに含まれるモジュールのモジュール識別子を含むモジュール一覧ファイルと、前記ソフトウェアプログラムのバージョン毎の作業期間を示す作業期間ファイルと、変更されたモジュールのモジュール識別子にモジュールを変更した変更作業に要した変更作業量と変更作業が行われた作業期間の選択に用いる作業期間選択情報とを対応付ける変更作業ファイルと、を記憶するファイル記憶部と、
前記モジュール一覧ファイルに含まれるモジュール識別子毎に変更作業量と作業期間選択情報とを前記変更作業ファイルから選択し、選択した作業期間選択情報に基づいて作業期間を前記作業期間ファイルから選択し、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する変更作業密度算出部と
を備えるソフトウェア試験支援装置。 - 前記モジュール一覧ファイルに含まれるモジュール識別子毎に前記変更作業密度算出部によって算出された変更作業密度を選択し、選択した変更作業密度を用いて、モジュールによって実現される機能についての試験の実施が必要な度合いを表す試験必要度を算出する試験必要度算出部を備える
請求項5に記載のソフトウェア試験支援装置。 - 担当者一覧ファイルとモジュール担当ファイルと不具合量ファイルとを用いるソフトウェア試験支援プログラムであって、
前記担当者一覧ファイルは、ソフトウェアプログラムに含まれる少なくともいずれかのモジュールの開発を担当した担当者の担当者識別子を含むファイルであり、
前記モジュール担当ファイルは、前記ソフトウェアプログラムに含まれるモジュールのモジュール識別子に担当者識別子を対応付けるファイルであり、
前記不具合量ファイルは、モジュールに発生した不具合の量である不具合量をモジュール識別子に対応付けるファイルであり、
前記担当者一覧ファイルに含まれる担当者識別子毎にモジュール識別子を前記モジュール担当ファイルから選択し、選択したモジュール識別子に対応付けられた不具合量を前記不具合量ファイルから選択し、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する担当者技術値算出部として
コンピュータを機能させるためのソフトウェア試験支援プログラム。 - モジュール一覧ファイルと作業期間ファイルと変更作業ファイルとを用いるソフトウェア試験支援プログラムであって、
前記モジュール一覧ファイルは、ソフトウェアプログラムに含まれるモジュールのモジュール識別子を含むファイルであり、
前記作業期間ファイルは、前記ソフトウェアプログラムのバージョン毎の作業期間を示すファイルであり、
前記変更作業ファイルは、変更されたモジュールのモジュール識別子にモジュールを変更した変更作業に要した変更作業量と変更作業が行われた作業期間の選択に用いる作業期間選択情報とを対応付けるファイルであり、
前記モジュール一覧ファイルに含まれるモジュール識別子毎に変更作業量と作業期間選択情報とを前記変更作業ファイルから選択し、選択した作業期間選択情報に基づいて作業期間を前記作業期間ファイルから選択し、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する変更作業密度算出部として
コンピュータを機能させるためのソフトウェア試験支援プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014207319A JP6320269B2 (ja) | 2014-10-08 | 2014-10-08 | ソフトウェア試験支援装置およびソフトウェア試験支援プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014207319A JP6320269B2 (ja) | 2014-10-08 | 2014-10-08 | ソフトウェア試験支援装置およびソフトウェア試験支援プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016076162A JP2016076162A (ja) | 2016-05-12 |
JP6320269B2 true JP6320269B2 (ja) | 2018-05-09 |
Family
ID=55951389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014207319A Active JP6320269B2 (ja) | 2014-10-08 | 2014-10-08 | ソフトウェア試験支援装置およびソフトウェア試験支援プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6320269B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6862949B2 (ja) * | 2017-03-15 | 2021-04-21 | 富士通株式会社 | テスト範囲出力プログラム、テスト範囲出力装置及びテスト範囲出力方法 |
KR20240024573A (ko) * | 2022-08-17 | 2024-02-26 | 쿠팡 주식회사 | 코드 정보를 제공하는 방법 및 이를 지원하는 전자 장치 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0876992A (ja) * | 1994-09-07 | 1996-03-22 | Toshiba Eng Co Ltd | ソフトウェア品質評価管理装置及びその方法 |
JP2010186394A (ja) * | 2009-02-13 | 2010-08-26 | Hitachi Software Eng Co Ltd | システム開発者の成果評価システム及びモジュールの開発難易度評価システム並びに遅延状況把握システム |
JP2013191077A (ja) * | 2012-03-14 | 2013-09-26 | Ntt Comware Corp | スキル評価装置、スキル評価方法、及びプログラム |
-
2014
- 2014-10-08 JP JP2014207319A patent/JP6320269B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016076162A (ja) | 2016-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9720812B2 (en) | Risk-based test coverage and prioritization | |
US9317401B2 (en) | Prioritizing test cases using multiple variables | |
US9600395B2 (en) | Software quality evaluating system and methods for determining an extent of software code changes | |
JP7146006B2 (ja) | データ処理方法、データ処理装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム | |
JP6492555B2 (ja) | 異常診断方法、異常診断装置及び異常診断プログラム | |
Sato et al. | Effects of organizational changes on product metrics and defects | |
JP6320269B2 (ja) | ソフトウェア試験支援装置およびソフトウェア試験支援プログラム | |
JP6824053B2 (ja) | 関係分析装置および関係分析プログラム | |
JP6161367B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
JP2016164727A (ja) | テストケース選択装置 | |
WO2021137901A1 (en) | Explainable process prediction | |
JP6310865B2 (ja) | ソースコード評価システム及び方法 | |
JP5826099B2 (ja) | ソフトウェア評価支援装置及びプログラム | |
US11436130B1 (en) | System, method, and computer program for automating manually written test cases | |
JP2015056140A (ja) | クローン検出方法及びクローン共通関数化方法 | |
KR102002545B1 (ko) | 가상화를 통한 코드 테스트 수행 자동화 방법 및 장치 | |
JP6483507B2 (ja) | 制御プログラム作成装置、及び制御プログラムのデバッグ方法 | |
JP2023000907A (ja) | ソースコード修正支援装置及びソースコード修正支援方法 | |
JP6287093B2 (ja) | ソフトウェア開発支援装置、ソフトウェア開発支援方法及びプログラム | |
JP6723483B2 (ja) | テストケース生成装置、テストケース生成方法およびテストケース生成プログラム | |
US20100251246A1 (en) | System and Method for Generating Job Schedules | |
JP2009181180A (ja) | プログラム生成ツールの検査プログラムおよびプログラム生成ツールの検査方法ならびにプログラム生成ツールの検査装置 | |
US9678776B2 (en) | Suppress newer facilities when simulating an older machine | |
JP2011248823A (ja) | プログラム、評価装置、評価システム、及び評価方法 | |
JP2024039767A (ja) | ソフトウェア品質評価モデル構築方法、ソフトウェア品質評価方法、ソフトウェア品質評価装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170418 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180227 |
|
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: 20180306 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180403 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6320269 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |