JP5629239B2 - ソフトウェアの動作をテストする装置及び方法 - Google Patents
ソフトウェアの動作をテストする装置及び方法 Download PDFInfo
- Publication number
- JP5629239B2 JP5629239B2 JP2011115228A JP2011115228A JP5629239B2 JP 5629239 B2 JP5629239 B2 JP 5629239B2 JP 2011115228 A JP2011115228 A JP 2011115228A JP 2011115228 A JP2011115228 A JP 2011115228A JP 5629239 B2 JP5629239 B2 JP 5629239B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- test
- test result
- group
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims description 695
- 238000000034 method Methods 0.000 title claims description 49
- 238000003860 storage Methods 0.000 claims description 49
- 230000006870 function Effects 0.000 claims description 16
- 238000004458 analytical method Methods 0.000 description 29
- 230000008569 process Effects 0.000 description 29
- 238000012545 processing Methods 0.000 description 14
- 238000013500 data storage Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000012937 correction Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 7
- 230000007547 defect Effects 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 238000007596 consolidation process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Description
新リリースや緊急パッチ適用では、その対象となる不具合が修正されているかどうかが、CADソフトの開発元(以下、単に「開発元」という)において確認される。このとき、開発元としては、その対象となる不具合が発生していない箇所、例えば、過去に修正した箇所についても確認し、不具合の修正が他の箇所に影響していないこと、つまり、不具合の修正によって却ってCADソフトの品質が悪化していないことを保証できるのが理想的である。
こうした事情から、開発元においてユーザの使用方法を網羅したテストを頻繁な新リリースや緊急パッチ適用ごとに実施し、不具合の修正が他の箇所に影響していないことを保証することは困難である。
そこで、ユーザ側においてユーザデータを用いた新リリースや緊急パッチ適用ごとのテストを実施することが有効になる。
特許文献1の技術では、モデル検査により出力された状態と、状態の遷移により表される状態空間を参照して、外部モジュールを呼び出す状態を特定する状態特定処理と、特定した外部モジュールを呼び出す状態から初期状態へのパスを、状態の遷移を参照して抽出するパス抽出処理と、抽出したパスに対して、プログラムの仕様に基づいて「A(条件)ならばB(帰結)である」の形式で作成されたプロパティの条件を比較して、条件を満たす抽出したパスを検出するプロパティ適用処理と、条件ごとに抽出したパスを分類するシナリオ分類処理と、シナリオ分類処理により分類された抽出したパスと、抽出したパスに対応するプロパティの帰結を期待される結果を、テストケースとして生成するテストケース生成処理と、を実行する。
特許文献2の技術では、実運用されている本番機に含まれる第1サーバにおいて、ハードディスクに、本番ディレクトリと別に、仮想ディレクトリを設け、ユーザがジョブ登録部に登録したテスト対象のプログラムに係るデータは、仮想ディレクトリに格納する。ジョブ処理部は、本番処理を本番ジョブ処理部で行うとともに、テスト対象のプログラムを仮想ジョブ処理部で実行する。ファイル解析部は、元のプログラム及びそのプログラムの入出力データを解析することにより、処理内容及び処理特性を特定し、テストケースの作成、テスト結果の判定を行う。リリース処理部は、テスト後に仮想ディレクトリに格納されたテストに係るデータを削除し、リリースが可能となったプログラムなどを本番ディレクトリに移行する。
同様のテストケースの作成に着目した技術としては、特許文献3、4の技術もある。
特許文献5の技術では、テスト対象のソースコードに処理の流れを追跡するための処理を埋め込むトレース機能埋込部と、トレース情報表と自動テスト実行システムが出力したテスト実行結果表を連結し、重複したテストケースを削除するテスト結果分析部を用いて、重複したテストケースを削除した後、テスト実行結果表を表示装置に表示する。
同様のテストケースの取捨選択に着目した技術としては、特許文献6、7の技術もある。
しかしながら、ユーザデータを用いて普通にテストを実施したのでは、CADソフトの製品仕様が通常公開されていないことから、重複したテストが行われ、無駄が発生する可能性がある。
例えば緊急パッチ適用前の検証は早く終えてパッチ適用が求められるため、限られた時間内に完了させる必要があるので、このような重複したテストはできるだけ排除する必要がある。即ち、普通にテストを実施したのではテスト工数が膨大になるので、テストを最適化することが望まれる。
また、このような重複したテストは排除し、その代わりに、新しいユーザデータを追加して、別の不具合や別の機能について対応した方がより効果的である。
また、生成部は、複数のグループの各グループに属するデータを用いてソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列において、複数のバージョンのうちの最新のバージョンから遡って連続するバージョンの動作をテストしたときのテスト結果が成功を示し続ける長さが長いほど、高い安定性を示すテスト結果安定性情報を生成する、ものであってよい。
また、生成部は、複数のグループの各グループに属するデータを用いてソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列において、複数のバージョンの各バージョンの動作をテストしたときのテスト結果の変動に各バージョンの新しさに応じた重みを付加して加算することで得られた変動の度合いが低いほど、高い安定性を示すモジュール安定性情報を生成する、ものであってよい。
本実施の形態は、ユーザデータを用いなければ最終的な受け入れ可否の判定が困難なCADソフトについて、ブラックボックス的に、即ち、その内部構造を知ることなく、過去に障害を発生したデータを用いて、ユーザのCADソフトの利用状況及びCADソフトのモジュールの変更状況を考慮して、時間的な制約の下で、網羅性及び効率性の高いテストを実施するものである。
リスト記憶部19は、リスト作成部18により作成されたテスト用リストを記憶する。
動作が開始すると、テスト実行装置10は、まず、全てのCADデータを用いて一通りテストを行う。例えば、50000件のCADデータがあり、このうち3000件を用いてテストしたい場合であっても、準備段階として50000件を用いてテストする。即ち、テストデータ追加部12は、この50000件のCADデータをテストデータとしてテストケース名と共にテストデータ記憶部11に追加する。
即ち、まず、テスト実行部14が、テストデータ記憶部11に記憶された50000件のテストデータを用いて、1回目のリリースのCADソフトをテストし、テストケース名に対応付けてテスト結果を出力する。具体的には、テストデータにおける形状と、1回目のリリースのCADソフトによりテストデータを変換した後の形状データにおける形状との差分を求め、差分が許容誤差内に収まっていればテスト結果として「パス」を、差分が許容誤差内に収まっていなければテスト結果として「フェイル」を出力する。このとき、テスト実行部14は、テストケース名に対応付けてテスト時間も出力する。
即ち、まず、テスト実行部14が、テストデータ記憶部11に記憶された50000件のテストデータのうち、リスト記憶部19に記憶されたテスト用リストに記述されたテストケース名のテストデータを用いて、2回目のリリースのCADソフトをテストし、テストケース名に対応付けてテスト結果及びテスト時間を出力する。尚、テストデータ追加部12によりテストデータ記憶部11にテストデータが追加された場合は、その追加されたテストデータも用いて、このような処理を行う。
ここで、このときのテスト結果記憶部16の記憶内容について説明する。
図2は、テスト結果記憶部16の記憶内容の一例を示した図である。尚、ここでは、N=10としている。
図示するように、テスト結果記憶部16には、テストケース名に対応付けて、テスト結果履歴及びテスト時間情報が記憶されている。このうち、テスト結果履歴としては、1回目から9回目までの各リリースに対して、リリース番号及びテスト結果が記憶されている。括弧内で、左側の要素がリリース番号を示し、右側の要素がテスト結果を示す。「P」は「パス」で、「F」は「フェイル」を意味する。尚、この段階では、グループ識別子の生成、テスト結果安定性指数及びモジュール安定性指数の算出は行われていないので、これらの欄は空欄になっている。
即ち、まず、テスト実行部14が、テストデータ記憶部11に記憶された50000件のテストデータのうち、リスト記憶部19に記憶されたテスト用リストに記述されたテストケース名のテストデータを用いて、N回目のリリースのCADソフトをテストし、テストケース名に対応付けてテスト結果及びテスト時間を出力する。
第一に、テスト結果分析部15は、テストケースグループ決定処理を行う。
このテストケースグループ決定処理は、各テストケースを文字列に変換することにより、各テストケースが属するグループを決定する処理である。
図には、テストケースA〜Eを用いてリリース1.1〜4.0のCADソフトをテストしたときのテスト結果と、テストケースA〜Eが属するグループのグループ識別子とを示している。また、リリースごとのリリース日時も示している。ここで、リリースごとのテスト結果としては、「パス」を「○」で、「フェイル」を「×」で、「未実施」を空白で表している。また、グループ識別子は、テスト結果における「パス」を「1」、「フェイル」を「0」、「未実施」を「2」とすることで表される文字列である。尚、上記では、1回目のリリースのCADソフトのテストで全てのテストデータを対象とするので、未実施のテストケースはあり得ないが、これはあくまで例であるので、未実施のテストケースも示している。
尚、本実施の形態では、複数のテストケースに対するグループ識別子が同一の場合にそれらのテストケースが同じグループに属するものとして説明するが、複数のテストケースに対するグループ識別子が類似する場合、例えば、グループ識別子の各文字の差分の二乗和が閾値以内である場合に、それらのテストケースが同じグループに属するものとしてもよい。
このテストケース優先度決定処理は、テストケースを集約する際に、不安定な又は重点的なテストの実施が必要なテストケースに高い優先度を与える処理である。これにより、このようなテストケースが優先的に残されるので、網羅性の高いテストケース選択が実現される。尚、このテストケース優先度決定処理は、テストで用いるテストケースとCADソフト内のモジュールとの相関関係が不明である、又は、そのような相関関係を調査するのに多大な労力を必要とする、ということを条件に行われる。
そこで、テスト結果分析部15は、テストケースの安定性の判断において、テスト結果安定性指数、モジュール安定性指数という2つの指数を算出する。
図4は、テスト結果安定性指数を算出するときの手順を示した図である。
(a)には、テストケースA〜Cを用いてリリース1.1〜4.0のCADソフトをテストしたときのテスト結果と、現在まで継続してテスト結果が「パス」だったリリース日時を示すパス日時とを示している。尚、図中のテスト結果のうち、リリース1.1〜3.0に対するテスト結果が、テスト結果記憶部16に記憶されていたものであり、リリース4.0に対するテスト結果が、テスト実行部14により出力されたものである。
具体的には、(b)のあるリリースに対するパス継続数を、そのリリースまでのリリース数で除することにより、0から1の間のテスト結果安定性指数を算出する。
例えば、現時点、つまり、10回目のリリースでのテスト結果安定性指数は、テストケースAについては1(=10/10)、テストケースBについては0.5(=5/10)、テストケースCについては0.5(=5/10)となる。
例えば、あるリリースから最新のリリースではない任意のリリースまでのパス継続数に基づいて算出するものとしてもよい。
また、テスト結果が連続して「パス」であった数に基づくのでなく、単にテスト結果が「パス」であった数に基づいて、より一般化して言えば、成功を示すテスト結果の出現状況に基づいて、算出するものとしてもよい。
図5は、モジュール安定性指数を算出するときの手順を示した図である。
(a)には、テストケースA〜Cを用いてリリース1.1〜4.0のCADソフトをテストしたときのテスト結果を示している。
従って、リリース日時が現在日時に近いほど重みを大きくする重み付け関数を設定し、重み付け関数で求められる各リリース日時に対する重みを各リリース日時における変動データに乗じて得られる値の和をモジュール安定性指数とする。
このグラフにおいて、横軸tは、現在日時とリリース日時との差分であり、縦軸F(t)は、現在日時とリリース日時との差分がtである場合の重みである。
モジュール安定性指数Mは、現在日時とリリース日時との差分がtである場合の変動データをV(t)とすると、「M=ΣF(t)×V(t)」により算出される。
従って、モジュール安定性指数は、テストケースAについては、1(=(1/55)×1+(2/55)×1+(3/55)×1+(4/55)×1+(5/55)×1+(6/55)×1+(7/55)×1+(8/55)×1+(9/55)×1+(10/55)×1)となる。また、テストケースBについては、0.8(=(1/55)×1+(2/55)×1+(3/55)×1+(4/55)×1+(5/55)×0+(6/55)×0+(7/55)×1+(8/55)×1+(9/55)×1+(10/55)×1)となる。更に、テストケースCについては、0.89(=(1/55)×1+(2/55)×1+(3/55)×1+(4/55)×1+(5/55)×1+(6/55)×0+(7/55)×1+(8/55)×1+(9/55)×1+(10/55)×1)となる。
例えば、各リリースの新しさに応じた重みは付加することなく、単に変動データ「1」の数に基づいて、より一般化して言えば、テスト結果の変動状況に基づいて、算出するものとしてもよい。
図7は、N回目のリリースのCADソフトについてのテスト結果分析部15の動作例を示したフローチャートである。尚、1回目から(N−1)回目までのリリースのCADソフトについての動作をこのフローチャートに含める場合は、フローチャートの先頭に、何回目のリリースのCADソフトについての動作であるかを判断するステップを設けるとよい。そして、そのステップで1回目から(N−1)回目までのリリースのCADソフトについての動作であると判断されれば、テスト実行部14により出力されたテスト結果及びテスト時間をテスト結果記憶部16に記憶する処理のみを行い、そのステップでN回目のリリースのCADソフトについての動作であると判断されれば、図示した処理を行うようにするとよい。
そして、テスト結果分析部15は、ステップ102で取り出したテスト結果とステップ103で読み出したテスト結果履歴とに基づいて、グループ識別子を生成する(ステップ104)。具体的には、まず、ステップ103で読み出したテスト結果履歴を分析し、テスト結果「パス」を文字「1」に変換し、テスト結果「フェイル」を文字「0」に変換することで、文字列を生成する。そして、ステップ102で取り出したテスト結果を参照し、テスト結果が「パス」であればその文字列の後ろに文字「1」を付加し、テスト結果が「フェイル」であればその文字列の後ろに文字「0」を付加することで、グループ識別子を生成する。
また、テスト結果分析部15は、ステップ102で取り出したテスト時間に基づいて、ステップ102で取り出したテストケース名に対応付けてテスト結果記憶部16に記憶されたテスト時間情報を更新する(ステップ109)。
その後、処理はステップ101に戻り、未処理のデータがないと判定されるまで、ステップ102〜109の処理を繰り返す。
図8は、テスト結果記憶部16の記憶内容の一例を示した図である。尚、ここでも、N=10としている。
図示するように、テスト結果記憶部16には、テストケース名に対応付けて、テスト結果履歴及びテスト時間情報が記憶されている。このうち、テスト結果履歴としては、1回目から10回目までの各リリースに対して、リリース番号及びテスト結果が記憶されている。また、テストケース名に対応付けて、グループ識別子、テスト結果安定性指数、モジュール安定性指数も記憶されている。
図には、まず、2443件のテストデータを用いてテストを行ったときのグループ識別子ごとに、テスト結果安定性指数、モジュール安定性指数、テストケースの件数(図では単に「件数」と表記)を示している。
ここで、第1閾値が0.35であり、第2閾値が0.8である場合を考える。即ち、あるグループにおいて、テスト結果安定性指数が0.35を超えており、かつ、モジュール安定性指数が0.8を超えていれば、そのグループ内のテストケースを集約するものとする。図では、テスト結果安定性指数が0.35を超えており、かつ、モジュール安定性指数が0.8を超えているグループに対して、判定結果「TRUE」を示し、それ以外のグループに対して、判定結果「FALSE」を示している。判定結果が「TRUE」のグループについて、テストケースを集約することになるが、件数が「1」の場合はこれ以上集約できないので、件数が「2」以上のグループについて集約する。即ち、件数が「2」以上で判定結果が「TRUE」のグループ(図中、太線囲みで示す)に属するテストケースは1つを除いてテスト用リストに含める対象から除外する。
また、テスト結果安定性指数が「0」でモジュール安定性指数が「1」であるグループについては、テスト結果が全て「フェイル」ということだけを表すものであるので、本実施の形態では、テストケースの集約を行わない。
図では、各グループに対して、このような集約を行った後のテストケースの件数(図では単に「集約後」と表記)も示している。全体では、2443件のテストケースが、集約後は2226件となり、約8.9%のテストケースが削減されている。
図10は、N回目のリリースのCADソフトについてのリスト作成部18の動作例を示したフローチャートである。尚、1回目から(N−1)回目までのリリースのCADソフトについての動作をこのフローチャートに含める場合は、フローチャートの先頭に、何回目のリリースのCADソフトについての動作であるかを判断するステップを設けるとよい。そして、そのステップで1回目のリリースのCADソフトについての動作であると判断されれば、リスト作成条件設定部17により設定されたテストケース数及びテスト時間の制限内のテストケースを記述したテスト用リストを作成する処理のみを行い、そのステップで2回目から(N−1)回目までのリリースのCADソフトについての動作であると判断されれば、全ての処理をスキップし、そのステップでN回目のリリースのCADソフトについての動作であると判断されれば、図示した処理を行うようにするとよい。
また、リスト作成部18は、テスト結果記憶部16に記憶されたデータを、一時的にグループごとにまとめる処理を行う(ステップ152)。具体的には、同じグループ識別子に対応付けられたテストケースのデータをまとめる。
そして、リスト作成部18は、テスト結果記憶部16に記憶されたグループの中に、未処理のグループがあるかどうかを判定する(ステップ153)。未処理のグループがあると判定されれば、そのグループの中から、1つグループのデータを読み出す(ステップ154)。
そして、ステップ153で未処理のグループがないと判定されれば、リスト作成部18は、ステップ159又はステップ160でメモリに記憶されたデータ内のテストケース名を記述したテスト用リストを作成し、リスト記憶部19に記憶する(ステップ161)。
例えば、第1の条件は、このテスト用リスト作成処理で判断する条件から除外してもよい。
また、第2の条件及び第3の条件は、両方が満たされることを要求するのではなく、何れか一方のみが満たされることを要求するものでもよい。
更に、第2の条件及び第3の条件は、独立の条件とするのではなく、「テストケース重要度=第1重み係数×テスト結果安定性指数+第2重み係数×モジュール安定性指数」により算出されるテストケース重要度が閾値を超えている、という1つの条件にまとめてもよい。
加えて、その際、リスト作成条件設定部17により設定されたテスト時間の制限までどの程度の余裕があるかを知らせるために、テスト用リストに含まれる全てのテストケースに基づくテストを行った場合の想定合計時間を算出するようにしてもよい。
以上により、N回目のリリースのCADソフトについての動作の説明を終了する。
具体的には、第一に、ユーザの過去の障害履歴に基づいたテストケースの実行結果間の相関関係に着目し、この相関関係に基づいて、テストケースが利用するモジュール及び機能を類推する。つまり、複数のテストケースに基づくテスト結果の一致度を算出し、一致度が閾値以上となった場合に、これら複数のテストケースは同一モジュールに関連するものであると判断して集約する。
第二に、ユーザの過去の障害履歴に基づいたテストケースに基づくリリースごとのテスト結果の時系列の出現パターンに着目し、各テストケースにおけるリリース及びテスト結果に基づいて、テストケースに紐付いたモジュールの安定性を示す指数を算出し、指数が閾値以上となった場合に、そのテストケースは安定した状態であると判断して集約する。
Claims (10)
- ソフトウェアの複数のバージョンの動作をテストする装置であって、
複数のデータの各データと、当該各データを識別するデータ識別情報とを対応付けて記憶する記憶部と、
前記複数のデータの各データを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列と、当該各データを識別するデータ識別情報とを対応付けたテスト結果情報を取得する取得部と、
前記複数のデータをグループ化して得られる複数のグループであって各グループに属するデータを識別するデータ識別情報に前記テスト結果情報において対応付けられた前記テスト結果列が同一又は類似である複数のグループの当該各グループを、当該テスト結果列によって識別するグループ識別情報と、当該各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果の安定性を、当該テスト結果列における連続して成功を示すテスト結果の多さによって示すテスト結果安定性情報と、当該各グループに属するデータを用いてテストされる前記ソフトウェアのモジュールの安定性を、当該テスト結果列におけるテスト結果の変動の少なさによって示すモジュール安定性情報と、当該各グループに属するデータを識別するデータ識別情報とを対応付けたグループ情報を生成するグループ情報生成部と、
前記複数のグループの各グループを識別するグループ識別情報に前記グループ情報において少なくとも2つのデータ識別情報が対応付けられており、当該グループ識別情報に当該グループ情報において対応付けられた前記テスト結果安定性情報が予め定めた第1の基準を超える安定性を示しており、当該グループ識別情報に当該グループ情報において対応付けられた前記モジュール安定性情報が予め定めた第2の基準を超える安定性を示しているが前記テスト結果列におけるテスト結果の変動が1回以上あることを示している場合に、当該各グループに属するデータを識別するデータ識別情報として当該少なくとも2つのデータ識別情報のうちの特定のデータ識別情報を含み当該特定のデータ識別情報以外は含まないリストを生成するリスト生成部と、
前記複数のグループの各グループに属するデータとして、前記リスト生成部により生成された前記リストに当該各グループに属するデータを識別するデータ識別情報として含まれる前記特定のデータ識別情報に対応付けて前記記憶部に記憶されたデータを用いて、前記ソフトウェアの新たなバージョンのテストを実行するテスト実行部と
を含む、装置。 - ソフトウェアの複数のバージョンの動作をテストする装置であって、
複数のデータの各データについて、当該各データを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列を取得する取得部と、
前記複数のデータをグループ化して得られる複数のグループであって各グループに属するデータについて前記取得部により取得された前記テスト結果列が同一又は類似である複数のグループの当該各グループについて、当該各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果の安定性を示すテスト結果安定性情報を生成する生成部と、
前記複数のグループの少なくとも2つのデータが属する各グループについて前記生成部により生成された前記テスト結果安定性情報が予め定めた基準を超える安定性を示している場合に、当該少なくとも2つのデータから前記ソフトウェアの動作をテストする際に用いるデータを選択する選択部と
を含む、装置。 - 前記生成部は、前記複数のグループの各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列における成功を示すテスト結果の出現状況に基づいて、前記テスト結果安定性情報を生成する、請求項2の装置。
- 前記生成部は、前記複数のグループの各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列において、当該複数のバージョンのうちの最新のバージョンから遡って連続するバージョンの動作をテストしたときのテスト結果が成功を示し続ける長さが長いほど、高い安定性を示す前記テスト結果安定性情報を生成する、請求項2又は請求項3の装置。
- 前記生成部は、前記複数のグループの各グループに属するデータを用いてテストされる前記ソフトウェアのモジュールの安定性を示すモジュール安定性情報を更に生成し、
前記選択部は、前記少なくとも2つのデータが属する各グループについて前記生成部により生成された前記モジュール安定性情報が予め定めた基準を超える安定性を示している場合に、当該少なくとも2つのデータから前記ソフトウェアの動作をテストする際に用いるデータを選択する、請求項2の装置。 - 前記生成部は、前記複数のグループの各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列におけるテスト結果の変動状況に基づいて、前記モジュール安定性情報を生成する、請求項5の装置。
- 前記生成部は、前記複数のグループの各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列において、当該複数のバージョンの各バージョンの動作をテストしたときのテスト結果の変動に当該各バージョンの新しさに応じた重みを付加して加算することで得られた変動の度合いが低いほど、高い安定性を示す前記モジュール安定性情報を生成する、請求項5又は請求項6の装置。
- 前記選択部は、前記少なくとも2つのデータの各データを用いて前記ソフトウェアの動作をテストするのに要する時間に基づいて、当該少なくとも2つのデータから前記ソフトウェアの動作をテストする際に用いるデータを選択する、請求項2乃至請求項7の何れかの装置。
- ソフトウェアの複数のバージョンの動作をテストする方法であって、
複数のデータの各データについて、当該各データを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列を取得するステップと、
前記複数のデータをグループ化して得られる複数のグループであって各グループに属するデータについて取得された前記テスト結果列が同一又は類似である複数のグループの当該各グループについて、当該各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果の安定性を示すテスト結果安定性情報を生成するステップと、
前記複数のグループの少なくとも2つのデータが属する各グループについて生成された前記テスト結果安定性情報が予め定めた基準を超える安定性を示している場合に、当該少なくとも2つのデータから前記ソフトウェアの動作をテストする際に用いるデータを選択するステップと
を含む、方法。 - ソフトウェアの複数のバージョンの動作をテストする装置としてコンピュータを機能させるプログラムであって、
前記コンピュータを、
複数のデータの各データについて、当該各データを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列を取得する取得部と、
前記複数のデータをグループ化して得られる複数のグループであって各グループに属するデータについて前記取得部により取得された前記テスト結果列が同一又は類似である複数のグループの当該各グループについて、当該各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果の安定性を示すテスト結果安定性情報を生成する生成部と、
前記複数のグループの少なくとも2つのデータが属する各グループについて前記生成部により生成された前記テスト結果安定性情報が予め定めた基準を超える安定性を示している場合に、当該少なくとも2つのデータから前記ソフトウェアの動作をテストする際に用いるデータを選択する選択部と
して機能させる、プログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011115228A JP5629239B2 (ja) | 2011-05-23 | 2011-05-23 | ソフトウェアの動作をテストする装置及び方法 |
US13/447,376 US8479165B1 (en) | 2011-05-23 | 2012-04-16 | System for testing operation of software |
US13/447,333 US8745588B2 (en) | 2011-05-23 | 2012-04-16 | Method for testing operation of software |
US13/874,667 US8707268B2 (en) | 2011-05-23 | 2013-05-01 | Testing operations of software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011115228A JP5629239B2 (ja) | 2011-05-23 | 2011-05-23 | ソフトウェアの動作をテストする装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012243222A JP2012243222A (ja) | 2012-12-10 |
JP5629239B2 true JP5629239B2 (ja) | 2014-11-19 |
Family
ID=47220163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011115228A Active JP5629239B2 (ja) | 2011-05-23 | 2011-05-23 | ソフトウェアの動作をテストする装置及び方法 |
Country Status (2)
Country | Link |
---|---|
US (3) | US8745588B2 (ja) |
JP (1) | JP5629239B2 (ja) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2386953B1 (en) * | 2010-05-14 | 2018-02-07 | Sap Se | Systems and methods for generating reusable test components out of remote application programming interface |
US9032371B2 (en) * | 2010-11-21 | 2015-05-12 | Verifyter Ab | Method and apparatus for automatic diagnosis of software failures |
US8438532B2 (en) | 2011-04-19 | 2013-05-07 | Sonatype, Inc. | Method and system for scoring a software artifact for a user |
US9092579B1 (en) * | 2011-05-08 | 2015-07-28 | Panaya Ltd. | Rating popularity of clusters of runs of test scenarios based on number of different organizations |
US9170925B1 (en) * | 2011-05-08 | 2015-10-27 | Panaya Ltd. | Generating test scenario templates from subsets of test steps utilized by different organizations |
US9170809B1 (en) * | 2011-05-08 | 2015-10-27 | Panaya Ltd. | Identifying transactions likely to be impacted by a configuration change |
US9348735B1 (en) * | 2011-05-08 | 2016-05-24 | Panaya Ltd. | Selecting transactions based on similarity of profiles of users belonging to different organizations |
US9201774B1 (en) * | 2011-05-08 | 2015-12-01 | Panaya Ltd. | Generating test scenario templates from testing data of different organizations utilizing similar ERP modules |
US9201773B1 (en) * | 2011-05-08 | 2015-12-01 | Panaya Ltd. | Generating test scenario templates based on similarity of setup files |
US9069904B1 (en) * | 2011-05-08 | 2015-06-30 | Panaya Ltd. | Ranking runs of test scenarios based on number of different organizations executing a transaction |
JP5629239B2 (ja) | 2011-05-23 | 2014-11-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ソフトウェアの動作をテストする装置及び方法 |
US8612936B2 (en) | 2011-06-02 | 2013-12-17 | Sonatype, Inc. | System and method for recommending software artifacts |
US8473894B2 (en) | 2011-09-13 | 2013-06-25 | Sonatype, Inc. | Method and system for monitoring metadata related to software artifacts |
US8627270B2 (en) | 2011-09-13 | 2014-01-07 | Sonatype, Inc. | Method and system for monitoring a software artifact |
US9141378B2 (en) * | 2011-09-15 | 2015-09-22 | Sonatype, Inc. | Method and system for evaluating a software artifact based on issue tracking and source control information |
US10169213B2 (en) * | 2011-11-29 | 2019-01-01 | Red Hat, Inc. | Processing of an application and a corresponding test file in a content repository |
US8656343B2 (en) | 2012-02-09 | 2014-02-18 | Sonatype, Inc. | System and method of providing real-time updates related to in-use artifacts in a software development environment |
US8825689B2 (en) | 2012-05-21 | 2014-09-02 | Sonatype, Inc. | Method and system for matching unknown software component to known software component |
US9141408B2 (en) | 2012-07-20 | 2015-09-22 | Sonatype, Inc. | Method and system for correcting portion of software application |
CN104798035A (zh) * | 2012-11-28 | 2015-07-22 | 惠普发展公司,有限责任合伙企业 | 调整应用任务开发 |
US20140157238A1 (en) * | 2012-11-30 | 2014-06-05 | Microsoft Corporation | Systems and methods of assessing software quality for hardware devices |
US9195222B2 (en) * | 2013-01-15 | 2015-11-24 | Toyota Motor Engineering & Manufactruing North America, Inc. | Systems and methods for evaluating stability of software code for control systems |
US9135263B2 (en) | 2013-01-18 | 2015-09-15 | Sonatype, Inc. | Method and system that routes requests for electronic files |
JP6003699B2 (ja) * | 2013-02-08 | 2016-10-05 | 富士通株式会社 | テストデータ生成プログラム、方法及び装置 |
JP6217212B2 (ja) * | 2013-07-25 | 2017-10-25 | 富士通株式会社 | テストプログラム、テスト方法及びテスト装置 |
IN2013DE02948A (ja) * | 2013-10-04 | 2015-04-10 | Unisys Corp | |
CN104834586B (zh) * | 2014-02-10 | 2018-11-20 | 腾讯科技(深圳)有限公司 | 安卓界面自动化测试方法、装置及系统 |
US9396095B2 (en) * | 2014-05-15 | 2016-07-19 | Fujitsu Limited | Software verification |
US9971673B2 (en) * | 2014-07-24 | 2018-05-15 | International Business Machines Corporation | System and method for testing software in a multi-platform testing environment |
US10146669B2 (en) | 2014-07-25 | 2018-12-04 | International Business Machines Corporation | Indicating a readiness of a change for implementation into a computer program |
WO2016016975A1 (ja) * | 2014-07-30 | 2016-02-04 | 株式会社日立製作所 | 開発支援システム |
CN104615839B (zh) * | 2015-02-11 | 2018-04-13 | 华中科技大学无锡研究院 | 一种基于颜色识别的自动装配约束生成方法 |
EP3265916B1 (en) | 2015-03-04 | 2020-12-16 | Verifyter AB | A method for identifying a cause for a failure of a test |
US10223654B2 (en) * | 2015-03-23 | 2019-03-05 | Accenture Global Services Limited | Automated, accelerated prototype generation system |
CN104965790B (zh) * | 2015-07-17 | 2018-04-27 | 小米科技有限责任公司 | 基于关键字驱动的软件测试方法及系统 |
US10296446B2 (en) | 2015-11-18 | 2019-05-21 | International Business Machines Corporation | Proactive and selective regression testing based on historic test results |
US10429811B2 (en) | 2016-04-08 | 2019-10-01 | Toyota Motor Engineering & Manufacturing North America, Inc. | Systems and methods for testing convergence of closed-loop control systems |
US9971594B2 (en) | 2016-08-16 | 2018-05-15 | Sonatype, Inc. | Method and system for authoritative name analysis of true origin of a file |
US10394697B2 (en) * | 2017-05-15 | 2019-08-27 | International Business Machines Corporation | Focus area integration test heuristics |
CN108304319B (zh) * | 2018-01-05 | 2021-01-29 | 珠海金山网络游戏科技有限公司 | 一种移动终端数据归类的方法 |
CN108256334B (zh) * | 2018-01-26 | 2019-06-04 | 平安科技(深圳)有限公司 | 漏洞测试方法、装置、计算机设备和存储介质 |
CN110221956A (zh) * | 2018-03-02 | 2019-09-10 | 富士通株式会社 | 用于生成区块链智能合约的测试用例的方法和设备 |
US11099973B2 (en) * | 2019-01-28 | 2021-08-24 | Salesforce.Com, Inc. | Automated test case management systems and methods |
CN110262953A (zh) * | 2019-06-21 | 2019-09-20 | 中汇信息技术(上海)有限公司 | 软件系统性能测试方法和计算机可读存储介质 |
CN110532000B (zh) * | 2019-09-06 | 2023-01-10 | 程延辉 | 一种用于运营发布的kbroker分布式操作系统和运营发布系统 |
US11360882B2 (en) * | 2020-05-13 | 2022-06-14 | Dell Products L.P. | Method and apparatus for calculating a software stability index |
CN111694734A (zh) * | 2020-05-26 | 2020-09-22 | 五八有限公司 | 软件接口校验方法、装置及计算机设备 |
CN113992549B (zh) * | 2020-07-08 | 2023-06-13 | 大唐移动通信设备有限公司 | 一种测试方法、装置、电子设备及存储介质 |
US11809309B2 (en) * | 2021-12-23 | 2023-11-07 | Gm Cruise Holdings Llc | Test result stability scoring in integration testing |
US11947449B2 (en) * | 2022-07-07 | 2024-04-02 | International Business Machines Corporation | Migration between software products |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0594298A (ja) | 1991-10-02 | 1993-04-16 | Hokuriku Nippon Denki Software Kk | デグレードチエツク実行装置 |
JPH05313881A (ja) | 1992-05-14 | 1993-11-26 | Toshiba Corp | ソフトウェア品質評価装置およびソフトウェア品質評価方法 |
JPH07210424A (ja) | 1994-01-14 | 1995-08-11 | Toshiba Corp | ソフトウェアテスト支援システム |
JPH11120029A (ja) | 1997-10-17 | 1999-04-30 | Hitachi Ltd | ソフトウェアテストデータ作成支援方法 |
JPH11282722A (ja) | 1998-03-31 | 1999-10-15 | Hitachi Software Eng Co Ltd | プログラム検証方法 |
JP3502543B2 (ja) | 1998-04-23 | 2004-03-02 | 株式会社東芝 | テストケース生成システム及びテストケース生成方法 |
JP2003009283A (ja) | 2001-06-18 | 2003-01-10 | Sony Corp | 平面スピーカおよび平面スピーカを有する電子機器 |
CA2358563A1 (en) * | 2001-10-05 | 2003-04-05 | Ibm Canada Limited - Ibm Canada Limitee | Method and system for managing software testing |
US20030093716A1 (en) | 2001-11-13 | 2003-05-15 | International Business Machines Corporation | Method and apparatus for collecting persistent coverage data across software versions |
JP3883449B2 (ja) | 2002-02-28 | 2007-02-21 | 株式会社東芝 | ソフトウェアシステムのテスト計画作成支援方法およびテスト計画作成支援プログラム |
US7028290B2 (en) | 2002-04-29 | 2006-04-11 | Microsoft Corporation | Method and apparatus for prioritizing software tests |
US7216343B2 (en) * | 2002-09-20 | 2007-05-08 | International Business Machines Corporation | Method and apparatus for automatic updating and testing of software |
JP4479213B2 (ja) | 2003-10-20 | 2010-06-09 | オムロン株式会社 | 遊技機のスイッチ装置 |
JP2007535723A (ja) | 2003-11-04 | 2007-12-06 | キンバリー クラーク ワールドワイド インコーポレイテッド | 複合ソフトウエアシステムを実施して検証するための自動多次元追跡可能性行列を含む試験ツール |
JP4223444B2 (ja) | 2004-07-07 | 2009-02-12 | 三菱電機株式会社 | 携帯端末装置 |
US7617486B2 (en) * | 2004-10-19 | 2009-11-10 | Ebay, Inc. | Method and system to automate software testing using sniffer side and browser side recording and a toolbar interface |
JP2006227958A (ja) | 2005-02-18 | 2006-08-31 | Nomura Research Institute Ltd | テストデータ生成システム及びテストデータ生成方法 |
JP4575811B2 (ja) | 2005-03-10 | 2010-11-04 | 株式会社野村総合研究所 | 電文処理システムのテストデータの生成装置、方法、及びプログラム |
JP2007102475A (ja) * | 2005-10-04 | 2007-04-19 | Dainippon Screen Mfg Co Ltd | ソフトウェアシステムのテストケース抽出装置、テストケース抽出プログラムおよびテストケース抽出方法 |
US20070220479A1 (en) | 2006-03-14 | 2007-09-20 | Hughes John M | Systems and methods for software development |
JP4878527B2 (ja) | 2006-09-08 | 2012-02-15 | 富士通株式会社 | テストデータ作成装置 |
WO2008074529A2 (en) * | 2006-12-21 | 2008-06-26 | International Business Machines Corporation | Method, system and computer program for performing regression tests |
JP5313881B2 (ja) | 2007-04-04 | 2013-10-09 | 興和株式会社 | テトラヒドロイソキノリン化合物 |
JP5094298B2 (ja) | 2007-09-14 | 2012-12-12 | キヤノン株式会社 | カラー画像形成装置、カラー画像形成装置における色調整方法 |
JP2009169828A (ja) | 2008-01-18 | 2009-07-30 | Denso Corp | テストケース生成装置及びテストケース生成プログラム |
US7506312B1 (en) | 2008-01-31 | 2009-03-17 | International Business Machines Corporation | Method and system for automatically determining risk areas to retest |
JP2009181536A (ja) | 2008-02-01 | 2009-08-13 | Dainippon Screen Mfg Co Ltd | ソフトウェアの障害管理装置、テスト管理装置、ならびにそれらのプログラム |
JP4874277B2 (ja) | 2008-03-12 | 2012-02-15 | 株式会社日立ソリューションズ | 自動テスト実行システム |
JP2009245380A (ja) | 2008-03-31 | 2009-10-22 | Nomura Research Institute Ltd | ジョブ処理システムおよびジョブテスト方法 |
JP5176869B2 (ja) | 2008-10-27 | 2013-04-03 | 富士通株式会社 | テストケース生成プログラムとテストケース生成装置およびテストケース生成方法 |
JP5629239B2 (ja) | 2011-05-23 | 2014-11-19 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | ソフトウェアの動作をテストする装置及び方法 |
US8978009B2 (en) * | 2011-10-06 | 2015-03-10 | Red Hat Israel, Ltd. | Discovering whether new code is covered by tests |
-
2011
- 2011-05-23 JP JP2011115228A patent/JP5629239B2/ja active Active
-
2012
- 2012-04-16 US US13/447,333 patent/US8745588B2/en not_active Expired - Fee Related
- 2012-04-16 US US13/447,376 patent/US8479165B1/en not_active Expired - Fee Related
-
2013
- 2013-05-01 US US13/874,667 patent/US8707268B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20120304157A1 (en) | 2012-11-29 |
US20130275949A1 (en) | 2013-10-17 |
US8745588B2 (en) | 2014-06-03 |
US8479165B1 (en) | 2013-07-02 |
JP2012243222A (ja) | 2012-12-10 |
US8707268B2 (en) | 2014-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5629239B2 (ja) | ソフトウェアの動作をテストする装置及び方法 | |
JP6217212B2 (ja) | テストプログラム、テスト方法及びテスト装置 | |
CN112328499A (zh) | 一种测试数据生成方法、装置、设备及介质 | |
CN110019067A (zh) | 一种日志分析方法及系统 | |
JP6281491B2 (ja) | テキストマイニング装置、テキストマイニング方法及びプログラム | |
JP6419667B2 (ja) | テストdbデータ生成方法及び装置 | |
JP2019219848A (ja) | ソースコード解析方法およびソースコード解析装置 | |
JPWO2018021163A1 (ja) | シグネチャ作成装置、シグネチャ作成方法、シグネチャ作成プログラムが記録された記録媒体、及び、ソフトウェア判定システム | |
KR20180130733A (ko) | 협업 의존성 기반 컴포넌트 재사용 추천 시스템 및 방법 | |
JP5233587B2 (ja) | 業務フロー分析プログラム、方法及び装置 | |
JP4973738B2 (ja) | 業務フロー処理プログラム、方法及び装置 | |
US8510693B2 (en) | Changing abstraction level of portion of circuit design during verification | |
JP5954742B2 (ja) | 文書を検索する装置及び方法 | |
JP5487078B2 (ja) | ソフトウェア資産整理方法及び装置 | |
CN112559331A (zh) | 测试方法和装置 | |
JP2018022433A (ja) | 制御プログラム、装置、及び方法 | |
JP6660333B2 (ja) | 情報抽出装置、情報抽出方法及び情報抽出プログラム | |
JP5718256B2 (ja) | システム性能解析装置、システム性能解析方法、およびシステム性能解析プログラム | |
JP5464672B2 (ja) | 品質管理装置、品質管理システム、品質管理方法、およびプログラム | |
JP7345744B2 (ja) | データ処理装置 | |
CN112380798B (zh) | 参数检查方法、装置、设备和存储介质 | |
CN117150996B (zh) | 产生毛刺信号的问题源码确定方法、电子设备和介质 | |
Küsters et al. | Revisiting the Alpha Algorithm To Enable Real-Life Process Discovery Applications--Extended Report | |
JP2020101911A (ja) | 評価パターン生成装置 | |
JP2017041129A (ja) | トレース情報管理システム、方法、及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140829 |
|
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: 20140916 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20140916 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141003 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5629239 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |