JP5495764B2 - 情報処理装置及び情報処理方法及びプログラム - Google Patents
情報処理装置及び情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP5495764B2 JP5495764B2 JP2009287380A JP2009287380A JP5495764B2 JP 5495764 B2 JP5495764 B2 JP 5495764B2 JP 2009287380 A JP2009287380 A JP 2009287380A JP 2009287380 A JP2009287380 A JP 2009287380A JP 5495764 B2 JP5495764 B2 JP 5495764B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- state transition
- test
- communication
- order
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 22
- 238000003672 processing method Methods 0.000 title claims description 3
- 230000007704 transition Effects 0.000 claims description 246
- 238000012360 testing method Methods 0.000 claims description 223
- 230000006854 communication Effects 0.000 claims description 182
- 238000004891 communication Methods 0.000 claims description 180
- 230000005540 biological transmission Effects 0.000 claims description 94
- 238000000034 method Methods 0.000 claims description 65
- 230000008569 process Effects 0.000 claims description 53
- 238000012790 confirmation Methods 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 description 56
- 238000004458 analytical method Methods 0.000 description 26
- 238000012545 processing Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 11
- 238000004088 simulation Methods 0.000 description 11
- 230000009471 action Effects 0.000 description 10
- 238000012544 monitoring process Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 4
- 238000007689 inspection Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Communication Control (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Description
また、試験実行時には、試験シナリオのメッセージとメッセージ間のシーケンスを通信設備模擬に渡し、実行している。
またメッセージ間シーケンスにおいてもメッセージ間の順序が記録されることだけが明らかにされており、記録方式の具体性に欠ける。これの具体的な例として、特許文献2がある。
したがって、収集時と試験実行時で試験対象の動作順序が仕様の範囲内で変化した場合、収集時の通信データと試験実行時の通信データの対応付けに失敗し、両者を照合した結果は不一致となる。
つまり、仕様の範囲内の動作にも関わらず、試験結果は失敗として出力することとなる。そのため、ユーザに詳細な調査を負わせることとなり、試験効率が悪い。
また、試験対象からの通信データ出力が、タイムアウトなどの所定の時間制約を守ってなされない可能性もあり得るが、特許文献2では時間制約については考慮外であり、やはり仕様への適合性と試験の合否結果が一致しないケースが発生する。
試験対象装置に対する試験を行う情報処理装置であって、
前記試験対象装置に対する試験に先立ち、所定の通信装置間で送受信されている複数のメッセージを受信する通信部と、
前記試験対象装置が用いる通信プロトコルにおいて発生し得る複数の状態と前記複数の状態における状態遷移の順序が示され、状態遷移ごとに、メッセージの属性についての条件とメッセージの受信時刻についての条件が状態遷移条件として定義されている通信順序ルールを入力する通信順序ルール入力部と、
前記通信順序ルールに示される状態遷移の順序に従って、状態遷移ごとに、前記通信部により受信されたメッセージの中から状態遷移条件に合致する属性及び受信時刻のメッセージを検索し、状態遷移条件に合致するメッセージが取得できた場合に、当該状態遷移を選択状態遷移として選択するとともに、前記選択状態遷移に対して取得されたメッセージを前記選択状態遷移よりも前の順序の状態遷移であって既に選択状態遷移として選択されている状態遷移に対して取得されているメッセージに連結し、複数のメッセージが選択状態遷移の順序に沿って順序付けられる試験シナリオを生成する試験シナリオ生成部と、
前記試験シナリオ生成部により生成された試験シナリオに含まれるメッセージを前記試験シナリオに示される順序に従って用い、前記試験対象装置に対する試験を行う試験管理部とを有することを特徴とする。
図1は、本実施の形態に係る機能構成図である。
通信シミュレータ装置100は、情報処理装置の例である。
通信シミュレータ装置100は、試験対象装置に対する試験において試験対象装置と通信を行う。
また、通信シミュレータ装置100は、試験対象装置に対する試験に先立ち、通信装置200と通信装置400との間で送受信されるメッセージを受信し、受信したメッセージを格納しておく。
そして、通信シミュレータ装置100は、試験対象装置が用いる通信プロトコルにおいて発生し得る複数の状態と複数の状態における状態遷移の順序が示される通信順序ルール600と格納しているメッセージを用いて、同じ通信仕様の範囲内でメッセージの送受信順序やタイミングが違う複数のメッセージの送受信パターンが含まれる試験シナリオを生成する。
そして、通信シミュレータ装置100は、同じ通信仕様の範囲に含まれる複数の状態遷移パターンが含まれる試験シナリオに従って試験対象装置に対する試験を行う。
このため、同じ通信仕様の範囲内でメッセージの送受信順序やタイミングが変化した場合でも、試験結果の合否を誤って出力することがなくなり、試験作業を効率化することができる。
なお、通信装置200、通信装置400は、試験対象装置であってもよいし、試験対象装置に相当する役割の装置(例えば、試験対象装置が新システムで使用される通信装置であり、通信装置200、通信装置400が現行システムで使用されている通信装置)であってもよい。
なお、図17は試験対象装置に対する試験に先立って行われる準備段階の動作フローであり、図18は試験対象装置に対する試験の実行フローである。
次に、メッセージ解析手段110がメッセージフォーマット500に基づいて、モニタ情報格納領域104に格納されているメッセージを解析し、メッセージ中のどの位置にどのようなフィールドが配置され、また、各フィールドにどのような値が設定されているかを解析する(S1402)。
ここで選出される順序関係には、試験対象装置の通信仕様の範囲内でメッセージ受信イベント(以下、受信イベントともいう)、メッセージ送信イベント(以下、送信イベントともいう)の順序が前後する複数種のバリエーションが含まれる。
順序情報は、イベント間の順序を示す情報である。
時間制約情報については後述する。
また、イベントには、試験対象装置からのメッセージの属性に関する条件が示されるフィールド値制約情報も付加される。
また、送信時間(時間差ともいう)は、イベントまたは所定のメッセージ送受信イベントを起点として、通信シミュレータ装置100が試験対象装置にメッセージを送信するタイミングである。
図19では、メッセージ2の受信時刻を起点にして、送信時間の到来の際に通信シミュレータ装置100からメッセージ3を送信する例が示されている。
図20は、順序つきシミュレータ情報を、UML(Unified Modeling Language)アクティビティ図で示したものである。
なお、図20は、図22のように略記している。つまり、UMLの規約に従うと図22(a)のようになる記述になるが、図20では図22(c)のように略記している。また、UMLの規約に従うと図22(b)のようになる記述になるが、図20では図22(d)のように略記している。
また、図20及び以下の説明では、メッセージ種別:x、ユーザID:yのメッセージをx(y)として略記している。
各ノードは、試験シナリオ上の仮想的なイベントであり、シナリオイベントという。
また、試験シナリオ内のシナリオイベントの他に、現実に発生するイベントがある。
たとえば、ユーザから現実にシミュレーション開始指示を入力したというイベントや、試験対象装置から現実にメッセージを受信したというイベントや、試験対象装置に現実にメッセージを送信したというイベントである。これら、実際に発生するイベントを実イベントという。
最初に(1)が実行される。
(1)の次に、(2)が実行される。
(2)の次に、(3)(4)(5)が任意の順序で実行される。
具体的には、(2)の0秒後(直後)に(3)を、(2)の1秒後に(4)を、(2)の2秒後に(5)を実行する。
(3)の次に、(6)が実行される。ただし、メッセージb(1)を3秒以内に受信した場合に限る。
(6)の次に、(8)(9)が任意の順序で実行される。ただし(9)は、(6)から60秒以内に実行しなければならない。その中で、5秒後に実行する。
(8)は、(5)および(6)の両方の実行後に実行しなければならない。ただし、(5)の実行後3秒以内にb(3)を受信した場合に限る。
(12)は、(10)および(8)の両方の実行後に実行しなければならない。ただし、(10)の実行後10秒以内かつ(7)の実行後300秒以内にメッセージb(2)を受信しなければならない。
ユーザによって試験対象を特定する情報(IPアドレスなど)を入力し、試験シナリオ実行直前に送受信を区別してもよく、また試験シナリオ実行中に送受信を区別してもよい。
試験シナリオ生成時に送受信を区別しない場合、メッセージ間すべてに時間差情報が付加されることとなる。
次に、順序関係制御手段112が、シミュレーション開始指示の入力イベントをトリガーに、順序つきシミュレータ情報格納領域113から順序つきシミュレータ情報を順次読み出しながら、順序関係制御手段112及びシミュレータ動作実施手段108が、イベントの順序関係を制御し、試験対象装置とのメッセージの送受信を伴いながら、シミュレーションを実行する(S1502)(試験管理ステップ)。
また、シミュレータ結果確認手段109がシミュレーションの結果を確認する(S1503)。
そして、順序つきシミュレータ情報における最終イベントに到達し、シミュレーションが終了した場合は、動作を終了し(S1504でYES)、シミュレーションが終了していない場合は、処理がS1502に戻る(S1504でNO)。
試験対象装置からの受信メッセージが正しいものであるかどうかを判定するためには、その受信メッセージが複数のパスのうちのどのパスのどのメッセージ受信イベントに対応するものなのかを判断する必要がある。
本実施の形態では、試験対象装置からメッセージを受信する度に、受信した受信メッセージの属性及び受信時刻と、メッセージ受信イベントに定義づけられているメッセージの属性に関する条件(フィールド値制約情報)及び受信時刻の条件(時間制約情報)を照合し、受信メッセージの属性及び受信時刻と適合する条件が定義づけられているメッセージ受信イベントを抽出するようにしている。
また、試験対象装置へのメッセージの送信も、現実に生じるイベント(試験対象装置からのメッセージの受信等)の状況に応じて、いずれかのパスのメッセージ送信イベントに従って行われる。
また、通信送受信手段101は、試験対象装置とのインタフェースとなり、シミュレータ動作実施手段108から指定されたメッセージを試験対象装置へ送信し、また、試験対象装置からのメッセージを受信する。
また、通信送受信手段101は、受信したメッセージの下位プロトコルを解析の上、ビットパターンのメッセージを出力する。
つまり、メッセージ解析手段110は、モニタ情報格納領域104に格納されているビットパターンのメッセージのどの位置にどのようなフィールドがあり、各フィールドにはどのような値が設定されているのかをメッセージごとに解析する。
メッセージ中の各フィールドについて、フィールド名、長さ、固定値などの情報を持つ。
換言すると、順序関係計算手段111は、通信順序ルール600に基づき、試験シナリオを生成する。
通信順序ルール600は、例えば、図4に示す情報である。
通信順序ルール600は、試験対象装置が用いる通信プロトコルにおいて発生し得る複数の状態と複数の状態における状態遷移の順序が示され、状態遷移ごとに、メッセージの属性についての条件とメッセージの受信時刻についての条件が状態遷移条件として定義されているルールである。
図4において、sx(x=1、2、3、4、5・・・)は状態を表しており、また、tx(x=1、2、3、4、5・・・)は状態遷移を表している。
また、例えば、状態遷移t2について示されている[メッセージ種別b]や[t2.message.ユーザID=t1.message.ユーザID]は、メッセージの属性についての条件であり、また、[t2.送受信時刻−t1.送受信時刻≦3秒]はメッセージの受信時刻についての条件である。
なお、図4の詳細は後述する。
そして、状態遷移条件に合致するメッセージが取得できた場合に、当該状態遷移を選択状態遷移として選択する。
更に、順序関係計算手段111は、選択状態遷移に対して取得されたメッセージを選択状態遷移よりも前の順序の状態遷移であって既に選択状態遷移として選択されている状態遷移に対して取得されているメッセージに連結し、複数のメッセージが選択状態遷移の順序に沿って順序付けられる試験シナリオを生成する。この結果、通信プロトコルの範囲内で複数の状態遷移パターン(メッセージの送受信パターン)が含まれる試験シナリオが生成される。
図4の例では、順序関係計算手段111は、s0からの状態遷移であるt1及びt5から処理を開始する。そして、例えば、t2の状態遷移条件に合致するメッセージが取得できた場合に、t2を選択状態遷移として選択し、更にt2の1つ前の順序の状態遷移であるt1に対して取得されているメッセージにt2に対して取得されたメッセージを連結する。なお、t2に対する処理は、t1が選択状態遷移として選択された場合にのみ行われるので、t2が選択状態遷移として選択された際には、t1は既に選択状態遷移として選択されており、またt1の状態遷移条件に合致するメッセージは取得済みである。
このように、状態遷移条件に合致するメッセージが取得された状態遷移は選択状態遷移として選択され、試験シナリオに反映されることになる。
例えば、t1、t2、t3、t4と続く状態遷移のパスのみ状態遷移条件に合致するメッセージが取得され、t5の状態遷移条件に合致するメッセージが取得されない場合は、t5、t6、t6、t7、t8という状態遷移のパスは試験シナリオに含まれないことになる。t5の状態遷移条件に合致するメッセージが取得できた場合には、t1、t2、t3、t4という状態遷移パスと、t5という状態遷移パスの2つの状態遷移パスが試験シナリオに含まれることになる。
図4の例では、t2を選択状態遷移とした場合に、t2のメッセージは同じ状態遷移パスの1つ前の選択状態遷移であるt1のメッセージに連結する。
一方、t6は同じ状態遷移パスの1つ前の選択状態遷移であるt5のメッセージにメッセージを連結し、t7は同じ状態遷移パスの1つ前の選択状態遷移であるt6のメッセージにメッセージを連結し、t8は同じ状態遷移パスの1つ前の選択状態遷移であるt7のメッセージにメッセージを連結する。
順序関係計算手段111は、選択状態遷移の始点となる状態が2つ以上の状態を遷移元とし当該2つ以上の状態を統合する統合状態である場合に、選択状態遷移に対して取得されたメッセージを、当該統合状態に至る2つ以上の状態遷移であって各々が既に選択状態遷移として選択されている状態遷移に対して取得されている2つ以上のメッセージの各々に連結する。
図4の例では、t3を選択状態遷移とした場合に、選択状態遷移t3の始点となる状態s2は2つ以上の状態(s1、s7)を遷移元とし当該2つ以上の状態を統合する統合状態であるので、選択状態遷移t3に対して取得されたメッセージを、当該統合状態s2に至る2つ以上の状態遷移であって各々が既に選択状態遷移として選択されている状態遷移(t2、t8)に対して取得されている2つ以上のメッセージの各々に連結する。
順序送信時間算出手段105は、試験シナリオ生成部の機能の一部を担う。
順序つきシミュレータ情報は、フィールド値解析済みメッセージ、順序情報、時間制約情報、送信時間から構成される。
図20に例示したように、順序つきシミュレータ情報は、複数のパスを含み、各パスに試験対象装置からのメッセージ受信イベントと試験対象装置へのメッセージ送信イベントが順序づけられている。順序づけは、順序情報に示される。
そして、イベントごとに試験対象装置から受信すべきメッセージ(フィールド値解析済みメッセージ)又は試験対象装置に送信すべきメッセージ(フィールド値解析済みメッセージ)が定義づけられる。
また、各イベントには試験対象装置からメッセージを受信すべき時間制約(受信時刻の条件)又は試験対象装置へメッセージを送信すべき時間制約(送信時刻の条件)が定義づけられる。時間制約は時間制約情報に示される。
また、各イベントには試験対象装置にメッセージを送信すべき送信時間(送信タイミング)が定義づけられている。
また、内部的に取り出したメッセージがどこかを記憶している。
順序関係制御手段112は、シミュレータ動作実施手段108とともに試験管理部を構成する。
また、フィールド値を解析したメッセージを順序関係計算手段111により順序情報および時間制約情報を付加させ、順序送信時間算出手段105によりメッセージおよび順序情報から送信時間を算出させる。
また、順序つきシミュレータ情報を順序つきシミュレータ情報格納領域113に格納させる。
また、シミュレータ結果確認手段109に通信送受信手段101経由のメッセージが妥当かどうかを計算させ、結果を出力装置115に出力する。
シミュレータ動作実施手段108は、順序関係制御手段112とともに試験管理部を構成する。
シミュレータ結果確認手段109は、試験結果確認部の例である。
図2において、メッセージ種別とは、メッセージの型を表しており、メッセージ種別ごとに、持ちうるフィールドや、フィールド値を示すのに必要なビット数が異なる。
例えば、ログインを要求するメッセージ種別と、ログイン要求に対して応答するメッセージ種別がある場合、ログインを要求するメッセージ種別には「ユーザID」「パスワード」などのフィールド値が含まれる。
一方、ログイン要求に対して応答するメッセージ種別の場合、「ログイン結果」「ログイン時刻」などのフィールド値が含まれる。
メッセージ中の特定の位置の値により、所定のメッセージがいずれのメッセージ種別に該当するかを識別できるようにしておく。
なお、1つのメッセージが複数のメッセージ種別に該当することはないものとする。
図2の例では、メッセージの先頭4ビットの値が0の場合にメッセージ種別aに該当することを示している。
また、メッセージの先頭4ビットの値が1の場合は、メッセージ種別bに該当することを示している。
前述のように、メッセージ解析手段110は、ビットパターンのメッセージを元に、メッセージフォーマット500に従ってフィールド値を解析する。
図3では、メッセージフォーマット500を読み出した後の処理を説明する。
S302において、次の表がなければS303へ移行し、次の表があればS304へ移行する。
S303では、該当するメッセージがないため、エラーを出力するなどして終了する。
S304では、メッセージ解析手段110はメッセージ上を指し示すポインタをメッセージの1ビット目に移動する。
S305では、メッセージ解析手段110は表の次の行を取得する。
S306において、次の行がなければS307へ移行し、次の行があればS308へ移行する。
S307では、ポインタがメッセージ上を指している場合はS301へ移行し、ポインタがメッセージ終了位置を指している場合はS308へ移行する。
S308では、メッセージ解析手段110は、これまでに解析したフィールド値解析済みメッセージを返して終了する。
S310において、固定値の列の値が空欄でなければS311へ移行し、空欄ならばS314へ移行する。
S312では、メッセージ解析手段110はビットパターンと固定値Bを比較する。
S313において、一致すればS314へ移行し、一致しなければS301へ移行する。
S314では、メッセージ解析手段110は、フィールド値解析済みメッセージに、フィールド名とフィールド値を設定する。
S315では、メッセージ解析手段110は、メッセージ上のポインタを次のフィールドの先頭へ移動させる。
S316において、メッセージが有効な位置(メッセージ上またはメッセージ終了位置)になければS301へ移行し、有効な位置にあればS305へ移行する。
なお、メッセージフォーマットに型を記載してもよく、型を記載した場合には、メッセージフォーマットの「固定値」には型に従った値を記述し、後述する通信順序ルールの遷移条件の形式1の定数には型に従った値を記述できる。その際、S312「ビットパターンと固定値Bを比較」の前に、ビットパターンを型に従った値Aに変換する処理を実行し、固定値Bと比較する。
通信順序ルールは、通信順序を示したプロトコル状態遷移を表す情報である。
状態は「メッセージ種別aの送受信後に、メッセージ種別bが送受信された後」というような状況を示している。
遷移にはt1のようなIDが付加されており、それぞれイベントとガード条件(状態遷移条件)を持つ。
イベントは、メッセージ送受信イベントが該当し、メッセージ種別のみを図中に表記している。
状態遷移条件には、ある状態から別の状態へ遷移するための条件を記述している。
状態遷移条件の形式は次の3種類があり、これらを組み合わた論理式で表される。
<遷移ID>には、この条件を持つ遷移のIDが記述される。
<フィールド名>には、メッセージ中のフィールド名が記述される。
<定数>にはフィールドの値の定数を記述する。
<フィールド名>で記述されているフィールドに<定数>で記述されている定数が含まれているメッセージを取得できれば、次の状態に遷移することになる。
この形式で記述された条件は、所定の順序でメッセージが送受信される際に、必ずこのフィールド値を持つことを表す。
例えば、状態遷移t1の[t1.message.ユーザ種別=1]について説明する。
これは、ユーザ種別フィールドに値1が示されているメッセージが抽出できれば次の状態s1への状態遷移が行われることを示している(但し、s1への状態遷移を実現するには、メッセージ種別aの条件も満たす必要がある)。
<遷移ID>と<フィールド名>は上記と同じである。
この形式で記述された条件は、所定の順序でメッセージが送受信される際に、遷移パス上においてこの遷移よりも前の遷移で送受信されたメッセージのフィールド値と一致することを示す。
例えば、状態遷移t7の[t7.message.ユーザID=t5.message.ユーザID]について説明する。
これは、t5の状態遷移条件に合致するメッセージ(第1の先行メッセージ)を検索し、検索したメッセージの特定のフィールド(ユーザIDのフィールド)と同じフィールドに、当該メッセージと同じフィールド値(ユーザID)が含まれているメッセージが抽出できればs7への状態遷移が行われることを示している(但し、s7への状態遷移を実現するには、メッセージ種別eの条件及び送受信時刻についての条件も満たす必要がある)。
<比較演算子>は、不等号や等号を記述する。
<時間差>は「3分」「1秒」のような時間を記述する。
この形式で記述された条件は、所定の順序でメッセージが送受信される場合に、遷移パス上においてこの遷移よりも前の遷移でメッセージが送受信された時刻との間に、時間制約があることを示す。
例えば、状態遷移t7の[t7.送受信時刻−t6.送受信時刻≧60秒]について説明する。
これは、t6の状態遷移条件に合致するメッセージ(第2の先行メッセージ)を検索し、検索したメッセージの受信時刻との差が制限時間である60秒以内に収まるメッセージが抽出できればs7への状態遷移が行われることを示している(但し、s7への状態遷移を実現するには、メッセージ種別eの条件及びユーザIDについての条件も満たす必要がある)。
メッセージ種別セット1つにつき、メッセージ種別が複数含まれる。メッセージ種別セットは複数存在しうる。
メッセージ種別セットは、通信データを記録した際の順序に従って、メッセージ間に順序づけをするための通信順序ルールである。
例えば、メッセージ種別セットにメッセージ種別bとgが含まれており、記録したメッセージ(通信装置200、通信装置400からキャプチャしたメッセージ)にa1、b1、b2、c1、g1、b3、g2が含まれている場合、このメッセージ種別セットによって、b1→b2→g1→b3→g2の間に順序づけがなされる。
トークンとは、通信順序ルール600上の状態遷移の遷移パス1つに対して作成され、遷移パスを構成する各遷移について、記録したメッセージとの対応付けを持ち、「トークンが指す状態」とは、最後に対応付けをされた遷移における、遷移後の状態を表す。
なお、初期状態を指すトークンは常に存在するものとする。
S503では、いずれのトークンの遷移パスにも適さなかったため、順序関係計算手段111は、エラーを出力して終了する。
次に、S505では、順序関係計算手段111は、取得した遷移について、S506以降の検査を順に実行する。
S506において、次に検査する遷移がある場合は、S507へ処理を進め、次に検査する遷移がない場合はS501へ処理を進める。
S507では、順序関係計算手段111は、フィールド解析済みメッセージm1の種別と、取得した遷移の状態遷移条件に示されるメッセージの種別が一致するかを検査する。
S508において、メッセージ種別が一致した場合は、S509へ処理を進め、一致しなかった場合はS505へ処理を進める。
S509では、順序関係計算手段111は、フィールド解析済みメッセージm1が、遷移に付属する条件を満たすか検査する。
例えば、図4の状態遷移t1の[t1.message.ユーザ種別=1]では、比較対象のt1のフィールド解析済みメッセージのユーザ種別フィールドに値1があるかどうかを判断する。
条件が他の遷移のメッセージm3のフィールド値との比較の場合(上記の形式2の条件の場合)は、トークンが保持する、フィールド解析済みメッセージm3と遷移との対応付けを参照し、他の遷移のメッセージm3のフィールド値との比較を行う。
例えば、図4の状態遷移t7の[t7.message.ユーザID=t5.message.ユーザID]では、t7のフィールド解析済みメッセージのユーザIDフィールドの値と比較対象となっているt5のフィールド解析済みメッセージのユーザIDフィールドの値が一致するか否かを判断する。
条件が他の遷移のメッセージ送受信時刻との比較の場合(上記の形式3の条件の場合)は、トークンが保持する、フィールド解析済みメッセージと遷移との対応付けを参照し、他の遷移のメッセージ送受信時刻との比較を行う。
例えば、図4の状態遷移t7の[t7.送受信時刻−t6.送受信時刻≧60秒]では、t6の状態遷移条件に合致するフィールド解析済みメッセージの受信時刻と比較対象のフィールド解析済みメッセージの受信時刻との差が制限時間である60秒以内に収まるか否かを判断する。
S512では、順序関係計算手段111は、取得したフィールド解析済みメッセージm2と、フィールド解析済みメッセージm1の間に順序情報を追加する。この際、フィールド解析済みメッセージm2が順序上先に現れるものとして追加する。つまり、状態遷移t2について取得したメッセージを状態遷移t1について取得されているメッセージに連結する。
S513では、順序関係計算手段111は、遷移tに付属している条件を、時間制約情報およびフィールド値制約情報として追加する。
条件がフィールド値と定数との比較の場合は、そのままフィールド値制約情報として追加する。
条件がフィールド値どうしの比較の場合は、トークンが保持する遷移とメッセージの対応付けを元に、フィールド値と定数との比較条件に変換し、フィールド値制約情報として追加する。
条件がメッセージの送受信時刻どうしの比較の場合は、時間制約情報としてそのまま追加する。
S514では、順序関係計算手段111は、トークンが保持する遷移パスに遷移tを追加し、遷移tとフィールド解析済みメッセージm1を対応付ける。
S521では、順序関係計算手段111は、記録したメッセージから、メッセージ種別セットに含まれるメッセージ種別を保持するメッセージを送受信時刻の順に取得する。
また、S522では、順序関係計算手段111は、送受信時刻の順序において、隣り合うメッセージ間に順序情報を追加する。
そして、順序関係計算手段111は、この処理を、メッセージ種別セットすべてについて順に実行する。
S602では、順序送信時間算出手段105は、検索したメッセージの組を順次取得する。
S603において、次のメッセージの組を取得できればS604へ移行し、できなければS606へ移行する。
S604では、順序送信時間算出手段105は、順序情報または時間制約情報で接続されたメッセージのうち、後のメッセージの受信時刻から、先のメッセージの受信時刻の時間差Aを計算する。
S605では、順序送信時間算出手段105は、2つのメッセージ間の時間制約を、時刻差Aが満たすか否かを検査する。満たさない場合は、順序送信時間算出手段105は、エラーを出力して処理を終了する。満たす場合は、時刻差Aを時間間隔情報として付加し、処理をS602に戻す。
S607では、順序送信時間算出手段105は、検索したメッセージを順次取得する。
S608では、順序送信時間算出手段105は、次のメッセージを取得できればS610へ移行し、できなければS609へ移行する。
S609では、時間差情報を付加し終えたので順序送信時間算出手段105は動作を終了する。
S610では、順序送信時間算出手段105は、メッセージの受信時刻と受信開始時刻との時間差Bを計算する。
S611では、順序送信時間算出手段105は、受信開始時からメッセージの間の時間差情報として時間差Bを設定する。
記録方式はこの方式に限らず、それぞれの情報が図に示すような関連および参照を持っていればよい。
また、フィールド解析済みメッセージおよびフィールドのデータについては、フィールド解析前のメッセージに置き換えてもよい。
イベントデータとして具体的なデータが存在するわけではない。
フィールド解析済みメッセージには、メッセージ種別が含まれる。
また、フィールド解析済みメッセージは、解析したフィールドへの参照(複数個の場合あり)を持つ。
フィールド名とフィールド値を属性として持つ。
フィールド名とフィールド値を属性として持つ。
イベント間関連データとして具体的なデータが存在するわけではない。
順序情報における前のイベントと後のイベントへの参照、時間制約情報と時間差情報における基点を表す前のイベントと終点を表す後のイベントへの参照を持つ。
S802では、シミュレータ情報作成手段107は、フィールド未解析のメッセージを、メッセージ解析手段110により、フィールド解析済みメッセージに変換する。
S803では、フィールド解析済みメッセージを元に、順序関係計算手段111により、順序情報および時間制約情報およびフィールド値制約情報を付加する。
S804では、シミュレータ情報作成手段107は、フィールド解析済みメッセージ、順序情報、および時間制約情報を元に、順序送信時間算出手段105により、時間差情報を付加する。
S805では、シミュレータ情報作成手段107は、順序つきシミュレータ情報格納領域113に、メッセージ、順序情報、時間制約情報、フィールド値制約情報、および時間差情報を記録する。
なお、あらかじめポインタは試験シナリオ上のシミュレーション開始指示の入力イベント(図20のノード(1)に相当)を指しており、図15のS1202の結果、試験開始イベント(図20のノード(2)に相当)を指しているものとする。
S902において、タイマーから起動された場合はS903へ移行する。
実受信イベントAに対応するシナリオイベントBを取得する場合はS904へ移行する。なお、実送受信イベントA(以下、実イベントAという)は、より具体的には、実際に発生した受信イベント(試験対象装置からのメッセージ受信)である。また、シナリオイベントBは、試験シナリオ上のイベントである。
また、イベントの発生を記録する場合はS907へ移行する。
なお、S903に続いて、後述する図15のS1217以降の処理が行われる。
また、S905では、順序関係制御手段112は、シナリオイベントを指している試験シナリオ上のすべてのポインタについて、ポインタが指すシナリオイベントDの次のシナリオイベントのうち、受信イベントであり、メッセージ種別が実イベントAで受信されたメッセージのメッセージ種別と一致し、実イベントAで受信されたメッセージが時間制約情報、フィールド値制約情報、順序情報のすべてを満たすシナリオイベントを取得する。
ここで、「あるシナリオイベントの次のシナリオイベント」について説明する。
図22において、ポインタがアクション1を指しており、条件1を満たしている場合には、アクション2が次のシナリオイベントに該当する。
また、アクション5〜7を指すポインタが3つあり、条件4のみ満たしている場合には次のシナリオイベントは存在せず、条件4〜6のすべてを満たす場合に限り、アクション8を返す。
また、時間制約情報を満たすかどうかの確認方法について説明する。
時間制約情報において、前のイベントで指定されたシナリオイベントに付加して記録された試験時刻と、実イベントAの発生時刻Cの時間差を計算し、その時間差が時間制約を満たすかどうかを確認する。
なお、メッセージが送信イベントか受信イベントかは、IPアドレス等の下位プロトコルの情報やメッセージのフィールド値を元にして、あらかじめ区別できるようにユーザより指定されているものとする。
また、S906において、順序関係制御手段112は、取得したシナリオイベント(シナリオイベントBに相当)と、シナリオイベントDを指すポインタEをシミュレータ動作実施手段108に返す。
なお、S906の処理により、後述の図16のS1209が実施される。
そして、順序関係制御手段112は、次の順序のメッセージが試験対象装置から受信すべき受信対象メッセージであるか否か(受信イベントであるか否か)を判断する。
次の順序のメッセージが受信対象メッセージである場合に、通信送受信手段101が試験対象装置から受信した受信メッセージのメッセージ種別及び特定のフィールドのフィールド値と抽出した受信対象メッセージのメッセージ種別及び特定のフィールドのフィールド値を照合する。
更に、順序関係制御手段112は、受信メッセージの受信時刻と所定の基準時刻との時刻差と抽出された受信対象メッセージの時間制約情報(制限時間)とを照合し、抽出した受信対象メッセージの中から、メッセージ種別及び特定のフィールドのフィールド値が受信メッセージのメッセージ種別及び特定のフィールドのフィールド値と一致し、時刻差以上の時間制約情報(制限時間)が対応付けられている受信対象メッセージを選択する。
なお、後述するように、順序関係制御手段112により選択された受信対象メッセージ(選択受信対象メッセージ)はシミュレータ結果確認手段109により試験対象装置から受信した受信メッセージと比較される。
なお、S907〜S912は、後述の図15のS1202、S1219、図16のS1216に後続する処理である。
次に、S908において、順序関係制御手段112は、ポインタEを移動させる。
ポインタを移動させる場合について、図22を用いて説明する。
ポインタがアクション1を指しており、条件1のみ満たしている場合には、アクション2、アクション3の手前の分岐、アクション4の前の分岐を指すポインタの3つに増やす。
ポインタがアクション5を指しており、条件4のみ満たしている場合には、joinノードにポインタを移動させる。
条件4〜6のすべてを満たした場合には、3つのポインタを削除し、アクション8を指すポインタ1つだけが残る。この動作については、UMLアクティビティ図の走査順序に準ずる。その後、ポインタEを削除する。
S910において、シナリオイベントFとの間に時間差情報Gがある場合はS911へ移行し、ない場合はS912へ移行する。
S911では、順序関係制御手段112はタイマーを起動する。
タイマーの監視時間は時間差情報Gが保持するものであり、タイマーはシナリオイベントFへの参照を持つ。なお、ここで起動したタイマーにセットした時間(監視時間)が経過した際には、図12のS903が実行される。
S912では、順序関係制御手段112は、シミュレータ動作実施手段108にシナリオ送信イベントFの実行を要求する。
図14のフローは、後述する図16のS1213の処理に続いて実施される。
実メッセージとは、試験対象装置から受信したメッセージであり、シナリオメッセージとは、シナリオイベントに定義づけられているメッセージであり、試験対象装置から受信すべきメッセージとして図12のS906において順序関係制御手段112により選択されたメッセージ(選択受信対象メッセージ)である。
また、シミュレータ結果確認手段109は、後述する図16のS1213においてシミュレータ動作実施手段108から実メッセージAとシナリオメッセージBを受け取る(図16のS1213ではメッセージBとメッセージDと表記)。
なお、シミュレータ結果確認手段109が受け取る段階では、試験対象装置から受信したメッセージは、メッセージ解析手段110によるフィールド解析が完了した後のメッセージである。同様に、順序つきシミュレータ情報格納領域113から受け取るメッセージもメッセージ解析手段110によるフィールド解析済みのメッセージである。
S1103において、フィールドCを取得できなかった場合はS1104へ移行し、できた場合はS1107へ移行する。
S1104では、実メッセージAのフィールドのうち、未確認のものがあればS1105へ移行し、なければS1106へ移行する。
S1105では、シミュレータ結果確認手段109は、実メッセージAに未確認のフィールドがあるため、エラーを出力して終了する。
S1106では、実メッセージAに未確認のフィールドがなければ、すべてのフィールド値が一致したことになるため、シミュレータ結果確認手段109は、実メッセージAとシナリオメッセージBが一致したことを出力する。
S1108において、フィールドDを取得できなかった場合はS1109へ移行し、できた場合はS1110へ移行する。
フィールドDを取得できなかった場合、シミュレータ結果確認手段109は、S1109において、実メッセージAとシナリオメッセージBでフィールドの個数が異なるため、エラーを出力して終了する。
S1110では、シミュレータ結果確認手段109は、フィールドCとフィールドDのフィールド値を比較し、一致しているかを検査する。
S1111において、一致しなかった場合はS1112へ移行し、一致した場合はS1113へ移行する。
S1112では、フィールド値が不一致となったため、シミュレータ結果確認手段109は、エラーを出力して終了する。
S1113では、シミュレータ結果確認手段109は、フィールドDを確認済みに設定する。
S1105、S1106、S1109、S1112、S1113の処理に続いて、後述する図16のS1214が行われる。
入力装置114から起動された場合とは、ユーザが入力装置114にシミュレーションの開始指示を入力した場合である。
通信送受信手段101から起動された場合は、通信送受信手段101が試験対象装置からメッセージを受信した場合である。
順序関係制御手段112から起動された場合は、順序関係制御手段112から試験対象装置へ送信対象メッセージを送信するよう通知された場合(図12のS903)である。
S1202に続いて、図13のS907が実施される。
S1209では、シミュレータ動作実施手段108は、メッセージ解析手段110にてメッセージBの解析を行わせた後、順序関係制御手段112に次のイベントの取得を要求し、次のイベント(0個又は1個)を取得する。ここでいう次のイベントとは、メッセージBの受信イベントに対応するシナリオイベント(メッセージ受信イベント)である。
S1209に基づき、順序関係制御手段112では、S904、S905の処理が行われ、該当するシナリオイベントがあれば、S906においてシナリオイベントとポインタEがシミュレータ動作実施手段108に返される。
シミュレータ動作実施手段108では、S1211において、受信イベントDがない場合(S906でシナリオイベントが返されなかった場合)は1212へ移行し、ある場合(S906でシナリオイベントが返された場合)はS1213へ移行する。
S1212では、シミュレータ動作実施手段108は、エラーを出力して終了する。
S1213では、シミュレータ動作実施手段108は、選択された受信イベントDのメッセージDと試験対象装置からのメッセージBをシミュレータ結果確認手段109により比較する。
S1214において、図14に示すシミュレータ結果確認手段109による検査の結果、メッセージBとDが一致した場合はS1216へ移行し、一致しなかった場合はS1215へ移行する。
メッセージが一致しなかった場合は、S1215において、シミュレータ動作実施手段108はエラーを出力して終了する。
メッセージが一致した場合は、S1216において、実メッセージ受信イベントBと、シナリオ受信イベントD、S1209で取得したポインタ(S906で順序関係制御手段112から返されたポインタ)を順序関係制御手段112に渡してイベントBの記録を要求して、終了する。
S1218では、シミュレータ動作実施手段108は、通信送受信手段101を介してメッセージEを試験対象装置へ送信する。
S1219では、シミュレータ動作実施手段108は、順序関係制御手段112にメッセージEの送信イベントの記録を要求し、終了する。
ネットワーク網と通信装置の間の通信データをモニタする通信モニタ手段、
現在時刻の管理をする時刻管理手段、
通信モニタ手段がモニタした情報が書き込まれるモニタ情報格納領域、
通信装置とのインタフェース機能を持ち、下位プロトコルを解析の上、ビットパターンのメッセージを出力する通信送受信手段、
ビットパターンのメッセージを、メッセージフォーマットに基づいて、フィールド解析済みのメッセージに変換するメッセージ解析手段、
通信順序ルールに基づき、ルールが成立したメッセージ間に順序情報や時間制約情報を付加する順序関係計算手段、
順序情報を付加されたメッセージ間の受信時刻の差、またはモニタ開始時刻からのメッセージ受信時刻の差を算出する順序送信時間算出手段、
モニタ情報格納領域からビットパターンのメッセージを取得し、メッセージ解析手段によりフィールド値を解析し、フィールド値を解析したメッセージを順序関係計算手段により順序情報および時間制約情報を付加し、順序送信時間算出手段によりメッセージおよび順序情報および時間制約情報から送信時間を算出し、順序つきシミュレータ情報格納領域に記録するシミュレータ情報作成手段、
フィールド値解析済みメッセージ、順序情報、時間制約情報、送信時間を格納する順序つきシミュレータ情報格納領域、
試験実行時に、順序情報を参照しながら送受信するメッセージを順次取り出すとともに、取りだしたメッセージに付加されている時間制約情報を出力する順序関係制御手段、
通信送受信手段経由で受信したメッセージと、順序関係制御手段により取得したメッセージのフィールド値を比較すると共に、時間制約情報の条件を満たすか検査し、合否を判定するシミュレータ結果確認手段、
通信送受信手段から受信したメッセージをメッセージ解析手段によりフィールド値解析済みのメッセージに変換し、順序関係制御手段から次のメッセージおよび時間制約情報を取得し、シミュレータ結果確認手段により通信送受信手段経由のメッセージが妥当かどうかを計算し、結果を出力装置に出力するシミュレータ動作実施手段
を持つシステムを説明した。
図23は、本実施の形態に示す通信シミュレータ装置100のハードウェア資源の一例を示す図である。
なお、図23の構成は、あくまでも通信シミュレータ装置100のハードウェア構成の一例を示すものであり、通信シミュレータ装置100のハードウェア構成は図23に記載の構成に限らず、他の構成であってもよい。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
本実施の形態で説明した「モニタ情報格納領域104」、「順序つきシミュレータ情報格納領域113」は、RAM914、磁気ディスク装置920等により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
通信シミュレータ装置100の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、本実施の形態で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
すなわち、本実施の形態で説明したフローチャートに示すステップ、手順、処理により、本発明に係る情報処理方法を実現することができる。
また、「〜手段」、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、本実施の形態の「〜手段」、「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜手段」、「〜部」の手順や方法をコンピュータに実行させるものである。
Claims (14)
- 試験対象装置に対する試験を行う情報処理装置であって、
前記試験対象装置に対する試験に先立ち、所定の通信装置間で送受信されている複数のメッセージを受信する通信部と、
前記試験対象装置が用いる通信プロトコルにおいて発生し得る複数の状態と前記複数の状態における状態遷移の順序が示され、前記通信プロトコルに含まれる複数の状態遷移パターンが含まれ、状態遷移ごとに、メッセージの属性についての条件とメッセージの受信時刻についての条件が状態遷移条件として定義されている通信順序ルールを入力する通信順序ルール入力部と、
前記通信順序ルールに示される状態遷移の順序に従って、状態遷移ごとに、前記通信部により受信されたメッセージの中から状態遷移条件に合致する属性及び受信時刻のメッセージを検索し、状態遷移条件に合致するメッセージが取得できた場合に、当該状態遷移を選択状態遷移として選択するとともに、前記選択状態遷移に対して取得されたメッセージを前記選択状態遷移よりも前の順序の状態遷移であって既に選択状態遷移として選択されている状態遷移に対して取得されているメッセージに連結し、複数のメッセージが選択状態遷移の順序に沿って順序付けられ、前記通信プロトコルに含まれる複数の状態遷移パターンが含まれる試験シナリオを生成する試験シナリオ生成部と、
前記試験シナリオ生成部により生成された試験シナリオに含まれるメッセージを前記試験シナリオに示される順序に従って用い、前記試験対象装置に対する試験を行う試験管理部とを有することを特徴とする情報処理装置。 - 前記試験シナリオ生成部は、
前記選択状態遷移に対して取得されたメッセージを、前記選択状態遷移の1つ前の順序の状態遷移であって既に選択状態遷移として選択されている状態遷移に対して取得されているメッセージに連結することを特徴とする請求項1に記載の情報処理装置。 - 前記通信順序ルール入力部は、
1つの状態から2つ以上の状態に分岐する状態遷移により状態遷移パスが複数含まれる通信順序ルールを入力し、
前記試験シナリオ生成部は、
前記選択状態遷移に対して取得されたメッセージを、前記選択状態遷移と同じ状態遷移パスに含まれ前記選択状態遷移の1つ前の順序の状態遷移であって既に選択状態遷移として選択されている状態遷移に対して取得されているメッセージに連結することを特徴とする請求項1又は2に記載の情報処理装置。 - 前記通信順序ルール入力部は、
2つ以上の状態が1つの状態に統合される状態遷移が含まれる通信順序ルールを入力し、
前記試験シナリオ生成部は、
前記選択状態遷移の始点となる状態が2つ以上の状態を遷移元とし当該2つ以上の状態を統合する統合状態である場合に、前記選択状態遷移に対して取得されたメッセージを、当該統合状態に至る2つ以上の状態遷移であって各々が既に選択状態遷移として選択されている状態遷移に対して取得されている2つ以上のメッセージの各々に連結することを特徴とする請求項1〜3のいずれかに記載の情報処理装置。 - 前記通信部は、
複数のメッセージ種別に分類され、特定のフィールドに複数種のフィールド値が含まれる複数のメッセージを受信し、
前記通信順序ルール入力部は、
いずれかの状態遷移に対して、メッセージの属性についての条件として、特定のメッセージ種別に該当すること及び特定のフィールドに特定のフィールド値が含まれていることが定義されている通信順序ルールを入力し、
前記試験シナリオ生成部は、
特定のメッセージ種別に該当すること及び特定のフィールドに特定のフィールド値が含まれていることが定義されている状態遷移に対して、前記特定のメッセージ種別に該当し、前記特定のフィールドに前記特定のフィールド値が含まれ、受信時刻についての条件に合致するメッセージを検索することを特徴とする請求項1〜4のいずれかに記載の情報処理装置。 - 前記通信順序ルール入力部は、
いずれかの状態遷移に対して、メッセージの属性についての条件として、特定のメッセージ種別に該当すること及び状態遷移の順序において先行する特定の状態遷移に設けられている状態遷移条件に合致する先行メッセージと同じ特定のフィールドに特定のフィールド値が含まれていることが定義されている通信順序ルールを入力し、
前記試験シナリオ生成部は、
特定のメッセージ種別に該当すること及び前記先行メッセージと同じ特定のフィールドに特定のフィールド値が含まれていることが定義されている状態遷移に対して、前記通信部により受信されたメッセージの中から前記先行メッセージを検索し、取得された前記先行メッセージと同じ特定のフィールドに前記特定のフィールド値が含まれ、前記特定のメッセージ種別に該当し、受信時刻についての条件に合致するメッセージを検索することを特徴とする請求項5に記載の情報処理装置。 - 前記試験シナリオ生成部は、
選択状態遷移に対して取得された各メッセージに各メッセージのメッセージ種別及び各メッセージの特定のフィールドに含まれているフィールド値を対応付け、複数のメッセージが選択状態遷移の順序に沿って順序付けられ各メッセージにメッセージ種別及びフィールド値が対応付けられている試験シナリオを生成し、
前記通信部は、
前記試験対象装置に対する試験において、前記試験対象装置からメッセージを受信し、
前記試験管理部は、
前記試験対象装置に対する試験において、試験の進展に合わせて前記試験シナリオ内の1つ以上のメッセージにポインタを設定し、前記通信部が前記試験対象装置からメッセージを受信する度に、ポインタが設定されている各メッセージの次の順序のメッセージを抽出し、次の順序のメッセージが前記試験対象装置から受信すべき受信対象メッセージであるか否かを判断し、次の順序のメッセージが受信対象メッセージである場合に、前記通信部が受信した受信メッセージのメッセージ種別及び特定のフィールドのフィールド値と抽出した受信対象メッセージのメッセージ種別及び特定のフィールドのフィールド値を照合し、抽出した受信対象メッセージの中から、メッセージ種別及び特定のフィールドのフィールド値が前記受信メッセージのメッセージ種別及び特定のフィールドのフィールド値と一致する受信対象メッセージを選択し、
前記情報処理装置は、更に、
前記試験管理部により選択された選択受信対象メッセージと前記受信メッセージを比較する試験結果確認部を有することを特徴とする請求項6に記載の情報処理装置。 - 前記通信順序ルール入力部は、
いずれかの状態遷移に対して、メッセージの属性についての条件として、特定のメッセージ種別に該当すること及び状態遷移の順序において先行する特定の状態遷移に設けられている状態遷移条件に合致する第1の先行メッセージと同じ特定のフィールドに特定のフィールド値が含まれていることが定義され、更に、メッセージの受信時刻に関する条件として、状態遷移の順序において先行する特定の状態遷移に設けられている状態遷移条件に合致する第2の先行メッセージの受信時刻からの制限時間が定義されている通信順序ルールを入力し、
前記試験シナリオ生成部は、
特定のメッセージ種別に該当すること及び前記第1の先行メッセージと同じ特定のフィールドに特定のフィールド値が含まれていることが定義され、更に、前記第2の先行メッセージの受信時刻からの制限時間が定義されている状態遷移に対して、前記通信部により受信されたメッセージの中から前記第1の先行メッセージと前記第2の先行メッセージを検索し、取得された前記第1の先行メッセージと同じ特定のフィールドに特定のフィールド値が含まれ、取得された前記第2の先行メッセージとの受信時刻の差が制限時間内に収まり、前記特定のメッセージ種別に該当するメッセージを検索することを特徴とする請求項5〜7のいずれかに記載の情報処理装置。 - 前記試験シナリオ生成部は、
選択状態遷移に対して取得された各メッセージに各メッセージのメッセージ種別及び各メッセージの特定のフィールドに含まれているフィールド値と状態遷移条件に定義されている制限時間を対応付け、複数のメッセージが選択状態遷移の順序に沿って順序付けられ各メッセージにメッセージ種別及びフィールド値と制限時間が対応付けられている試験シナリオを生成し、
前記通信部は、
前記試験対象装置に対する試験において、前記試験対象装置からメッセージを受信し、
前記試験管理部は、
前記試験対象装置に対する試験において、試験の進展に合わせて前記試験シナリオ内の1つ以上のメッセージにポインタを設定し、前記通信部が前記試験対象装置からメッセージを受信する度に、ポインタが設定されている各メッセージの次の順序のメッセージを抽出し、次の順序のメッセージが前記試験対象装置から受信すべき受信対象メッセージであるか否かを判断し、次の順序のメッセージが受信対象メッセージである場合に、前記通信部が受信した受信メッセージのメッセージ種別及び特定のフィールドのフィールド値と抽出した受信対象メッセージのメッセージ種別及び特定のフィールドのフィールド値を照合するとともに、前記受信メッセージの受信時刻と所定の基準時刻との時刻差と抽出された受信対象メッセージの制限時間とを照合し、抽出した受信対象メッセージの中から、メッセージ種別及び特定のフィールドのフィールド値が前記受信メッセージのメッセージ種別及び特定のフィールドのフィールド値と一致し、前記時刻差以上の制限時間が対応付けられている受信対象メッセージを選択し、
前記情報処理装置は、更に、
前記試験管理部により選択された選択受信対象メッセージと前記受信メッセージを比較する試験結果確認部を有することを特徴とする請求項8に記載の情報処理装置。 - 前記試験管理部は、
前記試験結果確認部により前記選択受信対象メッセージと前記受信メッセージが一致しているとの判定結果が得られた場合に、前記通信部による前記受信メッセージの受信時刻を前記試験シナリオにおいて前記選択受信対象メッセージに対応付けて記録し、前記選択受信対象メッセージの前の順序のメッセージに設定されているポインタを前記選択受信対象メッセージの次の順序のメッセージに移動させることを特徴とする請求項7又は9に記載の情報処理装置。 - 前記試験シナリオ生成部は、
選択状態遷移に対して取得された各メッセージに対して、前記試験対象装置へ送信する場合の送信タイミングを決定し、決定した送信タイミングを各メッセージに対応付け、
前記試験管理部は、
ポインタが設定されているメッセージが前記試験対象装置へ送信すべき送信対象メッセージである場合に、ポインタが設定されている送信対象メッセージの送信タイミングが到来した際に、前記通信部に対して当該送信対象メッセージの送信を指示し、
前記通信部は、
前記試験管理部から送信を指示された送信対象メッセージを前記試験対象装置に対して送信することを特徴とする請求項7、9及び10のいずれかに記載の情報処理装置。 - 前記試験管理部は、
前記通信部による前記送信対象メッセージの送信時刻を前記試験シナリオにおいて前記送信対象メッセージに対応付けて記録し、前記送信対象メッセージに設定されているポインタを前記試験シナリオ内の次の順序のメッセージに移動させることを特徴とする請求項11に記載の情報処理装置。 - 試験対象装置に対する試験を行うコンピュータが、前記試験対象装置に対する試験に先立ち、所定の通信装置間で送受信されている複数のメッセージを受信する通信ステップと、
前記コンピュータが、前記試験対象装置が用いる通信プロトコルにおいて発生し得る複数の状態と前記複数の状態における状態遷移の順序が示され、前記通信プロトコルに含まれる複数の状態遷移パターンが含まれ、状態遷移ごとに、メッセージの属性についての条件とメッセージの受信時刻についての条件が状態遷移条件として定義されている通信順序ルールを入力する通信順序ルール入力ステップと、
前記コンピュータが、前記通信順序ルールに示される状態遷移の順序に従って、状態遷移ごとに、前記通信ステップにより受信されたメッセージの中から状態遷移条件に合致する属性及び受信時刻のメッセージを検索し、状態遷移条件に合致するメッセージが取得できた場合に、当該状態遷移を選択状態遷移として選択するとともに、前記選択状態遷移に対して取得されたメッセージを前記選択状態遷移よりも前の順序の状態遷移であって既に選択状態遷移として選択されている状態遷移に対して取得されているメッセージに連結し、複数のメッセージが選択状態遷移の順序に沿って順序付けられ、前記通信プロトコルに含まれる複数の状態遷移パターンが含まれる試験シナリオを生成する試験シナリオ生成ステップと、
前記コンピュータが、前記試験シナリオ生成ステップにより生成された試験シナリオに含まれるメッセージを前記試験シナリオに示される順序に従って用い、前記試験対象装置に対する試験を行う試験管理ステップとを有することを特徴とする情報処理方法。 - 試験対象装置に対する試験を行うコンピュータに、
前記試験対象装置に対する試験に先立ち、所定の通信装置間で送受信されている複数のメッセージを受信する通信処理と、
前記試験対象装置が用いる通信プロトコルにおいて発生し得る複数の状態と前記複数の状態における状態遷移の順序が示され、前記通信プロトコルに含まれる複数の状態遷移パターンが含まれ、状態遷移ごとに、メッセージの属性についての条件とメッセージの受信時刻についての条件が状態遷移条件として定義されている通信順序ルールを入力する通信順序ルール入力処理と、
前記通信順序ルールに示される状態遷移の順序に従って、状態遷移ごとに、前記通信処理により受信されたメッセージの中から状態遷移条件に合致する属性及び受信時刻のメッセージを検索し、状態遷移条件に合致するメッセージが取得できた場合に、当該状態遷移を選択状態遷移として選択するとともに、前記選択状態遷移に対して取得されたメッセージを前記選択状態遷移よりも前の順序の状態遷移であって既に選択状態遷移として選択されている状態遷移に対して取得されているメッセージに連結し、複数のメッセージが選択状態遷移の順序に沿って順序付けられ、前記通信プロトコルに含まれる複数の状態遷移パターンが含まれる試験シナリオを生成する試験シナリオ生成処理と、
前記試験シナリオ生成処理により生成された試験シナリオに含まれるメッセージを前記試験シナリオに示される順序に従って用い、前記試験対象装置に対する試験を行う試験管理処理とを実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009287380A JP5495764B2 (ja) | 2009-12-18 | 2009-12-18 | 情報処理装置及び情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009287380A JP5495764B2 (ja) | 2009-12-18 | 2009-12-18 | 情報処理装置及び情報処理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011130235A JP2011130235A (ja) | 2011-06-30 |
JP5495764B2 true JP5495764B2 (ja) | 2014-05-21 |
Family
ID=44292320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009287380A Active JP5495764B2 (ja) | 2009-12-18 | 2009-12-18 | 情報処理装置及び情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5495764B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5805166B2 (ja) * | 2013-11-12 | 2015-11-04 | 三菱電機株式会社 | 通信試験装置、通信試験方法およびプログラム |
WO2022044190A1 (ja) * | 2020-08-27 | 2022-03-03 | 日本電信電話株式会社 | 生成装置、生成方法および生成プログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3212959B2 (ja) * | 1998-12-28 | 2001-09-25 | 日本電気通信システム株式会社 | メッセージ/シーケンス編集機能を有する自動通信プロトコル試験システムおよび試験方法 |
JP2001209414A (ja) * | 2000-01-25 | 2001-08-03 | Omron Corp | シーケンスプログラムのテスト装置 |
JP2003060735A (ja) * | 2001-08-16 | 2003-02-28 | Kddi Research & Development Laboratories Inc | 通信プロトコル試験装置 |
JP2005175915A (ja) * | 2003-12-11 | 2005-06-30 | Anritsu Corp | エミュレーション装置及びエミュレーションプログラム |
JP4494860B2 (ja) * | 2004-05-11 | 2010-06-30 | 新日本製鐵株式会社 | テスト支援システム及びテスト支援方法 |
JP4411188B2 (ja) * | 2004-11-17 | 2010-02-10 | 株式会社日立製作所 | オンラインシステム及び通信方法 |
-
2009
- 2009-12-18 JP JP2009287380A patent/JP5495764B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011130235A (ja) | 2011-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110928772B (zh) | 一种测试方法及装置 | |
JP5794107B2 (ja) | 分散型コンピュータシステム、インタラクティブ型クライアント−サーバ・アプリケーションのベリファイ方法、及び製品 | |
CN110321154B (zh) | 一种微服务的接口信息展示方法、装置及电子设备 | |
JP2012133721A (ja) | テストの網羅性を評価する装置及び方法 | |
Magee et al. | Analysing the behaviour of distributed software architectures: a case study | |
EP2447893A2 (en) | Technique for stateless distributed parallel crawling of interactive client-server applications | |
JP5318190B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
US20100058118A1 (en) | Storage medium recording information reacquisition procedure generation program and information reacquisition procedure generation apparatus | |
JP2012190219A (ja) | 情報処理装置、およびトレースログ取得方法 | |
EP2447897A2 (en) | Technique for compression of state information in the crawling of interactive client-server applications | |
CN109710810A (zh) | 变更管理方法、装置、设备和存储介质 | |
JPWO2014049804A1 (ja) | 分散システムにおけるシステム動作トレース方法 | |
JP5495764B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
JP2006058966A (ja) | ページ情報収集プログラム、ページ情報収集方法、及びページ情報収集装置 | |
KR101948927B1 (ko) | 협업 리그레이션 점검 장치 | |
EP2447895A2 (en) | Synchronization scheme for distributed, parallel crawling of interactive client-server applications | |
JP4944559B2 (ja) | 履歴情報表示装置および方法 | |
Fields et al. | DMVIS: Design, modelling and validation of interactive systems | |
Shahzadi et al. | Repairing Event Logs to Enhance the Performance of a Process Mining Model | |
EP2447896A2 (en) | Technique for efficient partial crawling of interactive client-server applications in a parallel, distributed environment | |
JP3705331B2 (ja) | ハイパーテキスト解析装置及び方法、ハイパーテキスト解析プログラムを記録した記憶媒体 | |
JP2006190033A (ja) | 情報処理システム及び通信再生処理方法 | |
US20140006882A1 (en) | Screen generation program, screen generation apparatus, and screen generation method | |
JP4955051B2 (ja) | データベースシステム、端末装置およびプログラム | |
GB2397905A (en) | Method for automatically generating and ordering test scripts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120914 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130918 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131001 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131025 |
|
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: 20140204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140304 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5495764 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |