JP2018112959A - ソフトウェア性能測定システム及びプログラム - Google Patents
ソフトウェア性能測定システム及びプログラム Download PDFInfo
- Publication number
- JP2018112959A JP2018112959A JP2017003857A JP2017003857A JP2018112959A JP 2018112959 A JP2018112959 A JP 2018112959A JP 2017003857 A JP2017003857 A JP 2017003857A JP 2017003857 A JP2017003857 A JP 2017003857A JP 2018112959 A JP2018112959 A JP 2018112959A
- Authority
- JP
- Japan
- Prior art keywords
- test
- information
- execution time
- performance measurement
- test element
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】ソフトウェア性能測定システム2の第2PC20は、自動テストシステム1の第1PC10から、プログラム30のテストの実行結果として、テストを構成するテスト要素毎のテスト実行時間を含む、テスト結果情報32を入力し、テストを構成するテスト要素の情報を含むテストシナリオ情報31を入力し、テスト結果情報32及びテストシナリオ情報31に基づいて、テスト要素毎に実行時間を目的変数として設定した回帰分析の方程式を作成し、その方程式を解くことで、テスト要素毎の実行時間を算出する処理を行い、プログラム30の性能を表す情報として、テスト要素毎の実行時間を含む情報を、ユーザに対して出力する。
【選択図】図1
Description
図1〜図9を用いて、本発明の実施の形態のソフトウェア性能測定システム等について説明する。実施の形態のソフトウェア性能測定プログラムは、実施の形態のソフトウェア性能測定システムの計算機に処理を実行させるプログラムである。
図1は、実施の形態のソフトウェア性能測定システムを含んで構成されるソフトウェア開発システムの構成を示す。このソフトウェア開発システムは、自動テストシステム1と、ソフトウェア性能測定システム2と、の少なくとも2つのシステムを含んでいる。2つのシステムは、例えばLAN等の通信手段を通じて接続されている。
ソフトウェア性能測定システム2の機能等の概要は以下である。ソフトウェア性能測定システム2は、ソフトウェア開発中に行う自動テストの結果を利用して、プログラム30の性能として実行時間を測定する機能を有する。ソフトウェア性能測定システム2は、テスト結果から、回帰分析の手法を用いて、テスト要素毎の実行時間を測定する。また、ソフトウェア性能測定システム2は、性能測定の結果に基づいて、性能変動を検出する。
図2は、テストシナリオ情報31の構成例を示す。テストシナリオ情報31は、複数のテスト(言い換えるとテスト規定情報)を含む。テストは、テストシナリオで記述されている。テストシナリオ情報31は、複数のテストシナリオ及び対応する複数のテストから階層的に構成されている。ある1つのテストは、下位階層の複数のテストから構成されてもよい。
図3は、テスト結果情報32の構成例を示す。図2、図3を用いて、テストシナリオ情報31とテスト結果情報32との関係を説明する。図3のテスト結果情報32の表は、項目(列)として、テスト、テスト合否、テスト実行時間を含む。[テスト]項目は、テストシナリオに対応付けられたテストの識別情報を示す。図3の例では、図2のテストの実行結果が記載されている。[テスト]項目には、前述のテストA、テストB等がある。[テスト合否]項目は、[テスト]項目のテスト結果として、合格(成功、例えば値が0)または不合格(例えば値が1)を示す。例えばテストAの結果が合格、テストBの結果が不合格である。[テスト実行時間]項目は、[テスト]項目のテストの処理の実行に要した時間が記載される。この[テスト実行時間]は、自動テストシステム1の既存のテスト実行環境11(自動テストツール)の機能によって得られる時間であって、ソフトウェア性能測定システム2の目的として性能測定しようとしているプログラム30の実行時間とは異なる。例えば、テストAの実行時間が0.03秒、テストBの実行時間が0.05秒となっている。
図4は、テスト要素分類表33の構成例を示す。テスト要素分類表33は、テスト要素のグループへの分類を表す情報が設定されている。図4の(A)は、設定例を示す。テスト要素分類表33は、テストシナリオ情報31に記載されている複数のテスト要素のうち、どのテスト要素を同じものとみなして分類するかについての設定情報が記載されている。例えば、前述のテスト要素A1とテスト要素B1とを同じ内容のテスト要素とみなす場合には、それらのテスト要素A1とテスト要素B1は、同じグループに分類されるように設定される。ユーザは、テスト要素分類表33に、テスト要素に関するグループの分類をユーザ設定可能である。
図5は、テストシナリオ解析部21の処理フローを示す。この処理は、テスト要素分類表33に基づいて、テストシナリオ情報31に記載のテスト要素を解析し、解析結果をテスト要素解析結果情報34として出力する処理である。この処理では、グループに分類されるテスト要素毎に、回帰分析の目的変数が割り当てられ、回帰分析の方程式が生成される。この回帰分析の方程式は、特に、複数の変数を持つ重回帰分析の方程式である。
図6は、テスト要素解析結果情報34の構成例を示す。図6のテスト要素解析結果情報34の表は、項目(列)として、テスト、テスト要素、初期目的変数、最終目的変数を有する。[テスト]項目は、テストシナリオのテストの識別情報が格納されている。[テスト要素]項目は、テストシナリオのテストを構成する1つ以上のテスト要素の識別情報や文(行)を示し、テストシナリオ情報31に基づいた情報である。[初期目的変数]項目は、テスト要素毎に割り当てられた前述の初期目的変数が格納されている。初期目的変数の例を“a1”等で示す。例えば、テストAにおけるテスト要素A1には初期目的変数a1が割り当てられている。テスト要素A2には変数a2、テスト要素A3には変数a3、テスト要素A4には変数a4、テスト要素A5には変数a5、といったように割り当てられている。同様に、テストBにおけるテスト要素B1には初期目的変数b1、といったように割り当てられている。[最終目的変数]項目は、テスト要素の初期目的変数に対して割り当てられた前述の最終目的変数が格納されている。最終目的変数の例を“y1”等で示す。例えば、テストAにおけるテスト要素A1の初期目的変数a1には最終目的変数y1が割り当てられている。テスト要素A2の初期目的変数a2には最終目的変数y2が割り当てられている。テスト要素A3の初期目的変数a3には最終目的変数y3が割り当てられている。テスト要素A4の初期目的変数a4には、テスト要素A1の初期目的変数a1と同じく、最終目的変数y1が割り当てられている。テスト要素A5の初期目的変数a5には、テスト要素A2の初期目的変数a2と同じく、最終目的変数y2が割り当てられている。即ち、テストAのテスト要素A1〜A5の初期目的変数a1〜a5に対しては、最終目的変数{y1,y2,y3,y1,y2}を有する。同様に、テストBのテスト要素B1〜B5の初期目的変数b1〜b5に対しては、最終目的変数{y1,y4,y5,y1,y2}を有する。
図7は、テスト要素解析結果情報34に基づいて立てられた回帰分析の方程式を示す。この方程式は、図6のテスト要素解析結果情報34の表(特に最終目的変数)を、数式として表現したものである。テスト要素実行時間取得部22は、テスト結果情報32と、テスト要素解析結果情報34とから、このような方程式を作成する。
図8は、テスト要素実行時間情報35の構成例を示す。図8の上側は、テスト要素毎の結果を纏めた表を示す。図8の下側は、テスト毎の結果を纏めた表を示す。図8の上側のテスト要素実行時間情報35の表は、項目(列)として、最終目的変数、テスト要素例、実行時間(性能実行時間)、誤差、出力相違、を有する。[最終目的変数]項目は、前述のベクトルYに対応する最終目的変数(“y1”等)及び定数(“c”)を示す。[テスト要素例]項目は、その最終目的変数に関係付けられるテスト要素の例の文を示す。これは、前述のテストシナリオ情報31またはテスト要素解析結果情報34に基づいて、1つの最終目的変数に集約されている共通のテスト要素のうちの1つのテスト要素の文が記載される。本例では、「テスト要素例」に、1つのテスト要素のみが記載されているが、これに限らず可能であり、共通の複数のテスト要素の文が記載されてもよい。いずれにしろ、[テスト要素例]項目は、ユーザがこの表を見た時に内容の把握が容易になるように設けられているので、不要であれば省略可能である。
図9は、性能変動検出部23の性能変動検出処理のフローを示す。この処理は、複数回の自動テストの結果に基づいて、実行時間の変動によって、プログラム30の性能変動を検出する処理である。前述のように、プログラム30に関する自動テストが、例えば定期的に複数回のタイミングで実施され、それぞれのタイミングに合わせて、性能測定処理が行われる。自動テストの回数分、テスト結果情報32やテスト要素実行時間情報35が同様に得られる。テスト要素実行時間取得部22は、各回のテスト要素実行時間情報35に対応する性能測定情報36を、DB40に時系列で保存しておく。
更に、実施の形態のソフトウェア性能測定システム2では、上記性能変動検出と共に、性能変動に関連付けられるソフトウェアのソースコードの変更差分情報を同時に出力する機能を有する。上記性能変動検出機能に基づいて、実行時間の相違や変動に関する、テストシナリオのテストのテスト要素における寄与の大きい箇所が、予め、あるいはテスト後の性能測定の結果、特定される。性能変動検出部23は、その実行時間の相違が大きい箇所のテスト要素が特定できた場合、そのテスト要素の処理に関与しているソースコードにおける変更差分情報を特定し、ユーザに対して出力する。
上記のように、実施の形態のソフトウェア性能測定システムによれば、対象のプログラム30のサイズが大きい場合でも、工数増大を抑えつつ、そのプログラム30の性能測定を実現できる。言い換えると、実施の形態によれば、性能測定のために、プログラム30のソースコードにログ出力等のための追加コードを埋め込む等の追加工数を必要とせずに、性能測定を実現できる。実施の形態によれば、専用の高価な性能測定装置を設ける追加コスト等を必要とせずに、性能測定を実現できる。実施の形態によれば、開発中のシステムへの悪影響を皆無として、プログラム30の性能測定を実現できる。
Claims (8)
- 計算機上で、開発中のソフトウェアを構成するプログラムの性能を測定する情報処理を行うソフトウェア性能測定システムであって、
前記プログラムのテストの実行結果として、前記テストを構成するテスト要素毎のテスト実行時間を含む、テスト結果情報を入力し、
前記テストを構成する前記テスト要素の情報を含む、テスト規定情報を入力し、
前記テスト結果情報及び前記テスト規定情報に基づいて、前記テスト要素毎に実行時間を目的変数として設定した回帰分析の方程式を作成し、前記方程式を解くことで、前記テスト要素毎の前記実行時間を算出する処理を行い、
前記プログラムの性能を表す情報として、前記テスト要素毎の前記実行時間を含む情報を、ユーザに対して出力する、
ソフトウェア性能測定システム。 - 請求項1記載のソフトウェア性能測定システムにおいて、
前記テストを構成する前記テスト要素として、処理内容が同等とみなせる複数のテスト要素については、同じ前記目的変数を設定し、
最小二乗法を用いて前記方程式を解く、
ソフトウェア性能測定システム。 - 請求項2記載のソフトウェア性能測定システムにおいて、
前記処理内容が同等とみなせる複数のテスト要素についてグループに分類したテスト要素分類表を入力し、
前記テスト規定情報と前記テスト要素分類表とから、前記テストの前記テスト要素を解析して、前記処理内容が同等とみなせる複数のテスト要素に同じ前記目的変数を設定して、テスト要素解析結果情報を出力し、
前記テスト結果情報及び前記テスト要素解析結果情報に基づいて、前記テスト要素毎の前記実行時間を算出する処理を行う、
ソフトウェア性能測定システム。 - 請求項1記載のソフトウェア性能測定システムにおいて、
前記テスト規定情報は、テストシナリオとして記述された自動テストを構成する複数の前記テスト要素の情報を含み、
テスト実行環境において所定のタイミングで前記テストシナリオに基づいた前記自動テストが実行された結果を前記テスト結果情報として入力し、
前記テスト結果情報の入力のタイミングに応じて、前記テスト要素毎の前記実行時間を算出する処理を行う、
ソフトウェア性能測定システム。 - 請求項1記載のソフトウェア性能測定システムにおいて、
所定のタイミングで実行される複数回の前記テストの結果を前記テスト結果情報として入力して記憶し、
最新の時点の前記テストの結果に基づいた前記テスト要素毎の前記実行時間と、過去の時点の前記テストの結果に基づいた前記テスト要素毎の前記実行時間とを比較して、両者の相違の大きさから、性能変動を検出し、
前記相違の大きさが閾値以上である場合には、前記ユーザに対して警告を出力する、
ソフトウェア性能測定システム。 - 請求項5記載のソフトウェア性能測定システムにおいて、
前記性能変動を検出した場合、前記相違の大きい前記テスト要素の箇所に関連付けられる前記プログラムのソースコードの変更差分情報を、前記ユーザに対して出力する、
ソフトウェア性能測定システム。 - 請求項1記載のソフトウェア性能測定システムにおいて、
前記テストを構成する複数の前記テスト要素の前記実行時間から、前記テストの単位での実行時間を計算し、前記ユーザに対して出力する、
ソフトウェア性能測定システム。 - 開発中のソフトウェアを構成するプログラムの性能を測定する情報処理を計算機に実行させるソフトウェア性能測定プログラムであって、
前記プログラムのテストの実行結果として、前記テストを構成するテスト要素毎のテスト実行時間を含む、テスト結果情報を入力する処理と、
前記テストを構成する前記テスト要素の情報を含む、テスト規定情報を入力する処理と、
前記テスト結果情報及び前記テスト規定情報に基づいて、前記テスト要素毎に実行時間を目的変数として設定した回帰分析の方程式を作成し、前記方程式を解くことで、前記テスト要素毎の前記実行時間を算出する処理と、
前記プログラムの性能を表す情報として、前記テスト要素毎の前記実行時間を含む情報を、ユーザに対して出力する処理と、
を前記計算機に実行させる、ソフトウェア性能測定プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017003857A JP6841667B2 (ja) | 2017-01-13 | 2017-01-13 | ソフトウェア性能測定システム及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017003857A JP6841667B2 (ja) | 2017-01-13 | 2017-01-13 | ソフトウェア性能測定システム及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018112959A true JP2018112959A (ja) | 2018-07-19 |
JP6841667B2 JP6841667B2 (ja) | 2021-03-10 |
Family
ID=62912334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017003857A Active JP6841667B2 (ja) | 2017-01-13 | 2017-01-13 | ソフトウェア性能測定システム及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6841667B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115604078A (zh) * | 2022-09-28 | 2023-01-13 | 卓品智能科技无锡股份有限公司(Cn) | 低成本高效率can报文自动测试方法及系统 |
-
2017
- 2017-01-13 JP JP2017003857A patent/JP6841667B2/ja active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115604078A (zh) * | 2022-09-28 | 2023-01-13 | 卓品智能科技无锡股份有限公司(Cn) | 低成本高效率can报文自动测试方法及系统 |
CN115604078B (zh) * | 2022-09-28 | 2023-08-15 | 卓品智能科技无锡股份有限公司 | 低成本高效率can报文自动测试方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
JP6841667B2 (ja) | 2021-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8423960B2 (en) | Evaluation of software based on review history | |
US8707268B2 (en) | Testing operations of software | |
US8386851B2 (en) | Functional coverage using combinatorial test design | |
US9886372B2 (en) | Automatic correction of application based on runtime behavior | |
US10635574B1 (en) | Screenshot testing of applications on windows desktop environments | |
US20140033174A1 (en) | Software bug predicting | |
JP2009181536A (ja) | ソフトウェアの障害管理装置、テスト管理装置、ならびにそれらのプログラム | |
US8434069B2 (en) | System and method for effort estimation | |
Kadry | A new proposed technique to improve software regression testing cost | |
EP4086824A1 (en) | Method for automatically updating unit cost of inspection by using comparison between inspection time and work time of crowdsourcing-based project for generating artificial intelligence training data | |
US11169910B2 (en) | Probabilistic software testing via dynamic graphs | |
CN112769609B (zh) | 控制故障模拟和模拟故障的方法、系统、介质和产品 | |
CN111858377B (zh) | 测试脚本的质量评价方法、装置、电子设备及存储介质 | |
KR102164769B1 (ko) | 인공지능 학습데이터 생성을 위한 크라우드소싱 기반 프로젝트의 검수 패스를 활용한 능숙도 측정 방법 | |
JP6841667B2 (ja) | ソフトウェア性能測定システム及びプログラム | |
JP2009266045A (ja) | テスト仕様作成支援プログラム及びテスト仕様作成支援方法 | |
JP5967091B2 (ja) | システムパラメータ設定支援システム、システムパラメータ設定支援装置のデータ処理方法、およびプログラム | |
JP6257373B2 (ja) | 障害抽出支援装置 | |
CN114693116A (zh) | 代码评审有效性的检测方法及装置、电子设备 | |
CN111143220B (zh) | 一种软件测试的训练系统及方法 | |
JP6609216B2 (ja) | ソースコードの静的解析結果の分析装置及び分析方法 | |
JP2016099688A (ja) | リスク評価方法およびリスク評価装置 | |
JP7227893B2 (ja) | 品質評価装置および品質評価方法 | |
JP2018150170A (ja) | 情報処理システム、情報処理方法およびプログラム | |
CN114693115A (zh) | 代码评审有效性的检测方法及装置、电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191227 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201221 |
|
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: 20210126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210218 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6841667 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |