JP2010003224A - テスト情報管理サーバ、テスト情報管理方法、およびプログラム - Google Patents
テスト情報管理サーバ、テスト情報管理方法、およびプログラム Download PDFInfo
- Publication number
- JP2010003224A JP2010003224A JP2008163315A JP2008163315A JP2010003224A JP 2010003224 A JP2010003224 A JP 2010003224A JP 2008163315 A JP2008163315 A JP 2008163315A JP 2008163315 A JP2008163315 A JP 2008163315A JP 2010003224 A JP2010003224 A JP 2010003224A
- Authority
- JP
- Japan
- Prior art keywords
- test
- parameter
- information management
- management server
- information
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】大規模なソフトウェア部品のテストにおいて、必要なテストパターンを絞り込むことができるテスト情報管理サーバを提供する。
【解決手段】テスト情報管理サーバ20は、ソフトウェア部品の使用環境において設定する予定のそれぞれのパラメータの値をクライアントコンピュータ13−1〜13−3から受け付けた場合に、関連性のあるパラメータの値の組み合わせについてのテストパターンを作成して当該クライアントコンピュータ13−1〜13−3に送信する。
【選択図】図1
【解決手段】テスト情報管理サーバ20は、ソフトウェア部品の使用環境において設定する予定のそれぞれのパラメータの値をクライアントコンピュータ13−1〜13−3から受け付けた場合に、関連性のあるパラメータの値の組み合わせについてのテストパターンを作成して当該クライアントコンピュータ13−1〜13−3に送信する。
【選択図】図1
Description
本発明は、ソフトウェア部品のテストに関する情報を管理するテスト情報管理サーバに関する。
下記の特許文献1には、テスト対象となる計算機プログラム部品の満たすべきパラメータ等の条件からテストケース仕様を自動的に生成し、生成したテストケース仕様のそれぞれを、1つずつテスト対象の計算機プログラム部品に設定してテストを実行し、テスト結果を通知する技術が開示されている。
ところで、対象となるプログラム部品の規模が大きくなると、設定すべきパラメータの数や値の範囲も多くなり、その全ての組み合わせについてテストケースを作成してテストを行うことは困難である。上記特許文献1に開示されている技術は、設定すべきパラメータおよびその値の全ての組み合わせについてテストケースを作成可能な、小規模のソフトウェア部品に対しては適用可能であるが、パラメータ数や値の範囲が膨大な、大規模なソフトウェア部品に対しては適用することは現実的ではない。
ところで、ソフトウェア部品の仕様によっては、常に、全てのパラメータが相互に関連性を有しているとは限らず、いくつかのパラメータのグループ単位(例えばそのパラメータが用いられる機能の単位等)で関連性を有する場合がある。例えば、Pa、Pb、およびPcの3つのパラメータが、それぞれ3つの値をとりうる場合、その全ての組み合わせについてテストケースを作成するとすれば、27通りのテストケースを作成する必要がある。
しかし、PaとPbがある機能に用いられるパラメータであり、Pcはまったく別個の機能に用いられるパラメータである場合、PaとPbの全ての値の組み合わせと、Pcの全ての値の組み合わせについてテストを実行すれば、全ての値の組み合わせについてテストを実行する必要がない場合がある。この場合、PaとPbの全ての値の組み合わせについて9通り、Pcの全ての値の組み合わせについて3通りで、合計12通りのテストを実行すればよい。
本発明は上記事情を鑑みてなされたものであり、本発明の目的は、大規模なソフトウェア部品のテストにおいて、必要なテストパターンを絞り込むことにある。
上記課題を解決するために、本発明では、ソフトウェア部品の使用環境において設定する予定のそれぞれのパラメータの値をユーザから受け付けた場合に、関連性のあるパラメータの値の組み合わせについてのテストパターンを作成してユーザに提供する。
例えば、本発明の第一の態様は、ソフトウェア部品のテストに関する情報を管理するテスト情報管理サーバであって、ソフトウェアに用いられるそれぞれのパラメータを識別するパラメータID毎に、当該パラメータと関連するパラメータのパラメータIDを格納する関連情報格納手段と、それぞれのパラメータID毎に、当該パラメータIDに対応するパラメータが変更された場合に必要となるテストを識別するテストIDを格納するテストID格納手段と、複数のパラメータのパラメータID、および、それぞれのパラメータの取りうる値を示す情報をユーザから受け付けた場合に、関連情報格納手段を参照して、受け付けたパラメータIDに対応するパラメータを、関連するパラメータ毎にグループ分けするグループ化手段と、パラメータのグループ毎に、当該グループ内のいずれかのパラメータについて必要なテストのテストIDをテストID格納手段から抽出し、抽出したテストIDおよび当該グループ内のパラメータ毎の値の組み合わせをテストパターンとしてユーザに通知するテストパターン通知手段とを備えることを特徴とするテスト情報管理サーバを提供する。
また、本発明の第二の態様は、ソフトウェア部品のテストに関する情報を管理するテスト情報管理サーバにおけるテスト情報管理方法であって、テスト情報管理サーバが、複数のパラメータのパラメータID、および、それぞれのパラメータの取りうる値を示す情報をユーザから受け付けた場合に、ソフトウェアに用いられるそれぞれのパラメータを識別するパラメータID毎に、当該パラメータと関連するパラメータのパラメータIDを格納する関連情報格納手段を参照して、受け付けたパラメータIDに対応するパラメータを、関連するパラメータ毎にグループ分けするグループ化ステップと、パラメータのグループ毎に、当該グループ内のいずれかのパラメータについて必要なテストのテストIDを、それぞれのパラメータID毎に、当該パラメータIDに対応するパラメータが変更された場合に必要となるテストを識別するテストIDを格納するテストID格納手段から抽出し、抽出したテストIDおよび当該グループ内のパラメータ毎の値の組み合わせを、テストパターンとしてユーザに通知するテストパターン通知ステップとを実行することを特徴とするテスト情報管理方法を提供する。
また、本発明の第三の態様は、コンピュータを、ソフトウェア部品のテストに関する情報を管理するテスト情報管理サーバとして機能させるプログラムであって、コンピュータに、ソフトウェアに用いられるそれぞれのパラメータを識別するパラメータID毎に、当該パラメータと関連するパラメータのパラメータIDを格納する関連情報格納機能、それぞれのパラメータID毎に、当該パラメータIDに対応するパラメータが変更された場合に必要となるテストを識別するテストIDを格納するテストID格納機能、複数のパラメータのパラメータID、および、それぞれのパラメータの取りうる値を示す情報をユーザから受け付けた場合に、関連情報格納機能を参照して、受け付けたパラメータIDに対応するパラメータを、関連するパラメータ毎にグループ分けするグループ化機能、およびパラメータのグループ毎に、当該グループ内のいずれかのパラメータについて必要なテストのテストIDをテストID格納機能から抽出し、抽出したテストIDおよび当該グループ内のパラメータ毎の値の組み合わせを、テストパターンとしてユーザに通知するテストパターン通知機能を実現することを特徴とするプログラムを提供する。
本発明によれば、大規模なソフトウェア部品のテストにおいて、必要なテストパターンを絞り込むことができる。
まず、本発明における第1の実施形態について説明する。
図1は、本発明の一実施形態にかかるテスト情報管理システム10の構成の一例を示すシステム構成図である。テスト情報管理システム10は、複数のクライアントコンピュータ13、データベースサーバ12、およびテスト情報管理サーバ20を備える。複数のクライアントコンピュータ13、データベースサーバ12、およびテスト情報管理サーバ20は、インターネット等の通信回線11に接続されている。データベースサーバ12は、テスト対象となるソフトウェア部品の本体や、テストに使用されるツール等を格納しており、クライアントコンピュータ13からの要求に応じてこれらのデータを、通信回線11を介して提供する。
図2は、第1の実施形態におけるテスト情報管理サーバ20の機能構成の一例を示すブロック図である。テスト情報管理サーバ20は、範囲情報格納部200、関連情報格納部201、テストID格納部202、テスト情報格納部203、範囲確認部204、グループ化部205、テストパターン通知部206、テスト結果格納部207、およびテスト情報登録部208を有する。
範囲情報格納部200には、例えば図3に示すように、テストの対象となるソフトウェア部品に使用されるそれぞれのパラメータを識別するパラメータID2000毎に、当該パラメータのとりうる値の範囲を示す範囲情報2001が格納されている。本実施形態において、テスト対象となるソフトウェア部品は、Pa、Pb、Pc、Pd、およびPeの5つのパラメータを設定して使用するものとする。
関連情報格納部201には、例えば図4に示すように、パラメータID2010毎に、当該パラメータID2010に対応するパラメータに関連するパラメータのパラメータIDである関連パラメータID2011が格納されている。本実施形態において、テスト対象のソフトウェア部品に使用される複数のパラメータは、例えば図5に示すような関連性を有しているものとする。図5に示すように、パラメータPa、Pb、およびPcは、直接的に、または、他のパラメータを介して間接的に、互いに関連しており、パラメータPdおよびPeは、直接的に互いに関連している。関連情報格納部201内の情報をたどることにより、図5に示すようなパラメータ間の関連性を導き出すことができる。
テスト情報格納部203には、例えば図6に示すように、それぞれのテストを識別するテストID2030毎に、当該テストに対応するテストの内容や手順を示すテスト情報2031が格納されている。本実施形態では、T1〜T7の7種類のテストを想定している。
テストID格納部202には、例えば図7に示すように、パラメータID2020毎に、当該パラメータID2020に対応するパラメータの値を変更した場合に必要となるテストとの関係を示す情報が、当該テストのテストID2021に対応付けて格納されている。図7に示す例では、例えば、パラメータPaの値が変更された場合に、T1に対応するテストと、T6に対応するテストが必要である旨が格納されている。
テスト結果格納部207には、例えば図8に示すように、テストID2070毎に、当該テストID2070に対応するテストの結果を示す情報が格納されている。テストの結果を示す情報には、パラメータID2071毎の値の組み合わせ2072と、その値の組み合わせ2072におけるテスト結果2073(合格(OK)または不合格(NG)の別)を示す情報が含まれる。なお、ソフトウェア部品の出荷段階では、各パラメータの値の組み合わせの少なくとも1つにおけるテストが実行され、そのテスト結果と共に、そのときの各パラメータの値がテスト結果格納部207に登録される。
範囲確認部204は、通信回線11を介していずれかのクライアントコンピュータ13から、パラメータ毎に、当該パラメータで使用する予定の値を含むテスト情報要求を受信した場合に、範囲情報格納部200を参照して、それぞれのパラメータについて使用する予定の値が、それぞれのパラメータの範囲情報に含まれるか否かを判定する。本実施形態において、範囲確認部204は、例えば図9に示すように、Paとしてa3〜a5の3個の値、Pbとしてb1〜b3の3個の値、Pcとしてc1〜c9の9個の値、Pdとしてd2〜d10の9個の値、Peとしてe1〜e3の3個の値を含むテスト情報要求を受信したものと仮定する。
いずれかのパラメータについて使用する予定の値が、対応する範囲情報に含まれていない場合、範囲確認部204は、範囲外となった値を示す情報を含むエラーを当該クライアントコンピュータ13に通知する。それぞれのパラメータについて使用する予定の値が、いずれも、対応する範囲情報に含まれる場合、範囲確認部204は、受信したテスト情報要求をグループ化部205へ送る。
グループ化部205は、範囲確認部204からテスト情報要求を受け取った場合に、関連情報格納部201を参照して、関連するパラメータ毎にパラメータをグループ化する。本実施形態において、グループ化部205は、例えば図5に示すように、パラメータPa、Pb、およびPcを1つのグループ(グループ1)とし、パラメータPdおよびPeを他のグループ(グループ2)とする。そして、グループ化部205は、グループを示す情報と共に、テスト情報要求をテストパターン通知部206へ送る。
テストパターン通知部206は、グループを示す情報と共にテスト情報要求をグループ化部205から受け取った場合に、グループ毎にテストID格納部202を参照して、グループ内のパラメータが変更された場合に必要なテストのテストIDをグループ毎に抽出する。
本実施形態において、テストパターン通知部206は、Paに対してT1およびT6を、Pbに対してT2およびT6を、Pcに対してT3をそれぞれ抽出し、グループ1のテストIDとして、T1、T2、T3、およびT6を抽出する。同様に、テストパターン通知部206は、Pdに対してT4およびT7を、Peに対してT5をそれぞれ抽出し、グループ2のテストIDとして、T4、T5、およびT7を抽出する。
この段階では、グループ毎のパラメータの値の組み合わせにグループ毎のテストIDの数を乗じ、その値を合計した数分のテストパターンが存在する。本実施形態において、グループ1では、Pa、Pb、およびPcの値の組み合わせは、3×3×9=81通りとなる。また、グループ1では、T1、T2、T3、およびT6の4種類のテストが必要となるため、グループ1については、81×4=324通りのテストが必要となる。
同様に、グループ2では、PdおよびPeの値の組み合わせは9×3=27通りとなる。また、グループ2において、T4、T5、およびT7の3種類のテストが必要であるため、グループ2については、27×3=81通りのテストが必要となる。従って、合計324+81=405通りのテストが必要となる。
ここで、パラメータPa〜Peをグループ分けすることなく、テストパターンを作成するとすれば、パラメータPa〜Peの全ての値の組み合わせとして、3×3×9×9×3=2187通りのテストを実施することになる。また、関連するテストの数が7種類あることから、合計で2187×7=15309通りのテストを行う場合がある。しかし、本実施形態において、グループ化部205は、関連性のあるパラメータをグループ化することにより、グループ内での値の組み合わせについてのみのテスト(405通り)を実施すればよくなるため、テストパターンを絞り込むことができ、より効率よくテストを実施させることができる。
次に、テストパターン通知部206は、グループを1つ選択し、選択中のグループにおいて抽出されたテストIDの中からテストIDを1つ選択し、選択中のグループ内のパラメータの値の組み合わせを1つ選択する。そして、テストパターン通知部206は、テスト結果格納部207を参照して、選択中のテストIDに対応するテスト結果の中で、選択中のグループのパラメータにおいて、選択した値の組み合わせがテスト結果格納部207内に存在するか否かを判定する。その組み合わせがテスト結果格納部207内に存在する場合、テストパターン通知部206は、その組み合わせについては既にテスト済みであるとして、テスト対象となる値の組み合わせから除外する。
本実施形態において、テストパターン通知部206は、例えば、グループ1において、Pa=a3、Pb=b1、Pc=c1を選択し、テストIDとしてT1を選択した場合、テスト結果格納部207(図8)を参照し、T1に対応するテスト結果の中で、Pa=a3、Pb=b1、Pc=c1の組み合わせ2074が存在することを検出する。そして、テストパターン通知部206は、この組み合わせをテスト対象となる値の組み合わせから除外する。
テストパターン通知部206は、グループの数、それぞれのグループについて抽出されたテストIDの数、および、それぞれのグループ内のパラメータの値の組み合わせの数分、上記の処理を繰り返す。そして、グループ毎にテスト対象として残った値の組み合わせについて、テストパターン通知部206は、対象となるグループ以外の他のパラメータの値を、クライアントコンピュータ13から受信したテスト情報要求に含まれていたパラメータの中から任意に選択する。これは、グループ外のパラメータの設定は、当該グループにおけるテストの結果には影響を与えないという前提に基づいている。
そして、テストパターン通知部206は、テストID毎にテストの内容や手順を示すテスト情報をテスト情報格納部203から取得し、テストID、対応するテストのテスト情報、そのテストを実施する際の各パラメータの値の組み合わせを示す情報を含むテストパターンを作成してクライアントコンピュータ13へ送信する。
このように、テストパターン通知部206は、既に実施されたテストと同一のパラメータの値の組み合わせをテスト対象となる値の組み合わせから除外することにより、テストパターンをさらに絞り込むことができ、さらに効率よくテストを実施させることができる。
なお、テストパターン通知部206は、テスト結果格納部207内に存在する値の組み合わせにおいて、テスト結果がNGであるものについては、その組み合わせについてのテスト結果がNGである旨を不具合情報としてクライアントコンピュータ13に通知する。これにより、その情報を受け取ったクライアントコンピュータ13のユーザは、その値を避けるような使い方でソフトウェア部品を使用するか、あるいは、その値の組み合わせにおいても正しく動作するような修正が施されるまでそのソフトウェア部品の使用を延期する等の対策を講じることができる。
クライアントコンピュータ13は、テスト情報管理サーバ20からテストパターンを受信した場合に、ソフトウェア部品本体や、当該テストパターンに含まれているテストIDに対応するテストに使用されるツール等をデータベースサーバ12から取得し、当該テストパターンに含まれているテストIDに対応するテストを、当該テストパターンに含まれているパラメータの値の組み合わせについて実施する。そして、クライアントコンピュータ13は、テストID、当該テストIDに対応するテストを実施したときの各パラメータの値の組み合わせ、および、そのテスト結果を含むテスト結果通知をテスト情報管理サーバ20へ送信する。
テスト情報登録部208は、クライアントコンピュータ13からテスト結果通知を受信した場合に、受信したテスト結果通知に含まれるテストID毎に、当該テストIDに対応付けられているパラメータの値の組み合わせ、および、当該テストIDに対応するテストの結果をテスト結果格納部207に登録する。
図10は、第1の実施形態におけるテスト情報管理サーバ20の動作の一例を示すフローチャートである。例えば、所定の設定を経て起動することにより、テスト情報管理サーバ20は、本フローチャートに示す動作を開始する。
まず、範囲確認部204は、通信回線11を介して、いずれかのクライアントコンピュータ13からテスト情報要求を受信したか否かを判定する(S100)。テスト情報要求を受信した場合(S100:Yes)、範囲確認部204は、範囲情報格納部200を参照して、受信したテスト情報要求に含まれている各パラメータの値が、それぞれのパラメータの許容範囲内か否かを判定する(S101)。
いずれかのパラメータの値が許容範囲外である場合(S101:No)、範囲確認部204は、許容範囲外となっているパラメータを示す情報を含むエラーをクライアントコンピュータ13に通知し(S117)、再びステップS100に示した処理を実行する。各パラメータの値が許容範囲内である場合(S101:Yes)、範囲確認部204は、受信したテスト情報要求をグループ化部205へ送る。
次に、グループ化部205は、関連情報格納部201を参照して、関連するパラメータ毎にパラメータをグループ化し(S102)、グループを示す情報と共に、テスト情報要求をテストパターン通知部206へ送る。そして、テストパターン通知部206は、グループ毎にテストID格納部202を参照して、パラメータが変更された場合に必要なテストのテストIDをグループ毎に抽出する(S103)。
次に、テストパターン通知部206は、未選択のグループを1つ選択し(S104)、選択したグループについて抽出したテストIDの中から未選択のテストIDを1つ選択し(S105)、選択したグループにおいて未選択のパラメータの値の組み合わせを1つ選択する(S106)。
次に、テストパターン通知部206は、テスト結果格納部207を参照して、選択中のテストIDに対応するテスト結果の中で、選択中のグループのパラメータにおいて、選択した値の組み合わせが存在するか否かを判定することにより、当該値の組み合わせにおけるテストが実施済みか否かを判定する(S107)。当該値の組み合わせにおけるテストが未実施である場合(S107:No)、テストパターン通知部206は、ステップS111に示す処理を実行する。
当該値の組み合わせにおけるテストが実施済みである場合(S107:Yes)、テストパターン通知部206は、当該値の組み合わせに対応するテスト結果がNGであるか否かを判定する(S108)。当該値の組み合わせに対応するテスト結果がNGである場合(S108:Yes)、テストパターン通知部206は、当該値の組み合わせをメモリに記憶し(S109)、ステップS111に示す処理を実行する。
当該値の組み合わせに対応するテスト結果がOKである場合(S108:No)、テストパターン通知部206は、当該値の組み合わせをテスト対象の値の組み合わせから除外し(S110)、選択中のグループにおいて全ての値の組み合わせを選択したか否かを判定する(S111)。選択中のグループにおいて未選択の値の組み合わせが存在する場合(S111:No)、テストパターン通知部206は、再びステップS106に示した処理を実行する。
選択中のグループにおいて全ての値の組み合わせを選択した場合(S111:Yes)、テストパターン通知部206は、選択中のグループにおいて全てのテストIDを選択したか否かを判定する(S112)。選択中のグループにおいて未選択のテストIDが存在する場合(S112:No)、テストパターン通知部206は、再びステップS105に示した処理を実行する。
選択中のグループにおいて全てのテストIDを選択した場合(S112:Yes)、テストパターン通知部206は、全てのグループを選択したか否かを判定する(S113)。未選択のグループが存在する場合(S113:No)、テストパターン通知部206は、再びステップS104に示した処理を実行する。
全てのグループを選択した場合(S113:Yes)、テストパターン通知部206は、グループ毎にテスト対象として残った値の組み合わせについて、対象となるグループ以外の他のパラメータの値を、クライアントコンピュータ13から受信したテスト情報要求に含まれていたパラメータの中から任意に選択する。
そして、テストパターン通知部206は、テストID毎にテストの内容や手順を示すテスト情報をテスト情報格納部203から取得し、テストID、対応するテストのテスト情報、そのテストを実施する際の各パラメータの値の組み合わせを示す情報、および、テスト結果がNGであったパラメータの値の組み合わせを示す不具合情報、を含むテストパターンを作成する。そして、テストパターン通知部206は、作成したテストパターンを、通信回線11を介してクライアントコンピュータ13へ送信し(S114)、範囲確認部204は、再びステップS100に示した処理を実行する。
ステップS100において、テスト情報要求を受信していない場合(S100:No)、テスト情報登録部208は、テスト結果通知を受信したか否かを判定する(S115)。テスト結果通知を受信していない場合(S115:No)、範囲確認部204は、再びステップS100に示した処理を実行する。テスト結果通知を受信した場合(S115:Yes)、テスト情報登録部208は、受信したテスト結果通知に含まれる情報をテスト結果格納部207に登録し(S116)、範囲確認部204は、再びステップS100に示した処理を実行する。
以上、本発明における第1の実施形態について説明した。
上記説明から明らかなように、本実施形態のテスト情報管理サーバ20によれば、関連性のあるパラメータ間での値の組み合わせについてのみテストパターンを作成するので、大規模なソフトウェア部品のテストにおいて必要なテストパターンを絞り込むことができ、効率よくテストを実施させることができる。また、テスト情報管理サーバ20は、既に実施されたテストにおけるパラメータの値の組み合わせを除外することにより、必要なテストパターンをさらに絞り込むことができる。また、テスト情報管理サーバ20は、必要なテストパターンの提供と、テスト結果の蓄積とを繰り返すことにより、未実施のテストを少なくすることができ、実質的に、わずかずつのテストを複数のユーザで分担させることができ、ユーザ一人当たりの負担を軽くすることができる。
次に、本発明の第2の実施形態について説明する。
図11は、第2の実施形態におけるテスト情報管理サーバ20の機能構成の一例を示すブロック図である。テスト情報管理サーバ20は、範囲情報格納部200、関連情報格納部201、テストID格納部202、テスト情報格納部203、範囲確認部204、グループ化部205、テストパターン通知部206、テスト結果格納部207、テスト情報登録部208、および類似範囲格納部209を有する。なお、以下に説明する点を除き、図11において、図2と同じ符号を付した構成は、図2における構成と同一または同様の機能を有するため説明を省略する。
類似範囲格納部209には、例えば図12に示すように、パラメータID2090毎に、当該パラメータID2090に対応するパラメータとして設定可能な値の中で、いずれかの値におけるテストを実行すれば他の値のテストを実行しなくてもテスト結果が想定可能な値の範囲を示す類似範囲情報2091を格納する。
例えば、図12に示したパラメータPaの例では、a1〜a3が類似範囲情報のひとつとして類似範囲格納部209に格納されており、Pa=a1におけるテストが実施されていれば、Pa=a2におけるテストが実施されていなくても、Pa=a1におけるテスト結果をPa=a2におけるテスト結果として代用することができる。ただし、Pa=a4に対しては、a1〜a3の範囲に含まれないため、Pa=a1におけるテスト結果を代用することはできない。
テストパターン通知部206は、グループを示す情報と共にテスト情報要求をグループ化部205から受け取った場合に、グループ毎にテストID格納部202を参照して、パラメータが変更された場合に必要なテストのテストIDをグループ毎に抽出する。
次に、テストパターン通知部206は、グループを1つ選択し、選択中のグループにおいて抽出されたテストIDの中からテストIDを1つ選択し、選択中のグループ内のパラメータの値の組み合わせを1つ選択する。そして、テストパターン通知部206は、類似範囲格納部209を参照し、選択中のパラメータの値の組み合わせについて、パラメータ毎に類似範囲を特定する。
例えば、図13に示すように、パラメータの値の組み合わせとして、Pa=a3、Pb=b1、Pc=c1、Pd=d2、Pe=e1を選択した場合、テストパターン通知部206は、図12に示した類似範囲格納部209を参照して、Paについてはa1〜a3を、Pbについてはb1を、Pcについてはc1〜c4を、Pdについてはd2〜d10を、Peについてはe1〜e4を、それぞれ類似範囲として抽出する。
次に、パラメータ毎に抽出したそれぞれの類似範囲に含まれる値の組み合わせがテスト結果格納部207に登録されている場合、すなわち、パラメータ毎に抽出したそれぞれの類似範囲に含まれる値の組み合わせがテスト済みである場合に、テストパターン通知部206は、選択中のパラメータの値の組み合わせはテスト済みであるとして、テスト対象となる値の組み合わせから除外する。
テスト結果格納部207に、例えば図14に示すようなデータが格納されている場合、テストパターン通知部206は、パラメータ毎に抽出したそれぞれの類似範囲に含まれる値の組み合わせとして、組み合わせ2075を検出し、選択中のパラメータの値の組み合わせ(Pa=a3、Pb=b1、Pc=c1、Pd=d2、Pe=e1)はテスト済みであるとして、テスト対象となる値の組み合わせから除外する。
このように、選択中の値の組み合わせと同一の組み合わせがテスト結果格納部207に登録されていなくとも、類似範囲に含まれる他の値の組み合わせがテスト結果格納部207に登録されている場合に、選択中の値の組み合わせをテスト対象となる値の組み合わせから除外することができるので、テストパターン通知部206は、必要なテストパターンをさらに絞り込むことができ、さらに効率よくテストを実施させることができる。
図15は、第2の実施形態におけるテスト情報管理サーバ20の動作の一例を示すフローチャートの一部を示す。なお、本実施形態における大半の動作は、図10において説明した第1の実施形態におけるテスト情報管理サーバ20の動作と同様であるため、説明を省略する。
未選択のパラメータの値の組み合わせを1つ選択した後(S106)、テストパターン通知部206は、類似範囲格納部209を参照して、選択中のパラメータの値の組み合わせについて、パラメータ毎に類似範囲を特定する(S120)。そして、テストパターン通知部206は、パラメータ毎に抽出したそれぞれの類似範囲に含まれる値の組み合わせがテスト結果格納部207に登録されているか否かを判定する(S121)。
パラメータ毎に抽出したそれぞれの類似範囲に含まれる値の組み合わせがテスト結果格納部207に登録されている場合(S121:Yes)、テストパターン通知部206は、ステップS108に示す処理を実行する。一方、パラメータ毎に抽出したそれぞれの類似範囲に含まれる値の組み合わせがテスト結果格納部207に登録されていない場合(S121:No)、テストパターン通知部206は、ステップS111に示した処理を実行する。
以上、本発明における第2の実施形態について説明した。
次に、本発明の第3の実施形態について説明する。
図16は、第3の実施形態におけるテスト情報管理サーバ20の機能構成の一例を示すブロック図である。テスト情報管理サーバ20は、範囲情報格納部200、関連情報格納部201、テストID格納部202、テスト情報格納部203、範囲確認部204、グループ化部205、テストパターン通知部206、テスト結果格納部207、テスト情報登録部208、および関連情報作成部210を有する。なお、以下に説明する点を除き、図16において、図2と同じ符号を付した構成は、図2における構成と同一または同様の機能を有するため説明を省略する。
本実施形態においてソフトウェア部品30は、例えば図17に示すように、複数の機能ブロックA〜Eによって構成されている。また、それぞれの機能ブロックは、1つ以上の機能ブロックのまとまり毎に所定の処理を実現する。図17に示す例では、機能ブロックA〜Cがひとまとまりとなってある処理を実現し、機能ブロックDおよびEがひとまとまりとなって他の処理を実現する。
また、それぞれの機能ブロックの挙動は、特定のパラメータの値に応じて変化する。図17に示す例では、機能ブロックAの挙動はパラメータPaの値に応じて変化し、機能ブロックBの挙動はパラメータPbの値に応じて変化し、機能ブロックCの挙動はパラメータPcの値に応じて変化し、機能ブロックDの挙動はパラメータPdの値に応じて変化し、機能ブロックEの挙動はパラメータPeの値に応じて変化する。
本実施形態では、複数の機能ブロックを線でつなぐことにより、それぞれの処理を実現するブロックを作成してゆく、MatLab/SimuLink(登録商標)等のツールを用いてソフトウェア部品が作成されることを想定している。そのため、ソフトウェア部品の作成過程で、図17に示すような機能ブロック間の結線を示す情報が作成される。
関連情報作成部210は、ソフトウェア部品において所定の処理を実現する機能ブロックのまとまり毎に、それぞれの機能ブロックの挙動を制御するパラメータのパラメータIDを、当該まとまり内で他の機能ブロックの挙動を制御する他のパラメータのパラメータIDに対応付けて関連情報格納部201に格納する。これにより、関連情報作成部210は、関連情報格納部201内のデータを管理者等が作成しなくても、ソフトウェア部品における機能ブロックの結線情報から自動的に関連情報格納部201内の情報を作成することができる。
以上、本発明における第3の実施形態について説明した。
なお、上記第1、第2、または第3の実施形態におけるテスト情報管理サーバ20は、例えば図18に示すような構成のコンピュータ40によって実現される。コンピュータ40は、CPU(Central Processing Unit)41、RAM(Random Access Memory)42、ROM(Read Only Memory)43、HDD(Hard Disk Drive)44、通信インターフェイス(I/F)45、入出力インターフェイス(I/F)46、およびメディアインターフェイス(I/F)47を備える。
CPU41は、ROM43またはHDD44に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM43は、コンピュータ40の起動時にCPU41によって実行されるブートプログラムや、コンピュータ40のハードウェアに依存するプログラム等を格納する。
HDD44は、CPU41によって実行されるプログラムを格納する。通信インターフェイス45は、通信回線11を介して他の機器からデータを受信してCPU41へ送ると共に、CPU41が生成したデータを、通信回線11を介して他の機器へ送信する。
CPU41は、入出力インターフェイス46を介して、モニタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。CPU41は、入出力インターフェイス46を介して、入力装置からデータを取得する。また、CPU41は、生成したデータを、入出力インターフェイス46を介して出力装置へ出力する。
メディアインターフェイス47は、記録媒体48に格納されたプログラムまたはデータを読み取り、RAM42を介してCPU41に提供する。CPU41は、当該プログラムを、メディアインターフェイス47を介して記録媒体48からRAM42上にロードし、ロードしたプログラムを実行する。記録媒体48は、例えばDVD(Digital Versatile Disk)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
コンピュータ40が第1の実施形態におけるテスト情報管理サーバ20として機能する場合、コンピュータ40のCPU41は、RAM42上にロードされたプログラムを実行することにより、範囲情報格納部200、関連情報格納部201、テストID格納部202、テスト情報格納部203、範囲確認部204、グループ化部205、テストパターン通知部206、テスト結果格納部207、およびテスト情報登録部208の各機能を実現する。ROM43またはHDD44には、範囲情報格納部200、関連情報格納部201、テストID格納部202、テスト情報格納部203、およびテスト結果格納部207内のデータが格納される。
また、コンピュータ40が第2の実施形態におけるテスト情報管理サーバ20として機能する場合、コンピュータ40のCPU41は、RAM42上にロードされたプログラムを実行することにより、範囲情報格納部200、関連情報格納部201、テストID格納部202、テスト情報格納部203、範囲確認部204、グループ化部205、テストパターン通知部206、テスト結果格納部207、テスト情報登録部208、および類似範囲格納部209の各機能を実現する。ROM43またはHDD44には、範囲情報格納部200、関連情報格納部201、テストID格納部202、テスト情報格納部203、テスト結果格納部207、および類似範囲格納部209内のデータが格納される。
また、コンピュータ40が第3の実施形態におけるテスト情報管理サーバ20として機能する場合、コンピュータ40のCPU41は、RAM42上にロードされたプログラムを実行することにより、範囲情報格納部200、関連情報格納部201、テストID格納部202、テスト情報格納部203、範囲確認部204、グループ化部205、テストパターン通知部206、テスト結果格納部207、テスト情報登録部208、および関連情報作成部210の各機能を実現する。ROM43またはHDD44には、範囲情報格納部200、関連情報格納部201、テストID格納部202、テスト情報格納部203、およびテスト結果格納部207内のデータが格納される。
コンピュータ40は、これらのプログラムを、記録媒体48から読み取って実行するが、他の例として、他の装置から、通信媒体を介してこれらのプログラムを取得してもよい。通信媒体とは、通信回線11、または、当該通信回線11を伝搬するディジタル信号もしくは搬送波を指す。
なお、上記した各実施形態では、ソフトウェア部品が1つの場合を例に説明したが、本発明はこれに限られず、複数のソフトウェア部品においても本発明を適用することができる。その場合、テスト情報管理サーバ20は、複数のソフトウェア部品のそれぞれを対象として、上記した各実施形態の処理を実行すればよい。
10・・・テスト情報管理システム、11・・・通信回線、12・・・データベースサーバ、13・・・クライアントコンピュータ、20・・・テスト情報管理サーバ、200・・・範囲情報格納部、201・・・関連情報格納部、202・・・テストID格納部、203・・・テスト情報格納部、204・・・範囲確認部、205・・・グループ化部、206・・・テストパターン通知部、207・・・テスト結果格納部、208・・・テスト情報登録部、209・・・類似範囲格納部、210・・・関連情報作成部、30・・・ソフトウェア部品、40・・・コンピュータ、41・・・CPU、42・・・RAM、43・・・ROM、44・・・HDD、45・・・通信インターフェイス、46・・・入出力インターフェイス、47・・・メディアインターフェイス、48・・・記録媒体
Claims (10)
- ソフトウェア部品のテストに関する情報を管理するテスト情報管理サーバであって、
前記ソフトウェアに用いられるそれぞれのパラメータを識別するパラメータID毎に、当該パラメータと関連するパラメータのパラメータIDを格納する関連情報格納手段と、
それぞれのパラメータID毎に、当該パラメータIDに対応するパラメータが変更された場合に必要となるテストを識別するテストIDを格納するテストID格納手段と、
複数のパラメータのパラメータID、および、それぞれのパラメータの取りうる値を示す情報をユーザから受け付けた場合に、前記関連情報格納手段を参照して、受け付けたパラメータIDに対応するパラメータを、関連するパラメータ毎にグループ分けするグループ化手段と、
パラメータのグループ毎に、当該グループ内のいずれかのパラメータについて必要なテストのテストIDを前記テストID格納手段から抽出し、抽出したテストIDおよび当該グループ内のパラメータ毎の値の組み合わせをテストパターンとしてユーザに通知するテストパターン通知手段と
を備えることを特徴とするテスト情報管理サーバ。 - 請求項1に記載のテスト情報管理サーバであって、
テストIDに対応付けて、当該テストIDに対応するテストに使用されるパラメータ毎の値の組み合わせ、および、当該テストの結果を示す情報を格納するテスト結果格納手段をさらに備え、
前記テストパターン通知手段は、
前記テスト結果格納手段に格納されているテストIDおよび当該テストIDに対応付けられているパラメータ毎の値の組み合わせを前記テストパターンの中から削除してユーザに通知することを特徴とするテスト情報管理サーバ。 - 請求項2に記載のテスト情報管理サーバであって、
それぞれのパラメータのパラメータIDに対応付けて、当該パラメータとして設定可能な値の中で、いずれかの値におけるテストを実行すれば他の値のテストを実行しなくてもテスト結果が想定可能な値の範囲を示す類似範囲を格納する類似範囲格納手段をさらに備え、
前記テストパターン通知手段は、
前記テストパターンに含まれているパラメータ毎の値の組み合わせのそれぞれにおいて、当該組み合わせに含まれるそれぞれの値について前記類似範囲格納手段を参照し、当該値が含まれる類似範囲をパラメータ毎に特定し、特定した全ての類似範囲に含まれる値の組み合わせに対応するテスト結果が前記テスト結果格納手段内に存在する場合に、当該類似範囲に含まれる値の組み合わせ前記テストパターンからさらに削除することを特徴とするテスト情報管理サーバ。 - 請求項2または3に記載のテスト情報管理サーバであって、
テストIDと共に、当該テストIDに対応するテストに使用されるパラメータ毎の値の組み合わせおよび当該テストの結果を示す情報を、ユーザから受信した場合に、受信したこれらの情報を前記テスト結果格納手段に登録するテスト結果登録手段をさらに備えることを特徴とするテスト情報管理サーバ。 - 請求項2から4のいずれか一項に記載のテスト情報管理サーバであって、
前記テスト結果には、合格または不合格のいずれかを示す情報が含まれており、
前記テストパターン通知手段は、さらに、
前記グループ毎に前記テスト結果格納手段を参照して、不合格を示すテスト結果が対応付けられているテストIDおよび当該テストIDに対応付けられているパラメータ毎の値の組み合わせを不具合情報としてユーザに通知することを特徴とするテスト情報管理サーバ。 - 請求項1から5のいずれか一項に記載のテスト情報管理サーバであって、
前記ソフトウェア部品は、複数の機能ブロックを含み、
前記複数の機能ブロックは、1つ以上の機能ブロックのまとまり毎に所定の処理を実現し、
それぞれの機能ブロックは、特定のパラメータの値に応じてその挙動が変化し、
前記テスト情報管理サーバは、
所定の処理を実行する機能ブロックのまとまり毎に、それぞれの機能ブロックの挙動を制御するパラメータのパラメータIDを、当該まとまり内で他の機能ブロックの挙動を制御する他のパラメータのパラメータIDに対応付けて前記関連情報格納手段に格納する関連情報作成手段をさらに備えることを特徴とするテスト情報管理サーバ。 - 請求項1から6のいずれか一項に記載のテスト情報管理サーバであって、
パラメータID毎に、当該パラメータIDに対応するパラメータに許されている値の範囲を示す情報を格納する範囲情報格納手段と、
複数のパラメータのパラメータID、および、それぞれのパラメータの取りうる値を示す情報をユーザから受け付けた場合に、前記範囲情報格納手段を参照して、受け付けたそれぞれのパラメータの取りうる値が、当該パラメータに許されている値の範囲に含まれている場合に、前記グループ化手段にパラメータのグループ分けを実行させる範囲確認手段と
をさらに備えることを特徴とするテスト情報管理サーバ。 - 請求項1から7のいずれか一項に記載のテスト情報管理サーバであって、
テストID毎に、当該テストIDに対応するテストの内容を示す情報を格納するテスト情報格納手段をさらに備え、
前記テストパターン通知手段は、さらに、
前記テストパターンと共に、当該テストパターンに含まれているテストIDに対応するテストの内容および合格の基準を示す情報を前記テスト情報格納手段から抽出してユーザに通知することを特徴とするテスト情報管理サーバ。 - ソフトウェア部品のテストに関する情報を管理するテスト情報管理サーバにおけるテスト情報管理方法であって、
前記テスト情報管理サーバが、
複数のパラメータのパラメータID、および、それぞれのパラメータの取りうる値を示す情報をユーザから受け付けた場合に、前記ソフトウェアに用いられるそれぞれのパラメータを識別するパラメータID毎に、当該パラメータと関連するパラメータのパラメータIDを格納する関連情報格納手段を参照して、受け付けたパラメータIDに対応するパラメータを、関連するパラメータ毎にグループ分けするグループ化ステップと、
パラメータのグループ毎に、当該グループ内のいずれかのパラメータについて必要なテストのテストIDを、それぞれのパラメータID毎に、当該パラメータIDに対応するパラメータが変更された場合に必要となるテストを識別するテストIDを格納するテストID格納手段から抽出し、抽出したテストIDおよび当該グループ内のパラメータ毎の値の組み合わせを、テストパターンとしてユーザに通知するテストパターン通知ステップと
を実行することを特徴とするテスト情報管理方法。 - コンピュータを、ソフトウェア部品のテストに関する情報を管理するテスト情報管理サーバとして機能させるプログラムであって、
前記コンピュータに、
前記ソフトウェアに用いられるそれぞれのパラメータを識別するパラメータID毎に、当該パラメータと関連するパラメータのパラメータIDを格納する関連情報格納機能、
それぞれのパラメータID毎に、当該パラメータIDに対応するパラメータが変更された場合に必要となるテストを識別するテストIDを格納するテストID格納機能、
複数のパラメータのパラメータID、および、それぞれのパラメータの取りうる値を示す情報をユーザから受け付けた場合に、前記関連情報格納機能を参照して、受け付けたパラメータIDに対応するパラメータを、関連するパラメータ毎にグループ分けするグループ化機能、および
パラメータのグループ毎に、当該グループ内のいずれかのパラメータについて必要なテストのテストIDを前記テストID格納機能から抽出し、抽出したテストIDおよび当該グループ内のパラメータ毎の値の組み合わせを、テストパターンとしてユーザに通知するテストパターン通知機能
を実現することを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008163315A JP2010003224A (ja) | 2008-06-23 | 2008-06-23 | テスト情報管理サーバ、テスト情報管理方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008163315A JP2010003224A (ja) | 2008-06-23 | 2008-06-23 | テスト情報管理サーバ、テスト情報管理方法、およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010003224A true JP2010003224A (ja) | 2010-01-07 |
Family
ID=41584872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008163315A Pending JP2010003224A (ja) | 2008-06-23 | 2008-06-23 | テスト情報管理サーバ、テスト情報管理方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010003224A (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011174746A (ja) * | 2010-02-23 | 2011-09-08 | Nec Corp | セキュリティスクリーニングシステムおよびセキュリティスクリーニング方法 |
WO2014184949A1 (ja) * | 2013-05-17 | 2014-11-20 | 三菱電機株式会社 | ソフトウェア試験装置、ソフトウェア試験方法、及びプログラム |
JP2015075872A (ja) * | 2013-10-08 | 2015-04-20 | 株式会社日立製作所 | 試験仕様書生成装置、方法及びコンピュータプログラム |
WO2017154241A1 (ja) * | 2016-03-07 | 2017-09-14 | 株式会社日立製作所 | 異常検出装置、及び、異常検出方法 |
WO2018025383A1 (ja) * | 2016-08-04 | 2018-02-08 | 株式会社日立製作所 | エビデンス収集システム及び方法 |
WO2018154784A1 (ja) * | 2017-02-27 | 2018-08-30 | 三菱電機株式会社 | 影響抽出装置、影響抽出プログラム及び影響抽出方法 |
KR102618518B1 (ko) * | 2022-12-19 | 2023-12-28 | 쿠팡 주식회사 | 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치 |
JP7487135B2 (ja) | 2021-03-29 | 2024-05-20 | 株式会社日立製作所 | 工数算出支援装置及び工数算出支援方法 |
-
2008
- 2008-06-23 JP JP2008163315A patent/JP2010003224A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011174746A (ja) * | 2010-02-23 | 2011-09-08 | Nec Corp | セキュリティスクリーニングシステムおよびセキュリティスクリーニング方法 |
WO2014184949A1 (ja) * | 2013-05-17 | 2014-11-20 | 三菱電機株式会社 | ソフトウェア試験装置、ソフトウェア試験方法、及びプログラム |
JP5980420B2 (ja) * | 2013-05-17 | 2016-08-31 | 三菱電機株式会社 | ソフトウェア試験装置、ソフトウェア試験方法、及びプログラム |
JP2015075872A (ja) * | 2013-10-08 | 2015-04-20 | 株式会社日立製作所 | 試験仕様書生成装置、方法及びコンピュータプログラム |
WO2017154241A1 (ja) * | 2016-03-07 | 2017-09-14 | 株式会社日立製作所 | 異常検出装置、及び、異常検出方法 |
WO2018025383A1 (ja) * | 2016-08-04 | 2018-02-08 | 株式会社日立製作所 | エビデンス収集システム及び方法 |
US10846212B2 (en) | 2016-08-04 | 2020-11-24 | Hitachi, Ltd. | Evidence gathering system and method |
WO2018154784A1 (ja) * | 2017-02-27 | 2018-08-30 | 三菱電機株式会社 | 影響抽出装置、影響抽出プログラム及び影響抽出方法 |
JPWO2018154784A1 (ja) * | 2017-02-27 | 2019-06-27 | 三菱電機株式会社 | 影響抽出装置、影響抽出プログラム及び影響抽出方法 |
JP7487135B2 (ja) | 2021-03-29 | 2024-05-20 | 株式会社日立製作所 | 工数算出支援装置及び工数算出支援方法 |
KR102618518B1 (ko) * | 2022-12-19 | 2023-12-28 | 쿠팡 주식회사 | 정보를 제공하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010003224A (ja) | テスト情報管理サーバ、テスト情報管理方法、およびプログラム | |
US9026996B2 (en) | Providing assistance in making change decisions in a configurable managed environment | |
JP5684946B2 (ja) | イベントの根本原因の解析を支援する方法及びシステム | |
US9697066B2 (en) | Method for processing data quality exceptions in a data processing system | |
JP5008006B2 (ja) | シンプトンの検証を可能にするためのコンピュータ・システム、方法及びコンピュータ・プログラム | |
JP2006048559A (ja) | ストレージシステムの記憶容量管理方法 | |
US8296723B2 (en) | Configurable unified modeling language building blocks | |
US8370800B2 (en) | Determining application distribution based on application state tracking information | |
US7490095B2 (en) | Scope and distribution of knowledge in an autonomic computing system | |
JP6300750B2 (ja) | 検証プログラム、検証装置及び検証方法 | |
US8245182B2 (en) | Class selectable design sharing | |
JP2021530073A (ja) | 分散コンピューティングデバイスの自動制御 | |
JP5967091B2 (ja) | システムパラメータ設定支援システム、システムパラメータ設定支援装置のデータ処理方法、およびプログラム | |
US20160004584A1 (en) | Method and computer system to allocate actual memory area from storage pool to virtual volume | |
JP5657096B2 (ja) | アプリケーションの無進行状態の検出 | |
JP5660986B2 (ja) | データ処理システム及びデータ処理方法及びプログラム | |
JP2021174066A (ja) | テスト管理システム、テスト管理装置およびテスト管理方法 | |
US7996518B2 (en) | Detecting machine utilization activity | |
JP6369333B2 (ja) | ソフトウェア導入判定プログラム、ソフトウェア導入判定方法、およびソフトウェア導入判定装置 | |
JP2011221625A (ja) | 通信装置及び共用情報更新方法及びプログラム | |
WO2021250812A1 (ja) | 情報処理装置及びプログラム | |
JP6279180B2 (ja) | 親局装置、子局装置、プロセス委譲管理方法、プロセス実行方法、プロセス委譲管理プログラム及びプロセス実行プログラム | |
KR20230091748A (ko) | 다중 서버에서 응용 작업 실행 및 관리를 위한 분산 워크플로우 장치 및 방법 | |
JP2011018173A (ja) | 試験管理サーバ、試験管理システム、及び試験管理方法 | |
CN117407279A (zh) | 软件成分地图生成方法及其相关设备 |