JP2020087106A - Test support method, test execution method, test support device and computer program - Google Patents

Test support method, test execution method, test support device and computer program Download PDF

Info

Publication number
JP2020087106A
JP2020087106A JP2018222337A JP2018222337A JP2020087106A JP 2020087106 A JP2020087106 A JP 2020087106A JP 2018222337 A JP2018222337 A JP 2018222337A JP 2018222337 A JP2018222337 A JP 2018222337A JP 2020087106 A JP2020087106 A JP 2020087106A
Authority
JP
Japan
Prior art keywords
test
user
priority
inquiry
calculated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018222337A
Other languages
Japanese (ja)
Other versions
JP6913071B2 (en
Inventor
陽介 大朏
Yosuke Otsuki
陽介 大朏
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.)
JSOL Corp
Original Assignee
JSOL Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by JSOL Corp filed Critical JSOL Corp
Priority to JP2018222337A priority Critical patent/JP6913071B2/en
Publication of JP2020087106A publication Critical patent/JP2020087106A/en
Application granted granted Critical
Publication of JP6913071B2 publication Critical patent/JP6913071B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

To provide a test support method, a test execution method, a test support device and a computer program that realize efficiently selecting a method of a test.SOLUTION: A test support method comprises: storing inquiries from a different user including any of a predetermined plurality of keywords corresponding to a software program; extracting any of the predetermined plurality of keywords included in the inquiries from the user; calculating a value indicating a priority for the extracted keyword on the basis of an appearance frequency of the extracted keyword or importance of a user of an inquiry source; and outputting the predetermined plurality of keywords and the value indicating the calculated priority by associating them with each other.SELECTED DRAWING: Figure 1

Description

本開示は、ソフトウェアプログラムのテスト工程の効率化を実現するテスト支援方法、テスト実行方法、テスト支援装置及びコンピュータプログラムに関する。 The present disclosure relates to a test support method, a test execution method, a test support device, and a computer program that realize the efficiency of a test process of a software program.

多くのソフトウェアプログラムの開発では、ソフトウェアプログラムの品質管理を短期間で実現するために継続的改善(Continuous Integration)と呼ばれる品質改善手法が採用され、作成(ビルド)・テスト・デプロイを循環的に繰り返されている。非特許文献1には、あるプログラムが多数のユーザによって保守・更新された履歴が開示されている。 In the development of many software programs, a quality improvement method called continuous integration (Continuous Integration) is adopted to realize quality control of the software program in a short period of time, and build (test), deploy, and deploy are cyclically repeated. Has been. Non-Patent Document 1 discloses a history in which a certain program is maintained/updated by many users.

継続的改善の内のテスト工程では、プログラムのリリース後のバグ修正、機能追加等に応じた部分変更に対し、他の部分に影響がないか否かをテストする回帰テスト(regression testing)が行なわれる。回帰テストは継続的改善にとって重要であるが、時間及び費用を要し、プログラムの生涯管理費用の50−66%を要するとされている(非特許文献2)。 In the test process of continuous improvement, a regression test is performed to test whether there is any effect on other parts in response to bug fixes after the release of the program, or partial changes due to the addition of functions. Be done. Regression testing is important for continuous improvement, but it is time consuming and costly, accounting for 50-66% of the program's lifetime management costs (Non-Patent Document 2).

多くの回帰テストは、テスト担当者により、対象のソフトウェアプログラムが使用される状況を仮定して策定され、状況に則して実行される。しかしながら人手で策定するので工数を要する。回帰テストについては従来、自動でテストを行なうスクリプトの作成、修正箇所と関係するデータを扱うテストのみに絞り込む等、効率化に向けて多くの工夫がされている。その中でも非特許文献3には、ソフトウェアプログラムに含まれる関数又は変数の依存性を有効グラフとしてモデル化し、任意の入力群に対して重要度を決定し、テストの優先度を決定する方法が開示されている。このような方法で効率的にテストを選定して実行することが提案されている。 Many regression tests are created by testers under the assumption that the software program in question is used, and executed according to the situation. However, it requires man-hours because it is manually created. Regarding regression tests, many innovations have been made in the past to improve efficiency, such as creating scripts for automatic testing and narrowing down to tests that handle data related to corrections. Among them, Non-Patent Document 3 discloses a method in which the dependency of a function or variable included in a software program is modeled as an effective graph, the importance is determined for an arbitrary input group, and the test priority is determined. Has been done. It has been proposed to efficiently select and execute tests by such a method.

コンピュータ上で対象物における物理現象の解析を実現するソフトウェアプログラム、所謂CAE(Computer Aided Engineering)プログラムは、構造解析、溶接ひずみ解析、熱流体解析、電磁界解析等の様々な分野で利用されている。物理現象解析用のソフトウェアプログラムはシミュレーションを実行するために解析に長時間を要し、仕様として解析の前提条件となる対象物の形状(構造)、材料、条件等を設定するためのファイルを読み込み、解析の結果をファイルとして出力するものがある(特許文献1等)。このとき、入出力されるファイルは、物理現象解析用のソフトウェアプログラム夫々について設定されているパラメータ名、変数名、関数名、所定値、エラー番号等に対応する予約語(キーワード)に、数値、論理値等を対応させて記述される(非特許文献4等)。 A so-called CAE (Computer Aided Engineering) program that realizes analysis of physical phenomena in an object on a computer is used in various fields such as structural analysis, welding strain analysis, thermo-fluid analysis, and electromagnetic field analysis. .. The software program for physical phenomenon analysis takes a long time to perform the simulation in order to execute the simulation, and reads the file for setting the shape (structure), material, condition, etc. of the object that is the prerequisite of the analysis as a specification. , There is one that outputs the analysis result as a file (Patent Document 1, etc.). At this time, the input/output file is a reserved word (keyword) corresponding to a parameter name, a variable name, a function name, a predetermined value, an error number, etc. set for each software program for physical phenomenon analysis, and a numerical value, It is described by associating logical values and the like (Non-Patent Document 4, etc.).

国際公開2013/084306号International publication 2013/084306

“Debian Continuous Integration”、[online]、Debian Project、[2018年08月10日検索]、インターネット<URL:https://ci.debian.net/>"Debian Continuous Integration", [online], Debian Project, [Search August 10, 2018], Internet <URL:https://ci.debian.net/> R. Pressman、“Software Engineering : A Practitioner's Approach”、McGraw-Hill Education、米国、2000年R. Pressman, “Software Engineering: A Practitioner's Approach”, McGraw-Hill Education, USA, 2000 Swarnendu Biswas et al.、“Regression Test Selection Techniques: A Survey”、Informatica 35、2011年、pp.289-321、インターネット<URL:https://users.ices.utexas.edu/~sbiswas/files/papers/informaticasurvey.pdf>Swarnendu Biswas et al., “Regression Test Selection Techniques: A Survey”, Informatica 35, 2011, pp.289-321, Internet <URL:https://users.ices.utexas.edu/~sbiswas/files/papers /informaticasurvey.pdf> “LS-DYNA Manual R10.0-Vol I”、[online]、2017年10月16日、Livermore Software Technology Corporation 、[2018年08月10日検索]、インターネット<URL:https://www.dynasupport.com/manuals/ls-dyna-manuals/ls-dyna-manual-r10.0-vol-i>"LS-DYNA Manual R10.0-Vol I", [online], October 16, 2017, Livermore Software Technology Corporation, [search on August 10, 2018], internet <URL:https://www.dynasupport .com/manuals/ls-dyna-manuals/ls-dyna-manual-r10.0-vol-i>

この種の物理現象解析用のソフトウェアプログラムは、対象物の形状も千差万別であり、材料との組み合わせ、境界条件との組み合わせも多様である。このため非特許文献1に開示されているように、入出力ファイルの記述に利用される予約語の種類も多く、解析対象を記述するための予約語の組み合わせの数は膨大な組み合わせになる。したがって、物理現象解析用のソフトウェアプログラムに対するテストケースも、基本的にはその予約語毎に存在するため更に膨大な数となる。 This kind of software program for physical phenomenon analysis has various shapes of objects, and there are various combinations with materials and boundary conditions. For this reason, as disclosed in Non-Patent Document 1, there are many types of reserved words used to describe the input/output file, and the number of combinations of reserved words for describing the analysis target is enormous. Therefore, the number of test cases for the software program for physical phenomenon analysis is basically larger for each reserved word.

物理現象解析用のソフトウェアプログラムに上述したようなテストの選定方法を適用することで膨大な数のテストケースから絞り込みが可能ではある。しかしながら、変更点と関係するデータ周辺に回帰テストを絞り込むことができたとしても、それがユーザのニーズに対応しているとも限らず、ニーズの高い部分のテストを効率化できるとは限らない。また、他から提供されたソフトウェアプログラムを取りこむ構成とした場合、その構成が不明であったり複雑であったりする場合には、ソフトウェアプログラムの設計情報に基づくテストの選定ができるとも限らない。 By applying the test selection method described above to the software program for physical phenomenon analysis, it is possible to narrow down from a huge number of test cases. However, even if the regression test can be narrowed down around the data related to the change, it does not always correspond to the needs of the user, and it is not always possible to improve the efficiency of the test of the part with high needs. Further, when the configuration is such that a software program provided from another is incorporated and the configuration is unknown or complicated, it is not always possible to select a test based on the design information of the software program.

本開示の目的は、ソフトウェアプログラムのテストの優先度を更新してテストの工数を削減し、ユーザからのニーズに応えた継続的改善のためのテストの自動運用を実現するテスト支援方法、テスト実行方法、テスト支援装置及びコンピュータプログラムを提供することである。 An object of the present disclosure is to update a test priority of a software program to reduce a test man-hour, and a test support method and a test execution for realizing a test automatic operation for continuous improvement in response to a user's need. A method, a test support device, and a computer program are provided.

本開示の一態様に係るテスト支援方法は、ソフトウェアプログラムに対応する所定の複数のキーワードの内のいずれかを含む異なるユーザからの問い合わせを記憶し、前記ユーザからの問い合わせに含まれる前記所定の複数のキーワードのいずれかを抽出し、抽出したキーワードの出現頻度、又は問い合わせ元のユーザの重要度に基づいて、抽出されたキーワードに対する優先度を示す値を算出し、前記所定の複数のキーワードと算出された優先度を示す値とを対応付けて出力する。 A test support method according to an aspect of the present disclosure stores an inquiry from a different user including any of a plurality of predetermined keywords corresponding to a software program, and the predetermined plurality of items included in the inquiry from the user. Of the extracted keywords, and calculates the value indicating the priority of the extracted keywords based on the appearance frequency of the extracted keywords or the importance of the user who made the inquiry, and calculates the predetermined plurality of keywords. The value indicating the priority thus set is output in association with the value.

本開示の一態様に係るテスト実行方法は、ソフトウェアプログラムの更新完了が検知された場合に、前記ソフトウェアプログラムに対応する所定の複数のキーワードに対し、ユーザからの問い合わせに基づき算出されてある優先度によって抽出されたテストケースをコンピュータが参照し、前記コンピュータは、参照したテストケースを実行する。 In a test execution method according to an aspect of the present disclosure, when update completion of a software program is detected, a priority calculated based on an inquiry from a user with respect to a plurality of predetermined keywords corresponding to the software program. The computer refers to the test case extracted by, and the computer executes the referenced test case.

本開示の一態様に係るテスト支援装置は、ソフトウェアプログラムに対応する所定の複数のキーワードの内のいずれかを含む異なるユーザからの問い合わせを記憶する記憶部と、前記ユーザからの問い合わせに含まれる前記所定の複数のキーワードの内のいずれかを抽出する抽出部と、抽出したキーワードの出現頻度、又は問い合わせ元のユーザの重要度に基づいて、抽出されたキーワードに対する優先度を示す値を算出する算出部と、前記所定の複数のキーワードと算出された優先度を示す値とを対応付けて出力する出力部とを備える。 A test support apparatus according to an aspect of the present disclosure includes a storage unit that stores an inquiry from a different user including any of a plurality of predetermined keywords corresponding to a software program, and the storage unit included in the inquiry from the user. An extraction unit that extracts any of a plurality of predetermined keywords, and a calculation that calculates a value indicating the priority for the extracted keyword based on the appearance frequency of the extracted keyword or the importance of the user who made the inquiry. And an output unit that outputs the predetermined plurality of keywords in association with the calculated value indicating the priority.

本開示の一態様に係るコンピュータプログラムは、コンピュータに、ソフトウェアプログラムに対応する所定の複数のキーワードの内のいずれかを含む異なるユーザからの問い合わせを記録し、前記ユーザからの問い合わせに含まれる前記所定の複数のキーワードの内のいずれかを抽出し、抽出したキーワードの出現頻度、又は問い合わせ元のユーザの重要度に基づいて、抽出されたキーワードに対する優先度を示す値を算出し、前記所定の複数のキーワードと算出された優先度を示す値とを対応付けて出力する処理を実行させる。 A computer program according to an aspect of the present disclosure records, in a computer, an inquiry from a different user including any of a plurality of predetermined keywords corresponding to a software program, and the predetermined information included in the inquiry from the user. Any of the plurality of keywords is extracted, and based on the appearance frequency of the extracted keyword or the importance of the user who made the inquiry, a value indicating the priority for the extracted keyword is calculated, and the predetermined plurality of The process of outputting the keyword and the value indicating the calculated priority in association with each other is executed.

本開示の一態様では、所定のソフトウェアプログラム用に設定されているパラメータ名、変数名、関数名、所定値、エラー番号等に対応するキーワード(予約語)の内、いずれか1つ又は複数を含む異なるユーザからの問い合わせが解析され、キーワードの優先度を示す値がその問い合わせ元のユーザの顧客としての重要度を反映させて算出される。キーワードの優先度を示す値が算出されることで、優先度の高いキーワードをより多く含むか、より相関が高いテストケースが選定される。 According to one aspect of the present disclosure, any one or a plurality of keywords (reserved words) corresponding to parameter names, variable names, function names, predetermined values, error numbers, etc. set for a predetermined software program are used. Inquiries from different users are analyzed, and a value indicating the priority of the keyword is calculated by reflecting the importance of the user of the inquiry source as a customer. By calculating the value indicating the priority of the keyword, a test case including more keywords having higher priority or having higher correlation is selected.

本開示の一態様では、優先度を示す値は、異なる期間毎に算出された出現頻度又は重要度をより古い期間のそれらの値の影響をより低くして加算して算出される。 In one aspect of the present disclosure, the value indicating the priority is calculated by adding the appearance frequency or the importance calculated for each different period with a lower influence of those values in the older period.

本開示の一態様では、優先度を示す値は、対象のソフトウェアプログラムに関する往訪回数、契約ライセンス数、売上高等のいずれか1つ又は全部を要素として用いて算出されるとよい。要素毎に異なる重み付けが付与されて算出されてもよい。 In one aspect of the present disclosure, the value indicating the priority may be calculated by using any one or all of the number of visits regarding the target software program, the number of contract licenses, and the sales amount as an element. Different weights may be given to each element for calculation.

本開示の一態様では、問い合わせに含まれているキーワードについて、その問い合わせの中で文脈上重要であるか否かを判定する学習モデルを用い、その重要度を用いて優先度を示す値が算出される。 According to an aspect of the present disclosure, a learning model for determining whether or not a keyword included in an inquiry is important in the context of the inquiry is used, and a value indicating a priority is calculated using the importance. To be done.

本開示のテスト支援方法、テスト実行方法、テスト支援装置及びコンピュータプログラムによれば、効率良くテストの方法を選定することができる。 According to the test support method, test execution method, test support apparatus, and computer program of the present disclosure, it is possible to efficiently select a test method.

本実施の形態におけるテスト支援装置の概要を示す図である。It is a figure which shows the outline of the test support apparatus in this Embodiment. テスト支援装置の構成を示すブロック図である。It is a block diagram which shows the structure of a test support apparatus. テストケースの選定の処理手順の一例を示すフローチャートである。It is a flow chart which shows an example of the processing procedure of selection of a test case. テストの自動実行処理手順の一例を示すフローチャートである。It is a flow chart which shows an example of the automatic execution processing procedure of a test. 優先度の算出方法の一例を示すフローチャートである。6 is a flowchart showing an example of a priority calculation method. テストケースの例を示す説明図である。It is explanatory drawing which shows the example of a test case. 変形例1における優先度の算出方法を示すフローチャートである。9 is a flowchart showing a method of calculating a priority in Modification 1. 変形例2における優先度の算出方法を示すフローチャートである。9 is a flowchart showing a method of calculating a priority in Modification 2. 学習モデルの内容例を示す図である。It is a figure which shows the example of the content of a learning model. 変形例3における優先度の算出方法を示すフローチャートである。9 is a flowchart showing a method of calculating a priority in Modification 3.

本開示の実施形態に係るテスト支援装置及びコンピュータプログラムの具体例を以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。 Specific examples of the test support device and the computer program according to the embodiment of the present disclosure will be described below with reference to the drawings. It should be noted that the present invention is not limited to these exemplifications, and is shown by the scope of the claims, and is intended to include meanings equivalent to the scope of the claims and all modifications within the scope.

図1は、本実施の形態におけるテスト支援装置1の概要を示す図である。テスト支援装置1は、解析プログラム1Pの利用についてユーザへのサポートを実現するサポートサービス、及び解析プログラム1Pの販売管理を行なうサービスと連携し、解析プログラム1Pの開発、改良を支援する。解析プログラム1Pは、物理現象解析用のシミュレーション演算を実行するエンジンを含む。シミュレーション演算では膨大なステップの演算が実行され、物理現象は多様であり、演算で使用される境界条件等も多様であり、解析プログラム1Pを実行する解析用コンピュータにおいて、解析プログラム1Pからエラーが出力されたり、強制終了したりする場合がある。解析プログラム1Pによる演算がユーザの意図通りにいかない場合に、ユーザはサポートサービス提供者へ問い合わせを行なう。サポートサービス提供者は、問い合わせを受け付け、受け付けた問い合わせのデータを記録し、これに基づき解析プログラム1Pの使用方法について、ユーザへサポートを実施する。テスト支援装置1は、サポートサービス提供者への問い合わせを元に解析プログラム1Pのテストを効率的に自動実行し、バグの洗い出し、又は機能の改善等を行なう。 FIG. 1 is a diagram showing an outline of a test support device 1 according to the present embodiment. The test support device 1 cooperates with a support service that realizes support to the user regarding the use of the analysis program 1P and a service that manages sales of the analysis program 1P, and supports the development and improvement of the analysis program 1P. The analysis program 1P includes an engine that executes a simulation calculation for physical phenomenon analysis. In simulation calculation, a huge number of steps are executed, physical phenomena are various, boundary conditions used in the calculation are also various, and an error is output from the analysis program 1P in the analysis computer that executes the analysis program 1P. It may be terminated or forced to terminate. When the calculation by the analysis program 1P does not go as intended by the user, the user makes an inquiry to the support service provider. The support service provider accepts the inquiry, records the received inquiry data, and provides the user with support on how to use the analysis program 1P based on the data. The test support device 1 efficiently and automatically executes the test of the analysis program 1P based on the inquiry to the support service provider to identify bugs or improve functions.

本実施の形態のテスト支援装置1が対象とする解析プログラム1Pは物理現象解析用エンジンを含む。この物理現象解析用エンジンは、予め設定されているパラメータ名、変数名、関数名、所定値、エラー番号等に対応する予約語(キーワード)に、数値、論理値等を対応させて記述された入力ファイルIFを読み込んで処理を実行する。物理現象解析用エンジンの予約語の数は膨大であり、単純な予約語の組み合わせのみでも数万であり、更にその予約語に対するパラメータ値(数値、論理値等)のバリエーションを考慮すれば、全数テストは不可能である。そこで本実施の形態におけるテスト支援装置1が、優先して実行すべきテストケースに対応する入力ファイルIFを、ユーザへのサポートに関する情報に基づいて定まる予約語の優先度によって選定する。テスト支援装置1は、選定した入力ファイルIFを用いたテストケースに対応する自動スクリプトを実行し、実行結果を記憶装置3に出力する。 The analysis program 1P targeted by the test support device 1 of the present embodiment includes a physical phenomenon analysis engine. In this physical phenomenon analysis engine, reserved words (keywords) corresponding to preset parameter names, variable names, function names, predetermined values, error numbers, etc. are described by associating numerical values, logical values, etc. The input file IF is read and the processing is executed. The number of reserved words in the physical phenomenon analysis engine is enormous, and even a simple combination of reserved words is tens of thousands. Considering variations in parameter values (numerical value, logical value, etc.) for the reserved words, the total number is 100%. Testing is impossible. Therefore, the test support apparatus 1 according to the present embodiment selects the input file IF corresponding to the test case to be preferentially executed according to the priority of the reserved word determined based on the information regarding the support to the user. The test support device 1 executes the automatic script corresponding to the test case using the selected input file IF, and outputs the execution result to the storage device 3.

テスト支援装置1は、サポートサービスの事業者が管理するサーバ装置2及び記憶装置3に接続される。テスト支援装置1、サーバ装置2、及び記憶装置3は、同一のローカルネットワークLNに接続されている。サーバ装置2は、ローカルネットワークLN及び公衆ネットワークNを介してユーザが用いる通信端末装置5との間で情報の送受信が可能である。 The test support device 1 is connected to a server device 2 and a storage device 3 managed by a support service provider. The test support device 1, the server device 2, and the storage device 3 are connected to the same local network LN. The server device 2 can send and receive information to and from the communication terminal device 5 used by the user via the local network LN and the public network N.

サーバ装置2は、サポートサービスの管理者を送信者又は受信者とするメールを送受信するメールサーバの機能を含み、ユーザからの問い合わせに対するインタフェースとして機能する。サーバ装置2は、サポートサービスが対象としている解析プログラム1Pについての問い合わせメールを記憶装置3に記憶させることが可能である。メールには送信時間又は受信時間等の時間情報が含まれている。その他、サーバ装置2は、Webサーバの機能を有して、Webページ上で解析プログラム1Pについての問い合わせを受け付ける。サーバ装置2はユーザ毎の問い合わせの内容を、問い合わせを受け付けた時間情報に対応付けて記憶装置3に記憶する。更にサーバ装置2は、解析プログラム1Pに関するサポートについての情報を記憶装置3に記憶する。なお実施の形態1の説明では、サーバ装置2がメールサーバ及びWebサーバの機能を有する1台のサーバコンピュータとして説明を容易にしている。サーバ装置2は、複数のサーバコンピュータ及び記憶媒体に分散して処理を行なってもよいし、1台の大型コンピュータに仮想的に生成される複数のサーバコンピュータ(インスタンス)の内の1つであってもよい。 The server device 2 includes a function of a mail server that sends and receives a mail with the administrator of the support service as a sender or a recipient, and functions as an interface for inquiries from users. The server device 2 can store an inquiry mail about the analysis program 1P targeted by the support service in the storage device 3. The email includes time information such as the transmission time or the reception time. In addition, the server device 2 has a function of a web server and receives an inquiry about the analysis program 1P on the web page. The server device 2 stores the content of the inquiry for each user in the storage device 3 in association with the time information when the inquiry is received. Further, the server device 2 stores information about support regarding the analysis program 1P in the storage device 3. In the description of the first embodiment, the server device 2 will be described as a single server computer having the functions of a mail server and a Web server. The server device 2 may perform processing by being distributed to a plurality of server computers and storage media, and is one of a plurality of server computers (instances) virtually generated in one large computer. May be.

記憶装置3は、サポートサービス事業者で共有されている。記憶装置3は、解析プログラム1Pの予約語を記憶している。予約語は、解析プログラム1Pに対して設定されているパラメータ名、変数名、関数名、所定値、エラー番号等に対応するキーワードである。記憶装置3は、解析プログラム1Pの機能に応じて、予約語と、解析プログラム1Pのテストケースに対応させて予約語に対する数値、論理値等を記述したテスト用の入力ファイルIFを複数パターン記憶する。テスト用の入力ファイルIFは、テスト支援装置1又は他の装置によって自動的に作成されたものであってもよいし、テスト支援装置1を使用してオペレータによって作成されたものであってもよい。 The storage device 3 is shared by support service providers. The storage device 3 stores the reserved words of the analysis program 1P. The reserved word is a keyword corresponding to a parameter name, variable name, function name, predetermined value, error number, etc. set for the analysis program 1P. The storage device 3 stores a plurality of patterns of a reserved word and a test input file IF in which numerical values, logical values, and the like of the reserved word are described in correspondence with the test case of the analysis program 1P according to the function of the analysis program 1P. .. The test input file IF may be automatically created by the test support device 1 or another device, or may be created by an operator using the test support device 1. ..

テスト支援装置1は、対象の解析プログラム1Pを記憶しており、解析プログラム1Pに基づいて自動的にテストを実行することができる。テスト支援装置1は、サポートサービスのオペレータ又は解析プログラム1Pの開発者に用いられ、上述したように、記憶装置3に記憶してある情報を用いて、優先すべきテスト(テストケースに対応する入力ファイルIF)を選定するための情報を作成する。テスト支援装置1は、作成された情報を用いて、テストケースに対応するテストスクリプトによって自動的に解析プログラム1Pのテストを行なう。テストを選定するための情報を作成する処理と、解析プログラム1Pのテストを実行する処理とは、別の装置で実施されてもよい。 The test support device 1 stores a target analysis program 1P, and can automatically execute a test based on the analysis program 1P. The test support device 1 is used by an operator of a support service or a developer of the analysis program 1P, and as described above, using the information stored in the storage device 3, a test to be given priority (input corresponding to a test case). Information for selecting the file IF) is created. The test support device 1 automatically tests the analysis program 1P by using the created information with the test script corresponding to the test case. The process of creating information for selecting a test and the process of executing the test of the analysis program 1P may be performed by different devices.

ネットワークNは、公衆網を含む。公衆網は所謂インターネットである。公衆網はアクセスポイントAPを含んでもよい。ユーザが用いる通信端末装置5はネットワークNを介してサーバ装置2へ情報の送信が可能である。 The network N includes a public network. The public network is the so-called Internet. The public network may include an access point AP. The communication terminal device 5 used by the user can transmit information to the server device 2 via the network N.

図2は、テスト支援装置1の構成を示すブロック図である。テスト支援装置1が接続しているサーバ装置2は、メールサーバ21及びWebサーバ22の機能を有している。サーバ装置2はメールサーバ21によりユーザが用いる情報端末装置から受信したメールデータと、Webサーバ22により得られた問い合わせの内容とを、問い合わせデータとして記憶装置3に記憶する。 FIG. 2 is a block diagram showing the configuration of the test support device 1. The server device 2 to which the test support device 1 is connected has the functions of the mail server 21 and the web server 22. The server device 2 stores the mail data received from the information terminal device used by the user by the mail server 21 and the content of the inquiry obtained by the Web server 22 in the storage device 3 as inquiry data.

テスト支援装置1が参照する記憶装置3は、SSD又はハードディスク等の大容量記憶媒体を用いてサポートサービス事業者で共有される情報を記憶する。なお記憶装置3については説明を容易にするために1台の記憶装置3として説明するが、複数の記憶装置3の記憶媒体を仮想的に1つの大容量の記憶媒体として扱われるものであってよい。記憶装置3は、ローカルネットワークLNに通信接続可能なテスト支援装置1、及びサーバ装置2から読み書きが可能である。 The storage device 3 referred to by the test support device 1 stores information shared by support service providers using a large-capacity storage medium such as an SSD or a hard disk. Although the storage device 3 will be described as one storage device 3 for ease of description, the storage media of the plurality of storage devices 3 are virtually treated as one large-capacity storage medium. Good. The storage device 3 is readable and writable by the test support device 1 and the server device 2, which are communicatively connectable to the local network LN.

記憶装置3には上述したように解析プログラム1Pに対して設定されている予約語、予約語を一又は複数、解析プログラム1Pの設計に則って用いた複数のテストケースに対応する入力ファイルIFが記憶されている。記憶装置3には更に、記憶されている複数のテストケースの内のいずれかに対して実行されたテストの成否等を含むテスト実行履歴が記憶されている。 In the storage device 3, as described above, the reserved words set for the analysis program 1P, one or a plurality of reserved words, and the input file IF corresponding to the plurality of test cases used according to the design of the analysis program 1P are stored. Remembered The storage device 3 further stores a test execution history including the success or failure of the test executed for any of the plurality of stored test cases.

記憶装置3には、サーバ装置2によって解析プログラム1Pに関するユーザからの問い合わせメール、又はWebサーバ22で受け付けられた問い合わせ内容を記述したテキストを含む問い合わせデータが記憶される。記憶装置3には、サポートサービスによるユーザ毎の対応(来訪、往訪)履歴が記憶されている。また記憶装置3には、解析プログラム1Pに関する売上管理システムから得られる解析プログラム1Pについてのユーザ毎の契約情報(契約数、契約履歴、契約バージョン等)が記憶される。 The storage device 3 stores an inquiry mail from the user regarding the analysis program 1P by the server device 2 or inquiry data including text describing the inquiry content received by the Web server 22. The storage device 3 stores a history of correspondence (visit, visit) for each user by the support service. The storage device 3 also stores contract information (number of contracts, contract history, contract version, etc.) for each user regarding the analysis program 1P obtained from the sales management system regarding the analysis program 1P.

テスト支援装置1は、制御部10、記憶部11、表示部12、操作部13及び通信部14を備える。なおテスト支援装置1について以下では説明を容易にするために1つのコンピュータ装置として説明するが、1又は複数のコンピュータ装置のハードウェア資源を用いた仮想マシンであってもよい。 The test support device 1 includes a control unit 10, a storage unit 11, a display unit 12, an operation unit 13, and a communication unit 14. Note that the test support apparatus 1 will be described below as one computer device for ease of description, but it may be a virtual machine using hardware resources of one or a plurality of computer devices.

制御部10はCPU(Central Processing Unit )又はGPU(Graphical Processing Unit )を用いたプロセッサであり、内蔵する揮発性メモリ、クロック等を含む。制御部10は、記憶部11に記憶されている解析プログラム1Pに基づいた各処理を実行することが可能である。したがって演算負荷に耐えうる仕様のプロセッサを用いる。そして制御部10は、記憶部11に記憶されているテスト選定支援プログラム100Pに基づいて、優先すべき予約語に優先度を付与する処理を実行する。 The control unit 10 is a processor using a CPU (Central Processing Unit) or a GPU (Graphical Processing Unit), and includes a built-in volatile memory, a clock, and the like. The control unit 10 can execute each process based on the analysis program 1P stored in the storage unit 11. Therefore, a processor whose specifications can withstand the computational load is used. Then, the control unit 10 executes a process of giving a priority to a reserved word to be prioritized, based on the test selection support program 100P stored in the storage unit 11.

記憶部11は、SSD(Solid State Drive )又はハードディスク等の不揮発性の記憶媒体を用いて解析プログラム1Pを記憶する。記憶部11には、テスト選定支援プログラム100Pが記憶されている。記憶部11には、解析プログラム1Pのテストケースに対応するテストスプリクト1Sが記憶されている。テストスプリクト1Sは記憶装置3にてテストケース識別情報に対応付けてテストケースと共に記憶されており、制御部10により記憶部11に複製されたものであってもよい。記憶部11は、制御部10が参照するデータを記憶する。 The storage unit 11 stores the analysis program 1P using a nonvolatile storage medium such as an SSD (Solid State Drive) or a hard disk. The storage unit 11 stores a test selection support program 100P. The storage unit 11 stores the test script 1S corresponding to the test case of the analysis program 1P. The test script 1S is stored together with the test case in the storage device 3 in association with the test case identification information, and may be duplicated in the storage unit 11 by the control unit 10. The storage unit 11 stores data referenced by the control unit 10.

表示部12は、液晶パネル又は有機ELディスプレイ等のディスプレイ装置を含む。操作部13は、ユーザの操作を受け付けるインタフェースであり、キーボード、マウス等の入出力インタフェースを含む。操作部13は、ディスプレイ内蔵のタッチパネルデバイスを含んでもよい。 The display unit 12 includes a display device such as a liquid crystal panel or an organic EL display. The operation unit 13 is an interface that receives a user operation, and includes an input/output interface such as a keyboard and a mouse. The operation unit 13 may include a touch panel device with a built-in display.

通信部14は、ローカルネットワークLNを介してサーバ装置2及び記憶装置3への接続を実現する通信モジュールである。通信部14は具体的には例えばネットワークカードであり、有線によりネットワークLNを介した通信を行なう。 The communication unit 14 is a communication module that realizes connection to the server device 2 and the storage device 3 via the local network LN. The communication unit 14 is specifically a network card, for example, and performs wired communication via the network LN.

このようにテスト支援装置1によって、解析プログラム1Pのテストケースを選定する処理について具体例を挙げて説明する。オペレータはテスト支援装置1の操作部13を用い、テスト選定支援プログラム100P及び自動テストの実行スケジュールを設定しておく。例えば1日に1度、週に1度、若しくは月に1度等の定期的なタイミング、又は、オペレータが実行指示を行なったタイミングに、制御部10は以下に示す処理を実行する。なお実行タイミング毎に、記憶装置3から読み出す問い合わせデータ、対応履歴、及びテスト実行履歴については前回の実行時点から今回の実行時点までの対象期間中に受け付けた問い合わせデータに限定して対象期間毎に処理を行なう。 The process of selecting the test case of the analysis program 1P by the test support device 1 in this way will be described with a specific example. The operator uses the operation unit 13 of the test support apparatus 1 to set a test selection support program 100P and an automatic test execution schedule. For example, the control unit 10 executes the following processing at a regular timing such as once a day, once a week, once a month, or at a timing when the operator gives an execution instruction. For each execution timing, the inquiry data, the correspondence history, and the test execution history read from the storage device 3 are limited to the inquiry data received during the target period from the previous execution time to the current execution time, Perform processing.

図3は、テストケースの選定の処理手順の一例を示すフローチャートである。テスト支援装置1の制御部10は、記憶装置3から対象期間の問い合わせデータを読み出し(ステップS1)、問い合わせデータに含まれる予約語を、メール又はWeb問い合わせの送信ユーザを識別するユーザ識別情報(ユーザアカウント)に対応付けて抽出する(ステップS2)。制御部10は、ユーザ識別情報毎に、対応履歴及び契約情報を記憶装置3から読み出す(ステップS3)。 FIG. 3 is a flowchart showing an example of a processing procedure for selecting a test case. The control unit 10 of the test support apparatus 1 reads out the inquiry data of the target period from the storage device 3 (step S1), and uses the reserved word included in the inquiry data as user identification information (user identification information for identifying the user who sent the email or Web inquiry). It is extracted in association with the account) (step S2). The control unit 10 reads the correspondence history and the contract information from the storage device 3 for each user identification information (step S3).

制御部10は、ステップS2で抽出した予約語夫々について、予約語の問い合わせにおける出現頻度に、そのメール又は問い合わせをしてきたユーザの重要度を反映させた優先度を示す値を算出する(ステップS4)。優先度を示す値の算出方法については後述する。 The control unit 10 calculates, for each of the reserved words extracted in step S2, a value indicating the priority in which the importance of the email or the user who made the inquiry is reflected in the appearance frequency in the inquiry of the reserved word (step S4). ). The method of calculating the value indicating the priority will be described later.

制御部10は、予約語夫々に対して算出した優先度の値を用い、その予約語を用いて記述されたテスト用の入力ファイルIF(テストケース)夫々についての総合評価値を、これまでのテストの実行履歴を加味して算出する(ステップS5)。ステップS5において制御部10は、テストの成否によって総合評価値を変動させる。例えば制御部10は、未実施のテストケースの総合評価値が高くなるように変動させてもよい。なお回帰テストとしては前回成功していたテストが失敗するケースである程に重要性が高いから、制御部10は例えば、前回の実行結果が成功であったテストについて総合評価値を評価が高くなるように変動させる。 The control unit 10 uses the value of the priority calculated for each reserved word, and calculates the comprehensive evaluation value for each of the test input files IF (test cases) described using the reserved word up to now. The calculation is performed in consideration of the test execution history (step S5). In step S5, the control unit 10 changes the comprehensive evaluation value depending on the success or failure of the test. For example, the control unit 10 may change the total evaluation value of the unexecuted test cases to be high. Since the regression test is so important that the test that succeeded the last time fails, the control unit 10 evaluates the comprehensive evaluation value of the test that the execution result of the previous time was successful to be high. To fluctuate.

制御部10は、ステップS5で算出された総合評価値の高い順に、期間毎に実施可能な所定数分だけ、入力ファイルIF(テストケース)を抽出する(ステップS6)。制御部10は、抽出された入力ファイルIFを夫々識別するテストケース識別情報を出力し(ステップS7)、処理を終了する。ステップS7における出力は、ファイルへの出力、又は表示部12への出力のいずれでもよい。 The control unit 10 extracts the input files IF (test cases) by a predetermined number that can be implemented for each period in the descending order of the total evaluation value calculated in step S5 (step S6). The control unit 10 outputs test case identification information for identifying each of the extracted input files IF (step S7), and ends the processing. The output in step S7 may be output to a file or output to the display unit 12.

テスト支援装置1は図3のフローチャートに示した選定の処理手順に続けて、出力されたテストケース識別情報に基づいてテストスクリプト1Sを読み出して自動的に実行することが好ましい。図4は、テストの自動実行処理手順の一例を示すフローチャートである。テスト支援装置1は、図3のフローチャートに示した選定の処理後、直ちに以下の処理を実行してもよい。好ましくは、解析プログラム1Pの継続的改善における更新(ビルド)が完了したことを検知すると、以下の処理を実行して回帰テストを実行するとよい。 It is preferable that the test support apparatus 1 read the test script 1S based on the output test case identification information and automatically execute it, following the selection procedure shown in the flowchart of FIG. FIG. 4 is a flowchart showing an example of the automatic test execution procedure. The test support apparatus 1 may immediately execute the following processing after the selection processing shown in the flowchart of FIG. Preferably, when it is detected that the update (build) in the continuous improvement of the analysis program 1P is completed, the following process may be executed to execute the regression test.

制御部10は、図3のフローチャートに示した手順によって出力されている抽出されたテストケース識別情報を優先度順に参照する(ステップS11)。制御部10は、参照したテストケース識別情報に対応する入力ファイルIFを用い、対応するテストスクリプト1Sに基づいてテストを実行する(ステップS12)。 The control unit 10 refers to the extracted test case identification information output by the procedure shown in the flowchart of FIG. 3 in order of priority (step S11). The control unit 10 uses the input file IF corresponding to the referred test case identification information and executes the test based on the corresponding test script 1S (step S12).

制御部10は、テストの実行結果であるテストの成否をテスト実行履歴として出力する(ステップS13)。テストの実行履歴は、ファイルとして記憶装置3に記憶されるほか、テスト支援装置1の表示部12に画面として出力されてもよい。 The control unit 10 outputs the success or failure of the test, which is the test execution result, as the test execution history (step S13). The test execution history may be stored as a file in the storage device 3 or may be output as a screen on the display unit 12 of the test support device 1.

制御部10は、ステップS11−S13の処理を抽出されたテストケース全て又はその一部について順に実行する。 The control unit 10 sequentially executes the processes of steps S11 to S13 for all or some of the extracted test cases.

次に、テストケースに対する優先度の算出方法について詳細に説明する。本実施の形態の優先度の算出方法では、優先度に寄与する要素の項目が予め設定されてあり、記憶部11に記憶されている。また各要素に対し、優先度への重みが設定されており、同様に記憶部11に記憶されている。テスト支援装置1の制御部10は、これらの項目に基づいて記憶装置3から要素を予約語毎、又はユーザ毎に読み出し、設定されている重みを付与して優先度を示す値を算出する。以下に説明する一例においては、制御部10は予約語の「出現頻度」、予約語を使用したメール又は問い合わせの送信主のユーザの重要度として「対応回数(来訪、往訪の回数)」、「契約ライセンス数」を使用する。その他、ユーザの重要度については「契約バージョン(プレミアムか否か等)」、「メール又は問い合わせの数」等を用いてもよい。 Next, a method of calculating the priority for the test case will be described in detail. In the priority calculation method according to the present embodiment, items of elements that contribute to the priority are preset and stored in the storage unit 11. Further, a weight for the priority is set for each element and is similarly stored in the storage unit 11. Based on these items, the control unit 10 of the test support apparatus 1 reads the element from the storage device 3 for each reserved word or each user, assigns the set weight, and calculates the value indicating the priority. In the example described below, the control unit 10 sets the “occurrence frequency” of the reserved word, “the number of times of correspondence (the number of visits and visits)”, “the number of times of visits and visits” as the importance of the user of the sender of the email or inquiry using the reserved word Use the number of contract licenses. In addition, "contract version (whether premium or not)", "number of emails or inquiries", and the like may be used for the importance of the user.

図5は、優先度の算出方法の一例を示すフローチャートである。制御部10は、予約語夫々の出現回数を算出し、出現回数が所定回数(少なくとも「1」)以上である予約語を抽出する(ステップS401)。制御部10は抽出された予約語毎に、その予約語を含むメール又は問い合わせの送信元であるユーザのユーザ識別情報を特定する(ステップS402)。 FIG. 5 is a flowchart showing an example of a priority calculation method. The control unit 10 calculates the number of appearances of each of the reserved words, and extracts the reserved words of which the number of appearances is a predetermined number (at least "1") or more (step S401). The control unit 10 identifies, for each of the extracted reserved words, the user identification information of the user who is the sender of the mail or inquiry including the reserved word (step S402).

次に制御部10は、契約中の全ユーザの内、ユーザ識別情報を1つ選択する(ステップS403)。制御部10は、選択したユーザ識別情報について、対応するユーザ又はユーザが所属する会社等の組織に対する「契約ライセンス数」を記憶装置3から読み出す(ステップS404)。制御部10は、選択したユーザ識別情報について対象期間における「対応回数」を記憶装置3の「対応履歴」から読み出す(ステップS405)。 Next, the control unit 10 selects one piece of user identification information from all the contracted users (step S403). The control unit 10 reads, from the storage device 3, the “number of contract licenses” for the corresponding user or the organization to which the user belongs, for the selected user identification information (step S404). The control unit 10 reads the “correspondence number” in the target period for the selected user identification information from the “correspondence history” of the storage device 3 (step S405).

制御部10は、契約中の全ユーザのユーザ識別情報について選択したか否かを判断し(ステップS406)、全ユーザについては選択していないと判断された場合(S406:NO)、処理をステップS403へ戻して次のユーザ識別情報を選択する。ステップS406にて全ユーザのユーザ識別情報を選択したと判断された場合(S406:YES)、制御部10は、処理を次のステップS407へ進める。 The control unit 10 determines whether or not the user identification information of all users under contract has been selected (step S406), and when it is determined that all users have not been selected (S406: NO), the process is performed. The process returns to S403 and the next user identification information is selected. When it is determined in step S406 that the user identification information of all users has been selected (S406: YES), the control unit 10 advances the process to the next step S407.

制御部10は、ステップS401で抽出された予約語について1つ選択し(ステップS407)、選択された予約語の出現頻度(全予約語の出現回数に対する出現回数の割合)を算出する(ステップS408)。制御部10は、ステップS408で算出した頻度、選択されている予約語に対してステップS402で特定されたユーザ識別情報についてステップS404で読み出した「契約ライセンス数」及びステップS405で算出した「対応回数」の全体に対する割合と、各々について設定されている重み値とに基づき、優先度を示す値を算出する(ステップS409)。これにより優先度が算出される。 The control unit 10 selects one of the reserved words extracted in step S401 (step S407), and calculates the appearance frequency of the selected reserved word (the ratio of the number of appearances to the number of appearances of all reserved words) (step S408). ). The control unit 10 calculates the frequency calculated in step S408, the “number of contract licenses” read in step S404 for the user identification information specified in step S402 for the selected reserved word, and the “corresponding number of times” calculated in step S405. A value indicating the priority is calculated based on the ratio of “” to the whole and the weight value set for each (step S409). As a result, the priority is calculated.

ステップS401で抽出された予約語全てについて、制御部10は選択して処理を実行したか否かを判断し(ステップS410)、全てについては実行していないと判断された場合(S410:NO)、制御部10は処理をステップS407へ戻す。 The control unit 10 determines whether or not all the reserved words extracted in step S401 have been selected and executed (step S410), and when it is determined that all have not been executed (S410: NO). The control unit 10 returns the process to step S407.

ステップS410において、予約語全てについて処理を実行したと判断された場合(S410:YES)、優先度を示す値の算出を終了し、制御部10は、図3のフローチャートに示すステップS5へ処理を戻す。 When it is determined in step S410 that the processing has been executed for all the reserved words (S410: YES), the calculation of the value indicating the priority is terminated, and the control unit 10 advances the processing to step S5 shown in the flowchart of FIG. return.

なお上述した通り、図5のフローチャートは、優先度を算出する一例に過ぎず、優先すべき顧客からの問い合わせの中で重要な予約語を含むテストケースを優先して自動的に実行できれば他の方法を用いてもよい。簡単な例であれば、ハッシュテーブル等を用い、予約語を用いて問い合わせを行なったユーザを、予約語をキーとするハッシュリストに追加するデータ構造によって情報を記憶装置3で記憶しておく。この場合、ユーザの検索(S402)又は予約語の選択、検索等の処理が不要になる。 As described above, the flowchart of FIG. 5 is only an example of calculating the priority, and if the test case including the important reserved word can be preferentially automatically executed in the inquiry from the customer who should prioritize, the other cases can be performed. Any method may be used. In a simple example, a hash table or the like is used to store information in the storage device 3 by a data structure that adds a user who has made an inquiry using a reserved word to a hash list using the reserved word as a key. In this case, the user's search (S402) or processing such as selection of a reserved word and search is unnecessary.

図5のフローチャートに示した算出方法について具体例を挙げて説明する。具体例では、対象期間における出現回数が所定回数「1」以上である3つの予約語「*KEYWORD1 」、「*KEYWORD2 」、「*KEYWORD3 」について、「USER1 」、「USER2 」、「USER3 」のユーザ識別情報(ユーザ名)を持つユーザの重要度を反映させた優先度を算出する。 The calculation method shown in the flowchart of FIG. 5 will be described with a specific example. In the specific example, the three reserved words "*KEYWORD1", "*KEYWORD2", and "*KEYWORD3" that appear more than the specified number of times "1" in the target period are "USER1", "USER2", and "USER3". The priority that reflects the importance of the user having the user identification information (user name) is calculated.

予約語夫々の出現回数は以下であり、「出現頻度」に対する重みは0.5である。
「*KEYWORD1 」:3回(「USER1 」から1回、「USER2 」から2回)
「*KEYWORD2 」:1回(「USER3 」から1回)
「*KEYWORD3 」:7回(「USER1 」から2回、「USER3 」から5回)
The number of appearances of each reserved word is as follows, and the weight for "appearance frequency" is 0.5.
"*KEYWORD1": 3 times (once from "USER1", twice from "USER2")
"*KEYWORD2": Once (from "USER3" once)
"*KEYWORD3": 7 times (2 times from "USER1", 5 times from "USER3")

各ユーザの「対応回数」は以下であり、「対応回数」の割合に対する重みは0.25である。
「USER1 」:1回、「USER2 」:5回、「USER3 」:0回
The “correspondence count” of each user is as follows, and the weight for the ratio of “correspondence count” is 0.25.
"USER1": 1 time, "USER2": 5 times, "USER3": 0 times

「契約ライセンス数」は以下であり、「契約ライセンス数」の割合に対する重みは0.25である。
「USER1 」:1、「USER2 」:1、「USER3 」:2
The “number of contract licenses” is as follows, and the weight for the ratio of “number of contract licenses” is 0.25.
"USER1": 1, "USER2": 1, "USER3": 2

ここで夫々の要素に対する重みは、総計が「1」となるように設計されている。 Here, the weight for each element is designed so that the total is "1".

制御部10は、1つ目に選択した「*KEYWORD1 」について、出現頻度を以下のように算出する(S408)。
「*KEYWORD1 」:3/(3+1+7)=3/11
The control unit 10 calculates the appearance frequency of the first selected "*KEYWORD1" as follows (S408).
"*KEYWORD1": 3/(3+1+7)=3/11

制御部10は、ステップS410において、選択した「*KEYWORD1 」を含むメール又は問い合わせを行なった「USER1 」及び「USER2 」について「対応回数」の割合を以下のように算出し、
「USER1 」:1/(1+5+0)=1/6
「USER2 」:5/(1+5+0)=5/6
「契約ライセンス数」の割合について以下のように算出する。
「USER1 」:1/(1+1+2)=1/4
「USER2 」:1/(1+1+2)=1/4
In step S410, the control unit 10 calculates the ratio of the "corresponding number of times" for "USER1" and "USER2" for which an email including the selected "*KEYWORD1" or an inquiry is made as follows:
"USER1": 1/(1+5+0)=1/6
"USER2": 5/(1+5+0)=5/6
The ratio of the "number of contract licenses" is calculated as follows.
"USER1": 1/(1+1+2)=1/4
"USER2": 1/(1+1+2)=1/4

ステップS410において制御部10は、選択した「*KEYWORD1 」に対し、これを使用したとして特定された「USER1 」及び「USER2 」について以下のように優先度を示す値を算出する。
優先度を示す値
= {「USER1 」について「対応回数」の割合*0.25
+同「契約ライセンス数」の割合*0.25
+「出現頻度」*0.5}
+{「USER2 」について「対応回数」の割合*0.25
+同「契約ライセンス数」の割合*0.25
+「出現頻度」*0.5}
= {(1/6)*0.25+(1/4)*0.25+(3/11)*0.5}
+{(5/6)*0.25+(1/4)*0.25+(3/11)*0.5}
= {0.0416+0.0625+0.13636}
+{0.2083+0.0625+0.13636}
=0.64762
In step S410, the control unit 10 calculates a value indicating the priority for the selected "*KEYWORD1" as to "USER1" and "USER2" specified as using the "*KEYWORD1" as follows.
Value indicating priority = {Ratio of "number of responses" for "USER1" * 0.25
+ Ratio of "number of contract licenses" *0.25
+ "Appearance frequency" * 0.5}
+{Percentage of "corresponding frequency" for "USER2" *0.25
+ Ratio of "number of contract licenses" *0.25
+ "Appearance frequency" * 0.5}
= {(1/6)*0.25+(1/4)*0.25+(3/11)*0.5}
+{(5/6)*0.25+(1/4)*0.25+(3/11)*0.5}
= {0.0416+0.0625+0.13636}
+{0.2083+0.0625+0.13636}
= 0.64762

次に制御部10は、2つ目に選択した「*KEYWORD2 」について、出現頻度を以下のように算出する(S408)。
「*KEYWORD2 」:1/(3+1+7)=1/11
Next, the control unit 10 calculates the appearance frequency of the second selected "*KEYWORD2" as follows (S408).
"*KEYWORD2": 1/(3+1+7)=1/11

ステップS410において制御部10は、選択した「*KEYWORD2 」に対し、これを使用したとして特定された「USER3 」について以下のように優先度を示す値を算出する。
優先度を示す値
= {「USER3 」について「対応回数」の割合*0.25
+同「契約ライセンス数」の割合*0.25
+「出現頻度」*0.5}
= {(0)*0.25+(2/4)*0.25+(1/11)*0.5}
= {0+0.125+0.04545}
=0.17045
In step S410, the control unit 10 calculates, for the selected "*KEYWORD2", a value indicating the priority level for "USER3" specified as having been used as follows.
Value indicating priority = {Percentage of "response times" for "USER3" *0.25
+ Ratio of "number of contract licenses" *0.25
+ "Appearance frequency" * 0.5}
= {(0)*0.25+(2/4)*0.25+(1/11)*0.5}
= {0+0.125+0.04545}
= 0.17045

次に制御部10は、3つ目に選択した「*KEYWORD3 」について、出現頻度を以下のように算出する(S408)。
「*KEYWORD1 」:7/(3+1+7)=7/11
ステップS410において制御部10は、選択した「*KEYWORD3 」に対し、これを使用したとして特定された「USER1 」及び「USER3 」について以下のように優先度を示す値を算出する。
優先度を示す値
= {「USER1 」について「対応回数」の割合*0.25
+同「契約ライセンス数」の割合*0.25
+「出現頻度」*0.5}
+{「USER3 」について「対応回数」の割合*0.25
+同「契約ライセンス数」の割合*0.25
+「出現頻度」*0.5}
= {(1/6)*0.25+(1/4)*0.25+(7/11)*0.5}
+{(0)*0.25+(2/4)*0.25+(7/11)*0.5}
= {0.0416+0.0625+0.31818}
+{0+0.125+0.31818}
=0.86546
Next, the control unit 10 calculates the appearance frequency of the third selected "*KEYWORD3" as follows (S408).
"*KEYWORD1": 7/(3+1+7)=7/11
In step S410, the control unit 10 calculates a value indicating the priority for the selected "*KEYWORD3" as to "USER1" and "USER3" specified as having been used as follows.
Value indicating priority = {Ratio of "number of responses" for "USER1" * 0.25
+ Ratio of "number of contract licenses" *0.25
+ "Appearance frequency" * 0.5}
+{Percentage of "corresponding frequency" for "USER3" *0.25
+ Ratio of "number of contract licenses" *0.25
+ "Appearance frequency" * 0.5}
= {(1/6)*0.25+(1/4)*0.25+(7/11)*0.5}
+{(0)*0.25+(2/4)*0.25+(7/11)*0.5}
= {0.0416+0.0625+0.31818}
+{0+0.125+0.31818}
= 0.86546

したがって、図3のフローチャートにおけるステップS4により、各予約語について以下のように優先度を示す値が算出される。
「*KEYWORD1 」:0.64762
「*KEYWORD2 」:0.17045
「*KEYWORD3 」:0.86546
Therefore, in step S4 in the flowchart of FIG. 3, a value indicating the priority is calculated for each reserved word as follows.
"*KEYWORD1": 0.64762
"*KEYWORD2": 0.17045
"*KEYWORD3": 0.86546

図6は、テストケースの例を示す説明図である。図6に示すように、テストケース「001」の入力ファイルIFには、「*KEYWORD1 」が2回、「*KEYWORD2 」が1回含まれており、「002」の入力ファイルIFには、「*KEYWORD3 」が1回含まれている。制御部10は、図3のフローチャートにおけるステップS5にて、「001」及び「002」の入力ファイルIFに対し、夫々の総合評価値を以下のように算出する(S5)。なおこの例で制御部10は、総合評価値を、入力ファイルIFに含まれる予約語の種類分だけ加算し、重複する場合にはその分は加算しない。また、テスト実行履歴は同条件であるとする。
「001」の総合評価値=「*KEYWORD1 」の優先度を示す値
+「*KEYWORD2 」の優先度を示す値
=0.64762+0.17045
=0.81807
「002」の総合評価値=「*KEYWORD3 」の優先度を示す値
=0.64762+0.17045
=0.86546
FIG. 6 is an explanatory diagram showing an example of a test case. As shown in FIG. 6, the input file IF of the test case "001" includes "*KEYWORD1" twice and "*KEYWORD2" once, and the input file IF of "002" indicates "*KEYWORD3" is included once. In step S5 in the flowchart of FIG. 3, the control unit 10 calculates respective comprehensive evaluation values for the input files IF of "001" and "002" as follows (S5). In this example, the control unit 10 adds the total evaluation value only for the types of reserved words included in the input file IF, and does not add the same for overlapping. Also, it is assumed that the test execution history has the same conditions.
Total evaluation value of "001" = value indicating the priority of "*KEYWORD1"
+ Value indicating the priority of "*KEYWORD2"
=0.64762+0.17045
= 0.81807
"002" comprehensive evaluation value = "*KEYWORD3" value indicating the priority
=0.64762+0.17045
= 0.86546

このように制御部10は、テストケース「001」よりもテストケース「002」に対して総合評価値を高く算出する(S5)。 In this way, the control unit 10 calculates the overall evaluation value higher for the test case “002” than for the test case “001” (S5).

この場合、1つだけテストケースを選定するケースでは、制御部10は「002」のテストケースを抽出することになる(S6)。 In this case, when only one test case is selected, the control unit 10 extracts the test case “002” (S6).

なお総合評価値は上述の例では、優先度を示す値の総和によって算出された。しかしながらこれに限らず、テストケースに含まれる予約語の分布と、優先度が高い予約語群との相関を算出し、算出された相関の高さを示す値が総合評価値として利用され、これによってテストケースが選定される構成としてもよい。 Note that the comprehensive evaluation value is calculated by the sum of the values indicating the priority in the above example. However, not limited to this, the correlation between the distribution of reserved words included in the test case and the reserved word group with high priority is calculated, and the value indicating the calculated correlation is used as the overall evaluation value. The test case may be selected according to.

上述の例で示したように、本実施の形態においては、テストケースは変更箇所に関連する関数、また予約語を使用するテストケースが優先的に選定されるとは限らない。本実施の形態においては、優先すべきユーザからの問い合わせが多い予約語に関するテストケースが優先的に実行される。設計又は実装に基づくテストケースの選定及びテスト実行よりも結果的に、ユーザに利するテストが実施されユーザを満足させる品質向上を実現させることが可能である。また、本実施の形態における解析プログラム1Pのように、他のエンジンを組み込んだプログラムの場合には、実装、変更箇所に関わらずテストケースを選定できるから、エンジンの設計、実装状況が不明であったとしても、有効なテストを実行することができる。このようにして本開示のテスト支援装置1により、ソフトウェアプログラムの使用の実情に即した継続的改善を実現することが可能になる。 As shown in the above example, in the present embodiment, the test case does not always preferentially select the function related to the changed portion and the test case using the reserved word. In the present embodiment, the test case regarding the reserved word that is frequently inquired by the user who should be prioritized is preferentially executed. As a result, rather than selecting and executing a test case based on the design or implementation, a test that benefits the user can be performed, and the quality improvement that satisfies the user can be realized. Further, in the case of a program incorporating another engine, such as the analysis program 1P in the present embodiment, the test case can be selected regardless of the mounted or changed portion, and therefore the engine design and mounted status are unknown. Even so, a valid test can be performed. In this way, the test support apparatus 1 according to the present disclosure can realize continuous improvement in accordance with the actual use of the software program.

(変形例1)
予約語の優先度を示す値の算出方法は、図5のフローチャートに示した手順に限られず、優先度に寄与する要素を用いて多様な方法での実施が可能である。図7は、変形例1における優先度の算出方法を示すフローチャートである。制御部10は、契約中の全ユーザの内、ユーザ識別情報を1つ選択する(ステップS421)。制御部10は、選択したユーザ識別情報について、該ユーザからのメール又は問い合わせに含まれる予約語を抽出する(ステップS422)。制御部10は、抽出された予約語について選択されているユーザからのメール又は問い合わせにおける出現頻度を算出する(ステップS423)。
(Modification 1)
The method of calculating the value indicating the priority of the reserved word is not limited to the procedure shown in the flowchart of FIG. 5, and various methods can be used by using the elements that contribute to the priority. FIG. 7 is a flowchart showing the method of calculating the priority in the first modification. The control unit 10 selects one piece of user identification information from all contracted users (step S421). The control unit 10 extracts, for the selected user identification information, the reserved word included in the mail or inquiry from the user (step S422). The control unit 10 calculates the appearance frequency in the mail or inquiry from the user selected for the extracted reserved word (step S423).

次に選択したユーザ識別情報について、制御部10は、対応するユーザ又はユーザが所属する会社等の組織に対する「契約ライセンス数」を記憶装置3から読み出す(ステップS424)。制御部10は、選択したユーザ識別情報について対象期間における「対応回数」を記憶装置3の「対応履歴」から読み出す(ステップS425)。算出に用いられるユーザの重要度に関する情報はこれらに限らないことは勿論である。 Next, with respect to the selected user identification information, the control unit 10 reads the “number of contract licenses” for the corresponding user or the organization such as the company to which the user belongs from the storage device 3 (step S424). The control unit 10 reads the “correspondence number” in the target period for the selected user identification information from the “correspondence history” of the storage device 3 (step S425). Needless to say, the information regarding the importance of the user used for the calculation is not limited to these.

制御部10は、ステップS422で抽出されたユーザによって使用された予約語夫々についてステップS423で算出した出現頻度と、ステップS424で読み出した「契約ライセンス数」及びステップS425で算出した「対応回数」と、各々について設定されている重み値とに基づき、ユーザ別の各予約語についての優先度に関する値を算出する(ステップS426)。制御部10は、ユーザ別の各予約語の優先度に関する値について、ユーザ識別情報に対応付けて一時記憶する(ステップS427)。 The control unit 10 sets the appearance frequency calculated in step S423 for each of the reserved words used by the user extracted in step S422, the "number of contract licenses" read in step S424, and the "corresponding number" calculated in step S425. , A value relating to the priority of each reserved word for each user is calculated based on the weight value set for each (step S426). The control unit 10 temporarily stores the value regarding the priority of each reserved word for each user in association with the user identification information (step S427).

制御部10は、契約中の全ユーザのユーザ識別情報について選択したか否かを判断し(ステップS428)、全ユーザについては選択していないと判断された場合(S428:NO)、処理をステップS421へ戻して次のユーザ識別情報を選択する。ステップS428にて全ユーザのユーザ識別情報を選択したと判断された場合(S428:YES)、制御部10は、処理を次のステップS429へ進める。 The control unit 10 determines whether or not the user identification information of all the users under contract has been selected (step S428), and when it is determined that all the users have not been selected (S428: NO), the process is performed. The process returns to S421 to select the next user identification information. When it is determined in step S428 that the user identification information of all users has been selected (S428: YES), the control unit 10 advances the process to the next step S429.

制御部10は、全ユーザに対するステップS421によって抽出された予約語、即ち、全予約語の内、少なくとも1回、出現回数が所定回数以上であるとして抽出された予約語群から、予約語を1つ選択する(ステップS429)。ステップS429で予約語は、前記所定回数よりも多い回数以上の出現回数で絞り込まれてもよい。 The control unit 10 selects one reserved word from the reserved words extracted in step S421 for all users, that is, a reserved word group that is extracted at least once out of all reserved words and has a predetermined number of appearances or more. One is selected (step S429). In step S429, the reserved words may be narrowed down by the number of appearances that is more than the predetermined number of times.

ステップS429で選択した予約語について、該予約語を含むメール又は問い合わせを送信したユーザを特定し(ステップS430)、特定されたユーザに対してステップS427で一時記憶してあるユーザ別の予約語の優先度に関する値を総計し、優先度を示す値を算出する(ステップS431)。 With respect to the reserved word selected in step S429, the user who sent the mail or the inquiry including the reserved word is specified (step S430), and the reserved word for each user temporarily stored in step S427 is specified for the specified user. The values relating to the priority are summed up, and the value indicating the priority is calculated (step S431).

制御部10は、全ユーザに対して抽出された予約語全てについて選択したか否かを判断し(ステップS432)、予約語全ては選択していないと判断された場合(S432:NO)、処理をステップS429へ戻す。 The control unit 10 determines whether or not all the reserved words extracted for all users have been selected (step S432), and when it is determined that all the reserved words have not been selected (S432: NO), the process To step S429.

ステップS432にて予約語全て選択したと判断された場合(S432:YES)、制御部10は、図3のフローチャートに示すステップS5へ処理を戻す。 When it is determined in step S432 that all reserved words have been selected (S432: YES), the control unit 10 returns the process to step S5 shown in the flowchart of FIG.

図7のフローチャートに示した優先度の算出例について具体的に説明する。なお、3つの予約語「*KEYWORD1 」、「*KEYWORD2 」、「*KEYWORD3 」についての出現条件は、上述の例と同様であるとする。 The calculation example of the priority shown in the flowchart of FIG. 7 will be specifically described. The appearance conditions for the three reserved words "*KEYWORD1", "*KEYWORD2", and "*KEYWORD3" are the same as those in the above-mentioned example.

図7のフローチャートに示す例では、各予約語に対する優先度を示す値は以下のように表せる。
予約語の優先度を示す値
=その予約語を使用したユーザ毎に算出される優先度を示す要素夫々の値の総和
In the example shown in the flowchart of FIG. 7, the value indicating the priority for each reserved word can be expressed as follows.
Value indicating priority of reserved word = Sum of values of respective elements indicating priority calculated for each user who uses the reserved word

例えば「KEYWORD1 」の優先度に関する値については以下のようにユーザ毎に算出した優先度に関する値を総計して、
「KEYWORD1 」の優先度に関する値
=「USER1 」についての{「出現頻度」*0.5+「対応回数」の割合*0.25
+「契約ライセンス数」の割合*0.25}
+「USER2 」についての{「出現頻度」*0.5+「対応回数」の割合*0.25
+「契約ライセンス数」の割合*0.25}
={(1/3)*0.5+(1/6)*0.25+(1/4)*0.25}
+{(2/2)*0.5+(5/6)*0.25+(1/4)*0.25}
=0.27077+0.7708
=1.04157
For example, regarding the value related to the priority of "KEYWORD1", the values related to the priority calculated for each user are totaled as follows,
"KEYWORD1" priority value = "USER1" {[appearance frequency] * 0.5 + "correspondence count" ratio * 0.25
+ Ratio of "number of contract licenses" *0.25}
+ For “USER2” {Ratio of “appearance frequency” * 0.5 + “number of times of correspondence” * 0.25
+ Ratio of "number of contract licenses" *0.25}
={(1/3)*0.5+(1/6)*0.25+(1/4)*0.25}
+{(2/2)*0.5+(5/6)*0.25+(1/4)*0.25}
=0.27077+0.7708
= 1.04157

ここで、「出現頻度」は、ユーザ毎のメール又は問い合わせ中の出現頻度なので、例えば「USER1 」については「*KEYWORD1 」が1回、「*KEYWORD3 」が2回であるから、出現頻度は以下である。
「*KEYWORD1 」:1/(1+0+2)=1/3
「*KEYWORD3 」:2/(1+0+2)=2/3
である。
Here, the "appearance frequency" is the appearance frequency during mail or inquiry for each user. For example, for "USER1", "*KEYWORD1" is once and "*KEYWORD3" is twice. Is.
"*KEYWORD1": 1/(1+0+2)=1/3
"*KEYWORD3": 2/(1+0+2)=2/3
Is.

同様にして「KEYWORD2 」の優先度に関する値
=「USER3 」についての{「出現頻度」*0.5+「対応回数」の割合*0.25
+「契約ライセンス数」の割合*0.25}
={(1/6)*0.5+(0)*0.25+(2/4)*0.25}
={0.0833+0+0.125}
=0.2083
Similarly, the value regarding the priority of "KEYWORD2" = "USER3" {{appearance frequency * 0.5 + proportion of "corresponding number of times" * 0.25
+ Ratio of "number of contract licenses" *0.25}
={(1/6)*0.5+(0)*0.25+(2/4)*0.25}
={0.0833+0+0.125}
= 0.2083

同様にして「KEYWORD3 」の優先度に関する値
=「USER1 」についての{「出現頻度」*0.5+「対応回数」の割合*0.25
+「契約ライセンス数」の割合*0.25}
+「USER3 」についての{「出現頻度」*0.5+「対応回数」の割合*0.25
+「契約ライセンス数」の割合*0.25}
={(2/3)*0.5+(1/6)*0.25+(1/4)*0.25}
+{(5/6)*0.5+(0)*0.25+(2/4)*0.25}

={「出現頻度」*0.5+「対応回数」の割合*0.25
+「契約ライセンス数」の割合*0.25}
={(5/6)*0.5+(0)*0.25+(2/4)*0.25}
={0.43743+0.54167}
=0.9791
Similarly, the value of the priority of "KEYWORD3" = "USER1" {{appearance frequency * 0.5 + "correspondence count" ratio * 0.25
+ Ratio of "number of contract licenses" *0.25}
+ For “USER3” {“Appearance frequency” * 0.5 + “Count of correspondence” ratio * 0.25
+ Ratio of "number of contract licenses" *0.25}
={(2/3)*0.5+(1/6)*0.25+(1/4)*0.25}
+{(5/6)*0.5+(0)*0.25+(2/4)*0.25}
=
={“appearance frequency”*0.5+ratio of “corresponding frequency”*0.25
+ Ratio of "number of contract licenses" *0.25}
={(5/6)*0.5+(0)*0.25+(2/4)*0.25}
={0.43743+0.54167}
= 0.9791

図7のフローチャートに示した処理手順で算出した場合、「KEYWORD3 」よりも「KEYWORD1 」の優先度が高く評価される。 When calculated by the processing procedure shown in the flowchart of FIG. 7, the priority of “KEYWORD1” is evaluated higher than that of “KEYWORD3”.

(変形例2)
上述した例では、対象期間におけるメール又は問い合わせ、対応履歴を用いて優先度を算出する方法としたが以下では他の対象期間の履歴も用いて算出する。図8は、変形例2における優先度の算出方法を示すフローチャートである。図8のフローチャートに示す処理手順の内、実施の形態1における図5のフローチャートに示した処理と同様の処理については同一のステップ番号を付して詳細な説明を省略する。
(Modification 2)
In the above-described example, the method of calculating the priority by using the mail, the inquiry, or the correspondence history in the target period is described below, but the history of the other target period is also used in the following calculation. FIG. 8 is a flowchart showing a method of calculating the priority in the second modification. In the processing procedure shown in the flowchart of FIG. 8, the same processing as the processing shown in the flowchart of FIG. 5 according to the first embodiment is denoted by the same step number, and detailed description thereof will be omitted.

制御部10は、ステップS401−S410までの処理を実行すると、その時点tにおける優先度を示す値として記憶部11に時間情報と対応付けて記憶する(ステップS411)。制御部10は、記憶部11に記憶してある前回までに算出した予約語毎の優先度を示す値を読み出す(ステップS412)。 After executing the processing from step S401 to S410, the control unit 10 stores the value indicating the priority at the time point t in the storage unit 11 in association with the time information (step S411). The control unit 10 reads the value stored in the storage unit 11 and indicating the priority for each reserved word calculated up to the previous time (step S412).

制御部10は、ステップS411で記憶した優先度を示す値と、ステップS412で読み出した前回までに算出された優先度を示す値とを用い、割引率ηを乗じて過去の値を鑑みた優先度を示す値を算出する(ステップS413)。制御部10は、ステップS413で算出した値を用いて、図3のフローチャートにおけるステップS5へ処理を戻す。 The control unit 10 multiplies the discount rate η by using the value indicating the priority stored in step S411 and the value indicating the priority calculated up to the previous time read in step S412, and the priority in consideration of the past value is calculated. A value indicating the degree is calculated (step S413). The control unit 10 returns the process to step S5 in the flowchart of FIG. 3 using the value calculated in step S413.

時点tにおける優先度を示す値をWt とすれば、ステップS413にて算出される優先度を示す値Mは、以下のような割引総和報酬で算出される。
M=Wt +ηWt-1 +η2 Wt-2 +…+ηk Wt-k +…
なお、Wt-k は、k回前に算出した優先度を示す値Wである。
If the value indicating the priority at the time point t is Wt, the value M indicating the priority calculated in step S413 is calculated by the following discount sum reward.
M = Wt + ηWt-1 + η 2 Wt-2 + ... + η k Wt-k + ...
Note that Wt-k is a value W indicating the priority calculated k times before.

これにより、過去における評価を反映させた予約語に対する優先度を算出することが可能となり、より効率的にテストケースを選定することが可能になる。 As a result, it becomes possible to calculate the priority for the reserved word that reflects the evaluation in the past, and it becomes possible to select the test case more efficiently.

(変形例3)
本実施の形態のテスト支援装置1は基本的に、予約語については問い合わせ、メール等に含まれる頻度に基づいて優先度を算出する。しかしながら高頻度に予約語が含まれていても、問い合わせ、メール内におけるその予約語の使用のされ方が異なる。例えば文脈によっては肯定的(サポートサービスへのお礼)、又は否定的(不具合の報告)であるなどの差異があるはずである。実施の形態3では、予約語の出現頻度に対し、予約語に対する文脈に基づく重みを反映させる。
(Modification 3)
The test support device 1 of the present embodiment basically inquires about reserved words and calculates the priority based on the frequency included in emails and the like. However, even if the reserved word is included frequently, the way of using the reserved word in the inquiry and the mail is different. For example, depending on the context, there should be differences such as being positive (thanks to the support service) or being negative (reporting a defect). In the third embodiment, the weight based on the context of the reserved word is reflected in the appearance frequency of the reserved word.

文脈に基づく重みは、記憶装置3に記憶してあるメールデータ及び問い合わせデータについて、それらに含まれる予約語に対する自然言語処理の学習モデルを作成しておく。作成した学習モデルは記憶装置3に記憶しておき、新たに対象期間が到来した場合、対象期間中の新たなメールデータ及び問い合わせデータを学習モデルに与えて導出する。 As for the weight based on the context, a learning model of natural language processing for the reserved words included in the mail data and the inquiry data stored in the storage device 3 is created in advance. The created learning model is stored in the storage device 3, and when the target period newly arrives, new mail data and inquiry data during the target period are given to the learning model and derived.

図9は、学習モデル3Lの内容例を示す図である。学習モデル3Lは、メールデータ又は問い合わせデータであるテキストデータを入力する入力層301と、テキストデータに含まれる予約語と該予約語に対する文脈に基づく重要度とのセットを出力する出力層302と、中間層303とを含む。中間層303は、入力されるテキストデータに含まれる予約語に対して、肯定的な内容であるか、否定的であるか又は中間的であるかが与えられた教師データ(データセット)により学習済みである。出力層302は、予約語ではなく重要度のみを出力するものであってもよい。図9に示すように、出力層302のノードは各予約語に対応し、予約語に対する重みが重要度に対応する。 FIG. 9 is a diagram showing an example of the contents of the learning model 3L. The learning model 3L includes an input layer 301 for inputting text data which is mail data or inquiry data, and an output layer 302 for outputting a set of reserved words included in the text data and importance based on the context for the reserved words. And an intermediate layer 303. The intermediate layer 303 learns with the teacher data (data set) given to the reserved word included in the input text data whether the content is positive, negative, or intermediate. Already done. The output layer 302 may output only the importance, not the reserved word. As shown in FIG. 9, the node of the output layer 302 corresponds to each reserved word, and the weight for the reserved word corresponds to the importance.

図10は、変形例3における優先度の算出方法を示すフローチャートである。図10のフローチャートに示す処理手順の内、図7のフローチャートに示す処理手順と共通する手順については同一のステップ番号を付して詳細な説明を省略する。 FIG. 10 is a flowchart showing the method of calculating the priority in the third modification. Of the processing procedure shown in the flowchart of FIG. 10, steps common to the processing procedure shown in the flowchart of FIG. 7 are denoted by the same step numbers, and detailed description thereof will be omitted.

制御部10は、ステップS421で選択したユーザ識別情報について、該ユーザからのメール又は問い合わせのテキストデータを記憶装置3から順次読み出し(ステップS441)、学習モデル3Lの入力層301へ与える(ステップS442)。制御部10は、学習モデル3Lの出力層302から出力される予約語と、該予約語に対する重要度とのセットを一時記憶する(ステップS443)。選択ユーザからの対象期間におけるメール又は問い合わせについてステップS442,S443の処理を実行し、これにより、選択したユーザ識別情報のユーザからのメール又は問い合わせに含まれる予約語が抽出される。 The control unit 10 sequentially reads the text data of the mail or inquiry from the user for the user identification information selected in step S421 from the storage device 3 (step S441) and gives it to the input layer 301 of the learning model 3L (step S442). .. The control unit 10 temporarily stores a set of the reserved word output from the output layer 302 of the learning model 3L and the importance of the reserved word (step S443). The processes of steps S442 and S443 are executed for the mail or inquiry from the selected user in the target period, and the reserved word included in the mail or inquiry of the user of the selected user identification information is extracted.

制御部10は、抽出された予約語夫々について、各メール又は問い合わせについて学習モデル3Lによって出力された重要度を用い、重要度の累積、平均等に基づく優先度を示す値を算出する(ステップS444)。 For each of the extracted reserved words, the control unit 10 uses the importance level output by the learning model 3L for each mail or inquiry, and calculates a value indicating the priority level based on the accumulation, average, etc. of the importance levels (step S444). ).

制御部10はその後、選択したユーザの「契約ライセンス数」の読み出し(S424)、「対応回数」の記憶装置3からの読み出し(S425)等を実施し、これらの情報から選択したユーザの重要度を算出して記憶する(ステップS445)。 After that, the control unit 10 reads the "number of contract licenses" of the selected user (S424), reads the "corresponding number of times" from the storage device 3 (S425), and the like, and determines the importance of the user selected from these pieces of information. Is calculated and stored (step S445).

制御部10は、選択した予約語毎に、これを使用したユーザを特定し(S430)、特定したユーザ毎の該予約語に対してステップS444にて算出された優先度を示す値を積算するようにして総合評価値を算出する(ステップS446)。ステップS446において制御部10は、総合評価値を積算する際に、ユーザ毎に算出されている優先度に、そのユーザの重要度の重みを付与する。 The control unit 10 identifies the user who used the reserved word for each selected reserved word (S430), and integrates the value indicating the priority calculated in step S444 with respect to the reserved word for each specified user. In this way, the comprehensive evaluation value is calculated (step S446). In step S446, the control unit 10 adds the weight of the importance of the user to the priority calculated for each user when integrating the comprehensive evaluation values.

このように、予約語の使われ方(文脈)によって重要度、深刻度が異なる場合であっても、これらの情報を反映させて適切に優先すべきテストケースを選定することが可能である。 As described above, even when the importance and the severity are different depending on the usage (context) of the reserved word, it is possible to reflect these pieces of information and select the test case that should be prioritized appropriately.

上述した本実施の形態では、解析プログラム1Pに含まれる物理現象解析用エンジンに対して設定されている予約語(キーワード)を用いてテストケースを選定した。しかしながら、本実施の形態に示したテスト選定支援プログラム100Pの対象プログラムは、物理現象解析用の解析プログラム1Pに限らない。テスト選定支援プログラム100Pは、優先して実行すべきテストに関する予約語に対して優先順位を決定するので、決定された優先順位をどのように用いてテストケース(対応する入力ファイルIF)を抽出すべきかは設計によって、変更が可能である。 In the above-described present embodiment, the test case is selected by using the reserved word (keyword) set for the physical phenomenon analysis engine included in the analysis program 1P. However, the target program of the test selection support program 100P shown in the present embodiment is not limited to the analysis program 1P for physical phenomenon analysis. Since the test selection support program 100P determines the priority order for the reserved words related to the test to be executed with priority, the test case (corresponding input file IF) should be extracted by using the determined priority order. Kika can be changed depending on the design.

1 テスト支援装置
10 制御部
1P 解析プログラム
100P テスト選定支援プログラム
3 記憶装置
3L 学習モデル
1 Test Support Device 10 Control Unit 1P Analysis Program 100P Test Selection Support Program 3 Storage Device 3L Learning Model

Claims (12)

ソフトウェアプログラムに対応する所定の複数のキーワードの内のいずれかを含む異なるユーザからの問い合わせを記憶し、
前記ユーザからの問い合わせに含まれる前記所定の複数のキーワードのいずれかを抽出し、
抽出したキーワードの出現頻度、又は問い合わせ元のユーザの重要度に基づいて、抽出されたキーワードに対する優先度を示す値を算出し、
前記所定の複数のキーワードと算出された優先度を示す値とを対応付けて出力する
テスト支援方法。
Stores queries from different users, including any of a plurality of predetermined keywords corresponding to the software program,
Extracting any one of the predetermined plurality of keywords included in the inquiry from the user,
Based on the appearance frequency of the extracted keyword or the importance of the user who made the inquiry, a value indicating the priority for the extracted keyword is calculated,
A test support method for outputting the predetermined plurality of keywords in association with a value indicating the calculated priority.
各々前記所定の複数のキーワードの内のいずれかを含む前記ソフトウェアプログラムに対するテストケースに対し、前記複数の複数のキーワードに対して算出された優先度を示す値を用いて評価値を算出し、
算出された評価値に基づいて高評価順に前記テストケースを抽出する
請求項1に記載のテスト支援方法。
For each test case for the software program containing any of the predetermined plurality of keywords, calculate an evaluation value using a value indicating the priority calculated for the plurality of keywords,
The test support method according to claim 1, wherein the test cases are extracted in descending order of evaluation based on the calculated evaluation value.
前記テストケースには実行履歴が対応付けて記憶されており、
前記評価値は、前記実行履歴に基づいて未実施のテストケースにより高い評価値が算出される
請求項2に記載のテスト支援方法。
Execution history is stored in association with the test case,
The test support method according to claim 2, wherein the evaluation value is calculated as a high evaluation value for an unexecuted test case based on the execution history.
前記問い合わせを時間情報と対応付けて記憶しておき、
前記優先度を示す値は、異なる期間毎の前記出現頻度又は重要度を、より古い期間の成分に低い係数を乗じて加算することによって算出される
請求項1から請求項3のいずれか1項に記載のテスト支援方法。
The inquiry is stored in association with time information,
The value indicating the priority is calculated by multiplying the appearance frequency or importance for each different period by multiplying a component of an older period by a low coefficient, and adding the multiplied components. The test support method described in.
前記ソフトウェアプログラムに関する前記異なるユーザ毎の往訪回数を記憶しておき、
前記ユーザの重要度は、前記往訪回数を要素として算出される
請求項1から請求項4のいずれか1項に記載のテスト支援方法。
The number of visits for each of the different users regarding the software program is stored,
The test support method according to claim 1, wherein the degree of importance of the user is calculated using the number of visits as an element.
前記ソフトウェアプログラムの契約ライセンス数を前記異なるユーザ毎に記憶しておき、
前記ユーザの重要度は、前記契約ライセンス数を要素として算出される
請求項1から請求項4のいずれか1項に記載のテスト支援方法。
The number of contract licenses of the software program is stored for each of the different users,
The test support method according to claim 1, wherein the importance of the user is calculated by using the number of contract licenses as an element.
前記ソフトウェアプログラムの契約に基づく売上高を前記異なるユーザ毎に記憶しておき、
前記ユーザの重要度は、前記売上高を要素として算出される
請求項1から請求項4のいずれか1項に記載のテスト支援方法。
The sales amount based on the contract of the software program is stored for each of the different users,
The test support method according to claim 1, wherein the degree of importance of the user is calculated using the sales amount as an element.
前記優先度を示す値は、前記出現頻度、及び前記ユーザの重要度に寄与する複数の項目毎に異なる重み付けによって算出される
請求項1から請求項7のいずれか1項に記載のテスト支援方法。
The test support method according to claim 1, wherein the value indicating the priority is calculated by different weighting for each of the appearance frequency and a plurality of items that contribute to the importance of the user. ..
ユーザからの問い合わせを受け付ける入力層と、該問い合わせに含まれる前記所定の複数のキーワードの内のいずれかに対する重要度を出力する出力層と、前記問い合わせと、該問い合わせの文脈から特定される重要度とを含む教師データに基づいて学習させた中間層とを含む学習モデルを用い、
新たにユーザからの問い合わせを受け付けた場合に、前記ユーザからの問い合わせに含まれる、前記所定の複数のキーワードの内のいずれかを抽出し、
前記問い合わせを前記学習モデルの入力層に与え、
前記問い合わせに対して前記出力層から出力される前記所定の複数のキーワードの内のいずれかに対する重要度を用い、抽出されたキーワードに対する優先度を示す値を算出する
請求項1から請求項8のいずれか1項に記載のテスト支援方法。
An input layer that receives an inquiry from a user, an output layer that outputs the degree of importance for any of the predetermined plurality of keywords included in the inquiry, the degree of importance specified from the inquiry and the context of the inquiry Using a learning model including an intermediate layer trained based on teacher data including
When a new inquiry is received from the user, any one of the predetermined plurality of keywords included in the inquiry from the user is extracted,
Giving the query to the input layer of the learning model,
The value indicating the priority for the extracted keyword is calculated by using the importance for any of the predetermined plurality of keywords output from the output layer in response to the inquiry. The test support method according to any one of items.
ソフトウェアプログラムの更新完了が検知された場合に、前記ソフトウェアプログラムに対応する所定の複数のキーワードに対し、ユーザからの問い合わせに基づき算出されてある優先度によって抽出されたテストケースをコンピュータが参照し、
前記コンピュータは、参照したテストケースを実行する
テスト実行方法。
When the update completion of the software program is detected, the computer refers to the test cases extracted by the priority calculated for the plurality of keywords corresponding to the software program based on the inquiry from the user,
The computer is a test execution method for executing the referenced test case.
ソフトウェアプログラムに対応する所定の複数のキーワードの内のいずれかを含む異なるユーザからの問い合わせを記憶する記憶部と、
前記ユーザからの問い合わせに含まれる前記所定の複数のキーワードの内のいずれかを抽出する抽出部と、
抽出したキーワードの出現頻度、又は問い合わせ元のユーザの重要度に基づいて、抽出されたキーワードに対する優先度を示す値を算出する算出部と、
前記所定の複数のキーワードと算出された優先度を示す値とを対応付けて出力する出力部と
を備えるテスト支援装置。
A storage unit for storing inquiries from different users including any of a plurality of predetermined keywords corresponding to the software program;
An extraction unit that extracts any one of the predetermined plurality of keywords included in the inquiry from the user,
A calculation unit that calculates a value indicating the priority of the extracted keyword based on the appearance frequency of the extracted keyword or the importance of the user who made the inquiry.
A test support apparatus comprising: an output unit that outputs the plurality of predetermined keywords and a value indicating the calculated priority in association with each other.
コンピュータに、
ソフトウェアプログラムに対応する所定の複数のキーワードの内のいずれかを含む異なるユーザからの問い合わせを記録し、
前記ユーザからの問い合わせに含まれる前記所定の複数のキーワードの内のいずれかを抽出し、
抽出したキーワードの出現頻度、又は問い合わせ元のユーザの重要度に基づいて、抽出されたキーワードに対する優先度を示す値を算出し、
前記所定の複数のキーワードと算出された優先度を示す値とを対応付けて出力する
処理を実行させるコンピュータプログラム。
On the computer,
Record inquiries from different users, including any of the predefined keywords corresponding to the software program,
Extracting any one of the predetermined plurality of keywords included in the inquiry from the user,
Based on the appearance frequency of the extracted keyword or the importance of the user who made the inquiry, a value indicating the priority for the extracted keyword is calculated,
A computer program that executes a process of outputting the plurality of predetermined keywords and a value indicating the calculated priority in association with each other.
JP2018222337A 2018-11-28 2018-11-28 Test support method, test execution method, test support device and computer program Active JP6913071B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018222337A JP6913071B2 (en) 2018-11-28 2018-11-28 Test support method, test execution method, test support device and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018222337A JP6913071B2 (en) 2018-11-28 2018-11-28 Test support method, test execution method, test support device and computer program

Publications (2)

Publication Number Publication Date
JP2020087106A true JP2020087106A (en) 2020-06-04
JP6913071B2 JP6913071B2 (en) 2021-08-04

Family

ID=70910017

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018222337A Active JP6913071B2 (en) 2018-11-28 2018-11-28 Test support method, test execution method, test support device and computer program

Country Status (1)

Country Link
JP (1) JP6913071B2 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007102309A (en) * 2005-09-30 2007-04-19 Mitsubishi Electric Corp Automatic classification device
JP2007102475A (en) * 2005-10-04 2007-04-19 Dainippon Screen Mfg Co Ltd Test case extraction device, test case extraction program, and test case extraction method for software system
JP2014142872A (en) * 2013-01-25 2014-08-07 Ntt Docomo Inc Testing device
JP2016212633A (en) * 2015-05-08 2016-12-15 富士電機株式会社 Program test priority determination system
JP2017072978A (en) * 2015-10-07 2017-04-13 株式会社日立システムズ Knowledge information management apparatus, knowledge information management system, knowledge information management method, and program
JP2018185719A (en) * 2017-04-27 2018-11-22 京セラドキュメントソリューションズ株式会社 Information processing system and information processing method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007102309A (en) * 2005-09-30 2007-04-19 Mitsubishi Electric Corp Automatic classification device
JP2007102475A (en) * 2005-10-04 2007-04-19 Dainippon Screen Mfg Co Ltd Test case extraction device, test case extraction program, and test case extraction method for software system
JP2014142872A (en) * 2013-01-25 2014-08-07 Ntt Docomo Inc Testing device
JP2016212633A (en) * 2015-05-08 2016-12-15 富士電機株式会社 Program test priority determination system
JP2017072978A (en) * 2015-10-07 2017-04-13 株式会社日立システムズ Knowledge information management apparatus, knowledge information management system, knowledge information management method, and program
JP2018185719A (en) * 2017-04-27 2018-11-22 京セラドキュメントソリューションズ株式会社 Information processing system and information processing method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"疑問解決! Windows 10 Fall Creators Update トラブル解決編", ミスター・ピーシー, vol. 第9巻, 第1号, JPN6021011728, 24 November 2017 (2017-11-24), JP, pages 34 - 39, ISSN: 0004477750 *
栗原亮: "MacBook裏メニュー MacやiPhoneを賢く修理する方法", マックファン, vol. 第26巻, 第6号, JPN6021011729, 1 June 2018 (2018-06-01), JP, pages 142 - 145, ISSN: 0004477751 *

Also Published As

Publication number Publication date
JP6913071B2 (en) 2021-08-04

Similar Documents

Publication Publication Date Title
Bermbach et al. Cloud service benchmarking
US8276112B2 (en) Performance-related decision support for model-driven engineering
CN111832236B (en) Chip regression testing method and system, electronic equipment and storage medium
US20110004565A1 (en) Modelling Computer Based Business Process For Customisation And Delivery
CN101526916B (en) Method and system for using page-based object flow verification in regression test
Franceschelli et al. Space4cloud: A tool for system performance and costevaluation of cloud systems
US8180679B2 (en) Computer-implemented method of performance testing software applications
US10942840B2 (en) System and method for managing a code repository
US8311794B2 (en) Testing executable logic
US10963232B2 (en) Constructing and enhancing a deployment pattern
CN102880542B (en) Cloud computing service evaluation system and evaluation method
CN104765592A (en) Plugin management method and device facing web page acquisition task
Grinshpan Solving enterprise applications performance puzzles: queuing models to the rescue
US11580008B2 (en) Method and system for synchronous development and testing of live, multi-tenant microservices based SaaS systems
KR101975272B1 (en) System and method for recommending component reuse based on collaboration dependency
Ochei et al. Optimal deployment of components of cloud-hosted application for guaranteeing multitenancy isolation
JP6913071B2 (en) Test support method, test execution method, test support device and computer program
Posey et al. Addressing the challenges of executing a massive computational cluster in the cloud
US20050278687A1 (en) System and method for facilitating computer software features requested by end users
CN102594617A (en) System and method for evaluating cloud computing service
Tanković et al. ElaClo: A framework for optimizing software application topology in the cloud environment
CA2997829A1 (en) System device and process for an educational regulatory electronic tool kit
JP7471091B2 (en) JOB EXECUTION SUPPORT SYSTEM AND JOB EXECUTION SUPPORT METHOD
US20210303645A1 (en) Search data curation and enrichment for deployed technology
Elhabbash et al. Slo-ml: A language for service level objective modelling in multi-cloud applications

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210525

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210709

R150 Certificate of patent or registration of utility model

Ref document number: 6913071

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350