JP2020115248A - Test priority determination apparatus - Google Patents
Test priority determination apparatus Download PDFInfo
- Publication number
- JP2020115248A JP2020115248A JP2019006046A JP2019006046A JP2020115248A JP 2020115248 A JP2020115248 A JP 2020115248A JP 2019006046 A JP2019006046 A JP 2019006046A JP 2019006046 A JP2019006046 A JP 2019006046A JP 2020115248 A JP2020115248 A JP 2020115248A
- Authority
- JP
- Japan
- Prior art keywords
- test
- program
- priority order
- priority
- information
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、プログラムに対して行う試験の優先順位を決定する試験優先順位決定装置に関する。 The present invention relates to a test priority order determination device that determines the priority order of tests performed on a program.
ソフトウェアの規模は年々増加傾向にあるため、限られた工数では、想定される全ての不具合を検出する試験を網羅的にソフトウェアプログラムに対して実行することは困難となっている。そこで、重要な試験を優先的に行うために、試験に優先順位を付ける技術が知られている。例えば、特許文献1は、任意のソフトウェアの修正版に対する試験に係わる各テスト項目の優先順位を決定するシステムを開示している。
Since the scale of software tends to increase year by year, it is difficult to comprehensively execute a test for detecting all possible defects on a software program with a limited number of man-hours. Therefore, in order to prioritize important tests, a technique for prioritizing tests is known. For example,
しかしながら、特許文献1の技術は、ソフトウェアの修正版にしか適用できない。本発明は、修正版でない新たなプログラムに対して行う試験の優先順位を決定する試験優先順位決定装置を提供する。
However, the technique of
本発明の一態様は、プログラムに対して行う試験の優先順位を決定する試験優先順位決定装置を提供する。試験優先順位決定装置は、プログラムを読み込み、プログラムの特徴を解析する解析部と、解析部の解析結果に応じて、プログラムに対して行う試験の優先順位を決定する優先順位決定部とを備える。 One aspect of the present invention provides a test priority order determination device that determines the priority order of tests to be performed on a program. The test priority order determination device includes an analysis unit that reads a program and analyzes the characteristics of the program, and a priority order determination unit that determines the priority order of the test to be performed on the program according to the analysis result of the analysis unit.
本発明により、新たなプログラムに対して行う試験の優先順位を決定する試験優先順位決定装置を得ることができる。これにより、限られた工数で効率的に試験を行うことが可能になる。 According to the present invention, it is possible to obtain a test priority order determination device that determines the priority order of tests performed on a new program. As a result, it becomes possible to efficiently carry out the test with a limited man-hour.
本発明の実施の形態に係る試験優先順位決定装置は、プログラムを解析して、当該プログラムに対して行うべき試験の優先順位を決定する。以下、本発明の実施の形態に係る試験優先順位決定装置について、図面を参照して説明する。各実施の形態において、同一の構成には同一の符号を付して、説明を省略する。 The test priority order determination device according to the embodiment of the present invention analyzes a program and determines the priority order of tests to be performed on the program. Hereinafter, a test priority order determination device according to an embodiment of the present invention will be described with reference to the drawings. In each embodiment, the same components are designated by the same reference numerals and the description thereof will be omitted.
(実施の形態1)
図1は、本発明の実施の形態1に係る試験優先順位決定装置100の構成を示す図である。試験優先順位決定装置100は、プログラム入力部1、情報入力部2、制御部3、記憶部4および出力部5を備える。
(Embodiment 1)
FIG. 1 is a diagram showing the configuration of a test priority
プログラム入力部1は、プログラム8を読み込み、制御部3に入力する入力インタフェース回路である。プログラム8は、例えばプログラムとして実行可能なソースコード等のテキストファイルである。情報入力部2は、後述の重要度情報9等の情報またはデータを読み込み、制御部3に入力する入力インタフェース回路である。プログラム入力部1および情報入力部2は、例えば図1のように別個の入力インタフェース回路で構成されるが、これに限定されず、同一の入力インタフェース回路で構成されてもよい。
The
制御部3は、種々の演算および試験優先順位決定装置100の動作全体の制御等の動作を行う処理装置である。制御部3は、プログラムを実行することにより所定の機能を実現するCPU、MPUのような汎用プロセッサを含む。制御部3は、ハードウェアとソフトウェアの協働により所定の機能を実現するものに限定されず、所定の機能を実現するための専用回路として設計されたFPGA、ASIC、DSP等のハードウェア回路で構成されてもよい。
The
記憶部4は、試験優先順位決定装置100の機能を実現するために必要なプログラムおよびデータを含む種々の情報を記録する記録媒体である。記憶部4には、例えば後述の品質データベース(DB)41が格納される。記憶部4は、例えば、フラッシュメモリ、SSDなどの半導体メモリ装置、ハードディスク等の磁気記憶装置、その他の記憶デバイス単独でまたはそれらを適宜組み合わせて実現される。記憶部4は、種々の情報を一時的に記憶する高速動作可能なSRAM、DRAMなどの揮発性メモリを含んでもよい。
The
出力部5は、種々の情報を出力する装置またはインタフェース回路である。出力部5は、液晶ディスプレイ、有機ELディスプレイ、プロジェクタ等の表示装置を含む。また、出力部5は、プリンタおよび音声を出力するスピーカを含む。出力部5は、IEEE802.3、IEEE802.11またはWi−Fi、LTE、3G、4Gおよび5G等の規格に従い、ネットワークを介して外部機器への通信接続を可能とするためのインタフェース回路であってもよい。
The
図2は、試験優先順位決定装置100の動作の流れを示すフローチャートである。まず、制御部3は、プログラム入力部1を介してプログラム8を入力し、情報入力部2を介して重要度情報9を入力する(S1)。
FIG. 2 is a flowchart showing the flow of the operation of the test priority
図3は、重要度情報9の一例を示す図である。重要度情報9は、プログラム8の第1部位、第2部位および第3部位等の部位に対して、その部位の重要度Mを対応付けた情報である。重要度情報9は、例えば、プログラム開発者、試験実行者またはプロジェクト管理者(以下、「プログラム開発者等」という。)がプログラム8の各部位に対して重要度Mを付すことによって形成される。重要度Mは、例えば0以上1以下の値である。例えば、部位の重要性が高いほど、大きな値の重要度Mが付される。
FIG. 3 is a diagram showing an example of the
図2に戻り、ステップS1の後、解析部31として機能する制御部3は、プログラム8に対して静的解析を実行する(S2)。静的解析とは、プログラムを実行せずにプログラムを解析する技術である。静的解析では、例えばソースコードのタイプミスおよび構文の誤り等の不具合を発見することができる。また、静的解析によって、ソースコードやソースコードに含まれる関数の行数、条件分岐の数および呼び出す関数の数等を検出することができる。
Returning to FIG. 2, after step S1, the
図4は、制御部3による静的解析結果の一例を示す図である。図4の静的解析結果によると、プログラム8の第1部位は、関数規模が大きく、かつ、複雑度が大きいという特徴を有し、第2部位は、判断条件段数が多いという特徴を有する。
FIG. 4 is a diagram showing an example of a static analysis result by the
例えば、制御部3は、ソースコードのある部位の行数が閾値以上である場合、その部位の関数規模が大きいと判断し、それ以外の場合には関数規模が小さいと判断する。また、例えばプログラムのある部位が呼び出している関数およびモジュールの数が閾値以上である場合、制御部3は、その部位の複雑度が大きいと判断し、それ以外の場合には複雑度が小さいと判断する。また、ソースコードの特定の部位におけるif文等による判断条件段数が閾値以上である場合、制御部3は、その部位の判断条件段数が多いと判断し、それ以外の場合には判断条件段数が少ないと判断する。静的解析結果は、解析部31から出力されてデータ抽出部32に入力される(図1参照)。
For example, when the number of lines in a certain part of the source code is equal to or larger than the threshold value, the
図2に戻り、ステップS2の後、データ抽出部32として機能する制御部3は、図4のような静的解析結果としての部位毎の特徴をキーとして品質DB41を検索し、当該部位の特徴に対応する欠陥、当該欠陥の検出率、当該欠陥を検出するための試験ケース、および、試験を行うために必要な工数(人日)の情報を、品質DB41から抽出して取得する(S3)。
Returning to FIG. 2, after step S2, the
図5は、品質DB41の一例を示す図である。品質DB41には、プログラムの特徴と、その特徴に対応する欠陥、当該欠陥の検出率、当該欠陥を検出するための試験ケース、および、試験を行うために必要な工数(人日)の情報等の対応情報と、が格納されている。
FIG. 5 is a diagram showing an example of the
品質DB41は、例えば過去のプロジェクトにおいて作成されたプログラムに対して実行された試験の結果を集計したものである。例えば、図5の表の1行目は、過去のプロジェクトにおいて作成された関数規模が大きいプログラムには、類型的にコードクローンの欠陥が発生しやすく、その検出率が0.3件/kLであったということを示している。また、図5の表の1行目は、欠陥を検出するために用いられた試験ケースがT1であり、試験に必要な工数が3人日であったことも示している。品質DB41に格納される検出率および必要工数は、例えば過去の試験結果の最大値または平均値である。
The
品質DB41に格納される情報は、過去の開発において取得されたものに限定されない。例えば、品質DB41に格納される対応情報は、当該プログラム8に対する試験を行うことによって検出された情報を含んでもよい。これにより、当該プログラム8がどのような欠陥を含みやすいかを知ることができるため、より効率的に優先順位を決定することができる。例えば、定期的に(例えば毎朝)品質DB41に試験結果を反映させることにより、定期的に試験の優先順位を変更し、時期に即した試験を行うことができる。
The information stored in the
また、例えば、品質DB41に格納される対応情報は、理論や経験則等に基づいてプログラム開発者等によって作成されてもよい。
Further, for example, the correspondence information stored in the
図1を参照すると、データ抽出部32は、ステップS3において抽出した情報を、優先順位決定部33に対して出力する。データ抽出部32から優先順位決定部33に入力される情報は、図4に示した静的解析結果と、これに対応する図5の品質DB41内の情報とを組み合わせた、図6のような情報である。
Referring to FIG. 1, the
また、優先順位決定部33には、情報入力部2を介して、重要度情報9(図1および図3参照)も入力される。
In addition, importance level information 9 (see FIGS. 1 and 3) is also input to the priority
図2に戻り、優先順位決定部33は、入力された情報に基づいて、試験の優先順位を決定する(S4)。具体的には、優先順位決定部33は、試験対象部位および試験ケースにつき、実行する優先順位を決定する。
Returning to FIG. 2, the priority
例えば、優先順位決定部33は、試験対象部位および試験ケースに対して優先度を付し、優先度の高いものほど高い優先順位を付ける。優先度は、例えば重要度M(図3参照)、検出率(図6参照)、重要度Mと検出率との積、またはこれらの組合せである。あるいは、優先順位決定部33は、必要工数が少ない試験の優先度を高くしてもよい。
For example, the priority
図7は、重要度Mと検出率との積を優先度とした場合における優先順位を示す図である。図7は、優先度が最も大きな第2部位の判断組合せ誤りについての試験(例えば試験ケースT4による試験)の優先順位が1番となることを示している。 FIG. 7 is a diagram showing priorities when the product of the importance M and the detection rate is the priority. FIG. 7 shows that the priority of the test (for example, the test by the test case T4) for the judgment combination error of the second part having the highest priority is first.
制御部3は、決定した優先順位を出力部5を介して出力してもよい。例えば、制御部3は、決定した優先順位を液晶ディスプレイに表示させ、ユーザに優先順位を知らせる。
The
以上のように、本実施の形態に係る試験優先順位決定装置100は、プログラム8を読み込み、プログラム8の特徴を解析する解析部31と、解析部31の解析結果に応じて、プログラム8に対して行う試験の優先順位を決定する優先順位決定部33とを備える。
As described above, the test priority
これにより、プログラム8の特徴に応じて試験の優先順位を決定することができ、効率的に試験を行うことが可能になる。
As a result, the priority order of the tests can be determined according to the characteristics of the
試験優先順位決定装置100は、プログラムの特徴と、これに対応するプログラムの品質に関する品質情報と、を対応付けた品質データベース41を更に備えてもよい。この場合、優先順位決定部33は、品質データベース41から、解析結果に対応するプログラムの品質情報を抽出する。この場合、優先順位決定部33が解析結果に応じてプログラムに対して行う試験の優先順位を決定する処理は、解析結果に対応するプログラムの品質情報に基づいて試験の優先順位を決定する処理であってもよい。
The test priority
これにより、プログラム8の特徴に応じて、品質データベース41から対応する品質情報を抽出し、品質情報に基づいて試験の優先順位を決定することができ、プログラム8の特徴に即した試験を行うことが可能になる。したがって、より効率的に試験を行うことが可能になる。
As a result, corresponding quality information can be extracted from the
品質情報は、対応する特徴を有するプログラムについての不具合の検出率を含んでもよい。また、品質情報は、過去に開発されたプログラムに対して実行された試験の結果を含んでもよい。 The quality information may include a defect detection rate for a program having a corresponding characteristic. The quality information may also include the results of tests performed on programs developed in the past.
これにより、検出率や過去に開発されたプログラムに対して実行された試験の結果を反映させ、プログラム8の特徴に即した試験の優先順位を決定することができる。したがって、より効率的に試験を行うことが可能になる。
As a result, it is possible to reflect the detection rate and the result of the test executed for the program developed in the past, and determine the priority order of the test according to the characteristics of the
(変形例1)
以下、実施の形態1の変形例1について説明する。上記の実施の形態1では、解析部31として機能する制御部3(図1参照)は、プログラム8に対して静的解析を実行するものであった。しかしながら、プログラム8の解析は静的解析に限られない。例えば、解析部31として機能する制御部3は、プログラム8に対して動的解析を実行するものであってもよい。
(Modification 1)
Hereinafter, the first modification of the first embodiment will be described. In the above-described first embodiment, the control unit 3 (see FIG. 1) functioning as the
動的解析とは、プログラムを実行してプログラムを解析する技術である。動的解析では、静的解析で得られる複雑度、プログラム単位当たりの規模等の構造に加えて、プログラムの部位同士の関連性、および、プログラム中で用いられるデータのふるまい等をも解析することができる。動的解析により、プログラムを動作させて初めてわかる欠陥に至るリスクを検出することができる。 Dynamic analysis is a technique of executing a program and analyzing the program. In dynamic analysis, in addition to the structure obtained by static analysis such as complexity and scale per program unit, it is also necessary to analyze the relationship between program parts and the behavior of data used in the program. You can With dynamic analysis, it is possible to detect the risk of defects that cannot be recognized until the program is run.
図8は、実施の形態1の変形例1に係る制御部3による動的解析結果の一例を示す図である。図8の動的解析結果によると、プログラム8の第1部位は、メモリリークを生じ、かつ、パラメータ範囲を逸脱するという特徴を有し、第2部位は、到達しないソースを有するという特徴を有する。
FIG. 8 is a diagram showing an example of a dynamic analysis result by the
実施の形態1の変形例1では、品質DB41の対応情報も、動的解析により解析できるプログラムの特徴に対応するものとなる。図9は、実施の形態1の変形例1に係る品質DB41の一例を示す図である。図9の表の1行目は、過去のプロジェクトにおいて作成されたメモリリークを生じるプログラムには、類型的に制御構造が誤っているという欠陥が発生しやすく、その検出率が0.3件/kLであったということを示している。また、図9の表の1行目は、欠陥を検出するために用いられた試験ケースがT7であり、試験に必要な工数が3人日であったことも示している。
In the first modification of the first embodiment, the correspondence information in the
データ抽出部32は、品質DB41から抽出した情報を、優先順位決定部33に対して出力する。データ抽出部32から優先順位決定部33に入力される情報は、動的解析結果と、これに対応する品質DB41内の情報とを組み合わせた情報である。
The
また、優先順位決定部33には、情報入力部2を介して、重要度情報9(図1および図3参照)も入力される。
In addition, importance level information 9 (see FIGS. 1 and 3) is also input to the priority
優先順位決定部33は、入力された情報に基づいて、試験の優先順位を決定する。具体的には、優先順位決定部33は、試験対象部位および試験ケースにつき、実行する優先順位を決定する。
The priority
このように、実施の形態1の変形例1では、動的解析を実行し、動的解析によって得られる特徴に応じて試験の優先順位を決定する。これにより、プログラム8の特徴に即した試験の優先順位を決定することができる。したがって、より効率的に試験を行うことが可能になる。
As described above, in the first modification of the first embodiment, the dynamic analysis is executed, and the priority order of the tests is determined according to the characteristics obtained by the dynamic analysis. As a result, it is possible to determine the priority order of the tests according to the characteristics of the
なお、実施の形態1と、実施の形態1の変形例1とは組み合わせられてもよい。すなわち、解析部31は、静的解析および動的解析のうちの少なくとも1つを実行することができ、例えば両方を実行してもよい。
The first embodiment and the first modification of the first embodiment may be combined. That is, the
(変形例2)
図10は、実施の形態1の変形例2に係る試験優先順位決定装置120の構成を示す図である。試験優先順位決定装置120の記憶部4には、第1品質DB41aと第2品質DB41bとが格納されている。実施の形態1と異なり、プロジェクトの分野、困難度およびリソース等に応じて、第1品質DB41aと第2品質DB41bとを切り換えて使用してもよい。
(Modification 2)
FIG. 10 is a diagram showing the configuration of the test priority
図11は、第1品質DB41aを示す図である。図12は、第2品質DB41bを示す図である。第1品質DB41aは、過去の一の分野のプロジェクトにおいて作成されたプログラムに対して実行された試験の結果を集計したものである。第2品質DB41bは、過去の他の分野のプロジェクトにおいて作成されたプログラムに対して実行された試験の結果を集計したものである。
FIG. 11 is a diagram showing the
例えば、試験優先順位決定装置120では、現プロジェクトが分野において当該一の分野のプロジェクトに類似している場合、第1品質DB41aが使用される。一方、現プロジェクトが分野において当該他の分野のプロジェクトに類似している場合、第2品質DB41bが使用される。
For example, in the test priority
このように、実施の形態1の変形例2では、現プロジェクトに類似したプロジェクトのデータを用いることによって、プロジェクトに即した判断材料が採用され、より効率的に優先順位を決定することができる。 As described above, in the second modification of the first embodiment, by using the data of the project similar to the current project, the judgment material suitable for the project is adopted, and the priority order can be more efficiently determined.
(実施の形態2)
プログラム開発を含むプロジェクトでは、いかなるプログラム試験でも実行可能とは限らない。例えば、試験の実行において、リソースは無制限ではなく、一定の制約がある。リソースに制約があるとは、例えば作業者の数、作業場所の面積、作業場所を利用できる時間、コストおよび資源等に上限があることを意味する。本発明の実施の形態2では、これらの制約をも考慮して試験の優先順位を決定する試験優先順位決定装置が提供される。
(Embodiment 2)
In a project involving program development, not all program tests are feasible. For example, in the execution of a test, resources are not unlimited but there are certain restrictions. The resource constraint means that, for example, there is an upper limit on the number of workers, the area of the work place, the time when the work place can be used, the cost, the resource, and the like. In the second embodiment of the present invention, there is provided a test priority order determination device which determines a test priority order in consideration of these constraints.
図13は、実施の形態2に係る試験優先順位決定装置200の構成を示す図である。実施の形態1と比較すると、試験優先順位決定装置200の情報入力部202には、重要度情報9の他、制約情報210が入力される。
FIG. 13 is a diagram showing the configuration of the test priority
制約情報210は、プログラム開発の条件を示す条件情報であり、例えば利用可能な作業者の数または工数、試験装置の数、作業場所の面積、および、作業場所を利用できる時間等を含む。制約情報210は、優先して試験すべき部位の情報を含んでもよい。
The
制約情報210は、重要度情報9とともに、情報入力部202を介して制御部3の優先順位決定部233に入力される。優先順位決定部233は、入力された情報に基づいて、試験の優先順位を決定する。
The
例えば、重要度Mと検出率が同一の2つの試験AおよびBがあり、一方の試験Aを行うために必要な作業者数がN1であり、他方の試験Bを行うために必要な作業者数がN2(>N1)であったとする。そして、当該プロジェクトにおいて作業可能な作業者の数がN3であり、N1<N3<N2の関係が成り立つものとする。この場合、当該プロジェクトでは、作業者数が不足するため試験Bを行うことはできない。このような場合、優先順位決定部233は、試験Bの優先順位を下げる。あるいは、試験Aの優先順位を上げる。
For example, there are two tests A and B having the same importance M and the detection rate, the number of workers required to perform one test A is N1, and the number of workers required to perform the other test B is It is assumed that the number is N2 (>N1). The number of workers who can work in the project is N3, and the relationship of N1<N3<N2 is established. In this case, test B cannot be performed in the project because the number of workers is insufficient. In such a case, the priority
このように、本実施の形態に係る試験優先順位決定装置200は、制約情報210に基づいて試験の優先順位を決定する。これにより、リソースに応じた実効的な優先順位決定を行うことができ、効率的に優先順位を決定することができる。
As described above, the test priority
(実施の形態3)
図14は、本発明の実施の形態3に係る試験優先順位決定装置300の構成を示す図である。実施の形態3では、記憶部4には過去の試験結果データを学習することにより構築された学習モデル342が格納されている。実施の形態3では、優先順位決定部333は、入力された情報を学習モデル342に当てはめ、それによって得られた結果に基づいて優先順位を決定する。
(Embodiment 3)
FIG. 14 is a diagram showing the configuration of the test priority
学習モデル342は、学習装置350によって生成される。図15は、本実施の形態に係る学習装置350を示す図である。学習装置350は、過去のプロジェクトにおいて作成されたプログラムに対して実行された試験の結果を格納した試験結果情報360に基づいて、機械学習を行う。
The
学習装置350は、学習部351と、記憶部352とを備える。学習部351は、制御部3と同様の処理装置であり、プログラムを実行することにより学習機能を実現するCPU、MPUのような汎用プロセッサを含む。記憶部352は、記録媒体であり、例えば学習部351によって生成された学習モデル342を記憶する。記憶部352は、例えば、フラッシュメモリ、SSDなどの半導体メモリ装置、ハードディスク等の磁気記憶装置、その他の記憶デバイス単独でまたはそれらを適宜組み合わせて実現される。記憶部352は、種々の情報を一時的に記憶する高速動作可能なSRAM、DRAMなどの揮発性メモリを含んでもよい。
The
学習部351は、試験結果情報360と、各試験結果に対してプログラム開発者等によって付された優先度情報370と、に基づいて機械学習を行う。図16は、試験結果情報360の一例を示す図である。
The
図16に示すように、試験結果情報360は、過去のプロジェクトにおいて作成されたプログラムを識別するP1、P2およびP3等の情報を含む。試験結果情報360は、各プログラムの各部位についての「重要度」、「特徴」、「試験ケース」、「欠陥」、「検出率」および「必要工数」の情報を含む。
As shown in FIG. 16, the test result
試験結果情報360の「重要度」の欄には、過去のプロジェクトにおいてプログラム開発者等によって付された当該部位の重要度が示されている。その部位の重要性が高いほど、大きな値の重要度が付される。
The “importance” column of the test result
試験結果情報360の「特徴」の欄には、過去のプロジェクトにおいて静的解析や動的解析等のプログラム解析を実行した結果が示されている。
The “feature” column of the test result
試験結果情報360の「試験ケース」の欄には、過去のプロジェクトにおいて当該部位の試験のために使用された試験ケースが示されている。試験結果情報360の「欠陥」の欄には、過去のプロジェクトにおける当該部位の試験によって検出された欠陥が示され、「検出率」の欄には、その欠陥の検出率が示されている。
The “test case” column of the test result
試験結果情報360の「工数」の欄には、過去のプロジェクトにおける当該部位の試験に要した工数が示されている。
The “man-hours” column of the test result
図17は、優先度情報370の一例を示す図である。各プログラムの各部位に、優先度が付されている。優先度は、例えば0以上1以下の値である。優先度は、例えば試験結果情報360を考慮して現プロジェクトのプログラム開発者等によって入力される。あるいは、優先度は、過去の各プロジェクトのプログラム開発者等によって付されたものであってもよい。また、優先度は、試験結果情報360の中に含まれてもよい。
FIG. 17 is a diagram showing an example of the
学習部351は、試験結果情報360中の各情報に基づいて、優先度情報370を教師データとして教師あり学習を行い、学習モデル342を構築する。学習モデル342は、プログラムの特徴および重要度から優先度を予測できる学習モデルであればどのようなものであってもよい。例えば、学習モデル342は、ニューラルネットワーク、決定木学習およびサポートベクターマシン等によって学習を行うことによって生成される学習モデルである。
The
図14に戻り、試験優先順位決定装置300の記憶部4には、上記のようにして学習装置350によって生成された学習モデル342が格納される。優先順位決定部333として機能する制御部3は、情報入力部2を介して入力される重要度情報9と、解析部31から入力されるプログラム8の解析結果とに基づいて、学習モデル342を用いた優先度の決定を行う。例えば、学習モデル342としてニューラルネットワークを用いる場合、制御部3は、重要度情報9と、プログラム8の解析結果とをニューラルネットワークに入力し、これによりニューラルネットワークから出力される優先度を取得する。
Returning to FIG. 14, the
優先順位決定部333として機能する制御部3は、学習モデル342から各部位に対する試験の優先度を取得すると、優先度が大きい順に高い優先順位を付与する。このようにして決定された優先順位が出力部5に送信される。
When the
以上のように、本実施の形態に係る試験優先順位決定装置300は、過去に開発されたプログラムの特徴と、過去に開発されたプログラムに対して実行された試験の結果と、を対応付けた試験結果情報360に基づいて、過去に開発されたプログラムに付された優先度情報370を教師データとする教師あり学習によって構築された学習モデル342を記憶する記憶部4を更に備える。この場合、優先順位決定部333が解析結果に応じてプログラム8に対して行う試験の優先順位を決定する処理は、学習モデル342を用いて、解析結果から優先順位を決定する処理である。
As described above, the test priority
この構成により、プログラム8の特徴に応じて試験の優先順位を決定することができ、効率的に試験を行うことが可能になる。
With this configuration, the priority of the test can be determined according to the characteristics of the
(変形例)
実施の形態3では、学習装置350によって生成された学習モデル342を、学習装置350とは別の装置である試験優先順位決定装置300が利用する例について説明した。しかしながら、本発明はこれに限定されず、例えば試験優先順位決定装置300の制御部3が学習機能を有し、試験優先順位決定装置300に入力された試験結果情報360中の各情報に基づいて、優先度情報370を教師データとして教師あり学習を行い、学習モデル342を構築してもよい。
(Modification)
In the third embodiment, the example in which the
すなわち、本実施の形態の変形例に係る試験優先順位決定装置は、試験結果情報360に基づいて、過去に開発されたプログラムに付された優先度情報370を教師データとする教師あり学習によって学習モデル342を構築する学習部351を更に備える。この例では、試験優先順位決定装置300は、機械学習を行って学習モデルを構築する機能と、構築した学習モデルを使用する機能とを含む。
That is, the test priority order determination apparatus according to the modification of the present embodiment learns by supervised learning using the
1 プログラム入力部、2 情報入力部、3 制御部、4 記憶部、5 出力部、8 プログラム、9 重要度情報、31 解析部、32 データ抽出部、33 優先順位決定部、41 品質データベース、100 試験優先順位決定装置、342 学習モデル、350 学習装置、351 学習部、360 試験結果情報、370 優先度情報。 1 program input unit, 2 information input unit, 3 control unit, 4 storage unit, 5 output unit, 8 program, 9 importance information, 31 analysis unit, 32 data extraction unit, 33 priority order determination unit, 41 quality database, 100 Test priority determination device, 342 learning model, 350 learning device, 351 learning unit, 360 test result information, 370 priority information.
Claims (10)
前記プログラムを読み込み、前記プログラムの特徴を解析する解析部と、
前記解析部の解析結果に応じて、前記プログラムに対して行う試験の優先順位を決定する優先順位決定部とを備える、
試験優先順位決定装置。 A test priority determination device for determining the priority of tests to be performed on a program,
An analysis unit that reads the program and analyzes the characteristics of the program,
A priority order determination unit that determines the priority order of the tests to be performed on the program according to the analysis result of the analysis unit,
Test priority determination device.
前記優先順位決定部は、前記品質データベースから、前記解析結果に対応する前記プログラムの品質情報を抽出し、
前記優先順位決定部が前記解析結果に応じて前記プログラムに対して行う試験の優先順位を決定する処理は、前記解析結果に対応する前記プログラムの品質情報に基づいて試験の優先順位を決定する処理である、
請求項1に記載の試験優先順位決定装置。 Further comprising a quality database in which the characteristics of the program and the quality information regarding the quality of the program corresponding thereto are associated with each other,
The priority order determination unit extracts quality information of the program corresponding to the analysis result from the quality database,
The process of determining the priority of the test performed on the program by the priority determining unit according to the analysis result is a process of determining the test priority based on the quality information of the program corresponding to the analysis result. Is
The test priority order determination device according to claim 1.
請求項1〜4のいずれかに記載の試験優先順位決定装置。 The priority order determination unit, when performing the process of determining the priority order of the test, further determines the priority order of the test based on the constraint information indicating the development condition of the program,
The test priority order determination device according to claim 1.
前記優先順位決定部が前記解析結果に応じて前記プログラムに対して行う試験の優先順位を決定する処理は、前記学習モデルを用いて、前記解析結果から前記優先順位を決定する処理である、
請求項1に記載の試験優先順位決定装置。 Based on the test result information in which the characteristics of the program developed in the past and the result of the test executed on the program developed in the past are associated with each other, the program is attached to the program developed in the past. Further comprising a storage unit that stores a learning model constructed by supervised learning using priority information as teacher data,
The process of determining the priority of the test performed on the program by the priority determining unit according to the analysis result is a process of determining the priority from the analysis result using the learning model.
The test priority order determination device according to claim 1.
前記優先順位決定部は、試験の優先順位を決定する処理を行う際、更に前記試験に付された重要度を示す重要度情報に基づいて、試験の優先順位を決定する、
請求項1〜8のいずれかに記載の試験優先順位決定装置。 Further comprising an input unit for inputting importance information indicating the importance attached to the test,
The priority order determination unit, when performing the process of determining the priority order of the test, further determines the priority order of the test, based on the importance degree information indicating the importance degree given to the test,
The test priority order determination device according to claim 1.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019006046A JP2020115248A (en) | 2019-01-17 | 2019-01-17 | Test priority determination apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019006046A JP2020115248A (en) | 2019-01-17 | 2019-01-17 | Test priority determination apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020115248A true JP2020115248A (en) | 2020-07-30 |
Family
ID=71778594
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019006046A Pending JP2020115248A (en) | 2019-01-17 | 2019-01-17 | Test priority determination apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020115248A (en) |
-
2019
- 2019-01-17 JP JP2019006046A patent/JP2020115248A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8719789B2 (en) | Measuring coupling between coverage tasks and use thereof | |
US8589884B2 (en) | Method and system for identifying regression test cases for a software | |
US11835987B2 (en) | Methods and apparatus for finding long methods in code | |
US8719799B2 (en) | Measuring coupling between coverage tasks and use thereof | |
US8327325B2 (en) | Programmable framework for automatic tuning of software applications | |
US7512933B1 (en) | Method and system for associating logs and traces to test cases | |
US8762784B1 (en) | Viewing multi-dimensional metric data from multiple test cases | |
US20150378863A1 (en) | Enhancements to logging of a computer program | |
JP2018026135A (en) | System and method for cause point analysis for effective handling of static analysis alarms | |
US10528456B2 (en) | Determining idle testing periods | |
US9405659B2 (en) | Measuring the logging quality of a computer program | |
WO2017036068A1 (en) | Method and system for realizing software automatic test | |
US9552202B2 (en) | Automated and heuristically managed solution to quantify CPU and path length cost of instructions added, changed or removed by a service team | |
US20130179867A1 (en) | Program Code Analysis System | |
US20160179486A1 (en) | System and method for facilitating static analysis of software applications | |
US9910487B1 (en) | Methods, systems and computer program products for guiding users through task flow paths | |
US11169910B2 (en) | Probabilistic software testing via dynamic graphs | |
EP3618078A1 (en) | System and method for controlling quality of performance of digital applications | |
US20180232299A1 (en) | Composing future tests | |
US9842044B2 (en) | Commit sensitive tests | |
US11734159B2 (en) | Ranking test cases specific to changes in software code | |
US11119899B2 (en) | Determining potential test actions | |
JP2020115248A (en) | Test priority determination apparatus | |
JP2015011661A (en) | Influence range analysis system, influence range analysis method and influence range analysis program | |
Qu | Testing of configurable systems |