JP7296501B1 - Bug Detection Rate Threshold Updating System, Bug Detection Rate Threshold Updating Method, and Bug Detection Rate Threshold Updating Program - Google Patents

Bug Detection Rate Threshold Updating System, Bug Detection Rate Threshold Updating Method, and Bug Detection Rate Threshold Updating Program Download PDF

Info

Publication number
JP7296501B1
JP7296501B1 JP2022051389A JP2022051389A JP7296501B1 JP 7296501 B1 JP7296501 B1 JP 7296501B1 JP 2022051389 A JP2022051389 A JP 2022051389A JP 2022051389 A JP2022051389 A JP 2022051389A JP 7296501 B1 JP7296501 B1 JP 7296501B1
Authority
JP
Japan
Prior art keywords
threshold
detection rate
candidate
test
bug
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
Application number
JP2022051389A
Other languages
Japanese (ja)
Other versions
JP2023144422A (en
Inventor
千寛 工藤
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.)
Rakuten Group Inc
Original Assignee
Rakuten Group Inc
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 Rakuten Group Inc filed Critical Rakuten Group Inc
Priority to JP2022051389A priority Critical patent/JP7296501B1/en
Application granted granted Critical
Publication of JP7296501B1 publication Critical patent/JP7296501B1/en
Publication of JP2023144422A publication Critical patent/JP2023144422A/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A50/00TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE in human health protection, e.g. against extreme weather
    • Y02A50/30Against vector-borne diseases, e.g. mosquito-borne, fly-borne, tick-borne or waterborne diseases whose impact is exacerbated by climate change

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Figure 0007296501000001

【課題】ソフトウェアテストにおけるバグの検出率の閾値を適切に更新するバグ検出率閾値更新システム、方法及びプログラムを提供する。
【解決手段】バグ検出率閾値更新システムにおいて、センタサーバは、過去の第1期間中にテストの結果が得られた第1テスト対象のバグの第1検出率を取得し、取得した第1検出率に基づいて、バグの検出率の閾値の第1候補を決定し、決定した第1候補と閾値との差が所定値未満である場合、閾値を第1候補で更新する。また、閾値が第1候補で更新されなかった場合、第1期間よりも後の日を含む過去の第2期間中にテストの結果が得られた第2テスト対象のバグの第2検出率を取得し、取得した第2検出率に基づいて、閾値の第2候補を決定する。さらに、第2候補と閾値との差が所定値以上である場合、閾値を第2候補で更新する。
【選択図】図1

Figure 0007296501000001

A bug detection rate threshold updating system, method, and program are provided for appropriately updating the threshold of the detection rate of bugs in software testing.
In a bug detection rate threshold update system, a center server acquires a first detection rate of a bug of a first test object for which a test result was obtained during a first period in the past, A first candidate for the bug detection rate threshold is determined based on the rate, and if the difference between the determined first candidate and the threshold is less than a predetermined value, the threshold is updated with the first candidate. Also, if the threshold is not updated with the first candidate, the second detection rate of bugs for the second test subject for which test results were obtained during a past second period including days after the first period is A second candidate for the threshold is determined based on the obtained second detection rate. Furthermore, if the difference between the second candidate and the threshold is greater than or equal to the predetermined value, the threshold is updated with the second candidate.
[Selection drawing] Fig. 1

Description

本発明は、ソフトウェアのテストで検出されたバグの検出率を用いて、テストに関連する決定を行う方法に関する。 The present invention relates to a method for making testing-related decisions using the detection rate of bugs detected in software testing.

従来、開発されたソフトウェアの品質を確保するために、ソフトウェアのテストを実施することが知られている。例えば、テストエンジニア等が、テストの内容や手順等を示すテスト項目又はテストケースを予め作成する。テスト実施者は、作成されたテスト項目又はテストケースに従って、テストを実施する。テストの結果、ソフトウェアのバグが検出された場合、開発者はそのソフトウェアを修正して、バグを取り除く。また、ソフトウェアのテストとして、所謂追加テストが行われる場合がある。追加テストは、例えば予定されたテストの結果に基づき、必要と判断された場合に実施される追加的なテストである。例えば、テストで検出されたバグが比較的に多く、ソフトウェアの品質を押し上げる必要であると判断される場合に、追加テストが実施されることもある。バグの多さを示す情報として、バグ検出率がある。バグ検出率は、例えば、テストで検出されたバグ数を、実施されたテストの件数で除算することで計算されてもよい。このバグ検出率を、予め設定された閾値と比較することで、テストされたソフトウェアに関連して何らかの対応の必要性を判断することも知られている。 Conventionally, it is known to test software in order to ensure the quality of developed software. For example, a test engineer or the like prepares in advance test items or test cases indicating test contents, procedures, and the like. A tester executes tests according to the created test items or test cases. If testing reveals a bug in the software, the developer modifies the software to remove the bug. Also, a so-called additional test may be performed as a software test. Additional tests are additional tests that are performed when deemed necessary, for example, based on the results of scheduled tests. Additional testing may be performed, for example, if the number of bugs detected in testing is relatively high and it is determined that the quality of the software needs to be boosted. As information indicating the number of bugs, there is a bug detection rate. A bug detection rate may be calculated, for example, by dividing the number of bugs detected in a test by the number of tests performed. It is also known to compare this bug detection rate to a preset threshold to determine the need for any action in relation to the tested software.

例えば、特許文献1には、システムに発生するバグの収束を判定するためのソフトウェア品質判定装置が開示されている。この判定装置のデータベースには、テスト観点ごとに、そのテスト観点のテストで発生したバグの検出率の基準となる特定値として、ユーザにより設定された特定値が保持される。そして、或るテスト観点のテスト実施量がテスト実施基準量に到達した後、バグ検出率が特定値以下になるまで、追加テスト実施基準量分の追加テストが繰り返し実施される。判定装置は、テストの実施が終了するたびに、その時点のバグ検出率が特定値以下であるか否かに応じて、その観点のテストのバグが収束しているか否かを判定する。 For example, Patent Literature 1 discloses a software quality determination device for determining convergence of bugs occurring in a system. In the database of this determination device, for each test viewpoint, a specific value set by the user is held as a specific value that serves as a reference for the detection rate of bugs occurring in the test from that test viewpoint. After the amount of testing from a certain testing viewpoint reaches the standard amount of testing, additional tests are repeatedly performed for the standard amount of additional testing until the bug detection rate becomes equal to or less than a specific value. Each time the test is completed, the determination device determines whether or not the bugs in the test from that viewpoint have converged according to whether or not the bug detection rate at that time is equal to or less than a specific value.

特開2019-101581号公報JP 2019-101581 A

バグの検出率が閾値以上となったことのみを理由として、必ずしも追加テストを実施すべきであると判断されるとは限らない。しかしながら、バグの検出率が閾値以上となることは、追加テストの実施の判断材料の一つとなったり、ソフトウェア開発体制又は開発環境等の見直しのきっかけになったりする場合がある。そのような判断を的確に下すためには、閾値が適切に設定されることが望ましいと考えられる。 Just because the bug detection rate exceeds the threshold does not necessarily mean that additional testing should be performed. However, the fact that the bug detection rate is equal to or higher than the threshold value may serve as one of the criteria for conducting additional tests, or may trigger a review of the software development system, development environment, or the like. In order to make such judgments accurately, it is considered desirable to set the threshold appropriately.

本発明は以上の点に鑑みてなされたものであり、その課題の一例は、ソフトウェアテストにおけるバグの検出率の閾値を適切に更新可能なバグ検出率閾値更新システム、バグ検出率閾値更新方法、及びバグ検出率閾値更新プログラムを提供することにある。 The present invention has been made in view of the above points, and an example of the problem thereof is a bug detection rate threshold updating system, a bug detection rate threshold updating method, and a bug detection rate threshold updating system capable of appropriately updating the threshold of the bug detection rate in software testing. and to provide a bug detection rate threshold update program.

上記課題を解決するために、請求項1に記載の発明は、過去の第1期間中にテストの結果が得られた第1テスト対象のバグの第1検出率を取得する取得手段と、前記取得された第1検出率に基づいて、バグの検出率の閾値の第1候補を決定する決定手段と、前記決定された第1候補と前記閾値との差が所定値未満である場合、前記閾値を前記第1候補で更新する更新手段と、を備え、前記取得手段は、前記更新手段により前記閾値が前記第1候補で更新されなかった後、前記第1期間よりも後の日を含む過去の第2期間中にテストの結果が得られた第2テスト対象のバグの第2検出率を取得し、前記決定手段は、前記取得された第2検出率に基づいて、前記閾値の第2候補を決定し、前記更新手段は、前記第2候補と前記閾値との差が前記所定値以上である場合、前記閾値を前記第2候補で更新することを特徴とする。 In order to solve the above-mentioned problems, the invention according to claim 1 provides acquisition means for acquiring a first detection rate of bugs in a first test target for which test results were obtained during a past first period; determining means for determining a first candidate for a bug detection rate threshold based on the acquired first detection rate; updating means for updating the threshold value with the first candidate, wherein the obtaining means includes days later than the first time period after the threshold value has not been updated with the first candidate by the updating means. Obtaining a second detection rate of bugs in a second test target for which test results were obtained during a past second period of time, the determining means, based on the obtained second detection rate, Two candidates are determined, and if the difference between the second candidate and the threshold is equal to or greater than the predetermined value, the updating means updates the threshold with the second candidate.

この発明によれば、閾値の第1候補と閾値との差が所定値以上であることで、閾値が第1候補で更新されなかった後、次のタイミングにおいても同様に、閾値の第2候補と閾値との差が所定値以上である場合、閾値が第2候補で更新される。第1期間中にテストの結果が得られた第1テスト対象のバグの第1検出率に基づいて決定された閾値の第1候補と閾値との間に差が生じた場合、その期間について、ソフトウェアの開発体制や開発環境に何らかの変化があった可能性がある。この変化を反映して、閾値が更新される。その一方で、変化した状態は一時的なものであり、まもなく元の状態に戻る可能性がある。或いは、開発体制や開発環境に変化があったのではなく、偶然にも閾値の第1候補と閾値との間に差が生じたのかもしれない。そこで、閾値が大きく変更される場合の影響を鑑みて、閾値の第1候補と閾値との差が所定値以上である場合には、閾値は直ちには更新されない。その後、新たな第2期間中にテストの結果が得られた第2テスト対象のバグの第2検出率に基づいて決定された閾値の第2候補と閾値との比較の結果、やはり差が大きいのであれば、変化した状態は或る程度継続されている可能性がある。そこで、閾値が第2候補で更新される。従って、ソフトウェアテストにおけるバグの検出率の閾値を適切に更新することができる。 According to this invention, after the threshold is not updated with the first candidate because the difference between the first candidate for the threshold and the threshold is equal to or greater than the predetermined value, the second candidate for the threshold is similarly applied at the next timing. and the threshold is greater than or equal to a predetermined value, the threshold is updated with the second candidate. If there is a difference between the threshold and the first candidate for the threshold determined based on the first detection rate of the bug of the first test target for which the test result was obtained during the first period, for that period: There may have been some changes in the software development system or development environment. The threshold is updated to reflect this change. On the other hand, the altered state is temporary and may soon return to its original state. Alternatively, there may have been a difference between the first candidate for the threshold and the threshold by chance, rather than a change in the development system or development environment. Therefore, considering the influence of a large change in the threshold, the threshold is not updated immediately when the difference between the first candidate threshold and the threshold is equal to or greater than a predetermined value. After that, as a result of comparison between the threshold and the second candidate for the threshold determined based on the second detection rate of bugs of the second test target for which the test result was obtained during the new second period, the difference is also large. , the changed state may continue to some extent. The threshold is then updated with the second candidate. Therefore, it is possible to appropriately update the threshold for the detection rate of bugs in software testing.

請求項2に記載の発明は、前記第1テスト対象及び前記第2テスト対象のそれぞれは、予定されたテストの結果に基づいて、追加テストの実施の要否が決定されたテスト対象のうち、前記追加テストを実施することが決定されたテスト対象であることを特徴とする。 In the invention according to claim 2, each of the first test object and the second test object is a test object for which it is determined whether or not to perform an additional test based on the results of a scheduled test, It is characterized by being a test subject for which it has been decided to perform the additional test.

この発明によれば、追加テストが実施されたテスト対象についてのバグの検出率を用いて、閾値の候補が決定される。従って、更新された閾値を用いて、所与のテスト対象の追加テストの可能性を適切に判定することができる。 According to the present invention, threshold candidates are determined using the bug detection rate for a test target on which an additional test has been performed. Accordingly, the updated thresholds can be used to better determine the likelihood of additional testing for a given test object.

請求項3に記載の発明は、前記取得手段は、前記第1検出率及び前記第2検出率のそれぞれとして、前記予定されたテストで検出されたバグの検出率を取得することを特徴とする。 The invention according to claim 3 is characterized in that the acquisition means acquires detection rates of bugs detected in the scheduled test as the first detection rate and the second detection rate, respectively. .

この発明によれば、追加テストが実施されたテスト対象について、予定されたテストで検出されたバグの検出率を用いて、閾値の候補が決定される。追加テストの実施の要否の決定に影響する可能性があるバグの検出率を用いることで、閾値の候補を適切に決定することができる。 According to the present invention, threshold candidates are determined using the detection rate of bugs detected in scheduled tests for test targets on which additional tests have been performed. By using the bug detection rate, which may affect the decision of whether or not to perform additional testing, it is possible to appropriately determine threshold candidates.

請求項4に記載の発明は、前記更新手段は、前記第2候補と前記閾値との差が前記所定値以上であり、且つ、前記第1候補と前記閾値との差が前記所定値以上であるときにおいては、前記第2候補と前記閾値との間の大小関係と、前記第1候補と前記閾値との間の大小関係と、が一致する場合、前記閾値を前記第2候補で更新することを特徴とする。 According to a fourth aspect of the present invention, the update means determines that the difference between the second candidate and the threshold is equal to or greater than the predetermined value and the difference between the first candidate and the threshold is equal to or greater than the predetermined value. In some cases, when the magnitude relationship between the second candidate and the threshold matches the magnitude relationship between the first candidate and the threshold, the threshold is updated with the second candidate. It is characterized by

この発明によれば、閾値の第2候補と閾値との間の大小関係と、閾値の第1候補と閾値との間の大小関係と、が一致する場合、閾値が第2候補で更新される。従って、変化した状態が継続している可能性を適切に閾値に反映することができる。 According to this invention, when the magnitude relationship between the second threshold candidate and the threshold matches the magnitude relationship between the first threshold candidate and the threshold, the threshold is updated with the second candidate. . Therefore, the possibility that the changed state continues can be appropriately reflected in the threshold value.

請求項5に記載の発明は、前記決定手段は、前記第1候補及び前記第2候補それぞれとして、前記バグの検出率の代表値を計算することを特徴とする。 The invention according to claim 5 is characterized in that the determining means calculates a representative value of the bug detection rate for each of the first candidate and the second candidate.

請求項6に記載の発明は、前記代表値は、平均値及び中央値のうち何れか一方であることを特徴とする。 The invention according to claim 6 is characterized in that the representative value is either one of an average value and a median value.

請求項7に記載の発明は、テスト中である所与のテスト対象の前記テストで検出されたバグの検出率が前記閾値以上である場合、前記所与のテスト対象について追加テストを実施する可能性が、前記バグの検出率が前記閾値未満である場合よりも高いことを示す可能性情報を出力する出力手段を更に備えることを特徴とする。 In the invention according to claim 7, when the detection rate of bugs detected in the test of a given test target under test is equal to or higher than the threshold, an additional test can be performed on the given test target. outputting means for outputting possibility information indicating that the likelihood of the error is higher than the case where the detection rate of the bug is less than the threshold.

この発明によれば、可能性情報が出力されることで、追加テストの実施を回避するために開発体制や開発環境の見直しを行うきっかけを開発者に与えることができる。 According to this invention, by outputting the possibility information, it is possible to give the developer an opportunity to review the development system and development environment in order to avoid the execution of additional tests.

請求項8に記載の発明は、コンピュータにより実行されるバグ検出率閾値更新方法において、過去の第1期間中にテストの結果が得られた第1テスト対象のバグの第1検出率を取得する第1取得ステップと、前記取得された第1検出率に基づいて、バグの検出率の閾値の第1候補を決定する第1決定ステップと、前記決定された第1候補と前記閾値との差が所定値未満である場合、前記閾値を前記第1候補で更新する第1更新ステップと、前記更新ステップにより前記閾値が前記第1候補で更新されなかった後、前記第1期間よりも後の日を含む過去の第2期間中にテストの結果が得られた第2テスト対象のバグの第2検出率を取得する第2取得ステップと、前記取得された第2検出率に基づいて、前記閾値の第2候補を決定する第2決定ステップと、前記第2候補と前記閾値との差が前記所定値以上である場合、前記閾値を前記第2候補で更新する第2更新ステップと、を含むことを特徴とする。 According to an eighth aspect of the present invention, there is provided a computer-implemented bug detection rate threshold updating method, in which a first detection rate of a bug of a first test object for which a test result was obtained during a first period in the past is obtained. a first acquisition step; a first determination step of determining a first candidate for a bug detection rate threshold based on the acquired first detection rate; and a difference between the determined first candidate and the threshold. is less than a predetermined value, a first updating step of updating the threshold with the first candidate, and after the threshold is not updated with the first candidate by the updating step, after the first period of time a second acquiring step of acquiring a second detection rate of bugs of a second test target for which test results were obtained during a past second period including days; and based on the acquired second detection rate, the a second determining step of determining a second candidate for a threshold; and a second updating step of updating the threshold with the second candidate if a difference between the second candidate and the threshold is equal to or greater than the predetermined value. characterized by comprising

請求項9に記載の発明は、コンピュータを、過去の第1期間中にテストの結果が得られた第1テスト対象のバグの第1検出率を取得する取得手段と、前記取得された第1検出率に基づいて、バグの検出率の閾値の第1候補を決定する決定手段と、前記決定された第1候補と前記閾値との差が所定値未満である場合、前記閾値を前記第1候補で更新する更新手段、として機能させ、前記取得手段は、前記更新手段により前記閾値が前記第1候補で更新されなかった後、前記第1期間よりも後の日を含む過去の第2期間中にテストの結果が得られた第2テスト対象のバグの第2検出率を取得し、前記決定手段は、前記取得された第2検出率に基づいて、前記閾値の第2候補を決定し、前記更新手段は、前記第2候補と前記閾値との差が前記所定値以上である場合、前記閾値を前記第2候補で更新することを特徴とする。 According to a ninth aspect of the present invention, a computer comprises: acquisition means for acquiring a first bug detection rate of a first test target for which a test result was obtained during a past first period; determining means for determining a first candidate for a bug detection rate threshold based on the detection rate; and determining the threshold if the difference between the determined first candidate and the threshold is less than a predetermined value. updating means for updating with a candidate, and the acquiring means retrieves a past second period including days later than the first period after the threshold is not updated with the first candidate by the updating means. Obtaining a second detection rate of the bug of the second test target for which the test result was obtained during the test, the determining means determines a second candidate for the threshold based on the obtained second detection rate. The updating means updates the threshold with the second candidate when the difference between the second candidate and the threshold is equal to or greater than the predetermined value.

本発明によれば、ソフトウェアテストにおけるバグの検出率の閾値を適切に更新することができる。 According to the present invention, it is possible to appropriately update the threshold of the detection rate of bugs in software testing.

一実施形態に係るテスト管理システムSの概要構成の一例を示す図である。1 is a diagram showing an example of a schematic configuration of a test management system S according to an embodiment; FIG. 一実施形態に係るセンターサーバ1の概要構成の一例を示すブロック図である。It is a block diagram showing an example of a schematic structure of center server 1 concerning one embodiment. データベースに記憶される情報の例を示す図である。FIG. 4 is a diagram showing an example of information stored in a database; FIG. 一実施形態に係るセンターサーバ1におけるシステム制御部11の機能ブロックの一例を示す図である。3 is a diagram showing an example of functional blocks of a system control unit 11 in the center server 1 according to one embodiment; FIG. 閾値の更新例を示す図である。It is a figure which shows the update example of a threshold value. 閾値の更新例を示す図である。It is a figure which shows the update example of a threshold value. バグ検出率の分布の一例を示すグラフである。4 is a graph showing an example of bug detection rate distribution; 一実施形態に係るセンターサーバ1のシステム制御部11による閾値更新制御処理の一例を示すフローチャートである。4 is a flowchart showing an example of threshold update control processing by the system control unit 11 of the center server 1 according to one embodiment;

以下、図面を参照して本発明の実施形態について詳細に説明する。実施形態においては、開発されるソフトウェアのテストが、テスト対象単位で行われる。テスト対象は、特定の一又は複数のソフトウェアであってもよい。例えば、テスト対象は、特定のソフトウェア開発プロジェクトで開発されるソフトウェアであってもよい。以降、ソフトウェア開発プロジェクトを、単に「プロジェクト」と称する。或いは、テスト対象は、開発されるソフトウェアによって実現される機能又はサービス等であってもよい。或いは、テスト対象は、モジュール、関数、オブジェクト、ルーチン、スクリプト又はライブラリ等であってもよい。テスト対象単位でテストを行うとは、対象となるソフトウェアに対して複数のテストを実施して、それらのテストの結果が集計されることを意味してもよい。 BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In an embodiment, testing of developed software is performed on a test target basis. A test target may be one or more specific pieces of software. For example, a test object may be software developed in a particular software development project. Hereinafter, software development projects are simply referred to as "projects". Alternatively, the test target may be a function, service, or the like implemented by the software being developed. Alternatively, the test target may be a module, function, object, routine, script, library, or the like. Testing on a test target basis may mean that a plurality of tests are performed on target software and the results of those tests are aggregated.

ソフトウェアのテストとして、予定されたテストと、追加テストとがあってもよい。予定されたテストは、ソフトウェアの開発スケジュールに当初から組み込まれていたテストであってもよい。以降、予定されたテストを、「本テスト」と称する。追加テストは、開発スケジュールに当初は組み込まれていなかったテストであってもよい。また、追加テストは、ソフトウェアの開発の参加者の誰か(例えば責任者等)が、本テストの結果に基づいて、実施するか否を決定するテストであってもよい。追加テストが実施される場合、ソフトウェアの完成が予定よりも遅延することがあってもよい。追加テストは、本テストで実施されたテストのうち、バグが検出されたテストの再実施であってもよい。すなわち、追加テストは再テストであってもよい。或いは、追加テストは、本テストの観点、項目又はケースとは異なる観点、項目又はケースで実施されるテストであってもよい。追加テストを実施した結果、更なる追加テストが実施されてもよい。 Software testing may include scheduled testing and additional testing. A scheduled test may be a test that was originally built into the software's development schedule. Hereinafter, the scheduled test will be referred to as the "main test". Additional tests may be tests that were not originally included in the development schedule. Further, the additional test may be a test for which a participant in software development (for example, a person in charge, etc.) decides whether or not to implement the test based on the results of the main test. Completion of the software may be delayed beyond schedule if additional testing is performed. The additional test may be a re-execution of the test in which the bug was detected among the tests executed in the main test. That is, the additional test may be a retest. Alternatively, the additional test may be a test performed on a different point of view, item or case from the point of view, item or case of the main test. Further additional tests may be performed as a result of performing the additional tests.

追加テストの実施の可能性又は必要性に影響し得る要素の一つとして、バグ検出率がある。バグ検出率は、テストで検出されたバグの数を、実施されたテストの件数で除算することで、計算されてもよい。テストの件数は、例えばテスト項目数であってもよいし、テストケース数であってもよい。一のテストケースで、一又は複数のテスト項目が確認されてもよい。バグ検出率は、テスト対象ごとに計算されてもよい。例えば、プロジェクトごとにバグ検出率が計算されてもよい。一般的に、バグ検出率が高いほど、追加テストの実施の可能性は高くなってもよい。 One factor that can affect the likelihood or need for additional testing is the bug detection rate. A bug detection rate may be calculated by dividing the number of bugs detected in a test by the number of tests performed. The number of tests may be, for example, the number of test items or the number of test cases. One test case may check one or more test items. A bug detection rate may be calculated for each test object. For example, a bug detection rate may be calculated for each project. In general, the higher the bug detection rate, the more likely additional testing may be performed.

以下においては、テスト対象として、複数のプロジェクトそれぞれで開発されるソフトウェアのテストを管理するためのシステムに対して、本発明が適用された場合について説明する。 In the following, a case will be described where the present invention is applied to a system for managing testing of software developed in each of a plurality of projects as test objects.

[1.テスト管理システムの構成]
先ず、本実施形態に係るテスト管理システムSの構成及び機能概要について、図1を用いて説明する。図1は、本実施形態に係るテスト管理システムSの概要構成の一例を示す図である。
[1. Configuration of test management system]
First, the configuration and functional overview of the test management system S according to this embodiment will be described with reference to FIG. FIG. 1 is a diagram showing an example of a schematic configuration of a test management system S according to this embodiment.

図1に示すように、テスト管理システムSは、センターサーバ1と、複数の開発端末2と、を含んで構成される。センターサーバ1と各開発端末2とは、ネットワークNWを介して互いに接続される。ネットワークNWの例として、インターネット、LAN(Local Area Network)、VPN(Virtual Private Network)等が挙げられる。 As shown in FIG. 1, the test management system S includes a center server 1 and multiple development terminals 2 . The center server 1 and each development terminal 2 are connected to each other via a network NW. Examples of the network NW include the Internet, LAN (Local Area Network), VPN (Virtual Private Network), and the like.

センターサーバ1は、ソフトウェアのテストを管理するためのサーバ装置である。センターサーバ1は、実際には複数のサーバ装置で構成されるサーバシステムであってもよい。センターサーバ1は、例えばプロジェクトごとに、テストの実施状況やテストの結果を示す情報を記憶してもよい。テストの結果は、本テスト又は追加テストにおける全テストが終了した後の最終的な結果であってもよい。テストの実施状況は、テストの途中結果を含んでもよい。センターサーバ1は、更に各プロジェクトの進捗状況を管理してもよい。例えば、センターサーバ1は、各プロジェクトについて、そのプロジェクトが現在何れの段階にあるかを管理してもよい。センターサーバ1は、プロジェクトの参加者により開発端末2に入力された情報に基づいて、テスト実施状況、テスト結果、プロジェクト進捗状況を更新してもよい。センターサーバ1は、センターサーバ1が記憶しているテストに関する情報を、開発端末2からの要求に応じて送信する。 The center server 1 is a server device for managing software testing. The center server 1 may actually be a server system composed of a plurality of server devices. The center server 1 may store, for example, information indicating the test implementation status and test results for each project. The result of the test may be the final result after all the tests in the main test or the additional test are completed. The execution status of the test may include an interim result of the test. The center server 1 may also manage the progress of each project. For example, the center server 1 may manage which stage each project is currently in. The center server 1 may update the test implementation status, test results, and project progress status based on information input to the development terminal 2 by project participants. The center server 1 transmits information related to tests stored in the center server 1 in response to a request from the development terminal 2 .

センターサーバ1は、テストの途中結果又は最終結果の一つとして、バグ検出率を計算する。そして、センターサーバ1は、本テストにおけるバグ検出率に基づいて、そのバグ検出率に関連付けられたプロジェクトについて、追加テストの実施の可能性を示すリスク情報を、開発端末2へ提供してもよい。リスク情報は、そのプロジェクトのリスクを示す情報であるということができる。具体的に、センターサーバ1は、バグ検出率が、予め設定された閾値未満である場合、追加テストの可能性が比較的に低いことを示すリスク情報を提供してもよい。その一方で、センターサーバ1は、バグ検出率が閾値以上である場合、追加テストの可能性が比較的に高いことを示すリスク情報を提供してもよい。本テストの途中結果としてリスク情報が提供される場合、プロジェクトの責任者等は、そのリスク情報を参考にして、ソフトウェアの開発体制や開発環境の見直しを行ってもよい。開発体制の見直しの例として、プロジェクトに参加するメンバー、グループ若しくは企業の見直し、プロジェクトの参加者に対する指導若しくは教育、ソフトウェア開発に適用されるルールの見直し等を含んでもよい。開発環境の見直しは、ソフトウェアの開発に用いられる装置やシステムの見直し、開発が行われる場所の見直し等を含んでもよい。こうした見直しによって、そのプロジェクトは、追加テストを実施しなくても、開発されるソフトウェアの品質を一定品質以上に保つことを目指すことになる。一般的には、バグ検出率が閾値以上である場合、バグ検出率が閾値未満である場合よりも、前述の見直しの必要性が明確に高いと考えられる。 The center server 1 calculates the bug detection rate as one of the interim results or final results of the test. Then, based on the bug detection rate in the main test, the center server 1 may provide the development terminal 2 with risk information indicating the possibility of conducting an additional test for the project associated with the bug detection rate. . Risk information can be said to be information indicating the risk of the project. Specifically, when the bug detection rate is less than a preset threshold, the center server 1 may provide risk information indicating that the possibility of additional testing is relatively low. On the other hand, when the bug detection rate is equal to or higher than the threshold, the center server 1 may provide risk information indicating that the possibility of additional testing is relatively high. If risk information is provided as an interim result of this test, the person in charge of the project may refer to the risk information and review the software development system and development environment. Examples of reviewing the development system may include reviewing members, groups, or companies participating in the project, guidance or education for project participants, review of rules applied to software development, and the like. A review of the development environment may include a review of the devices and systems used for software development, a review of the place where the development takes place, and the like. Through these revisions, the project aims to maintain the quality of the software being developed above a certain level without additional testing. In general, when the bug detection rate is equal to or higher than the threshold, the need for the aforementioned review is clearly higher than when the bug detection rate is below the threshold.

本テストが完了し、若しくは本テストの完了が近くなると、プロジェクトの責任者等は、追加テストを実施するか否かを決定する。例えば、責任者等は、バグ検出率、バグの内容、検出されたバグと類似する未検出のバグが残存している可能性、バグが検出された部分と同じ部分に未検出のバグが残存している可能性等に基づいて、追加テストを実施するか否かを決定してもよい。バグ検出率が閾値以上となったからという理由のみで、追加テストが実施されるとは限らず、またバグ検出率が閾値未満となったからという理由のみで、追加テストが実施されないとも限らない。しかしながら、バグ検出率が閾値以上である場合、バグ検出率が閾値未満である場合よりも、追加テストが実施される可能性は高い。 When the main test is completed or is nearing completion, the project manager will decide whether or not to conduct additional tests. For example, the person in charge, etc. should consider the bug detection rate, the content of the bug, the possibility that undetected bugs similar to the detected bugs remain, and the undetected bugs remaining in the It may be determined whether or not to conduct additional tests based on the possibility of Just because the bug detection rate is above the threshold does not necessarily mean that additional testing will be performed, and just because the bug detection rate is below the threshold does not mean that additional testing will not be performed. However, when the bug detection rate is above the threshold, additional testing is more likely than when the bug detection rate is below the threshold.

センターサーバ1は、前述のバグの検出率の閾値を、自動的に設定及び更新してもよい。例えば、センターサーバ1は、プロジェクトが分類されるカテゴリごとに、またはプロジェクトで開発されるソフトウェアが分類されるカテゴリごとに、閾値を更新してもよい。カテゴリは、例えば、バグの傾向に共通性又は類似性があると推定されるプロジェクト又はソフトウェアが同一のカテゴリに分類されるように、カテゴリが定められてもよい。バグの傾向の例として、バグの多さ(またはバグ検出率)の傾向、バグの内容の傾向等がある。例えば、それぞれのプロジェクトで開発されるソフトウェアが、同一のサービスに関連するソフトウェアである場合、それらのプロジェクトは、同一のカテゴリに分類されてもよい。例えば、テスト管理システムSを利用するソフトウェア開発企業が、インターネットを通じて提供される様々なサービスのソフトウェアを開発しているとする。インターネットを通じて提供されるサービスの例として、オンラインショッピング、フリーマーケット、宿泊施設の予約、美容施設の予約、スポーツ施設の予約、宅配料理の注文の受け付け、チケット販売、公営競技の投票券の販売、ウェブ検索、動画配信、音楽配信等が挙げられる。これらのサービスは、ウェブサイトのサーバソフトウェアで提供されてもよいし、サービスの利用者が利用する端末装置上で動作するアプリケーションソフトウェアで提供されてもよい。各サービスについて、複数のプロジェクトが進められる。こうした場合、閾値は、サービスごとに設定されてもよい。或いは、プロジェクトに参加するメンバー、グループ若しくは企業の同一性に基づいて、プロジェクトがカテゴリ分けされてもよい。 The center server 1 may automatically set and update the above-described bug detection rate threshold. For example, the center server 1 may update the threshold for each category into which the project is classified or each category into which the software developed in the project is classified. Categories may be defined, for example, such that projects or software that are estimated to have common or similar bug tendencies are classified into the same category. Examples of bug trends include trends in the number of bugs (or bug detection rates) and trends in bug content. For example, if the software developed in each project is software related to the same service, those projects may be classified into the same category. For example, assume that a software development company using the test management system S develops software for various services provided through the Internet. Examples of services provided through the Internet include online shopping, flea markets, reservations for lodging facilities, reservations for beauty facilities, reservations for sports facilities, acceptance of home delivery orders, ticket sales, sales of voting tickets for public competitions, online Examples include search, video distribution, and music distribution. These services may be provided by website server software, or may be provided by application software that operates on terminal devices used by service users. For each service, multiple projects are in progress. In such cases, the threshold may be set for each service. Alternatively, projects may be categorized based on the identity of the members, groups or companies participating in the project.

各開発端末2は、ソフトウェア開発の参加者が利用する端末装置である。各開発端末2は、例えば仕様書の作成、設計書の作成、プログラムの作成、テスト項目若しくはテストケースの作成及び閲覧、テストの実施、テストの実施結果の報告及び閲覧、テストの実施状況の閲覧等に用いられてもよい。各開発端末2には、テスト管理システムSを利用するためのアプリケーションがインストールされてもよい。或いは、各開発端末2にインストールされているウエブブラウザを介して、テスト管理システムSの利用が可能であってもよい。開発端末2の例として、パーソナルコンピュータ、タブレット式コンピュータ等が挙げられる。 Each development terminal 2 is a terminal device used by participants in software development. Each development terminal 2, for example, creates specifications, creates design documents, creates programs, creates and views test items or test cases, executes tests, reports and views results of test execution, and views status of test execution. etc. may be used. An application for using the test management system S may be installed in each development terminal 2 . Alternatively, it may be possible to use the test management system S via a web browser installed in each development terminal 2 . Examples of the development terminal 2 include a personal computer, a tablet computer, and the like.

[2.センターサーバの構成]
次に、センターサーバ1の構成について、図2及び図3を用いて説明する。図2は、本実施形態に係るセンターサーバ1の概要構成の一例を示すブロック図である。図2に示すように、センターサーバ1は、システム制御部11と、システムバス12と、入出力インターフェース13と、記憶部14と、通信部15と、を備えている。システム制御部11と入出力インターフェース13とは、システムバス12を介して接続されている。
[2. Configuration of the center server]
Next, the configuration of the center server 1 will be described with reference to FIGS. 2 and 3. FIG. FIG. 2 is a block diagram showing an example of the schematic configuration of the center server 1 according to this embodiment. As shown in FIG. 2 , the center server 1 includes a system control section 11 , a system bus 12 , an input/output interface 13 , a storage section 14 and a communication section 15 . The system control unit 11 and the input/output interface 13 are connected via a system bus 12 .

システム制御部11は、CPU(Central Processing Unit)11a、ROM(Read Only Memory)11b、RAM(Random Access Memory)11c等により構成されている。 The system control unit 11 includes a CPU (Central Processing Unit) 11a, a ROM (Read Only Memory) 11b, a RAM (Random Access Memory) 11c, and the like.

入出力インターフェース13は、記憶部14及び通信部15とシステム制御部11との間のインターフェース処理を行う。 The input/output interface 13 performs interface processing between the storage unit 14 and the communication unit 15 and the system control unit 11 .

記憶部14は、例えば、ハードディスクドライブ等により構成されている。この記憶部14には、例えば、プロジェクトDB14a、テスト報告書DB14b、サービス閾値DB14c、閾値候補DB14d、プロジェクト閾値DB14e等のデータベースが記憶されてもよい。「DB」は、データベースの略語である。図3は、データベースに記憶される情報の例を示す図である。 The storage unit 14 is configured by, for example, a hard disk drive or the like. Databases such as a project DB 14a, a test report DB 14b, a service threshold DB 14c, a threshold candidate DB 14d, and a project threshold DB 14e may be stored in the storage unit 14, for example. "DB" is an abbreviation for database. FIG. 3 is a diagram showing an example of information stored in a database.

図3に示すように、プロジェクトDB14aには、プロジェクトに関するプロジェクト情報が、プロジェクトごとに記憶される。プロジェクト情報は、例えばプロジェクトの責任者等により設定されてもよい。例えば、プロジェクトDB14aには、プロジェクト情報として、プロジェクトID、サービスID、本テスト件数、本テスト完了日、追加テストフラグ、追加テスト件数等が、互いに関連付けて記憶されてもよい。プロジェクトIDは、プロジェクトを識別するための識別情報である。サービスIDは、そのプロジェクトが属するサービスを識別する識別情報である。本テスト件数は、そのプロジェクトの本テストで実施されるべきテストの件数を示す。本テスト完了フラグは、そのプロジェクトの本テストが完了したか否かを示す。本テスト完了日は、そのプロジェクトの本テストが完了した日付を示す。本テスト完了フラグ及び本テスト完了日は、プロジェクトの責任者等により設定されてもよいし、センターサーバ1が自動的に設定してもよい。例えば、センターサーバ1は、後述するテスト報告書DB14bに基づいて、そのプロジェクトで実施された本テストの件数を計算してもよい。センターサーバ1は、実施されたテストの件数が、プロジェクトDB14aに記憶されている本テスト件数と一致する場合、本テスト完了フラグを、本テスト完了に設定してもよい。このとき、センターサーバ1は、テスト報告書DB14bに基づいて、本テストのうち最後に実施されたテストの実施日を、本テスト完了日として決定してもよい。追加テストフラグは、そのプロジェクトについて追加テストが実施の決定状況を示す。例えば、追加テストフラグは、「未確定」、「非実施」、及び「要実施」の何れかに設定されてもよい。「未確定」は、追加テストを実施するか否かがまだ決定されていない状態を示す。「非実施」は、追加テストを実施しないことが決定されたことを示す。「要実施」は、追加テストを実施することが決定されたことを示す。追加テスト件数は、そのプロジェクトの追加テストで実施されるべきテストの件数を示す。 As shown in FIG. 3, the project DB 14a stores project information on each project. The project information may be set by, for example, the person in charge of the project. For example, the project DB 14a may store, as project information, a project ID, a service ID, the number of main tests, the completion date of the main tests, an additional test flag, the number of additional tests, etc., in association with each other. A project ID is identification information for identifying a project. The service ID is identification information that identifies the service to which the project belongs. The number of main tests indicates the number of tests to be performed in the main test of the project. The main test completion flag indicates whether or not the main test of the project has been completed. The main test completion date indicates the date when the main test of the project was completed. The main test completion flag and the main test completion date may be set by the person in charge of the project or the like, or may be automatically set by the center server 1 . For example, the center server 1 may calculate the number of actual tests conducted in the project based on the test report DB 14b, which will be described later. The center server 1 may set the main test completion flag to the completion of the main test when the number of tests performed matches the number of main tests stored in the project DB 14a. At this time, based on the test report DB 14b, the center server 1 may determine the execution date of the final test among the main tests as the completion date of the main test. The additional test flag indicates the decision status of the additional test for the project. For example, the additional test flag may be set to one of "unconfirmed", "not performed", and "must be performed". "Undecided" indicates a state in which it has not yet been decided whether or not to carry out additional tests. "Not Performed" indicates that it was decided not to perform additional tests. "Required" indicates that it has been decided to perform additional tests. The number of additional tests indicates the number of tests that should be performed in the additional tests of the project.

テスト報告書DB14bには、テストの実施結果の報告を示す報告情報が、テストが実施されるごとに記憶される。報告情報は、例えばテストの実施者により登録されてもよい。例えば、テスト報告書DB14bには、報告情報として、テスト番号、プロジェクトID、テスト種別、実施日、バグ数等が、互いに関連付けて記憶されてもよい。テスト番号は、実施されたテストのテスト項目若しくはテストケースを識別するための番号である。プロジェクトIDは、如何なるプロジェクトについてそのテストが実施されたかを示す。テスト種別は、実施されたテストが、本テスト及び追加テストの何れであるかを示す。実施日は、そのテストが実施された日付を示す。バグ数は、そのテストで検出されたバグの数を示す。 The test report DB 14b stores report information indicating the results of the test each time the test is performed. The report information may be registered, for example, by the person conducting the test. For example, the test report DB 14b may store, as report information, test numbers, project IDs, test types, implementation dates, number of bugs, etc., in association with each other. A test number is a number for identifying a test item or a test case of an executed test. Project ID indicates for which project the test was performed. The test type indicates whether the executed test is a main test or an additional test. The implementation date indicates the date on which the test was implemented. The number of bugs indicates the number of bugs detected in the test.

サービス閾値DB14cには、バグ検出率の閾値が、サービスごとに記憶される。例えば、サービス閾値DB14cには、サービスID及び現閾値が、互いに関連付けて記憶されてもよい。サービスIDは、その閾値が設定されたサービスを示す。現閾値は、現在の閾値を示す。現閾値は、センターサーバ1により定期的に更新されてもよい。 The threshold value of the bug detection rate is stored for each service in the service threshold DB 14c. For example, the service threshold DB 14c may store the service ID and the current threshold in association with each other. A service ID indicates a service for which the threshold is set. Current Threshold indicates the current threshold. The current threshold may be updated periodically by the center server 1 .

閾値候補DB14dには、これまでにバグ検出率の閾値の候補となった値に関する候補情報が、サービスごとに記憶される。例えば、閾値候補DB14dには、サービスIDが少なくとも記憶されてもよい。サービスIDは、閾値の候補が決定されたサービスを示す。閾値候補DB14dには、更に1又は複数の候補情報が、サービスIDと関連付けて記憶されてもよい。例えば、閾値候補が新しく決定されるごとに、候補情報が閾値候補DB14dに追加されてもよい。各候補情報は、インデックス値、当時閾値、及び閾値候補を含んでもよい。インデックス値は、その候補情報が、サービスIDと関連付けて記憶されている1又は複数の候補情報のうち、何番目に記憶された候補情報であるかを示す。当時閾値は、その当時閾値に関連付けられた閾値候補が決定された当時における現閾値である。なお、サービス閾値DB14cに記憶されている現閾値が更新されると、閾値候補DB14dに記憶されている同一サービスの候補情報は全て削除される。そのため、閾値候補DB14dに記憶される当時閾値は、サービス閾値DB14cに記憶される現閾値と一致する。 The threshold candidate DB 14d stores candidate information regarding values that have been candidates for the threshold of the bug detection rate so far for each service. For example, at least a service ID may be stored in the threshold candidate DB 14d. The service ID indicates a service for which threshold candidates have been determined. The threshold candidate DB 14d may further store one or more pieces of candidate information in association with the service ID. For example, each time a new threshold candidate is determined, candidate information may be added to the threshold candidate DB 14d. Each candidate information may include an index value, a current threshold, and a threshold candidate. The index value indicates the order in which candidate information is stored among one or a plurality of pieces of candidate information stored in association with the service ID. The current threshold is the current threshold at the time the threshold candidate associated with the current threshold was determined. Note that when the current threshold stored in the service threshold DB 14c is updated, all candidate information of the same service stored in the threshold candidate DB 14d is deleted. Therefore, the current threshold stored in the threshold candidate DB 14d matches the current threshold stored in the service threshold DB 14c.

プロジェクト閾値DB14eは、バグ検出率の閾値が、プロジェクトごとに記憶される。例えば、プロジェクト閾値DB14eには、プロジェクトID及び閾値が、互いに関連付けて記憶されてもよい。プロジェクトIDは、その閾値が設定されたプロジェクトを示す。例えば、各プロジェクトの進捗状況を示す図示せぬデータベースが記憶部14に記憶されてもよい。このデータベースにおいて、或るプロジェクトが、例えば実装若しくはスモークテストから本テストに進むと、センターサーバ1は、そのプロジェクトが属するサービスについて、そのときにサービス閾値DB14cに記憶されている現閾値を、そのプロジェクトの閾値として、プロジェクト閾値DB14eに記憶させてもよい。 The project threshold DB 14e stores the threshold of the bug detection rate for each project. For example, the project threshold DB 14e may store the project ID and the threshold in association with each other. Project ID indicates the project for which the threshold is set. For example, the storage unit 14 may store a database (not shown) indicating the progress of each project. In this database, when a certain project progresses from, for example, implementation or smoke test to main test, the center server 1 changes the current threshold stored in the service threshold DB 14c at that time for the service to which the project belongs to the project. may be stored in the project threshold DB 14e as the threshold of .

記憶部14には、更に、オペレーティングシステム、DBMS(Database Management System)、サーバプログラム等の各種プログラムが記憶されている。サーバプログラムは、テストを管理するための処理、プロジェクトの進捗を管理するための処理、バグ検出率の閾値を設定するための処理等をシステム制御部11に実行させるプログラムである。サーバプログラムは、例えば、他の装置からネットワークNWを介して取得されるようにしてもよいし、磁気テープ、光ディスク、メモリカード等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。 The storage unit 14 further stores various programs such as an operating system, a DBMS (Database Management System), and a server program. The server program is a program that causes the system control unit 11 to execute a process for managing tests, a process for managing the progress of a project, a process for setting a threshold for a bug detection rate, and the like. For example, the server program may be obtained from another device via the network NW, or may be recorded on a recording medium such as a magnetic tape, optical disk, or memory card and read via a drive device. good too.

通信部15は、例えばネットワークインターフェースコントローラ等により構成されている。通信部15は、ネットワークNWを介して開発端末2等の装置と接続し、接続された装置との通信状態を制御する。 The communication unit 15 is configured by, for example, a network interface controller or the like. The communication unit 15 connects to a device such as the development terminal 2 via the network NW, and controls the state of communication with the connected device.

[3.システム制御部の機能概要]
次に、センターサーバ1におけるシステム制御部11の機能概要について、図4乃至図7を用いて説明する。図4は、本実施形態に係るセンターサーバ1におけるシステム制御部11の機能ブロックの一例を示す図である。システム制御部11は、CPU11aが、サーバプログラムに含まれる各種プログラムコードを読み出し実行することにより、図4に示すように、バグ検出率取得部111、閾値候補決定部112、閾値取得部113、閾値更新部114、基準差決定部115、情報出力部116等として機能する。
[3. Function overview of the system control unit]
Next, an overview of the functions of the system control unit 11 in the center server 1 will be described with reference to FIGS. 4 to 7. FIG. FIG. 4 is a diagram showing an example of functional blocks of the system control unit 11 in the center server 1 according to this embodiment. The CPU 11a reads and executes various program codes included in the server program, so that the system control unit 11, as shown in FIG. It functions as an update unit 114, a reference difference determination unit 115, an information output unit 116, and the like.

[3-1.閾値の更新]
システム制御部11は、バグ検出率の閾値の更新制御を行う。更新制御とは、閾値を更新するか否かの判定、及び、閾値を更新すると判定した場合における実際の閾値の更新を含む。例えば、システム制御部11は、全サービスそれぞれについて定期的に(例えば、1ヶ月ごと、3ヶ月ごと、6ヶ月ごと、1年ごと等)、更新制御を実行してもよい。或いは、システム制御部11は、センターサーバ1の管理者等からの指示があったタイミングで、特定のサービス又は全サービスそれぞれについて、更新制御を実行してもよい。
[3-1. Threshold update]
The system control unit 11 performs update control of the threshold value of the bug detection rate. Update control includes determination of whether to update the threshold or not, and actual update of the threshold when it is determined to update the threshold. For example, the system control unit 11 may periodically (for example, every month, every three months, every six months, every year, etc.) execute update control for each of all services. Alternatively, the system control unit 11 may execute update control for a specific service or all services at the timing of receiving an instruction from the administrator of the center server 1 or the like.

更新制御を実施するタイミングにおいて、バグ検出率取得部111は、過去の期間中にテストの結果が得られたテスト対象のバグ検出率を取得する。本実施形態において、テスト対象は、特定のプロジェクトで開発されるソフトウェアである。バグ検出率が取得される過去の期間を、「参照期間」と称する。参照期間は、例えば更新制御の実施日(すなわち今日)から特定される所定長の期間であってもよい。例えば、参照期間は、今日の所定月数前(例えば、1ヶ月前、3ヶ月前、6ヶ月前等)又は所定年数前(例えば、1年前、2年前、3年前等)の日から、現時点までの期間であってもよい。或いは、参照期間は、先月の初日の所定月数前又は所定年数前の日から先月の末日までの期間であってもよい。参照期間の長さと更新制御の実施間隔とは、一致してもよいし、一致しなくてもよい。参照期間は、前回の更新制御の実施日よりも後の日を含んでもよい。参照期間中にテストの結果が得られたテスト対象とは、例えば、その参照期間中に本テストが完了したプロジェクトであってもよい。本テストが開始された日が参照期間中に含まれている必要はない。バグ検出率取得部111は、プロジェクトDB14aに記憶された本テスト完了日に基づいて、その参照期間中に本テストが完了したか否かを判定してもよい。或いは、バグ検出率取得部111は、テスト報告書DB14bを参照することにより、そのプロジェクトの本テストについて完了したテストの件数を計算し、その件数と、プロジェクトDB14aに記憶された本テスト件数とを比較することにより、本テストが完了したか否かを判定してもよい。そして、バグ検出率取得部111は、その本テストにおける最後のテストの実施日に基づいて、その参照期間中に本テストが完了したか否かを判定してもよい。テストで得られる結果は、例えば本テストにおける最終的なバグ検出率を含んでもよい。 At the timing of performing update control, the bug detection rate acquiring unit 111 acquires the bug detection rate of the test target for which the test results were obtained during the past period. In this embodiment, the test target is software developed in a particular project. The past period for which the bug detection rate is obtained is called the "reference period". The reference period may be, for example, a period of a predetermined length specified from the execution date of update control (that is, today). For example, the reference period is the date a predetermined number of months before today (e.g., 1 month, 3 months, 6 months, etc.) or a predetermined number of years (e.g., 1 year, 2 years ago, 3 years ago, etc.). to the current time. Alternatively, the reference period may be a period from the day before the first day of the last month to the last day of the last month. The length of the reference period and the execution interval of update control may or may not match. The reference period may include a date after the last execution date of update control. A test target for which a test result was obtained during the reference period may be, for example, a project for which the main test was completed during the reference period. The date on which the test started need not be included in the reference period. The bug detection rate acquisition unit 111 may determine whether or not the main test was completed during the reference period based on the main test completion date stored in the project DB 14a. Alternatively, by referring to the test report DB 14b, the bug detection rate acquisition unit 111 calculates the number of completed tests for the main test of the project, and combines that number with the number of main tests stored in the project DB 14a. By comparing, it may be determined whether or not the main test is completed. Then, the bug detection rate acquisition unit 111 may determine whether or not the main test was completed during the reference period based on the execution date of the last test in the main test. The results obtained from testing may include, for example, the final bug detection rate in this test.

バグ検出率取得部111は、特定されたプロジェクトごとに、バグ検出率を取得してもよい。例えば、バグ検出率取得部111は、テスト報告書DB14bを参照して、本テストで検出されたバグの数の合計を計算してもよい。そして、バグ検出率取得部111は、バグ数の合計を本テスト件数で除算することにより、バグ検出率を計算してもよい。バグ検出率の取得対象となるテスト対象は、参照期間中に本テストが完了したプロジェクトのうち、閾値の更新制御の対象となるサービスに属するプロジェクトに限定されてもよい。更に、バグ検出率の取得対象となるテスト対象は、追加テストを実施することが決定されたプロジェクトに限定されてもよい。 The bug detection rate acquisition unit 111 may acquire the bug detection rate for each identified project. For example, the bug detection rate acquisition unit 111 may refer to the test report DB 14b to calculate the total number of bugs detected in the main test. Then, the bug detection rate acquisition unit 111 may calculate the bug detection rate by dividing the total number of bugs by the number of actual tests. The test targets for which the bug detection rate is to be acquired may be limited to projects belonging to services subject to threshold update control, among projects that have completed the main test during the reference period. Furthermore, the test targets for which bug detection rates are obtained may be limited to projects for which additional testing has been determined.

閾値候補決定部112は、バグ検出率取得部111により取得されたバグ検出率に基づいて、閾値の候補を決定する。例えば、閾値の候補は、取得されたバグ検出率の代表値であってもよい。バグ検出率の代表値は、例えば平均値又は中央値であってもよい。追加テストが実施されるプロジェクトの本テストでのバグ検出率は、比較的に高くなる。その一方で、追加テストが実施されるプロジェクトであっても、本テストのバグ検出率が極端に高くなることは比較的に少ない。また、追加テストが実施される以上、バグ検出率が極端に低くなることも比較的に少ない。更に、同一又は極めて近いバグ検出率が取得された複数のプロジェクトが、追加テストを実施するプロジェクトと実施しないプロジェクトとに分けられる場合がある。その一方で、バグ検出率が高いほど追加テストが実施される可能性は高い。これらの事情を考慮すると、閾値を、バグ検出率の平均値又は中央値等の代表値に設定することに妥当性があると考えられる。 The threshold candidate determination unit 112 determines threshold candidates based on the bug detection rate acquired by the bug detection rate acquisition unit 111 . For example, the threshold candidate may be the obtained representative value of the bug detection rate. A representative value of the bug detection rate may be, for example, an average value or a median value. Projects that undergo additional testing will have a relatively high bug detection rate in the main test. On the other hand, even in projects where additional testing is performed, the bug detection rate of the main testing is relatively rare. Also, as long as additional tests are performed, it is relatively rare for the bug detection rate to be extremely low. In addition, projects with the same or very similar bug detection rates may be divided into projects that undergo additional testing and projects that do not. On the other hand, the higher the bug detection rate, the more likely additional testing will be performed. Considering these circumstances, it is considered appropriate to set the threshold to a representative value such as the average value or the median value of the bug detection rates.

このタイミングで特定された参照期間を、便宜上、「第1参照期間」と称する。また、このタイミングで取得されたバグ検出率を、「第1バグ検出率」と称する。また、このタイミングで決定された閾値候補を、「第1閾値候補」と称する。 For the sake of convenience, the reference period specified at this timing will be referred to as a "first reference period". Also, the bug detection rate obtained at this timing is referred to as a "first bug detection rate." Also, the threshold candidate determined at this timing is referred to as a “first threshold candidate”.

閾値取得部113は、バグ検出率の現閾値を取得する。例えば、閾値取得部113は、閾値の更新制御の対象となるサービスについてサービス閾値DB14cに記憶されている現閾値を取得してもよい。 The threshold acquisition unit 113 acquires the current threshold of the bug detection rate. For example, the threshold acquisition unit 113 may acquire the current threshold stored in the service threshold DB 14c for the service subject to threshold update control.

閾値更新部114は、閾値候補決定部112により決定された第1閾値候補と閾値取得部113により取得された閾値との差が、所定の基準差未満である場合、その閾値をその第1閾値候補で更新する。基準差は、例えばセンターサーバ1の管理者等により予め設定されてもよいし、後述するように、センターサーバ1が決定してもよい。一方、閾値更新部114は、第1閾値候補と閾値との差が基準差以上である場合、その閾値を第1閾値候補で更新しない。より一般化して述べると、閾値候補と閾値との差が基準差以上である場合、閾値を更新する場合と、更新しない場合とがある。閾値を更新する場合については後述する。 If the difference between the first threshold candidate determined by the threshold candidate determination unit 112 and the threshold acquired by the threshold acquisition unit 113 is less than a predetermined reference difference, the threshold updating unit 114 updates the threshold to the first threshold. Update with suggestions. The reference difference may be preset by, for example, an administrator of the center server 1, or may be determined by the center server 1 as described later. On the other hand, if the difference between the first threshold candidate and the threshold is greater than or equal to the reference difference, the threshold updating unit 114 does not update the threshold with the first threshold candidate. More generally speaking, when the difference between the threshold candidate and the threshold is greater than or equal to the reference difference, the threshold may or may not be updated. A case of updating the threshold will be described later.

図5は、閾値の更新例を示す図である。図5に示すように、或るサービスの現閾値は3.0%である。また、バグ検出率に基づいて計算された閾値候補は、2.8%である。基準差は、0.5%であると仮定する。従って、閾値候補と現閾値との差は基準差未満であるので、現閾値は2.8%に更新される。 FIG. 5 is a diagram illustrating an example of threshold update. As shown in Figure 5, the current threshold for one service is 3.0%. Also, the threshold candidate calculated based on the bug detection rate is 2.8%. Assume that the reference difference is 0.5%. Therefore, the current threshold is updated to 2.8% because the difference between the candidate threshold and the current threshold is less than the reference difference.

第1閾値候補と閾値との差が基準差以上であることにより、閾値取得部113により閾値が第1閾値候補で更新されなかった後、バグ検出率取得部111は、更新制御を実施する次のタイミングにおいて、第1参照期間よりも後の日を含む過去の期間中にテストの結果が得られたテスト対象のバグ検出率を取得する。次の更新制御時における過去の期間を、「第2参照期間」と称する。第1参照期間と第2参照期間とに重複があってもよいし、重複がなくてもよい。第2参照期間は、第1参照期間よりも前の日を含まなくてもよい。第1参照期間の長さと第2参照期間の長さとは同一であってもよいし、異なってもよい。例えば、バグ検出率取得部111は、第1参照期間を特定する場合と同様に、次の更新制御の実施日から特定される所定長の期間を、第2参照期間としてもよい。参照期間が異なることを除き、バグ検出率の取得方法は、第1バグ検出率の取得方法と同一であってもよい。今回の更新制御時におけるバグ検出率を、「第2バグ検出率」と称する。 After the threshold is not updated with the first threshold candidate by the threshold acquisition unit 113 because the difference between the first threshold candidate and the threshold is equal to or greater than the reference difference, the bug detection rate acquisition unit 111 performs update control. At the timing of , acquire the bug detection rate of the test target for which the test result was obtained during the past period including the days after the first reference period. A period in the past at the time of the next update control is called a "second reference period". The first reference period and the second reference period may or may not overlap. The second reference period may not include days before the first reference period. The length of the first reference period and the length of the second reference period may be the same or different. For example, the bug detection rate acquiring unit 111 may set, as the second reference period, a period of a predetermined length specified from the execution date of the next update control, as in the case of specifying the first reference period. The method for obtaining the bug detection rate may be the same as the method for obtaining the first bug detection rate, except that the reference period is different. The bug detection rate during the current update control is referred to as the "second bug detection rate".

閾値候補決定部112は、バグ検出率取得部111により取得された第2バグ検出率に基づいて、閾値の候補を決定する。閾値候補の決定方法は、第1閾値候補の決定方法と同一であってもよい。今回の更新制御時における閾値候補を、「第2閾値候補」と称する。 The threshold candidate determination unit 112 determines threshold candidates based on the second bug detection rate acquired by the bug detection rate acquisition unit 111 . The method for determining the threshold candidate may be the same as the method for determining the first threshold candidate. A threshold candidate for the current update control is referred to as a “second threshold candidate”.

閾値更新部114は、閾値候補決定部112により決定された第2閾値候補と閾値との差が基準差未満である場合、その閾値をその第2閾値候補で更新する。この点については、第1閾値候補を用いた更新と同一である。一方、第2閾値候補と閾値との差が基準差以上である場合、前回の更新制御時において、第1閾値候補と閾値との差が基準差以上であったので、閾値更新部114は、閾値を第2閾値候補で更新してもよい。換言すると、前回の更新制御時に閾値が更新されなかったので、閾値更新部114は、閾値を更新するということもできる。 If the difference between the second threshold candidate determined by the threshold candidate determination unit 112 and the threshold is less than the reference difference, the threshold updating unit 114 updates the threshold with the second threshold candidate. This point is the same as the update using the first threshold candidate. On the other hand, if the difference between the second threshold candidate and the threshold is equal to or greater than the reference difference, the difference between the first threshold candidate and the threshold was equal to or greater than the reference difference during the previous update control. The threshold may be updated with the second threshold candidate. In other words, since the threshold was not updated during the previous update control, the threshold updating unit 114 can be said to update the threshold.

バグ検出率の閾値及び閾値候補は、参照期間に結果が得られたテスト対象のバグ検出率の代表値である。参照期間が、第1参照期間から第2参照期間に変わることで、代表値により示されるバグ検出率の傾向に変化があるとき、開発体制や開発環境等に変化があった可能性がある。或いは、追加テストの実施の要否の判断の基準に変更があった可能性がある。開発体制、開発環境、追加テスト実施の判断基準等の変化を閾値に反映することで、閾値が適切に更新されるものと考えられる。しかしながら、変化した状況は一時的なものであり、しばらく日数が経過すれば、開発体制や開発環境等は元に戻るかもしれない。或いは、開発体制や開発環境等が変化したのではなく、又はその変化とは無関係に、その時期にのみ偶然にもバグ検出率の傾向が変化しただけであるかもしれない。そのようなとき、閾値を閾値候補で更新することは、必ずしも適切であるとは限らない。そこで、閾値更新部114は、バグ検出率の傾向を示す閾値候補と閾値との差が1回のみ基準差以上となったとしても、その時点では更新しない。閾値更新部114は、閾値候補と閾値との差が連続して基準差以上となった場合、バグ検出率の傾向の変化が偶然ではなく、変化した状態は継続的なものであるとして、閾値を閾値候補で更新する。一方、閾値候補と閾値との差が基準差未満である場合には、たとえバグ検出率の傾向の変化は偶然であるか、または変化した開発体制や開発環境等は一時的なものであったとしても、閾値更新による影響は比較的に小さい。そのため、閾値更新部114は、閾値候補と閾値との差が基準差未満である場合、その他の条件を考慮せずに閾値を更新してもよい。 The bug detection rate threshold and threshold candidate are representative values of the bug detection rates of the test objects for which results were obtained during the reference period. When the reference period changes from the first reference period to the second reference period and there is a change in the tendency of the bug detection rate indicated by the representative value, there is a possibility that the development system, development environment, etc. have changed. Alternatively, there may have been changes in the criteria for judging the necessity of conducting additional tests. It is considered that the threshold is appropriately updated by reflecting changes in the development system, development environment, criteria for conducting additional tests, etc. in the threshold. However, the changed situation is temporary, and if a few days pass, the development system, development environment, etc. may return to the original state. Alternatively, the development system, development environment, etc. may not have changed, or the tendency of the bug detection rate may have happened to change only at that time, regardless of the change. In such cases, it may not always be appropriate to update the threshold with the threshold candidate. Therefore, even if the difference between the threshold candidate indicating the tendency of the bug detection rate and the threshold exceeds the reference difference only once, the threshold updating unit 114 does not update the threshold at that time. If the difference between the threshold candidate and the threshold is continuously greater than or equal to the reference difference, the threshold update unit 114 determines that the change in the tendency of the bug detection rate is not accidental and that the state of change is continuous. is updated with the threshold candidate. On the other hand, if the difference between the threshold candidate and the threshold is less than the standard difference, even if the change in the tendency of the bug detection rate is accidental, or the changed development system or development environment was temporary. However, the effect of updating the threshold is relatively small. Therefore, if the difference between the threshold candidate and the threshold is less than the reference difference, the threshold update unit 114 may update the threshold without considering other conditions.

閾値更新部114は、第1閾値候補と閾値との差が基準差以上であることにより、閾値を第1閾値候補で更新しなかった後、第2閾値候補と閾値との差が基準差以上である場合には、更なる条件に基づいて、閾値を第2閾値候補で更新するか否かを判定してもよい。例えば、閾値更新部114は、第1閾値候補と閾値との大小関係と、第2閾値候補と閾値との大小関係と、が一致する場合にのみ、閾値を第2閾値候補で更新してもよい。閾値候補と閾値との大小関係とは、閾値候補が閾値よりも高いか否かを示す関係である。具体的に、第1閾値候補が閾値より高く、且つ、第2閾値候補も閾値より高い場合、大小関係は一致する。また、第1閾値候補が閾値より低く、且つ、第2閾値候補も閾値より低い場合にも、大小関係は一致する。閾値候補と閾値との差が連続して基準差以上となったとしても、第1閾値候補及び第2閾値候補の何れか一方の閾値候補が閾値よりも高い一方で、他方の閾値候補が閾値よりも低い場合、変化した開発体制や開発環境等は継続しているということはできない。 Threshold updating unit 114 does not update the threshold with the first threshold candidate because the difference between the first threshold candidate and the threshold is greater than or equal to the reference difference, and then the threshold updating unit 114 determines that the difference between the second threshold candidate and the threshold is greater than or equal to the reference difference. , it may be determined whether or not to update the threshold with the second threshold candidate based on a further condition. For example, the threshold updating unit 114 may update the threshold with the second threshold candidate only when the magnitude relationship between the first threshold candidate and the threshold matches the magnitude relationship between the second threshold candidate and the threshold. good. The magnitude relationship between a threshold candidate and a threshold is a relationship indicating whether or not the threshold candidate is higher than the threshold. Specifically, when the first threshold candidate is higher than the threshold and the second threshold candidate is also higher than the threshold, the magnitude relationships match. Also, when the first threshold candidate is lower than the threshold and the second threshold candidate is also lower than the threshold, the magnitude relationships match. Even if the difference between the threshold candidates and the thresholds is continuously equal to or greater than the reference difference, one of the first threshold candidate and the second threshold candidate is higher than the threshold, while the other threshold candidate is higher than the threshold. If it is lower than , it cannot be said that the changed development system, development environment, etc. are continuing.

これまでに説明した閾値の更新方法の一般化した例を述べる。今回の閾値候補と閾値との差が基準差未満である場合、閾値更新部114は、閾値をその閾値候補で更新してもよい。今回の閾値候補と閾値との差が基準差以上である場合、閾値更新部114は、前回の更新制御時に、閾値をその当時の閾値候補で更新したか否かを判定してもよい。前回の更新制御時に閾値が更新されていた場合、閾値更新部114は、閾値を今回の閾値候補では更新しなくてもよい。前回の更新制御時に閾値が更新されていなかった場合、閾値更新部114は、前回の閾値候補と閾値との大小関係と、今回の閾値候補と閾値との大小関係と、が一致するか否かを判定してもよい。大小関係が一致する場合、閾値更新部114は、閾値を今回の閾値候補で更新してもよい。大小関係が不一致である場合、閾値更新部114は、閾値を今回の閾値候補で更新しなくてもよい。 A generalized example of the threshold updating method described so far will be described. If the difference between the current threshold candidate and the threshold is less than the reference difference, the threshold updating unit 114 may update the threshold with the threshold candidate. If the difference between the current threshold candidate and the threshold is greater than or equal to the reference difference, the threshold update unit 114 may determine whether or not the threshold was updated with the threshold candidate at that time during the previous update control. If the threshold was updated during the previous update control, the threshold updating unit 114 does not need to update the threshold with the current threshold candidate. If the threshold has not been updated during the previous update control, the threshold updating unit 114 determines whether the magnitude relationship between the previous threshold candidate and the threshold matches the magnitude relationship between the current threshold candidate and the threshold. may be determined. If the magnitude relationships match, the threshold updating unit 114 may update the threshold with the current threshold candidate. If the magnitude relationship does not match, the threshold updating unit 114 does not have to update the threshold with the current threshold candidate.

閾値の初期値は、例えばセンターサーバ1の管理者により予め設定されてもよいし、これまで説明したように、バグ検出率に基づいてセンターサーバ1により設定されてもよい。 The initial value of the threshold may be set in advance by, for example, the administrator of the center server 1, or may be set by the center server 1 based on the bug detection rate as described above.

図6は、閾値の更新例を示す図である。例えば、更新制御が1ヶ月ごとに行われるとする。また、基準差は0.5%であると仮定する。図6に示すように、4月に入ったときにおける現閾値は3.0%である。このときに計算された閾値候補は、3.8%である。従って、このときの閾値候補と現閾値との差は基準差以上である。3月には現閾値が更新されていた場合、現閾値は更新されない。5月に入ったときに計算された閾値候補は、3.7%である。この閾値候補と現閾値との差は基準差以上である。4月には現閾値は更新されていない。4月の閾値候補は現閾値よりも高く、且つ、5月の閾値候補も現閾値より高い。従って、現閾値は3.7に更新される。 FIG. 6 is a diagram illustrating an example of threshold update. For example, assume that update control is performed every month. Also assume that the reference difference is 0.5%. As shown in FIG. 6, the current threshold is 3.0% in April. The threshold candidate calculated at this time is 3.8%. Therefore, the difference between the threshold candidate and the current threshold at this time is greater than or equal to the reference difference. If the current threshold was updated in March, the current threshold is not updated. Entering May, the calculated threshold candidate is 3.7%. The difference between this threshold candidate and the current threshold is greater than or equal to the reference difference. Current thresholds were not updated in April. The April threshold candidate is higher than the current threshold, and the May threshold candidate is also higher than the current threshold. Therefore, the current threshold is updated to 3.7.

[3-2.基準差の設定]
次に、基準差を自動的に設定する方法について説明する。基準差決定部115は、バグ検出率取得部111により取得されたバグ検出率に基づいて、そのバグ検出率の外れ値と外れ値以外の値との境目となる特定値と、バグ検出率の代表値と、の差を、基準差として決定してもよい。外れ値とならないバグ検出率の範囲を、「正常区間」と称する。例えば、基準差決定部115は、正常区間の下限値又は上限値が、代表値からどれだけ離れているかに基づいて、基準差を決定してもよい。閾値候補と閾値との差が、このように決定された基準差以上となった場合、閾値候補は外れ値である可能性がある。そこで、閾値候補が外れ値である可能性がある場合、閾値を閾値候補で更新することが適切ではない場合がある。前述したように、閾値候補と閾値との差が連続して基準差以上となった場合、閾値が更新される場合がある。
[3-2. Reference difference setting]
Next, a method for automatically setting the reference difference will be described. Based on the bug detection rate acquired by the bug detection rate acquisition unit 111, the reference difference determination unit 115 determines a specific value that serves as a boundary between an outlier and a value other than the outlier of the bug detection rate, and a value of the bug detection rate. The difference between the representative value and , may be determined as the reference difference. A range of bug detection rates that does not become an outlier is called a “normal interval”. For example, the reference difference determination unit 115 may determine the reference difference based on how far the lower limit value or upper limit value of the normal interval is from the representative value. If the difference between the candidate threshold and the threshold is greater than or equal to the reference difference thus determined, the candidate threshold may be an outlier. Therefore, if the threshold candidate may be an outlier, it may not be appropriate to update the threshold with the threshold candidate. As described above, when the difference between the threshold candidate and the threshold is continuously greater than or equal to the reference difference, the threshold may be updated.

特定値は、正常区間の下限値及び上限値の少なくとも何れか一方であってもよい。バグ検出率の代表値は、平均値又は中央値であってもよい。この代表値は、閾値候補自身であってもよい。 The specific value may be at least one of the lower limit value and the upper limit value of the normal interval. A representative value of the bug detection rate may be an average value or a median value. This representative value may be the threshold candidate itself.

基準差決定部115は、バグ検出率の標準偏差を用いて基準差を決定してもよい。この場合、基準差決定部115は、特定値を計算しなくてもよい。バグ検出率を確率変数とし、プロジェクト数を度数とした場合のバグ検出率の分布は、正規分布又は比較的に正規分布に近い分布になるかもしれない。基準差決定部115は、例えば標準偏差に、ゼロよりも大きい実数である所定の係数を乗算することにより、基準差を計算してもよい。例えば、正常区間が全バグ検出率の約95%を占めると仮定した場合、その係数は2.0であってもよい。なお、バグ検出率の分布が実際には正規分布ではなくても、基準差決定部115は標準偏差を用いて基準差を決定してもよい。 The standard difference determination unit 115 may determine the standard difference using the standard deviation of the bug detection rate. In this case, the reference difference determination unit 115 does not have to calculate the specific value. When the bug detection rate is a random variable and the number of projects is a frequency, the distribution of the bug detection rate may be a normal distribution or a distribution that is relatively close to the normal distribution. The reference difference determination unit 115 may calculate the reference difference, for example, by multiplying the standard deviation by a predetermined coefficient that is a real number greater than zero. For example, assuming that normal intervals account for approximately 95% of the total bug detection rate, the coefficient may be 2.0. Note that even if the bug detection rate distribution is not actually a normal distribution, the standard difference determination unit 115 may determine the standard difference using the standard deviation.

図7は、バグ検出率の分布の一例を示すグラフである。図7において、バグ検出率の分布は正規分布となっている。バグ検出率の平均値をμとし、標準偏差の所定係数倍の値を、基準差xとする。この場合の正常区間は、μ-x~μ+xの範囲である。μ-x以下であるバグ検出率、及び、μ+x以上であるバグ検出率は、外れ値となる。 FIG. 7 is a graph showing an example of bug detection rate distribution. In FIG. 7, the distribution of the bug detection rate is a normal distribution. Let μ be the average value of the bug detection rates, and let μ be the standard deviation multiplied by a predetermined coefficient as the standard difference x. The normal interval in this case ranges from μ−x to μ+x. A bug detection rate that is less than μ−x and a bug detection rate that is greater than μ+x are outliers.

基準差決定部115は、バグ検出率のパーセンタイル値を用いて基準差を決定してもよい。このパーセンタイル値は、中央値や平均値とは異なる値である。例えば、正常区間が全バグ検出率のN%を占めると仮定する。この場合、基準差決定部115は、正常区間の下限値としての((100-N)÷2)パーセンタイル値、及び、正常区間の上限値としての(100-(100-N)÷2)パーセンタイル値のうち、少なくとも何れか一方を計算してもよい。そして、基準差決定部115は、パーセンタイル値と代表値との差を、基準差として決定してもよい。バグ検出率の分布が正規分布ではない場合、正常区間の下限値と代表値との差と、正常区間の上限値と代表値との差と、が異なる場合がある。このとき、例えば閾値更新部114は、閾値候補が閾値よりも高い場合には、正常区間の下限値で計算した基準差を用い、閾値候補が閾値よりも低い場合には、正常区間の上限値で計算した基準差を用いてもよい。 The reference difference determination unit 115 may use the percentile value of the bug detection rate to determine the reference difference. This percentile value is a value different from the median value and the average value. For example, assume that normal intervals account for N% of the total bug detection rate. In this case, the reference difference determination unit 115 uses the ((100-N)/2) percentile value as the lower limit value of the normal interval, and the (100-(100-N)/2) percentile value as the upper limit value of the normal interval. At least one of the values may be calculated. Then, the reference difference determination unit 115 may determine the difference between the percentile value and the representative value as the reference difference. If the bug detection rate distribution is not a normal distribution, the difference between the lower limit value and the representative value of the normal interval may differ from the difference between the upper limit value and the representative value of the normal interval. At this time, for example, if the threshold candidate is higher than the threshold, the threshold update unit 114 uses the reference difference calculated from the lower limit of the normal interval, and if the threshold candidate is lower than the threshold, the threshold update unit 114 uses the upper limit of the normal interval. You may use the standard difference calculated by .

[3-3.バグ検出率と閾値に基づく情報提供]
情報出力部116は、バグ検出率及び閾値に基づいて、情報出力を行う。例えば、テスト中である所与のテスト対象のそのテストで検出されたバグの検出率が、閾値以上であるとする。その場合、情報出力部116は、その所与のテスト対象について追加テストを実施する可能性が、バグの検出率が閾値未満である場合よりも高いことを示すリスク情報を出力してもよい。テスト中である状態とは、例えば本テストに含まれる全テストのうち、一部のテストは実施されているものの、残りのテストは未実施である状態であってもよい。所与のテスト対象は、例えば開発端末2の画面に情報が表示されるプロジェクト(で開発されるソフトウェア)であってもよい。例えば、開発端末2の画面に1又は複数のプロジェクトについて進捗状況が表示されているとき、本テスト中にある各プロジェクトについてリスク情報が表示されるように、情報出力部116はそのリスク情報を開発端末2に送信してもよい。情報出力部116は、そのプロジェクトのプロジェクトIDに関連付けてテスト報告書DB14bに記憶された本テストの報告情報に基づいて、バグ検出率を計算してもよい。また、情報出力部116は、そのプロジェクトのプロジェクトIDに関連付けてプロジェクト閾値DB14eに記憶されている閾値を用いて判定を行ってもよい。
[3-3. Information provision based on bug detection rate and threshold]
The information output unit 116 outputs information based on the bug detection rate and the threshold. For example, suppose that the detection rate of bugs detected in a given test object under test is greater than or equal to a threshold. In that case, the information output unit 116 may output risk information indicating that the possibility of performing additional tests on the given test target is higher than when the bug detection rate is less than the threshold. The state of being tested may be, for example, a state in which, of all the tests included in the main test, some tests have been performed, but the rest of the tests have not yet been performed. A given test target may be (software developed in) a project whose information is displayed on the screen of the development terminal 2, for example. For example, when the progress status of one or more projects is displayed on the screen of the development terminal 2, the information output unit 116 develops the risk information so that the risk information is displayed for each project under test. You may transmit to the terminal 2. The information output unit 116 may calculate the bug detection rate based on the report information of the main test stored in the test report DB 14b in association with the project ID of the project. Further, the information output unit 116 may make a determination using a threshold stored in the project threshold DB 14e in association with the project ID of the project.

本テストが完了した段階の最終的なバグ検出率が閾値以上となった場合、追加テストの実施の可能性が高くなる。そこで、本テストの途中の段階でバグ検出率が閾値以上となっている場合には、リスク情報としてその旨を開発者に提示することで、追加テストの実施を回避するために開発体制や開発環境の見直しを検討するきっかけを、開発者に提供することができる。 If the final bug detection rate at the stage where this test is completed exceeds the threshold, the possibility of conducting additional tests increases. Therefore, if the bug detection rate exceeds the threshold in the middle of the main test, by presenting this to the developer as risk information, It can provide the developer with an opportunity to consider reviewing the environment.

リスク情報の表示方法としては様々考えられる。例えば、情報出力部116は、開発者に指定されたサービスに属する各プロジェクトの進捗状況を、開発端末2に表示させるとする。例えば、情報出力部116は、ウェブページで進捗状況を示す情報を表示してもよい。開発端末2の画面には、各プロジェクトを示すプロジェクト進捗情報が、そのプロジェクトの進捗状況と関連付けて表示される。プロジェクト進捗情報は、少なくともプロジェクト名を含んでもよい。プロジェクトがテスト段階にある場合、プロジェクト進捗情報は更にバグ検出率を含んでもよい。情報出力部116は、バグ検出率が閾値以上であるか否かに基づいて、テストの段階にあるプロジェクトのプロジェクト進捗情報の表示態様を異ならせてもよい。表示態様が異なるプロジェクト進捗情報が、リスク情報の一例である。表示態様の例として、プロジェクト進捗情報の色彩、形状、及び大きさ、プロジェクト進捗情報の輪郭の色彩、及び太さ、プロジェクト進捗情報内の文字の色彩、スタイル、大きさ、及び太さ等が挙げられる。既に追加テストが実施されているプロジェクト、または本テスト中ではあるものの、追加テストを実施することが既に決定されているプロジェクトについては、更に別の態様でプロジェクト進捗情報が表示されてもよい。或いは、情報出力部116は、プロジェクト進捗情報内に、追加テストの可能性が高いことを示すメッセージを、リスク情報として含ませてもよい。 Various methods of displaying risk information are conceivable. For example, the information output unit 116 causes the development terminal 2 to display the progress of each project belonging to the service specified by the developer. For example, the information output unit 116 may display information indicating progress on a web page. Project progress information indicating each project is displayed on the screen of the development terminal 2 in association with the progress of the project. Project progress information may include at least the project name. Project progress information may also include bug detection rates if the project is in the testing phase. The information output unit 116 may change the display mode of the project progress information of the project in the testing stage based on whether the bug detection rate is equal to or higher than the threshold. Project progress information with different display modes is an example of risk information. Examples of display modes include the color, shape, and size of the project progress information, the color and thickness of the outline of the project progress information, and the color, style, size, and thickness of the characters in the project progress information. be done. Project progress information may be displayed in yet another manner for projects that have already undergone additional testing, or projects that are currently undergoing main testing but have already been determined to undergo additional testing. Alternatively, the information output unit 116 may include, as risk information, a message indicating that there is a high possibility of an additional test in the project progress information.

[4.センターサーバの動作]
次に、センターサーバ1の動作について、図8を用いて説明する。図8は、本実施形態に係るセンターサーバ1のシステム制御部11による閾値更新制御処理の一例を示すフローチャートである。システム制御部11は、各サービスについて定期的に閾値更新制御処理を実行してもよいし、開発者による実施の要求を開発端末2から受信することに応じて、各サービスについて閾値更新制御処理を実行してもよい。
[4. Operation of the center server]
Next, operation of the center server 1 will be described with reference to FIG. FIG. 8 is a flowchart showing an example of threshold update control processing by the system control unit 11 of the center server 1 according to this embodiment. The system control unit 11 may periodically execute the threshold update control process for each service, or may execute the threshold update control process for each service in response to receiving a request from the development terminal 2 for implementation by the developer. may be executed.

図8に示すように、バグ検出率取得部111は、処理の対象となるサービスについて、本テスト完了日が参照期間内であるプロジェクトのバグ検出率を取得する(ステップS101)。例えば、バグ検出率取得部111は、参照期間として、今日の所定月数前又は所定年数前から今日までの期間を設定してもよい。バグ検出率取得部111は、プロジェクトDB14aから、対象のサービスのサービスIDと「要実施」に設定された追加テストフラグとを含むプロジェクト情報のうち、本テスト完了日が参照期間に含まれるプロジェクト情報を検索してもよい。バグ検出率取得部111は、検索された各プロジェクト情報について、そのプロジェクト情報に含まれるプロジェクトIDと本テストを示すテスト種別との組み合わせを含む報告情報を検索してもよい。バグ検出率取得部111は、検索された報告情報の数を、テスト件数として計算してもよい。バグ検出率取得部111は、各報告情報からバグ数を取得し、バグ数の合計を計算してもよい。バグ検出率取得部111は、バグ数の合計をテスト件数で除算することにより、バグ検出率を計算してもよい。 As shown in FIG. 8, the bug detection rate acquisition unit 111 acquires the bug detection rate of a project whose main test completion date is within the reference period for the service to be processed (step S101). For example, the bug detection rate acquisition unit 111 may set a period from a predetermined number of months or a predetermined number of years before today to today as the reference period. From the project DB 14a, the bug detection rate acquisition unit 111 selects the project information including the service ID of the target service and the additional test flag set to "execution required", the project information including the main test completion date in the reference period. can be searched. The bug detection rate acquisition unit 111 may search for report information including a combination of a project ID included in the project information and a test type indicating the final test for each project information retrieved. The bug detection rate acquisition unit 111 may calculate the number of searched report information as the number of tests. The bug detection rate acquisition unit 111 may acquire the number of bugs from each report information and calculate the total number of bugs. The bug detection rate acquisition unit 111 may calculate the bug detection rate by dividing the total number of bugs by the number of tests.

次いで、基準差決定部115は、バグ検出率取得部111により取得されたバグ検出率の標準偏差を計算する(ステップS102)。次いで、基準差決定部115は、標準偏差に、予め設定された係数Kを乗算することにより、基準差を計算する(ステップS103)。次いで、閾値取得部113は、サービス閾値DB14cから、対象のサービスのサービスIDに関連付けられた現閾値を取得する(ステップS104)。次いで、閾値候補決定部112は、閾値候補として、バグ検出率取得部111により取得されたバグ検出率の代表値を計算する(ステップS105)。 Next, the reference difference determination unit 115 calculates the standard deviation of the bug detection rate acquired by the bug detection rate acquisition unit 111 (step S102). Next, the reference difference determining unit 115 calculates the reference difference by multiplying the standard deviation by a preset coefficient K (step S103). Next, the threshold acquisition unit 113 acquires the current threshold associated with the service ID of the target service from the service threshold DB 14c (step S104). Next, the threshold candidate determination unit 112 calculates a representative value of the bug detection rate acquired by the bug detection rate acquisition unit 111 as a threshold candidate (step S105).

次いで、閾値更新部114は、閾値候補から現閾値を減算することにより、今回偏差を計算する(ステップS106)。次いで、閾値更新部114は、今回偏差の絶対値が基準差未満であるか否かを判定する(ステップS107)。 Next, the threshold update unit 114 calculates the current deviation by subtracting the current threshold from the threshold candidate (step S106). Next, the threshold update unit 114 determines whether or not the absolute value of the current deviation is less than the reference difference (step S107).

今回偏差の絶対値が基準差未満である場合(ステップS107:YES)、閾値更新部114は、現閾値を閾値候補で更新する(ステップS108)。例えば、閾値更新部114は、対象のサービスのサービスIDに関連付けてサービス閾値DB14cに記憶されている現閾値を、閾値候補で書き換えてもよい(ステップS108)。次いで、閾値更新部114は、対象のサービスのサービスIDに関連付けて閾値候補DB14dに少なくとも一の候補情報が記憶されている場合、それらの候補情報を閾値候補DB14dから全て削除して(ステップS109)、閾値更新制御処理は終了する。 If the absolute value of the current deviation is less than the reference difference (step S107: YES), the threshold updating unit 114 updates the current threshold with the threshold candidate (step S108). For example, the threshold updating unit 114 may rewrite the current threshold associated with the service ID of the target service and stored in the service threshold DB 14c with the threshold candidate (step S108). Next, if at least one item of candidate information is stored in the threshold candidate DB 14d in association with the service ID of the target service, the threshold update unit 114 deletes all of the candidate information from the threshold candidate DB 14d (step S109). , the threshold update control process ends.

一方、今回偏差の絶対値が基準差以上である場合(ステップS107:NO)、閾値更新部114は、対象のサービスのサービスIDに関連付けて、候補情報をサービス閾値DB14cに追加して記憶させる(ステップS110)。このとき、閾値更新部114は、当時閾値としての現閾値及び閾値候補を、候補情報に含ませる。また、閾値更新部114は、対象のサービスのサービスIDに関連付けて既に記憶されている候補情報がない場合、追加する候補情報のインデックス値を1に設定する。一方、既に記憶されている候補情報がある場合、それらの候補情報に含まれるインデックス値のうち、最大のインデックス値に1を加算して、追加する候補情報のインデックス値を計算する。次いで、閾値更新部114は、サービス閾値DB14cに前回の候補情報が記憶されているか否かを判定する(ステップS111)。すなわち、閾値更新部114は、ステップS110よりも前の段階で、対象のサービスのサービスIDに関連付けて既に候補情報が記憶されているか否かを判定する。前回の候補情報は、今回追加された候補情報のインデックス値よりも1小さいインデックス値を有する候補情報である。前回の候補情報が記憶されていない場合(ステップS111:NO)、閾値更新部114は、現閾値を更新しないと決定して(ステップS114)、閾値更新制御処理は終了する。 On the other hand, if the absolute value of the current deviation is greater than or equal to the reference difference (step S107: NO), the threshold update unit 114 associates the service ID of the target service with the candidate information and stores it in addition to the service threshold DB 14c ( step S110). At this time, the threshold update unit 114 includes the current threshold and the threshold candidate as the current threshold in the candidate information. Further, if there is no candidate information already stored in association with the service ID of the target service, the threshold updating unit 114 sets the index value of the candidate information to be added to 1. On the other hand, if there is already stored candidate information, 1 is added to the maximum index value among the index values included in the candidate information to calculate the index value of the candidate information to be added. Next, the threshold updating unit 114 determines whether or not the previous candidate information is stored in the service threshold DB 14c (step S111). That is, the threshold updating unit 114 determines whether candidate information has already been stored in association with the service ID of the target service before step S110. The previous candidate information is candidate information having an index value that is one less than the index value of the candidate information added this time. If the previous candidate information is not stored (step S111: NO), the threshold update unit 114 determines not to update the current threshold (step S114), and ends the threshold update control process.

一方、前回の候補情報が記憶されている場合(ステップS111:YES)、閾値更新部114は、前回の候補情報に含まれる前回の閾値候補から、前回の候補情報に含まれる当時閾値を減算することにより、前回偏差を計算する(ステップS112)。次いで、閾値更新部114は、今回偏差の符号と前回偏差の符号とが一致するか否かを判定する(ステップS113)。今回偏差が正の値であり、且つ、前回偏差も正の値である場合、符号が一致する。また、今回偏差が負の値であり、且つ、前回偏差も負の値である場合、符号が一致する。符号が一致する場合(ステップS113:YES)、閾値更新部114は、現閾値を閾値候補で更新する(ステップS108)。符号が一致しない場合(ステップS113:NO)、閾値更新部114は、現閾値を更新しないと決定する(ステップS114)。なお、閾値更新部114は、今回偏差の絶対値が基準差以上である場合(ステップS107:YES)、前回偏差の絶対値が、今回計算された基準差以上であるか否かを更に判定してもよい。そして、閾値更新部114は、前回偏差の絶対値が今回の基準差未満である場合には、現閾値を更新しなくてもよい。 On the other hand, if the previous candidate information is stored (step S111: YES), the threshold update unit 114 subtracts the current threshold included in the previous candidate information from the previous threshold candidate included in the previous candidate information. Thus, the previous deviation is calculated (step S112). Next, the threshold update unit 114 determines whether or not the sign of the current deviation and the sign of the previous deviation match (step S113). If the current deviation is a positive value and the previous deviation is also a positive value, the signs match. Also, if the current deviation is a negative value and the previous deviation is also a negative value, the signs match. If the signs match (step S113: YES), the threshold updating unit 114 updates the current threshold with the threshold candidate (step S108). If the signs do not match (step S113: NO), the threshold updating unit 114 determines not to update the current threshold (step S114). If the absolute value of the current deviation is greater than or equal to the reference difference (step S107: YES), the threshold updating unit 114 further determines whether or not the absolute value of the previous deviation is greater than or equal to the currently calculated reference difference. may Then, when the absolute value of the previous deviation is less than the current reference difference, the threshold updating unit 114 does not have to update the current threshold.

以上説明したように、本実施形態において、センターサーバ1が、過去の第1参照期間中にテストの結果が得られたプロジェクトの第1バグ検出率を取得してもよい。また、センターサーバ1が、第1バグ検出率に基づいて、第1閾値候補を決定してもよい。また、センターサーバ1が、第1閾値候補と現閾値との差が基準差未満である場合、現閾値を第1閾値候補で更新してもよい。また、センターサーバ1が、現閾値が第1閾値候補で更新されなかった後、第1参照期間よりも後の日を含む過去の第2参照期間中にテストの結果が得られたプロジェクトの第2バグ検出率を取得してもよい。また、センターサーバ1が、第2バグ検出率に基づいて、第2閾値候補を決定してもよい。また、センターサーバ1が、第2閾値候補と現閾値との差が基準差以上である場合、現閾値を第2閾値候補で更新してもよい。この場合、第1閾値候補と現閾値との差が基準差以上であることで、現閾値が第1閾値候補で更新されなかった後、次のタイミングにおいても同様に、現閾値の第2閾値候補と現閾値との差が基準差以上である場合、現閾値が第2閾値候補で更新される。第1参照期間中にテストの結果が得られたプロジェクトのバグの第1バグ検出率に基づいて決定された現閾値の第1閾値候補と現閾値との間に差が生じた場合、その期間について、ソフトウェアの開発体制や開発環境に何らかの変化があった可能性がある。この変化を反映して、現閾値が更新される。その一方で、変化した状態は一時的なものであり、まもなく元の状態に戻る可能性がある。或いは、開発体制や開発環境に変化があったのではなく、偶然にも現閾値の第1閾値候補と現閾値との間に差が生じたのかもしれない。そこで、現閾値が大きく変更される場合の影響を鑑みて、現閾値は直ちには更新されない。その後、新たな第2参照期間中にテストの結果が得られたプロジェクトのバグの第2バグ検出率に基づいて決定された現閾値の第2閾値候補と現閾値との比較の結果、やはり差が大きいのであれば、変化した状態は或る程度継続されている可能性がある。そこで、現閾値が第2閾値候補で更新される。従って、ソフトウェアテストにおけるバグの検出率の閾値を適切に更新することができる。 As described above, in the present embodiment, the center server 1 may acquire the first bug detection rate of projects for which test results were obtained during the past first reference period. Alternatively, the center server 1 may determine the first threshold candidate based on the first bug detection rate. Further, when the difference between the first threshold candidate and the current threshold is less than the reference difference, the center server 1 may update the current threshold with the first threshold candidate. Also, after the current threshold is not updated with the first threshold candidate, the center server 1 determines the first 2 bug detection rate may be obtained. Alternatively, the center server 1 may determine the second threshold candidate based on the second bug detection rate. Further, when the difference between the second threshold candidate and the current threshold is greater than or equal to the reference difference, the center server 1 may update the current threshold with the second threshold candidate. In this case, after the current threshold is not updated with the first threshold candidate because the difference between the first threshold candidate and the current threshold is equal to or greater than the reference difference, the second threshold of the current threshold is similarly applied at the next timing. If the difference between the candidate and the current threshold is greater than or equal to the reference difference, the current threshold is updated with the second candidate threshold. If there is a difference between the current threshold and the first threshold candidate for the current threshold determined based on the first bug detection rate of the bugs in the project for which the test results were obtained during the first reference period, the period There may have been some changes in the software development system and development environment. The current threshold is updated to reflect this change. On the other hand, the altered state is temporary and may soon return to its original state. Alternatively, there may have been a difference between the first threshold candidate of the current threshold and the current threshold, rather than there being a change in the development system or development environment. Therefore, the current threshold is not updated immediately in view of the impact of a large change in the current threshold. After that, as a result of comparing the current threshold with the second candidate threshold determined based on the second bug detection rate of the bugs of the project for which the test results were obtained during the new second reference period, the difference If is large, there is a possibility that the changed state continues to some extent. The current threshold is then updated with the second candidate threshold. Therefore, it is possible to appropriately update the threshold for the detection rate of bugs in software testing.

ここで、バグ検出率が取得されるプロジェクトは、本テストの結果に基づいて、追加テストの実施の要否が決定されたプロジェクトのうち、追加テストの実施が決定されたプロジェクトであってもよい。この場合、追加テストが実施されたプロジェクトについてのバグの検出率を用いて、閾値候補が決定される。従って、更新された現閾値を用いて、所与のプロジェクトの追加テストの可能性を適切に判定することができる。 Here, the project for which the bug detection rate is obtained may be the project for which the implementation of the additional test has been decided among the projects for which the necessity of the implementation of the additional test has been decided based on the results of the main test. . In this case, the bug detection rates for the projects that have undergone additional testing are used to determine threshold candidates. Therefore, the updated current thresholds can be used to better determine the likelihood of additional testing for a given project.

このとき、センターサーバ1がバグ検出率のそれぞれとして、本テストで検出されたバグの検出率を取得してもよい。この場合、追加テストが実施されたプロジェクトについて、本テストで検出されたバグの検出率を用いて、閾値候補が決定される。追加テストの実施の要否の決定に影響する可能性があるバグの検出率を用いることで、閾値候補を適切に決定することができる。 At this time, the center server 1 may acquire the detection rate of bugs detected in the main test as each of the bug detection rates. In this case, the threshold candidate is determined using the detection rate of bugs detected in the main test for the project for which the additional test was performed. By using the detection rate of bugs, which may affect the decision of whether or not to perform additional tests, it is possible to appropriately determine the threshold candidates.

また、センターサーバ1が、第2閾値候補と現閾値との差が基準差以上であり、且つ、第1閾値候補と現閾値との差が基準差以上であるときにおいては、第2閾値候補と現閾値との間の大小関係と、第1閾値候補と現閾値との間の大小関係と、が一致する場合、現閾値を第2閾値候補で更新してもよい。この場合、変化した状態が継続している可能性を適切に現閾値に反映することができる。 Further, when the difference between the second threshold candidate and the current threshold is equal to or greater than the reference difference, and the difference between the first threshold candidate and the current threshold is equal to or greater than the reference difference, the center server 1 selects the second threshold candidate and the current threshold match the magnitude relationship between the first threshold candidate and the current threshold, the current threshold may be updated with the second threshold candidate. In this case, the possibility that the changed state continues can be appropriately reflected in the current threshold.

また、センターサーバ1が、閾値候補として、バグの検出率の代表値を計算してもよい。また、バグ検出率の代表値は、平均値及び中央値のうち何れか一方であってもよい。 Alternatively, the center server 1 may calculate a representative value of the bug detection rate as a threshold candidate. Also, the representative value of the bug detection rate may be either the average value or the median value.

また、センターサーバ1が、テスト中である所与のプロジェクトのテストで検出されたバグ検出率が現閾値以上である場合、そのプロジェクトについて追加テストを実施する可能性が、バグ検出率が現閾値未満である場合よりも高いことを示すリスク情報を出力してもよい。この場合、リスク情報が出力されることで、追加テストの実施を回避するために開発体制や開発環境の見直しを行うきっかけを開発者に与えることができる。 Further, when the bug detection rate detected in the tests of a given project under test is equal to or higher than the current threshold, the center server 1 determines the possibility of conducting additional tests for the project. Risk information may be output indicating higher than if less than. In this case, by outputting the risk information, it is possible to give the developer an opportunity to review the development system and development environment in order to avoid the execution of additional tests.

また、センターサーバ1が、ソフトウェアのテストにおけるバグの検出率の現閾値を取得してもよい。また、センターサーバ1が、過去にテストされた複数のプロジェクトそれぞれのバグ検出率を取得してもよい。また、センターサーバ1が、バグ検出率に基づいて、閾値候補を決定してもよい。また、センターサーバ1が、バグ検出率に基づいて、バグ検出率の外れ値とその外れ値以外の値との境となる特定値と、バグ検出率の代表値と、の基準差を決定してもよい。また、センターサーバ1が、現閾値と閾値候補との差が基準差未満である場合、現閾値を閾値候補で更新してもよい。この場合、基準差は、外れ値とならないバグの検出率の範囲に対応する。前述の理由と同様の理由により、現閾値が大きく変更される場合の影響を鑑みて、閾値候補と現閾値との差が基準差未満である場合に、現閾値が更新される。一方、閾値候補と現閾値との差が基準差以上である場合、現閾値は直ちに更新されないか、または他の条件に基づいて、現閾値の更新の要否が決定されてもよい。従って、ソフトウェアテストにおけるバグの検出率の閾値を適切に更新することができる。 Also, the center server 1 may acquire the current threshold of the bug detection rate in software testing. Also, the center server 1 may acquire the bug detection rate of each of a plurality of projects tested in the past. Alternatively, the center server 1 may determine threshold candidates based on the bug detection rate. Further, the center server 1 determines a reference difference between a specific value that is a boundary between an outlier of the bug detection rate and a value other than the outlier, and a representative value of the bug detection rate, based on the bug detection rate. may Further, when the difference between the current threshold and the threshold candidate is less than the reference difference, the center server 1 may update the current threshold with the threshold candidate. In this case, the reference difference corresponds to the range of detection rates of bugs that are not outliers. For reasons similar to those described above, the current threshold is updated when the difference between the threshold candidate and the current threshold is less than the reference difference, considering the impact of a large change in the current threshold. On the other hand, if the difference between the threshold candidate and the current threshold is greater than or equal to the reference difference, the current threshold may not be updated immediately, or whether to update the current threshold may be determined based on other conditions. Therefore, it is possible to appropriately update the threshold for the detection rate of bugs in software testing.

ここで、センターサーバ1が、バグ検出率の標準偏差に基づいて、基準差を決定してもよい。この場合、バグの検出率の標準偏差を用いることで、基準差を適切に決定することができる。 Here, the center server 1 may determine the reference difference based on the standard deviation of the bug detection rate. In this case, the standard deviation of the bug detection rate can be used to appropriately determine the reference difference.

1 センターサーバ
2 開発端末
11 システム制御部
12 システムバス
13 入出力インターフェース
14 記憶部
14a プロジェクトDB
14b テスト報告書DB
14c サービス閾値DB
14d 閾値候補DB
14e プロジェクト閾値DB
NW ネットワーク
111 バグ検出率取得部
112 閾値候補決定部
113 閾値取得部
114 閾値更新部
115 基準差決定部
116 情報出力部
1 center server 2 development terminal 11 system control unit 12 system bus 13 input/output interface 14 storage unit 14a project DB
14b Test report DB
14c Service threshold DB
14d threshold candidate DB
14e Project threshold DB
NW network 111 bug detection rate acquisition unit 112 threshold candidate determination unit 113 threshold acquisition unit 114 threshold update unit 115 reference difference determination unit 116 information output unit

Claims (9)

過去の第1期間中にテストの結果が得られた第1テスト対象のバグの第1検出率を取得する取得手段と、
前記取得された第1検出率に基づいて、バグの検出率の閾値の第1候補を決定する決定手段と、
前記決定された第1候補と前記閾値との差が所定値未満である場合、前記閾値を前記第1候補で更新する更新手段と、
を備え、
前記取得手段は、前記更新手段により前記閾値が前記第1候補で更新されなかった後、前記第1期間よりも後の日を含む過去の第2期間中にテストの結果が得られた第2テスト対象のバグの第2検出率を取得し、
前記決定手段は、前記取得された第2検出率に基づいて、前記閾値の第2候補を決定し、
前記更新手段は、前記第2候補と前記閾値との差が前記所定値以上である場合、前記閾値を前記第2候補で更新することを特徴とするバグ検出率閾値更新システム。
an acquisition means for acquiring a first detection rate of bugs of a first test target for which test results were obtained during a past first period;
determining means for determining a first candidate for a bug detection rate threshold based on the acquired first detection rate;
updating means for updating the threshold with the first candidate when the difference between the determined first candidate and the threshold is less than a predetermined value;
with
The obtaining means obtains a second test result during a past second period including days later than the first period after the threshold was not updated with the first candidate by the updating means. obtain a second detection rate of the bug under test;
The determining means determines a second candidate for the threshold based on the obtained second detection rate,
The bug detection rate threshold updating system, wherein the updating means updates the threshold with the second candidate when a difference between the second candidate and the threshold is equal to or greater than the predetermined value.
前記第1テスト対象及び前記第2テスト対象のそれぞれは、予定されたテストの結果に基づいて、追加テストの実施の要否が決定されたテスト対象のうち、前記追加テストを実施することが決定されたテスト対象であることを特徴とする請求項1に記載のバグ検出率閾値更新システム。 Each of the first test subject and the second test subject is determined to perform the additional test among the test subjects for which it is determined whether or not to perform the additional test based on the results of the scheduled tests. 2. The bug detection rate threshold update system according to claim 1, wherein the bug detection rate threshold update system is a test object that has been tested. 前記取得手段は、前記第1検出率及び前記第2検出率のそれぞれとして、前記予定されたテストで検出されたバグの検出率を取得することを特徴とする請求項2に記載のバグ検出率閾値更新システム。 3. The bug detection rate according to claim 2, wherein said acquisition means acquires detection rates of bugs detected in said scheduled test as said first detection rate and said second detection rate, respectively. Threshold update system. 前記更新手段は、前記第2候補と前記閾値との差が前記所定値以上であり、且つ、前記第1候補と前記閾値との差が前記所定値以上であるときにおいては、前記第2候補と前記閾値との間の大小関係と、前記第1候補と前記閾値との間の大小関係と、が一致する場合、前記閾値を前記第2候補で更新することを特徴とする請求項1乃至3の何れか一項に記載のバグ検出率閾値更新システム。 When the difference between the second candidate and the threshold value is greater than or equal to the predetermined value and the difference between the first candidate and the threshold value is greater than or equal to the predetermined value, the updating means updates the second candidate and the threshold, and the magnitude relationship between the first candidate and the threshold match, the threshold is updated with the second candidate. 4. The bug detection rate threshold updating system according to any one of 3. 前記決定手段は、前記第1候補及び前記第2候補それぞれとして、前記バグの検出率の代表値を計算することを特徴とする請求項1乃至4の何れか一項に記載のバグ検出率閾値更新システム。 5. The bug detection rate threshold according to any one of claims 1 to 4, wherein the determining means calculates a representative value of the bug detection rate for each of the first candidate and the second candidate. update system. 前記代表値は、平均値及び中央値のうち何れか一方であることを特徴とする請求項5に記載のバグ検出率閾値更新システム。 6. The bug detection rate threshold updating system according to claim 5, wherein the representative value is one of an average value and a median value. テスト中である所与のテスト対象の前記テストで検出されたバグの検出率が前記閾値以上である場合、前記所与のテスト対象について追加テストを実施する可能性が、前記バグの検出率が前記閾値未満である場合よりも高いことを示す可能性情報を出力する出力手段を更に備えることを特徴とする請求項1乃至6の何れか一項に記載のバグ検出率閾値更新システム。 If the detection rate of bugs detected in the test for a given test target that is being tested is equal to or greater than the threshold, the possibility of performing an additional test for the given test target is determined if the detection rate of the bug is 7. The bug detection rate threshold update system according to claim 1, further comprising output means for outputting possibility information indicating that the probability is higher than the case of being less than the threshold. コンピュータにより実行されるバグ検出率閾値更新方法において、
過去の第1期間中にテストの結果が得られた第1テスト対象のバグの第1検出率を取得する第1取得ステップと、
前記取得された第1検出率に基づいて、バグの検出率の閾値の第1候補を決定する第1決定ステップと、
前記決定された第1候補と前記閾値との差が所定値未満である場合、前記閾値を前記第1候補で更新する第1更新ステップと、
前記第1更新ステップにより前記閾値が前記第1候補で更新されなかった後、前記第1期間よりも後の日を含む過去の第2期間中にテストの結果が得られた第2テスト対象のバグの第2検出率を取得する第2取得ステップと、
前記取得された第2検出率に基づいて、前記閾値の第2候補を決定する第2決定ステップと、
前記第2候補と前記閾値との差が前記所定値以上である場合、前記閾値を前記第2候補で更新する第2更新ステップと、
を含むことを特徴とするバグ検出率閾値更新方法。
A computer-implemented bug detection rate threshold updating method comprising:
a first acquisition step of acquiring a first detection rate of bugs of a first test target for which test results were obtained during a past first period;
a first determination step of determining a first candidate for a bug detection rate threshold based on the obtained first detection rate;
a first updating step of updating the threshold with the first candidate if the difference between the determined first candidate and the threshold is less than a predetermined value;
of a second test subject for whom a test result was obtained during a past second time period including days later than the first time period after the first updating step did not update the threshold with the first candidate; a second obtaining step of obtaining a second detection rate of bugs;
a second determination step of determining a second candidate for the threshold based on the obtained second detection rate;
a second updating step of updating the threshold with the second candidate when the difference between the second candidate and the threshold is equal to or greater than the predetermined value;
A method for updating a bug detection rate threshold, comprising:
コンピュータを、
過去の第1期間中にテストの結果が得られた第1テスト対象のバグの第1検出率を取得する取得手段と、
前記取得された第1検出率に基づいて、バグの検出率の閾値の第1候補を決定する決定手段と、
前記決定された第1候補と前記閾値との差が所定値未満である場合、前記閾値を前記第1候補で更新する更新手段、
として機能させ、
前記取得手段は、前記更新手段により前記閾値が前記第1候補で更新されなかった後、前記第1期間よりも後の日を含む過去の第2期間中にテストの結果が得られた第2テスト対象のバグの第2検出率を取得し、
前記決定手段は、前記取得された第2検出率に基づいて、前記閾値の第2候補を決定し、
前記更新手段は、前記第2候補と前記閾値との差が前記所定値以上である場合、前記閾値を前記第2候補で更新することを特徴とするバグ検出率閾値更新プログラム。
the computer,
an acquisition means for acquiring a first detection rate of bugs of a first test target for which test results were obtained during a past first period;
determining means for determining a first candidate for a bug detection rate threshold based on the acquired first detection rate;
updating means for updating the threshold with the first candidate when the difference between the determined first candidate and the threshold is less than a predetermined value;
function as
The obtaining means obtains a second test result during a past second period including days later than the first period after the threshold was not updated with the first candidate by the updating means. obtain a second detection rate of the bug under test;
The determining means determines a second candidate for the threshold based on the obtained second detection rate,
The bug detection rate threshold updating program, wherein the updating means updates the threshold with the second candidate when a difference between the second candidate and the threshold is equal to or greater than the predetermined value.
JP2022051389A 2022-03-28 2022-03-28 Bug Detection Rate Threshold Updating System, Bug Detection Rate Threshold Updating Method, and Bug Detection Rate Threshold Updating Program Active JP7296501B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022051389A JP7296501B1 (en) 2022-03-28 2022-03-28 Bug Detection Rate Threshold Updating System, Bug Detection Rate Threshold Updating Method, and Bug Detection Rate Threshold Updating Program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022051389A JP7296501B1 (en) 2022-03-28 2022-03-28 Bug Detection Rate Threshold Updating System, Bug Detection Rate Threshold Updating Method, and Bug Detection Rate Threshold Updating Program

Publications (2)

Publication Number Publication Date
JP7296501B1 true JP7296501B1 (en) 2023-06-22
JP2023144422A JP2023144422A (en) 2023-10-11

Family

ID=86772816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022051389A Active JP7296501B1 (en) 2022-03-28 2022-03-28 Bug Detection Rate Threshold Updating System, Bug Detection Rate Threshold Updating Method, and Bug Detection Rate Threshold Updating Program

Country Status (1)

Country Link
JP (1) JP7296501B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170153967A1 (en) 2014-02-06 2017-06-01 B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University Using model-based diagnosis to improve software testing
JP2019101582A (en) 2017-11-29 2019-06-24 トヨタ自動車株式会社 Software quality determination device, software quality determination method, and software quality determination program
JP2019101581A (en) 2017-11-29 2019-06-24 トヨタ自動車株式会社 Software quality determination device, software quality determination method, and software quality determination program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019003333A (en) * 2017-06-13 2019-01-10 日本電信電話株式会社 Bug contamination probability calculation program and bug contamination probability calculation method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170153967A1 (en) 2014-02-06 2017-06-01 B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University Using model-based diagnosis to improve software testing
JP2019101582A (en) 2017-11-29 2019-06-24 トヨタ自動車株式会社 Software quality determination device, software quality determination method, and software quality determination program
JP2019101581A (en) 2017-11-29 2019-06-24 トヨタ自動車株式会社 Software quality determination device, software quality determination method, and software quality determination program

Also Published As

Publication number Publication date
JP2023144422A (en) 2023-10-11

Similar Documents

Publication Publication Date Title
US7571191B2 (en) Defining a data analysis process
US8255255B2 (en) System and methods of managing assignments
US6964044B1 (en) System and process for management of changes and modifications in a process
US20130275165A1 (en) Information providing apparatus, information providing method, information providing program, and recording medium
CN101339641A (en) Method and system to process issue data pertaining to a system
US10504045B2 (en) Audit schedule determination
JP4913647B2 (en) Mental health management device
JP7296502B1 (en) Bug Detection Rate Threshold Updating System, Bug Detection Rate Threshold Updating Method, and Bug Detection Rate Threshold Updating Program
US20210185000A1 (en) Dynamic Email Content Engine
CN109598404A (en) Automatically to the method and apparatus for issuing the progress data processing of sales task list
CN111190817B (en) Method and device for processing software defects
CN114066336A (en) Bidding risk control method and device
US20140188554A1 (en) Priority-Weighted Selection to Match a Panelist to a Market Research Project
JP7296501B1 (en) Bug Detection Rate Threshold Updating System, Bug Detection Rate Threshold Updating Method, and Bug Detection Rate Threshold Updating Program
JP4913648B2 (en) Mental health management device
US20210097459A1 (en) Worker assignment system and worker assignment device
CN112005232A (en) Vulnerability status report
CN108537654B (en) Rendering method and device of customer relationship network graph, terminal equipment and medium
JP2006058974A (en) Work management system
CN115311043A (en) Service resource information processing method and device, storage medium and computer equipment
KR20160086243A (en) System and method for provding contents search result page
CN115391655A (en) Information query method and device, electronic equipment and computer readable storage medium
CN111476511B (en) Data display method and device for specific risks faced by server
De Baets et al. Incorporating external factors into time series forecasts
US20230316422A1 (en) Reward engines

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220328

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: 20230531

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230612

R150 Certificate of patent or registration of utility model

Ref document number: 7296501

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150