(58)【調査した分野】(Int.Cl.,DB名)
前記ハードウェアエミュレータは、ネットワーク機器の内部の部品の動作をエミュレートした複数のハードウェアエミュレータの組み合わせであることを特徴とする請求項1記載の検証装置。
前記予め定められた組み合わせパターンのうち、既に試験が行なわれた組み合わせパターンの組み合わせおよび試験結果に基づいて試験を行なう必要のない組み合わせを抽出し、前記抽出した組み合わせを含む前記予め定められた組み合わせパターンにチェックを入れる組み合わせ削減部を更に備え、
前記試験構成管理部は、前記チェックの入った組み合わせを構成しないことを特徴とする請求項3記載の検証装置。
【図面の簡単な説明】
【0029】
【
図1】本実施形態に係る検証装置の概略構成の一例を示す図である。
【
図2】本実施形態に係る検証システムの概念の一例を示す図である。
【
図3】ソフトウェア保管部に保管されるソフトウェアの例を示す表である。
【
図4】組み合わせパターン保管部に保管される組み合わせパターンの例を示す表である。
【
図5】ネットワーク構成パターン保管部に保管されるネットワーク構成パターンの例を示す表である。
【
図6】試験項目保管部に保管される試験項目の例を示す表である。
【
図7】試験結果保管部に保管される試験結果の例を示す表である。
【
図8】本実施形態に係る検証装置の概略構成の一例を示す図である。
【
図9】不要と判断された組み合わせパターンがある場合の例を示す表である。
【
図10】親子関係があると判断された試験項目がある場合の例を示す表である。
【
図11】重みが付与された試験項目がある場合の例を示す表である。
【
図12】(a)、(b)いずれも本実施形態に係る検証システムの概念の一例を示す図である。
【
図14】本実施例における試験の流れの一例を示すシーケンス図である。
【
図15】本実施例の試験結果判定部の試験結果判定のアルゴリズムの例を示すフローチャートである。
【
図16】本実施例の試験項目削減部の親子関係判定のアルゴリズムの例を示すフローチャートである。
【
図17】本実施例の試験項目削減部の親子関係判定のアルゴリズムの例を示すフローチャートである。
【0030】
本発明者らは、ネットワーク機器のハードウェアまたはその部品の機能または動作をプログラムで記述し、ソフトウェア化することで、ハードウェアをエミュレートすることができ、そのハードウェアエミュレータ上でネットワーク機器のソフトウェアを動作させることで、その組合せによる試験が可能となり、更には組み合わせや試験項目をリスト化し組合せ試験を自動化することで、様々な組み合わせにおける試験について、大幅な試験工数の削減ができることを見出し、本発明をするに至った。
【0031】
すなわち、本発明の検証装置は、オープン化設備の検証装置であって、ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータと前記ネットワーク機器を制御するネットワークOSとを組み合わせて仮想ネットワーク機器を構成する試験構成管理部と、前記仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施する試験実施部と、前記実施された試験の結果を判定する試験結果判定部と、を備える。
【0032】
これにより、本発明者らは、オープン化されたネットワーク機器の物理的なハードウェアを準備してネットワークOSをインストールすることなく、ネットワーク機器とネットワークOSとの組み合わせにおける性能試験や機能確認試験を行うことを可能とした。以下、本発明の実施形態について、図面を参照しながら具体的に説明する。
【0033】
[実施形態]
(検証装置の構成)
図1は、本実施形態に係る検証装置の概略構成の一例を示す図である。検証装置100は、試験構成管理部110、試験実施部120、試験結果判定部130によって構成されている。
【0034】
試験構成管理部110は、ネットワーク機器のハードウェアの動作をエミュレートしたハードウェアエミュレータとネットワーク機器を制御するネットワークOS(Operating System)とを組み合わせて仮想ネットワーク機器を構成する。ハードウェアエミュレータは、ネットワーク機器の内部の部品の動作をエミュレートした複数のハードウェアエミュレータの組み合わせであってもよい。
図2は、ハードウェアエミュレータとネットワークOSとの組み合わせで仮想ネットワーク機器の試験を行う場合の検証システム(後述)の概念の一例を示す図である。
【0035】
ネットワーク機器とは、例えば、スイッチ、ルータ、ファイヤーウォール等のネットワーク機能を有する機器をいう。また、ネットワーク機器の部品とは、ネットワーク機器のパケット処理や通信プロトコル機能等を担う機能的なまとまりとして考えられる部品であって、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、NIC(Network Interface Card)、GPU(Graphic Processing Unit)、CPU(Central Processing Unit)等をいう。
【0036】
ハードウェアエミュレータとは、ネットワーク機器またはその部品のハードウェアの機能や動作をエミュレートしたプログラムである。ネットワークOSは、ネットワーク機器を制御する。ハードウェアエミュレータおよびネットワークOSは、予め準備されデータベース(ソフトウェア保管部210)に保管される。ネットワーク機器の部品およびネットワークOSを組み合わせてネットワーク機器を構成するのと同様に、これらの部品のハードウェアエミュレータおよびネットワークOSを組み合わせることで仮想的にネットワーク機器を構成でき、
図2のように、機能試験等を実施できる。
【0037】
図3は、ソフトウェア保管部210に保管されるソフトウェアの例を示す表である。ソフトウェア保管部210には、ネットワーク機器のハードウェアをソフトウェア化したハードウェアエミュレータおよびネットワークOS等のソフトウェアが複数保管される。なお、ソフトウェア保管部210等のデータベースは、この後記述されるものも含めて検証装置100に備えられていてもよいが、別の場所等にあってもよい。データベースは、例えば、クラウド上のサーバに備えられ、通信機能によってそのデータを取得してもよい。
【0038】
ハードウェアエミュレータとネットワークOSとの組み合わせ、または、複数の部品のハードウェアエミュレータとネットワークOSとの組み合わせは、予め定められリスト化された組み合わせパターンから選択されてもよい。その場合、組み合わせパターンは、データベース(組み合わせパターン保管部220)に保管される。
図4は、組み合わせパターン保管部220に保管される組み合わせパターンの例を示す表である。
図4に示されるように、組み合わせパターン保管部220に保管される組み合わせパターンは、ハードウェアエミュレータとネットワーク機器のOSから構成される仮想ネットワーク機器単体を表す。組み合わせパターンの番号が異なると、仮想ネットワーク機器の構成が異なる。
【0039】
また、試験構成管理部110は、予め定められた組み合わせパターンに基づいて複数の仮想ネットワーク機器を順次構成し、それぞれの仮想ネットワーク機器について試験をするようにしてもよい。
【0040】
また、試験構成管理部110は、予め定められたネットワーク構成パターンに基づいて複数の仮想ネットワーク機器の組み合わせからなる仮想ネットワークを順次構成し、それぞれの仮想ネットワークについて試験をするようにしてもよい。その場合、ネットワーク構成パターンは、データベース(ネットワーク構成パターン保管部230)に保管される。
【0041】
図5は、ネットワーク構成パターン保管部230に保管されるネットワーク構成パターンの例を示す表である。ネットワーク構成パターン保管部230に保管されるネットワーク構成パターンは、組み合わせパターン保管部220の単体のネットワーク機器を表す組み合わせパターンの番号を用いて表示される。すなわち、ネットワーク構成パターン保管部230に保管されるネットワーク構成パターンは、複数の仮想ネットワーク機器によって構成される仮想ネットワークを表す。ただし、仮想ネットワーク機器単体の試験と仮想ネットワークの試験を続けて行う場合、
図5のようにネットワーク構成パターンに一つの番号を表示することもできる。ネットワーク構成パターンの番号が異なると、仮想ネットワークの構成が異なる。なお、ネットワーク構成パターンは
図5のように、「−」で接続を意味するように記述してもよいし、JSONやXML形式によって構成を記述しても構わない(構成がわかればその記述形式は問わない)。
【0042】
試験実施部120は、仮想ネットワーク機器に対して予め定められた試験項目から必要な試験を実施する。また、試験実施部120は、複数の仮想ネットワーク機器の組み合わせからなる仮想ネットワークに対して予め定められた試験項目から必要な試験を実施する。試験項目は、データベース(試験項目保管部240)に保管される。
図6は、試験項目保管部240に保管される試験項目の例を示す表である。試験項目は、試験内容と期待動作が記述される。試験実施部120は、試験項目に記述された試験内容に従って試験を行う。
【0043】
試験結果判定部130は、実施された試験の結果を判定する。また、試験結果判定部130は、複数の仮想ネットワーク機器の試験結果を比較し、最適なものを判定する。また、試験結果判定部130は、複数の仮想ネットワークの試験結果を比較し、最適なものを判定する。判定された試験結果は、データベース(試験結果保管部250)に保管される。試験結果は、組み合わせパターン毎またはネットワーク構成パターン毎に保管される。
図7は、試験結果保管部250に保管される試験結果の例を示す表である。試験結果は、
図7のNo.3のように、OKやNG以外に数値等であってもよい。試験結果の判定方法については、従来技術の様々な方法を使用できるため、本発明の範囲外として、特に方法は問わない。
【0044】
検証装置100は、組み合わせ削減部140、試験項目削減部150、重み付与部160、および試験結果出力部170のうちの1つ以上を更に備えていてもよい。
図8は、組み合わせ削減部140、試験項目削減部150、重み付与部160、および試験結果出力部170を更に備える検証装置100の概略構成の一例を示す図である。
【0045】
検証装置100は、組み合わせ削減部140を備えていてもよい。組み合わせ削減部140は、予め定められた組み合わせパターンのうち、既に試験が行われた組み合わせパターンの組み合わせおよび試験結果に基づいて試験を行う必要のない組み合わせを判定、抽出し、抽出した組み合わせを含む予め定められた組み合わせパターンにチェックを入れる。チェックの入った組み合わせがある場合、試験構成管理部110は、チェックの入った組み合わせを構成しない。また、ネットワーク構成パターンについて同様の処理をするようにしてもよい。
【0046】
これにより、試験構成管理部110は新たな試験構成を構築するときに、組み合わせパターン保管部220の不要にチェックが入っているものがあれば、それを構築しないようにできる。また、ネットワーク構成パターン保管部230においても、組み合わせパターン保管部220の不要にチェックが入っている組み合わせを含むネットワーク構成についても構成しないようにできる。結果として、失敗する可能性が高い構成において試験を行う工数を省くことができる。
【0047】
なお、組み合わせパターン保管部220は、ユーザでの操作が可能であり、不要チェックが入っている組み合せにおいて、ユーザが不要ではないと判断すれば、不要チェックを外すことができる。この場合、ユーザの修正を真とし、該当する組み合わせにおいて、今後不要チェックをしないという機能を備えてもよい。ネットワーク構成パターン保管部230に不要カラムがある場合も同様である。
【0048】
具体的には、検証装置100が組み合わせ削減部140を備える場合、試験結果判定部130は、適合しない組み合わせパターンを組み合わせ削減部140に渡す処理をすることができる。組み合わせ削減部140はそれを保持し、予め定められた閾値に対し、閾値以上不適合と判定された場合、それを利用する組み合わせパターンまたはネットワーク構成パターンでの試験は実施しないようにするため、組み合わせパターン保管部220に不要のチェックを入れる。例えば、閾値を3回とすると、組み合わせ削減部140は、ソフトウェアAとハードウェアCの組み合せが適合しないことが3回以上検出された場合、組み合わせパターン保管部220のソフトウェアAとハードウェアCの組み合せを含む組み合わせパターンの不要カラムにチェックを入れる。
図9は、不要と判断された組み合わせパターンがある場合の例を示す表である。
図9は、ソフトウェアAとハードウェアCの組み合せについて、組み合わせパターンの不要のカラムにチェックが入れられた状態を示している。なお、上記の例の閾値は、ユーザが設定してもよい。
【0049】
上記の例では2つの組み合わせについて不要の判断をしているが、3つ以上の組み合わせについて判断してもよい。また、組み合せのハードウェア、ソフトウェア、メーカ情報などを学習データとし、機械学習によって不要な組み合わせを削除するようにしてもよい。
【0050】
検証装置100は、試験項目削減部150を備えていてもよい。試験項目削減部150は、既に実施した試験の試験結果に基づいて試験項目間の論理的包含関係を有する可能性のある親子関係を判断する。
図10は、親子関係があると判断された試験項目がある場合の例を示す表である。親子関係があると判断された場合、
図10のように、子と判断された試験項目の親のカラムに、親の試験項目の番号が記入される。親のカラムに複数の親が記入されてもよい。また、例えば、木構造などその他の表現方法であってもよい。
【0051】
試験項目間の論理的包含関係を有する関係とは、AがNGである場合、必ずBもNGになるという試験項目間の関係をいう。具体的には、例えば、通信プロトコルであるBGPにおいて、その接続がなければ、そこから得る経路情報の確認は通常できない。よって、「BGPの接続を確認する」という項目がNGであれば、必然的に「BGPの経路数が期待通りであること」という試験項目もNGとなるはずである。このようにAがNGである場合、必ずBもNGになるという試験項目がある場合、Aを親、Bを子として扱う。
【0052】
試験項目削減部150は試験結果保管部250の情報を都度確認し、試験項目の親子関係を判断してもよい。試験結果保管部250は、試験完了後、試験実施部120に対し、完了通知及び試験結果を返す。このようにすると、試験実施部120は、仮にAがNGであった場合、Bを実施する必要がないと判断でき、結果不要な試験項目を実施しないようにできる。試験項目削減部150が判断する親子関係は、100%正しい論理的包含関係でなくてもよい。すなわち、試験項目削減部150が親子関係があると判断した試験項目が、実際には論理的包含関係がなかったとしても、ユーザがこれを修正できる機能があればよい。
【0053】
試験項目削減部150は親、若しくは子と判定した内容を試験項目保管部240へ返す。なお、試験項目保管部240は、ユーザでの操作が可能であり、ユーザが親子関係の事前投入や修正が可能である。この場合、ユーザの修正を真とし、該当する親子関係について、今後システムからの修正はしないという機能を備えてもよい。
【0054】
検証装置100は、重み付与部160を備えていてもよい。重み付与部160は、ユーザの採用した仮想ネットワーク機器または仮想ネットワークの試験結果に基づいて試験項目に重みを付与する。試験結果判定部130の判定結果を出力する試験結果出力部170は、出力する仮想ネットワーク機器または仮想ネットワークの試験項目の試験結果が否定的でかつ重みが付与されている場合、仮想ネットワーク機器または仮想ネットワークの出力と共に注意喚起する表示をする。
【0055】
ユーザはこの試験結果が通過しないと採用しないという試験項目毎に重みがあると想定される。それを付与する機能を具備することで、ユーザへの試験結果比較出力の際に、その重みをもった試験項目が仮にNGであった場合に注意喚起を施し、比較速度を上げることに寄与できる。具体的には、例えば、ユーザが実際に選択した採用結果を入力すると、重み付与部160は、この採用結果を複数回に渡って保持する。重み付与部160は、複数の採用結果の内、ある試験項目について必ずOKである試験項目が存在した場合に、重み付与部160は試験項目保管部240の該当する試験項目の重みカラムにチェックをつける。
図11は、重みが付与された試験項目がある場合の例を示す表である。なお、重み付与部160は、ユーザでの操作が可能であり、ユーザが重みの事前投入や修正が可能である。この場合、ユーザの修正を真とし、該当する重みについて、今後システムからの修正はしないという機能を備えてもよい。
【0056】
検証装置100は、試験結果出力部170を備えていてもよい。試験結果出力部170は、個々の試験結果または試験結果判定部130の判定結果を出力する。また、試験結果出力部170は、重み付与部160が重みを付与した試験項目がNGである試験項目を含む判定結果を出力する場合、仮想ネットワーク機器または仮想ネットワークの出力と共に注意喚起する表示をする。
【0057】
(検証システムの構成)
図12(a)および(b)は、いずれも本実施形態に係る検証システムの概念の一例を示す図である。
図12(a)は、複数のハードウェアエミュレータとネットワークOSとの組み合わせで仮想ネットワーク機器を構成して、その仮想ネットワーク機器の試験を行う場合の検証システム300の概念の一例を示す図である。
【0058】
検証システム300は、検証装置100、コンピューティングリソース310、およびミドルウェア320によって構成されている。コンピューティングリソース310とは、CPUやメモリ等を具備したサーバ等である。ミドルウェア320は、例えば、KVMなどの仮想化を実現するソフトウェアを意味しており、仮想化の技術は特に限定しない。また、検証システム300は、ソフトウェア保管部210等の必要なデータベース200を備えていてもよい。なお、
図12(a)の部品Cおよび部品Eは、それぞれ対応する部品のハードウェアエミュレータを示す。
図12(b)も同様である。
【0059】
検証システム300は、検証装置100と仮想ネットワーク機器または仮想ネットワークが構築されるサーバ等とが同一の機器に備えられていてもよいし、検証装置100とサーバ等とが別々になっていてもよい。また、例えば、検証システム300自体はすべてクラウド上にあり、通信機能、入出力機能および表示機能を有する機器を用いて、クラウド上のサーバに構築された仮想ネットワーク機器または仮想ネットワークの試験結果を取得する構成としてもよい。
【0060】
図12(b)は、複数のハードウェアエミュレータとネットワークOSとの組み合わせで2つの仮想ネットワーク機器をそれぞれ構成し、2つの仮想ネットワーク機器からなる仮想ネットワークを構成して、その仮想ネットワークの試験を行う場合の検証システムの概念の一例を示す図である。このように、検証システム300は、仮想ネットワーク機器または仮想ネットワークの機能試験等を行うことができる。仮想ネットワークは、3つ以上の仮想ネットワーク機器によって構成されてもよい。
【0061】
[実施例]
(検証装置の構成)
図13は、実施例の検証装置を示す構成図である。本実施例では、検証装置100は、試験構成管理部110、試験実施部120、試験結果判定部130、組み合わせ削減部140、試験項目削減部150、重み付与部160、および試験結果出力部170を備える。また、検証装置100は、データベースであるソフトウェア保管部210、組み合わせパターン保管部220、ネットワーク構成パターン保管部230、試験項目保管部240、および試験結果保管部250も備える構成とした。
図13では各保管部は別々ものとして表示されているが、1つのデータベース200上に備えられていてもよい。また、これら以外に、送信部180、受信部190、およびパケット生成部400と、パケット生成部400内の送信部410、受信部420を備える。
【0062】
(試験実施の流れ)
図14は、本実施例における試験の流れの一例を示すシーケンス図である。事前処理として、ユーザはソフトウェア保管部210にハードウェアエミュレータのプログラムとネットワーク機器のOS(ソフトウェア)を保管し、管理させる。また、試験したいハードウェアエミュレータとネットワーク機器のOSの組合せを組合せパターン保管部220に保管し、管理させる。また、組み合わせパターン保管部220の「No.」を、試験したいハードウェアエミュレータとネットワーク機器のOSから構成される仮想ネットワーク機器単体とし、単体機器で構成されるネットワーク構成パターンをネットワーク構成パターン保管部230に保管し、管理させる。更に、実施したい試験項目を試験項目保管部240に保管し、管理させる(以上、ステップS1)。なお、試験結果保管部250は試験項目保管部240の情報を参照し、事前に試験内容と期待動作を保管しておく。
【0063】
事前処理完了後、試験構成管理部110はソフトウェア保管部210、組み合わせパターン保管部220、ネットワーク構成パターン保管部230を確認し、対応する試験構成をコンピューティングリソース310上に送信部180を経由して構築する(ステップS2)。構築完了後、試験実施部120へ試験実施の依頼を行う(ステップS3)。試験実施部120は試験項目保管部240を参照し、試験項目を作成し(ステップS4)、試験対象に対し一つずつ実施していく(ステップS5)。
【0064】
なお、試験項目は大きくは機能試験、性能試験に大別することができる。機能試験とは仮想ネットワーク機器の機能に関する動作試験であり、ある処理を実行した場合に期待される動作を出力するかを確認する試験である。性能試験は仮想ネットワーク機器の性能に関する試験であり、例えばある負荷をかけた場合に所望の値を満たしているかどうかを確認する定量評価の試験である。例えば、
図6のNo.1は機能試験であり、No.3は性能試験である。ステップS5の試験実施において、特に性能試験におけるトラフィック負荷が必要な場合は、
図13のパケット生成部の送信部からトラフィックを送信し、受信部にて受信を行うことで、定量評価を実施することとする。
【0065】
試験結果保管部250は試験内容と期待動作の内容からその結果がOKであったか、NGであったかを判定し、その結果を自身のデータに反映する(ステップS6)。なお、本実施例では試験結果保管部250がそれぞれの試験の結果を判定しているが、試験結果の比較も含めてすべて試験結果判定部130が判定してもよい。その後、試験完了通知を試験実施部120に送信する(ステップS7)。試験実施部120は試験完了後そのログなどを試験結果保管部250へ入力する。
【0066】
試験実施部120は、作成した試験項目に次の試験がある場合は、試験対象に対し実施する(ステップS8)。同様のステップを繰り返し、試験結果保管部250は、試験完了通知を試験実施部120に送信する(ステップS9)。試験完了通知が最後の試験項目に対するものであった場合、試験実施部120は、試験構成管理部110に試験実施完了通知を送信する(ステップS10)。試験実施完了通知が送信された後、試験構成管理部110は、試験構成を削除する(ステップS11)。
【0067】
そして、試験構成管理部110は、次の試験構成をコンピューティングリソース310上に構築し(ステップS12)、試験実施部120へ次の試験実施の依頼を行う(ステップS13)。同様のステップを繰り返し、試験結果保管部250は、試験完了通知を試験実施部120に送信し(ステップS14)、試験完了通知が最後の試験項目に対するものであった場合、試験実施部120は、試験構成管理部110に試験実施完了通知を送信する(ステップS15)。試験実施完了通知が送信された後、試験構成管理部110は、試験構成を削除し(ステップS16)、全ての試験構成が完了した場合(ステップS17)、試験結果判定部130に試験結果の判定を依頼する(ステップS18)。試験結果判定部130は、試験結果の判定し(ステップS19)、判定した試験結果を試験結果出力部170から出力する(ステップS20)。
【0068】
(試験結果の判定および出力)
図15は、本実施例の試験結果判定部130の試験結果判定のアルゴリズムの例を示すフローチャートである。試験結果判定部130は、
図15に示すアルゴリズムに従い、適していると思われる組み合わせパターンまたはネットワーク構成パターンおよび試験項目が必要な場合はその試験項目と試験結果を試験結果出力部170へ渡す。試験結果出力部170は、受け取った組み合わせパターンまたはネットワーク構成パターンを出力し、必要な場合は注意喚起する表示を合わせて出力する。また、試験結果判定部130は、
図15に示すアルゴリズムに従い、適していないと思われる組み合わせパターンまたはネットワーク構成パターンを組み合わせ削減部140へ渡す。組み合わせ削減部140は、これを記憶し、同様の組み合わせがユーザにより定められた所定の回数以上になった場合、当該組み合わせを含む組み合わせにチェックを入れる。なお、
図15中のX%はユーザが指定できるものとする。ユーザは試験結果出力部170の出力により、ハードウェアとソフトウェアの適合を判断できる。ユーザは出力結果を元に実際に採用した組み合わせパターンを入力し、重み付与部160は入力された採用結果を保持する。
【0069】
具体的には、以下のようにする。まず、試験結果判定部130は、全試験項目に対するOKとなった試験項目の割合を算出する(ステップT1)。次に、その割合がX%以上かどうか判断する(ステップT2)。X%以上であった場合、試験項目に重み値があるかどうかを判断する(ステップT3)。一方、X%以上でなかった場合、該当の組み合わせパターンまたはネットワーク構成パターンを組み合わせ削減部140へ渡す(ステップT7)。試験項目に重み値があるかどうかを判断(ステップT3)した結果、重み値があった場合、重み値がある試験項目が全てOKかどうか判断する(ステップT4)。重み値がある試験項目が全てOKであった場合、該当の組み合わせパターンまたはネットワーク構成パターンを試験結果出力部170へ渡す(ステップT5)。試験項目に重み値があるかどうかを判断(ステップT3)した結果、重み値がなかった場合もまた、該当の組み合わせパターンまたはネットワーク構成パターンを試験結果出力部170へ渡す(ステップT5)。また、重み値がある試験項目が全てOKかどうか判断(ステップT4)した結果、NGである試験項目があった場合、重み値がある試験項目の試験結果とともに該当の組み合わせパターンまたはネットワーク構成パターンを試験結果出力部170へ渡す(ステップT6)。
【0070】
(親子関係の判定)
試験項目削減部150は、試験項目間の親子関係を判定する。
図16および
図17は、本実施例の試験項目削減部150の親子関係判定のアルゴリズムの例を示すフローチャートである。試験項目削減部150は、
図16または
図17に示すアルゴリズムに従い、試験項目間の親子関係を判定する。なお、
図16または
図17中の規定回数Nはユーザが指定できるものとする。
【0071】
具体的には、以下のようにする。
図16の例では、まず、試験項目削減部150は、試験項目の結果においてNGであるものを取り出し保管する(ステップR1)。次に、試験を規定回数実施したかどうかを判断する(ステップR2)。規定回数実施していない場合、さらに試験結果を蓄積する。一方、規定回数実施している場合、NGの回数が近い試験項目をグループ化する(ステップR3)。グループ化の方法は様々考えられるが、例えば、予め定められたグループ数Kに対して要素数ができるだけ均等となるようにグループ分けをしてもよいし、クラスタリング手法等を使用してもよい。また、グループ数Kは、ユーザが指定してもよいし、試験項目数に応じて自動的に変更されるようにしてもよい。そして、各グループ内で一番NG回数が少ないものを親、その他を子とする(ステップR3)。
【0072】
図16の例では、親がNGとなっていたとしても子も必ずNGになるとは限らない。したがって、
図17の例では、その点を修正するステップを有する。
図17の例では、グループ化するまでは
図16の例と同様である(ステップP1〜ステップP3)。次に、各グループ内で一番NG回数が少ないものを親、その他を仮の子とする(ステップP4)。そして、親がNGの項目において仮の子も必ずNGかどうかを判断する(ステップP5)。判断の結果、全ての仮の子が必ずNGであった場合は、親子関係として試験項目保管部240に記述する(ステップP6)。判断の結果、親がNGで仮の子がOKとなっている項目がある仮の子が存在した場合は、親がNGで仮の子がOKとなっている項目がある仮の子を外し、その他を親子関係として試験項目保管部に記述する(ステップP7)。
【0073】
このように、本発明の検証装置は、オープン化されたネットワーク機器の物理的なハードウェアを準備してネットワークOSをインストールすることなく、ネットワーク機器とネットワークOSとの組み合わせにおける性能試験や機能確認試験を行うことができる。