JP2016076162A - ソフトウェア試験支援装置およびソフトウェア試験支援プログラム - Google Patents

ソフトウェア試験支援装置およびソフトウェア試験支援プログラム Download PDF

Info

Publication number
JP2016076162A
JP2016076162A JP2014207319A JP2014207319A JP2016076162A JP 2016076162 A JP2016076162 A JP 2016076162A JP 2014207319 A JP2014207319 A JP 2014207319A JP 2014207319 A JP2014207319 A JP 2014207319A JP 2016076162 A JP2016076162 A JP 2016076162A
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.)
Granted
Application number
JP2014207319A
Other languages
English (en)
Other versions
JP6320269B2 (ja
Inventor
良二 河内
Ryoji Kawachi
良二 河内
茂人 宮内
Shigehito Miyauchi
茂人 宮内
繁 大河原
Shigeru Ogawara
繁 大河原
禎 三橋
Tadashi Mihashi
禎 三橋
高橋 克英
Katsuhide Takahashi
克英 高橋
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2014207319A priority Critical patent/JP6320269B2/ja
Publication of JP2016076162A publication Critical patent/JP2016076162A/ja
Application granted granted Critical
Publication of JP6320269B2 publication Critical patent/JP6320269B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】ソフトウェアプログラムに含まれるモジュールによって実現される機能についての試験の実施が必要な度合いを表す試験必要度を算出できるようにすることを目的とする。【解決手段】担当者技術値算出部110は、各モジュールに発生した不具合の量に基づいて、対象モジュールの開発を担当した担当者の担当者技術値を算出する。変更作業密度算出部120は、対象モジュールの変更に要した作業期間に基づいて、対象モジュールの変更作業密度を算出する。試験必要度算出部140は、担当者技術値と変更作業密度とを用いて、対象モジュールについての試験必要度を算出する。【選択図】図1

Description

本発明は、ソフトウェアプログラムに含まれるモジュールによって実現される機能についての試験の実施が必要な度合いを表す試験必要度を算出するソフトウェア試験支援装置およびソフトウェア試験支援プログラムに関するものである。
一般的に、ソフトウェアに対して機能の追加または不具合の修正などが必要になった場合、ソフトウェアが変更されて回帰試験が行われる。この回帰試験は、実施済みの試験も含めて、ソフトウェアの全体に対して行う試験である。
しかし、ソフトウェアが大規模である場合、回帰試験の試験項目数が膨大になってしまう。そのため、実際には、回帰試験の試験項目を取捨選択することによって、回帰試験の試験項目数を減らしている。
また、ソフトウェアの変更を含めたソフトウェア開発において、変更履歴、障害状況、障害履歴、カバレッジ率データ、担当者技術情報などの多種の情報が、ソフトウェアの品質向上のために管理されている。
特許文献1は、修正履歴情報を用いて試験項目を取捨選択する技術を開示している。
特許文献2は、障害の発生日時、障害の発生頻度およびモジュールの複雑度を用いて試験項目を評価する技術を開示している。
しかし、これらの技術では、ソフトウェア開発において管理されている多種の情報が十分に活用されていない。また、それぞれの試験項目について必要度の時系列変化が考慮されていない。
特開2008−129661号公報 特開平06−131214号公報
本発明は、ソフトウェアプログラムに含まれるモジュールによって実現される機能についての試験の実施が必要な度合いを表す試験必要度を算出できるようにすることを目的とする。
本発明のソフトウェア試験支援装置は、
ソフトウェアプログラムに含まれる少なくともいずれかのモジュールの開発を担当した担当者の担当者識別子を含む担当者一覧ファイルと、前記ソフトウェアプログラムに含まれるモジュールのモジュール識別子に担当者識別子を対応付けるモジュール担当ファイルと、モジュールに発生した不具合の量である不具合量をモジュール識別子に対応付ける不具合量ファイルと、を記憶するファイル記憶部と、
前記担当者一覧ファイルに含まれる担当者識別子毎にモジュール識別子を前記モジュール担当ファイルから選択し、選択したモジュール識別子に対応付けられた不具合量を前記不具合量ファイルから選択し、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する担当者技術値算出部とを備える。
本発明によれば、試験必要度を算出するための指標値として、モジュールの開発を担当した担当者の担当者技術値を算出することができる。
実施の形態1におけるソフトウェア試験支援装置100の機能構成図である。 実施の形態1における担当者一覧ファイル181の一例を示す図である。 実施の形態1におけるモジュール担当ファイル182の一例を示す図である。 実施の形態1における不具合量ファイル183の一例を示す図である。 実施の形態1におけるモジュール一覧ファイル184の一例を示す図である。 実施の形態1における作業期間ファイル185の一例を示す図である。 実施の形態1における変更作業ファイル186の一例を示す図である。 実施の形態1における不具合情報ファイル187の一例を示す図である。 実施の形態1における関数カバレッジ率ファイル188の一例を示す図である。 実施の形態1における変更履歴ファイル189の一例を示す図である。 実施の形態1における試験必要度ファイル191の一例を示す図である。 実施の形態1における試験必要度順ファイル199の一例を示す図である。 実施の形態1におけるソフトウェア試験支援装置100の動作を示すフローチャートである。 実施の形態1におけるソフトウェア試験支援装置100のハードウェア構成図である。 実施の形態1におけるソフトウェア試験支援システム200の構成図である。 実施の形態2におけるソフトウェア試験支援装置100の機能構成図である。 実施の形態2における指標値ファイル192の一例を示す図である。 実施の形態2における試験必要度履歴ファイル193の一例を示す図である。 実施の形態2におけるソフトウェア試験支援装置100の動作を示すフローチャートである。
実施の形態1.
ソフトウェアプログラムに含まれるモジュールによって実現される機能についての試験の実施が必要な度合いを表す試験必要度を算出する形態について説明する。
***構成の説明***
図1は、実施の形態1におけるソフトウェア試験支援装置100の機能構成図である。
実施の形態1におけるソフトウェア試験支援装置100の機能構成について、図1に基づいて説明する。但し、ソフトウェア試験支援装置100の機能構成は図1に示す機能構成と同一でなくても構わない。
ソフトウェア試験支援装置100は、ソフトウェアプログラムに含まれるモジュール毎に試験必要度を算出する。
試験必要度は、モジュールによって実現される機能についての試験の実施が必要な度合いを表す。
ソフトウェア試験支援装置100は、担当者技術値算出部110と、変更作業密度算出部120と、不具合量算出部130と、モジュールカバレッジ率算出部131と、変更頻度算出部132と、変更率算出部133とを備える。
ソフトウェア試験支援装置100は、試験必要度算出部140と、試験必要度順出力部150と、ファイル記憶部190とを備える。
ファイル記憶部190は、ソフトウェア試験支援装置100が使用、生成または入出力するデータを記憶する。ファイルはデータの一例である。
例えば、ファイル記憶部190は、担当者一覧ファイル181と、モジュール担当ファイル182と、不具合量ファイル183とを記憶する。
ここで、担当者一覧ファイル181、モジュール担当ファイル182および不具合量ファイル183について説明する。
図2は、実施の形態1における担当者一覧ファイル181の一例を示す図である。
実施の形態1における担当者一覧ファイル181について、図2に基づいて説明する。
担当者一覧ファイル181は、ソフトウェアプログラムに含まれる少なくともいずれかのモジュールの開発を担当した担当者の担当者識別子を含む。担当者識別子は担当者を識別する。
図2の担当者一覧ファイル181は、Kouという担当者識別子で識別される担当者およびMiyaという担当者識別子で識別される担当者が存在することを示している。
Kouという担当者識別子で識別される担当者を担当者Kouと呼び、Miyaという担当者識別子で識別される担当者を担当者Miyaと呼ぶ。
図3は、実施の形態1におけるモジュール担当ファイル182の一例を示す図である。
実施の形態1におけるモジュール担当ファイル182について、図2に基づいて説明する。
モジュール担当ファイル182は、ソフトウェアプログラムに含まれるモジュールのモジュール識別子に担当者識別子を対応付ける。モジュール識別子はモジュールを識別する。
図3のモジュール担当ファイル182は、担当者Kouが位置センサ読み取りモジュールの開発および警告表示モジュールの開発を担当すること示している。また、モジュール担当ファイル182は、担当者Miyaが移動制御モジュールを担当することを示している。
図4は、実施の形態1における不具合量ファイル183の一例を示す図である。
実施の形態1における不具合量ファイル183の一例について、図4に基づいて説明する。
不具合量ファイル183は、モジュールに発生した不具合の量である不具合量をモジュール識別子に対応付ける。不具合はバグまたは障害とも呼ばれる。
図4の不具合量ファイル183は、位置センサ読み取りモジュールの不具合量が10であり、警告表示モジュールの不具合量が6であり、移動制御モジュールの不具合量が7であることを示している。
例えば、不具合量は、発生した不具合の個数、特に、不具合対象期間に発生した不具合の個数である。
不具合量ファイル183は不具合量算出部130によって生成される。但し、不具合量ファイル183は不具合量ファイル183によらずに予め生成されても構わない。
図1に戻り、ファイル記憶部190の説明を続ける。
例えば、ファイル記憶部190は、モジュール一覧ファイル184、作業期間ファイル185および変更作業ファイル186を記憶する。
ここで、モジュール一覧ファイル184、作業期間ファイル185および変更作業ファイル186について説明する。
図5は、実施の形態1におけるモジュール一覧ファイル184の一例を示す図である。
実施の形態1におけるモジュール一覧ファイル184について、図5に基づいて説明する。
モジュール一覧ファイル184は、ソフトウェアプログラムに含まれるモジュールのモジュール識別子を含む。
図5のモジュール一覧ファイル184は、モジュールのソースコードが記述されたソースコードファイルのファイル識別子と、モジュールで使用される関数の関数識別子と、をモジュール識別子に対応付けている。ファイル識別子はソースコードファイルを識別する。関数識別子は関数を識別する。
例えば、位置センサ読み取りモジュールのソースコードファイルのファイル識別子はSCfile001である。
また、位置センサ読み取りモジュールは、readPosition関数、setParameter関数およびresetParameter関数を使用する。XXX関数は、XXXという関数識別子で識別される関数である。
図6は、実施の形態1における作業期間ファイル185の一例を示す図である。
実施の形態1における作業期間ファイル185について、図6に基づいて説明する。
作業期間ファイル185は、ソフトウェアプログラムのバージョン毎の作業期間を示す。
図6の作業期間ファイル185は、バージョン識別子に作業期間を対応付けている。
バージョン識別子は、ソフトウェアプログラムのバージョンを識別する。ソフトウェアプログラムが改定される毎にバージョン識別子は更新される。
作業期間は、ソフトウェアプログラムに含まれるモジュールを変更する変更作業に要した期間である。
例えば、Ver1.2で識別されるバージョンのソフトウェアプログラムの作業期間は、2014年4月1日から2014年7月31日までの3か月である。
図7は、実施の形態1における変更作業ファイル186の一例を示す図である。
実施の形態1における変更作業ファイル186について、図7に基づいて説明する。
変更作業ファイル186は、変更されたモジュールのモジュール識別子に、モジュールを変更した変更作業に要した変更作業量と、変更作業が行われた作業期間の選択に用いる作業期間選択情報とを対応付ける。
図7の変更作業ファイル186は、変更作業識別子に変更作業量と作業期間選択情報とモジュール識別子とを対応付けている。変更作業識別子は変更作業を識別する。
例えば、作業期間選択情報は、モジュールの変更作業が完了した後に行われるモジュールの単体試験が完了した日付を示す。単体試験はモジュール毎に行われる試験である。一方、複数のモジュールを結合して生成されるソフトウェアプログラムに対して行われる試験は結合試験と呼ばれる。
例えば、チャタリング防止仕様変更用の変更作業が行われた作業期間は、図6に示した作業期間のうちの2014年4月1日から2014年7月31日までの3か月である。この作業期間は、図7に示したチャタリング防止仕様変更の作業期間選択情報が示す2014年8月17日の直前の作業期間である。
図1に戻り、ファイル記憶部190の説明を続ける。
例えば、ファイル記憶部190は、不具合情報ファイル187、関数カバレッジ率ファイル188および変更履歴ファイル189を記憶する。
ここで、不具合情報ファイル187、関数カバレッジ率ファイル188および変更履歴ファイル189について説明する。
図8は、実施の形態1における不具合情報ファイル187の一例を示す図である。
実施の形態1における不具合情報ファイル187について、図8に基づいて説明する。
不具合情報ファイル187は、不具合が発生した発生日付に、発生した不具合を識別する不具合識別子と、不具合が発生したモジュールを識別するモジュール識別子とを対応付ける。
例えば、図8の不具合情報ファイル187は、2014年8月2日にセンサ誤検知という不具合が位置センサ読み取りモジュールに発生したことを示している。
図9は、実施の形態1における関数カバレッジ率ファイル188の一例を示す図である。
実施の形態1における関数カバレッジ率ファイル188について、図9に基づいて説明する。
関数カバレッジ率ファイル188は、関数識別子に関数カバレッジ率データを対応付ける。
例えば、関数カバレッジ率データは、関数の命令網羅率、関数の分岐網羅率および関数の条件網羅率を含む。
関数の命令網羅率は、関数に含まれる命令文のうちの試験済みの命令文の割合である。命令網羅率の欄に記されているC0は、命令網羅率を意味する符号である。
関数の分岐網羅率は、関数に含まれる分岐命令文のうちの試験済みの分岐命令文の割合である。分岐命令文は分岐命令の命令文である。分岐網羅率の欄に記されているC1は、分岐網羅率を意味する符号である。
関数の条件網羅率は、関数に含まれる分岐命令文に含まれる分岐条件のうちの試験済みの分岐条件の割合である。条件網羅率の欄に記されているC2は、条件分岐率を意味する符号である。
例えば、readPosition関数の命令網羅率、分岐網羅率および条件網羅率は80パーセント、90パーセント、70パーセントである。
図10は、実施の形態1における変更履歴ファイル189の一例を示す図である。
実施の形態1における変更履歴ファイル189について、図10に基づいて説明する。
変更履歴ファイル189は、モジュールのソースコードが変更された変更日付に、モジュールのソースコードが記述されたソースコードファイルのファイル識別子を対応付ける。
図10の変更履歴ファイル189は、ソースコードファイルSCfile001が2014年5月1日に変更されたことを示している。ソースコードファイルXXXは、XXXというファイル識別子で識別されるソースコードファイルである。
図1に戻り、ファイル記憶部190の説明を続ける。
例えば、ファイル記憶部190は、ソースコードファイル群180、試験必要度ファイル191および試験必要度順ファイル199を記憶する。
ソースコードファイル群180は、ソフトウェアプログラムに含まれるモジュールのソースコードファイルを含む。ソースコードファイル群180に含まれるソースコードファイルは、ソフトウェアプログラムのバージョン識別子とモジュールのモジュール識別子とによって識別される。
ここで、試験必要度ファイル191および試験必要度順ファイル199について説明する。
図11は、実施の形態1における試験必要度ファイル191の一例を示す図である。
実施の形態1における試験必要度ファイル191について、図11に基づいて説明する。
試験必要度ファイル191は、ソフトウェアプログラムに含まれるモジュール毎の試験必要度を含む。
図11の試験必要度ファイル191は、モジュール識別子に、担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率データ、変更頻度、変更率および試験必要度を対応付けている。
担当者技術値は、担当者の技術力を表す指標値であり、担当者技術値算出部110によって算出される。
変更作業密度は、単位期間当たりの変更作業量を表す指標値であり、変更作業密度算出部120によって算出される。
不具合量は、モジュールに発生した不具合量の量であり、不具合量算出部130によって算出される。
モジュールカバレッジ率データは、モジュールの命令網羅率(C0)、モジュールの分岐網羅率(C1)およびモジュールの条件網羅率(C2)を含む。モジュールカバレッジ率データは、モジュールカバレッジ率算出部131によって生成される。
変更頻度は、モジュールのソースコードファイルが変更対象期間に変更された回数であり、変更頻度算出部132によって算出される。
変更率は、現在のソースコードファイルに記述されたソースコードのうちの前回のソースコードファイルに記述されたソースコードと異なる部分のソースコードの割合であり、変更率算出部133によって算出される。
試験必要度は、担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率、変更頻度および変更率の少なくともいずれかの指標値に基づいて、試験必要度算出部140によって算出される。
図12は、実施の形態1における試験必要度順ファイル199の一例を示す図である。
実施の形態1における試験必要度順ファイル199の一例について、図12に基づいて説明する。
試験必要度順ファイル199は、モジュール識別子を試験必要度順に示す。
図12の試験必要度順ファイル199は、移動制御モジュール、警告表示モジュールおよび位置センサ読み取りモジュールの順に試験必要度が高いことを示している。
図1に戻り、ソフトウェア試験支援装置100の機能構成の説明を続ける。
担当者技術値算出部110は、担当者一覧ファイル181に含まれる担当者識別子毎にモジュール識別子をモジュール担当ファイル182から選択する。
担当者技術値算出部110は、選択したモジュール識別子に対応付けられた不具合量を不具合量ファイル183から選択する。
担当者技術値算出部110は、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する。
担当者技術値算出部110は、モジュール担当ファイル182から選択したモジュール識別子と同じモジュール識別子に対応付けて、算出した担当者技術値を試験必要度ファイル191に設定する。
変更作業密度算出部120は、モジュール一覧ファイル184に含まれるモジュール識別子毎に変更作業量と作業期間選択情報とを変更作業ファイル186から選択する。
変更作業密度算出部120は、選択した作業期間選択情報に基づいて作業期間を作業期間ファイル185から選択する。
変更作業密度算出部120は、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する。
変更作業密度算出部120は、モジュール識別子に対応付けて、算出した変更作業密度を試験必要度ファイル191に設定する。
不具合量算出部130は、モジュール一覧ファイル184に含まれるモジュール識別子毎に、不具合情報ファイル187に含まれるモジュール識別子の個数に基づいて、モジュール識別子で識別されるモジュールに発生した不具合の量である不具合量を算出する。
不具合量算出部130は、モジュール識別子に対応付けて、算出した不具合量を試験必要度ファイル191に設定する。
不具合量算出部130は、モジュール識別子に対応付けて不具合量を不具合量ファイル183に設定する。
モジュールカバレッジ率算出部131は、モジュール一覧ファイル184に含まれるモジュール識別子毎に関数識別子をモジュール一覧ファイル184から選択する。
モジュールカバレッジ率算出部131は、選択した関数識別子と同じ関数識別子に対応付けられた関数カバレッジ率データを関数カバレッジ率ファイル188から選択する。
モジュールカバレッジ率算出部131は、選択した関数カバレッジ率データに基づいて、モジュールの命令網羅率、モジュールの分岐網羅率およびモジュールの条件網羅率を算出する。モジュールの命令網羅率は、モジュールに含まれる命令文のうちの試験済みの命令文の割合である。モジュールの分岐網羅率は、モジュールに含まれる分岐命令文のうちの試験済みの命令文の割合である。モジュールの条件網羅率は、モジュールに含まれる分岐命令文に含まれる分岐条件のうちの試験済みの分岐条件の割合である。例えば、モジュールに含まれる命令文はモジュールが使用する関数に含まれる命令文を意味し、モジュールに含まれる分岐命令文はモジュールが使用する関数に含まれる分岐命令文を意味する。
モジュールカバレッジ率算出部131は、モジュールの命令網羅率、モジュールの分岐網羅率およびモジュールの条件網羅率を含むモジュールカバレッジ率データを生成する。
モジュールカバレッジ率算出部131は、モジュール識別子に対応付けて、モジュールカバレッジ率データを試験必要度ファイル191に設定する。
変更頻度算出部132は、モジュール一覧ファイル184に含まれるモジュール識別子毎にファイル識別子をモジュール一覧ファイル184から選択する。
変更頻度算出部132は、変更履歴ファイル189に含まれるファイル識別子のうちの変更対象期間内の変更日付に対応付けられた選択したファイル識別子の個数を変更頻度として算出する。変更対象期間は予め決められた期間である。
変更頻度算出部132は、モジュール識別子に対応付けて、算出した変更頻度を試験必要度ファイル191に設定する。
変更率算出部133は、モジュール一覧ファイル184に含まれるモジュール識別子毎にファイル識別子をモジュール一覧ファイル184から選択する。
変更率算出部133は、ソフトウェアプログラムの現在のバージョンのバージョン識別子である現バージョン識別子と、ソフトウェアプログラムの前回のバージョンのバージョン識別子である前バージョン識別子と、を作業期間ファイル185から選択する。
変更率算出部133は、選択したファイル識別子と選択した現バージョン識別子とによって識別されるソースコードファイルである現ソースコードファイルを、ソースコードファイル群180から選択する。
変更率算出部133は、選択したファイル識別子と選択した前バージョン識別子とによって識別されるソースコードファイルである前ソースコードファイルを、ソースコードファイル群180から選択する。
変更率算出部133は、現ソースコードファイルに記述されたソースコードのうちの前ソースコードファイルに記述されたソースコードと異なる部分のソースコードの割合である変更率を算出する。
変更率算出部133は、モジュール識別子に対応付けて、算出した変更率を試験必要度ファイル191に設定する。
試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率データ、変更頻度および変更率の少なくともいずれかの指標値を試験必要度ファイル191から選択する。
試験必要度算出部140は、選択した指標値を用いて、モジュールによって実現される機能についての試験の指標を表す試験必要度を算出する。
試験必要度算出部140は、モジュール識別子に対応付けて、算出した試験必要度を試験必要度ファイル191に設定する。
例えば、試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に担当者技術値算出部110によって算出された担当者技術値を試験必要度ファイル191から選択し、選択した担当者技術値を用いて試験必要度を算出する。
例えば、試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に変更作業密度算出部120によって算出された変更作業密度を試験必要度ファイル191から選択し、選択した変更作業密度を用いて試験必要度を算出する。
試験必要度順出力部150は、モジュール一覧ファイル184に含まれるモジュール識別子を試験必要度順に並べて試験必要度順ファイル199を生成し、試験必要度順ファイル199を出力する。
***動作の説明***
図13は、実施の形態1におけるソフトウェア試験支援装置100の動作を示すフローチャートである。
実施の形態1におけるソフトウェア試験支援装置100の動作について、図13に基づいて説明する。但し、ソフトウェア試験支援装置100の動作は、図13に基づいて説明する動作と同一でなくても構わない。例えば、処理の順序が変更されても構わない。また例えば、一部の処理が削除されても構わないし、新たな処理が追加されても構わない。
S101において、不具合量算出部130は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S101において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。モジュール一覧ファイル184については図5を参照のこと。
不具合量算出部130は、不具合情報ファイル187に含まれる対象モジュール識別子の個数に基づいて不具合量を算出する。不具合情報ファイル187については図8を参照のこと。
例えば、不具合量算出部130によって算出される不具合量は、不具合情報ファイル187に含まれる全ての対象モジュール識別子の個数である。
例えば、不具合量算出部130によって算出される不具合量は、不具合情報ファイル187に含まれる対象モジュール識別子のうちの不具合対象期間内の発生日付に対応付けられた対象モジュール識別子の個数である。不具合対象期間は予め決められた期間である。例えば、不具合対象期間は過去3か月などの一定の期間である。
不具合量算出部130は、対象モジュール識別子に対応付けて不具合量を試験必要度ファイル191に設定する。試験必要度ファイル191については図11を参照のこと。
不具合量算出部130は、対象モジュール識別子に対応付けて不具合量を不具合量ファイル183に設定する。不具合量ファイル183については図4を参照のこと。
S101の後、処理はS110に進む。
S110において、担当者技術値算出部110は、担当者一覧ファイル181に含まれる担当者識別子毎に以下の処理を行う。S110において、処理の対象である一つの担当者識別子を対象担当者識別子という。担当者一覧ファイル181については図2を参照のこと。
担当者技術値算出部110は、対象担当者識別子に対応付けられたモジュール識別子をモジュール担当ファイル182から選択する。S110において、選択したモジュール識別子を対象モジュール識別子という。図3のモジュール担当ファイル182において、対象担当者識別子がKouである場合、対象モジュール識別子は位置センサ読み取りモジュールおよび警告表示モジュールである。
担当者技術値算出部110は、対象モジュール識別子に対応付けられた不具合量を不具合量ファイル183から選択する。S110において、選択した不具合量を対象不具合量という。図4の不具合量ファイル183において、対象モジュール識別子が位置センサ読み取りモジュールおよび警告表示モジュールである場合、対象不具合量は10および6である。
担当者技術値算出部110は、対象不具合量に基づいて担当者技術値を算出する。例えば、担当者技術値は対象不具合量の平均値または合計量などである。対象不具合量が10および6である場合、対象不具合量の平均値である担当者技術値は8である。
担当者技術値算出部110は、対象モジュール識別子に対応付けて担当者技術値を試験必要度ファイル191に設定する。試験必要度ファイル191については図11を参照のこと。
S110の後、処理はS120に進む。
S120において、変更作業密度算出部120は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S120において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
変更作業密度算出部120は、対象モジュール識別子に対応付けられた変更作業量および作業期間選択情報を変更作業ファイル186から選択する。S120において、選択した変更作業量を対象作業量といい、選択した作業期間選択情報を対象選択情報という。図7の変更作業ファイル186において、対象モジュール識別子が位置センサ読み取りモジュールである場合、対象作業量は40および25であり、対象選択情報は2014年8月17日である。また、対象モジュール識別子が移動制御モジュールである場合、移動制御モジュールに対応付けられた変更作業量は15である。しかし、この変更作業量は、移動制御モジュールと警告表示モジュールとの2つのモジュール識別子に対応付けられている。そのため、対象作業量は、変更作業量をモジュール識別子の個数で割った値である7.5になる。但し、変更作業量は各モジュール識別子に均等に振り分けなくてもよい。
変更作業密度算出部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に進む。
S131において、モジュールカバレッジ率算出部131は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S131において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
モジュールカバレッジ率算出部131は、対象モジュール識別子に対応付けられた関数識別子をモジュール一覧ファイル184から選択する。S131において、選択される関数識別子を対象関数識別子という。図5のモジュール一覧ファイル184において、対象モジュール識別子が位置センサ読み取りモジュールである場合、対象関数識別子はreadPosition、setParameterおよびresetParameterである。
モジュールカバレッジ率算出部131は、対象関数識別子に対応付けられた関数カバレッジ率データを関数カバレッジ率ファイル188から選択する。S131において、選択される関数カバレッジ率データを対象カバレッジ率データという。図9の関数カバレッジ率ファイル188において、対象関数識別子がreadPositionである場合、80パーセントである命令網羅率、90パーセントである分岐網羅率および70パーセントである条件網羅率が対象カバレッジ率データである。
モジュールカバレッジ率算出部131は、対象カバレッジ率データに含まれる命令網羅率、分岐網羅率および条件網羅率に基づいて、モジュールカバレッジ率データに含める命令網羅率、分岐網羅率および条件網羅率を算出する。例えば、モジュールカバレッジ率データに含める命令網羅率は、対象カバレッジ率データに含まれる命令網羅率を代入した命令網羅率算出式を計算することによって算出される。命令網羅率算出式は、モジュールカバレッジ率データに含める命令網羅率を算出するための計算式である。命令網羅率算出式は、対象カバレッジ率データに含まれる命令網羅率が代入され命令網羅率変数を含む。モジュールカバレッジ率データに含める分岐網羅率および条件網羅率は、モジュールカバレッジ率データに含める命令網羅率と同様に、分岐網羅率算出式および条件網羅率算出式を計算することによって算出される。例えば、12個の分岐命令があり、そのうちの6個の分岐命令が試験されている場合、分岐網羅率は50パーセントである。
モジュールカバレッジ率算出部131は、対象モジュール識別子に対応付けてモジュールカバレッジ率データを試験必要度ファイル191に設定する。試験必要度ファイル191については図11を参照のこと。
S131の後、処理はS132に進む。
S132において、変更頻度算出部132は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S132において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
変更頻度算出部132は、対象モジュール識別子に対応付けられたファイル識別子をモジュール一覧ファイル184から選択する。S132において、選択されるファイル識別子を対象ファイル識別子という。
変更頻度算出部132は、変更履歴ファイル189に含まれるファイル識別子のうちの変更対象期間内の変更日付に対応付けられた対象ファイル識別子の個数を変更頻度として算出する。変更対象期間は予め決められた期間である。例えば、変更対象期間は過去3か月などの一定の期間である。
変更頻度算出部132は、対象モジュール識別子に対応付けて変更頻度を試験必要度ファイル191に設定する。試験必要度ファイル191については図11を参照のこと。
S132の後、処理はS133に進む。
S133において、変更率算出部133は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S133において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
変更率算出部133は、対象モジュール識別子に対応付けられたファイル識別子をモジュール一覧ファイル184から選択する。S133において、選択されるファイル識別子を対象ファイル識別子という。図5のモジュール一覧ファイル184において、対象モジュール識別子が位置センサ読み取りモジュールである場合、対象ファイル識別子はSCfile001である。
変更率算出部133は、ソフトウェアプログラムの現在のバージョンのバージョン識別子と、ソフトウェアプログラムの前回のバージョンのバージョン識別子と、を作業期間ファイル185から選択する。S133において、現在のバージョンのバージョン識別子を現バージョン識別子といい、前回のバージョンのバージョン識別子を前バージョン識別子という。図6の作業期間ファイル185において、現バージョン識別子はVer1.2であり、前バージョン識別子はVer1.1である。
変更率算出部133は、対象ファイル識別子と現バージョン識別子とによって識別されるソースコードファイルである現ソースコードファイルを、ソースコードファイル群180から選択する。
変更率算出部133は、対象ファイル識別子と前バージョン識別子とによって識別されるソースコードファイルである前ソースコードファイルを、ソースコードファイル群180から選択する。
変更率算出部133は、現ソースコードファイルに記述されたソースコードのうちの前ソースコードファイルに記述されたソースコードと異なる部分のソースコードの割合である変更率を算出する。
変更率算出部133は、対象モジュール識別子に対応付けて変更率を試験必要度ファイル191に設定する。試験必要度ファイル191については図11を参照のこと。
S133の後、処理はS140に進む。
S140において、試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S140において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
試験必要度算出部140は、対象モジュール識別子に対応付けられた担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率データ、変更頻度および変更率といった指標値を試験必要度ファイル191から選択する。但し、試験必要度算出部140は、これらの指標値のうちの少なくともいずれかを選択すればよい。試験必要度ファイル191については図11を参照のこと。S140で選択した指標値を対象指標値という。
試験必要度算出部140は、対象指標値を用いて試験必要度を算出する。例えば、試験必要度は、各対象指標値を代入した試験必要度算出式を計算することによって算出される。試験必要度算出式は、試験必要度を算出するための計算式であり、各対象指標値が代入される指標値変数を含む。試験必要度は、重み付け対象指標値の合計値である。
試験必要度算出部140により、以下のような試験必要度が算出される。
担当者技術値が低いほど、試験必要度は高い。技術力が低い担当者によって開発されたモジュールは、多くの不具合が組み込まれており、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
変更作業密度が高いほど、試験必要度は高い。作業時間が短いほど検討が不足する。そして、検討が不足したモジュールは、多くの不具合が組み込まれており、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
不具合量が多いほど、試験必要度は高い。これまでに不具合が多かったモジュールは、多くの不具合が組み込まれており、今後も不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
カバレッジ率が低いほど、試験必要度は高い。カバレッジ率が低いモジュールは、不具合が十分に除去されておらず、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
変更頻度が高いほど、試験必要度は高い。変更頻度が高いモジュールは、多くの不具合が組み込まれやすく、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
変更率が高いほど、試験必要度は高い。変更率が高いモジュールは、多くの不具合が組み込まれやすく、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
試験必要度算出部140は、対象モジュール識別子に対応付けて試験必要度を試験必要度ファイル191に設定する。
S140の後、処理はS150に進む。
S150において、試験必要度順出力部150は、試験必要度ファイル191に含まれるモジュール識別子毎の試験必要度に基づいてモジュール識別子を試験必要度順に並べて試験必要度順ファイル199を生成し、試験必要度順ファイル199を出力する。例えば、試験必要度順出力部150は、試験必要度順ファイル199を表示装置の画面に表示する。試験必要度順ファイル199については図12を参照のこと。
S150の後、ソフトウェア試験支援装置100の動作は終了する。
図14は、実施の形態1におけるソフトウェア試験支援装置100のハードウェア構成図である。
実施の形態1におけるソフトウェア試験支援装置100のハードウェア構成について、図14に基づいて説明する。但し、ソフトウェア試験支援装置100のハードウェア構成は図14に示す構成と同一でなくても構わない。
ソフトウェア試験支援装置100は、演算装置901、補助記憶装置902、主記憶装置903、通信装置904および入出力装置905を備えるコンピュータである。
演算装置901、補助記憶装置902、主記憶装置903、通信装置904および入出力装置905はバス909に接続している。
演算装置901は、プログラムを実行するCPU(Central Processing Unit)である。例えば、演算装置901は、ソフトウェア試験支援装置100としてコンピュータを機能させるソフトウェア試験支援プログラムを実行する。
補助記憶装置902は、例えば、ROM(Read Only Memory)、フラッシュメモリまたはハードディスク装置である。
主記憶装置903は、例えば、RAM(Random Access Memory)である。
通信装置904は、有線または無線でインターネット、LAN(ローカルエリアネットワーク)、電話回線網またはその他のネットワークを介して通信を行う。
入出力装置905は、例えば、マウス、キーボード、ディスプレイ装置である。
プログラムは、補助記憶装置902に記憶されている。
例えば、オペレーティングシステム(OS)が補助記憶装置902に記憶される。また、「〜部」として説明している機能を実現するプログラムが補助記憶装置902に記憶される。
プログラムは、補助記憶装置902に記憶されており、主記憶装置903にロードされ、演算装置901に読み込まれ、演算装置901によって実行される。
判断、判定、抽出、検知、設定、登録、選択、生成、入力、出力等の処理の処理結果を示す情報、データ、ファイル、信号値または変数値が主記憶装置903または補助記憶装置902に記憶される。
図15は、実施の形態1におけるソフトウェア試験支援システム200の構成図である。
実施の形態1におけるソフトウェア試験支援システム200の構成について、図15に基づいて説明する。但し、ソフトウェア試験支援システム200の構成は図15に示す構成と同一でなくても構わない。
ソフトウェア試験支援システム200は、ソフトウェア試験支援装置100、プロジェクト管理システム210、ソフトウェア試験システム220、ソースコード管理システム230、不具合管理システム240および作業管理システム250を備える。
ソフトウェア試験支援システム200に備わるソフトウェア試験支援装置100および各システムは、ネットワーク209を介して通信する。
プロジェクト管理システム210は、ソフトウェアプログラムを開発するプロジェクトを管理するためのコンピュータシステムである。
プロジェクト管理システム210は、担当者一覧ファイル181、モジュール担当ファイル182、モジュール一覧ファイル184および作業期間ファイル185を記憶するプロジェクト管理記憶部219を備える。
ソフトウェア試験支援装置100は、プロジェクト管理記憶部219に記憶される各ファイルをプロジェクト管理システム210から取得する。
ソフトウェア試験システム220は、ソフトウェアプログラムを試験するためのコンピュータシステムである。例えば、ソフトウェア試験システム220は、JUnitという技術によってモジュールまたは関数の単体試験を行う。また、ソフトウェア試験システム220は、従来のカバレッジ取得プログラムを実行することによって、関数カバレッジ率ファイル188に設定される関数カバレッジ率データを生成する。
ソフトウェア試験システム220は、関数カバレッジ率ファイル188を記憶するソフトウェア試験記憶部229を備える。
ソフトウェア試験支援装置100は、ソフトウェア試験記憶部229に記憶される関数カバレッジ率ファイル188をソフトウェア試験システム220から取得する。
ソースコード管理システム230は、ソフトウェアプログラムのソースコードを管理するためのコンピュータシステムである。例えば、ソースコード管理システム230は、cvs、Subversionまたはgitなどのシステムによって構成される。
ソースコード管理システム230は、ソースコードファイル群180および変更履歴ファイル189を記憶するソースコード管理記憶部239を備える。
ソフトウェア試験支援装置100は、ソースコード管理記憶部239に記憶されるソースコードファイル群180および変更履歴ファイル189をソースコード管理システム230から取得する。
不具合管理システム240は、ソフトウェアプログラムに発生した不具合を管理するためのコンピュータシステムである。例えば、不具合管理システム240は、RedmineまたはTracなどのソフトウェアプログラムを実行することによって、不具合情報ファイル187に設定する情報を管理する。
不具合管理システム240は、不具合情報ファイル187を記憶する不具合管理記憶部249を備える。
ソフトウェア試験支援装置100は、不具合管理記憶部249に記憶される不具合情報ファイル187を不具合管理システム240から取得する。
作業管理システム250は、ソフトウェアプログラムを変更する変更作業を管理するためのコンピュータシステムである。
作業管理システム250は、変更作業ファイル186を記憶する作業管理記憶部259を備える。
ソフトウェア試験支援装置100は、作業管理記憶部259に記憶される変更作業ファイル186を作業管理システム250から取得する。
***効果の説明***
実施の形態1により、例えば、以下のような効果を奏する。
ソフトウェア試験支援装置100は、モジュール毎の試験必要度を算出することができる。そして、試験者は、試験必要度が高いモジュールによって実現される機能について十分な試験を行う。これにより、ソフトウェアプログラムの回帰試験が効率的に行われる。
実施の形態2.
試験必要度の履歴を利用して試験必要度を更新する形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明しない事項については実施の形態1と同様である。
***構成の説明***
図16は、実施の形態2におけるソフトウェア試験支援装置100の機能構成図である。
実施の形態2におけるソフトウェア試験支援装置100の機能構成について、図16に基づいて説明する。但し、ソフトウェア試験支援装置100の機能構成は図16に示す機能構成と同一でなくても構わない。
ソフトウェア試験支援装置100のファイル記憶部190は、実施の形態1における試験必要度ファイル191の代わりに、指標値ファイル192および試験必要度履歴ファイル193を記憶する。
ここで、指標値ファイル192および試験必要度履歴ファイル193について説明する。
図17は、実施の形態2における指標値ファイル192の一例を示す図である。
図17に示すように、指標値ファイル192は、実施の形態1における試験必要度ファイル191から、試験必要度の欄を削除したものである。実施の形態1における試験必要度ファイル191については図11を参照のこと。
図18は、実施の形態2における試験必要度履歴ファイル193の一例を示す図である。
実施の形態2における試験必要度履歴ファイル193について、図18に基づいて説明する。
試験必要度履歴ファイル193は、前回算出された試験必要度である前回必要度をモジュール識別子に対応付ける。
図18の試験必要度履歴ファイル193は、今回算出された試験必要度である第N回の試験必要度と、前回算出された試験必要度である第(N−1)回の試験必要度と、をモジュール識別子に対応付けている。
図16に戻り、ソフトウェア試験支援装置100の説明を続ける。
試験必要度算出部140は、試験必要度を算出した後に以下のような処理を行う。
試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に前回必要度を試験必要度履歴ファイル193から選択する。
試験必要度算出部140は、選択した前回必要度と今回算出した試験必要度である今回必要度との差の大きさに基づいて、今回必要度を更新する。
ソフトウェア試験支援装置100のその他の機能構成は実施の形態1と同様である。
***動作の説明***
図19は、実施の形態2におけるソフトウェア試験支援装置100の動作を示すフローチャートである。
実施の形態2におけるソフトウェア試験支援装置100の動作について、図19に基づいて説明する。但し、ソフトウェア試験支援装置100の動作は、図19に基づいて説明する動作と同一でなくても構わない。例えば、処理の順序が変更されても構わない。また例えば、一部の処理が削除されても構わないし、新たな処理が追加されても構わない。
実施の形態2におけるソフトウェア試験支援装置100は、実施の形態1におけるS140およびS150の代わりに、S141、S142およびS151を実行する。
S101からS133までの処理は実施の形態1と同様である。
実施の形態1におけるソフトウェア試験支援装置100の動作については図13を参照のこと。
ここで、S141、S142およびS151について説明する。
S141において、試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S141において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
試験必要度算出部140は、対象モジュール識別子に対応付けられた担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率データ、変更頻度および変更率といった指標値を指標値ファイル192から選択する。但し、試験必要度算出部140は、これらの指標値のうちの少なくともいずれかを選択すればよい。指標値ファイル192については図17を参照のこと。S141で選択した指標値を対象指標値という。
試験必要度算出部140は、対象指標値を用いて試験必要度を算出する。この試験必要度の算出方法は実施の形態1のS140と同様である。
試験必要度算出部140は、対象モジュール識別子に対応付けて試験必要度を試験必要度履歴ファイル193に設定する。試験必要度履歴ファイル193については図18を参照のこと。
S141の後、処理はS142に進む。
S142において、試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S142において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。また、今回算出された試験必要度を今回必要度といい、前回算出された試験必要度を前回必要度という。
試験必要度算出部140は、対象モジュール識別子に対応付けられた今回必要度および前回必要度を試験必要度履歴ファイル193から選択する。S142で選択する今回必要度を対象今回必要度といい、S142で選択する前回必要度を対象前回必要度という。
試験必要度算出部140は、対象今回必要度と対象前回必要度とを用いて、新たな今回必要度を算出する。
例えば、新たな今回必要度は、対象今回必要度と対象前回必要度とを代入した試験必要度更新式を計算することによって算出される。試験必要度更新式は、新たな試験必要度を算出するための計算式である。試験必要度更新式は、対象今回必要度が代入される今回必要度変数と、対象前回必要度が代入される前回必要度変数とを含む。新たな今回必要度は、対象今回必要度と対象前回必要度との差分の大きさに応じた補正値を、対象今回必要度に加えた値である。
対象前回必要度に対する対象今回必要度の増分が大きいほど、試験必要度は高い。試験必要度の増分が大きいモジュールは、新たな不具合が組み込まれやすく、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
試験必要度算出部140は、試験必要度履歴ファイル193に含まれる対象今回必要度を新たな今回必要度に更新する。
S142の後、処理はS151に進む。
S151において、試験必要度順出力部150は、試験必要度履歴ファイル193に含まれるモジュール毎の今回必要度に基づいてモジュール識別子を今回必要度順に並び替えて試験必要度順ファイル199を生成し、試験必要度順ファイル199を出力する。
S151の後、ソフトウェア試験支援装置100の動作は終了する。
実施の形態2におけるソフトウェア試験支援システム200の構成は実施の形態1と同様である。実施の形態1および実施の形態2におけるソフトウェア試験支援システム200の構成については図15を参照のこと。
***効果の説明***
実施の形態2により、ソフトウェア試験支援装置100は、試験必要度の履歴を利用して試験必要度を更新することができる。これにより、より適切な試験必要度が算出される。
各実施の形態は、ソフトウェア試験支援装置100およびソフトウェア試験支援システム200の形態の一例である。
つまり、ソフトウェア試験支援装置100およびソフトウェア試験支援システム200は、各実施の形態で説明した構成要素の一部を備えなくても構わない。また、ソフトウェア試験支援装置100およびソフトウェア試験支援システム200は、各実施の形態で説明していない構成要素を備えても構わない。
各実施の形態においてフローチャート等を用いて説明した処理手順は、各実施の形態に係る方法およびプログラムの処理手順の一例である。各実施の形態に係る方法およびプログラムは、各実施の形態で説明した処理手順と一部異なる処理手順で実現されても構わない。
各実施の形態において「〜部」は「〜処理」「〜工程」「〜ステップ」「〜プログラム」「〜装置」などに読み替えることができる。
100 ソフトウェア試験支援装置、110 担当者技術値算出部、120 変更作業密度算出部、130 不具合量算出部、131 モジュールカバレッジ率算出部、132 変更頻度算出部、133 変更率算出部、140 試験必要度算出部、150 試験必要度順出力部、180 ソースコードファイル群、181 担当者一覧ファイル、182 モジュール担当ファイル、183 不具合量ファイル、184 モジュール一覧ファイル、185 作業期間ファイル、186 変更作業ファイル、187 不具合情報ファイル、188 関数カバレッジ率ファイル、189 変更履歴ファイル、190 ファイル記憶部、191 試験必要度ファイル、192 指標値ファイル、193 試験必要度履歴ファイル、199 試験必要度順ファイル、200 ソフトウェア試験支援システム、209 ネットワーク、210 プロジェクト管理システム、219 プロジェクト管理記憶部、220 ソフトウェア試験システム、229 ソフトウェア試験記憶部、230 ソースコード管理システム、239 ソースコード管理記憶部、240 不具合管理システム、249 不具合管理記憶部、250 作業管理システム、259 作業管理記憶部、901 演算装置、902 補助記憶装置、903 主記憶装置、904 通信装置、905 入出力装置、909 バス。

Claims (8)

  1. ソフトウェアプログラムに含まれる少なくともいずれかのモジュールの開発を担当した担当者の担当者識別子を含む担当者一覧ファイルと、前記ソフトウェアプログラムに含まれるモジュールのモジュール識別子に担当者識別子を対応付けるモジュール担当ファイルと、モジュールに発生した不具合の量である不具合量をモジュール識別子に対応付ける不具合量ファイルと、を記憶するファイル記憶部と、
    前記担当者一覧ファイルに含まれる担当者識別子毎にモジュール識別子を前記モジュール担当ファイルから選択し、選択したモジュール識別子に対応付けられた不具合量を前記不具合量ファイルから選択し、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する担当者技術値算出部と
    を備えるソフトウェア試験支援装置。
  2. 前記ファイル記憶部は、モジュール識別子を含むモジュール一覧ファイルを記憶し、
    前記モジュール一覧ファイルに含まれるモジュール識別子毎に前記担当者技術値算出部によって算出された担当者技術値を選択し、選択した担当者技術値を用いて、モジュールによって実現される機能についての試験の実施が必要な度合い表す試験必要度を算出する試験必要度算出部を備える
    請求項1に記載のソフトウェア試験支援装置。
  3. 前記ファイル記憶部は、前記ソフトウェアプログラムのバージョン毎の作業期間を示す作業期間ファイルと、変更されたモジュールのモジュール識別子にモジュールを変更した変更作業に要した変更作業量と変更作業が行われた作業期間の選択に用いる作業期間選択情報とを対応付ける変更作業ファイルとを記憶し、
    前記ソフトウェア試験支援装置は、
    前記モジュール一覧ファイルに含まれるモジュール識別子毎に変更作業量と作業期間選択情報とを前記変更作業ファイルから選択し、選択した作業期間選択情報に基づいて作業期間を前記作業期間ファイルから選択し、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する変更作業密度算出部を備え、
    前記試験必要度算出部は、前記モジュール一覧ファイルに含まれるモジュール識別子毎に前記変更作業密度と前記担当者技術値とを用いて前記試験必要度を算出する
    請求項2に記載のソフトウェア試験支援装置。
  4. 前記ファイル記憶部は、前回算出された試験必要度である前回必要度をモジュール識別子に対応付ける試験必要度履歴ファイルを記憶し、
    前記試験必要度算出部は、前記モジュール一覧ファイルに含まれるモジュール識別子毎に前回必要度を前記試験必要度履歴ファイルから選択し、選択した前回必要度と今回算出した試験必要度である今回必要度との差の大きさに基づいて、前記今回必要度を更新する
    請求項2に記載のソフトウェア試験支援装置。
  5. ソフトウェアプログラムに含まれるモジュールのモジュール識別子を含むモジュール一覧ファイルと、前記ソフトウェアプログラムのバージョン毎の作業期間を示す作業期間ファイルと、変更されたモジュールのモジュール識別子にモジュールを変更した変更作業に要した変更作業量と変更作業が行われた作業期間の選択に用いる作業期間選択情報とを対応付ける変更作業ファイルと、を記憶するファイル記憶部と、
    前記モジュール一覧ファイルに含まれるモジュール識別子毎に変更作業量と作業期間選択情報とを前記変更作業ファイルから選択し、選択した作業期間選択情報に基づいて作業期間を前記作業期間ファイルから選択し、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する変更作業密度算出部と
    を備えるソフトウェア試験支援装置。
  6. 前記モジュール一覧ファイルに含まれるモジュール識別子毎に前記変更作業密度算出部によって算出された変更作業密度を選択し、選択した変更作業密度を用いて、モジュールによって実現される機能についての試験の実施が必要な度合いを表す試験必要度を算出する試験必要度算出部を備える
    請求項5に記載のソフトウェア試験支援装置。
  7. 担当者一覧ファイルとモジュール担当ファイルと不具合量ファイルとを用いるソフトウェア試験支援プログラムであって、
    前記担当者一覧ファイルは、ソフトウェアプログラムに含まれる少なくともいずれかのモジュールの開発を担当した担当者の担当者識別子を含むファイルであり、
    前記モジュール担当ファイルは、前記ソフトウェアプログラムに含まれるモジュールのモジュール識別子に担当者識別子を対応付けるファイルであり、
    前記不具合量ファイルは、モジュールに発生した不具合の量である不具合量をモジュール識別子に対応付けるファイルであり、
    前記担当者一覧ファイルに含まれる担当者識別子毎にモジュール識別子を前記モジュール担当ファイルから選択し、選択したモジュール識別子に対応付けられた不具合量を前記不具合量ファイルから選択し、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する担当者技術値算出部として
    コンピュータを機能させるためのソフトウェア試験支援プログラム。
  8. モジュール一覧ファイルと作業期間ファイルと変更作業ファイルとを用いるソフトウェア試験支援プログラムであって、
    前記モジュール一覧ファイルは、ソフトウェアプログラムに含まれるモジュールのモジュール識別子を含むファイルであり、
    前記作業期間ファイルは、前記ソフトウェアプログラムのバージョン毎の作業期間を示すファイルであり、
    前記変更作業ファイルは、変更されたモジュールのモジュール識別子にモジュールを変更した変更作業に要した変更作業量と変更作業が行われた作業期間の選択に用いる作業期間選択情報とを対応付けるファイルであり、
    前記モジュール一覧ファイルに含まれるモジュール識別子毎に変更作業量と作業期間選択情報とを前記変更作業ファイルから選択し、選択した作業期間選択情報に基づいて作業期間を前記作業期間ファイルから選択し、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する変更作業密度算出部として
    コンピュータを機能させるためのソフトウェア試験支援プログラム。
JP2014207319A 2014-10-08 2014-10-08 ソフトウェア試験支援装置およびソフトウェア試験支援プログラム Active JP6320269B2 (ja)

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 true JP2016076162A (ja) 2016-05-12
JP6320269B2 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)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018156164A (ja) * 2017-03-15 2018-10-04 富士通株式会社 テスト範囲出力プログラム、テスト範囲出力装置及びテスト範囲出力方法
WO2024038951A1 (ko) * 2022-08-17 2024-02-22 쿠팡 주식회사 코드 정보를 제공하는 방법 및 이를 지원하는 전자 장치

Citations (3)

* Cited by examiner, † Cited by third party
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 スキル評価装置、スキル評価方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
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 スキル評価装置、スキル評価方法、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018156164A (ja) * 2017-03-15 2018-10-04 富士通株式会社 テスト範囲出力プログラム、テスト範囲出力装置及びテスト範囲出力方法
WO2024038951A1 (ko) * 2022-08-17 2024-02-22 쿠팡 주식회사 코드 정보를 제공하는 방법 및 이를 지원하는 전자 장치

Also Published As

Publication number Publication date
JP6320269B2 (ja) 2018-05-09

Similar Documents

Publication Publication Date Title
US9317401B2 (en) Prioritizing test cases using multiple variables
US9715441B2 (en) Risk-based test coverage and prioritization
US20130152044A1 (en) Software Quality Evaluating System And Methods For Determining An Extent Of Software Code Changes
JP7146006B2 (ja) データ処理方法、データ処理装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラム
JP6492555B2 (ja) 異常診断方法、異常診断装置及び異常診断プログラム
CN110134598B (zh) 一种批量处理方法、装置及系统
JP6320269B2 (ja) ソフトウェア試験支援装置およびソフトウェア試験支援プログラム
US9870306B2 (en) Exception prediction before an actual exception during debugging
Sato et al. Effects of organizational changes on product metrics and defects
JP6824053B2 (ja) 関係分析装置および関係分析プログラム
JP2016164727A (ja) テストケース選択装置
JP5826099B2 (ja) ソフトウェア評価支援装置及びプログラム
US11436130B1 (en) System, method, and computer program for automating manually written test cases
JP2016143107A (ja) ソースコード評価システム及び方法
US20170212755A1 (en) System and method for computing a criticality metric of a unit of source code
KR102002545B1 (ko) 가상화를 통한 코드 테스트 수행 자동화 방법 및 장치
JP6483507B2 (ja) 制御プログラム作成装置、及び制御プログラムのデバッグ方法
JP2023000907A (ja) ソースコード修正支援装置及びソースコード修正支援方法
JP2015056140A (ja) クローン検出方法及びクローン共通関数化方法
JP2014203095A (ja) 情報処理装置及び情報処理方法及びプログラム
JP6287093B2 (ja) ソフトウェア開発支援装置、ソフトウェア開発支援方法及びプログラム
WO2019142266A1 (ja) テストケース生成装置、テストケース生成方法およびテストケース生成プログラム
US20100251246A1 (en) System and Method for Generating Job Schedules
KR102519639B1 (ko) 코드 점검 인터페이스 제공 방법, 그리고 이를 구현하기 위한 장치
JP2009181180A (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