JP6320269B2 - Software test support apparatus and software test support program - Google Patents
Software test support apparatus and software test support program 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
本発明は、ソフトウェアプログラムに含まれるモジュールによって実現される機能についての試験の実施が必要な度合いを表す試験必要度を算出するソフトウェア試験支援装置およびソフトウェア試験支援プログラムに関するものである。 The present invention relates to a software test support apparatus and a software test support program for calculating a test necessity degree indicating a degree of necessity of performing a test on a function realized by a module included in a software program.
一般的に、ソフトウェアに対して機能の追加または不具合の修正などが必要になった場合、ソフトウェアが変更されて回帰試験が行われる。この回帰試験は、実施済みの試験も含めて、ソフトウェアの全体に対して行う試験である。
しかし、ソフトウェアが大規模である場合、回帰試験の試験項目数が膨大になってしまう。そのため、実際には、回帰試験の試験項目を取捨選択することによって、回帰試験の試験項目数を減らしている。
また、ソフトウェアの変更を含めたソフトウェア開発において、変更履歴、障害状況、障害履歴、カバレッジ率データ、担当者技術情報などの多種の情報が、ソフトウェアの品質向上のために管理されている。
Generally, when it is necessary to add functions or correct defects in software, the software is changed and a regression test is performed. This regression test is a test performed on the entire software, including a test that has already been performed.
However, when the software is large-scale, the number of test items for the regression test becomes enormous. Therefore, in practice, the number of regression test items is reduced by selecting the regression test items.
In software development including software changes, various information such as change history, failure status, failure history, coverage rate data, and person-in-charge technical information are managed to improve software quality.
特許文献1は、修正履歴情報を用いて試験項目を取捨選択する技術を開示している。
特許文献2は、障害の発生日時、障害の発生頻度およびモジュールの複雑度を用いて試験項目を評価する技術を開示している。
しかし、これらの技術では、ソフトウェア開発において管理されている多種の情報が十分に活用されていない。また、それぞれの試験項目について必要度の時系列変化が考慮されていない。
Patent Document 2 discloses a technique for evaluating a test item using a failure occurrence date and time, a failure occurrence frequency, and a module complexity.
However, in these technologies, various kinds of information managed in software development are not fully utilized. In addition, time series changes in the degree of necessity are not considered for each test item.
本発明は、ソフトウェアプログラムに含まれるモジュールによって実現される機能についての試験の実施が必要な度合いを表す試験必要度を算出できるようにすることを目的とする。 An object of the present invention is to make it possible to calculate a test necessity level indicating a degree of necessity of performing a test on a function realized by a module included in a software program.
本発明のソフトウェア試験支援装置は、
ソフトウェアプログラムに含まれる少なくともいずれかのモジュールの開発を担当した担当者の担当者識別子を含む担当者一覧ファイルと、前記ソフトウェアプログラムに含まれるモジュールのモジュール識別子に担当者識別子を対応付けるモジュール担当ファイルと、モジュールに発生した不具合の量である不具合量をモジュール識別子に対応付ける不具合量ファイルと、を記憶するファイル記憶部と、
前記担当者一覧ファイルに含まれる担当者識別子毎にモジュール識別子を前記モジュール担当ファイルから選択し、選択したモジュール識別子に対応付けられた不具合量を前記不具合量ファイルから選択し、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する担当者技術値算出部とを備える。
The software test support apparatus of the present invention
A person-in-charge list file including a person-in-charge identifier of a person in charge of developing at least one of the modules included in the software program; a module person-in-charge file that associates a person-in-charge identifier with the module identifier of the module included in the software program; A file storage unit that stores a defect amount file that associates a defect amount that is the amount of a defect that has occurred in a module with a module identifier;
For each person identifier included in the person-in-charge list file, a module identifier is selected from the module person-in-charge file, a defect amount associated with the selected module identifier is selected from the defect amount file, and based on the selected defect amount And a person-in-charge technical value calculation unit for calculating a person-in-charge technical value representing the technical ability of the person in charge.
本発明によれば、試験必要度を算出するための指標値として、モジュールの開発を担当した担当者の担当者技術値を算出することができる。 According to the present invention, a person-in-charge technical value of a person in charge of module development can be calculated as an index value for calculating the degree of necessity for testing.
実施の形態1.
ソフトウェアプログラムに含まれるモジュールによって実現される機能についての試験の実施が必要な度合いを表す試験必要度を算出する形態について説明する。
A description will be given of a mode of calculating a test necessity level indicating a degree of necessity of performing a test on a function realized by a module included in a software program.
***構成の説明***
図1は、実施の形態1におけるソフトウェア試験支援装置100の機能構成図である。
実施の形態1におけるソフトウェア試験支援装置100の機能構成について、図1に基づいて説明する。但し、ソフトウェア試験支援装置100の機能構成は図1に示す機能構成と同一でなくても構わない。
*** Explanation of configuration ***
FIG. 1 is a functional configuration diagram of the software
A functional configuration of the software
ソフトウェア試験支援装置100は、ソフトウェアプログラムに含まれるモジュール毎に試験必要度を算出する。
試験必要度は、モジュールによって実現される機能についての試験の実施が必要な度合いを表す。
The software
The test necessity indicates the degree to which a test for the function realized by the module needs to be performed.
ソフトウェア試験支援装置100は、担当者技術値算出部110と、変更作業密度算出部120と、不具合量算出部130と、モジュールカバレッジ率算出部131と、変更頻度算出部132と、変更率算出部133とを備える。
ソフトウェア試験支援装置100は、試験必要度算出部140と、試験必要度順出力部150と、ファイル記憶部190とを備える。
The software
The software
ファイル記憶部190は、ソフトウェア試験支援装置100が使用、生成または入出力するデータを記憶する。ファイルはデータの一例である。
例えば、ファイル記憶部190は、担当者一覧ファイル181と、モジュール担当ファイル182と、不具合量ファイル183とを記憶する。
ここで、担当者一覧ファイル181、モジュール担当ファイル182および不具合量ファイル183について説明する。
The
For example, the
Here, the person-in-
図2は、実施の形態1における担当者一覧ファイル181の一例を示す図である。
実施の形態1における担当者一覧ファイル181について、図2に基づいて説明する。
担当者一覧ファイル181は、ソフトウェアプログラムに含まれる少なくともいずれかのモジュールの開発を担当した担当者の担当者識別子を含む。担当者識別子は担当者を識別する。
図2の担当者一覧ファイル181は、Kouという担当者識別子で識別される担当者およびMiyaという担当者識別子で識別される担当者が存在することを示している。
Kouという担当者識別子で識別される担当者を担当者Kouと呼び、Miyaという担当者識別子で識別される担当者を担当者Miyaと呼ぶ。
FIG. 2 is a diagram illustrating an example of the person-in-
The person-in-
The person-in-
The person-in-
The person in charge identified by the person-in-charge identifier Kou is called person-in-charge Kou, and the person in charge identified by the person-in-charge identifier Miya is called person-in-charge Miya.
図3は、実施の形態1におけるモジュール担当ファイル182の一例を示す図である。
実施の形態1におけるモジュール担当ファイル182について、図2に基づいて説明する。
モジュール担当ファイル182は、ソフトウェアプログラムに含まれるモジュールのモジュール識別子に担当者識別子を対応付ける。モジュール識別子はモジュールを識別する。
図3のモジュール担当ファイル182は、担当者Kouが位置センサ読み取りモジュールの開発および警告表示モジュールの開発を担当すること示している。また、モジュール担当ファイル182は、担当者Miyaが移動制御モジュールを担当することを示している。
FIG. 3 is a diagram illustrating an example of the
The
The module person in
The module
図4は、実施の形態1における不具合量ファイル183の一例を示す図である。
実施の形態1における不具合量ファイル183の一例について、図4に基づいて説明する。
不具合量ファイル183は、モジュールに発生した不具合の量である不具合量をモジュール識別子に対応付ける。不具合はバグまたは障害とも呼ばれる。
図4の不具合量ファイル183は、位置センサ読み取りモジュールの不具合量が10であり、警告表示モジュールの不具合量が6であり、移動制御モジュールの不具合量が7であることを示している。
例えば、不具合量は、発生した不具合の個数、特に、不具合対象期間に発生した不具合の個数である。
不具合量ファイル183は不具合量算出部130によって生成される。但し、不具合量ファイル183は不具合量ファイル183によらずに予め生成されても構わない。
FIG. 4 is a diagram showing an example of the
An example of the
The defect amount file 183 associates a defect amount that is the amount of a defect that has occurred in a module with a module identifier. A malfunction is also called a bug or failure.
The
For example, the defect amount is the number of defects that have occurred, in particular, the number of defects that have occurred during the defect target period.
The
図1に戻り、ファイル記憶部190の説明を続ける。
例えば、ファイル記憶部190は、モジュール一覧ファイル184、作業期間ファイル185および変更作業ファイル186を記憶する。
ここで、モジュール一覧ファイル184、作業期間ファイル185および変更作業ファイル186について説明する。
Returning to FIG. 1, the description of the
For example, the
Here, the
図5は、実施の形態1におけるモジュール一覧ファイル184の一例を示す図である。
実施の形態1におけるモジュール一覧ファイル184について、図5に基づいて説明する。
モジュール一覧ファイル184は、ソフトウェアプログラムに含まれるモジュールのモジュール識別子を含む。
図5のモジュール一覧ファイル184は、モジュールのソースコードが記述されたソースコードファイルのファイル識別子と、モジュールで使用される関数の関数識別子と、をモジュール識別子に対応付けている。ファイル識別子はソースコードファイルを識別する。関数識別子は関数を識別する。
例えば、位置センサ読み取りモジュールのソースコードファイルのファイル識別子はSCfile001である。
また、位置センサ読み取りモジュールは、readPosition関数、setParameter関数およびresetParameter関数を使用する。XXX関数は、XXXという関数識別子で識別される関数である。
FIG. 5 is a diagram illustrating an example of the
The
The
The
For example, the file identifier of the source code file of the position sensor reading module is SCfile001.
The position sensor reading module uses a readPosition function, a setParameter function, and a resetParameter function. The XXX function is a function identified by a function identifier “XXX”.
図6は、実施の形態1における作業期間ファイル185の一例を示す図である。
実施の形態1における作業期間ファイル185について、図6に基づいて説明する。
作業期間ファイル185は、ソフトウェアプログラムのバージョン毎の作業期間を示す。
図6の作業期間ファイル185は、バージョン識別子に作業期間を対応付けている。
バージョン識別子は、ソフトウェアプログラムのバージョンを識別する。ソフトウェアプログラムが改定される毎にバージョン識別子は更新される。
作業期間は、ソフトウェアプログラムに含まれるモジュールを変更する変更作業に要した期間である。
例えば、Ver1.2で識別されるバージョンのソフトウェアプログラムの作業期間は、2014年4月1日から2014年7月31日までの3か月である。
FIG. 6 is a diagram illustrating an example of the
The
The
The
The version identifier identifies the version of the software program. Each time the software program is revised, the version identifier is updated.
The work period is a period required for the change work for changing the module included in the software program.
For example, the working period of the version of the software program identified by Ver 1.2 is three months from April 1, 2014 to July 31, 2014.
図7は、実施の形態1における変更作業ファイル186の一例を示す図である。
実施の形態1における変更作業ファイル186について、図7に基づいて説明する。
変更作業ファイル186は、変更されたモジュールのモジュール識別子に、モジュールを変更した変更作業に要した変更作業量と、変更作業が行われた作業期間の選択に用いる作業期間選択情報とを対応付ける。
図7の変更作業ファイル186は、変更作業識別子に変更作業量と作業期間選択情報とモジュール識別子とを対応付けている。変更作業識別子は変更作業を識別する。
例えば、作業期間選択情報は、モジュールの変更作業が完了した後に行われるモジュールの単体試験が完了した日付を示す。単体試験はモジュール毎に行われる試験である。一方、複数のモジュールを結合して生成されるソフトウェアプログラムに対して行われる試験は結合試験と呼ばれる。
例えば、チャタリング防止仕様変更用の変更作業が行われた作業期間は、図6に示した作業期間のうちの2014年4月1日から2014年7月31日までの3か月である。この作業期間は、図7に示したチャタリング防止仕様変更の作業期間選択情報が示す2014年8月17日の直前の作業期間である。
FIG. 7 is a diagram illustrating an example of the change work file 186 according to the first embodiment.
The change work file 186 according to the first embodiment will be described with reference to FIG.
The change work file 186 associates the module identifier of the changed module with the change work amount required for the change work in which the module was changed and work period selection information used for selecting the work period in which the change work was performed.
In the changed
For example, the work period selection information indicates the date when the unit test of the module performed after the module change work is completed. The unit test is a test performed for each module. On the other hand, a test performed on a software program generated by combining a plurality of modules is called a combination test.
For example, the work period during which the change work for changing chattering prevention specifications is performed is three months from April 1, 2014 to July 31, 2014 in the work period shown in FIG. This work period is a work period immediately before August 17, 2014 indicated by the work period selection information for changing chattering prevention specifications shown in FIG.
図1に戻り、ファイル記憶部190の説明を続ける。
例えば、ファイル記憶部190は、不具合情報ファイル187、関数カバレッジ率ファイル188および変更履歴ファイル189を記憶する。
ここで、不具合情報ファイル187、関数カバレッジ率ファイル188および変更履歴ファイル189について説明する。
Returning to FIG. 1, the description of the
For example, the
Here, the
図8は、実施の形態1における不具合情報ファイル187の一例を示す図である。
実施の形態1における不具合情報ファイル187について、図8に基づいて説明する。
不具合情報ファイル187は、不具合が発生した発生日付に、発生した不具合を識別する不具合識別子と、不具合が発生したモジュールを識別するモジュール識別子とを対応付ける。
例えば、図8の不具合情報ファイル187は、2014年8月2日にセンサ誤検知という不具合が位置センサ読み取りモジュールに発生したことを示している。
FIG. 8 is a diagram showing an example of the
The
The defect information file 187 associates a defect identifier that identifies a defect that has occurred with a module identifier that identifies the module in which the defect has occurred, with the date on which the defect has occurred.
For example, the
図9は、実施の形態1における関数カバレッジ率ファイル188の一例を示す図である。
実施の形態1における関数カバレッジ率ファイル188について、図9に基づいて説明する。
関数カバレッジ率ファイル188は、関数識別子に関数カバレッジ率データを対応付ける。
例えば、関数カバレッジ率データは、関数の命令網羅率、関数の分岐網羅率および関数の条件網羅率を含む。
関数の命令網羅率は、関数に含まれる命令文のうちの試験済みの命令文の割合である。命令網羅率の欄に記されているC0は、命令網羅率を意味する符号である。
関数の分岐網羅率は、関数に含まれる分岐命令文のうちの試験済みの分岐命令文の割合である。分岐命令文は分岐命令の命令文である。分岐網羅率の欄に記されているC1は、分岐網羅率を意味する符号である。
関数の条件網羅率は、関数に含まれる分岐命令文に含まれる分岐条件のうちの試験済みの分岐条件の割合である。条件網羅率の欄に記されているC2は、条件分岐率を意味する符号である。
例えば、readPosition関数の命令網羅率、分岐網羅率および条件網羅率は80パーセント、90パーセント、70パーセントである。
FIG. 9 is a diagram illustrating an example of the function
The function
The function coverage rate file 188 associates function coverage rate data with a function identifier.
For example, the function coverage rate data includes a function instruction coverage rate, a function branch coverage rate, and a function condition coverage rate.
The instruction coverage of a function is the ratio of tested instruction sentences among the instruction sentences included in the function. C0 written in the column of the instruction coverage is a code meaning the instruction coverage.
The branch coverage rate of a function is the ratio of tested branch instruction statements among the branch instruction statements included in the function. A branch instruction statement is an instruction statement of a branch instruction. C1 written in the column of the branch coverage is a code meaning the branch coverage.
The condition coverage rate of a function is the ratio of the tested branch condition among the branch conditions included in the branch instruction statement included in the function. C2 written in the column of the condition coverage rate is a code meaning a conditional branch rate.
For example, the instruction coverage rate, branch coverage rate, and condition coverage rate of the readPosition function are 80%, 90%, and 70%.
図10は、実施の形態1における変更履歴ファイル189の一例を示す図である。
実施の形態1における変更履歴ファイル189について、図10に基づいて説明する。
変更履歴ファイル189は、モジュールのソースコードが変更された変更日付に、モジュールのソースコードが記述されたソースコードファイルのファイル識別子を対応付ける。
図10の変更履歴ファイル189は、ソースコードファイルSCfile001が2014年5月1日に変更されたことを示している。ソースコードファイルXXXは、XXXというファイル識別子で識別されるソースコードファイルである。
FIG. 10 is a diagram illustrating an example of the change history file 189 according to the first embodiment.
The
The change history file 189 associates the file identifier of the source code file in which the module source code is described with the change date when the module source code is changed.
The
図1に戻り、ファイル記憶部190の説明を続ける。
例えば、ファイル記憶部190は、ソースコードファイル群180、試験必要度ファイル191および試験必要度順ファイル199を記憶する。
ソースコードファイル群180は、ソフトウェアプログラムに含まれるモジュールのソースコードファイルを含む。ソースコードファイル群180に含まれるソースコードファイルは、ソフトウェアプログラムのバージョン識別子とモジュールのモジュール識別子とによって識別される。
ここで、試験必要度ファイル191および試験必要度順ファイル199について説明する。
Returning to FIG. 1, the description of the
For example, the
The source
Here, the
図11は、実施の形態1における試験必要度ファイル191の一例を示す図である。
実施の形態1における試験必要度ファイル191について、図11に基づいて説明する。
試験必要度ファイル191は、ソフトウェアプログラムに含まれるモジュール毎の試験必要度を含む。
図11の試験必要度ファイル191は、モジュール識別子に、担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率データ、変更頻度、変更率および試験必要度を対応付けている。
担当者技術値は、担当者の技術力を表す指標値であり、担当者技術値算出部110によって算出される。
変更作業密度は、単位期間当たりの変更作業量を表す指標値であり、変更作業密度算出部120によって算出される。
不具合量は、モジュールに発生した不具合量の量であり、不具合量算出部130によって算出される。
モジュールカバレッジ率データは、モジュールの命令網羅率(C0)、モジュールの分岐網羅率(C1)およびモジュールの条件網羅率(C2)を含む。モジュールカバレッジ率データは、モジュールカバレッジ率算出部131によって生成される。
変更頻度は、モジュールのソースコードファイルが変更対象期間に変更された回数であり、変更頻度算出部132によって算出される。
変更率は、現在のソースコードファイルに記述されたソースコードのうちの前回のソースコードファイルに記述されたソースコードと異なる部分のソースコードの割合であり、変更率算出部133によって算出される。
試験必要度は、担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率、変更頻度および変更率の少なくともいずれかの指標値に基づいて、試験必要度算出部140によって算出される。
FIG. 11 is a diagram illustrating an example of the test necessity file 191 according to the first embodiment.
The
The
The
The person-in-charge technical value is an index value representing the technical ability of the person in charge, and is calculated by the person-in-charge technical
The changed work density is an index value representing the changed work amount per unit period, and is calculated by the changed work
The defect amount is the amount of the defect amount that has occurred in the module, and is calculated by the defect
The module coverage ratio data includes a module instruction coverage ratio (C0), a module branch coverage ratio (C1), and a module condition coverage ratio (C2). The module coverage rate data is generated by the module coverage
The change frequency is the number of times the module source code file has been changed in the change target period, and is calculated by the change
The change rate is the ratio of the source code that is different from the source code described in the previous source code file in the source code described in the current source code file, and is calculated by the change
The test necessity level is calculated by the test necessity
図12は、実施の形態1における試験必要度順ファイル199の一例を示す図である。
実施の形態1における試験必要度順ファイル199の一例について、図12に基づいて説明する。
試験必要度順ファイル199は、モジュール識別子を試験必要度順に示す。
図12の試験必要度順ファイル199は、移動制御モジュール、警告表示モジュールおよび位置センサ読み取りモジュールの順に試験必要度が高いことを示している。
FIG. 12 is a diagram illustrating an example of the test necessity order file 199 according to the first embodiment.
An example of the test necessity order file 199 according to the first embodiment will be described with reference to FIG.
The test necessity order file 199 shows module identifiers in order of test necessity.
The test
図1に戻り、ソフトウェア試験支援装置100の機能構成の説明を続ける。
担当者技術値算出部110は、担当者一覧ファイル181に含まれる担当者識別子毎にモジュール識別子をモジュール担当ファイル182から選択する。
担当者技術値算出部110は、選択したモジュール識別子に対応付けられた不具合量を不具合量ファイル183から選択する。
担当者技術値算出部110は、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する。
担当者技術値算出部110は、モジュール担当ファイル182から選択したモジュール識別子と同じモジュール識別子に対応付けて、算出した担当者技術値を試験必要度ファイル191に設定する。
Returning to FIG. 1, the description of the functional configuration of the software
The person-in-charge technical
The person-in-charge technical
The person-in-charge technical
The person-in-charge technical
変更作業密度算出部120は、モジュール一覧ファイル184に含まれるモジュール識別子毎に変更作業量と作業期間選択情報とを変更作業ファイル186から選択する。
変更作業密度算出部120は、選択した作業期間選択情報に基づいて作業期間を作業期間ファイル185から選択する。
変更作業密度算出部120は、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する。
変更作業密度算出部120は、モジュール識別子に対応付けて、算出した変更作業密度を試験必要度ファイル191に設定する。
The changed work
The changed work
The changed work
The changed work
不具合量算出部130は、モジュール一覧ファイル184に含まれるモジュール識別子毎に、不具合情報ファイル187に含まれるモジュール識別子の個数に基づいて、モジュール識別子で識別されるモジュールに発生した不具合の量である不具合量を算出する。
不具合量算出部130は、モジュール識別子に対応付けて、算出した不具合量を試験必要度ファイル191に設定する。
不具合量算出部130は、モジュール識別子に対応付けて不具合量を不具合量ファイル183に設定する。
The defect
The defect
The defect
モジュールカバレッジ率算出部131は、モジュール一覧ファイル184に含まれるモジュール識別子毎に関数識別子をモジュール一覧ファイル184から選択する。
モジュールカバレッジ率算出部131は、選択した関数識別子と同じ関数識別子に対応付けられた関数カバレッジ率データを関数カバレッジ率ファイル188から選択する。
モジュールカバレッジ率算出部131は、選択した関数カバレッジ率データに基づいて、モジュールの命令網羅率、モジュールの分岐網羅率およびモジュールの条件網羅率を算出する。モジュールの命令網羅率は、モジュールに含まれる命令文のうちの試験済みの命令文の割合である。モジュールの分岐網羅率は、モジュールに含まれる分岐命令文のうちの試験済みの命令文の割合である。モジュールの条件網羅率は、モジュールに含まれる分岐命令文に含まれる分岐条件のうちの試験済みの分岐条件の割合である。例えば、モジュールに含まれる命令文はモジュールが使用する関数に含まれる命令文を意味し、モジュールに含まれる分岐命令文はモジュールが使用する関数に含まれる分岐命令文を意味する。
モジュールカバレッジ率算出部131は、モジュールの命令網羅率、モジュールの分岐網羅率およびモジュールの条件網羅率を含むモジュールカバレッジ率データを生成する。
モジュールカバレッジ率算出部131は、モジュール識別子に対応付けて、モジュールカバレッジ率データを試験必要度ファイル191に設定する。
The module coverage
The module coverage
The module coverage
The module coverage
The module coverage
変更頻度算出部132は、モジュール一覧ファイル184に含まれるモジュール識別子毎にファイル識別子をモジュール一覧ファイル184から選択する。
変更頻度算出部132は、変更履歴ファイル189に含まれるファイル識別子のうちの変更対象期間内の変更日付に対応付けられた選択したファイル識別子の個数を変更頻度として算出する。変更対象期間は予め決められた期間である。
変更頻度算出部132は、モジュール識別子に対応付けて、算出した変更頻度を試験必要度ファイル191に設定する。
The change
The change
The change
変更率算出部133は、モジュール一覧ファイル184に含まれるモジュール識別子毎にファイル識別子をモジュール一覧ファイル184から選択する。
変更率算出部133は、ソフトウェアプログラムの現在のバージョンのバージョン識別子である現バージョン識別子と、ソフトウェアプログラムの前回のバージョンのバージョン識別子である前バージョン識別子と、を作業期間ファイル185から選択する。
変更率算出部133は、選択したファイル識別子と選択した現バージョン識別子とによって識別されるソースコードファイルである現ソースコードファイルを、ソースコードファイル群180から選択する。
変更率算出部133は、選択したファイル識別子と選択した前バージョン識別子とによって識別されるソースコードファイルである前ソースコードファイルを、ソースコードファイル群180から選択する。
変更率算出部133は、現ソースコードファイルに記述されたソースコードのうちの前ソースコードファイルに記述されたソースコードと異なる部分のソースコードの割合である変更率を算出する。
変更率算出部133は、モジュール識別子に対応付けて、算出した変更率を試験必要度ファイル191に設定する。
The change
The change
The change
The change
The change
The change
試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率データ、変更頻度および変更率の少なくともいずれかの指標値を試験必要度ファイル191から選択する。
試験必要度算出部140は、選択した指標値を用いて、モジュールによって実現される機能についての試験の指標を表す試験必要度を算出する。
試験必要度算出部140は、モジュール識別子に対応付けて、算出した試験必要度を試験必要度ファイル191に設定する。
例えば、試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に担当者技術値算出部110によって算出された担当者技術値を試験必要度ファイル191から選択し、選択した担当者技術値を用いて試験必要度を算出する。
例えば、試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に変更作業密度算出部120によって算出された変更作業密度を試験必要度ファイル191から選択し、選択した変更作業密度を用いて試験必要度を算出する。
The test necessity
The test necessity
The test
For example, the test
For example, the test
試験必要度順出力部150は、モジュール一覧ファイル184に含まれるモジュール識別子を試験必要度順に並べて試験必要度順ファイル199を生成し、試験必要度順ファイル199を出力する。
The test necessity
***動作の説明***
図13は、実施の形態1におけるソフトウェア試験支援装置100の動作を示すフローチャートである。
実施の形態1におけるソフトウェア試験支援装置100の動作について、図13に基づいて説明する。但し、ソフトウェア試験支援装置100の動作は、図13に基づいて説明する動作と同一でなくても構わない。例えば、処理の順序が変更されても構わない。また例えば、一部の処理が削除されても構わないし、新たな処理が追加されても構わない。
*** Explanation of operation ***
FIG. 13 is a flowchart showing the operation of the software
The operation of software
S101において、不具合量算出部130は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S101において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。モジュール一覧ファイル184については図5を参照のこと。
In S101, the defect
不具合量算出部130は、不具合情報ファイル187に含まれる対象モジュール識別子の個数に基づいて不具合量を算出する。不具合情報ファイル187については図8を参照のこと。
例えば、不具合量算出部130によって算出される不具合量は、不具合情報ファイル187に含まれる全ての対象モジュール識別子の個数である。
例えば、不具合量算出部130によって算出される不具合量は、不具合情報ファイル187に含まれる対象モジュール識別子のうちの不具合対象期間内の発生日付に対応付けられた対象モジュール識別子の個数である。不具合対象期間は予め決められた期間である。例えば、不具合対象期間は過去3か月などの一定の期間である。
The defect
For example, the defect amount calculated by the defect
For example, the defect amount calculated by the defect
不具合量算出部130は、対象モジュール識別子に対応付けて不具合量を試験必要度ファイル191に設定する。試験必要度ファイル191については図11を参照のこと。
不具合量算出部130は、対象モジュール識別子に対応付けて不具合量を不具合量ファイル183に設定する。不具合量ファイル183については図4を参照のこと。
S101の後、処理はS110に進む。
The defect
The defect
After S101, the process proceeds to S110.
S110において、担当者技術値算出部110は、担当者一覧ファイル181に含まれる担当者識別子毎に以下の処理を行う。S110において、処理の対象である一つの担当者識別子を対象担当者識別子という。担当者一覧ファイル181については図2を参照のこと。
In step S <b> 110, the person-in-charge technical
担当者技術値算出部110は、対象担当者識別子に対応付けられたモジュール識別子をモジュール担当ファイル182から選択する。S110において、選択したモジュール識別子を対象モジュール識別子という。図3のモジュール担当ファイル182において、対象担当者識別子がKouである場合、対象モジュール識別子は位置センサ読み取りモジュールおよび警告表示モジュールである。
担当者技術値算出部110は、対象モジュール識別子に対応付けられた不具合量を不具合量ファイル183から選択する。S110において、選択した不具合量を対象不具合量という。図4の不具合量ファイル183において、対象モジュール識別子が位置センサ読み取りモジュールおよび警告表示モジュールである場合、対象不具合量は10および6である。
担当者技術値算出部110は、対象不具合量に基づいて担当者技術値を算出する。例えば、担当者技術値は対象不具合量の平均値または合計量などである。対象不具合量が10および6である場合、対象不具合量の平均値である担当者技術値は8である。
担当者技術値算出部110は、対象モジュール識別子に対応付けて担当者技術値を試験必要度ファイル191に設定する。試験必要度ファイル191については図11を参照のこと。
S110の後、処理はS120に進む。
The person-in-charge technical
The person-in-charge technical
The person-in-charge
The person-in-charge technical
After S110, the process proceeds to S120.
S120において、変更作業密度算出部120は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S120において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
In S <b> 120, the changed work
変更作業密度算出部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に進む。
The changed work
The changed work
The changed work
The changed work
After S120, the process proceeds to S131.
S131において、モジュールカバレッジ率算出部131は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S131において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
In S131, the module coverage
モジュールカバレッジ率算出部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に進む。
The module coverage
The module coverage
The module coverage
The module coverage
After S131, the process proceeds to S132.
S132において、変更頻度算出部132は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S132において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
In S <b> 132, the change
変更頻度算出部132は、対象モジュール識別子に対応付けられたファイル識別子をモジュール一覧ファイル184から選択する。S132において、選択されるファイル識別子を対象ファイル識別子という。
変更頻度算出部132は、変更履歴ファイル189に含まれるファイル識別子のうちの変更対象期間内の変更日付に対応付けられた対象ファイル識別子の個数を変更頻度として算出する。変更対象期間は予め決められた期間である。例えば、変更対象期間は過去3か月などの一定の期間である。
変更頻度算出部132は、対象モジュール識別子に対応付けて変更頻度を試験必要度ファイル191に設定する。試験必要度ファイル191については図11を参照のこと。
S132の後、処理はS133に進む。
The change
The change
The change
After S132, the process proceeds to S133.
S133において、変更率算出部133は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S133において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
In S <b> 133, the change
変更率算出部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に進む。
The change
The change
The change
The change
The change
The change
After S133, the process proceeds to S140.
S140において、試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S140において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
In S140, the test
試験必要度算出部140は、対象モジュール識別子に対応付けられた担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率データ、変更頻度および変更率といった指標値を試験必要度ファイル191から選択する。但し、試験必要度算出部140は、これらの指標値のうちの少なくともいずれかを選択すればよい。試験必要度ファイル191については図11を参照のこと。S140で選択した指標値を対象指標値という。
The test
試験必要度算出部140は、対象指標値を用いて試験必要度を算出する。例えば、試験必要度は、各対象指標値を代入した試験必要度算出式を計算することによって算出される。試験必要度算出式は、試験必要度を算出するための計算式であり、各対象指標値が代入される指標値変数を含む。試験必要度は、重み付け対象指標値の合計値である。
The test
試験必要度算出部140により、以下のような試験必要度が算出される。
担当者技術値が低いほど、試験必要度は高い。技術力が低い担当者によって開発されたモジュールは、多くの不具合が組み込まれており、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
変更作業密度が高いほど、試験必要度は高い。作業時間が短いほど検討が不足する。そして、検討が不足したモジュールは、多くの不具合が組み込まれており、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
不具合量が多いほど、試験必要度は高い。これまでに不具合が多かったモジュールは、多くの不具合が組み込まれており、今後も不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
カバレッジ率が低いほど、試験必要度は高い。カバレッジ率が低いモジュールは、不具合が十分に除去されておらず、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
変更頻度が高いほど、試験必要度は高い。変更頻度が高いモジュールは、多くの不具合が組み込まれやすく、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
変更率が高いほど、試験必要度は高い。変更率が高いモジュールは、多くの不具合が組み込まれやすく、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
The test
The lower the technician level, the higher the need for testing. A module developed by a person with low technical skills incorporates many problems and is considered to be prone to problems. Such modules require sufficient testing.
The higher the change work density, the higher the need for testing. The shorter the working time, the less consideration is required. And it is thought that the module which examination is insufficient has many malfunctions built in, and a malfunction is easy to generate | occur | produce. Such modules require sufficient testing.
The greater the amount of defects, the higher the need for testing. Modules that have had many problems so far have many problems built in, and it is likely that problems will continue to occur in the future. Such modules require sufficient testing.
The lower the coverage rate, the higher the need for testing. A module with a low coverage rate is considered to be prone to defects because defects have not been sufficiently removed. Such modules require sufficient testing.
The higher the frequency of change, the higher the need for testing. It is considered that a module with a high change frequency is likely to have many defects and is likely to cause defects. Such modules require sufficient testing.
The higher the change rate, the higher the need for testing. It is considered that a module with a high change rate is likely to incorporate many defects and easily generate defects. Such modules require sufficient testing.
試験必要度算出部140は、対象モジュール識別子に対応付けて試験必要度を試験必要度ファイル191に設定する。
S140の後、処理はS150に進む。
The test necessity
After S140, the process proceeds to S150.
S150において、試験必要度順出力部150は、試験必要度ファイル191に含まれるモジュール識別子毎の試験必要度に基づいてモジュール識別子を試験必要度順に並べて試験必要度順ファイル199を生成し、試験必要度順ファイル199を出力する。例えば、試験必要度順出力部150は、試験必要度順ファイル199を表示装置の画面に表示する。試験必要度順ファイル199については図12を参照のこと。
S150の後、ソフトウェア試験支援装置100の動作は終了する。
In S150, the test necessity
After S150, the operation of the software
図14は、実施の形態1におけるソフトウェア試験支援装置100のハードウェア構成図である。
実施の形態1におけるソフトウェア試験支援装置100のハードウェア構成について、図14に基づいて説明する。但し、ソフトウェア試験支援装置100のハードウェア構成は図14に示す構成と同一でなくても構わない。
FIG. 14 is a hardware configuration diagram of the software
A hardware configuration of software
ソフトウェア試験支援装置100は、演算装置901、補助記憶装置902、主記憶装置903、通信装置904および入出力装置905を備えるコンピュータである。
演算装置901、補助記憶装置902、主記憶装置903、通信装置904および入出力装置905はバス909に接続している。
The software
The
演算装置901は、プログラムを実行するCPU(Central Processing Unit)である。例えば、演算装置901は、ソフトウェア試験支援装置100としてコンピュータを機能させるソフトウェア試験支援プログラムを実行する。
補助記憶装置902は、例えば、ROM(Read Only Memory)、フラッシュメモリまたはハードディスク装置である。
主記憶装置903は、例えば、RAM(Random Access Memory)である。
通信装置904は、有線または無線でインターネット、LAN(ローカルエリアネットワーク)、電話回線網またはその他のネットワークを介して通信を行う。
入出力装置905は、例えば、マウス、キーボード、ディスプレイ装置である。
The
The
The
The
The input /
プログラムは、補助記憶装置902に記憶されている。
例えば、オペレーティングシステム(OS)が補助記憶装置902に記憶される。また、「〜部」として説明している機能を実現するプログラムが補助記憶装置902に記憶される。
プログラムは、補助記憶装置902に記憶されており、主記憶装置903にロードされ、演算装置901に読み込まれ、演算装置901によって実行される。
The program is stored in the
For example, an operating system (OS) is stored in the
The program is stored in the
判断、判定、抽出、検知、設定、登録、選択、生成、入力、出力等の処理の処理結果を示す情報、データ、ファイル、信号値または変数値が主記憶装置903または補助記憶装置902に記憶される。
Information, data, files, signal values, or variable values indicating processing results of processing such as determination, determination, extraction, detection, setting, registration, selection, generation, input, and output are stored in the
図15は、実施の形態1におけるソフトウェア試験支援システム200の構成図である。
実施の形態1におけるソフトウェア試験支援システム200の構成について、図15に基づいて説明する。但し、ソフトウェア試験支援システム200の構成は図15に示す構成と同一でなくても構わない。
FIG. 15 is a configuration diagram of the software
The configuration of the software
ソフトウェア試験支援システム200は、ソフトウェア試験支援装置100、プロジェクト管理システム210、ソフトウェア試験システム220、ソースコード管理システム230、不具合管理システム240および作業管理システム250を備える。
ソフトウェア試験支援システム200に備わるソフトウェア試験支援装置100および各システムは、ネットワーク209を介して通信する。
The software
The software
プロジェクト管理システム210は、ソフトウェアプログラムを開発するプロジェクトを管理するためのコンピュータシステムである。
プロジェクト管理システム210は、担当者一覧ファイル181、モジュール担当ファイル182、モジュール一覧ファイル184および作業期間ファイル185を記憶するプロジェクト管理記憶部219を備える。
ソフトウェア試験支援装置100は、プロジェクト管理記憶部219に記憶される各ファイルをプロジェクト管理システム210から取得する。
The
The
The software
ソフトウェア試験システム220は、ソフトウェアプログラムを試験するためのコンピュータシステムである。例えば、ソフトウェア試験システム220は、JUnitという技術によってモジュールまたは関数の単体試験を行う。また、ソフトウェア試験システム220は、従来のカバレッジ取得プログラムを実行することによって、関数カバレッジ率ファイル188に設定される関数カバレッジ率データを生成する。
ソフトウェア試験システム220は、関数カバレッジ率ファイル188を記憶するソフトウェア試験記憶部229を備える。
ソフトウェア試験支援装置100は、ソフトウェア試験記憶部229に記憶される関数カバレッジ率ファイル188をソフトウェア試験システム220から取得する。
The
The
The software
ソースコード管理システム230は、ソフトウェアプログラムのソースコードを管理するためのコンピュータシステムである。例えば、ソースコード管理システム230は、cvs、Subversionまたはgitなどのシステムによって構成される。
ソースコード管理システム230は、ソースコードファイル群180および変更履歴ファイル189を記憶するソースコード管理記憶部239を備える。
ソフトウェア試験支援装置100は、ソースコード管理記憶部239に記憶されるソースコードファイル群180および変更履歴ファイル189をソースコード管理システム230から取得する。
The source
The source
The software
不具合管理システム240は、ソフトウェアプログラムに発生した不具合を管理するためのコンピュータシステムである。例えば、不具合管理システム240は、RedmineまたはTracなどのソフトウェアプログラムを実行することによって、不具合情報ファイル187に設定する情報を管理する。
不具合管理システム240は、不具合情報ファイル187を記憶する不具合管理記憶部249を備える。
ソフトウェア試験支援装置100は、不具合管理記憶部249に記憶される不具合情報ファイル187を不具合管理システム240から取得する。
The
The
The software
作業管理システム250は、ソフトウェアプログラムを変更する変更作業を管理するためのコンピュータシステムである。
作業管理システム250は、変更作業ファイル186を記憶する作業管理記憶部259を備える。
ソフトウェア試験支援装置100は、作業管理記憶部259に記憶される変更作業ファイル186を作業管理システム250から取得する。
The
The
The software
***効果の説明***
実施の形態1により、例えば、以下のような効果を奏する。
ソフトウェア試験支援装置100は、モジュール毎の試験必要度を算出することができる。そして、試験者は、試験必要度が高いモジュールによって実現される機能について十分な試験を行う。これにより、ソフトウェアプログラムの回帰試験が効率的に行われる。
*** Explanation of effects ***
According to the first embodiment, for example, the following effects can be obtained.
The software
実施の形態2.
試験必要度の履歴を利用して試験必要度を更新する形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明しない事項については実施の形態1と同様である。
Embodiment 2. FIG.
A description will be given of a mode in which the test necessity is updated using the test necessity history.
Hereinafter, items different from the first embodiment will be mainly described. Matters not described are the same as those in the first embodiment.
***構成の説明***
図16は、実施の形態2におけるソフトウェア試験支援装置100の機能構成図である。
実施の形態2におけるソフトウェア試験支援装置100の機能構成について、図16に基づいて説明する。但し、ソフトウェア試験支援装置100の機能構成は図16に示す機能構成と同一でなくても構わない。
*** Explanation of configuration ***
FIG. 16 is a functional configuration diagram of the software
A functional configuration of the software
ソフトウェア試験支援装置100のファイル記憶部190は、実施の形態1における試験必要度ファイル191の代わりに、指標値ファイル192および試験必要度履歴ファイル193を記憶する。
ここで、指標値ファイル192および試験必要度履歴ファイル193について説明する。
The
Here, the
図17は、実施の形態2における指標値ファイル192の一例を示す図である。
図17に示すように、指標値ファイル192は、実施の形態1における試験必要度ファイル191から、試験必要度の欄を削除したものである。実施の形態1における試験必要度ファイル191については図11を参照のこと。
FIG. 17 is a diagram illustrating an example of the
As shown in FIG. 17, the
図18は、実施の形態2における試験必要度履歴ファイル193の一例を示す図である。
実施の形態2における試験必要度履歴ファイル193について、図18に基づいて説明する。
試験必要度履歴ファイル193は、前回算出された試験必要度である前回必要度をモジュール識別子に対応付ける。
図18の試験必要度履歴ファイル193は、今回算出された試験必要度である第N回の試験必要度と、前回算出された試験必要度である第(N−1)回の試験必要度と、をモジュール識別子に対応付けている。
FIG. 18 is a diagram illustrating an example of the test
The test
The test necessity history file 193 associates the previous necessity degree, which is the necessity degree of the test calculated last time, with the module identifier.
The test
図16に戻り、ソフトウェア試験支援装置100の説明を続ける。
試験必要度算出部140は、試験必要度を算出した後に以下のような処理を行う。
試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に前回必要度を試験必要度履歴ファイル193から選択する。
試験必要度算出部140は、選択した前回必要度と今回算出した試験必要度である今回必要度との差の大きさに基づいて、今回必要度を更新する。
ソフトウェア試験支援装置100のその他の機能構成は実施の形態1と同様である。
Returning to FIG. 16, the description of the software
The test
The test necessity
The test necessity
Other functional configurations of the software
***動作の説明***
図19は、実施の形態2におけるソフトウェア試験支援装置100の動作を示すフローチャートである。
実施の形態2におけるソフトウェア試験支援装置100の動作について、図19に基づいて説明する。但し、ソフトウェア試験支援装置100の動作は、図19に基づいて説明する動作と同一でなくても構わない。例えば、処理の順序が変更されても構わない。また例えば、一部の処理が削除されても構わないし、新たな処理が追加されても構わない。
*** Explanation of operation ***
FIG. 19 is a flowchart showing the operation of the software
The operation of the software
実施の形態2におけるソフトウェア試験支援装置100は、実施の形態1におけるS140およびS150の代わりに、S141、S142およびS151を実行する。
S101からS133までの処理は実施の形態1と同様である。
実施の形態1におけるソフトウェア試験支援装置100の動作については図13を参照のこと。
The software
The processing from S101 to S133 is the same as that in the first embodiment.
Refer to FIG. 13 for the operation of the software
ここで、S141、S142およびS151について説明する。
S141において、試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S141において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。
Here, S141, S142, and S151 will be described.
In S <b> 141, the test
試験必要度算出部140は、対象モジュール識別子に対応付けられた担当者技術値、変更作業密度、不具合量、モジュールカバレッジ率データ、変更頻度および変更率といった指標値を指標値ファイル192から選択する。但し、試験必要度算出部140は、これらの指標値のうちの少なくともいずれかを選択すればよい。指標値ファイル192については図17を参照のこと。S141で選択した指標値を対象指標値という。
試験必要度算出部140は、対象指標値を用いて試験必要度を算出する。この試験必要度の算出方法は実施の形態1のS140と同様である。
試験必要度算出部140は、対象モジュール識別子に対応付けて試験必要度を試験必要度履歴ファイル193に設定する。試験必要度履歴ファイル193については図18を参照のこと。
S141の後、処理はS142に進む。
The test necessity
The test
The test necessity
After S141, the process proceeds to S142.
S142において、試験必要度算出部140は、モジュール一覧ファイル184に含まれるモジュール識別子毎に以下の処理を行う。S142において、処理の対象である一つのモジュール識別子を対象モジュール識別子という。また、今回算出された試験必要度を今回必要度といい、前回算出された試験必要度を前回必要度という。
In S <b> 142, the test necessity
試験必要度算出部140は、対象モジュール識別子に対応付けられた今回必要度および前回必要度を試験必要度履歴ファイル193から選択する。S142で選択する今回必要度を対象今回必要度といい、S142で選択する前回必要度を対象前回必要度という。
The test necessity
試験必要度算出部140は、対象今回必要度と対象前回必要度とを用いて、新たな今回必要度を算出する。
例えば、新たな今回必要度は、対象今回必要度と対象前回必要度とを代入した試験必要度更新式を計算することによって算出される。試験必要度更新式は、新たな試験必要度を算出するための計算式である。試験必要度更新式は、対象今回必要度が代入される今回必要度変数と、対象前回必要度が代入される前回必要度変数とを含む。新たな今回必要度は、対象今回必要度と対象前回必要度との差分の大きさに応じた補正値を、対象今回必要度に加えた値である。
対象前回必要度に対する対象今回必要度の増分が大きいほど、試験必要度は高い。試験必要度の増分が大きいモジュールは、新たな不具合が組み込まれやすく、不具合が発生しやすい、と考えられる。そのようなモジュールについては十分な試験が必要である。
The test necessity
For example, the new current necessity degree is calculated by calculating a test necessity update formula in which the target current necessity degree and the target previous necessity degree are substituted. The test necessity update formula is a calculation formula for calculating a new test necessity. The test necessity update formula includes a current necessity variable to which the target current necessity is substituted and a previous necessity variable to which the target previous necessity is substituted. The new current necessity level is a value obtained by adding a correction value corresponding to the difference between the target current necessity level and the target previous necessity level to the target current necessity level.
The greater the increase in the subject's current need relative to the subject's previous need, the higher the test need. It is considered that a module with a large increase in the necessity of testing is likely to incorporate a new defect and easily generate a defect. Such modules require sufficient testing.
試験必要度算出部140は、試験必要度履歴ファイル193に含まれる対象今回必要度を新たな今回必要度に更新する。
S142の後、処理はS151に進む。
The test
After S142, the process proceeds to S151.
S151において、試験必要度順出力部150は、試験必要度履歴ファイル193に含まれるモジュール毎の今回必要度に基づいてモジュール識別子を今回必要度順に並び替えて試験必要度順ファイル199を生成し、試験必要度順ファイル199を出力する。
S151の後、ソフトウェア試験支援装置100の動作は終了する。
In S151, the test necessity
After S151, the operation of the software
実施の形態2におけるソフトウェア試験支援システム200の構成は実施の形態1と同様である。実施の形態1および実施の形態2におけるソフトウェア試験支援システム200の構成については図15を参照のこと。
The configuration of the software
***効果の説明***
実施の形態2により、ソフトウェア試験支援装置100は、試験必要度の履歴を利用して試験必要度を更新することができる。これにより、より適切な試験必要度が算出される。
*** Explanation of effects ***
According to the second embodiment, the software
各実施の形態は、ソフトウェア試験支援装置100およびソフトウェア試験支援システム200の形態の一例である。
つまり、ソフトウェア試験支援装置100およびソフトウェア試験支援システム200は、各実施の形態で説明した構成要素の一部を備えなくても構わない。また、ソフトウェア試験支援装置100およびソフトウェア試験支援システム200は、各実施の形態で説明していない構成要素を備えても構わない。
Each embodiment is an example of the form of the software
That is, the software
各実施の形態においてフローチャート等を用いて説明した処理手順は、各実施の形態に係る方法およびプログラムの処理手順の一例である。各実施の形態に係る方法およびプログラムは、各実施の形態で説明した処理手順と一部異なる処理手順で実現されても構わない。 The processing procedures described using the flowcharts and the like in each embodiment are an example of the processing procedures of the method and the program according to each embodiment. The method and program according to each embodiment may be realized by a processing procedure partially different from the processing procedure described in each embodiment.
各実施の形態において「〜部」は「〜処理」「〜工程」「〜ステップ」「〜プログラム」「〜装置」などに読み替えることができる。 In each embodiment, “to part” can be read as “to process”, “to process”, “to step”, “to program”, “to apparatus”, and the like.
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 バス。
DESCRIPTION OF
Claims (8)
前記担当者一覧ファイルに含まれる担当者識別子毎にモジュール識別子を前記モジュール担当ファイルから選択し、選択したモジュール識別子に対応付けられた不具合量を前記不具合量ファイルから選択し、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する担当者技術値算出部と
を備えるソフトウェア試験支援装置。 A person-in-charge list file including a person-in-charge identifier of a person in charge of developing at least one of the modules included in the software program; a module person-in-charge file that associates a person-in-charge identifier with the module identifier of the module included in the software program; A file storage unit that stores a defect amount file that associates a defect amount that is the amount of a defect that has occurred in a module with a module identifier;
For each person identifier included in the person-in-charge list file, a module identifier is selected from the module person-in-charge file, a defect amount associated with the selected module identifier is selected from the defect amount file, and based on the selected defect amount And a software test support apparatus comprising a person-in-charge technical value calculating unit that calculates a person-in-charge technical value representing the technical ability of the person in charge.
前記モジュール一覧ファイルに含まれるモジュール識別子毎に前記担当者技術値算出部によって算出された担当者技術値を選択し、選択した担当者技術値を用いて、モジュールによって実現される機能についての試験の実施が必要な度合い表す試験必要度を算出する試験必要度算出部を備える
請求項1に記載のソフトウェア試験支援装置。 The file storage unit stores a module list file including a module identifier,
The person-in-charge technical value calculated by the person-in-charge technical value calculation unit is selected for each module identifier included in the module list file, and a test of the function realized by the module is performed using the selected person-in-charge technical value. The software test support apparatus according to claim 1, further comprising a test necessity degree calculation unit that calculates a test necessity degree representing a degree of necessity of execution.
前記ソフトウェア試験支援装置は、
前記モジュール一覧ファイルに含まれるモジュール識別子毎に変更作業量と作業期間選択情報とを前記変更作業ファイルから選択し、選択した作業期間選択情報に基づいて作業期間を前記作業期間ファイルから選択し、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する変更作業密度算出部を備え、
前記試験必要度算出部は、前記モジュール一覧ファイルに含まれるモジュール識別子毎に前記変更作業密度と前記担当者技術値とを用いて前記試験必要度を算出する
請求項2に記載のソフトウェア試験支援装置。 The file storage unit includes a work period file indicating a work period for each version of the software program, a change work amount required for a change work in which a module is changed to a module identifier of the changed module, and a work in which the change work is performed. Storing a change work file that associates work period selection information used for selecting a period;
The software test support device includes:
For each module identifier included in the module list file, a changed work amount and work period selection information are selected from the changed work file, a work period is selected from the work period file based on the selected work period selection information, and selected. A change work density calculation unit that calculates a change work density representing a change work amount per unit period based on the changed work period and the selected change work amount;
The software test support apparatus according to claim 2, wherein the test necessity calculation unit calculates the test necessity using the changed work density and the person-in-charge technical value for each module identifier included in the module list file. .
前記試験必要度算出部は、前記モジュール一覧ファイルに含まれるモジュール識別子毎に前回必要度を前記試験必要度履歴ファイルから選択し、選択した前回必要度と今回算出した試験必要度である今回必要度との差の大きさに基づいて、前記今回必要度を更新する
請求項2に記載のソフトウェア試験支援装置。 The file storage unit stores a test necessity history file for associating a previous need that is a test need calculated last time with a module identifier,
The test necessity degree calculation unit selects the previous necessity degree from the test necessity degree history file for each module identifier included in the module list file, and the present necessity degree that is the selected previous necessity degree and the currently calculated test necessity degree. The software test support apparatus according to claim 2, wherein the current necessity level is updated based on a magnitude of a difference from the software test.
前記モジュール一覧ファイルに含まれるモジュール識別子毎に変更作業量と作業期間選択情報とを前記変更作業ファイルから選択し、選択した作業期間選択情報に基づいて作業期間を前記作業期間ファイルから選択し、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する変更作業密度算出部と
を備えるソフトウェア試験支援装置。 A module list file including module identifiers of modules included in the software program, a work period file indicating a work period for each version of the software program, and a change required for the change work for changing the module to the module identifier of the changed module A file storage unit that stores a changed work file that associates the work amount with work period selection information used for selecting a work period in which the changed work has been performed;
For each module identifier included in the module list file, a changed work amount and work period selection information are selected from the changed work file, a work period is selected from the work period file based on the selected work period selection information, and selected. A software test support apparatus comprising: a changed work density calculating unit that calculates a changed work density representing a changed work amount per unit period based on the changed work period and the selected changed work amount.
請求項5に記載のソフトウェア試験支援装置。 It is necessary to select a changed work density calculated by the changed work density calculation unit for each module identifier included in the module list file, and to perform a test on a function realized by the module using the selected changed work density. The software test support apparatus according to claim 5, further comprising a test necessity degree calculation unit that calculates a test necessity degree representing a certain degree.
前記担当者一覧ファイルは、ソフトウェアプログラムに含まれる少なくともいずれかのモジュールの開発を担当した担当者の担当者識別子を含むファイルであり、
前記モジュール担当ファイルは、前記ソフトウェアプログラムに含まれるモジュールのモジュール識別子に担当者識別子を対応付けるファイルであり、
前記不具合量ファイルは、モジュールに発生した不具合の量である不具合量をモジュール識別子に対応付けるファイルであり、
前記担当者一覧ファイルに含まれる担当者識別子毎にモジュール識別子を前記モジュール担当ファイルから選択し、選択したモジュール識別子に対応付けられた不具合量を前記不具合量ファイルから選択し、選択した不具合量に基づいて、担当者の技術力を表す担当者技術値を算出する担当者技術値算出部として
コンピュータを機能させるためのソフトウェア試験支援プログラム。 A software testing support program that uses a person-in-charge list file, a module person-in-charge file, and a defect amount file,
The person-in-charge list file is a file including a person-in-charge identifier of a person in charge of developing at least one of the modules included in the software program,
The module responsible file is a file that associates a responsible person identifier with a module identifier of a module included in the software program,
The defect amount file is a file that associates a defect amount that is the amount of a defect that has occurred in a module with a module identifier;
For each person identifier included in the person-in-charge list file, a module identifier is selected from the module person-in-charge file, a defect amount associated with the selected module identifier is selected from the defect amount file, and based on the selected defect amount A software test support program for causing a computer to function as a person-in-charge technical value calculation unit that calculates a person-in-charge technical value representing the technical ability of the person in charge.
前記モジュール一覧ファイルは、ソフトウェアプログラムに含まれるモジュールのモジュール識別子を含むファイルであり、
前記作業期間ファイルは、前記ソフトウェアプログラムのバージョン毎の作業期間を示すファイルであり、
前記変更作業ファイルは、変更されたモジュールのモジュール識別子にモジュールを変更した変更作業に要した変更作業量と変更作業が行われた作業期間の選択に用いる作業期間選択情報とを対応付けるファイルであり、
前記モジュール一覧ファイルに含まれるモジュール識別子毎に変更作業量と作業期間選択情報とを前記変更作業ファイルから選択し、選択した作業期間選択情報に基づいて作業期間を前記作業期間ファイルから選択し、選択した作業期間と選択した変更作業量とに基づいて、単位期間当たりの変更作業量を表す変更作業密度を算出する変更作業密度算出部として
コンピュータを機能させるためのソフトウェア試験支援プログラム。 A software test support program that uses a module list file, a work period file, and a change work file,
The module list file is a file including a module identifier of a module included in a software program,
The work period file is a file indicating a work period for each version of the software program,
The change work file is a file that associates the change work amount required for the change work that changed the module with the module identifier of the changed module and the work period selection information used for selecting the work period in which the change work was performed,
For each module identifier included in the module list file, a changed work amount and work period selection information are selected from the changed work file, a work period is selected from the work period file based on the selected work period selection information, and selected. A software test support program for causing a computer to function as a changed work density calculation unit that calculates a changed work density representing a changed work amount per unit period based on the changed work period and the selected changed work amount.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014207319A JP6320269B2 (en) | 2014-10-08 | 2014-10-08 | Software test support apparatus and software test support program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014207319A JP6320269B2 (en) | 2014-10-08 | 2014-10-08 | Software test support apparatus and software test support program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016076162A JP2016076162A (en) | 2016-05-12 |
JP6320269B2 true JP6320269B2 (en) | 2018-05-09 |
Family
ID=55951389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014207319A Active JP6320269B2 (en) | 2014-10-08 | 2014-10-08 | Software test support apparatus and software test support program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6320269B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6862949B2 (en) * | 2017-03-15 | 2021-04-21 | 富士通株式会社 | Test range output program, test range output device and test range output method |
KR102739777B1 (en) * | 2022-08-17 | 2024-12-10 | 쿠팡 주식회사 | Method for providing code information and electronic apparatus supporting thereof |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0876992A (en) * | 1994-09-07 | 1996-03-22 | Toshiba Eng Co Ltd | Device and method for evaluation and management of quality of software |
JP2010186394A (en) * | 2009-02-13 | 2010-08-26 | Hitachi Software Eng Co Ltd | Result evaluation system for system developer, system for evaluating difficulty of module development, and delay state determination system |
JP2013191077A (en) * | 2012-03-14 | 2013-09-26 | Ntt Comware Corp | Skill evaluation device, skill evaluation method, and program |
-
2014
- 2014-10-08 JP JP2014207319A patent/JP6320269B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016076162A (en) | 2016-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9317401B2 (en) | Prioritizing test cases using multiple variables | |
US9720812B2 (en) | Risk-based test coverage and prioritization | |
US9600395B2 (en) | Software quality evaluating system and methods for determining an extent of software code changes | |
US9092586B1 (en) | Version management mechanism for fluid guard ring PCells | |
JP7146006B2 (en) | DATA PROCESSING METHOD, DATA PROCESSING APPARATUS, ELECTRONIC DEVICE, COMPUTER-READABLE STORAGE MEDIUM AND COMPUTER PROGRAM | |
JP6492555B2 (en) | Abnormality diagnosis method, abnormality diagnosis device, and abnormality diagnosis program | |
CN110134598B (en) | Batch processing method, device and system | |
JP6320269B2 (en) | Software test support apparatus and software test support program | |
Sato et al. | Effects of organizational changes on product metrics and defects | |
JP7557431B2 (en) | Apparatus and method for supporting source code modification | |
JP6723483B2 (en) | Test case generation device, test case generation method, and test case generation program | |
US20190129781A1 (en) | Event investigation assist method and event investigation assist device | |
JP6161367B2 (en) | Information processing apparatus, information processing method, and program | |
JP2016164727A (en) | Test case selection device | |
JP2018120465A (en) | Relation analysis device and relation analysis program | |
JP6310865B2 (en) | Source code evaluation system and method | |
JP5826099B2 (en) | Software evaluation support apparatus and program | |
US11436130B1 (en) | System, method, and computer program for automating manually written test cases | |
JP2015056140A (en) | Clone detection method and clone common function method | |
US20170212755A1 (en) | System and method for computing a criticality metric of a unit of source code | |
JP6483507B2 (en) | Control program creating apparatus and control program debugging method | |
KR102002545B1 (en) | Code test automatic proceeding method through virtualixation and appratus for the same | |
US20100251246A1 (en) | System and Method for Generating Job Schedules | |
JP2015097029A (en) | Software development support device, software development support method, and program | |
JP2009181180A (en) | Inspection program, inspection method, and inspection device of program creating tool |
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 |