(57)【特許請求の範囲】
【請求項１】
鉄道網における２つの駅間の運賃を計算する運賃計算プログラムの検証に用いる、入場駅および出場駅を示すテストパターンを生成する運賃計算検証用テストパターン生成装置であって、
鉄道網の駅毎に、予め定めたカテゴリに対する、その駅の属性を対応づけて記憶する駅情報記憶手段と、
鉄道網の駅を、前記駅情報記憶手段が前記カテゴリについて記憶している属性が同一である駅を、１つの駅グループとみなすグループ分けを行うグループ分け手段と、
前記グループ分け手段がグループ分けした駅グループから、入場駅を選択する駅グループと、出場駅を選択する駅グループと、の組み合わせを抽出する組合せ抽出手段と、
前記組合せ抽出手段が抽出した組合せ毎に、入場駅、および出場駅を、それぞれ該当する駅グループから選択したテストパターンを生成するテストパターン生成手段と、を備えた運賃計算検証用テストパターン生成装置。
【請求項２】
前記駅情報記憶手段は、その駅の線路上の位置にかかるカテゴリに対する属性、およびその駅の使用形態にかかるカテゴリに対する属性を記憶する手段である、請求項１に記載の運賃計算検証用テストパターン生成装置。
【請求項３】
前記駅情報記憶手段は、線路上で適用される割引にかかるカテゴリに対する属性を記憶する手段である、請求項１または２に記載の運賃計算検証用テストパターン生成装置。
【請求項４】
鉄道局数に対する経路パターンを記憶する経路情報記憶手段を備え、
前記テストパターン生成手段は、１つの駅グループの組合せからテストパターンを生成するとき、対象となる鉄道網の鉄道局数に対して、前記経路情報記憶手段が記憶している経路パターン毎に、テストパターンを生成する手段である、請求項１〜３のいずれかに記載の運賃計算検証用テストパターン生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、鉄道網における２駅間の運賃を計算する運賃計算プログラムの検証に用いるテストパターンを生成する運賃計算検証用テストパターン生成装置に関する。
【背景技術】
【０００２】
従来、自動改札機、精算機、係員端末等の駅務機器では、利用者が利用した２駅間の運賃を計算する運賃計算プログラムがインストールされている。この運賃計算プログラムにバグがあると、利用者が支払う運賃に過不足が生じ、利用者に対するサービスの低下や、さらには鉄道会社の信頼を低下させてしまう。このため、運賃計算プログラムにバグがないかどうか、すなわち２駅間の運賃が適正に算出できるかどうか、を駅務機器にインストールする前に検証しておく必要がある。
【０００３】
一方、最近では、鉄道会社間での相互乗り入れや、新線路の開業や既線路の延長等が進められており、鉄道網が非常に複雑になっている。このため、運賃計算プログラムで運賃を計算する２駅間の組み合わせが膨大な数であり、これらの全ての組合せについて、運賃計算プログラムで運賃が適正に計算できるかどうかを検証することが実質的に不可能な状態であった。
【０００４】
そこで、運賃計算プログラムの検証は、いくつかのテストパターンを生成し、ここで生成したテストパターン毎に、運賃が適正に計算されるかどうかを確認することで行っている。運賃計算プログラムの検証に用いるテストパターンが多いほど、運賃計算プログラムの検証精度が確保される。一方、運賃計算プログラムの検証に用いるテストパターンが多くなるにつれて、この検証に要する時間が長くなり、作業性を低下させる。このため、運賃計算プログラムを精度よく検証でき、その検証に用いるテストパターンの総数を抑えることが要望されている。この要望に対して、例えば、特許文献１では、交差駅、乗換駅、および連絡駅をノードと定義し、同一線路におけるノード間に存在する駅を１つのブロックとみなし、さらにブロック毎に、そのブロック内を１つの駅とみなして入場駅および出場駅を設定し、ここで設定した各ブロックの入場駅および出場駅の組み合わせをテストパターンとして生成することが提案されている（特許文献１参照）。
【特許文献１】特開２００６−２６８２３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述したように、鉄道会社間での相互乗り入れ等が進んでいることから、特許文献１で提案されている構成では、ノードと定義される駅が増加している。すなわち、ブロック内に存在する駅数が減少し、ブロック数が増加している。例えば、同一線路において隣接している２つの駅がノードと定義される可能性や、同一線路においてノードと定義されない駅に隣接している両側の駅がともにノードと定義される可能性が高くなっている。このため、運賃計算プログラムの検証に用いるテストパターンの総数が増加しており、運賃計算プログラムの検証にかかる作業効率の向上が十分に図れない状況になってきている。
【０００６】
この発明の目的は、運賃計算プログラムの検証が精度よく行え、且つこの運賃計算プログラムの検証にかかる作業効率の向上が十分に図れる運賃計算検証用テストパターン生成装置を提供することにある。
【課題を解決するための手段】
【０００７】
この発明の運賃計算検証用テストパターン生成装置は、上記課題を解決し、その目的を達するために、以下のように構成している。
【０００８】
駅情報記憶手段が、鉄道網の駅毎に、予め定めたカテゴリに対する、その駅の属性を対応づけて記憶する。例えば、その駅の線路上の位置（端、真中等）にかかるカテゴリに対する属性や、その駅の使用形態（交差駅、連絡駅、自線２ラッチ駅等）にかかるカテゴリに対する属性を記憶する。また、線路上で適用される割引にかかるカテゴリに対する属性（対称となる割引の名称や、その割引区間に対する駅の位置等）についても記憶するようにしてもよい。グループ分け手段が、鉄道網の駅を、前記駅情報記憶手段が前記カテゴリについて記憶している属性が同一である駅を、１つの駅グループとみなすグループ分けを行う。また、組合せ抽出手段が、前記グループ分け手段がグループ分けした駅グループから、入場駅を選択する駅グループと、出場駅を選択する駅グループと、の組み合わせを抽出する。そして、テストパターン生成手段が、前記組合せ抽出手段が抽出した組合せ毎に、入場駅、および出場駅を、それぞれ該当する駅グループから選択したテストパターンを生成する。
【０００９】
このように、各カテゴリに対する属性が同一の駅を１つの駅グループとみなし、テストパターンを生成する。すなわち、駅の属性による組合せでテストパターンを生成するので、このテストパターンを用いることで、信頼性の高い運賃計算プログラムの検証が行える。また、駅の増加等にともなって鉄道網が複雑になっても、それにともなう駅グループの増加が抑えられるので、運賃計算プログラムの検証にかかる作業効率の向上が十分に図れる。
【００１０】
さらに、鉄道局数に対する経路パターンを記憶する経路情報記憶手段を設けるとともに、前記テストパターン生成手段が、１つの駅グループの組合せからテストパターンを生成するとき、対象となる鉄道網の鉄道局数に対して、前記経路情報記憶手段が記憶している経路パターン毎に、テストパターンを生成する、構成としてもよい。このようにすれば、経路による運賃計算プログラムの検証も行えるので、一層信頼性の高い運賃計算プログラムの検証が行える。
【発明の効果】
【００１１】
この発明によれば、運賃計算プログラムの検証が精度よく行え、且つこの運賃計算プログラムの検証にかかる作業効率の向上が十分に図れる。
【発明を実施するための最良の形態】
【００１２】
以下、この発明の実施形態である運賃計算検証用テストパターン生成装置について説明する。
【００１３】
図１は、この発明の実施形態である運賃計算検証用テストパターン生成装置を用いた、シミュレーションシステムの構成を示す概略図である。このシミュレーションシステムは、運賃計算検証用テストパターン生成装置１（以下、単に、テストパターン生成装置１と言う。）、および運賃計算検証装置２を備えている。このシミュレーションシステムは、鉄道網における２駅間の運賃を計算する運賃計算プログラムのバグを検証する。テストパターン生成装置１は、運賃計算検証装置２における、運賃計算プログラムの検証に用いるテストパターンを生成する。このテストパターンは、鉄道網の利用区間を示す情報である。テストパターン生成装置１は、後述する処理で複数のテストパターンを生成し、これらを運賃計算検証装置２に入力する。運賃計算検証装置２は、運賃計算プログラムのシミュレーションを行い、この運賃計算プログラムにバグがあるかどうかを検証する。具体的には、運賃計算検証装置２は、運賃計算プログラムを実行し、テストパターン生成装置１が生成したテストパターンを運賃計算プログラムに入力として与える。そして、運賃計算検証装置２は、テストパターン毎に、この運賃計算プログラムで計算された運賃が適正であるかどうかを検証し、検証結果の表示出力や、印字出力を行う。運賃計算検証装置２は、運賃計算プログラムで運賃が適正に計算されたテストパターンと、運賃が適正に計算できなかったテストパターンと、を区別して出力する構成としてもよい。
【００１４】
図２は、テストパターン生成装置の主要部の構成を示すブロック図である。テストパターン生成装置１は、駅情報記憶部１１と、経路情報記憶部１２と、テストパターン生成部１３と、テストパターン出力部１４と、を備えている。鉄道網の利用にかかる運賃は、周知のように、入場駅と、出場駅とで示される利用区間、および、この利用区間の移動経路によって決まる。駅情報記憶部１１は、駅毎に、予め定めたカテゴリに対する、その駅の属性情報を対応づけた駅情報を記憶している。図３は、駅を属性情報で分類するカテゴリを示す図である。駅情報は、駅毎に、図３に示す「精算範囲」、「割引の種類」、「割引範囲」、「線路上の位置」、「使用形態にかかる種類」の５つのカテゴリについて、それぞれの属性を対応づけた情報である。ここで、この５つのカテゴリについて説明する。
【００１５】
「精算範囲」は、検証する運賃計算プログラムにおいて、運賃の精算を行う駅（精算範囲内）であるか、運賃の精算を行わない駅（精算範囲外）であるかによって駅の属性を分類するカテゴリである。このカテゴリは、例えば精算範囲外の駅が入場駅であった場合に、運賃計算プログラムが運賃を計算して精算を行わないことを検証する、テストパターンを生成するために設けたカテゴリである。
【００１６】
「割引の種類」は、割引が適用されているかどうか、および割引が適用されている場合に、その割引の名称によって駅の属性を分類するカテゴリである。「割引範囲」は、割引区間の範囲内であるか、割引区間の範囲外で、隣接する駅が割引区間の範囲内の駅であるか（範囲外境界駅であるか）、その他の駅（範囲外駅）であるか、のいずれであるかによって、駅の属性を分類するカテゴリである。この「割引の種類」および「割引範囲」にかかるカテゴリは、割引毎に、運賃計算プログラムが、その割引を適用した運賃を適正に計算することができるかどうかを検証する、テストパターンを生成するために設けたカテゴリである。
【００１７】
「線路上の位置」は、線路の端の駅（端駅）であるかどうか（すなわち、端駅、または真中駅のいずれであるか）によって駅の属性を分類するカテゴリである。「使用形態にかかる種類」は、一般駅、交差駅、自線２ラッチ駅、共同使用駅（ＩＣ両方参入）、共同使用駅（ＩＣ一方非参入）、１ラッチ連絡駅、２ラッチ連絡駅等によって駅の属性を分類するカテゴリである。一般駅とは、このカテゴリで規定している他の属性に対応しない駅である。交差駅とは、自局の複数の線路が交差している駅である。自線２ラッチ駅は、自局の線路を乗り換えるときに、一旦改札口を通って出場し、再度改札口を通って入場する駅である。共同使用駅は、２つの鉄道局が共同で使用している駅であり、また、共同使用駅のＩＣ両方参入は、２つの鉄道局が特定のＩＣカードによる運賃の精算に参入している共同使用駅であり、ＩＣ一方非参入は、一方の鉄道局が特定のＩＣカードによる運賃の精算に参入し、他方の鉄道局が特定のＩＣカードによる運賃の精算に参入していない共同使用駅である。１ラッチ連絡駅は、他局の線路に乗り換えるときに、改札口を一度だけ通る駅であり、２ラッチ連絡駅は、他局の線路に乗り換えるときに、改札口を２度通る駅である。この「線路上の位置」、および「使用形態にかかる種類」にかかるカテゴリは、運賃計算プログラムが、線路上における駅の位置や、その駅の使用形態にかかる種類に応じた運賃を適正に計算することができるかどうかを検証する、テストパターンを生成するために設けたカテゴリである。
【００１８】
駅情報記憶部１１には、駅毎に、上述した各カテゴリに対する属性情報を対応づけて記憶している。例えば、Ａ駅には、「範囲内（精算範囲）」、「市内割引」、「範囲内（割引範囲）」、「真中駅」、「一般駅」という、属性情報が対応づけられている。
【００１９】
経路情報記憶部１２は、鉄道局数毎に、その鉄道局数における経路パターンを分類した経路情報を記憶している。図４は、この経路情報を示す図である。この経路情報は、鉄道局数と、経路パターンと、を対応づけた情報である。利用区間が１つの鉄道局の場合、ノーラッチ経路（自線２ラッチ駅を利用していない経路）と、自線２ラッチ経路（自線２ラッチ駅を利用した経路）と、の２つの経路パターンを記憶している。利用区間が２つ以上の鉄道局の場合、全ての鉄道局がノーラッチ経路（全ての鉄道局で自線２ラッチ駅を利用していない経路）と、いずれか１つの鉄道局が自線２ラッチ経路（自線２ラッチ駅を利用した経路）で、他の鉄道局がノーラッチ経路である経路パターンを記憶している。利用区間が２つ以上の鉄道局の場合は、鉄道局数をｎとすると、（ｎ＋１）個の経路パターンを経路情報記憶部１２に記憶している。
【００２０】
なお、利用区間が２つ以上の鉄道局の場合、複数の鉄道局で自線２ラッチ経路であった運賃の計算については、その仕様で制限しているので、ここでは、利用区間が２つ以上の鉄道局の場合、複数の鉄道局で自線２ラッチ経路である経路パターンについては考慮していない。
【００２１】
テストパターン生成部１３は、駅情報記憶部１１が駅毎に記憶する上述したカテゴリの属性情報に基づいて、駅をグループ分けするとともに、１つのグループ（駅グループ）を１つの駅とみなして、テストパターンを生成する。このとき、経路情報記憶部１２が記憶する経路パターン毎に、テストパターンを生成する。テストパターンの生成手法の詳細については、後述する。
【００２２】
テストパターン出力部１４は、テストパターン生成部１３で生成されたテストパターンを出力する。テストパターン出力部１４から出力されたテストパターンは、運賃計算検証装置２に入力される。運賃計算検証装置２は、入力されたテストパターン毎に、運賃計算プログラムに入力として与え、この運賃計算プログラムで計算された運賃が適正であるかどうかを検証し、検証結果の表示出力や、印字出力を行う。
【００２３】
次に、テストパターン生成装置１の動作における、テストパターン生成処理について説明する。図５は、テストパターン生成処理を示すフローチャートである。テストパターン生成装置１は、テストパターン生成部１３が駅情報記憶部１１が駅毎に記憶する上述したカテゴリの属性情報に基づいて駅をグループ分けする、グループ分け処理を行う（ｓ１）。具体的には、全てのカテゴリに対する属性情報が同一である駅を、１つのグループとみなすグループ分けを行う。テストパターン生成部１３は、各駅のグループ分けが完了すると、これらの駅グループについて、入場駅を選択する駅グループと、出場駅を選択する駅グループと、の組み合わせを全て抽出する（ｓ２）。ｓ２では、入場駅を選択する駅グループと、出場駅を選択する駅グループと、が同じ駅グループである組み合わせも抽出する。テストパターン生成部１３は、ｓ２で抽出した駅グループの組み合わせ毎に、適用する経路パターンを決定する（ｓ３）。ｓ３では、各グループの組み合わせに対して、予め指定されている鉄道局数に対応する経路パターンを適用する構成であってもよいし、駅グループの組み合わせ毎に利用可能な経路パターンを全て抽出する構成であってもよい。
【００２４】
テストパターン生成部１３は、ｓ２で抽出した駅グループの組み合わせ毎に、その組み合わせに対してｓ３で決定した各経路パターンに対応する入場駅、出場駅を抽出し、ここで抽出した入場駅、および出場駅と、その経路パターンを示す情報を含むテストパターンを生成する（ｓ４）。すなわち、ｓ４で生成されるテストパターンには、入場駅、出場駅、および、その区間における経路パターンが含まれている。テストパターン生成装置１は、ｓ４でテストパターン生成部１３が生成したテストパターンを出力する（ｓ５）。
【００２５】
このように、各カテゴリに対する属性が同一の駅を１つの駅グループとみなし、テストパターンを生成する。すなわち、駅の属性による組合せでテストパターンを生成するので、運賃計算検証装置２が、このテストパターンを用いることで、信頼性の高い運賃計算プログラムの検証が行える。また、駅の増加等にともなって鉄道網が複雑になっても、それにともなう駅グループの増加が抑えられるので、運賃計算プログラムの検証にかかる作業効率の向上が十分に図れる。また、経路による運賃計算プログラムの検証も行えるので、運賃計算プログラムの検証にかかる信頼性を十分に確保することができる。
【００２６】
次に、上述したテストパターン生成処理について、具体例を示して説明する。図６は、鉄道局数が１つである線路の例を示す図である。ここでは、５つの駅（Ａ駅〜Ｅ駅）を示している。この線路では、全ての駅が精算範囲内の駅である。図６において、Ａ駅と、Ｅ駅と、が端駅であり、残りのＢ駅、Ｃ駅、およびＤ駅が真中駅である。また、ここでは、この線路に対する割引区間はないものとする。また、Ａ駅〜Ｅ駅は、全て一般駅である。
【００２７】
この図６に示す例では、上述したｓ１で、端駅であるＡ駅と、Ｅ駅とからなる第１の駅グループと、真中駅であるＢ駅、Ｃ駅、およびＤ駅からなる第２の駅グループと、に分けられる。また、ｓ２では、
（１）入場駅、および出場駅を選択するグループが第１の駅グループ
（２）入場駅、および出場駅を選択するグループが第２の駅グループ
（３）入場駅を選択するグループが第１の駅グループ、出場駅を選択するグループが第２の駅グループ、
（４）入場駅を選択するグループが第２の駅グループ、出場駅を選択するグループが第１の駅グループ
の４つの組み合わせが抽出される。また、ｓ３では、利用区間が１つの鉄道局であり、また、自線２ラッチ駅も存在しないことから、経路パターンは、ノーラッチ経路に決定される。したがって、この例では、ｓ４で、４つのテストパターンが生成される。例えば、
（１）入場駅−Ｅ駅、出場駅−Ａ駅
（２）入場駅−Ｃ駅、出場駅−Ｄ駅
（３）入場駅−Ａ駅、出場駅−Ｃ駅
（４）入場駅−Ｂ駅、出場駅−Ａ駅
の４つのテストパターンが生成される。
【００２８】
なお、この図６に示す線路の利用パターンの総数は２５通りである。すなわち、２５通りの利用パターンが存在する線路について、４つのテストパターンで運賃計算プログラムグラムの検証が行える。
【００２９】
また、図７は、鉄道局数が２つ（第１鉄道局、および第２鉄道局）である線路の例を示す図である。この線路では、全ての駅が精算範囲内の駅である。ここでは、５つの駅（Ａ駅〜Ｅ駅）からなる第１の線路（第１鉄道局）と、５つの駅（Ｆ駅〜Ｊ駅）からなる第２の線路（第２鉄道局）と、からなる線路網を示している。図７において、Ａ駅、Ｅ駅、Ｆ駅、およびＪ駅が端駅であり、残りのＢ駅、Ｃ駅、Ｄ駅、Ｇ駅、Ｈ駅、およびＩ駅が真中駅である。また、Ｅ駅、Ｆ駅は、２ラッチ連絡駅である。また、ここでは、この線路に対する割引区間はないものとする。また、Ｅ駅、およびＦ駅以外は、全て一般駅であり、且つ精算範囲内の駅である。
【００３０】
この図７に示す例では、上述したｓ１で、端駅であり且つ一般駅であるＡ駅と、Ｊ駅とからなる第１の駅グループと、端駅であり且つ２ラッチ連絡駅であるＥ駅とＦ駅とからなる第２の駅グループと、真中駅である且つ一般駅であるＢ駅、Ｃ駅、Ｄ駅、Ｇ駅、Ｈ駅、およびＩ駅からなる第３の駅グループと、に分けられる。また、ｓ２では、
（１）入場駅、および出場駅を選択するグループが第１の駅グループ
（２）入場駅、および出場駅を選択するグループが第２の駅グループ
（３）入場駅、および出場駅を選択するグループが第３の駅グループ
（４）入場駅を選択するグループが第１の駅グループ、出場駅を選択するグループが第２の駅グループ、
（５）入場駅を選択するグループが第１の駅グループ、出場駅を選択するグループが第３の駅グループ、
（６）入場駅を選択するグループが第２の駅グループ、出場駅を選択するグループが第１の駅グループ、
（７）入場駅を選択するグループが第２の駅グループ、出場駅を選択するグループが第３の駅グループ、
（８）入場駅を選択するグループが第３の駅グループ、出場駅を選択するグループが第１の駅グループ、
（９）入場駅を選択するグループが第３の駅グループ、出場駅を選択するグループが第２の駅グループ
の９つの組み合わせが抽出される。また、ｓ３では、利用区間が２つの鉄道局で、２つの鉄道局がともにノーラッチ経路である経路パターンに決定される。したがって、ｓ４では、上述した、（１）〜（９）の９つの組み合わせの９通りのテストパターンが生成される。
【００３１】
なお、この図７に示す線路の利用パターンの総数は１００通りである。すなわち、１００通りの利用パターンが存在する線路について、９つのテストパターンで運賃計算プログラムグラムの検証が行える。
【００３２】
また、図８では、割引が適用されている線路の例を示す図である。この線路では、全ての駅が精算範囲内の駅である。この図８は、鉄道局数が２つ（第１鉄道局、および第２鉄道局）である図７と同じ線路であり、Ａ駅とＢ駅の間〜Ｄ駅とＥ駅との間の区間、およびＦ駅とＧ駅との間〜Ｇ駅とＨ駅の間における区間、に割引が適用されている点で相違している。この適用されている割引は単一の種類の割引である。図８において、Ａ駅、Ｅ駅、Ｆ駅、およびＪ駅が端駅であり、残りのＢ駅、Ｃ駅、Ｄ駅、Ｇ駅、Ｈ駅、およびＩ駅が真中駅である。また、Ｅ駅、Ｆ駅は、２ラッチ連絡駅である。また、Ａ駅、Ｅ駅、Ｆ駅、およびＨ駅が、割引にかかる範囲外境界駅である。Ｂ駅、Ｃ駅、Ｄ駅、Ｇ駅が、割引の範囲内駅である。さらに、Ｉ駅、およびＪ駅は割引の範囲外駅である。
【００３３】
この図８に示す例では、上述したｓ１で、端駅で、且つ範囲外境界駅であるＡ駅からなる第１の駅グループ、真中駅で、且つ割引の範囲内である、Ｂ駅、Ｃ駅、Ｄ駅、およびＧ駅からなる第２の駅グループ、端駅で、且つ範囲外境界駅であり、さらに連絡駅であるＥ駅、およびＦ駅からなる第３の駅グループ、真中駅で、且つ範囲外境界駅であるＨ駅からなる第４の駅グループ、真中駅で、且つ範囲外駅であるＩ駅からなる第５の駅グループ、および、端駅で、且つ範囲外駅であるＪ駅からなる第６の駅グループに分けられる。また、ここでは例示を省略するが、ｓ２では、３６通りの組み合わせが抽出される。ｓ３では、利用区間が２つの鉄道局で、２つの鉄道局がともにノーラッチ経路である経路パターンに決定される。したがって、この例では、ｓ４で３６通りのテストパターンが生成される。
【００３４】
なお、この図８に示す線路の利用パターンの総数は、図７に示した線路と同様に１００通りである。すなわち、１００通りの利用パターンが存在する線路について、３６個のテストパターンで運賃計算プログラムグラムの検証が行える。
【００３５】
また、図９は、交差駅、および自線２ラッチ駅を含む線路を示す図である。この線路では、全ての駅が精算範囲内の駅である。Ａ駅、Ｂ駅、Ｃ駅、Ｄ駅、Ｅ駅、およびＦ駅が、端駅で、且つ一般駅である。また、Ｇ駅、およびＨ駅が真中駅であり、且つ交差駅である。Ｋ駅、およびＪ駅が端駅で、且つ自線２ラッチ駅である。さらに、Ｉ駅、およびＬ駅が、真中駅で、且つ自線２ラッチ駅である。すなわち、この図９に示す線路では、ｓ１で４つの駅グループに分けられので、ｓ２では、１６通りの組み合わせが抽出される。また、ｓ３では、自線２ラッチ駅を通らないノーラッチ経路である第１の経路パターンと、自線２ラッチ駅を通る第２の経路パターンと、が決定される。したがって、この例では、ｓ４で３２通りのテストパターンが生成される。
【００３６】
なお、この図９に示す例における、入場駅と、出場駅と、の組み合わせの総数は、１４４通りである。また、経路パターンとしては、
（１）自線２ラッチを通らない経路、
（２）Ｋ駅とＩ駅との自線２ラッチを通り、Ｊ駅とＬ駅との自線２ラッチを通らない経路、
（３）Ｊ駅とＬ駅との自線２ラッチを通り、Ｋ駅とＩ駅との自線２ラッチを通らない経路、
（４）Ｋ駅とＩ駅との自線２ラッチを通り、その後Ｊ駅とＬ駅との自線２ラッチを通る経路、
（５）Ｊ駅とＬ駅との自線２ラッチを通り、その後Ｋ駅とＩ駅との自線２ラッチを通る経路、
の５つがある。したがって、この図９に示す線路の利用パターンの総数は７２０通りである。
【００３７】
さらに、図１０は、鉄道局数が２つ（第１鉄道局、および第２鉄道局）で、且つ各鉄道局の線路に自線２ラッチ駅を含む線路網を示す図である。この線路では、全ての駅が精算範囲内の駅である。ここでは、７つの駅（Ａ駅〜Ｇ駅）からなる第１の線路（第１鉄道局）と、７つの駅（Ｈ駅〜Ｎ駅）からなる第２の線路（第２鉄道局）と、からなる線路網を示している。図１０において、Ａ駅、Ｅ駅、Ｆ駅、Ｇ駅、Ｈ駅、Ｌ駅、Ｍ駅、およびＮ駅が端駅であり、残りのＢ駅、Ｃ駅、Ｄ駅、Ｉ駅、Ｊ駅、およびＫ駅が真中駅である。また、Ａ駅、Ｃ駅、Ｊ駅、およびＬ駅は、一般駅である。Ｂ駅、Ｄ駅、Ｉ駅、およびＫ駅は、交差駅である。Ｅ駅、およびＨ駅は２ラッチ連絡駅である。Ｆ駅、Ｇ駅、Ｍ駅、およびＮ駅は、自線２ラッチ駅である。ここでは、この線路に対する割引区間はないものとする。
【００３８】
この図１０に示す例では、上述したｓ１で、端駅であり且つ一般駅であるＡ駅と、Ｌ駅とからなる第１の駅グループと、端駅であり且つ連絡駅であるＥ駅とＨ駅とからなる第２の駅グループと、端駅であり且つ自線２ラッチ駅であるＦ駅、Ｇ駅、Ｍ駅、およびＮ駅からなる第３の駅グループと、真中駅であり且つ交差駅であるＢ駅、Ｄ駅、Ｉ駅、およびＫ駅からなる第４の駅グループと、真中駅で且つ一般駅であるＣ駅、およびＪ駅からなる第５の駅グループと、に分けられる。また、ここでは例示を省略するが、ｓ２では、２５通りの組み合わせが抽出される。ｓ３では、利用区間が２つの鉄道局で、２つの鉄道局がともにノーラッチ経路である第１の経路パターン、第１の鉄道局で自線２ラッチを通り、第２の鉄道局で自線２ラッチを通らない第２の経路パターン、および第１の鉄道局で自線２ラッチを通らず、第２の鉄道局で自線２ラッチを通る第３の経路パターン、の合計３通りの経路パターンが決定される。したがって、この例では、ｓ４で７５通りのテストパターンが生成される。
【００３９】
なお、この図１０に示す例における、入場駅と、出場駅と、の組み合わせの総数は、１９６通りである。また、経路パターンとしては、
（１）第１の線路、および第２の線路で自線２ラッチを通らない経路、
（２）第１の線路で自線２ラッチを通り、第２の線路で自線２ラッチを通らない経路、
（３）第１の線路で自線２ラッチを通らず、第２の線路で自線２ラッチを通る経路、
（４）第１の線路で自線２ラッチを通り、その後第２の線路で自線２ラッチを通る経路、
（５）第２の線路で自線２ラッチを通り、その後第１の線路で自線２ラッチを通る経路、
の５つがある。したがって、この図１０に示す線路の利用パターンの総数は９８０通りである。
【００４０】
上述した図６〜図１０に示した例からも明らかなように、運賃計算プログラムの検証に用いるテストパターンの総数が抑えられる。また、駅の属性情報、および経路パターンの２つの要素の組み合わせ毎に、テストパターンを生成するので、運賃計算プログラムの検証に対する信頼性も確保できる。
【００４１】
また、鉄道局間での相互乗り入れや、新線路の開業や既線路の延長等にともなって、増加した駅や、その属性が変化した駅については、駅情報記憶部１１に記憶している駅情報を更新するだけでよいので、このような鉄道網の変化に対する対応にかかる手間も抑えられる。
【図面の簡単な説明】
【００４２】
【図１】この発明の実施形態である運賃計算検証用テストパターン生成装置を用いた、シミュレーションシステムの構成を示す概略図である。
【図２】テストパターン生成装置の主要部の構成を示すブロック図である。
【図３】駅を属性情報で分類するカテゴリを示す図である。
【図４】経路情報を示す図である。
【図５】テストパターン生成処理を示すフローチャートである。
【図６】鉄道局数が１つである線路の例を示す図である。
【図７】鉄道局数が２つである線路の例を示す図である。
【図８】割引が適用されている線路の例を示す図である。
【図９】交差駅、および自線２ラッチ駅を含む線路の例を示す図である。
【図１０】鉄道局数が２つで、且つ各鉄道局の線路に自線２ラッチ駅を含む線路網を示す図である。
【符号の説明】
【００４３】
１−運賃計算検証用テストパターン生成装置（テストパターン生成装置）
２−運賃計算検証装置
１１−駅情報記憶部
１２−経路情報記憶部
１３−テストパターン生成部
１４−テストパターン出力部
【図１】
0005023860.tif 000002
【図２】
0005023860.tif 000003
【図３】
0005023860.tif 000004
【図４】
0005023860.tif 000005
【図５】
0005023860.tif 000006
【図６】
0005023860.tif 000007
【図７】
0005023860.tif 000008
【図８】
0005023860.tif 000009
【図９】
0005023860.tif 000010
【図１０】
0005023860.tif 000011