(57)【要約】【課題】システム構成が動的に変化するような分散制御システムであっても全てのシステム構成に対応するテストケースを漏れ無く作成することのできるテストケース生成システムを得る。【解決手段】入出力配線図３１は、処理と、その入出力の情報として、どの制御対象装置に対応したものであるかと制御装置の範囲情報とを含んで記述される。システム構成情報３５は、制御装置と制御対象装置との関係の情報と、制御装置の範囲情報とを示す。入出力データ情報３６は、入出力がどのような値を取るかの値域を示す。テストケース生成部３４は、入出力配線図３１から抽出した情報と、システム構成情報３５と、入出力データ情報３６とに基づいてテストケースを生成する。【選択図】図３
2014115884.tif 000002
【特許請求の範囲】
【請求項１】
複数の制御装置が通信接続され、かつ、個々の制御装置が、各々特定の制御対象装置を制御する分散制御システムにおける前記制御装置の処理に関するテストケースを生成するテストケース生成システムであって、
前記処理と当該処理の入出力とが記述され、当該入出力が、どの制御対象装置に対応した入出力であり、かつ、どの制御装置に対応した入出力であるかを示す制御装置の範囲情報とを含んで記述された入出力配線図から前記処理と入出力の情報を入出力関係情報として抽出する入出力解析部と、
前記個々の制御装置がどの制御対象装置を制御するかを示すと共に、前記制御装置の範囲情報を示すシステム構成情報と、
前記入出力がどのような値を取るかの値域を示す入出力データ情報と、
前記システム構成情報と前記入出力関係情報とに基づいて、テストケースを生成する処理に対応した入出力となる制御対象装置と制御装置を特定し、かつ、入出力データの値を前記入出力データ情報から取得して、前記制御装置と前記入出力データの値域に対応したテストケースを生成するテストケース生成部を備えたテストケース生成システム。
【請求項２】
制御装置と制御対象装置との関係を示す前記制御装置間の制御対象装置構成の類似度を判定する類似度判定部と、
前記制御対象装置構成の類似する制御装置に対して、同一内容の処理に対応したテストケースのうちの１つを代表テストケースとして抜粋するテストケース抜粋部とを備え、
前記代表テストケースをテストケースとして出力することを特徴とする請求項１記載のテストケース生成システム。
【請求項３】
類似度判定部にて類似と判定された制御装置に対して、入出力配線図で定義された処理の入出力の関係と、システム構成情報に定義された制御対象装置の配置情報とから、制御装置同士が同一の入出力処理を持つかを判定する同一処理判定部を備え、
テストケース抜粋部は、同一処理を持つと判定された制御装置に対して代表テストケースを生成することを特徴とする請求項２記載のテストケース生成システム。
【請求項４】
テストケースとして抜粋された制御装置別の抜粋回数を記憶する抜粋回数記憶部を備え、
テストケース抜粋部は、テストケースから代表テストケースを抜粋する際に、抜粋された回数の最も少ない制御装置に対するテストケースを代表テストケースとして抜粋することを特徴とする請求項２または請求項３のテストケース生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の制御装置がネットワークで接続され、システム構成が動的に変化する分散制御システムにおいて、複数のシステム構成におけるテストケースを漏れ無く記述するためのテストケース生成システムに関するものである。
【背景技術】
【０００２】
ネットワークを介して複数の制御装置が接続され、システム構成が動的に変化する分散制御システムでは、同一システムの同一機能確認テストにおいて、種々の異なるテスト環境でテストを行う必要がある。
従来のテストケース生成システムでは、テスト対象のソースコードを解析し、モジュールの出力値に関係する代入文や条件分岐文に利用されている数値や変数を抽出し、入力値の取り得る範囲を求めることにより、無駄のないテストケースとしての「入力値」と「期待値（出力値）」を生成するものがあった（例えば、特許文献１参照）。
また、この他にも、テスト環境・条件別に異なるテストデータを、変数として共通テストケースに記述し、予め用意したテストデータリストを参照して、複数のテスト環境・条件に対応するテストケースを生成するシステムがあった（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−３２１３３号公報
【特許文献２】特開平７−９３１８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、複数の制御装置がネットワークで接続され、テスト環境・条件ごとにシステム構成が変化する分散制御システムのテストにおいては、同一機能のテストを複数のシステム構成で実施する必要があり、テストケースを漏れ無く抽出することが困難である。
【０００５】
このような分散制御システムのソフトウェアは、システム構成のパラメータをテスト対象のモジュールとは別で管理していることが多く、特許文献１に記載されているようにソースコードを解析するシステムでは、同一プログラムであってもシステム構成によって入力データの取得範囲が変化する分散制御システムのテストケースを抽出することは困難であった。
また、特許文献２では、テストケースにおける変動部を変数として記述し、テストデータリストと組み合わせてテスト条件ごとのテストケースを作成することを示しているが、監視制御対象装置の位置だけでなく、数も変動する分散制御システムでは、変動部を単純に変数で表現することは困難である。
【０００６】
この発明は上記のような課題を解決するためになされたもので、システム構成が動的に変化するような分散制御システムであっても全てのシステム構成に対応するテストケースを漏れ無く作成することのできるテストケース生成システムを得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係るテストケース生成システムは、複数の制御装置が通信接続され、かつ、個々の制御装置が、各々特定の制御対象装置を制御する分散制御システムにおける制御装置の処理に関するテストケースを生成するテストケース生成システムであって、処理と処理の入出力とが記述され、入出力が、どの制御対象装置に対応した入出力であり、かつ、どの制御装置に対応した入出力であるかを示す制御装置の範囲情報とを含んで記述された入出力配線図から処理と入出力の情報を入出力関係情報として抽出する入出力解析部と、個々の制御装置がどの制御対象装置を制御するかを示すと共に、制御装置の範囲情報を示すシステム構成情報と、入出力がどのような値を取るかの値域を示す入出力データ情報と、システム構成情報と入出力関係情報とに基づいて、テストケースを生成する処理に対応した入出力となる制御対象装置と制御装置を特定し、かつ、入出力データの値を入出力データ情報から取得して、制御装置と入出力データの値域に対応したテストケースを生成するテストケース生成部を備えたものである。
【発明の効果】
【０００８】
この発明のテストケース生成システムは、処理と処理の入出力とが記述され、入出力が、どの制御対象装置に対応した入出力であり、かつ、どの制御装置に対応した入出力であるかを示す制御装置の範囲情報とを含んで記述された入出力配線図と、個々の制御装置がどの制御対象装置を制御するかを示すと共に、制御装置の範囲情報を示すシステム構成情報と、入出力がどのような値を取るかの値域を示す入出力データ情報とに基づいてテストケースを生成するようにしたので、システム構成が動的に変化するような分散制御システムであっても全てのシステム構成に対応するテストケースを漏れ無く作成することができる。
【図面の簡単な説明】
【０００９】
【図１】この発明の実施の形態１によるテストケース生成システムのテスト対象とする分散制御システムを示す構成図である。
【図２】この発明の実施の形態１によるテストケース生成システムのテスト対象となる分散制御システムの構成例を示す説明図である。
【図３】この発明の実施の形態１によるテストケース生成システムを示すブロック図である。
【図４】この発明の実施の形態１によるテストケース生成システムの入出力配線図の記述例を示す説明図である。
【図５】この発明の実施の形態１によるテストケース生成システムの動作を示すフローチャートである。
【図６】この発明の実施の形態１によるテストケース生成システムの入出力配線図の記入例を示す説明図である。
【図７】この発明の実施の形態１によるテストケース生成システムの編成パタンの記述例を示す説明図である。
【図８】この発明の実施の形態１によるテストケース生成システムの制御対象装置の配置情報の記述例を示す説明図である。
【図９】この発明の実施の形態１によるテストケース生成システムの入出力データ情報の記述例を示す説明図である。
【図１０】この発明の実施の形態１によるテストケース生成システムで生成されたテストケースの一部を示す説明図である。
【図１１】この発明の実施の形態２によるテストケース生成システムを示すブロック図である。
【図１２】この発明の実施の形態３によるテストケース生成システムを示すブロック図である。
【図１３】この発明の実施の形３によるテストケース生成システムの同一処理判定部の動作を示すフローチャートである。
【図１４】この発明の実施の形態４によるテストケース生成システムを示すブロック図である。
【図１５】この発明の実施の形態４によるテストケース生成システムの他の例を示すブロック図である。
【発明を実施するための形態】
【００１０】
実施の形態１．
図１は本発明で示すテストケース生成システムのテスト対象となる分散制御システムの構成を示したブロック図である。図１において、分散制御システム１は、複数の制御装置１０−１〜１０−ｎが制御ネットワーク１１で接続され、複数の制御装置１０−１〜１０−ｎは制御ネットワーク１１を通じて互いに通信する。制御装置１０−１〜１０−ｎは、入出力ネットワーク１２−１〜１２−ｎを介して、制御対象装置１３−１〜１３−ｍ，１４−１〜１４−ｍを監視・制御する。本発明では、分散制御システム１を構成する制御装置１０−１〜１０−ｎのソフトウェアをテストするためのテストケースを生成するものである。
【００１１】
図２は本発明で示すテストケース生成システムのテスト対象となる分散制御システム１のシステム構成例を示したものである。図２中の制御装置２１〜２７は図１における制御装置１０−１〜１０−ｎに相当するものである。本発明では、システム稼働時に切り離されることのないシステム構成の最小単位を「編成」と呼ぶこととする。図２のシステムは、制御装置２１〜２４により構成される編成１ａと、制御装置２５〜２７により構成される編成１ｂと、編成１ａと編成１ｂを連結させた構成の編成１ｃの３通りのパタンで構成される。
【００１２】
このように、本発明は、システム構成の変化のパタンが既知かつ有限である分散制御システム１を対象とする。本実施の形態を適用可能な分散制御システム１として、例えば列車に搭載される様々な機器の監視制御を行う「列車監視制御システム」が挙げられる。列車は、走行路線によって取りうるシステム構成のパタン（例えば６両編成、４両編成等）が予め決まっており、列車監視制御システムにおいても、システム構成のパタンを予め定義し、管理しておくことが可能である。列車は、システム構成のパタンによって、監視制御対象装置（例えば、モータ、ブレーキ、空調などの列車に搭載される機器）の数や位置が異なるため、従来、列車監視制御システムのテストケースを作成する場合、システム構成に応じて漏れ無くテストケースを作成することは困難であった。
【００１３】
図３は本発明の実施の形態１で示すテストケース生成システムの構成を示したブロック図である。図示のように、テストケース生成システムは、入出力配線図３１、入出力関係解析部３２、入出力関係情報３３、テストケース生成部３４、システム構成情報３５、入出力データ情報３６、テストケース３７を備えている。入出力配線図３１は、処理と処理の入出力とが記述され、入出力が、どの制御対象装置に対応した入出力であり、かつ、どの制御装置に対応した入出力であるかを示す制御装置の範囲情報とを含んで記述されたものである。入出力関係解析部３２は、入出力配線図３１の構造を解析し、入出力の接続関係や入出力データの名称や範囲を取得し、入出力関係情報３３として保存する。テストケース生成部３４は、入出力関係情報３３と、予め定義されたシステム構成情報３５と、同じく予め定義された入出力データ情報３６とから、テストケース３７を生成する。システム構成情報３５は、分散制御システムの設計時に定義されたシステム構成を管理するための情報である。システム構成情報３５としては、システムが取りうる編成とその組み合わせのパタン（編成パタンと呼ぶ）、監視制御対象装置の数や位置を示す配置情報などが管理される。入出力データ情報３６は、テスト対象となるモジュールの入出力データの名称、データの最小値、最大値や正常範囲、異常範囲などを管理するための情報である。
【００１４】
図４は入出力配線図３１の記述例を示したものである。入出力配線図３１は、入力４１ａ，４１ｂ、処理４２、出力４３ａ，４３ｂとから構成される。処理４２は本発明で示すテストケース生成システムのテスト対象になるモジュールを示し、入出力配線図３１上において、必ず１つだけ記述される。
入力４１ａ，４１ｂは、処理４２に対する入力データを示すものであり、１つの入出力配線図３１上において、必ず１つ以上記述される。入力４１ａ，４１ｂの箱の中央には、入力データ名称が記述される。入力データ名称には、図３における入出力データ情報３６において定義される入出力データ名称を用いる。入力４１ａ，４１ｂの上部には、データの範囲４４を記述する。データの範囲４４は、監視制御対象装置名称と範囲指定子をコンマで区切って記述する。監視制御対象装置名称には、データの取得元／設定先である監視制御対象装置の名称が記述される。また、範囲指定子には、データの取得／設定する範囲をアルファベットの記号で記述する。
【００１５】
出力４３ａ，４３ｂは、処理４２に対する出力データを示すものであり、１つの入出力配線図３１上において、必ず１つ以上記述される。出力４３ａ，４３ｂも入力４１ａ，４１ｂと同様に、箱の中央に出力データ名称を、箱の上部にデータの範囲４４を記述する。
【００１６】
例えば、列車監視制御システムの場合、複数編成を含む列車全体からデータを取得する場合や列車全体にデータを設定する場合は範囲指定子に「Ｔ」を、編成内からデータを取得する場合や編成内にデータを設定する場合は範囲指定子に「Ｆ」を、自ノードのみのデータを取得／設定する場合は範囲指定子に「Ｓ」を記述する。データの範囲４４として、「モータ，Ｔ」と記述する場合、列車全体のうち、モータを監視・制御する制御装置に対してのみ、データの入出力が行われることを示す。モータを監視・制御する制御装置の数や位置は、列車の構成により変化するが、入出力配線図３１では、列車構成を直接記述しないで、データの範囲を記述するため、同一の機能であれば、全ての列車構成において同一の入出力配線図３１を用いることができる。このように、入出力配線図３１では、システム構成を抽象的に記述できるので、抽象度の高いテストケース記述方法として用いることができる。
【００１７】
図５はテストケース生成部３４の動作を記述したフローチャートである。
まず、ステップＳ１において、システム構成情報３５から、テスト対象システムの取りうる編成パタンのリストを取得する。
ループＬ１において、ステップＳ１によって取得した編成パタンのパタン数だけ、Ｌ１Ｅまでの処理を繰り返す。例えば、システム構成リストが４両構成、６両構成の２パタンの場合は、４両、６両のそれぞれのパタンに関してＬ１〜Ｌ１Ｅまでの処理を実行する。
ステップＳ２では、入出力関係情報３３から入出力データの範囲情報を取得し、システム構成情報３５で定義された監視制御対象装置の配置情報を取得する。入出力データの範囲情報（監視制御対象装置名称と範囲指定子）と、監視制御対象装置の配置情報を組み合わせることで、テストケースで用いる入出力データのリストを取得する。
ステップＳ３では、入出力データ情報３６から、ステップＳ２で取得した入出力データリストの各データの値域を取得する。ここでの値域は、最大値、最小値、正常値の範囲、異常値の範囲を指す。
【００１８】
ループＬ２では、ステップＳ２で取得した入出力データリストを用いてテストケースを作成していく。ループＬ２では、テストケースの全組み合わせを出力できるまでＬ２〜Ｌ２Ｅの処理を繰り返す。
ステップＳ４は、ステップＳ２で取得した入出力データリストのうち、入力データに関するテストケースを生成する。具体的には、ステップＳ３で取得した値域を元に、正常値または異常値を入力データに代入するテストケースを生成する。テストケース生成の際には、一般的なブラックボックステストに用いられる「同値分割法」と「境界値分析」を用いて代表値を決定する構成を取っても良い。
ステップＳ５は、ステップＳ２で取得した入出力データリストのうち、出力データに関するテストケースを生成する。本実施の形態では、出力に対する期待値を自動的に計算する機能は有しないため、期待値の部分を空欄として、出力結果を照合するテストケースを出力する。この時、入出力データ情報３６で取得した値域をテストケースのコメントとして出力し、テストケース設計の際の助けとなるようにしても良い。
ステップＳ４，Ｓ５を全ての入力データの組み合わせに対して実施し、さらにステップＳ２からステップＳ５までのステップを全編成パタンで繰り返すことで、全ての編成パタンに対応するテストケースを漏れ無く作成することが可能になる。
【００１９】
以降では、本実施の形態を列車監視制御システムに適用した場合の具体例を説明する。例えば、「運転士が列車内の編成内の両端の車両に配置されるドア開スイッチを押した時に、列車内の全ての速度計が５ｋｍ／ｈ以内であれば列車内のドアを開く」という「ドア開判定」機能についてのテストケースを作成する具体例を説明する。
【００２０】
図６に本具体例における入出力配線図３１の記入例を示す。ドア開判定処理６３は、入力信号「ドア開スイッチ押下」６１と入力信号「速度」６２、及び、出力信号「ドア開指令」６４を持つ。入力信号「ドア開スイッチ押下」６１は、列車内の運転台から取得できる情報であり、運転台にあるドア開スイッチが押下されたかどうかの情報が格納される。入力信号「速度」６２は、列車内の速度計から取得できる列車の速度情報である。出力信号「ドア開指令」６４は、列車内のドアを開くための指令情報である。
【００２１】
図７に本具体例における編成パタンの記述例を示す。編成パタンは、編成パタン名７１ごとの制御装置のシステム構成７２を表形式で示すものである。図７の例では、４両編成は制御装置１〜４、３両編成は制御装置５〜７、７両編成は制御装置１〜７で構成される。
【００２２】
図８に本具体例における制御対象装置の配置情報の記述例を示す。配置情報は、制御対象装置名８１の制御装置番号８２ごとの搭載個数を表形式で示すものである。
【００２３】
図９に本具体例における入出力データ情報の記述例を示す。入出力データ情報は、データ名称９１、伝送パケット内のバイトオフセット９２、データサイズ９３、データの正常範囲９４、データの異常範囲９５などから構成される。
【００２４】
以下、図５のフローチャートに従って、図６の入出力配線図から図７〜図９の情報を元にテストケースを生成する手順を説明する。
まず、ステップＳ１で図７に示すシステム構成情報３５より編成パタンのリストを取得する。ここでは、４両編成、３両編成、７両編成の３パタンが取得される。
次に、ループＬ１〜Ｌ１Ｅの処理を、ステップＳ１で抽出した全ての編成パタンに対して実施する。以下では、４両編成の場合を説明する。
【００２５】
ステップＳ２では、まず、図６に示す入出力配線図３１から抽出された入出力関係情報３３から、入力信号として「ドア開スイッチ押下」６１、「速度」６２、出力信号として「ドア開指令」６４が抽出される。図７に示すシステム構成情報３５の編成パタンのリスト情報から、４両編成は制御装置１〜４で構成されることが分かるので、図８に示すシステム構成情報３５から制御装置ごとの監視制御対象装置の配置情報を得る。例えば、「ドア開スイッチ押下」信号は、入出力配線図３１のデータ範囲として「運転台，Ｔ」と指定されているので、運転台の監視制御対象装置数が１以上である制御装置１と制御装置４に対して、入力信号「ドア開スイッチ押下」を設定するテストケースを作成すれば良いことが分かる。
【００２６】
ステップＳ３では、図９に示す入出力データ情報３６から、データ名称に対応する値域（正常範囲９４と異常範囲９５）を取得する。例えば「ドア開スイッチ押下」は、図９より、正常範囲は「ＯＮ」、異常範囲は「ＯＦＦ」である１ビットのデータであることが分かる。
ループＬ２〜Ｌ２Ｅでは、ステップＳ２で取得した入力データのリストに関して、ステップＳ３で取得した値域の全組み合わせに対応するテストケースを作成する。
ステップＳ４では、ステップＳ２で取得した入力データのリストに関して、ステップＳ３で取得した値域のうち、未選択である１つの組み合わせを選択し、テストケースを生成する。例えば、「ドア開スイッチ押下」信号に関しては、（１）制御装置１がＯＮ、制御装置４がＯＮ、（２）制御装置１がＯＮ、制御装置４がＯＦＦ、（３）制御装置１がＯＦＦ、制御装置４がＯＮ、（４）制御装置１がＯＦＦ、制御装置４がＯＦＦの４通りのテストケースが生成される。
ステップＳ５では、出力信号「ドア開指令」に関するテストケースを生成する。本実施の形態では、出力に対する期待値を自動的に計算する機能は有しないため、期待値の部分を空欄とした出力結果を照合するためのテストケースを出力する。期待値に関しては、テスト設計者がテストケース生成後に、手動で入力する。
【００２７】
図１０は、本具体例において、出力されたテストケースの一部を示す。今回の例では、速度が５ｋｍ／ｈ以下でドア開スイッチを押してドアが正常に開くケースと、速度が６ｋｍ／ｈ以上でドア開スイッチを押してドアが開かないケースの２通りに関するテストケースの一例を記述している。コマンド１０１には、実際にテストを実施する際の操作を示すコマンドを記述する。入力データに対して値を設定する場合はＳＥＴコマンドを記述する。出力データの値を照合する場合はＣＨＥＣＫコマンドを記述する。制御装置番号１０２は、ＳＥＴコマンド、ＣＨＥＣＫコマンドの対象となる制御装置番号を示し、データ名称１０３はＳＥＴコマンド、ＣＨＥＣＫコマンドの対象となる入出力データの名称を示す。値１０４は、入力データに対する設定値と、出力データの照合値を示す。出力データの期待値は、テスト設計者がテストケース生成後に、手動で入力する。なお、図１０中の＃で始まる行は、コメント行を示す。
【００２８】
このように、本実施の形態では、テストケース生成部３４が、システム構成を抽象的に記述した入出力配線図３１と予め管理されたシステム構成情報３５とからテストケースを生成するので、同一機能のテストを複数のシステム構成で実施する必要がある分散処理システムにおいて、テストケースを漏れ無く抽出することができる。また、入出力配線図３１は、システム構成を抽象的に記述しているため、同一機能を持つ別機種での再利用が可能である。
【００２９】
以上説明したように実施の形態１のテストケース生成システムによれば、複数の制御装置が通信接続され、かつ、個々の制御装置が、各々特定の制御対象装置を制御する分散制御システムにおける制御装置の処理に関するテストケースを生成するテストケース生成システムであって、処理と処理の入出力とが記述され、入出力が、どの制御対象装置に対応した入出力であり、かつ、どの制御装置に対応した入出力であるかを示す制御装置の範囲情報とを含んで記述された入出力配線図から処理と入出力の情報を入出力関係情報として抽出する入出力解析部と、個々の制御装置がどの制御対象装置を制御するかを示すと共に、制御装置の範囲情報を示すシステム構成情報と、入出力がどのような値を取るかの値域を示す入出力データ情報と、システム構成情報と入出力関係情報とに基づいて、テストケースを生成する処理に対応した入出力となる制御対象装置と制御装置を特定し、かつ、入出力データの値を入出力データ情報から取得して、制御装置と入出力データの値域に対応したテストケースを生成するテストケース生成部を備えたので、システム構成が動的に変化するような分散制御システムであっても全てのシステム構成に対応するテストケースを漏れ無く作成することができる。
【００３０】
実施の形態２．
図１１は、本発明の実施の形態２におけるテストケース生成システムの構成を示したブロック図である。実施の形態２は、図３に示す実施の形態１の構成に、テストケース抜粋部１１１と類似度判定部１１２と代表テストケース１１３を追加したものである。他の構成は実施の形態１と同様であるため、対応する部分に同一符号を付してその説明を省略する。
類似度判定部１１２は、システム構成情報３５から装置間の類似度を算出する。テストケース抜粋部１１１は、類似度判定部１１２が生成する類似度を用いて、テストケース３７からテストケースを抜粋し、代表テストケース１１３として格納するものである。
【００３１】
分散制御システムでは、監視制御対象装置の構成が類似することが多く、そのような場合、装置構成の類似する制御装置では、同一のプログラムが実行されることが多い。例えば、列車監視制御システムにおいては、モータ車、客車など、車種によって監視制御対象装置の構成が類似していることが多い。本実施の形態は、分散制御システムの「監視制御対象装置の構成が類似する制御装置において、同一内容の処理が実行されることが多い」という性質を用いてテストケースを抜粋する。
【００３２】
類似度判定部１１２において、制御装置間の類似度は、監視制御対象装置の有無と個数により決定する。類似度は、例えば、監視制御対象装置の有無がログ解析対象と一致する場合は１ポイント、個数が一致する場合は２ポイントとし、全監視制御対象装置の合計により算出し、ある一定しきい値を超えた制御装置同士は類似していると判定される。本実施の形態では、類似と判定された制御装置同士は、同一処理が実行されるものとして扱う。
【００３３】
テストケース抜粋部１１１は、テストケース生成部３４により生成されたテストケース３７のうち、類似度判定部１１２によって装置構成が類似すると判定された制御装置に対して同一の操作を行うテストケースのうちの１つを代表テストケース１１３として抜粋する。また、テストケース抜粋部１１１は、装置構成が類似と判定された制御装置に対して、同一内容の確認を行うテストケースのうち１つを、代表テストケース１１３として抜粋する。
【００３４】
実施の形態２における具体例を図６、図８及び図１０を用いて説明する。今、図８に示す監視制御対象装置の配置情報から、制御装置１と制御装置７、及び、制御装置２と制御装置６、及び、制御装置４と制御装置５が、装置構成が類似していると判定されたとする。この時、図６における入力「ドア開スイッチ押下」６１や出力「ドア開指令」６４のように、同一のデータ名称で複数の制御装置に共通に存在するデータに対するテストケースを生成する際に、類似する制御装置に対する操作や確認を行うテストケースのうち１つを代表テストケースとする。例えば、図１０におけるテストケースでは、「ドア開スイッチ」指令を１つの制御装置のみＯＮにするテストケースが、運転台が搭載される制御装置１、制御装置４、制御装置５、制御装置７に対して生成されるが、本具体例では、制御装置１と制御装置７、及び、制御装置４と制御装置５の装置構成が類似と判定されているので、制御装置１、及び、制御装置４のテストケースを代表テストケースとして抽出する。これにより、テストケースを５０％削減することができる。また、「ドア開」を確認するテストでは、制御装置１〜７の全ての「ドア開」を確認するテストケースが生成されるが、本具体例では、制御装置１と制御装置７、及び、制御装置２と制御装置６、及び、制御装置４と制御装置５の装置構成が類似と判定されているので、制御装置１、及び、制御装置２、及び、制御装置４を代表テストケースとして選択する。これにより、テストケースを従来の７ケースから４ケースに削減することができ、テストケースを４３％削減できる。
【００３５】
以上説明したように、実施の形態２のテストケース生成システムによれば、制御装置と制御対象装置との関係を示す制御装置間の制御対象装置構成の類似度を判定する類似度判定部と、制御対象装置構成の類似する制御装置に対して、同一内容の処理に対応したテストケースのうちの１つを代表テストケースとして抜粋するテストケース抜粋部とを備え、代表テストケースをテストケースとして出力するようにしたので、テストのカバレッジを低下することなくテストケース数を削減することができ、テストケース作成を効率化することができる。
【００３６】
実施の形態３．
図１２は、本発明の実施の形態３におけるテストケース生成システムの構成を示したブロック図であり、図１１に示す実施の形態２の構成に、同一処理判定部１１４を追加したものである。同一処理判定部１１４は、類似度判定部１１２で類似と判定された制御装置同士が、同一の処理が実行されるかどうかを判定する。
同一処理判定部１１４の詳細処理フローを図１３に示す。まず、ステップＳ１１で、テスト対象モジュールの入出力配線図３１から、入力、または出力の上部に記述されたデータ範囲情報に記述された制御対象装置名称を取得する。次に、ステップＳ１２で、類似度判定部１１２により類似と判定された制御装置に対して、ステップＳ１１で取得した制御対象装置の搭載個数をシステム構成情報３５から取得する。最後に、ステップＳ１３にて、ステップＳ１２で取得した制御対象装置の個数が一致する場合には、同一処理であると判定し、一致しない場合は、同一処理でないと判断する。
同一処理判定部１１４で同一と判断された入力に関して、テストケース抜粋部１１１は、同一の操作を行うテストケースのうちの１つを代表テストケース１１３として抜粋する。
また、同一処理判定部１１４で同一と判断された出力に関して、テストケース抜粋部１１１は、同一内容の確認を行うテストケースのうち１つを、代表テストケース１１３として抜粋する。
【００３７】
以上説明したように、実施の形態３のテストケース生成システムによれば、類似度判定部にて類似と判定された制御装置に対して、入出力配線図で定義された処理の入出力の関係と、システム構成情報に定義された制御対象装置の配置情報とから、制御装置同士が同一の入出力処理を持つかを判定する同一処理判定部を備え、テストケース抜粋部は、同一処理を持つと判定された制御装置に対して代表テストケースを生成するようにしたので、テストケースを削減する際に、誤って同一でない処理のテストケースを削減するといったことを防止することができ、テストケース作成の効率化が図れると共に、テストケースの絞り込み精度を向上させることができる。
【００３８】
実施の形態４．
図１４は、本発明の実施の形態４におけるテストケース生成システムの構成を示したブロック図である。実施の形態４は、図１１に示した実施の形態２の構成に、抜粋回数記憶部１１５と制御装置別抜粋回数１１６とを追加したものである。抜粋回数記憶部１１５は、同一の制御装置のみに対する操作や確認にテストケースが偏らないように、代表テストケースとして抜粋された制御装置番号ごとの抜粋回数を、制御装置別抜粋回数１１６として記憶する。
【００３９】
テストケース抜粋部１１１は、テストケースを抜粋する際に、抜粋回数記憶部１１５に抜粋対象の制御装置の抜粋回数を問い合わせて、抜粋された回数の最も少ない制御装置に対するテストケースを選択するような構成を取る。あるいは、この場合、制御装置ごとに抜粋された回数への重み付けを行ってもよい。
本実施の形態は、実施の形態３と組み合わせて図１５のような構成を取ることも可能である。すなわち、実施の形態３の構成に抜粋回数記憶部１１５と制御装置別抜粋回数１１６とを追加してもよい。なお、この場合の動作は、実施の形態３において上記の動作と同様であるため、ここでの説明は省略する。
【００４０】
以上説明したように、実施の形態４のテストケース生成システムによれば、テストケースとして抜粋された制御装置別の抜粋回数を記憶する抜粋回数記憶部を備え、テストケース抜粋部は、テストケースから代表テストケースを抜粋する際に、抜粋された回数の最も少ない制御装置に対するテストケースを代表テストケースとして抜粋するようにしたので、テストケース数を削減した際にも特定の制御装置にテストケースが集中しない、均一なテストケースを作成することができる。
【００４１】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００４２】
１  分散制御システム、１ａ，１ｂ，１ｃ  編成、１０−１〜１０−ｎ、２１〜２７  制御装置、１１  制御ネットワーク、１２−１〜１２−ｎ  入出力ネットワーク、１３−１〜１３−ｍ，１４−１〜１４−ｍ  制御対象装置、３１  入出力配線図、３２  入出力関係解析部、３３  入出力関係情報、３４  テストケース生成部、３５  システム構成情報、３６  入出力データ情報、３７  テストケース、４１ａ，４１ｂ  入力、４２  処理、４３ａ，４３ｂ  出力、４４  データの範囲、１１１  テストケース抜粋部、１１２  類似度判定部、１１３  代表テストケース、１１４  同一処理判定部、１１５  抜粋回数記憶部、１１６  制御装置別抜粋回数。
【図１】
2014115884.tif 000003
【図２】
2014115884.tif 000004
【図３】
2014115884.tif 000005
【図４】
2014115884.tif 000006
【図５】
2014115884.tif 000007
【図６】
2014115884.tif 000008
【図７】
2014115884.tif 000009
【図８】
2014115884.tif 000010
【図９】
2014115884.tif 000011
【図１０】
2014115884.tif 000012
【図１１】
2014115884.tif 000013
【図１２】
2014115884.tif 000014
【図１３】
2014115884.tif 000015
【図１４】
2014115884.tif 000016
【図１５】
2014115884.tif 000017