呼接続試験プログラムおよび試験用端末
【課題】試験を効率化でき、試験担当技術者が試験を行いやすく、柔軟に試験の条件を設定できる呼接続試験プログラムおよび試験用端末を提供する。
【解決手段】IP電話の交換システム200における呼接続を試験する呼接続試験プログラムであって、ユーザによる指定に基づく試験項目の集合体としてスケジュールを作成する処理と、指定に基づく試験項目で設定されたシナリオを実行可能な要素ごとに実行し、IP電話の交換システム200に対して複数の電話端末を擬似する処理と、シナリオの実行結果をログとして記録する処理と、を試験用端末100のコンピュータに実行させる。これにより、試験を効率化でき、試験担当技術者が試験を行いやすく、柔軟に試験の条件を設定できる。
【解決手段】IP電話の交換システム200における呼接続を試験する呼接続試験プログラムであって、ユーザによる指定に基づく試験項目の集合体としてスケジュールを作成する処理と、指定に基づく試験項目で設定されたシナリオを実行可能な要素ごとに実行し、IP電話の交換システム200に対して複数の電話端末を擬似する処理と、シナリオの実行結果をログとして記録する処理と、を試験用端末100のコンピュータに実行させる。これにより、試験を効率化でき、試験担当技術者が試験を行いやすく、柔軟に試験の条件を設定できる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、IP電話の交換システムにおける呼接続を試験する呼接続試験プログラムおよび試験用端末に関する。
【背景技術】
【0002】
近年、インターネットの急速な普及に伴いIP電話装置(以下、「IP電話」という)が注目されている。IP電話サービスでは、例えば、IPネットワークに配置したSIP(Session Initiation Protocol)サーバが、呼制御プロトコルSIP(IETF標準RFC3261)により、発信端末となるIP電話と、着信端末となるIP電話との間を呼接続し、呼接続後はIP電話同士がIPネットワーク経由で音声パケットを送受信し、リアルタイムの通話を実現する。
【0003】
このようなプロトコルの規定内容には、解釈の違い、実装上の細かい仕様の違いが存在することから、実際のサービス導入時には必ずしも呼の接続が円滑に行われない。そのため、事前にIP電話装置間の接続試験を実際に行う必要がある。このような接続試験では、要求されたプロトコルが不整合なく実行されているかを検証する必要がある。
【0004】
これに対し、IP電話システムにおける異なる機種の組み合わせの多様な試験パターンを行おうとするIP電話接続試験方法が開示されている(たとえば、特許文献1参照)。特許文献1記載のIP電話接続試験方法では、複数機種のIP電話装置間のIPネットワークを介した接続試験を行っている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−27953号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記のようなIP電話の接続試験は、マシンタイムを有効に活用するために夜間や休日に対応することも多く、担当技術者(ユーザ)にとって大きな負担となっている。また、試験のために各ツールを操作するには高度な技能が要求され、ツールが高機能化しても、技術者がそれを使いこなせない場面が生じている。また、サービス導入前の試験では、実際の運用に近い条件で試験することが好ましいが、一般的にはあらかじめ準備された標準的な条件で試験され、要望に応じて柔軟に条件を変えることがなされていない。
【0007】
本発明は、このような事情に鑑みてなされたものであり、試験を効率化でき、試験担当技術者が試験を行いやすく、柔軟に試験の条件を設定できる呼接続試験プログラムおよび試験用端末を提供することを目的とする。
【課題を解決するための手段】
【0008】
(1)上記の目的を達成するため、本発明の呼接続試験プログラムは、IP電話の交換システムにおける呼接続を試験する呼接続試験プログラムであって、ユーザによる指定に基づく試験項目の集合体としてスケジュールを作成する処理と、前記指定に基づく試験項目で設定されたシナリオを実行可能な要素ごとに実行し、前記IP電話の交換システムに対して複数の電話端末を擬似する処理と、前記シナリオの実行結果をログとして記録する処理とを試験用端末のコンピュータに実行させることを特徴としている。
【0009】
これにより、ユーザによる指定に基づく試験項目で設定されたシナリオを実行するため、試験を自動化でき、ユーザは一つ一つ試験を実行する必要がなくなり、ユーザの負担を軽減することができる。その結果、呼接続試験の無人化、開発作業の効率化を進めることができる。また、IP電話の交換システムに対して複数の電話端末を擬似するため、実際の呼接続時と同様の試験を行うことができる。また、試験項目の指定により柔軟に試験の条件を設定できる。
【0010】
(2)また、本発明の呼接続試験プログラムは、パケットとして送信される前記シナリオの実行結果のログがキャプチャされたキャプチャログを記録する処理と、前記記録されたキャプチャログをシナリオに変換し、前記記録されたキャプチャログに対応する試験項目を自動生成する処理とを更に含むことを特徴としている。
【0011】
これにより、キャプチャされたログを利用して試験をすることができるため、試験の再現を簡単に実現できる。その結果、容易に不具合を把握することができる。また、ログを自動的にシナリオへ変換することができるため、ユーザの負担が軽減される。
【0012】
(3)また、本発明の呼接続試験プログラムは前記記録されたキャプチャログにおいて別個のノードとして認識されているポートを一つのノードとして設定する操作を受け付ける処理を更に含み、前記設定されたノードを一つのノードとして認識し、前記記録されたキャプチャログをシナリオに変換することを特徴としている。
【0013】
これにより、本来、一つのノードであるべきノードが分かれている場合にはまとめることができ、本来の試験結果を再現することができる。たとえば、試験用端末の送信ポートおよび受信ポートを一つのノードにまとめて、キャプチャログをシナリオに変換できる。
【0014】
(4)また、本発明の呼接続試験プログラムは、複数のIPアドレスとポートの組み合わせの中から試験対象となるノードを設定する操作を受け付ける処理を更に含み、前記試験対象として設定されたノードに関するログを対象として、前記記録されたキャプチャログをシナリオに変換することを特徴としている。これにより、試験対象となるノードのみに関する試験結果を抽出でき、本来の試験結果を再現できる。その結果、効率的に試験結果を利用できる。
【0015】
(5)また、本発明の呼接続試験プログラムは、前記記録されたキャプチャログにおいて、除外対象となる信号を指定する操作を受け付ける処理を含み、前記除外対象として指定された信号を除いて前記記録されたキャプチャログをシナリオに変換することを特徴としている。これにより、試験と関係ない信号を除外し、本来の試験結果を再現できる。その結果、効率的に試験結果を利用できる。
【0016】
(6)また、本発明の呼接続試験プログラムは、端末上で実行され、コマンドにより前記IP電話の交換システムを遠隔操作することで前記試験項目で設定されたシナリオを実行し、前記IP電話の交換システムから前記コマンドの応答を受信することを特徴としている。これにより、遠隔操作で呼接続の試験を実行でき、ユーザは試験を指示する場所が限定されないため、ユーザの負担を軽減することができる。
【0017】
(7)また、本発明の呼接続試験プログラムは、ユーザにより設定された負荷条件に応じて、一種類の試験を複数同時に繰り返して実行させることを特徴としている。これにより、基本呼やサービス呼を組み合わせ、商用条件に合わせた高負荷環境を構築することができ、そのような環境下での呼接続システムの動作を試験することができる。また、長時間安定化を含む総合安定化試験を実行できる。
【0018】
(8)また、本発明の呼接続試験プログラムは、前記シナリオの実行結果として記録されたログのうち、2つのログの指定を受け付ける処理と、前記指定を受けたログ同士を比較し、差分を表示する処理とを更に含むことを特徴としている。これにより、各ログの差から、ユーザは容易に呼接続システムの問題の有無を確認することができる。その結果、バグの見落とし等を防止でき、ユーザの負担を軽減できる。
【0019】
(9)また、本発明の呼接続試験プログラムは、ユーザの要求に応じ、前記シナリオの実行結果ログに基づいてネットワーク上の応答をシーケンス図として表示することを特徴としている。これにより、ユーザはメッセージの送受信等を含む試験結果を一目で把握することができる。また、シーケンス表示を利用して、個別にノードや信号を指定することができ、キャプチャログ変換時にもシーケンス表示を利用することができる。
【0020】
(10)また、本発明の試験用端末は、IP電話の交換システムに接続され、呼接続を試験する試験用端末であって、ユーザによる指定に基づく試験項目の集合体としてスケジュールを作成するスケジュール作成部と、前記指定に基づく試験項目で設定されたシナリオを実行可能な要素ごとに実行し、複数の電話端末を擬似するシナリオ実行部と、前記試験の結果をログとして記録する記録部とを備えることを特徴としている。これにより、試験を自動化でき、ユーザの負担を軽減することができる。また、実際の呼接続時と同様の試験を行うことができる。
【発明の効果】
【0021】
本発明によれば、試験を効率化でき、試験担当技術者が試験を行いやすく、柔軟に試験の条件を設定できる。
【図面の簡単な説明】
【0022】
【図1】試験用端末およびIP電話の交換システムの構成を示す概略図である。
【図2】試験用端末の構成を示すブロック図である。
【図3】試験用端末の自動試験における動作を示すフローチャートである。
【図4】試験用端末の試験項目設定における動作を示すフローチャートである。
【図5】試験用端末のスケジュール設定における動作を示すフローチャートである。
【図6】試験用端末の試験実行における動作を示すフローチャートである。
【図7】試験用端末のシナリオ実行における動作を示すフローチャートである。
【図8】試験用端末のシーケンス表示における動作を示すフローチャートである。
【図9】試験用端末による読込表示の動作を示すフローチャートである。
【図10】試験用端末の信号差分調査における動作を示すフローチャートである。
【図11】試験用端末の差分調査における動作を示すフローチャートである。
【図12】試験用端末の負荷試験における動作を示すフローチャートである。
【図13】試験用端末の試験実行における動作を示すフローチャートである。
【図14】試験用端末のシナリオ実行における動作を示すフローチャートである。
【図15】試験用端末のパケットログ変換における動作を示すフローチャートである。
【図16】試験用端末のパケットキャプチャにおける動作を示すフローチャートである。
【図17】試験用端末の試験項目作成における動作を示すフローチャートである。
【図18】試験用端末による試験項目の各項目の作成の動作を示すフローチャートである。
【図19】試験用端末による試験項目の変換規則ファイル検索の動作を示すフローチャートである。
【図20】試験用端末およびIP電話の交換システム200の構成を示す概略図である。
【図21】試験用端末のリモートシェル機能における動作を示すフローチャートである。
【図22】試験用端末によるファイル内容表示の動作を示すフローチャートである。
【図23】試験用端末によるリモートシェル実行の動作を示すフローチャートである。
【図24】試験用端末のシナリオ実行における動作を示すフローチャートである。
【図25】試験用端末のコマンド実行における動作を示すフローチャートである。
【図26】試験用端末のTELNETコマンド実行における動作を示すフローチャートである。
【図27】試験用端末のRSH/SSHコマンド実行における動作を示すフローチャートである。
【発明を実施するための形態】
【0023】
次に、本発明の実施の形態について、図面を参照しながら説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては同一の参照番号を付し、重複する説明は省略する。
【0024】
[第1の実施形態]
〔試験用端末の構成〕
図1は、試験用端末100およびIP電話の交換システム200の構成を示す概略図である。試験用端末100は、呼接続を試験する端末である。IP電話の交換システム200は、サーバ300および電話機400を含んで構成されており、サーバ300と電話機400とはネットワークNにより接続されている。試験用端末100は、電話機400に対して擬似的に相手端末として動作することで、サーバ300の機能を試験することができる。なお、サーバ300は、SIPサーバであることが好ましいが、SIPサーバ以外であってもよい。また、電話機400は、携帯端末であってもよいし固定端末であってもよい。
【0025】
図2は、試験用端末100の構成を示すブロック図である。図2に示すように、試験用端末100は、パケットログ変換部102、試験項目作成部104、TCP常時接続部110、リモートシェル実行部111、負荷試験実施部112、スケジュール作成部120、自動試験実施部121、信号差分調査部130およびシーケンス表示部131を備えている。
【0026】
ライセンス制御部101は、各部が各機能を動作させる前に、ユーザにライセンスの有無を確認する。これに対し、ユーザは登録操作を行う。ライセンス制御部101は、ライセンスキーの生成における暗号化技術としてMD5を使用し、試験用端末100の情報や時刻情報等から、ライセンスキーを他のPCにて流用できない仕組みを実現している。
【0027】
パケットログ変換部102は、キャプチャログを解析し、試験項目を作成する。キャプチャログは、試験結果情報を含む一連のパケットをキャプチャすることで得られる。ログのキャプチャは、LANアナライザによりLAN上で送受信されるパケットのモニタリングにより行われる。
【0028】
試験項目作成部104は、試験項目ファイルを作成し、その試験項目をスケジュールに設定し、それを元に負荷試験を実施させる。試験項目は、実行する試験の定義となるものであり、たとえば試験の実施時間、試験を開始するシナリオ、試験構成(能動開始・受動開始)、インタフェースが該当する。
【0029】
TCP常時接続部110は、TCP常時接続設定ファイルを元に設定を解析し、コネクションを生成する。そして、実行結果ファイルを作成する。TCP常時接続設定ファイルは、あらかじめユーザにより作成される。
【0030】
リモートシェル実行部111は、ユーザから受けたリモートシェルのコマンドをサーバ300に実行させる。その一方で、リモートシェル設定ファイルを作成し、実行結果をサーバ300から受領して実行結果ファイルを作成する。なお、リモートシェルとコマンドシナリオ実行は、いずれも試験を遠隔操作により行う点で共通している。ただし、リモートシェルではユーザにより対話式にコマンドが送信されるのに対し、コマンドシナリオ実行では、一連のコマンドが一度に実行される点で両者は相違している。
【0031】
負荷試験実施部112は、試験項目ファイル、リモートシェルファイルまたはTCP常時接続設定ファイルに基づいて、ファイルの設定を元に設定を元に自動試験実施部121に試験を実施させる。そして、負荷試験結果ログおよび信号ログを出力する。これにより、設定した負荷条件に合わせてユーザの作成したシーケンスを繰り返し送受信することができる。
【0032】
スケジュール作成部120は、試験項目をスケジュールに設定し、スケジュールファイルを作成する。そして、作成したスケジュールを自動試験実施部121に送出する。
【0033】
自動試験実施部121は、スケジュールファイル、試験項目ファイル、リモートシェルファイル、TCP常時接続設定ファイルにより、試験を自動で実施する。そして、自動試験結果ログおよび信号ログを出力する。これにより、夜間や休日等の無人時間帯におけるマシンリソースの有効利用やリグレッション試験等が可能になる。
【0034】
信号差分調査部130は、自動試験で出力された信号ログを元に、2つのログの差分を調査し、差分ファイルおよび比較結果ファイルを作成する。自動試験で生成された複数のログファイルを比較し、差分を出力する機能である。これにより、たとえば、この機能を自動試験後の結果確認やリグレッション試験、バグ発生時の再現試験等に利用できる。目視に頼っていた試験結果の確認を機械化することにより、確認の精度を各段に向上させることができる。比較オプションの機能により、差分出力する情報をユーザが任意に設定することもできる。
【0035】
シーケンス表示部131は、自動試験の実施により生じた信号ログ出力をもとに信号ログを解析し、シーケンス図を表示する。これにより、自動試験で送受信されたメッセージをシーケンスとして表示させることができる。試験結果が視覚化されるため、確認作業を容易にし、大幅にかかる時間を短縮することができる。また、テキスト出力することで、各種資料作成時の素材とすることもできる。
【0036】
〔試験用端末の動作〕
(自動試験)
次に、試験用端末100の動作を説明する。まず、自動試験の動作を説明する。自動試験とは、自動で一連のコマンドを実行させる試験をいう。これにより、常時、試験用端末100を監視する必要がなく、ユーザの負担を軽減することができる。図3は、試験用端末100の自動試験における動作を示すフローチャートである。自動試験が開始されると、まず、試験用端末100は、スケジュールが作成済みか否かを判定する(ステップS101)。なお、スケジュールとは、自動試験にて実行する試験項目がリストアップされたファイルを指す。
【0037】
スケジュールが作成済みである場合にはステップS104に移行する。スケジュールが未作成である場合には、試験項目を設定し(ステップS102)、スケジュールを設定する(ステップS103)。試験項目の設定およびスケジュールの設定の詳細は後述する。次に、実行スケジュールの設定を受け付ける(ステップS104)。具体的には、試験実施時に、ユーザがどのスケジュールを実行するかを画面上のGUIで指定する。実行スケジュールが設定されたら、試験を実行し(ステップS105)、自動試験を終了する。なお、試験の実行の詳細は後述する。
【0038】
図4は、試験用端末100による試験項目設定の動作を示すフローチャートである。試験項目の設定が開始されると、まず、試験項目の指定を受け付ける(ステップS111)。たとえば、ユーザは、試験の実施時間、試験を開始するシナリオ、および試験構成(能動開始・受動開始)等の試験条件を指定する。次に、インタフェースの設定操作を受け付ける(ステップS112)。インタフェースの設定には、たとえばプロトコル種別(SIP擬似/Command擬似)、ローカルIP(IPバージョン、IPアドレス、ホスト名)、リモートIP(IPアドレス、ホスト名)、トランスポート(TCP/UDP、ポート)、ユーザ情報(電番、認証ユーザ名、認証パスワード)、シナリオ、およびメッセージテンプレートの設定が挙げられる。そして、指定された試験項目および設定されたインタフェースに従った試験項目を作成することで試験項目ディレクトリを作成し(ステップS113)、試験項目の設定を終了する。具体的には、試験項目定義や、シナリオ・テンプレートを試験項目毎に1つのディレクトリにまとめて配置する。
【0039】
図5は、試験用端末100によるスケジュール設定の動作を示すフローチャートである。スケジュール設定が開始されると、まず、実行対象の試験項目の設定を受け付ける(ステップS121)。すなわち、スケジュール作成時に、ユーザがどの試験項目を実行するかを画面上の操作で指定する。次に、スケジュールを設定する(ステップS122)。そして、設定された実行対象の試験項目およびスケジュールの内容に従って、スケジュールファイルを作成して(ステップS123)、スケジュールの設定を終了する。
【0040】
図6は、試験用端末100による試験実行の動作を示すフローチャートである。試験の実行が開始されると、まず、スケジュールが完了したか否かを判定し(ステップS131)、スケジュールが完了した場合には、試験の実行を終了する。一方、スケジュールが未完了である場合には、強制終了通知か、停止通知を受けているか否かを判定する(ステップS132)。なお、強制終了通知および停止通知は、いずれもステップS104で設定された実行スケジュールに基づき、所定の場合に通知される。
【0041】
そして、強制終了通知か、停止通知を受けている場合には、試験の実行を終了する。一方、強制終了通知または停止通知のいずれをも受けていない場合には、項目が試験の実行対象か否かを判定する(ステップS133)。項目が試験の実行対象でない場合には、ステップS131に戻る。一方、項目が試験の実行対象である場合には、試験項目ファイルを読み込む(ステップS134)。
【0042】
試験項目ファイルを読み込んだら、読み込んだ試験項目ファイルの試験項目設定データに従ってシナリオを実行する(ステップS135)。シナリオの実行の詳細は後述する。次に、試験項目の実行結果を通知し(ステップS136)、ステップS131へ戻る。通知された試験項目実行結果は、その後のステップS134の試験項目ファイル読込の際に読み込まれる。
【0043】
図7は、試験用端末100によるシナリオ実行の動作を示すフローチャートである。シナリオ実行を開始すると、まず、シナリオデータを含む試験項目設定データを利用して試験ユニットを作成する(ステップS141)。次に、イベント待ち状態に移行する(ステップS142)。後述のステップS143、S144、S146、S147、S153およびS150の動作によりイベント通知がなされ、通知に応じて各イベントがなされる。
【0044】
この状態において、シナリオ開始通知があったときには、作成された試験ユニットのうちのシナリオデータを利用してシナリオユニットを作成し(ステップS143)、ステップS154に進む。シナリオ開始通知は、ステップS141における試験ユニット作成時または後述のステップS153のシナリオスタート時に通知がなされる。また、シナリオ停止通知があったときには、シナリオユニットを削除し(ステップS144)、ステップS154に進む。シナリオ停止通知は、ステップS146またはステップS150におけるシナリオ要素の実行によりなされる。また、シナリオ再開通知があったときには、シナリオユニットを取得し(ステップS145)、シナリオデータに従ってシナリオ要素を実行する(ステップS146)。シナリオ再開通知は、ステップS147において受領されたタイムアウト通知に基づいてなされる。シナリオの実行により、IP電話の交換システムに対して複数の電話端末を擬似するため、実際の呼接続時と同様の試験を行うことができる。そして、ステップS154に進む。また、タイムアウト通知があったときにはS154に進む(ステップS147)。なお、タイムアウト通知は、オペレーティングシステムによりなされる。
【0045】
一方、信号受信があった(ステップS148)ときには、受信信号から対象となるシナリオユニットを取得したか否かを判定する(ステップS149)。信号受信の有無の判定のもとになる受信信号通知は、オペレーティングシステムによりなされる。受信信号から対象となるシナリオユニットを取得した場合には、シナリオデータに従ってシナリオ要素を実行し(ステップS150)、ステップS154へと進む。
【0046】
受信信号から対象となるシナリオユニットを取得しなかった場合には、シナリオ名を取得する(ステップS151)。そして、テンプレート名も取得し(ステップS152)、シナリオをスタートさせ(ステップS153)、ステップS154へと進む。
【0047】
ステップS154では、試験が完了したか否かを判定する(ステップS154)。そして、試験が完了したときにはシナリオの実行を終了する。試験が完了してない場合にはステップS142に戻る。
【0048】
このように、設定されたスケジュールに基づいて作成されたシナリオが実行されるため、試験を自動化でき、ユーザは一つ一つ試験を実行する必要がなくなる。そして、ユーザの負担を軽減することができる。その結果、呼接続試験の無人化、開発作業の効率化を進めることができる。
【0049】
(シーケンス表示)
次に、シーケンス表示の動作を説明する。図8は、試験用端末100によるシーケンス表示の動作を示すフローチャートである。シーケンス表示が開始されると、まず、試験結果のログファイルの指定を受け付ける(ステップS201)。そして、指定された試験結果のログファイルを読み込み、シーケンス図に変換、表示し(ステップS202)、終了する。シーケンス図の表示により、ユーザはメッセージの送受信等を含む試験結果を一目で把握することができる。また、シーケンス表示を利用して、個別にノードや信号を指定することができ、キャプチャログ変換時にもシーケンス表示を利用することができる。なお、シーケンス図への変換および表示については、次に詳細に説明する。
【0050】
図9は、試験用端末100による読込表示の動作を示すフローチャートである。読込表示の動作が開始すると、試験用端末100は、指定された試験結果のログを読み込む(ステップS211)。そして、ログフォーマットが適当か否かを判定する(ステップS212)。シーケンス表示機能では、自動試験ログをシーケンスとして画面に表示するため、ログフォーマットのチェックが必要となる。そのチェックでは、ユーザに指定されたログのフォーマット解析を実施し、ログファイルの内容に異常がないかを確認する。そして、ログフォーマットが適当でない場合には、一連の動作を終了する。
【0051】
一方、ログフォーマットが適当な場合には、擬似IF番号を取得し、ループを開始する(ステップS213)。なお、擬似IFは、インタフェース設定を指す。自動試験ログでは、インタフェース設定で作成した擬似IFを番号で管理している。次に、ログファイルから端末間の送受信方向(ステップS214)および信号名(ステップS215)を収集し、信号内容を保存し(ステップS216)、擬似IF番号に従い、上記の動作のループを繰り返す(ステップS217)。次に、各信号の送受信を時系列に並べ替え(ステップS218)、得られた信号送受信のシーケンスを表示する(ステップS219)。
【0052】
(信号差分調査)
次に、信号差分調査の動作を説明する。信号差分調査では、ユーザにより指定された自動試験ログを比較する。図10は、試験用端末100による信号差分調査の動作を示すフローチャートである。信号差分調査が開始されると、まず、比較情報の設定を受け付ける(ステップS301)。比較情報とは、比較対象(ファイル単一比較/ディレクトリ一括比較)、比較元の自動試験ログ、比較先の自動試験ログ、比較オプションファイル、および比較結果出力先等の情報を指す。そして、設定された比較情報により指定されたログファイルの内容から差分を調査し(ステップS302)、終了する。信号差分調査については、次に詳細に説明する。
【0053】
図11は、試験用端末100による差分調査の動作を示すフローチャートである。差分調査が開始すると、まず、比較オプション情報を全て読み込む(ステップS311)。比較オプション情報とは、比較オプションファイルの内容である。比較オプションファイルでは、SIPヘッダ毎に比較するか否かが事前にユーザにより設定可能となっている。そして、ログファイルから情報収集することで、比較元ファイルの1行を取得し(ステップS312)、比較先ファイルの1行を取得し(ステップS313)、差分を比較する(ステップS314)。
【0054】
次に、差分ファイルに比較結果を出力する(ステップS315)。これにより、各ログの差から、ユーザは容易に呼接続システムの問題の有無を確認することができる。その結果、バグの見落とし等を防止でき、ユーザの負担を軽減できる。次に、比較元ファイル、比較先ファイル共に実行が終了したか否かを判定する(ステップS316)。比較元ファイル、比較先ファイルのいずれかの実行が終了していないときにはステップS312に戻る。比較元ファイル、比較先ファイル共に実行が終了した場合には、差分調査を終了する。
【0055】
(負荷試験)
次に、負荷試験の動作を説明する。図12は、試験用端末100の負荷試験における動作を示すフローチャートである。負荷試験が開始されると、まず、負荷試験設定情報を受け付ける(ステップS401)。負荷設定項目には、(1)同時実行数、(2)実行間隔、(3)レジスター間隔がある。そして、試験を実行し(ステップS402)、終了する。試験実行については、次に詳細に説明する。
【0056】
図13は、試験用端末100による試験実行の動作を示すフローチャートである。あらかじめ、ユーザにより実行する試験項目、試験項目の同時実行数、試験項目の実行間隔が指定され、負荷試験情報が設定されているものとする。負荷試験では、試験用端末100が試験項目をパラレルに繰り返し実行する。負荷試験の実行が開始されると、まず、負荷試験情報の設定を取得する(ステップS411)。そして、試験項目ファイルを読み込み(ステップS412)、読み込んだ試験項目ファイルのうち設定ファイルのデータに基づいて同時実行数分の試験ユニットを作成する(ステップS413)。そして、試験ユニットを構成する試験項目のデータを利用してシナリオを実行し(ステップS414)、負荷試験情報の設定に基づいて負荷試験終了の通知を受け(ステップS415)、試験実行を終了する。シナリオ実行については、次に説明する。
【0057】
図14は、試験用端末100によるシナリオ実行の動作を示すフローチャートである。シナリオ実行が開始すると、まず、試験項目設定データおよび負荷試験設定データを利用して試験ユニットを作成し(ステップS421)、シナリオをスタートさせる(ステップS422)。そして、イベント通知の待ち状態へ移行する(ステップS423)。後述のステップS424、S425、S426、S427およびS429の動作によりイベント通知がなされ、通知に応じて各イベントがなされる。
【0058】
このとき、オペレーティングシステムからタイムアウト通知があったときには、そのままステップS430に進む(ステップS424)。また、シナリオ終了通知があったときには、シナリオ実行結果の通知やカウントを行い、ステップS430に進む(ステップS425)。シナリオ終了通知は、1つの試験項目が終了したときにイベント待ち状態でなされる通知である。また、シナリオ実行結果通知は、その後ステップS423において処理される。カウントとは、画面上に表示する情報のカウントを指す。画面上には、開始日時、終了日時、試験時間、開始項目数、完了項目数、不完了項目数、および秒間完了数等が表示される。これらのうち、開始項目数、完了項目数、および不完了項目数は、カウントの対象である。この後、「試験項目終了通知」によりステップS427で再度試験項目を起動する。一方、イベント待ち状態でなされた全シナリオ終了の通知を受けたときには試験停止通知を行い、ステップS430に進む(ステップS426)。全シナリオ終了通知は、負荷試験の停止時に、起動中のシナリオが全て終了した場合の通知である。この後、イベント待ち状態でなされた「試験項目停止通知」によりメモリ削除等の負荷試験機能の停止処理が実行される。
【0059】
また、イベント待ち状態でなされた試験項目の終了通知があったときには試験を再スタートさせ、ステップS430に進む(ステップS427)。このように「試験項目終了通知」は、試験項目の再起動に使用される。また、負荷試験情報の設定に基づいて試験項目停止通知があったときには試験終了を通知し、ステップS430に進む(ステップS428)。なされた試験終了通知は、ステップS423において処理される。このように、「試験項目停止通知」は、負荷試験機能の終了時に通知される。また、イベント待ち状態でなされた試験項目開始タイマの停止要求があったときには、タイマを停止し、ステップS430に進む(ステップS429)。
【0060】
なお、タイマとは、指定された時間が経過した時点で、実際の処理(例えばシナリオを動作させている機能部)を行っている機能部へ通知イベントを発行する機能部である。負荷試験開始時にユーザにて指定が必要となる、「試験項目の実行間隔」などは、タイマ機能部を利用して時間管理が実施される。すなわち、試験項目が終了した時点から、再起動を行うまでの時間が管理される。次に、試験終了通知を受けたか否かを判定する(ステップS430)。そして、シナリオ実行の一連の処理を終了する。
【0061】
これにより、基本呼やサービス呼を組み合わせ、商用条件に合わせた高負荷環境を構築することができ、そのような環境下での呼接続システムの動作を試験することができる。また、長時間安定化を含む総合安定化試験を実行できる。
【0062】
(パケットログ変換)
次に、パケットログ変換の動作を説明する。図15は、試験用端末100によるパケットログ変換の動作を示すフローチャートである。パケットログ変換が開始されると、まず、パケットキャプチャが指定される(ステップS501)。パケットキャプチャの指定の詳細は後述する。そして、指定されたパケットキャプチャのデータを利用してシーケンス図を表示する(ステップS502)。次に、TCPノードの設定(ステップS503)、試験対策ノードの設定(ステップS504)、除外信号の選択(ステップS505)の操作を並列で受け付ける。
【0063】
TCPでは、試験用端末100の送信ポート/受信ポートが異なるため、シーケンス表示の際、別のノードとして表示される。たとえば、IPアドレスとポートの組み合わせを1つのノードとする。これにより、本来、一つのノードであるべきノードが分かれている場合にはまとめることができ、本来の試験結果を再現することができる。たとえば、試験用端末の送信ポートおよび受信ポートを一つのノードにまとめて、キャプチャログをシナリオに変換できる。
【0064】
「TCPノード設定」では、これらのノードを1つのノードとする設定操作をユーザから受け付ける。試験対象ノード設定では、複数のIPアドレスとポートの組み合わせの中から試験対象となるものが設定される。これにより、試験対象となるノードのみに関する試験結果を抽出でき、本来の試験結果を再現できる。その結果、効率的に試験結果を利用できる。
【0065】
除外信号選択では、パケットログ変換後に作成されるシナリオに含める必要のない信号を、ユーザが削除指定する。そのとき、たとえば再送信号などが除外信号として選択される。シーケンス図が画面表示されている状態で、たとえばユーザが除外対象の信号をダブルクリックすることで、削除すべき信号が指定される。これにより、試験と関係ない信号を除外し、本来の試験結果を再現できる。その結果、効率的に試験結果を利用できる。
【0066】
次に、変換準備が完了したか否かを判定する(ステップS506)。変換準備が完了していないときには、ステップS503に戻る。一方、変換準備が完了した場合には、ステップS503、S504、S505において受け付けた設定およびパケットキャプチャのデータから試験項目を作成して(ステップS507)、パケットログ変換機能を終了する。なお、試験項目の作成の詳細は後述する。
【0067】
図16は、試験用端末100によるパケットキャプチャの動作を示すフローチャートである。パケットキャプチャの指定を開始すると、まず、パスの指定を受け付ける(ステップS511)。具体的には、変換を行うパケットキャプチャファイルのディレクトリパスの指定を受け付ける。次に、読み込みが成功したか否かを判定する(ステップS512)。読み込みに失敗したときには、読み込み失敗メッセージを表示し(ステップS513)、ステップS516に進む。読み込みが成功したときには、読み込んだパスをカレントファイルに設定し(ステップS514)、ステップS511で指定されたパスからタイトルを作成する(ステップS515)。これにより、画面のタイトルバーの表示内容が作成される。次に、タイトル表示を更新し、作成したタイトルを画面表示する(ステップS516)。そして、パケットキャプチャの指定を終了する。
【0068】
図17は、試験用端末100による試験項目作成の動作を示すフローチャートである。試験項目を開始すると、試験項目名を指定する(ステップS521)。また、インタフェース毎の分割生成の指定を受け付ける(ステップS522)。分割生成が指定されると、ノード(インタフェース)毎に別々の試験項目が作成される。複数のインタフェースを使用して試験を行う場合には分割生成を指定するのが好ましい。そして、このような処理と同時にインタフェース(ステップS523)、インタフェース名(ステップS524)、擬似種別(ステップS525)、テンプレート変換規則(ステップS526)の各指定を順番に受け付ける。
【0069】
パケットログの変換処理は、ノード(インタフェース)毎に、インタフェース名や変換規則などを指定して行うため、どのノード(インタフェース)について設定を行うかをユーザが指定する必要がある。なお、テンプレート変換規則とは、パケットキャプチャの信号データを、メッセージテンプレートに変換するための変換ルールであり、ユーザにより、その変換ルールが記載されたファイルが指定される。テンプレート変換規則ファイルは、事前にユーザにより用意される。次に、保存先を指定する(ステップS527)。項目作成後の項目編集画面の起動を指定する(ステップS528)。
【0070】
次に、試験項目作成の準備が完了したか否かを判定する(ステップS529)。試験項目作成の準備が完了していない場合には、最初に戻る。試験項目作成の準備が完了したときには、作成確認画面を表示する(ステップS530)。
【0071】
次に、作成してよいか否かをユーザに確認する(ステップS531)。作成しないことが確認されたときには、最初に戻る。作成してよいと確認されたときには、ステップS521〜S527において指定されたデータから試験項目の各項目を作成する(ステップS532)。これにより、キャプチャされたログを利用して試験をすることができるため、試験の再現を簡単に実現できる。その結果、容易に不具合を把握することができる。また、ログを自動的にスケジュールへ変換することができるため、ユーザの負担が軽減される。
【0072】
次に、試験項目の各項目の作成の動作について説明する。図18は、試験用端末100による試験項目の各項目の作成の動作を示すフローチャートである。まず、試験用端末100は、パケットキャプチャ信号を読み出す(ステップS541)。そして、パケットキャプチャ信号から信号ディレクション(ステップS542)、信号名(ステップS543)およびヘッダ名(ステップS544)を収集する。そして、これらをパラメータ分解し(ステップS545)、変換規則ファイルを検索する(ステップS546)。なお、信号ディレクションは、送信方向または受信方向の信号方向を表す。変換規則ファイルの検索については後述する。
【0073】
次に、変換規則ファイルの適用データがあるか否かを判定する(ステップS547)。変換規則ファイルの適用データがないときには、信号データを更新する(ステップS548)。一方、変換規則ファイルの適用データがあるときには、キャプチャデータがあるか否かを判定する(ステップS549)。キャプチャデータがない場合には、ステップS541に戻る。一方、キャプチャデータがある場合にはそのまま各項目の作成の動作を終了する。
【0074】
次に、変換規則ファイル検索の動作について説明する。図19は、試験用端末100による試験項目の変換規則ファイル検索の動作を示すフローチャートである。まず、試験用端末100は、規則データを読み出す(ステップS551)。次に、規則データについて信号ディレクションが合致しているか否かを判定する(ステップS552)。信号ディレクションが合致していない場合には、キャプチャデータがあるか否かを判定する(ステップS553)。キャプチャデータがある場合にはステップS551に戻る。キャプチャデータがない場合には、適用データがないことを記録し(ステップS554)、変換規則ファイル検索の動作を終了する。
【0075】
一方、ステップS552で信号ディレクションが合致していたときには、適用対象が共通指定か否かを判定する(ステップS555)。そして、適用対象が共通指定であるか否かを判定する。共通指定でなく個別指定の場合には、信号名が合致しているか否かを判定する(ステップS556)。信号名が合致しないときには、ステップS553に移行する。信号名が合致するときには、パラメータの合致を判定する(ステップS557)。そして、パラメータが合致しないときには、S553に移行する。パラメータが合致するときは、適用データがあることを記録し(ステップS558)、変換規則ファイル検索の動作を終了する。
【0076】
これにより、IPアドレスや電話番号などの可変データを、環境にあわせて適用できパケットキャプチャの信号データを規則に従って部分的に書き換えることが可能となる。
【0077】
[第2の実施形態]
〔試験用端末の構成〕
上記の実施形態では、試験用端末100とサーバ300とが直接接続されているが、試験用端末100とサーバ300とがネットワークNを介して接続されていてもよい。図20は、試験用端末100およびIP電話の交換システム200の構成を示す概略図である。試験用端末100は、ネットワークNを介してサーバ300を試験することができる。
【0078】
〔試験用端末の動作〕
(リモートシェル)
次に、上記構成における試験用端末100の動作を説明する。まず、リモートシェルにより試験用端末100が一つのコマンドをサーバ300に実行させる場合を説明する。図21は、試験用端末100によるリモートシェル機能の動作を示すフローチャートである。リモートシェル機能が開始すると、ファイルパスの指定によるコマンドファイルの指定を受け付け(ステップS601)、指定されたファイルパスを用いて指定されたファイル内容を表示する(ステップS602)。コマンドファイルとは、複数のコマンド記述したテキストファイルである。ファイル内容の表示の詳細は後述する。そして、内容が表示されたファイル内のコマンド行のリモートシェルを実行し(ステップS603)、リモートシェル機能を終了する。リモートシェルの実行の詳細は後述する。
【0079】
図22は、試験用端末100によるファイル内容表示の動作を示すフローチャートである。ファイル内容表示が開始すると、まず、コマンドファイルを読み込む(ステップS611)。フォーマットは適当か否かを判定する(ステップS612)。フォーマットが適当でないときには、終了する。フォーマットが適当である場合には、コマンドファイル内の情報を接続先情報として表示する(ステップS613)。そして、コマンド内容を表示し(ステップS614)、終了する。
【0080】
図23は、試験用端末100によるリモートシェル実行の動作を示すフローチャートである。リモートシェル実行を開始すると、まず、コマンドファイル内の情報で決まる接続先へrsh接続する(ステップS621)。そして、コマンド応答を表示し(ステップS622)、終了する。
【0081】
(コマンドシナリオ実行)
図24は、試験用端末100によるシナリオ実行の動作を示すフローチャートである。シナリオデータを含む試験項目設定データを利用してシナリオ実行が開始すると、まず、試験ユニットを作成し(ステップS701)、ソケットを生成する(ステップS702)。次に、イベント通知の待ち状態へ移行する(ステップS703)。後述のステップS705、S706、S708、S709およびS711の動作によりイベント通知がなされ、通知に応じて各イベントがなされる。
【0082】
この状態において、シナリオ開始通知があったときには、試験ユニットのうちのシナリオデータを利用してシナリオユニットを作成し(ステップS704)、コマンドを実行して(ステップS705)ステップS712に進む。なお、シナリオ開始通知は、ステップS701における試験ユニット作成時に通知がなされる。また、コマンドの実行の詳細は後述する。また、シナリオ停止通知があったときには、シナリオユニットを削除し(ステップS706)、ステップS712に進む。シナリオ停止通知は、ステップS711におけるコマンドの実行の成否の判定によりなされる。また、シナリオ再開通知を取得したときには(ステップS707)、コマンドを実行する(ステップS708)。シナリオ再開通知は、ステップS709において受領されたタイムアウト通知に基づいてなされる。コマンドの実行の詳細は後述する。そして、ステップS712に進む。また、タイムアウト通知があった(ステップS709)場合には、S712に進む。なお、タイムアウト通知は、オペレーティングシステムによりなされる。
【0083】
一方、コマンド応答の受信があった(ステップS710)ときには、ステップS112で受け付けた試験項目のインタフェース設定のデータについて、受信信号から対象となるコマンド実行が成功か否かを判定する(ステップS711)。コマンド応答受信通知は、オペレーティングシステムによりなされる。コマンド実行が成功しない場合には、ステップS713に移行する。一方、コマンド実行が成功した場合、ステップS712に移行する。
【0084】
次に、試験が完了したか否かを判定する(ステップS712)。試験が完了してない場合にはステップS703に戻る。試験が完了したときにはソケットをクローズし(ステップS713)、終了する。
【0085】
図25は、試験用端末100によるコマンド実行の動作を示すフローチャートである。コマンド実行が開始されると、プロトコル種別を判定する(ステップS711)。プロトコルがTELNETである場合には、TELNETのコマンドを実行し(ステップS712)、終了する。また、プロトコルがRSH/SSHである場合には、RSH/SSHのコマンドを実行し(ステップS713)、終了する。
【0086】
図26は、試験用端末100によるTELNETコマンド実行における動作を示すフローチャートである。TELNETコマンド実行が開始すると、まず、エンコードを行う(ステップS721)。次に、コマンドを送信する(ステップS722)。そして、コマンド応答を受信する(ステップS723)。そして、コマンド応答の受信を完了したか否かを判定する(ステップS724)。
【0087】
コマンド応答の受信を完了してない場合には、ステップS723に戻る。コマンド応答の受信を完了した場合には、デコードを行い(ステップS725)、TELNETコマンド実行を終了する。
【0088】
図27は、試験用端末100によるRSH/SSHコマンド実行の動作を示すフローチャートである。RSH/SSHコマンド実行が開始すると、まず、エンコードを行う(ステップS731)。次に、コマンドを送信する(ステップS732)。そして、コマンド応答を受信する(ステップS733)。そして、デコードを行い(ステップS734)、RSH/SSHコマンド実行を終了する。これにより、遠隔操作で呼接続の試験を実行でき、ユーザは試験を指示する場所が限定されないため、ユーザの負担を軽減することができる。
【符号の説明】
【0089】
100 試験用端末
101 ライセンス制御部
102 パケットログ変換部
104 試験項目作成部
110 TCP常時接続部
111 リモートシェル実行部
112 負荷試験実施部
120 スケジュール作成部
121 自動試験実施部
130 信号差分調査部
131 シーケンス表示部
200 交換システム
300 サーバ
400 電話機
N ネットワーク
【技術分野】
【0001】
本発明は、IP電話の交換システムにおける呼接続を試験する呼接続試験プログラムおよび試験用端末に関する。
【背景技術】
【0002】
近年、インターネットの急速な普及に伴いIP電話装置(以下、「IP電話」という)が注目されている。IP電話サービスでは、例えば、IPネットワークに配置したSIP(Session Initiation Protocol)サーバが、呼制御プロトコルSIP(IETF標準RFC3261)により、発信端末となるIP電話と、着信端末となるIP電話との間を呼接続し、呼接続後はIP電話同士がIPネットワーク経由で音声パケットを送受信し、リアルタイムの通話を実現する。
【0003】
このようなプロトコルの規定内容には、解釈の違い、実装上の細かい仕様の違いが存在することから、実際のサービス導入時には必ずしも呼の接続が円滑に行われない。そのため、事前にIP電話装置間の接続試験を実際に行う必要がある。このような接続試験では、要求されたプロトコルが不整合なく実行されているかを検証する必要がある。
【0004】
これに対し、IP電話システムにおける異なる機種の組み合わせの多様な試験パターンを行おうとするIP電話接続試験方法が開示されている(たとえば、特許文献1参照)。特許文献1記載のIP電話接続試験方法では、複数機種のIP電話装置間のIPネットワークを介した接続試験を行っている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−27953号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記のようなIP電話の接続試験は、マシンタイムを有効に活用するために夜間や休日に対応することも多く、担当技術者(ユーザ)にとって大きな負担となっている。また、試験のために各ツールを操作するには高度な技能が要求され、ツールが高機能化しても、技術者がそれを使いこなせない場面が生じている。また、サービス導入前の試験では、実際の運用に近い条件で試験することが好ましいが、一般的にはあらかじめ準備された標準的な条件で試験され、要望に応じて柔軟に条件を変えることがなされていない。
【0007】
本発明は、このような事情に鑑みてなされたものであり、試験を効率化でき、試験担当技術者が試験を行いやすく、柔軟に試験の条件を設定できる呼接続試験プログラムおよび試験用端末を提供することを目的とする。
【課題を解決するための手段】
【0008】
(1)上記の目的を達成するため、本発明の呼接続試験プログラムは、IP電話の交換システムにおける呼接続を試験する呼接続試験プログラムであって、ユーザによる指定に基づく試験項目の集合体としてスケジュールを作成する処理と、前記指定に基づく試験項目で設定されたシナリオを実行可能な要素ごとに実行し、前記IP電話の交換システムに対して複数の電話端末を擬似する処理と、前記シナリオの実行結果をログとして記録する処理とを試験用端末のコンピュータに実行させることを特徴としている。
【0009】
これにより、ユーザによる指定に基づく試験項目で設定されたシナリオを実行するため、試験を自動化でき、ユーザは一つ一つ試験を実行する必要がなくなり、ユーザの負担を軽減することができる。その結果、呼接続試験の無人化、開発作業の効率化を進めることができる。また、IP電話の交換システムに対して複数の電話端末を擬似するため、実際の呼接続時と同様の試験を行うことができる。また、試験項目の指定により柔軟に試験の条件を設定できる。
【0010】
(2)また、本発明の呼接続試験プログラムは、パケットとして送信される前記シナリオの実行結果のログがキャプチャされたキャプチャログを記録する処理と、前記記録されたキャプチャログをシナリオに変換し、前記記録されたキャプチャログに対応する試験項目を自動生成する処理とを更に含むことを特徴としている。
【0011】
これにより、キャプチャされたログを利用して試験をすることができるため、試験の再現を簡単に実現できる。その結果、容易に不具合を把握することができる。また、ログを自動的にシナリオへ変換することができるため、ユーザの負担が軽減される。
【0012】
(3)また、本発明の呼接続試験プログラムは前記記録されたキャプチャログにおいて別個のノードとして認識されているポートを一つのノードとして設定する操作を受け付ける処理を更に含み、前記設定されたノードを一つのノードとして認識し、前記記録されたキャプチャログをシナリオに変換することを特徴としている。
【0013】
これにより、本来、一つのノードであるべきノードが分かれている場合にはまとめることができ、本来の試験結果を再現することができる。たとえば、試験用端末の送信ポートおよび受信ポートを一つのノードにまとめて、キャプチャログをシナリオに変換できる。
【0014】
(4)また、本発明の呼接続試験プログラムは、複数のIPアドレスとポートの組み合わせの中から試験対象となるノードを設定する操作を受け付ける処理を更に含み、前記試験対象として設定されたノードに関するログを対象として、前記記録されたキャプチャログをシナリオに変換することを特徴としている。これにより、試験対象となるノードのみに関する試験結果を抽出でき、本来の試験結果を再現できる。その結果、効率的に試験結果を利用できる。
【0015】
(5)また、本発明の呼接続試験プログラムは、前記記録されたキャプチャログにおいて、除外対象となる信号を指定する操作を受け付ける処理を含み、前記除外対象として指定された信号を除いて前記記録されたキャプチャログをシナリオに変換することを特徴としている。これにより、試験と関係ない信号を除外し、本来の試験結果を再現できる。その結果、効率的に試験結果を利用できる。
【0016】
(6)また、本発明の呼接続試験プログラムは、端末上で実行され、コマンドにより前記IP電話の交換システムを遠隔操作することで前記試験項目で設定されたシナリオを実行し、前記IP電話の交換システムから前記コマンドの応答を受信することを特徴としている。これにより、遠隔操作で呼接続の試験を実行でき、ユーザは試験を指示する場所が限定されないため、ユーザの負担を軽減することができる。
【0017】
(7)また、本発明の呼接続試験プログラムは、ユーザにより設定された負荷条件に応じて、一種類の試験を複数同時に繰り返して実行させることを特徴としている。これにより、基本呼やサービス呼を組み合わせ、商用条件に合わせた高負荷環境を構築することができ、そのような環境下での呼接続システムの動作を試験することができる。また、長時間安定化を含む総合安定化試験を実行できる。
【0018】
(8)また、本発明の呼接続試験プログラムは、前記シナリオの実行結果として記録されたログのうち、2つのログの指定を受け付ける処理と、前記指定を受けたログ同士を比較し、差分を表示する処理とを更に含むことを特徴としている。これにより、各ログの差から、ユーザは容易に呼接続システムの問題の有無を確認することができる。その結果、バグの見落とし等を防止でき、ユーザの負担を軽減できる。
【0019】
(9)また、本発明の呼接続試験プログラムは、ユーザの要求に応じ、前記シナリオの実行結果ログに基づいてネットワーク上の応答をシーケンス図として表示することを特徴としている。これにより、ユーザはメッセージの送受信等を含む試験結果を一目で把握することができる。また、シーケンス表示を利用して、個別にノードや信号を指定することができ、キャプチャログ変換時にもシーケンス表示を利用することができる。
【0020】
(10)また、本発明の試験用端末は、IP電話の交換システムに接続され、呼接続を試験する試験用端末であって、ユーザによる指定に基づく試験項目の集合体としてスケジュールを作成するスケジュール作成部と、前記指定に基づく試験項目で設定されたシナリオを実行可能な要素ごとに実行し、複数の電話端末を擬似するシナリオ実行部と、前記試験の結果をログとして記録する記録部とを備えることを特徴としている。これにより、試験を自動化でき、ユーザの負担を軽減することができる。また、実際の呼接続時と同様の試験を行うことができる。
【発明の効果】
【0021】
本発明によれば、試験を効率化でき、試験担当技術者が試験を行いやすく、柔軟に試験の条件を設定できる。
【図面の簡単な説明】
【0022】
【図1】試験用端末およびIP電話の交換システムの構成を示す概略図である。
【図2】試験用端末の構成を示すブロック図である。
【図3】試験用端末の自動試験における動作を示すフローチャートである。
【図4】試験用端末の試験項目設定における動作を示すフローチャートである。
【図5】試験用端末のスケジュール設定における動作を示すフローチャートである。
【図6】試験用端末の試験実行における動作を示すフローチャートである。
【図7】試験用端末のシナリオ実行における動作を示すフローチャートである。
【図8】試験用端末のシーケンス表示における動作を示すフローチャートである。
【図9】試験用端末による読込表示の動作を示すフローチャートである。
【図10】試験用端末の信号差分調査における動作を示すフローチャートである。
【図11】試験用端末の差分調査における動作を示すフローチャートである。
【図12】試験用端末の負荷試験における動作を示すフローチャートである。
【図13】試験用端末の試験実行における動作を示すフローチャートである。
【図14】試験用端末のシナリオ実行における動作を示すフローチャートである。
【図15】試験用端末のパケットログ変換における動作を示すフローチャートである。
【図16】試験用端末のパケットキャプチャにおける動作を示すフローチャートである。
【図17】試験用端末の試験項目作成における動作を示すフローチャートである。
【図18】試験用端末による試験項目の各項目の作成の動作を示すフローチャートである。
【図19】試験用端末による試験項目の変換規則ファイル検索の動作を示すフローチャートである。
【図20】試験用端末およびIP電話の交換システム200の構成を示す概略図である。
【図21】試験用端末のリモートシェル機能における動作を示すフローチャートである。
【図22】試験用端末によるファイル内容表示の動作を示すフローチャートである。
【図23】試験用端末によるリモートシェル実行の動作を示すフローチャートである。
【図24】試験用端末のシナリオ実行における動作を示すフローチャートである。
【図25】試験用端末のコマンド実行における動作を示すフローチャートである。
【図26】試験用端末のTELNETコマンド実行における動作を示すフローチャートである。
【図27】試験用端末のRSH/SSHコマンド実行における動作を示すフローチャートである。
【発明を実施するための形態】
【0023】
次に、本発明の実施の形態について、図面を参照しながら説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては同一の参照番号を付し、重複する説明は省略する。
【0024】
[第1の実施形態]
〔試験用端末の構成〕
図1は、試験用端末100およびIP電話の交換システム200の構成を示す概略図である。試験用端末100は、呼接続を試験する端末である。IP電話の交換システム200は、サーバ300および電話機400を含んで構成されており、サーバ300と電話機400とはネットワークNにより接続されている。試験用端末100は、電話機400に対して擬似的に相手端末として動作することで、サーバ300の機能を試験することができる。なお、サーバ300は、SIPサーバであることが好ましいが、SIPサーバ以外であってもよい。また、電話機400は、携帯端末であってもよいし固定端末であってもよい。
【0025】
図2は、試験用端末100の構成を示すブロック図である。図2に示すように、試験用端末100は、パケットログ変換部102、試験項目作成部104、TCP常時接続部110、リモートシェル実行部111、負荷試験実施部112、スケジュール作成部120、自動試験実施部121、信号差分調査部130およびシーケンス表示部131を備えている。
【0026】
ライセンス制御部101は、各部が各機能を動作させる前に、ユーザにライセンスの有無を確認する。これに対し、ユーザは登録操作を行う。ライセンス制御部101は、ライセンスキーの生成における暗号化技術としてMD5を使用し、試験用端末100の情報や時刻情報等から、ライセンスキーを他のPCにて流用できない仕組みを実現している。
【0027】
パケットログ変換部102は、キャプチャログを解析し、試験項目を作成する。キャプチャログは、試験結果情報を含む一連のパケットをキャプチャすることで得られる。ログのキャプチャは、LANアナライザによりLAN上で送受信されるパケットのモニタリングにより行われる。
【0028】
試験項目作成部104は、試験項目ファイルを作成し、その試験項目をスケジュールに設定し、それを元に負荷試験を実施させる。試験項目は、実行する試験の定義となるものであり、たとえば試験の実施時間、試験を開始するシナリオ、試験構成(能動開始・受動開始)、インタフェースが該当する。
【0029】
TCP常時接続部110は、TCP常時接続設定ファイルを元に設定を解析し、コネクションを生成する。そして、実行結果ファイルを作成する。TCP常時接続設定ファイルは、あらかじめユーザにより作成される。
【0030】
リモートシェル実行部111は、ユーザから受けたリモートシェルのコマンドをサーバ300に実行させる。その一方で、リモートシェル設定ファイルを作成し、実行結果をサーバ300から受領して実行結果ファイルを作成する。なお、リモートシェルとコマンドシナリオ実行は、いずれも試験を遠隔操作により行う点で共通している。ただし、リモートシェルではユーザにより対話式にコマンドが送信されるのに対し、コマンドシナリオ実行では、一連のコマンドが一度に実行される点で両者は相違している。
【0031】
負荷試験実施部112は、試験項目ファイル、リモートシェルファイルまたはTCP常時接続設定ファイルに基づいて、ファイルの設定を元に設定を元に自動試験実施部121に試験を実施させる。そして、負荷試験結果ログおよび信号ログを出力する。これにより、設定した負荷条件に合わせてユーザの作成したシーケンスを繰り返し送受信することができる。
【0032】
スケジュール作成部120は、試験項目をスケジュールに設定し、スケジュールファイルを作成する。そして、作成したスケジュールを自動試験実施部121に送出する。
【0033】
自動試験実施部121は、スケジュールファイル、試験項目ファイル、リモートシェルファイル、TCP常時接続設定ファイルにより、試験を自動で実施する。そして、自動試験結果ログおよび信号ログを出力する。これにより、夜間や休日等の無人時間帯におけるマシンリソースの有効利用やリグレッション試験等が可能になる。
【0034】
信号差分調査部130は、自動試験で出力された信号ログを元に、2つのログの差分を調査し、差分ファイルおよび比較結果ファイルを作成する。自動試験で生成された複数のログファイルを比較し、差分を出力する機能である。これにより、たとえば、この機能を自動試験後の結果確認やリグレッション試験、バグ発生時の再現試験等に利用できる。目視に頼っていた試験結果の確認を機械化することにより、確認の精度を各段に向上させることができる。比較オプションの機能により、差分出力する情報をユーザが任意に設定することもできる。
【0035】
シーケンス表示部131は、自動試験の実施により生じた信号ログ出力をもとに信号ログを解析し、シーケンス図を表示する。これにより、自動試験で送受信されたメッセージをシーケンスとして表示させることができる。試験結果が視覚化されるため、確認作業を容易にし、大幅にかかる時間を短縮することができる。また、テキスト出力することで、各種資料作成時の素材とすることもできる。
【0036】
〔試験用端末の動作〕
(自動試験)
次に、試験用端末100の動作を説明する。まず、自動試験の動作を説明する。自動試験とは、自動で一連のコマンドを実行させる試験をいう。これにより、常時、試験用端末100を監視する必要がなく、ユーザの負担を軽減することができる。図3は、試験用端末100の自動試験における動作を示すフローチャートである。自動試験が開始されると、まず、試験用端末100は、スケジュールが作成済みか否かを判定する(ステップS101)。なお、スケジュールとは、自動試験にて実行する試験項目がリストアップされたファイルを指す。
【0037】
スケジュールが作成済みである場合にはステップS104に移行する。スケジュールが未作成である場合には、試験項目を設定し(ステップS102)、スケジュールを設定する(ステップS103)。試験項目の設定およびスケジュールの設定の詳細は後述する。次に、実行スケジュールの設定を受け付ける(ステップS104)。具体的には、試験実施時に、ユーザがどのスケジュールを実行するかを画面上のGUIで指定する。実行スケジュールが設定されたら、試験を実行し(ステップS105)、自動試験を終了する。なお、試験の実行の詳細は後述する。
【0038】
図4は、試験用端末100による試験項目設定の動作を示すフローチャートである。試験項目の設定が開始されると、まず、試験項目の指定を受け付ける(ステップS111)。たとえば、ユーザは、試験の実施時間、試験を開始するシナリオ、および試験構成(能動開始・受動開始)等の試験条件を指定する。次に、インタフェースの設定操作を受け付ける(ステップS112)。インタフェースの設定には、たとえばプロトコル種別(SIP擬似/Command擬似)、ローカルIP(IPバージョン、IPアドレス、ホスト名)、リモートIP(IPアドレス、ホスト名)、トランスポート(TCP/UDP、ポート)、ユーザ情報(電番、認証ユーザ名、認証パスワード)、シナリオ、およびメッセージテンプレートの設定が挙げられる。そして、指定された試験項目および設定されたインタフェースに従った試験項目を作成することで試験項目ディレクトリを作成し(ステップS113)、試験項目の設定を終了する。具体的には、試験項目定義や、シナリオ・テンプレートを試験項目毎に1つのディレクトリにまとめて配置する。
【0039】
図5は、試験用端末100によるスケジュール設定の動作を示すフローチャートである。スケジュール設定が開始されると、まず、実行対象の試験項目の設定を受け付ける(ステップS121)。すなわち、スケジュール作成時に、ユーザがどの試験項目を実行するかを画面上の操作で指定する。次に、スケジュールを設定する(ステップS122)。そして、設定された実行対象の試験項目およびスケジュールの内容に従って、スケジュールファイルを作成して(ステップS123)、スケジュールの設定を終了する。
【0040】
図6は、試験用端末100による試験実行の動作を示すフローチャートである。試験の実行が開始されると、まず、スケジュールが完了したか否かを判定し(ステップS131)、スケジュールが完了した場合には、試験の実行を終了する。一方、スケジュールが未完了である場合には、強制終了通知か、停止通知を受けているか否かを判定する(ステップS132)。なお、強制終了通知および停止通知は、いずれもステップS104で設定された実行スケジュールに基づき、所定の場合に通知される。
【0041】
そして、強制終了通知か、停止通知を受けている場合には、試験の実行を終了する。一方、強制終了通知または停止通知のいずれをも受けていない場合には、項目が試験の実行対象か否かを判定する(ステップS133)。項目が試験の実行対象でない場合には、ステップS131に戻る。一方、項目が試験の実行対象である場合には、試験項目ファイルを読み込む(ステップS134)。
【0042】
試験項目ファイルを読み込んだら、読み込んだ試験項目ファイルの試験項目設定データに従ってシナリオを実行する(ステップS135)。シナリオの実行の詳細は後述する。次に、試験項目の実行結果を通知し(ステップS136)、ステップS131へ戻る。通知された試験項目実行結果は、その後のステップS134の試験項目ファイル読込の際に読み込まれる。
【0043】
図7は、試験用端末100によるシナリオ実行の動作を示すフローチャートである。シナリオ実行を開始すると、まず、シナリオデータを含む試験項目設定データを利用して試験ユニットを作成する(ステップS141)。次に、イベント待ち状態に移行する(ステップS142)。後述のステップS143、S144、S146、S147、S153およびS150の動作によりイベント通知がなされ、通知に応じて各イベントがなされる。
【0044】
この状態において、シナリオ開始通知があったときには、作成された試験ユニットのうちのシナリオデータを利用してシナリオユニットを作成し(ステップS143)、ステップS154に進む。シナリオ開始通知は、ステップS141における試験ユニット作成時または後述のステップS153のシナリオスタート時に通知がなされる。また、シナリオ停止通知があったときには、シナリオユニットを削除し(ステップS144)、ステップS154に進む。シナリオ停止通知は、ステップS146またはステップS150におけるシナリオ要素の実行によりなされる。また、シナリオ再開通知があったときには、シナリオユニットを取得し(ステップS145)、シナリオデータに従ってシナリオ要素を実行する(ステップS146)。シナリオ再開通知は、ステップS147において受領されたタイムアウト通知に基づいてなされる。シナリオの実行により、IP電話の交換システムに対して複数の電話端末を擬似するため、実際の呼接続時と同様の試験を行うことができる。そして、ステップS154に進む。また、タイムアウト通知があったときにはS154に進む(ステップS147)。なお、タイムアウト通知は、オペレーティングシステムによりなされる。
【0045】
一方、信号受信があった(ステップS148)ときには、受信信号から対象となるシナリオユニットを取得したか否かを判定する(ステップS149)。信号受信の有無の判定のもとになる受信信号通知は、オペレーティングシステムによりなされる。受信信号から対象となるシナリオユニットを取得した場合には、シナリオデータに従ってシナリオ要素を実行し(ステップS150)、ステップS154へと進む。
【0046】
受信信号から対象となるシナリオユニットを取得しなかった場合には、シナリオ名を取得する(ステップS151)。そして、テンプレート名も取得し(ステップS152)、シナリオをスタートさせ(ステップS153)、ステップS154へと進む。
【0047】
ステップS154では、試験が完了したか否かを判定する(ステップS154)。そして、試験が完了したときにはシナリオの実行を終了する。試験が完了してない場合にはステップS142に戻る。
【0048】
このように、設定されたスケジュールに基づいて作成されたシナリオが実行されるため、試験を自動化でき、ユーザは一つ一つ試験を実行する必要がなくなる。そして、ユーザの負担を軽減することができる。その結果、呼接続試験の無人化、開発作業の効率化を進めることができる。
【0049】
(シーケンス表示)
次に、シーケンス表示の動作を説明する。図8は、試験用端末100によるシーケンス表示の動作を示すフローチャートである。シーケンス表示が開始されると、まず、試験結果のログファイルの指定を受け付ける(ステップS201)。そして、指定された試験結果のログファイルを読み込み、シーケンス図に変換、表示し(ステップS202)、終了する。シーケンス図の表示により、ユーザはメッセージの送受信等を含む試験結果を一目で把握することができる。また、シーケンス表示を利用して、個別にノードや信号を指定することができ、キャプチャログ変換時にもシーケンス表示を利用することができる。なお、シーケンス図への変換および表示については、次に詳細に説明する。
【0050】
図9は、試験用端末100による読込表示の動作を示すフローチャートである。読込表示の動作が開始すると、試験用端末100は、指定された試験結果のログを読み込む(ステップS211)。そして、ログフォーマットが適当か否かを判定する(ステップS212)。シーケンス表示機能では、自動試験ログをシーケンスとして画面に表示するため、ログフォーマットのチェックが必要となる。そのチェックでは、ユーザに指定されたログのフォーマット解析を実施し、ログファイルの内容に異常がないかを確認する。そして、ログフォーマットが適当でない場合には、一連の動作を終了する。
【0051】
一方、ログフォーマットが適当な場合には、擬似IF番号を取得し、ループを開始する(ステップS213)。なお、擬似IFは、インタフェース設定を指す。自動試験ログでは、インタフェース設定で作成した擬似IFを番号で管理している。次に、ログファイルから端末間の送受信方向(ステップS214)および信号名(ステップS215)を収集し、信号内容を保存し(ステップS216)、擬似IF番号に従い、上記の動作のループを繰り返す(ステップS217)。次に、各信号の送受信を時系列に並べ替え(ステップS218)、得られた信号送受信のシーケンスを表示する(ステップS219)。
【0052】
(信号差分調査)
次に、信号差分調査の動作を説明する。信号差分調査では、ユーザにより指定された自動試験ログを比較する。図10は、試験用端末100による信号差分調査の動作を示すフローチャートである。信号差分調査が開始されると、まず、比較情報の設定を受け付ける(ステップS301)。比較情報とは、比較対象(ファイル単一比較/ディレクトリ一括比較)、比較元の自動試験ログ、比較先の自動試験ログ、比較オプションファイル、および比較結果出力先等の情報を指す。そして、設定された比較情報により指定されたログファイルの内容から差分を調査し(ステップS302)、終了する。信号差分調査については、次に詳細に説明する。
【0053】
図11は、試験用端末100による差分調査の動作を示すフローチャートである。差分調査が開始すると、まず、比較オプション情報を全て読み込む(ステップS311)。比較オプション情報とは、比較オプションファイルの内容である。比較オプションファイルでは、SIPヘッダ毎に比較するか否かが事前にユーザにより設定可能となっている。そして、ログファイルから情報収集することで、比較元ファイルの1行を取得し(ステップS312)、比較先ファイルの1行を取得し(ステップS313)、差分を比較する(ステップS314)。
【0054】
次に、差分ファイルに比較結果を出力する(ステップS315)。これにより、各ログの差から、ユーザは容易に呼接続システムの問題の有無を確認することができる。その結果、バグの見落とし等を防止でき、ユーザの負担を軽減できる。次に、比較元ファイル、比較先ファイル共に実行が終了したか否かを判定する(ステップS316)。比較元ファイル、比較先ファイルのいずれかの実行が終了していないときにはステップS312に戻る。比較元ファイル、比較先ファイル共に実行が終了した場合には、差分調査を終了する。
【0055】
(負荷試験)
次に、負荷試験の動作を説明する。図12は、試験用端末100の負荷試験における動作を示すフローチャートである。負荷試験が開始されると、まず、負荷試験設定情報を受け付ける(ステップS401)。負荷設定項目には、(1)同時実行数、(2)実行間隔、(3)レジスター間隔がある。そして、試験を実行し(ステップS402)、終了する。試験実行については、次に詳細に説明する。
【0056】
図13は、試験用端末100による試験実行の動作を示すフローチャートである。あらかじめ、ユーザにより実行する試験項目、試験項目の同時実行数、試験項目の実行間隔が指定され、負荷試験情報が設定されているものとする。負荷試験では、試験用端末100が試験項目をパラレルに繰り返し実行する。負荷試験の実行が開始されると、まず、負荷試験情報の設定を取得する(ステップS411)。そして、試験項目ファイルを読み込み(ステップS412)、読み込んだ試験項目ファイルのうち設定ファイルのデータに基づいて同時実行数分の試験ユニットを作成する(ステップS413)。そして、試験ユニットを構成する試験項目のデータを利用してシナリオを実行し(ステップS414)、負荷試験情報の設定に基づいて負荷試験終了の通知を受け(ステップS415)、試験実行を終了する。シナリオ実行については、次に説明する。
【0057】
図14は、試験用端末100によるシナリオ実行の動作を示すフローチャートである。シナリオ実行が開始すると、まず、試験項目設定データおよび負荷試験設定データを利用して試験ユニットを作成し(ステップS421)、シナリオをスタートさせる(ステップS422)。そして、イベント通知の待ち状態へ移行する(ステップS423)。後述のステップS424、S425、S426、S427およびS429の動作によりイベント通知がなされ、通知に応じて各イベントがなされる。
【0058】
このとき、オペレーティングシステムからタイムアウト通知があったときには、そのままステップS430に進む(ステップS424)。また、シナリオ終了通知があったときには、シナリオ実行結果の通知やカウントを行い、ステップS430に進む(ステップS425)。シナリオ終了通知は、1つの試験項目が終了したときにイベント待ち状態でなされる通知である。また、シナリオ実行結果通知は、その後ステップS423において処理される。カウントとは、画面上に表示する情報のカウントを指す。画面上には、開始日時、終了日時、試験時間、開始項目数、完了項目数、不完了項目数、および秒間完了数等が表示される。これらのうち、開始項目数、完了項目数、および不完了項目数は、カウントの対象である。この後、「試験項目終了通知」によりステップS427で再度試験項目を起動する。一方、イベント待ち状態でなされた全シナリオ終了の通知を受けたときには試験停止通知を行い、ステップS430に進む(ステップS426)。全シナリオ終了通知は、負荷試験の停止時に、起動中のシナリオが全て終了した場合の通知である。この後、イベント待ち状態でなされた「試験項目停止通知」によりメモリ削除等の負荷試験機能の停止処理が実行される。
【0059】
また、イベント待ち状態でなされた試験項目の終了通知があったときには試験を再スタートさせ、ステップS430に進む(ステップS427)。このように「試験項目終了通知」は、試験項目の再起動に使用される。また、負荷試験情報の設定に基づいて試験項目停止通知があったときには試験終了を通知し、ステップS430に進む(ステップS428)。なされた試験終了通知は、ステップS423において処理される。このように、「試験項目停止通知」は、負荷試験機能の終了時に通知される。また、イベント待ち状態でなされた試験項目開始タイマの停止要求があったときには、タイマを停止し、ステップS430に進む(ステップS429)。
【0060】
なお、タイマとは、指定された時間が経過した時点で、実際の処理(例えばシナリオを動作させている機能部)を行っている機能部へ通知イベントを発行する機能部である。負荷試験開始時にユーザにて指定が必要となる、「試験項目の実行間隔」などは、タイマ機能部を利用して時間管理が実施される。すなわち、試験項目が終了した時点から、再起動を行うまでの時間が管理される。次に、試験終了通知を受けたか否かを判定する(ステップS430)。そして、シナリオ実行の一連の処理を終了する。
【0061】
これにより、基本呼やサービス呼を組み合わせ、商用条件に合わせた高負荷環境を構築することができ、そのような環境下での呼接続システムの動作を試験することができる。また、長時間安定化を含む総合安定化試験を実行できる。
【0062】
(パケットログ変換)
次に、パケットログ変換の動作を説明する。図15は、試験用端末100によるパケットログ変換の動作を示すフローチャートである。パケットログ変換が開始されると、まず、パケットキャプチャが指定される(ステップS501)。パケットキャプチャの指定の詳細は後述する。そして、指定されたパケットキャプチャのデータを利用してシーケンス図を表示する(ステップS502)。次に、TCPノードの設定(ステップS503)、試験対策ノードの設定(ステップS504)、除外信号の選択(ステップS505)の操作を並列で受け付ける。
【0063】
TCPでは、試験用端末100の送信ポート/受信ポートが異なるため、シーケンス表示の際、別のノードとして表示される。たとえば、IPアドレスとポートの組み合わせを1つのノードとする。これにより、本来、一つのノードであるべきノードが分かれている場合にはまとめることができ、本来の試験結果を再現することができる。たとえば、試験用端末の送信ポートおよび受信ポートを一つのノードにまとめて、キャプチャログをシナリオに変換できる。
【0064】
「TCPノード設定」では、これらのノードを1つのノードとする設定操作をユーザから受け付ける。試験対象ノード設定では、複数のIPアドレスとポートの組み合わせの中から試験対象となるものが設定される。これにより、試験対象となるノードのみに関する試験結果を抽出でき、本来の試験結果を再現できる。その結果、効率的に試験結果を利用できる。
【0065】
除外信号選択では、パケットログ変換後に作成されるシナリオに含める必要のない信号を、ユーザが削除指定する。そのとき、たとえば再送信号などが除外信号として選択される。シーケンス図が画面表示されている状態で、たとえばユーザが除外対象の信号をダブルクリックすることで、削除すべき信号が指定される。これにより、試験と関係ない信号を除外し、本来の試験結果を再現できる。その結果、効率的に試験結果を利用できる。
【0066】
次に、変換準備が完了したか否かを判定する(ステップS506)。変換準備が完了していないときには、ステップS503に戻る。一方、変換準備が完了した場合には、ステップS503、S504、S505において受け付けた設定およびパケットキャプチャのデータから試験項目を作成して(ステップS507)、パケットログ変換機能を終了する。なお、試験項目の作成の詳細は後述する。
【0067】
図16は、試験用端末100によるパケットキャプチャの動作を示すフローチャートである。パケットキャプチャの指定を開始すると、まず、パスの指定を受け付ける(ステップS511)。具体的には、変換を行うパケットキャプチャファイルのディレクトリパスの指定を受け付ける。次に、読み込みが成功したか否かを判定する(ステップS512)。読み込みに失敗したときには、読み込み失敗メッセージを表示し(ステップS513)、ステップS516に進む。読み込みが成功したときには、読み込んだパスをカレントファイルに設定し(ステップS514)、ステップS511で指定されたパスからタイトルを作成する(ステップS515)。これにより、画面のタイトルバーの表示内容が作成される。次に、タイトル表示を更新し、作成したタイトルを画面表示する(ステップS516)。そして、パケットキャプチャの指定を終了する。
【0068】
図17は、試験用端末100による試験項目作成の動作を示すフローチャートである。試験項目を開始すると、試験項目名を指定する(ステップS521)。また、インタフェース毎の分割生成の指定を受け付ける(ステップS522)。分割生成が指定されると、ノード(インタフェース)毎に別々の試験項目が作成される。複数のインタフェースを使用して試験を行う場合には分割生成を指定するのが好ましい。そして、このような処理と同時にインタフェース(ステップS523)、インタフェース名(ステップS524)、擬似種別(ステップS525)、テンプレート変換規則(ステップS526)の各指定を順番に受け付ける。
【0069】
パケットログの変換処理は、ノード(インタフェース)毎に、インタフェース名や変換規則などを指定して行うため、どのノード(インタフェース)について設定を行うかをユーザが指定する必要がある。なお、テンプレート変換規則とは、パケットキャプチャの信号データを、メッセージテンプレートに変換するための変換ルールであり、ユーザにより、その変換ルールが記載されたファイルが指定される。テンプレート変換規則ファイルは、事前にユーザにより用意される。次に、保存先を指定する(ステップS527)。項目作成後の項目編集画面の起動を指定する(ステップS528)。
【0070】
次に、試験項目作成の準備が完了したか否かを判定する(ステップS529)。試験項目作成の準備が完了していない場合には、最初に戻る。試験項目作成の準備が完了したときには、作成確認画面を表示する(ステップS530)。
【0071】
次に、作成してよいか否かをユーザに確認する(ステップS531)。作成しないことが確認されたときには、最初に戻る。作成してよいと確認されたときには、ステップS521〜S527において指定されたデータから試験項目の各項目を作成する(ステップS532)。これにより、キャプチャされたログを利用して試験をすることができるため、試験の再現を簡単に実現できる。その結果、容易に不具合を把握することができる。また、ログを自動的にスケジュールへ変換することができるため、ユーザの負担が軽減される。
【0072】
次に、試験項目の各項目の作成の動作について説明する。図18は、試験用端末100による試験項目の各項目の作成の動作を示すフローチャートである。まず、試験用端末100は、パケットキャプチャ信号を読み出す(ステップS541)。そして、パケットキャプチャ信号から信号ディレクション(ステップS542)、信号名(ステップS543)およびヘッダ名(ステップS544)を収集する。そして、これらをパラメータ分解し(ステップS545)、変換規則ファイルを検索する(ステップS546)。なお、信号ディレクションは、送信方向または受信方向の信号方向を表す。変換規則ファイルの検索については後述する。
【0073】
次に、変換規則ファイルの適用データがあるか否かを判定する(ステップS547)。変換規則ファイルの適用データがないときには、信号データを更新する(ステップS548)。一方、変換規則ファイルの適用データがあるときには、キャプチャデータがあるか否かを判定する(ステップS549)。キャプチャデータがない場合には、ステップS541に戻る。一方、キャプチャデータがある場合にはそのまま各項目の作成の動作を終了する。
【0074】
次に、変換規則ファイル検索の動作について説明する。図19は、試験用端末100による試験項目の変換規則ファイル検索の動作を示すフローチャートである。まず、試験用端末100は、規則データを読み出す(ステップS551)。次に、規則データについて信号ディレクションが合致しているか否かを判定する(ステップS552)。信号ディレクションが合致していない場合には、キャプチャデータがあるか否かを判定する(ステップS553)。キャプチャデータがある場合にはステップS551に戻る。キャプチャデータがない場合には、適用データがないことを記録し(ステップS554)、変換規則ファイル検索の動作を終了する。
【0075】
一方、ステップS552で信号ディレクションが合致していたときには、適用対象が共通指定か否かを判定する(ステップS555)。そして、適用対象が共通指定であるか否かを判定する。共通指定でなく個別指定の場合には、信号名が合致しているか否かを判定する(ステップS556)。信号名が合致しないときには、ステップS553に移行する。信号名が合致するときには、パラメータの合致を判定する(ステップS557)。そして、パラメータが合致しないときには、S553に移行する。パラメータが合致するときは、適用データがあることを記録し(ステップS558)、変換規則ファイル検索の動作を終了する。
【0076】
これにより、IPアドレスや電話番号などの可変データを、環境にあわせて適用できパケットキャプチャの信号データを規則に従って部分的に書き換えることが可能となる。
【0077】
[第2の実施形態]
〔試験用端末の構成〕
上記の実施形態では、試験用端末100とサーバ300とが直接接続されているが、試験用端末100とサーバ300とがネットワークNを介して接続されていてもよい。図20は、試験用端末100およびIP電話の交換システム200の構成を示す概略図である。試験用端末100は、ネットワークNを介してサーバ300を試験することができる。
【0078】
〔試験用端末の動作〕
(リモートシェル)
次に、上記構成における試験用端末100の動作を説明する。まず、リモートシェルにより試験用端末100が一つのコマンドをサーバ300に実行させる場合を説明する。図21は、試験用端末100によるリモートシェル機能の動作を示すフローチャートである。リモートシェル機能が開始すると、ファイルパスの指定によるコマンドファイルの指定を受け付け(ステップS601)、指定されたファイルパスを用いて指定されたファイル内容を表示する(ステップS602)。コマンドファイルとは、複数のコマンド記述したテキストファイルである。ファイル内容の表示の詳細は後述する。そして、内容が表示されたファイル内のコマンド行のリモートシェルを実行し(ステップS603)、リモートシェル機能を終了する。リモートシェルの実行の詳細は後述する。
【0079】
図22は、試験用端末100によるファイル内容表示の動作を示すフローチャートである。ファイル内容表示が開始すると、まず、コマンドファイルを読み込む(ステップS611)。フォーマットは適当か否かを判定する(ステップS612)。フォーマットが適当でないときには、終了する。フォーマットが適当である場合には、コマンドファイル内の情報を接続先情報として表示する(ステップS613)。そして、コマンド内容を表示し(ステップS614)、終了する。
【0080】
図23は、試験用端末100によるリモートシェル実行の動作を示すフローチャートである。リモートシェル実行を開始すると、まず、コマンドファイル内の情報で決まる接続先へrsh接続する(ステップS621)。そして、コマンド応答を表示し(ステップS622)、終了する。
【0081】
(コマンドシナリオ実行)
図24は、試験用端末100によるシナリオ実行の動作を示すフローチャートである。シナリオデータを含む試験項目設定データを利用してシナリオ実行が開始すると、まず、試験ユニットを作成し(ステップS701)、ソケットを生成する(ステップS702)。次に、イベント通知の待ち状態へ移行する(ステップS703)。後述のステップS705、S706、S708、S709およびS711の動作によりイベント通知がなされ、通知に応じて各イベントがなされる。
【0082】
この状態において、シナリオ開始通知があったときには、試験ユニットのうちのシナリオデータを利用してシナリオユニットを作成し(ステップS704)、コマンドを実行して(ステップS705)ステップS712に進む。なお、シナリオ開始通知は、ステップS701における試験ユニット作成時に通知がなされる。また、コマンドの実行の詳細は後述する。また、シナリオ停止通知があったときには、シナリオユニットを削除し(ステップS706)、ステップS712に進む。シナリオ停止通知は、ステップS711におけるコマンドの実行の成否の判定によりなされる。また、シナリオ再開通知を取得したときには(ステップS707)、コマンドを実行する(ステップS708)。シナリオ再開通知は、ステップS709において受領されたタイムアウト通知に基づいてなされる。コマンドの実行の詳細は後述する。そして、ステップS712に進む。また、タイムアウト通知があった(ステップS709)場合には、S712に進む。なお、タイムアウト通知は、オペレーティングシステムによりなされる。
【0083】
一方、コマンド応答の受信があった(ステップS710)ときには、ステップS112で受け付けた試験項目のインタフェース設定のデータについて、受信信号から対象となるコマンド実行が成功か否かを判定する(ステップS711)。コマンド応答受信通知は、オペレーティングシステムによりなされる。コマンド実行が成功しない場合には、ステップS713に移行する。一方、コマンド実行が成功した場合、ステップS712に移行する。
【0084】
次に、試験が完了したか否かを判定する(ステップS712)。試験が完了してない場合にはステップS703に戻る。試験が完了したときにはソケットをクローズし(ステップS713)、終了する。
【0085】
図25は、試験用端末100によるコマンド実行の動作を示すフローチャートである。コマンド実行が開始されると、プロトコル種別を判定する(ステップS711)。プロトコルがTELNETである場合には、TELNETのコマンドを実行し(ステップS712)、終了する。また、プロトコルがRSH/SSHである場合には、RSH/SSHのコマンドを実行し(ステップS713)、終了する。
【0086】
図26は、試験用端末100によるTELNETコマンド実行における動作を示すフローチャートである。TELNETコマンド実行が開始すると、まず、エンコードを行う(ステップS721)。次に、コマンドを送信する(ステップS722)。そして、コマンド応答を受信する(ステップS723)。そして、コマンド応答の受信を完了したか否かを判定する(ステップS724)。
【0087】
コマンド応答の受信を完了してない場合には、ステップS723に戻る。コマンド応答の受信を完了した場合には、デコードを行い(ステップS725)、TELNETコマンド実行を終了する。
【0088】
図27は、試験用端末100によるRSH/SSHコマンド実行の動作を示すフローチャートである。RSH/SSHコマンド実行が開始すると、まず、エンコードを行う(ステップS731)。次に、コマンドを送信する(ステップS732)。そして、コマンド応答を受信する(ステップS733)。そして、デコードを行い(ステップS734)、RSH/SSHコマンド実行を終了する。これにより、遠隔操作で呼接続の試験を実行でき、ユーザは試験を指示する場所が限定されないため、ユーザの負担を軽減することができる。
【符号の説明】
【0089】
100 試験用端末
101 ライセンス制御部
102 パケットログ変換部
104 試験項目作成部
110 TCP常時接続部
111 リモートシェル実行部
112 負荷試験実施部
120 スケジュール作成部
121 自動試験実施部
130 信号差分調査部
131 シーケンス表示部
200 交換システム
300 サーバ
400 電話機
N ネットワーク
【特許請求の範囲】
【請求項1】
IP電話の交換システムにおける呼接続を試験する呼接続試験プログラムであって、
ユーザによる指定に基づく試験項目の集合体としてスケジュールを作成する処理と、
前記指定に基づく試験項目で設定されたシナリオを実行可能な要素ごとに実行し、前記IP電話の交換システムに対して複数の電話端末を擬似する処理と、
前記シナリオの実行結果をログとして記録する処理とを試験用端末のコンピュータに実行させることを特徴とする呼接続試験プログラム。
【請求項2】
パケットとして送信される前記シナリオの実行結果のログがキャプチャされたキャプチャログを記録する処理と、
前記記録されたキャプチャログをシナリオに変換し、前記記録されたキャプチャログに対応する試験項目を自動生成する処理とを更に含むことを特徴とする請求項1記載の呼接続試験プログラム。
【請求項3】
前記記録されたキャプチャログにおいて別個のノードとして認識されているポートを一つのノードとして設定する操作を受け付ける処理を更に含み、
前記設定されたノードを一つのノードとして認識し、前記記録されたキャプチャログをシナリオに変換することを特徴とする請求項2記載の呼接続試験プログラム。
【請求項4】
複数のIPアドレスとポートの組み合わせの中から試験対象となるノードを設定する操作を受け付ける処理を更に含み、
前記試験対象として設定されたノードに関するログを対象として、前記記録されたキャプチャログをシナリオに変換することを特徴とする請求項2または請求項3記載の呼接続試験プログラム。
【請求項5】
前記記録されたキャプチャログにおいて、除外対象となる信号を指定する操作を受け付ける処理を含み、
前記除外対象として指定された信号を除いて前記記録されたキャプチャログをシナリオに変換することを特徴とする請求項2から請求項4のいずれかに記載の呼接続試験プログラム。
【請求項6】
端末上で実行され、コマンドにより前記IP電話の交換システムを遠隔操作することで前記試験項目で設定されたシナリオを実行し、前記IP電話の交換システムから前記コマンドの応答を受信することを特徴とする請求項1から請求項5のいずれかに記載の呼接続試験プログラム。
【請求項7】
ユーザにより設定された負荷条件に応じて、一種類の試験を複数同時に繰り返して実行させることを特徴とする請求項1から請求項6のいずれかに記載の呼接続試験プログラム。
【請求項8】
前記シナリオの実行結果として記録されたログのうち、2つのログの指定を受け付ける処理と、
前記指定を受けたログ同士を比較し、差分を表示する処理とを更に含むことを特徴とする請求項1から請求項7のいずれかに記載の呼接続試験プログラム。
【請求項9】
ユーザの要求に応じ、前記シナリオの実行結果ログに基づいてネットワーク上の応答をシーケンス図として表示することを特徴とする請求項1から請求項8のいずれかに記載の呼接続試験プログラム。
【請求項10】
IP電話の交換システムに接続され、呼接続を試験する試験用端末であって、
ユーザによる指定に基づく試験項目の集合体としてスケジュールを作成するスケジュール作成部と、
前記指定に基づく試験項目で設定されたシナリオを実行可能な要素ごとに実行し、複数の電話端末を擬似するシナリオ実行部と、
前記試験の結果をログとして記録する記録部とを備えることを特徴とする試験用端末。
【請求項1】
IP電話の交換システムにおける呼接続を試験する呼接続試験プログラムであって、
ユーザによる指定に基づく試験項目の集合体としてスケジュールを作成する処理と、
前記指定に基づく試験項目で設定されたシナリオを実行可能な要素ごとに実行し、前記IP電話の交換システムに対して複数の電話端末を擬似する処理と、
前記シナリオの実行結果をログとして記録する処理とを試験用端末のコンピュータに実行させることを特徴とする呼接続試験プログラム。
【請求項2】
パケットとして送信される前記シナリオの実行結果のログがキャプチャされたキャプチャログを記録する処理と、
前記記録されたキャプチャログをシナリオに変換し、前記記録されたキャプチャログに対応する試験項目を自動生成する処理とを更に含むことを特徴とする請求項1記載の呼接続試験プログラム。
【請求項3】
前記記録されたキャプチャログにおいて別個のノードとして認識されているポートを一つのノードとして設定する操作を受け付ける処理を更に含み、
前記設定されたノードを一つのノードとして認識し、前記記録されたキャプチャログをシナリオに変換することを特徴とする請求項2記載の呼接続試験プログラム。
【請求項4】
複数のIPアドレスとポートの組み合わせの中から試験対象となるノードを設定する操作を受け付ける処理を更に含み、
前記試験対象として設定されたノードに関するログを対象として、前記記録されたキャプチャログをシナリオに変換することを特徴とする請求項2または請求項3記載の呼接続試験プログラム。
【請求項5】
前記記録されたキャプチャログにおいて、除外対象となる信号を指定する操作を受け付ける処理を含み、
前記除外対象として指定された信号を除いて前記記録されたキャプチャログをシナリオに変換することを特徴とする請求項2から請求項4のいずれかに記載の呼接続試験プログラム。
【請求項6】
端末上で実行され、コマンドにより前記IP電話の交換システムを遠隔操作することで前記試験項目で設定されたシナリオを実行し、前記IP電話の交換システムから前記コマンドの応答を受信することを特徴とする請求項1から請求項5のいずれかに記載の呼接続試験プログラム。
【請求項7】
ユーザにより設定された負荷条件に応じて、一種類の試験を複数同時に繰り返して実行させることを特徴とする請求項1から請求項6のいずれかに記載の呼接続試験プログラム。
【請求項8】
前記シナリオの実行結果として記録されたログのうち、2つのログの指定を受け付ける処理と、
前記指定を受けたログ同士を比較し、差分を表示する処理とを更に含むことを特徴とする請求項1から請求項7のいずれかに記載の呼接続試験プログラム。
【請求項9】
ユーザの要求に応じ、前記シナリオの実行結果ログに基づいてネットワーク上の応答をシーケンス図として表示することを特徴とする請求項1から請求項8のいずれかに記載の呼接続試験プログラム。
【請求項10】
IP電話の交換システムに接続され、呼接続を試験する試験用端末であって、
ユーザによる指定に基づく試験項目の集合体としてスケジュールを作成するスケジュール作成部と、
前記指定に基づく試験項目で設定されたシナリオを実行可能な要素ごとに実行し、複数の電話端末を擬似するシナリオ実行部と、
前記試験の結果をログとして記録する記録部とを備えることを特徴とする試験用端末。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【公開番号】特開2011−151496(P2011−151496A)
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願番号】特願2010−9437(P2010−9437)
【出願日】平成22年1月19日(2010.1.19)
【出願人】(305042633)株式会社プロフェッショナル・ネットワークス (1)
【Fターム(参考)】
【公開日】平成23年8月4日(2011.8.4)
【国際特許分類】
【出願日】平成22年1月19日(2010.1.19)
【出願人】(305042633)株式会社プロフェッショナル・ネットワークス (1)
【Fターム(参考)】
[ Back to top ]