JP5629239B2 - ソフトウェアの動作をテストする装置及び方法 - Google Patents

ソフトウェアの動作をテストする装置及び方法 Download PDF

Info

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
Application number
JP2011115228A
Other languages
English (en)
Other versions
JP2012243222A (ja
Inventor
建 川島
建 川島
貴 ▲柳▼澤
貴 ▲柳▼澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2011115228A priority Critical patent/JP5629239B2/ja
Priority to US13/447,376 priority patent/US8479165B1/en
Priority to US13/447,333 priority patent/US8745588B2/en
Publication of JP2012243222A publication Critical patent/JP2012243222A/ja
Priority to US13/874,667 priority patent/US8707268B2/en
Application granted granted Critical
Publication of JP5629239B2 publication Critical patent/JP5629239B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test 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

本発明は、ソフトウェアの動作をテストする装置及び方法に関する。特に、本発明は、ソフトウェアの複数のバージョンの動作をテストする装置及び方法に関する。
ソフトウェアのあるバージョンで正常に使用可能であったデータが、そのソフトウェアのバージョンが変わることによって正常に使用できなくなることがある。このようなソフトウェアの例としては、CATIA(登録商標)等のCADソフトがあり、バージョンが変わる要因の例としては、新リリースや緊急パッチ適用がある。
新リリースや緊急パッチ適用では、その対象となる不具合が修正されているかどうかが、CADソフトの開発元(以下、単に「開発元」という)において確認される。このとき、開発元としては、その対象となる不具合が発生していない箇所、例えば、過去に修正した箇所についても確認し、不具合の修正が他の箇所に影響していないこと、つまり、不具合の修正によって却ってCADソフトの品質が悪化していないことを保証できるのが理想的である。
ところが、CADソフトに関しては、データ、使い方(どの機能を利用するか)、品質基準(どの程度の精度を要求するか)等が、CADソフトのユーザ企業(以下、単に「ユーザ」という)ごとに異なり、開発元でこれを把握することは難しいという事情がある。また、データ及び使い方はノウハウであるので、ユーザが社外に公表できないという事情もある。
こうした事情から、開発元においてユーザの使用方法を網羅したテストを頻繁な新リリースや緊急パッチ適用ごとに実施し、不具合の修正が他の箇所に影響していないことを保証することは困難である。
そこで、ユーザ側においてユーザデータを用いた新リリースや緊急パッチ適用ごとのテストを実施することが有効になる。
尚、公報記載の技術としては、テストケースの作成に着目した技術として、例えば特許文献1、2の技術がある。
特許文献1の技術では、モデル検査により出力された状態と、状態の遷移により表される状態空間を参照して、外部モジュールを呼び出す状態を特定する状態特定処理と、特定した外部モジュールを呼び出す状態から初期状態へのパスを、状態の遷移を参照して抽出するパス抽出処理と、抽出したパスに対して、プログラムの仕様に基づいて「A(条件)ならばB(帰結)である」の形式で作成されたプロパティの条件を比較して、条件を満たす抽出したパスを検出するプロパティ適用処理と、条件ごとに抽出したパスを分類するシナリオ分類処理と、シナリオ分類処理により分類された抽出したパスと、抽出したパスに対応するプロパティの帰結を期待される結果を、テストケースとして生成するテストケース生成処理と、を実行する。
特許文献2の技術では、実運用されている本番機に含まれる第1サーバにおいて、ハードディスクに、本番ディレクトリと別に、仮想ディレクトリを設け、ユーザがジョブ登録部に登録したテスト対象のプログラムに係るデータは、仮想ディレクトリに格納する。ジョブ処理部は、本番処理を本番ジョブ処理部で行うとともに、テスト対象のプログラムを仮想ジョブ処理部で実行する。ファイル解析部は、元のプログラム及びそのプログラムの入出力データを解析することにより、処理内容及び処理特性を特定し、テストケースの作成、テスト結果の判定を行う。リリース処理部は、テスト後に仮想ディレクトリに格納されたテストに係るデータを削除し、リリースが可能となったプログラムなどを本番ディレクトリに移行する。
同様のテストケースの作成に着目した技術としては、特許文献3、4の技術もある。
また、テストケースの取捨選択に着目した技術として、例えば特許文献5の技術がある。
特許文献5の技術では、テスト対象のソースコードに処理の流れを追跡するための処理を埋め込むトレース機能埋込部と、トレース情報表と自動テスト実行システムが出力したテスト実行結果表を連結し、重複したテストケースを削除するテスト結果分析部を用いて、重複したテストケースを削除した後、テスト実行結果表を表示装置に表示する。
同様のテストケースの取捨選択に着目した技術としては、特許文献6、7の技術もある。
更に、その他のテストに関する技術として、例えば特許文献8〜10の技術がある。
特開2010−102624号公報 特開2009−245380号公報 特開平7−210424号公報 特開2006−227958号公報 特開2009−217664号公報 特開2007−102475号公報 特開2009−181536号公報 特開平5−94298号公報 特開平11−282722号公報 特開2003−256206号公報
このように、ソフトウェアのバージョンが変わるごとにユーザ側でユーザデータを用いたテストを実施することは有効である。
しかしながら、ユーザデータを用いて普通にテストを実施したのでは、CADソフトの製品仕様が通常公開されていないことから、重複したテストが行われ、無駄が発生する可能性がある。
例えば緊急パッチ適用前の検証は早く終えてパッチ適用が求められるため、限られた時間内に完了させる必要があるので、このような重複したテストはできるだけ排除する必要がある。即ち、普通にテストを実施したのではテスト工数が膨大になるので、テストを最適化することが望まれる。
また、このような重複したテストは排除し、その代わりに、新しいユーザデータを追加して、別の不具合や別の機能について対応した方がより効果的である。
尚、公報記載の技術は、何れも、ソフトウェアのバージョンが変わるごとのテストにおける無駄の削減に寄与するものではない。
本発明の目的は、複数のデータを用いてソフトウェアの複数のバージョンの動作をテストする際の無駄を削減することにある。
かかる目的のもと、本発明は、ソフトウェアの複数のバージョンの動作をテストする装置であって、複数のデータの各データと、各データを識別するデータ識別情報とを対応付けて記憶する記憶部と、複数のデータの各データを用いてソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列と、各データを識別するデータ識別情報とを対応付けたテスト結果情報を取得する取得部と、複数のデータをグループ化して得られる複数のグループであって各グループに属するデータを識別するデータ識別情報にテスト結果情報において対応付けられたテスト結果列が同一又は類似である複数のグループの各グループを、テスト結果列によって識別するグループ識別情報と、各グループに属するデータを用いてソフトウェアの複数のバージョンの動作をテストしたときのテスト結果の安定性を、テスト結果列における連続して成功を示すテスト結果の多さによって示すテスト結果安定性情報と、各グループに属するデータを用いてテストされるソフトウェアのモジュールの安定性を、テスト結果列におけるテスト結果の変動の少なさによって示すモジュール安定性情報と、各グループに属するデータを識別するデータ識別情報とを対応付けたグループ情報を生成するグループ情報生成部と、複数のグループの各グループを識別するグループ識別情報にグループ情報において少なくとも2つのデータ識別情報が対応付けられており、グループ識別情報にグループ情報において対応付けられたテスト結果安定性情報が予め定めた第1の基準を超える安定性を示しており、グループ識別情報にグループ情報において対応付けられたモジュール安定性情報が予め定めた第2の基準を超える安定性を示しているがテスト結果列におけるテスト結果の変動が1回以上あることを示している場合に、各グループに属するデータを識別するデータ識別情報として少なくとも2つのデータ識別情報のうちの特定のデータ識別情報を含み特定のデータ識別情報以外は含まないリストを生成するリスト生成部と、複数のグループの各グループに属するデータとして、リスト生成部により生成されたリストに各グループに属するデータを識別するデータ識別情報として含まれる特定のデータ識別情報に対応付けて記憶部に記憶されたデータを用いて、ソフトウェアの新たなバージョンのテストを実行するテスト実行部とを含む、装置を提供する。
また、本発明は、ソフトウェアの複数のバージョンの動作をテストする装置であって、複数のデータの各データについて、各データを用いてソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列を取得する取得部と、複数のデータをグループ化して得られる複数のグループであって各グループに属するデータについて取得部により取得されたテスト結果列が同一又は類似である複数のグループの各グループについて、各グループに属するデータを用いてソフトウェアの複数のバージョンの動作をテストしたときのテスト結果の安定性を示すテスト結果安定性情報を生成する生成部と、複数のグループの少なくとも2つのデータが属する各グループについて生成部により生成されたテスト結果安定性情報が予め定めた基準を超える安定性を示している場合に、少なくとも2つのデータからソフトウェアの動作をテストする際に用いるデータを選択する選択部とを含む、装置も提供する。
ここで、生成部は、複数のグループの各グループに属するデータを用いてソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列における成功を示すテスト結果の出現状況に基づいて、テスト結果安定性情報を生成する、ものであってもよい。
また、生成部は、複数のグループの各グループに属するデータを用いてソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列において、複数のバージョンのうちの最新のバージョンから遡って連続するバージョンの動作をテストしたときのテスト結果が成功を示し続ける長さが長いほど、高い安定性を示すテスト結果安定性情報を生成する、ものであってよい。
更に、生成部は、複数のグループの各グループに属するデータを用いてテストされるソフトウェアのモジュールの安定性を示すモジュール安定性情報を更に生成し、選択部は、少なくとも2つのデータが属する各グループについて生成部により生成されたモジュール安定性情報が予め定めた基準を超える安定性を示している場合に、少なくとも2つのデータからソフトウェアの動作をテストする際に用いるデータを選択する、ものであってよい。
この場合、生成部は、複数のグループの各グループに属するデータを用いてソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列におけるテスト結果の変動状況に基づいて、モジュール安定性情報を生成する、ものであってよい。
また、生成部は、複数のグループの各グループに属するデータを用いてソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列において、複数のバージョンの各バージョンの動作をテストしたときのテスト結果の変動に各バージョンの新しさに応じた重みを付加して加算することで得られた変動の度合いが低いほど、高い安定性を示すモジュール安定性情報を生成する、ものであってよい。
加えて、選択部は、少なくとも2つのデータの各データを用いてソフトウェアの動作をテストするのに要する時間に基づいて、少なくとも2つのデータからソフトウェアの動作をテストする際に用いるデータを選択する、ものであってよい。
更に、本発明は、ソフトウェアの複数のバージョンの動作をテストする方法であって、複数のデータの各データについて、各データを用いてソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列を取得するステップと、複数のデータをグループ化して得られる複数のグループであって各グループに属するデータについて取得されたテスト結果列が同一又は類似である複数のグループの各グループについて、各グループに属するデータを用いてソフトウェアの複数のバージョンの動作をテストしたときのテスト結果の安定性を示すテスト結果安定性情報を生成するステップと、複数のグループの少なくとも2つのデータが属する各グループについて生成されたテスト結果安定性情報が予め定めた基準を超える安定性を示している場合に、少なくとも2つのデータからソフトウェアの動作をテストする際に用いるデータを選択するステップとを含む、方法も提供する。
更にまた、本発明は、ソフトウェアの複数のバージョンの動作をテストする装置としてコンピュータを機能させるプログラムであって、コンピュータを、複数のデータの各データについて、各データを用いてソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列を取得する取得部と、複数のデータをグループ化して得られる複数のグループであって各グループに属するデータについて取得部により取得されたテスト結果列が同一又は類似である複数のグループの各グループについて、各グループに属するデータを用いてソフトウェアの複数のバージョンの動作をテストしたときのテスト結果の安定性を示すテスト結果安定性情報を生成する生成部と、複数のグループの少なくとも2つのデータが属する各グループについて生成部により生成されたテスト結果安定性情報が予め定めた基準を超える安定性を示している場合に、少なくとも2つのデータからソフトウェアの動作をテストする際に用いるデータを選択する選択部として機能させる、プログラムも提供する。
本発明によれば、複数のデータを用いてソフトウェアの複数のバージョンの動作をテストする際の無駄を削減することができる。
本発明の実施の形態におけるテスト実行装置の構成例を示したブロック図である。 本発明の実施の形態におけるテスト結果記憶部の記憶内容の例を示した図である。 本発明の実施の形態におけるテストケースグループ決定処理について説明するための図である。 本発明の実施の形態におけるテスト結果安定性指数の算出方法について説明するための図である。 本発明の実施の形態におけるモジュール安定性指数の算出方法について説明するための図である。 本発明の実施の形態でモジュール安定性指数を算出する際に用いる重み付け関数の例を示した図である。 本発明の実施の形態におけるテスト結果分析部の動作例を示したフローチャートである。 本発明の実施の形態におけるテスト結果記憶部の記憶内容の例を示した図である。 本発明の実施の形態におけるテスト用リスト作成処理について説明するための図である。 本発明の実施の形態におけるリスト作成部の動作例を示したフローチャートである。 本発明の実施の形態を適用可能なコンピュータのハードウェア構成を示した図である。
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
本実施の形態は、ユーザデータを用いなければ最終的な受け入れ可否の判定が困難なCADソフトについて、ブラックボックス的に、即ち、その内部構造を知ることなく、過去に障害を発生したデータを用いて、ユーザのCADソフトの利用状況及びCADソフトのモジュールの変更状況を考慮して、時間的な制約の下で、網羅性及び効率性の高いテストを実施するものである。
図1は、本発明の実施の形態におけるテスト実行装置10の構成例を示したブロック図である。例えば、セットメーカは、CADソフトによって部品の形状を表す形状データを作成し、この形状データを部品メーカに提供して部品の製造を依頼する。このとき、セットメーカがCADソフトによって直接的に作成するCADデータにはセットメーカ独自の設計情報も含まれているので、部品メーカには、CADデータをそのまま提供するのではなく、CADソフトの機能によって設計情報を削除する変換を行った後の形状データを提供する。一方、CADソフトにはその不具合の修正等のために修正パッチが適用されることがある。ところが、修正パッチが他のセットメーカからの要望に応じて適用された場合等は、修正パッチが適用されたCADソフトを用いることにより、別の部分に影響が生じることがある。従って、修正パッチが適用されるごとに、CADソフトの機能によるCADデータから形状データへの変換が、CADデータから形状に関する部分を正確に抜き出すものとなっているかどうかのテストを行う必要がある。そこで、このテスト実行装置10では、修正パッチ適用ごとの版(リリース)が異なるCADソフトについてこのようなテストを行う。
図示するように、テスト実行装置10は、テストデータ記憶部11と、テストデータ追加部12と、テスト条件設定部13と、テスト実行部14と、テスト結果分析部15と、テスト結果記憶部16と、リスト作成条件設定部17と、リスト作成部18と、リスト記憶部19とを含む。
テストデータ記憶部11は、テストケース名と、テストデータとを対応付けて記憶するデータベースである。ここで、テストケース名は、テストデータを識別する名称であり、例えばテストデータのファイル名を用いるとよい。テストデータは、CADソフトにより形状データに変換される前のCADデータのうち、テスト実行部14によるテストで用いるデータである。本実施の形態では、データの一例として、テストデータを用いており、データ識別情報の一例として、テストケース名を用いている。また、データとデータ識別情報とを対応付けて記憶する記憶部の一例として、テストデータ記憶部11を設けている。
テストデータ追加部12は、1回目のリリースのCADソフトを用いたテストに先立ち、又は、そのテストを行った後のデータの追加が必要となった任意のタイミングで、テストデータ記憶部11にテストデータを追加する。このとき、テストデータ追加部12は、ユーザ側で過去に障害を発生させたCADデータを、テストデータとして追加する。
テスト条件設定部13は、テスト実行部14によりテストを行う際の条件であるテスト条件を設定する。ここで、テスト条件には、例えば、テストデータで表される形状とテストデータを変換して得られる形状データで表される形状との許容誤差がある。尚、このテスト条件設定部13はオプションであり、テスト実行部14によるテストでテスト条件が必要でない場合は、設けなくてもよい。
テスト実行部14は、テストデータ記憶部11に記憶されたテストデータで表される形状と、このテストデータをCADソフトにより変換して得られる形状データで表される形状との差分が、テスト条件設定部13により設定された許容誤差内に収まっているかどうかのテストを行う。このとき、テスト対象となるテストデータのテストケース名を記述したリストのデータ(以下、「テスト用リスト」という)がリスト記憶部19に記憶されていれば、テストデータ記憶部11に記憶されたテストデータのうち、リスト記憶部19に記憶されたテスト用リストに記述されたテストケース名に対応するテストデータを用いて、テストを行う。そして、テストケース名に対応付けて、テスト結果及びテスト時間を出力する。
テスト結果分析部15は、1回目から(N−1)回目のリリースのCADソフトを用いたテストでは、テスト実行部14によりテストケース名に対応付けて出力されたテスト結果及びテスト時間に基づいて、テスト結果記憶部16にそのテストケース名に対応付けて記憶されたテスト結果履歴及びテスト時間情報を更新する。また、N回目以降のリリースのCADソフトを用いたテストでは、テスト実行部14によりテストケース名に対応付けて出力されたテスト結果と、テスト結果記憶部16にそのテストケース名に対応付けて記憶されたテスト結果履歴とを分析し、グループ識別子を生成すると共にテスト結果安定性指数及びモジュール安定性指数を算出する。そして、テスト結果記憶部16にそのテストケース名に対応付けて、グループ識別子、テスト結果安定性指数、モジュール安定性指数を記憶すると共に、テスト実行部14によりテストケース名に対応付けて出力されたテスト結果及びテスト時間に基づいて、テスト結果記憶部16にそのテストケース名に対応付けて記憶されたテスト結果履歴及びテスト時間情報を更新する。尚、Nは予め定めた自然数で、テストケースの集約を初めて実施するときのCADソフトのリリース回数を示す。Nは例えば10〜20程度が望ましい。本実施の形態では、テスト結果情報の一例として、テスト結果記憶部16に記憶されたテストケース名とテスト結果履歴との対応情報を用いており、テスト結果情報を取得する取得部の一例として、テスト結果分析部15を設けている。また、グループ情報の一例として、テスト結果記憶部16に記憶されたテストケース名とグループ識別子とテスト結果安定性指数とモジュール安定性指数との対応情報を用いており、グループ情報を生成するグループ情報生成部の一例として、テスト結果分析部15を設けている。
テスト結果記憶部16は、テストケース名と、テスト結果履歴と、グループ識別子と、テスト結果安定性指数と、モジュール安定性指数と、テスト時間情報とを対応付けて記憶するデータベースである。ここで、テストケース名は、テスト実行部14によるテストの対象となったテストデータを識別する名称である。テスト結果履歴は、テスト結果列の一例であり、CADソフトのバージョンの一例であるリリースごとにリリース番号及びテスト結果を記述した履歴情報である。また、グループ識別子は、グループ識別情報の一例であり、対応するテストケースが属するグループを識別する情報である。テスト結果安定性指数は、テスト結果安定性情報の一例であり、対応するテストケースにおけるテスト結果の安定性(テスト結果が良好であるかどうか)を示す指数である。モジュール安定性指数は、モジュール安定性情報の一例であり、対応するテストケースでテストされるCADソフトのモジュールの安定性(モジュールが頻繁に変更されていないかどうか)を示す指数である。更に、テスト時間情報は、対応するテストケースのテストに要した時間の情報であり、複数回のテストが行われた場合には例えば個々のテストに要した時間の平均値や最新のテストに要した時間によって表すとよい。
リスト作成条件設定部17は、テスト用リストを作成する際の条件(以下、「リスト作成条件」という)を設定する。ここで、リスト作成条件には、例えば、テスト用リストに含めるテストケースの数の制限、テスト用リストに含めるテストケースのテスト時間の制限、テスト用リストでテストケースを集約するときのテスト結果安定性指数の下限の閾値である第1閾値、テスト用リストでテストケースを集約するときのモジュール安定性指数の下限の閾値である第2閾値がある。
リスト作成部18は、テスト結果記憶部16に記憶されたテスト結果と、リスト作成条件設定部17により設定されたリスト作成条件とに基づいて、テスト対象として選択したテストデータのテストケース名を記述したテスト用リストを作成する。本実施の形態では、リストを生成するリスト生成部の一例として、また、データを選択する選択部の一例として、リスト作成部18を設けている。
リスト記憶部19は、リスト作成部18により作成されたテスト用リストを記憶する。
次に、本実施の形態におけるテスト実行装置10の動作について詳細に説明する。
動作が開始すると、テスト実行装置10は、まず、全てのCADデータを用いて一通りテストを行う。例えば、50000件のCADデータがあり、このうち3000件を用いてテストしたい場合であっても、準備段階として50000件を用いてテストする。即ち、テストデータ追加部12は、この50000件のCADデータをテストデータとしてテストケース名と共にテストデータ記憶部11に追加する。
これにより、1回目のリリースのCADソフトについての動作が行われる。
即ち、まず、テスト実行部14が、テストデータ記憶部11に記憶された50000件のテストデータを用いて、1回目のリリースのCADソフトをテストし、テストケース名に対応付けてテスト結果を出力する。具体的には、テストデータにおける形状と、1回目のリリースのCADソフトによりテストデータを変換した後の形状データにおける形状との差分を求め、差分が許容誤差内に収まっていればテスト結果として「パス」を、差分が許容誤差内に収まっていなければテスト結果として「フェイル」を出力する。このとき、テスト実行部14は、テストケース名に対応付けてテスト時間も出力する。
次に、テスト結果分析部15は、テスト実行部14によりテストケース名に対応付けて出力されたテスト結果を、テスト結果記憶部16にそのテストケース名に対応するテスト結果履歴として記憶すると共に、テスト実行部14によりテストケース名に対応付けて出力されたテスト時間を、テスト結果記憶部16にそのテストケース名に対応するテスト時間情報として記憶する。具体的には、この時点では、テスト結果記憶部16にそのテストケース名に対応するテスト結果履歴及びテスト時間情報は記憶されていないので、テスト実行部14により出力されたテスト結果及びテスト時間をそのままテスト結果履歴及びテスト時間情報として記憶する。
次いで、リスト作成部18は、テスト結果記憶部16に記憶されたテストケースのうち、リスト作成条件設定部17により設定された数の制限及びテスト時間の制限を超えない範囲でテストケースを選択し、この選択したテストケースのテストケース名を記述したテスト用リストを作成する。そして、作成したテスト用リストをリスト記憶部19に記憶する。
その後、2回目のリリースのCADソフトについての動作が行われる。
即ち、まず、テスト実行部14が、テストデータ記憶部11に記憶された50000件のテストデータのうち、リスト記憶部19に記憶されたテスト用リストに記述されたテストケース名のテストデータを用いて、2回目のリリースのCADソフトをテストし、テストケース名に対応付けてテスト結果及びテスト時間を出力する。尚、テストデータ追加部12によりテストデータ記憶部11にテストデータが追加された場合は、その追加されたテストデータも用いて、このような処理を行う。
次に、テスト結果分析部15は、テスト実行部14によりテストケース名に対応付けて出力されたテスト結果を、テスト結果記憶部16にそのテストケース名に対応付けて記憶されたテスト結果履歴に含めて記憶すると共に、テスト実行部14によりテストケース名に対応付けて出力されたテスト時間に基づいて、テスト結果記憶部16にそのテストケース名に対応付けて記憶されたテスト時間情報を更新する。
尚、リスト作成部18は、3回目のリリースのCADソフトのテストでも今回のテストで用いたテストデータをそのまま用いることから、新たにテスト用リストを作成する処理を行わない。
その後、3回目から(N−1)回目までのリリースのCADソフトについても同様の動作が繰り返される。
ここで、このときのテスト結果記憶部16の記憶内容について説明する。
図2は、テスト結果記憶部16の記憶内容の一例を示した図である。尚、ここでは、N=10としている。
図示するように、テスト結果記憶部16には、テストケース名に対応付けて、テスト結果履歴及びテスト時間情報が記憶されている。このうち、テスト結果履歴としては、1回目から9回目までの各リリースに対して、リリース番号及びテスト結果が記憶されている。括弧内で、左側の要素がリリース番号を示し、右側の要素がテスト結果を示す。「P」は「パス」で、「F」は「フェイル」を意味する。尚、この段階では、グループ識別子の生成、テスト結果安定性指数及びモジュール安定性指数の算出は行われていないので、これらの欄は空欄になっている。
その後、N回目のリリースのCADソフトについての動作が行われる。
即ち、まず、テスト実行部14が、テストデータ記憶部11に記憶された50000件のテストデータのうち、リスト記憶部19に記憶されたテスト用リストに記述されたテストケース名のテストデータを用いて、N回目のリリースのCADソフトをテストし、テストケース名に対応付けてテスト結果及びテスト時間を出力する。
次に、テスト結果分析部15は、テスト実行部14により出力されたテスト結果と、テスト結果記憶部16に記憶されたテスト結果履歴とに基づいて、テスト結果分析処理を行う。
以下、このテスト結果分析処理について詳細に説明する。
第一に、テスト結果分析部15は、テストケースグループ決定処理を行う。
このテストケースグループ決定処理は、各テストケースを文字列に変換することにより、各テストケースが属するグループを決定する処理である。
図3は、このテストケースグループ決定処理の概要について示した図である。
図には、テストケースA〜Eを用いてリリース1.1〜4.0のCADソフトをテストしたときのテスト結果と、テストケースA〜Eが属するグループのグループ識別子とを示している。また、リリースごとのリリース日時も示している。ここで、リリースごとのテスト結果としては、「パス」を「○」で、「フェイル」を「×」で、「未実施」を空白で表している。また、グループ識別子は、テスト結果における「パス」を「1」、「フェイル」を「0」、「未実施」を「2」とすることで表される文字列である。尚、上記では、1回目のリリースのCADソフトのテストで全てのテストデータを対象とするので、未実施のテストケースはあり得ないが、これはあくまで例であるので、未実施のテストケースも示している。
テスト結果分析部15は、テストケースに対するグループ識別子が同じ場合に、そのテストケースが属するグループを同じグループとする。図では、テストケースC及びテストケースDに対するグループ識別子が「0000011111」で同じであるので、これらのテストケースは同じグループに属することになる。このように各テストケースが属するグループが決定された後、各グループでテストケースの集約が検討されることになる。
尚、本実施の形態では、複数のテストケースに対するグループ識別子が同一の場合にそれらのテストケースが同じグループに属するものとして説明するが、複数のテストケースに対するグループ識別子が類似する場合、例えば、グループ識別子の各文字の差分の二乗和が閾値以内である場合に、それらのテストケースが同じグループに属するものとしてもよい。
第二に、テスト結果分析部15は、テストケース優先度決定処理を行う。
このテストケース優先度決定処理は、テストケースを集約する際に、不安定な又は重点的なテストの実施が必要なテストケースに高い優先度を与える処理である。これにより、このようなテストケースが優先的に残されるので、網羅性の高いテストケース選択が実現される。尚、このテストケース優先度決定処理は、テストで用いるテストケースとCADソフト内のモジュールとの相関関係が不明である、又は、そのような相関関係を調査するのに多大な労力を必要とする、ということを条件に行われる。
具体的には、テスト結果分析部15は、テストケースごとのテスト結果履歴からテストケースの安定性を把握する。その際、テストケースごとのテスト結果履歴において着目する情報としては、現時点でのテスト結果の安定性に加え、テストの対象となるモジュールの安定性がある。たとえ現在のテスト結果がある程度良好であっても、機能変更が頻繁なモジュールについては、より優先度を高くしてテストを実施する必要があるからである。
そこで、テスト結果分析部15は、テストケースの安定性の判断において、テスト結果安定性指数、モジュール安定性指数という2つの指数を算出する。
(1)テスト結果安定性指数
図4は、テスト結果安定性指数を算出するときの手順を示した図である。
(a)には、テストケースA〜Cを用いてリリース1.1〜4.0のCADソフトをテストしたときのテスト結果と、現在まで継続してテスト結果が「パス」だったリリース日時を示すパス日時とを示している。尚、図中のテスト結果のうち、リリース1.1〜3.0に対するテスト結果が、テスト結果記憶部16に記憶されていたものであり、リリース4.0に対するテスト結果が、テスト実行部14により出力されたものである。
(b)では、(a)のテスト結果「○」、「×」を、テスト結果が継続して「パス」である日数を示すパス継続数に置き換えている。つまり、リリース1.1に対しては、テスト結果が「○」であれば、パス継続数を「1」とし、テスト結果が「×」であれば、パス継続数を「0」とする。また、それ以降のリリースに対しては、テスト結果が「○」であれば、パス継続数を1つ前のリリースに対するパス継続数に1を加算した値とし、テスト結果が「×」であれば、パス継続数を「0」とする。これにより、リリース4.0に対するパス継続数が、現時点におけるテスト結果の安定性を表すことになり、その値は、テストケースAについては「10」、テストケースBについては「5」、テストケースCについては「5」となる。尚、本実施の形態では、パス継続数を、現在まで継続してテスト結果が「パス」であった日数として説明するが、現在まで継続してテスト結果が「パス」であった回数としてもよい。
但し、これでは、テストケースAのリリース2.1のときのようにそれまでのテスト結果が全て「パス」であった場合も、テストケースBのリリース4.0のときのようにそれまでのテスト結果に「フェイル」があった場合も、安定性を表す値は同じ「5」となってしまう。そこで、本実施の形態では、パス継続数を正規化して、テスト結果安定性指数を算出する。
(c)に、パス継続数を正規化したときの結果を示す。
具体的には、(b)のあるリリースに対するパス継続数を、そのリリースまでのリリース数で除することにより、0から1の間のテスト結果安定性指数を算出する。
例えば、現時点、つまり、10回目のリリースでのテスト結果安定性指数は、テストケースAについては1(=10/10)、テストケースBについては0.5(=5/10)、テストケースCについては0.5(=5/10)となる。
尚、テスト結果安定性指数は、以降の説明においても、あるリリースから最新のリリースまでのパス継続数に基づいて算出するものとするが、その他の方法で算出するものとしてもよい。
例えば、あるリリースから最新のリリースではない任意のリリースまでのパス継続数に基づいて算出するものとしてもよい。
また、テスト結果が連続して「パス」であった数に基づくのでなく、単にテスト結果が「パス」であった数に基づいて、より一般化して言えば、成功を示すテスト結果の出現状況に基づいて、算出するものとしてもよい。
(2)モジュール安定性指数
図5は、モジュール安定性指数を算出するときの手順を示した図である。
(a)には、テストケースA〜Cを用いてリリース1.1〜4.0のCADソフトをテストしたときのテスト結果を示している。
(b)では、(a)のテスト結果「○」、「×」を、テスト結果の変動の有無を示す変動データに置き換えている。テスト結果「パス」が続く長さが同じであっても、より安定したモジュールに関連したテストケースを優先して集約することが望ましい。そのため、テスト結果に基づいて「パス」及び「フェイル」が変動したパターンを求める。ここでは、テスト結果が1つ前のリリースに対するテスト結果と同じであれば、変動データを「1」とし、テスト結果が1つ前のリリースに対するテスト結果と異なっていれば、変動データを「0」としている。
ところで、このようなテスト結果の変動は、現時点に近い時点での変動の方が、現時点から遠い時点での変動よりも、テストケース選択における重要度が高いと言える。
従って、リリース日時が現在日時に近いほど重みを大きくする重み付け関数を設定し、重み付け関数で求められる各リリース日時に対する重みを各リリース日時における変動データに乗じて得られる値の和をモジュール安定性指数とする。
図6は、このような重み付け関数の一例を示したグラフである。
このグラフにおいて、横軸tは、現在日時とリリース日時との差分であり、縦軸F(t)は、現在日時とリリース日時との差分がtである場合の重みである。
モジュール安定性指数Mは、現在日時とリリース日時との差分がtである場合の変動データをV(t)とすると、「M=ΣF(t)×V(t)」により算出される。
ここで、例えば、リリースの回数をRとし、F(t)=(R−t)/Σtとする。図5の例では、R=10、Σt=1+2+3+4+・・・+10=55であるので、F(t)=(10−t)/55となる。
従って、モジュール安定性指数は、テストケース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」の数に基づいて、より一般化して言えば、テスト結果の変動状況に基づいて、算出するものとしてもよい。
次いで、このようなテスト結果分析処理を行うテスト結果分析部15の動作について、フローチャートを参照して説明する。
図7は、N回目のリリースのCADソフトについてのテスト結果分析部15の動作例を示したフローチャートである。尚、1回目から(N−1)回目までのリリースのCADソフトについての動作をこのフローチャートに含める場合は、フローチャートの先頭に、何回目のリリースのCADソフトについての動作であるかを判断するステップを設けるとよい。そして、そのステップで1回目から(N−1)回目までのリリースのCADソフトについての動作であると判断されれば、テスト実行部14により出力されたテスト結果及びテスト時間をテスト結果記憶部16に記憶する処理のみを行い、そのステップでN回目のリリースのCADソフトについての動作であると判断されれば、図示した処理を行うようにするとよい。
さて、動作を開始すると、テスト結果分析部15は、まず、テスト実行部14から出力されたデータの中に未処理のデータがあるかどうかを判定する(ステップ101)。未処理のデータがないと判定されれば、そのまま処理を終了するが、未処理のデータがあると判定されれば、そのデータの中から、テストケース名、テスト結果、テスト時間の1つの組を取り出す(ステップ102)。
次に、テスト結果分析部15は、テスト結果記憶部16にそのテストケース名に対応付けて記憶されたテスト結果履歴を読み出す(ステップ103)。
そして、テスト結果分析部15は、ステップ102で取り出したテスト結果とステップ103で読み出したテスト結果履歴とに基づいて、グループ識別子を生成する(ステップ104)。具体的には、まず、ステップ103で読み出したテスト結果履歴を分析し、テスト結果「パス」を文字「1」に変換し、テスト結果「フェイル」を文字「0」に変換することで、文字列を生成する。そして、ステップ102で取り出したテスト結果を参照し、テスト結果が「パス」であればその文字列の後ろに文字「1」を付加し、テスト結果が「フェイル」であればその文字列の後ろに文字「0」を付加することで、グループ識別子を生成する。
また、テスト結果分析部15は、ステップ102で取り出したテスト結果とステップ103で読み出したテスト結果履歴とに基づいて、テスト結果安定性指数を算出する(ステップ105)。具体的には、まず、ステップ102で取り出したテスト結果を参照し、テスト結果が「パス」であればパス継続数を「1」とし、テスト結果が「フェイル」であればパス継続数を「0」とする。また、パス継続数が「1」であれば、ステップ103で読み出したテスト結果履歴を分析し、前回のリリースに対するテスト結果からの連続する「パス」の数をパス継続数に加算する。そして、この時点におけるパス継続数を今回のリリースまでのリリース回数で除することで、テスト結果安定性指数を算出する。
更に、テスト結果分析部15は、ステップ102で取り出したテスト結果とステップ103で読み出したテスト結果履歴とに基づいて、モジュール安定性指数を算出する(ステップ106)。具体的には、まず、ステップ103で読み出したテスト結果履歴を分析し、1回目のリリースに対する変動データを「1」とし、2回目から前回までのリリースに対する変動データを、テスト結果が1つ前のテスト結果と同じであれば「1」とし、テスト結果が1つ前のテスト結果と異なれば「0」とする。また、ステップ102で取り出したテスト結果を参照し、今回のリリースに対する変動データを、テスト結果が前回のテスト結果と同じであれば「1」とし、テスト結果が前回のテスト結果と異なれば「0」とする。そして、各リリースに対する変動データに、図6のような重み付け関数でtを各リリースのリリース日時と今回のリリースのリリース日時との差分としたときのF(t)を乗じ、その結果の値を足し合わせることで、モジュール安定性指数を算出する。ここで、各リリースのリリース日時は、図2に示したようにテスト結果履歴内に記憶されていないのであれば、CADソフトのリリースを管理するデータベースからリリース番号をキーに取得するとよい。或いは、テスト結果履歴内に記憶しておき、そこから取得するようにしてもよい。
これにより、テスト結果分析部15は、テスト結果記憶部16に、ステップ102で取り出したテストケース名に対応付けて、グループ識別子、テスト結果安定性指数、モジュール安定性指数を記憶する(ステップ107)。このとき、グループ識別子、テスト結果安定性指数、モジュール安定性指数が既に記憶されていれば、これらを新たなグループ識別子、テスト結果安定性指数、モジュール安定性指数で上書きする。
次いで、テスト結果分析部15は、ステップ102で取り出したテスト結果を、ステップ102で取り出したテストケース名に対応付けてテスト結果記憶部16に記憶されたテスト結果履歴に含めて、記憶する(ステップ108)。
また、テスト結果分析部15は、ステップ102で取り出したテスト時間に基づいて、ステップ102で取り出したテストケース名に対応付けてテスト結果記憶部16に記憶されたテスト時間情報を更新する(ステップ109)。
その後、処理はステップ101に戻り、未処理のデータがないと判定されるまで、ステップ102〜109の処理を繰り返す。
ここで、このときのテスト結果記憶部16の記憶内容について説明する。
図8は、テスト結果記憶部16の記憶内容の一例を示した図である。尚、ここでも、N=10としている。
図示するように、テスト結果記憶部16には、テストケース名に対応付けて、テスト結果履歴及びテスト時間情報が記憶されている。このうち、テスト結果履歴としては、1回目から10回目までの各リリースに対して、リリース番号及びテスト結果が記憶されている。また、テストケース名に対応付けて、グループ識別子、テスト結果安定性指数、モジュール安定性指数も記憶されている。
次に、リスト作成部18は、テスト結果記憶部16に記憶された情報に基づいて、テストケースを集約して新たなテスト用リストを作成するテスト用リスト作成処理を行う。具体的には、テスト結果記憶部16に記憶されたグループ識別子のグループのうち、テスト結果安定性指数及びモジュール安定性指数が閾値を超えるグループ内のテストケースを集約する。その際、グループに属するテストケースからテスト時間に基づいて1つのテストケースを選択する。例えば、グループに属するテストケースのうち、テスト時間が大きいものを優先的に除外する。
図9は、このようなテストケースの集約について示した図である。
図には、まず、2443件のテストデータを用いてテストを行ったときのグループ識別子ごとに、テスト結果安定性指数、モジュール安定性指数、テストケースの件数(図では単に「件数」と表記)を示している。
ここで、第1閾値が0.35であり、第2閾値が0.8である場合を考える。即ち、あるグループにおいて、テスト結果安定性指数が0.35を超えており、かつ、モジュール安定性指数が0.8を超えていれば、そのグループ内のテストケースを集約するものとする。図では、テスト結果安定性指数が0.35を超えており、かつ、モジュール安定性指数が0.8を超えているグループに対して、判定結果「TRUE」を示し、それ以外のグループに対して、判定結果「FALSE」を示している。判定結果が「TRUE」のグループについて、テストケースを集約することになるが、件数が「1」の場合はこれ以上集約できないので、件数が「2」以上のグループについて集約する。即ち、件数が「2」以上で判定結果が「TRUE」のグループ(図中、太線囲みで示す)に属するテストケースは1つを除いてテスト用リストに含める対象から除外する。
尚、テスト結果安定性指数及びモジュール安定性指数の両方が「1」であるグループについては、テスト結果は安定しているが、そのグループに属するテストケースが同じモジュールに関連するものと推測し難いため、本実施の形態では、テストケースの集約を行わない。
また、テスト結果安定性指数が「0」でモジュール安定性指数が「1」であるグループについては、テスト結果が全て「フェイル」ということだけを表すものであるので、本実施の形態では、テストケースの集約を行わない。
図では、各グループに対して、このような集約を行った後のテストケースの件数(図では単に「集約後」と表記)も示している。全体では、2443件のテストケースが、集約後は2226件となり、約8.9%のテストケースが削減されている。
次いで、このようなテスト用リスト作成処理を行うリスト作成部18の動作について、フローチャートを参照して説明する。
図10は、N回目のリリースのCADソフトについてのリスト作成部18の動作例を示したフローチャートである。尚、1回目から(N−1)回目までのリリースのCADソフトについての動作をこのフローチャートに含める場合は、フローチャートの先頭に、何回目のリリースのCADソフトについての動作であるかを判断するステップを設けるとよい。そして、そのステップで1回目のリリースのCADソフトについての動作であると判断されれば、リスト作成条件設定部17により設定されたテストケース数及びテスト時間の制限内のテストケースを記述したテスト用リストを作成する処理のみを行い、そのステップで2回目から(N−1)回目までのリリースのCADソフトについての動作であると判断されれば、全ての処理をスキップし、そのステップでN回目のリリースのCADソフトについての動作であると判断されれば、図示した処理を行うようにするとよい。
さて、動作を開始すると、リスト作成部18は、リスト作成条件設定部17により設定されたテスト結果安定性指数の閾値である第1閾値及びモジュール安定性指数の閾値である第2閾値を取得する(ステップ151)。
また、リスト作成部18は、テスト結果記憶部16に記憶されたデータを、一時的にグループごとにまとめる処理を行う(ステップ152)。具体的には、同じグループ識別子に対応付けられたテストケースのデータをまとめる。
そして、リスト作成部18は、テスト結果記憶部16に記憶されたグループの中に、未処理のグループがあるかどうかを判定する(ステップ153)。未処理のグループがあると判定されれば、そのグループの中から、1つグループのデータを読み出す(ステップ154)。
次に、リスト作成部18は、読み出したグループのデータに含まれるテストケースが1つであるかどうかを判定する(ステップ155)。テストケースが1つであると判定されれば、そのテストケースは集約対象とならないので、読み出したデータをそのままメモリに記憶する(ステップ160)。
テストケースが1つでないと判定されれば、リスト作成部18は、読み出したグループのデータにおけるモジュール安定性指数が「1」であるかどうかを判定する(ステップ156)。モジュール安定性指数が「1」であると判定されれば、このグループに属するテストケースのテスト結果はずっと同じであり、テスト結果からはテストケースを集約できると言えないので、読み出したデータをそのままメモリに記憶する(ステップ160)。
モジュール安定性指数が「1」でないと判定されれば、リスト作成部18は、読み出したグループのデータにおけるテスト結果安定性指数が、ステップ151で取得した第1閾値を超えているかどうかを判定する(ステップ157)。テスト結果安定性指数が第1閾値を超えていないと判定されれば、このグループに属するテストケースのテスト結果は安定しておらず、テストケースを集約できないので、読み出したデータをそのままメモリに記憶する(ステップ160)。
テスト結果安定性指数が第1閾値を超えていると判定されれば、リスト作成部18は、読み出したグループのデータにおけるモジュール安定性指数が、ステップ151で取得した第2閾値を超えているかどうかを判定する(ステップ158)。モジュール安定性指数が第2閾値を超えていないと判定されれば、このグループに属するテストケースに関連するモジュールは頻繁に変更されており、テストケースを集約できないので、読み出したデータをそのままメモリに記憶する(ステップ160)。
モジュール安定性指数が第2閾値を超えていると判定されれば、リスト作成部18は、読み出したグループのデータに含まれるテストケースのうち、テスト時間が最も短いもののみを残してそれ以外は除去し、その結果のデータをメモリに記憶する(ステップ159)。
その後、処理はステップ153に戻り、未処理のグループがないと判定されるまで、ステップ154〜160の処理を繰り返す。
そして、ステップ153で未処理のグループがないと判定されれば、リスト作成部18は、ステップ159又はステップ160でメモリに記憶されたデータ内のテストケース名を記述したテスト用リストを作成し、リスト記憶部19に記憶する(ステップ161)。
尚、この動作例では、あるグループについて、モジュール安定性指数が「1」でないという第1の条件、テスト結果安定性指数が第1閾値を超えているという第2の条件、及び、モジュール安定性指数が第2閾値を超えているという第3の条件が全て満たされた場合に、そのグループ内のテストケースを集約するようにしたが、この限りではない。
例えば、第1の条件は、このテスト用リスト作成処理で判断する条件から除外してもよい。
また、第2の条件及び第3の条件は、両方が満たされることを要求するのではなく、何れか一方のみが満たされることを要求するものでもよい。
更に、第2の条件及び第3の条件は、独立の条件とするのではなく、「テストケース重要度=第1重み係数×テスト結果安定性指数+第2重み係数×モジュール安定性指数」により算出されるテストケース重要度が閾値を超えている、という1つの条件にまとめてもよい。
また、この動作例では、リスト作成部18は、グループのデータが条件を満たす場合にそのグループ内の残すテストケース以外のテストケースを除去するのみであった。しかしながら、除去したテストケースの代わりに、別途テストしてテスト結果が「フェイル」であったテストケースや、新しい機能や重要な箇所に関連するテストケースを追加するようにしてもよい。但し、この場合も、リスト作成条件設定部17により設定されたテストケース数及びテスト時間の制限内に収まるようにテストデータを追加するのが望ましい。
加えて、その際、リスト作成条件設定部17により設定されたテスト時間の制限までどの程度の余裕があるかを知らせるために、テスト用リストに含まれる全てのテストケースに基づくテストを行った場合の想定合計時間を算出するようにしてもよい。
以上により、N回目のリリースのCADソフトについての動作の説明を終了する。
そして、その後、(N+1)回目以降のリリースのCADソフトについても同様の動作が繰り返される。
このように、本実施の形態では、ユーザの過去の障害履歴に基づいたテストケースの実行結果(リリース及びテスト結果)を保存するデータベースを設けた。そして、このデータベースに保存されたデータに基づいてテストケースに自動的に優先順位を付与し、これによってテストケースの適用条件を決定するようにした。
具体的には、第一に、ユーザの過去の障害履歴に基づいたテストケースの実行結果間の相関関係に着目し、この相関関係に基づいて、テストケースが利用するモジュール及び機能を類推する。つまり、複数のテストケースに基づくテスト結果の一致度を算出し、一致度が閾値以上となった場合に、これら複数のテストケースは同一モジュールに関連するものであると判断して集約する。
第二に、ユーザの過去の障害履歴に基づいたテストケースに基づくリリースごとのテスト結果の時系列の出現パターンに着目し、各テストケースにおけるリリース及びテスト結果に基づいて、テストケースに紐付いたモジュールの安定性を示す指数を算出し、指数が閾値以上となった場合に、そのテストケースは安定した状態であると判断して集約する。
そして、このような処理を行う本実施の形態によれば、限定された制約の下で、最適なテストケースを選択し、最適化されたテストを実行することが可能となる。
最後に、本実施の形態を適用するのに好適なコンピュータのハードウェア構成について説明する。図11は、このようなコンピュータのハードウェア構成の一例を示した図である。図示するように、コンピュータは、演算手段であるCPU(Central Processing Unit)90aと、M/B(マザーボード)チップセット90bを介してCPU90aに接続されたメインメモリ90cと、同じくM/Bチップセット90bを介してCPU90aに接続された表示機構90dとを備える。また、M/Bチップセット90bには、ブリッジ回路90eを介して、ネットワークインターフェイス90fと、磁気ディスク装置(HDD)90gと、音声機構90hと、キーボード/マウス90iと、フレキシブルディスクドライブ90jとが接続されている。
尚、図11において、各構成要素は、バスを介して接続される。例えば、CPU90aとM/Bチップセット90bの間や、M/Bチップセット90bとメインメモリ90cの間は、CPUバスを介して接続される。また、M/Bチップセット90bと表示機構90dとの間は、AGP(Accelerated Graphics Port)を介して接続されてもよいが、表示機構90dがPCI Express対応のビデオカードを含む場合、M/Bチップセット90bとこのビデオカードの間は、PCI Express(PCIe)バスを介して接続される。また、ブリッジ回路90eと接続する場合、ネットワークインターフェイス90fについては、例えば、PCI Expressを用いることができる。また、磁気ディスク装置90gについては、例えば、シリアルATA(AT Attachment)、パラレル転送のATA、PCI(Peripheral Components Interconnect)を用いることができる。更に、キーボード/マウス90i、及び、フレキシブルディスクドライブ90jについては、USB(Universal Serial Bus)を用いることができる。
ここで、本発明は、全てハードウェアで実現してもよいし、全てソフトウェアで実現してもよい。また、ハードウェア及びソフトウェアの両方により実現することも可能である。また、本発明は、コンピュータ、データ処理システム、コンピュータプログラムとして実現することができる。このコンピュータプログラムは、コンピュータにより読取り可能な媒体に記憶され、提供され得る。ここで、媒体としては、電子的、磁気的、光学的、電磁的、赤外線又は半導体システム(装置又は機器)、或いは、伝搬媒体が考えられる。また、コンピュータにより読取り可能な媒体としては、半導体、ソリッドステート記憶装置、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、リジッド磁気ディスク、及び光ディスクが例示される。現時点における光ディスクの例には、コンパクトディスク−リードオンリーメモリ(CD−ROM)、コンパクトディスク−リード/ライト(CD−R/W)及びDVDが含まれる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態には限定されない。本発明の精神及び範囲から逸脱することなく様々に変更したり代替態様を採用したりすることが可能なことは、当業者に明らかである。
10…テスト実行装置、11…テストデータ記憶部、12…テストデータ追加部、13…テスト条件設定部、14…テスト実行部、15…テスト結果分析部、16…テスト結果記憶部、17…リスト作成条件設定部、18…リスト作成部、19…リスト記憶部

Claims (10)

  1. ソフトウェアの複数のバージョンの動作をテストする装置であって、
    複数のデータの各データと、当該各データを識別するデータ識別情報とを対応付けて記憶する記憶部と、
    前記複数のデータの各データを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列と、当該各データを識別するデータ識別情報とを対応付けたテスト結果情報を取得する取得部と、
    前記複数のデータをグループ化して得られる複数のグループであって各グループに属するデータを識別するデータ識別情報に前記テスト結果情報において対応付けられた前記テスト結果列が同一又は類似である複数のグループの当該各グループを、当該テスト結果列によって識別するグループ識別情報と、当該各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果の安定性を、当該テスト結果列における連続して成功を示すテスト結果の多さによって示すテスト結果安定性情報と、当該各グループに属するデータを用いてテストされる前記ソフトウェアのモジュールの安定性を、当該テスト結果列におけるテスト結果の変動の少なさによって示すモジュール安定性情報と、当該各グループに属するデータを識別するデータ識別情報とを対応付けたグループ情報を生成するグループ情報生成部と、
    前記複数のグループの各グループを識別するグループ識別情報に前記グループ情報において少なくとも2つのデータ識別情報が対応付けられており、当該グループ識別情報に当該グループ情報において対応付けられた前記テスト結果安定性情報が予め定めた第1の基準を超える安定性を示しており、当該グループ識別情報に当該グループ情報において対応付けられた前記モジュール安定性情報が予め定めた第2の基準を超える安定性を示しているが前記テスト結果列におけるテスト結果の変動が1回以上あることを示している場合に、当該各グループに属するデータを識別するデータ識別情報として当該少なくとも2つのデータ識別情報のうちの特定のデータ識別情報を含み当該特定のデータ識別情報以外は含まないリストを生成するリスト生成部と、
    前記複数のグループの各グループに属するデータとして、前記リスト生成部により生成された前記リストに当該各グループに属するデータを識別するデータ識別情報として含まれる前記特定のデータ識別情報に対応付けて前記記憶部に記憶されたデータを用いて、前記ソフトウェアの新たなバージョンのテストを実行するテスト実行部と
    を含む、装置。
  2. ソフトウェアの複数のバージョンの動作をテストする装置であって、
    複数のデータの各データについて、当該各データを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列を取得する取得部と、
    前記複数のデータをグループ化して得られる複数のグループであって各グループに属するデータについて前記取得部により取得された前記テスト結果列が同一又は類似である複数のグループの当該各グループについて、当該各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果の安定性を示すテスト結果安定性情報を生成する生成部と、
    前記複数のグループの少なくとも2つのデータが属する各グループについて前記生成部により生成された前記テスト結果安定性情報が予め定めた基準を超える安定性を示している場合に、当該少なくとも2つのデータから前記ソフトウェアの動作をテストする際に用いるデータを選択する選択部と
    を含む、装置。
  3. 前記生成部は、前記複数のグループの各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列における成功を示すテスト結果の出現状況に基づいて、前記テスト結果安定性情報を生成する、請求項2の装置。
  4. 前記生成部は、前記複数のグループの各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列において、当該複数のバージョンのうちの最新のバージョンから遡って連続するバージョンの動作をテストしたときのテスト結果が成功を示し続ける長さが長いほど、高い安定性を示す前記テスト結果安定性情報を生成する、請求項2又は請求項3の装置。
  5. 前記生成部は、前記複数のグループの各グループに属するデータを用いてテストされる前記ソフトウェアのモジュールの安定性を示すモジュール安定性情報を更に生成し、
    前記選択部は、前記少なくとも2つのデータが属する各グループについて前記生成部により生成された前記モジュール安定性情報が予め定めた基準を超える安定性を示している場合に、当該少なくとも2つのデータから前記ソフトウェアの動作をテストする際に用いるデータを選択する、請求項2の装置。
  6. 前記生成部は、前記複数のグループの各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列におけるテスト結果の変動状況に基づいて、前記モジュール安定性情報を生成する、請求項5の装置。
  7. 前記生成部は、前記複数のグループの各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列において、当該複数のバージョンの各バージョンの動作をテストしたときのテスト結果の変動に当該各バージョンの新しさに応じた重みを付加して加算することで得られた変動の度合いが低いほど、高い安定性を示す前記モジュール安定性情報を生成する、請求項5又は請求項6の装置。
  8. 前記選択部は、前記少なくとも2つのデータの各データを用いて前記ソフトウェアの動作をテストするのに要する時間に基づいて、当該少なくとも2つのデータから前記ソフトウェアの動作をテストする際に用いるデータを選択する、請求項2乃至請求項7の何れかの装置。
  9. ソフトウェアの複数のバージョンの動作をテストする方法であって、
    複数のデータの各データについて、当該各データを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列を取得するステップと、
    前記複数のデータをグループ化して得られる複数のグループであって各グループに属するデータについて取得された前記テスト結果列が同一又は類似である複数のグループの当該各グループについて、当該各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果の安定性を示すテスト結果安定性情報を生成するステップと、
    前記複数のグループの少なくとも2つのデータが属する各グループについて生成された前記テスト結果安定性情報が予め定めた基準を超える安定性を示している場合に、当該少なくとも2つのデータから前記ソフトウェアの動作をテストする際に用いるデータを選択するステップと
    を含む、方法。
  10. ソフトウェアの複数のバージョンの動作をテストする装置としてコンピュータを機能させるプログラムであって、
    前記コンピュータを、
    複数のデータの各データについて、当該各データを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果列を取得する取得部と、
    前記複数のデータをグループ化して得られる複数のグループであって各グループに属するデータについて前記取得部により取得された前記テスト結果列が同一又は類似である複数のグループの当該各グループについて、当該各グループに属するデータを用いて前記ソフトウェアの複数のバージョンの動作をテストしたときのテスト結果の安定性を示すテスト結果安定性情報を生成する生成部と、
    前記複数のグループの少なくとも2つのデータが属する各グループについて前記生成部により生成された前記テスト結果安定性情報が予め定めた基準を超える安定性を示している場合に、当該少なくとも2つのデータから前記ソフトウェアの動作をテストする際に用いるデータを選択する選択部と
    して機能させる、プログラム。
JP2011115228A 2011-05-23 2011-05-23 ソフトウェアの動作をテストする装置及び方法 Active JP5629239B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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