JP6365543B2 - ソフトウェアエージングテストシステム、ソフトウェアエージングテスト方法及びソフトウェアエージングテスト用プログラム - Google Patents
ソフトウェアエージングテストシステム、ソフトウェアエージングテスト方法及びソフトウェアエージングテスト用プログラム Download PDFInfo
- Publication number
- JP6365543B2 JP6365543B2 JP2015531784A JP2015531784A JP6365543B2 JP 6365543 B2 JP6365543 B2 JP 6365543B2 JP 2015531784 A JP2015531784 A JP 2015531784A JP 2015531784 A JP2015531784 A JP 2015531784A JP 6365543 B2 JP6365543 B2 JP 6365543B2
- Authority
- JP
- Japan
- Prior art keywords
- software
- test
- result
- version
- load test
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012360 testing method Methods 0.000 title claims description 251
- 230000032683 aging Effects 0.000 title claims description 195
- 238000010998 test method Methods 0.000 title claims description 20
- 238000001514 detection method Methods 0.000 claims description 64
- 238000000034 method Methods 0.000 claims description 39
- 238000012545 processing Methods 0.000 claims description 5
- 230000018109 developmental process Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 14
- 230000007423 decrease Effects 0.000 description 11
- 238000011161 development Methods 0.000 description 11
- 230000007547 defect Effects 0.000 description 7
- 238000012417 linear regression Methods 0.000 description 6
- 238000007792 addition Methods 0.000 description 4
- 238000010835 comparative analysis Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000012502 risk assessment Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3428—Benchmarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
そこで、本発明の目的は、高頻度な負荷テストによるソフトウェア開発効率の低下を招かず且つ低頻度な負荷テストによるソフトウェアエージングの検出精度の低下も招かないような適切な頻度で負荷テストを実行するソフトウェアエージングテストシステム、方法及びプログラムを提供することである。
[構成の説明]
次に、本発明の第1の実施の形態について図面を参照して詳細に説明する。
図1を参照すると、本発明の第1の実施の形態では、プログラム制御により動作するコンピュータ(中央処理装置、プロセッサ又はデータ処理装置ともいう)100に、テスト対象のバージョンのソフトウェア(テスト対象のソフトウェアバージョン(SVUT)ともいう)10が入力として与えられ、テスト対象のソフトウェアに潜在的に存在するエージングリスクの分析結果である潜在エージングリスク分析結果20が出力される。コンピュータ100は、ソフトウェアのバージョンを管理するソフトウェアバージョン管理記憶装置101と、テスト対象のソフトウェアバージョンの変化量を調べる変化量チェック手段102と、負荷テストを実施する基準とする変化量のしきい値を格納する変化量しきい値格納装置103と、ソフトウェアに対して負荷テストを実施する負荷テスト手段104と、負荷テストの結果を格納する負荷テスト結果格納装置105と、負荷テストの結果を過去の結果と比較するテスト結果比較手段106と、比較結果に基づいて変化量しきい値を更新するしきい値更新手段107とから構成されている。
変化量チェック手段102は、テスト対象のソフトウェアバージョンに対して、ソフトウェアエージングの問題が検出されなかった以前の正常なソフトウェアバージョン(複数ある場合には例えば直近のもの)からの変化量をチェックし、変化量がしきい値に達しているか否かを判定する。変化量がしきい値に達している場合にのみ負荷テストを実施するように制御する。
次に、図1及び図2のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
次に、本実施の形態の効果について説明する。
本実施の形態では、負荷テスト結果の比較によってソフトウェアエージングの可能性を分析し、その分析結果に基づいて負荷テストの実施間隔を決定するためのしきい値を変化させるように構成されているため、高頻度な負荷テストによる開発効率の低下および低頻度の負荷テストに起因する問題の検出精度の低下を回避できる。
[構成の説明]
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。
図3を参照すると、本発明の第2の実施の形態は、図1の第1の実施の形態の構成におけるしきい値更新手段107にデバッグ結果30がデバッグ結果入力手段(図示せず)を介して入力される点で第1の実施の形態と相違する。
コンピュータ100のデバッグ結果入力手段はソフトウェアエージングの問題が検出された場合にデバッグを実施した結果を入力として受け付け、受け付けたデバッグ結果をしきい値更新手段107に送る。しきい値更新手段107は、このデバッグ結果と、テスト結果比較手段106から取得したソフトウェアエージング検出結果とに基づいてしきい値の更新を決定する。
次に、本発明を実施するための形態の効果について説明する。
本発明を実施するための形態では、テスト結果比較手段106によってソフトウェアのデバッグの必要性を判定し、しきい値更新手段107がデバッグの結果と分析結果の相違に基づいてソフトウェアエージングの誤検知を減らすようにしきい値を設定するように構成されているため、ソフトウェアエージングの検出精度を高めることができる。
負荷テストを実施した際にソフトウェアが消費したメモリ量(Resident Set Size)の変化を観測した結果、図6の結果が得られた場合を考える。テスト対象のソフトウェアバージョン(SVUT)と直近の正常なソフトウェアバージョン(LGV)で観測されたそれぞれの値、および観測結果から線形回帰分析によって得られた近似曲線を示す。近似曲線の傾きを比較してわかるように、テスト対象のソフトウェアバージョン(SVUT)と直近の正常なソフトウェアバージョン(LGV)に大きな傾きの差は見られない。したがって、この場合はテスト対象のソフトウェアバージョンにソフトウェアエージングは存在しないと判定する。判定の際に、具体的な差のしきい値を用いても良い。例えば、Resident Set Sizeの変化量の差が2.0以下であれば、ソフトウェアエージングは存在しないと判定する。この結果から、しきい値更新手段107は現在の負荷テストを実施する間隔はより長く設定する余地があると判断し、コミット数に関するしきい値を例えば5から7に変更する。この設定変更により、次回の負荷テスト実施は先延ばしされ、その間により多くの更新を行うことができるため、開発効率の改善につながる。
観測したメモリ量の変化が図7のようであったとする。テスト対象のソフトウェアバージョン(SVUT)と直近の正常なソフトウェアバージョン(LGV)で観測された値から線形回帰分析を行った直線の傾きを比較すると、明らかにテスト対象のソフトウェアバージョンに大きな傾向の変化が認められる。このような場合、テスト対象のソフトウェアバージョンにソフトウェアエージングの問題が存在していると判定する。判定の際に、具体的な差のしきい値を用いても良い。例えば、Resident Set Sizeの変化量の差が5.0以上であれば、ソフトウェアエージングの問題が存在すると判定する。エージングの問題が存在するという分析結果が得られた際にはデバッグを必要とするものとする。デバッグが必要と判定されると、ソフトウェアエージングの原因を究明するため、開発者がソースコードを解析する。解析した結果はしきい値更新手段107に入力される。
図7に示す観測結果が得られ、ソフトウェアエージングが存在すると判定したが、デバッグによってその判定が誤りであったことが分わかった場合を考える。すなわち、バージョンの比較によるソフトウェアエージングの問題検出の結果が間違っていたことになる。傾向変化の原因は必要な機能追加等に起因している。誤検知によるソースコード解析の労力を減らす上では、このような基本的な傾向の変化をできるだけ早期に把握しておくことが重要である。したがって、しきい値更新手段は誤検知ができるだけ早期に発見されるようにコミット数に関するしきい値を例えば5から4に変更する。この設定変更により、より高頻度で負荷テストのバージョンの比較が実施されるため、誤検知の問題をできるだけ早期に解決して開発を効率化することができる。
実施基準に従ってテスト対象のバージョンのソフトウェアに負荷テストを実施し、そのテスト結果と比較対象の以前のバージョンのソフトウェアの負荷テストのテスト結果とを比較してソフトウェアエージングの問題の有無を検出し、検出結果に基づいて前記実施基準を変更して次回以降の負荷テストの実施頻度を調整することを特徴とするソフトウェアエージングテストシステム。
テスト対象のバージョンのソフトウェアとソフトウェアエージングの問題のない直近の正常なバージョンのソフトウェアとの差分を定量的に示す変化量を求め、前記変化量から前記実施基準に基づいて負荷テストの要否を判定する判定手段と、
前記判定手段により負荷テストの実施が必要と判定された場合にテスト対象のバージョンのソフトウェアに負荷テストを実施する実施手段と、
前記実施手段により得られたテスト対象のバージョンのソフトウェアの負荷テストのテスト結果と、事前に得られた前記直近の正常なバージョンのソフトウェアの負荷テストのテスト結果とを比較してソフトウェアエージングの問題の有無を検出する検出手段と、
前記検出手段により得られたソフトウェアエージングの問題の有無の検出結果に基づいて前記実施基準を更新する更新手段と
を備えたことを特徴とする付記1に記載のソフトウェアエージングテストシステム。
前記変化量はソフトウェアのコミット数の変化量を含み、その変化量のしきい値を前記実施基準とすることを特徴とする付記2に記載のソフトウェアエージングテストシステム。
前記変化量はソフトウェアに含まれるコード行数、機能の数、オブジェクトの数、関数の数、及び外部ライブラリの数を含む群のうちの1つ以上を含むソフトウェアメトリクスの変化量を含み、その変化量のしきい値を前記実施基準とすることを特徴とする付記2に記載のソフトウェアエージングテストシステム。
前記変化量はソフトウェア開発における経過時間の変化量を含み、その変化量のしきい値を前記実施基準とすることを特徴とする付記2に記載のソフトウェアエージングテストシステム。
前記検出手段は、負荷テストにおいてソフトウェアが消費したメモリ量の時間変化を両テスト結果間で比較することによりソフトウェアエージングの問題の有無を検出することを特徴とする付記2〜5のいずれか1に記載のソフトウェアエージングテストシステム。
前記検出手段は、負荷テストにおける空きメモリ容量、仮想メモリサイズ、スワップ利用サイズ、ディスク空き容量及びプロセス数を含む群のうちの1つ以上についての時間変化を両テスト結果間で比較することによりソフトウェアエージングの問題の有無を検出することを特徴とする付記2〜5のいずれか1に記載のソフトウェアエージングテストシステム。
前記時間変化を両テスト結果間で比較する際に線形回帰分析により前記時間変化を直線近似し、近似直線の傾きを両テスト結果間で比較することを特徴とする付記6又は7に記載のソフトウェアエージングテストシステム。
前記更新手段は、前記検出手段がソフトウェアエージングの問題を検出しなかった場合には、負荷テストの実施間隔がより長くなるように前記実施基準を更新することを特徴とする付記2〜8のいずれか1に記載のソフトウェアエージングテストシステム。
前記更新手段は、前記検出手段がソフトウェアエージングの問題を検出した場合には、負荷テストの実施間隔がより短くなるように前記実施基準を更新することを特徴とする付記2〜9のいずれか1に記載のソフトウェアエージングテストシステム。
ソフトウェアエージングの問題が検出された場合に実施したデバッグの結果を入力するデバッグ結果入力手段を更に備え、
前記更新手段は、前記デバッグ結果入力手段が入力したデバッグ結果と前記検出手段によるソフトウェアエージングの問題の有無の検出結果とに基づいて前記実施基準を更新することを特徴とする付記2〜8のいずれか1に記載のソフトウェアエージングテストシステム。
前記更新手段は、前記デバッグ結果と前記ソフトウェアエージングの問題の有無の検出結果が一致するか否かを判定し、一致しない場合には負荷テストの実施間隔がより短くなるように前記実施基準を更新することを特徴とする付記11に記載のソフトウェアエージングテストシステム。
前記更新手段は、前記デバッグ結果と前記ソフトウェアエージングの問題の有無の検出結果が一致するか否かを判定し、一致する場合には前記実施基準を維持するか又は負荷テストの実施間隔がより長くなるように前記実施基準を更新することを特徴とする付記11又は12に記載のソフトウェアエージングテストシステム。
実施基準に従ってテスト対象のバージョンのソフトウェアに負荷テストを実施し、そのテスト結果と比較対象の以前のバージョンのソフトウェアの負荷テストのテスト結果とを比較してソフトウェアエージングの問題の有無を検出し、検出結果に基づいて前記実施基準を変更して次回以降の負荷テストの実施頻度を調整することを特徴とするソフトウェアエージングテスト方法。
テスト対象のバージョンのソフトウェアとソフトウェアエージングの問題のない直近の正常なバージョンのソフトウェアとの差分を定量的に示す変化量を求め、前記変化量から前記実施基準に基づいて負荷テストの要否を判定する判定ステップと、
前記判定ステップにて負荷テストの実施が必要と判定された場合にテスト対象のバージョンのソフトウェアに負荷テストを実施する実施ステップと、
前記実施ステップで得られたテスト対象のバージョンのソフトウェアの負荷テストのテスト結果と、事前に得られた前記直近の正常なバージョンのソフトウェアの負荷テストのテスト結果とを比較してソフトウェアエージングの問題の有無を検出する検出ステップと、
前記検出ステップで得られたソフトウェアエージングの問題の有無の検出結果に基づいて前記実施基準を更新する更新ステップと
を含むことを特徴とする付記14に記載のソフトウェアエージングテスト方法。
前記変化量はソフトウェアのコミット数の変化量を含み、その変化量のしきい値を前記実施基準とすることを特徴とする付記15に記載のソフトウェアエージングテスト方法。
前記変化量はソフトウェアに含まれるコード行数、機能の数、オブジェクトの数、関数の数、及び外部ライブラリの数を含む群のうちの1つ以上を含むソフトウェアメトリクスの変化量を含み、その変化量のしきい値を前記実施基準とすることを特徴とする付記15に記載のソフトウェアエージングテスト方法。
前記変化量はソフトウェア開発における経過時間の変化量を含み、その変化量のしきい値を前記実施基準とすることを特徴とする付記15に記載のソフトウェアエージングテスト方法。
前記検出ステップでは、負荷テストにおいてソフトウェアが消費したメモリ量の時間変化を両テスト結果間で比較することによりソフトウェアエージングの問題の有無を検出することを特徴とする付記15〜18のいずれか1に記載のソフトウェアエージングテスト方法。
前記検出ステップでは、負荷テストにおける空きメモリ容量、仮想メモリサイズ、スワップ利用サイズ、ディスク空き容量及びプロセス数を含む群のうちの1つ以上についての時間変化を両テスト結果間で比較することによりソフトウェアエージングの問題の有無を検出することを特徴とする付記15〜18のいずれか1に記載のソフトウェアエージングテスト方法。
前記時間変化を両テスト結果間で比較する際に線形回帰分析により前記時間変化を直線近似し、近似直線の傾きを両テスト結果間で比較することを特徴とする付記19又は20に記載のソフトウェアエージングテスト方法。
前記更新ステップでは、前記検出ステップにてソフトウェアエージングの問題が検出されなかった場合、負荷テストの実施間隔がより長くなるように前記実施基準を更新することを特徴とする付記15〜21のいずれか1に記載のソフトウェアエージングテスト方法。
前記更新ステップでは、前記検出ステップにてソフトウェアエージングの問題が検出された場合、負荷テストの実施間隔がより短くなるように前記実施基準を更新することを特徴とする付記15〜22のいずれか1に記載のソフトウェアエージングテスト方法。
ソフトウェアエージングの問題が検出された場合に実施したデバッグの結果を入力するデバッグ結果入力ステップを更に含み、
前記更新ステップでは、前記デバッグ結果入力ステップにて入力したデバッグ結果と前記検出ステップでのソフトウェアエージングの問題の有無の検出結果とに基づいて前記実施基準を更新することを特徴とする付記15〜21のいずれか1に記載のソフトウェアエージングテスト方法。
前記更新ステップでは、前記デバッグ結果と前記ソフトウェアエージングの問題の有無の検出結果が一致するか否かを判定し、一致しない場合には負荷テストの実施間隔がより短くなるように前記実施基準を更新することを特徴とする付記24に記載のソフトウェアエージングテスト方法。
前記更新ステップでは、前記デバッグ結果と前記ソフトウェアエージングの問題の有無の検出結果が一致するか否かを判定し、一致する場合には前記実施基準を維持するか又は負荷テストの実施間隔がより長くなるように前記実施基準を更新することを特徴とする付記24又は25に記載のソフトウェアエージングテスト方法。
コンピュータに、実施基準に従ってテスト対象のバージョンのソフトウェアに負荷テストを実施し、そのテスト結果と比較対象の以前のバージョンのソフトウェアの負荷テストのテスト結果とを比較してソフトウェアエージングの問題の有無を検出し、検出結果に基づいて前記実施基準を変更して次回以降の負荷テストの実施頻度を調整する処理を実行させることを特徴とするソフトウェアエージングテスト用プログラム。
前記コンピュータに、
テスト対象のバージョンのソフトウェアとソフトウェアエージングの問題のない直近の正常なバージョンのソフトウェアとの差分を定量的に示す変化量を求め、前記変化量から前記実施基準に基づいて負荷テストの要否を判定する判定処理と、
前記判定処理にて負荷テストの実施が必要と判定された場合にテスト対象のバージョンのソフトウェアに負荷テストを実施する実施処理と、
前記実施処理で得られたテスト対象のバージョンのソフトウェアの負荷テストのテスト結果と、事前に得られた前記直近の正常なバージョンのソフトウェアの負荷テストのテスト結果とを比較してソフトウェアエージングの問題の有無を検出する検出処理と、
前記検出処理で得られたソフトウェアエージングの問題の有無の検出結果に基づいて前記実施基準を更新する更新処理と
を実行させることを特徴とする付記27に記載のソフトウェアエージングテスト用プログラム。
前記変化量はソフトウェアのコミット数の変化量を含み、その変化量のしきい値を前記実施基準とすることを特徴とする付記28に記載のソフトウェアエージングテスト用プログラム。
前記変化量はソフトウェアに含まれるコード行数、機能の数、オブジェクトの数、関数の数、及び外部ライブラリの数を含む群のうちの1つ以上を含むソフトウェアメトリクスの変化量を含み、その変化量のしきい値を前記実施基準とすることを特徴とする付記28に記載のソフトウェアエージングテスト用プログラム。
前記変化量はソフトウェア開発における経過時間の変化量を含み、その変化量のしきい値を前記実施基準とすることを特徴とする付記28に記載のソフトウェアエージングテスト用プログラム。
前記検出処理では、負荷テストにおいてソフトウェアが消費したメモリ量の時間変化を両テスト結果間で比較することによりソフトウェアエージングの問題の有無を検出することを特徴とする付記28〜31のいずれか1に記載のソフトウェアエージングテスト用プログラム。
前記検出処理では、負荷テストにおける空きメモリ容量、仮想メモリサイズ、スワップ利用サイズ、ディスク空き容量及びプロセス数を含む群のうちの1つ以上についての時間変化を両テスト結果間で比較することによりソフトウェアエージングの問題の有無を検出することを特徴とする付記28〜31のいずれか1に記載のソフトウェアエージングテスト用プログラム。
前記時間変化を両テスト結果間で比較する際に線形回帰分析により前記時間変化を直線近似し、近似直線の傾きを両テスト結果間で比較することを特徴とする付記32又は33に記載のソフトウェアエージングテスト用プログラム。
前記更新処理では、前記検出処理にてソフトウェアエージングの問題が検出されなかった場合、負荷テストの実施間隔がより長くなるように前記実施基準を更新することを特徴とする付記28〜34のいずれか1に記載のソフトウェアエージングテスト用プログラム。
前記更新処理では、前記検出処理にてソフトウェアエージングの問題が検出された場合、負荷テストの実施間隔がより短くなるように前記実施基準を更新することを特徴とする付記28〜35のいずれか1に記載のソフトウェアエージングテスト用プログラム。
前記コンピュータに、
ソフトウェアエージングの問題が検出された場合に実施したデバッグの結果を入力するデバッグ結果入力処理を更に実行させ、
前記更新処理では、前記デバッグ結果入力処理にて入力したデバッグ結果と前記検出処理で得られたソフトウェアエージングの問題の有無の検出結果とに基づいて前記実施基準を更新することを特徴とする付記28〜34のいずれか1に記載のソフトウェアエージングテスト用プログラム。
前記更新処理では、前記デバッグ結果と前記ソフトウェアエージングの問題の有無の検出結果が一致するか否かを判定し、一致しない場合には負荷テストの実施間隔がより短くなるように前記実施基準を更新することを特徴とする付記37に記載のソフトウェアエージングテスト用プログラム。
前記更新処理では、前記デバッグ結果と前記ソフトウェアエージングの問題の有無の検出結果が一致するか否かを判定し、一致する場合には前記実施基準を維持するか又は負荷テストの実施間隔がより長くなるように前記実施基準を更新することを特徴とする付記37又は38に記載のソフトウェアエージングテスト用プログラム。
101 ソフトウェアバージョン管理記憶装置
102 変化量チェック手段
103 変化量しきい値格納装置
104 負荷テスト手段
105 負荷テスト結果格納装置
106 テスト結果比較手段
107 しきい値更新手段
Claims (9)
- 実施基準に従ってテスト対象のバージョンのソフトウェアに負荷テストを実施し、そのテスト結果と比較対象の以前のバージョンのソフトウェアの負荷テストのテスト結果とを比較してソフトウェアエージングの問題の有無を検出し、検出結果に基づいて前記実施基準を変更して次回以降の負荷テストの実施頻度を調整することを特徴とするソフトウェアエージングテストシステムであって、
テスト対象のバージョンのソフトウェアとソフトウェアエージングの問題のない直近の正常なバージョンのソフトウェアとの差分を定量的に示す変化量を求め、前記変化量から前記実施基準に基づいて負荷テストの要否を判定する判定手段と、
前記判定手段により負荷テストの実施が必要と判定された場合にテスト対象のバージョンのソフトウェアに負荷テストを実施する実施手段と、
前記実施手段により得られたテスト対象のバージョンのソフトウェアの負荷テストのテスト結果と、事前に得られた前記直近の正常なバージョンのソフトウェアの負荷テストのテスト結果とを比較してソフトウェアエージングの問題の有無を検出する検出手段と、
前記検出手段により得られたソフトウェアエージングの問題の有無の検出結果に基づいて前記実施基準を更新する更新手段と
を備えたソフトウェアエージングテストシステム。 - 前記変化量はソフトウェアのコミット数の変化量を含み、その変化量のしきい値に達していることを前記実施基準とすることを特徴とする請求項1に記載のソフトウェアエージングテストシステム。
- 前記更新手段は、前記検出手段がソフトウェアエージングの問題を検出しなかった場合には、負荷テストの実施間隔がより長くなるように前記実施基準を更新することを特徴とする請求項1又は2に記載のソフトウェアエージングテストシステム。
- 前記更新手段は、前記検出手段がソフトウェアエージングの問題を検出した場合には、負荷テストの実施間隔がより短くなるように前記実施基準を更新することを特徴とする請求項1から3のいずれか1項に記載のソフトウェアエージングテストシステム。
- ソフトウェアエージングの問題が検出された場合に実施したデバッグの結果を入力するデバッグ結果入力手段を更に備え、
前記更新手段は、前記デバッグ結果入力手段が入力したデバッグ結果と前記検出手段によるソフトウェアエージングの問題の有無の検出結果とに基づいて前記実施基準を更新することを特徴とする請求項1から4のいずれか1項に記載のソフトウェアエージングテストシステム。 - 前記更新手段は、前記デバッグ結果と前記ソフトウェアエージングの問題の有無の検出結果が一致するか否かを判定し、一致しない場合には負荷テストの実施間隔がより短くなるように前記実施基準を更新することを特徴とする請求項5に記載のソフトウェアエージングテストシステム。
- 前記更新手段は、前記デバッグ結果と前記ソフトウェアエージングの問題の有無の検出結果が一致するか否かを判定し、一致する場合には前記実施基準を維持するか又は負荷テストの実施間隔がより長くなるように前記実施基準を更新することを特徴とする請求項5又は6に記載のソフトウェアエージングテストシステム。
- 実施基準に従ってテスト対象のバージョンのソフトウェアに負荷テストを実施し、そのテスト結果と比較対象の以前のバージョンのソフトウェアの負荷テストのテスト結果とを比較してソフトウェアエージングの問題の有無を検出し、検出結果に基づいて前記実施基準を変更して次回以降の負荷テストの実施頻度を調整し、
テスト対象のバージョンのソフトウェアとソフトウェアエージングの問題のない直近の正常なバージョンのソフトウェアとの差分を定量的に示す変化量を求め、前記変化量から前記実施基準に基づいて負荷テストの要否を判定し、
負荷テストの実施が必要と判定された場合にテスト対象のバージョンのソフトウェアに負荷テストを実施し、
得られたテスト対象のバージョンのソフトウェアの負荷テストのテスト結果と、事前に得られた前記直近の正常なバージョンのソフトウェアの負荷テストのテスト結果とを比較してソフトウェアエージングの問題の有無を検出し、
得られたソフトウェアエージングの問題の有無の検出結果に基づいて前記実施基準を更新することを特徴とするソフトウェアエージングテスト方法。 - コンピュータに、実施基準に従ってテスト対象のバージョンのソフトウェアに負荷テストを実施し、そのテスト結果と比較対象の以前のバージョンのソフトウェアの負荷テストのテスト結果とを比較してソフトウェアエージングの問題の有無を検出し、検出結果に基づいて前記実施基準を変更して次回以降の負荷テストの実施頻度を調整する処理と、
テスト対象のバージョンのソフトウェアとソフトウェアエージングの問題のない直近の正常なバージョンのソフトウェアとの差分を定量的に示す変化量を求め、前記変化量から前記実施基準に基づいて負荷テストの要否を判定する処理と、
負荷テストの実施が必要と判定された場合にテスト対象のバージョンのソフトウェアに負荷テストを実施する処理と、
得られたテスト対象のバージョンのソフトウェアの負荷テストのテスト結果と、事前に得られた前記直近の正常なバージョンのソフトウェアの負荷テストのテスト結果とを比較してソフトウェアエージングの問題の有無を検出する処理と、
得られたソフトウェアエージングの問題の有無の検出結果に基づいて前記実施基準を更新する処理とを実行させることを特徴とするソフトウェアエージングテスト用プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013167466 | 2013-08-12 | ||
JP2013167466 | 2013-08-12 | ||
PCT/JP2014/070688 WO2015022890A1 (ja) | 2013-08-12 | 2014-08-06 | ソフトウェアエージングテストシステム、ソフトウェアエージングテスト方法及びソフトウェアエージングテスト用プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2015022890A1 JPWO2015022890A1 (ja) | 2017-03-02 |
JP6365543B2 true JP6365543B2 (ja) | 2018-08-01 |
Family
ID=52468277
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015531784A Expired - Fee Related JP6365543B2 (ja) | 2013-08-12 | 2014-08-06 | ソフトウェアエージングテストシステム、ソフトウェアエージングテスト方法及びソフトウェアエージングテスト用プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US9858176B2 (ja) |
JP (1) | JP6365543B2 (ja) |
WO (1) | WO2015022890A1 (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10152369B2 (en) * | 2014-09-24 | 2018-12-11 | Activision Publishing, Inc. | Compute resource monitoring system and method associated with benchmark tasks and conditions |
CN104750612B (zh) * | 2015-03-31 | 2018-03-27 | 腾讯科技(深圳)有限公司 | 对文件操作进行测试方法及装置 |
US9971677B2 (en) * | 2015-05-28 | 2018-05-15 | International Business Machines Corporation | Generation of test scenarios based on risk analysis |
CN107453960B (zh) * | 2017-09-26 | 2020-08-25 | 青岛聚看云科技有限公司 | 一种在服务测试中处理测试数据的方法、装置和系统 |
JP6940768B2 (ja) * | 2017-11-01 | 2021-09-29 | 富士通株式会社 | テスト制御プログラム、テスト制御装置及びテスト制御方法 |
CN108595323B (zh) * | 2018-03-30 | 2021-08-03 | 华为技术有限公司 | 一种系统测试方法及相关装置 |
CN109062790B (zh) * | 2018-07-19 | 2022-04-05 | 北京首汽智行科技有限公司 | 车载终端蓝牙固件的升级测试方法 |
CN110083518B (zh) * | 2019-04-29 | 2021-11-16 | 东北大学 | 一种基于AdaBoost-Elman的虚拟机软件老化预测方法 |
CN110275825A (zh) * | 2019-05-15 | 2019-09-24 | 南京航空航天大学 | 一种基于构件影响力的软件可靠性评估方法 |
US11036613B1 (en) | 2020-03-30 | 2021-06-15 | Bank Of America Corporation | Regression analysis for software development and management using machine learning |
US11144435B1 (en) | 2020-03-30 | 2021-10-12 | Bank Of America Corporation | Test case generation for software development using machine learning |
CN111881023B (zh) * | 2020-07-10 | 2022-05-06 | 武汉理工大学 | 一种基于多模型对比的软件老化预测方法及装置 |
CN112000580B (zh) * | 2020-08-27 | 2022-09-23 | 武汉理工大学 | 负载相关的软件老化检测方法 |
JP7217767B2 (ja) * | 2021-03-19 | 2023-02-03 | 本田技研工業株式会社 | 更新管理サーバ、更新管理方法、及びプログラム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001020455A1 (en) * | 1999-09-10 | 2001-03-22 | Koninklijke Philips Electronics N.V. | Microcomputer with test instruction memory |
US7428726B1 (en) * | 2000-04-12 | 2008-09-23 | Compuware Corporation | Techniques for software configuration tracking |
US6769114B2 (en) * | 2000-05-19 | 2004-07-27 | Wu-Hon Francis Leung | Methods and apparatus for preventing software modifications from invalidating previously passed integration tests |
US6609216B1 (en) * | 2000-06-16 | 2003-08-19 | International Business Machines Corporation | Method for measuring performance of code sequences in a production system |
KR100420266B1 (ko) * | 2001-10-23 | 2004-03-02 | 한국전자통신연구원 | 클러스터 컴퓨터 시스템의 소프트웨어 가용도 개선 방법및 그 장치 |
US7028290B2 (en) * | 2002-04-29 | 2006-04-11 | Microsoft Corporation | Method and apparatus for prioritizing software tests |
US20070180490A1 (en) * | 2004-05-20 | 2007-08-02 | Renzi Silvio J | System and method for policy management |
US8726243B2 (en) * | 2005-09-30 | 2014-05-13 | Telecom Italia S.P.A. | Method and system for automatically testing performance of applications run in a distributed processing structure and corresponding computer program product |
US20080201705A1 (en) * | 2007-02-15 | 2008-08-21 | Sun Microsystems, Inc. | Apparatus and method for generating a software dependency map |
JP2011090457A (ja) * | 2009-10-21 | 2011-05-06 | Toyota Motor Corp | 車両診断装置 |
JP2012234448A (ja) | 2011-05-07 | 2012-11-29 | Hitachi Ltd | ソフトウェア性能逐次予測方法及び予測システム |
US8850272B2 (en) | 2011-05-30 | 2014-09-30 | Infosys Limited | Method and system to measure preventability of failures of an application |
US9785542B2 (en) * | 2013-04-16 | 2017-10-10 | Advantest Corporation | Implementing edit and update functionality within a development environment used to compile test plans for automated semiconductor device testing |
-
2014
- 2014-08-06 US US14/909,519 patent/US9858176B2/en not_active Expired - Fee Related
- 2014-08-06 WO PCT/JP2014/070688 patent/WO2015022890A1/ja active Application Filing
- 2014-08-06 JP JP2015531784A patent/JP6365543B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20160188449A1 (en) | 2016-06-30 |
JPWO2015022890A1 (ja) | 2017-03-02 |
US9858176B2 (en) | 2018-01-02 |
WO2015022890A1 (ja) | 2015-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6365543B2 (ja) | ソフトウェアエージングテストシステム、ソフトウェアエージングテスト方法及びソフトウェアエージングテスト用プログラム | |
US11321081B2 (en) | Affinity recommendation in software lifecycle management | |
US10762110B2 (en) | Method and system for real-time, false positive resistant, load independent and self-learning anomaly detection of measured transaction execution parameters like response times | |
US9400732B2 (en) | Performance regression testing in presence of noise | |
US20160062765A1 (en) | Identifying semantic differences between source code versions | |
US9038030B2 (en) | Methods for predicting one or more defects in a computer program and devices thereof | |
US8386851B2 (en) | Functional coverage using combinatorial test design | |
US9430359B1 (en) | Identifying and resolving software issues | |
US20090241096A1 (en) | Dynamic Software Tracing | |
US8949676B2 (en) | Real-time event storm detection in a cloud environment | |
CN106326067B (zh) | 一种在压力测试下对cpu性能进行监控的方法及装置 | |
US20140019403A1 (en) | Transaction server performance monitoring using component performance data | |
JP2015507303A (ja) | コード網羅率決定方法およびシステム | |
US9135146B1 (en) | Identifying and resolving software issues | |
US20140365833A1 (en) | Capturing trace information using annotated trace output | |
US20200310779A1 (en) | Validating a firmware compliance policy prior to use in a production system | |
US20170097812A1 (en) | Automated and heuristically managed solution to quantify cpu and path length cost of instructions added, changed or removed by a service team | |
US10089213B1 (en) | Identifying and resolving software issues | |
US9842044B2 (en) | Commit sensitive tests | |
JP2014021577A (ja) | 故障予測装置、故障予測システム、故障予測方法、及び、故障予測プログラム | |
US20140324409A1 (en) | Stochastic based determination | |
CN104102563A (zh) | 一种发现服务器系统的mca错误的方法及装置 | |
US9298584B2 (en) | Artifact selection using textual reports | |
JP2016018470A (ja) | 情報処理装置,情報処理方法及び情報処理プログラム | |
US8566074B2 (en) | Mapping between stress-test systems and real world systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170718 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180403 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180507 |
|
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: 20180605 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180618 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6365543 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |