JP2004341652A - 自動試験方法及び自動試験機 - Google Patents
自動試験方法及び自動試験機 Download PDFInfo
- Publication number
- JP2004341652A JP2004341652A JP2003135166A JP2003135166A JP2004341652A JP 2004341652 A JP2004341652 A JP 2004341652A JP 2003135166 A JP2003135166 A JP 2003135166A JP 2003135166 A JP2003135166 A JP 2003135166A JP 2004341652 A JP2004341652 A JP 2004341652A
- Authority
- JP
- Japan
- Prior art keywords
- scenario
- test
- exception
- exception processing
- processing
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】例外処理を試験シナリオの外部に定義することにより、簡単な試験シナリオで例外処理を行う。
【解決手段】既知の障害が発生した時に試験を続行するための例外処理シナリオが記述された例外処理シナリオファイルと、障害の発生パターンと例外処理シナリオとが関連付けられた例外処理呼出条件テーブルと、試験シナリオが記述された試験シナリオファイルとを入力する入力装置11と、既知の障害が発生した時に、例外処理呼出条件テーブルを参照して障害の発生パターンから例外処理シナリオを特定する例外処理部33と、既知の障害が発生した時に試験シナリオを中断し、例外処理部33で特定された例外処理シナリオを、例外処理シナリオファイルを参照して実行した後に、試験シナリオ内の中断した試験イベントから処理を続行する試験シナリオ処理部32とを備えた。
【選択図】 図1
【解決手段】既知の障害が発生した時に試験を続行するための例外処理シナリオが記述された例外処理シナリオファイルと、障害の発生パターンと例外処理シナリオとが関連付けられた例外処理呼出条件テーブルと、試験シナリオが記述された試験シナリオファイルとを入力する入力装置11と、既知の障害が発生した時に、例外処理呼出条件テーブルを参照して障害の発生パターンから例外処理シナリオを特定する例外処理部33と、既知の障害が発生した時に試験シナリオを中断し、例外処理部33で特定された例外処理シナリオを、例外処理シナリオファイルを参照して実行した後に、試験シナリオ内の中断した試験イベントから処理を続行する試験シナリオ処理部32とを備えた。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、自動試験方法及び自動試験機に関し、より詳細には、ネットワークに接続されている装置のアプリケーション・プログラムを被試験対象とし、予め設定された試験シナリオと試験項目とに基づいて試験を行う自動試験方法及び自動試験機に関する。
【0002】
【従来の技術】
被試験対象である装置に搭載されているアプリケーション・プログラムが複雑化することにより、試験機の試験シナリオは複雑化し、試験項目は増大する一方である。アプリケーション・プログラムを効率的かつ自動的に試験する方法が提案されている(例えば、特許文献1参照)。特許文献1には、プロセス制御用計算機のアプリケーション・プログラムのシミュレーションを行うテスト装置が開示されている。被試験対象装置の外部にあるテスト装置は、シミュレーションで実行されるイベントごとに記述されたシナリオを有している。シナリオは、イベント名称、イベント発生時刻及び発生データなどにより構成されたリスト列として格納されている。また、テスト装置は、テスト結果のうちどの項目について検証を行うかを指定するテーブルを有しており、テスト結果として収集したい情報を自動的に生成させ、目的とする検証結果を取得することができる。
【0003】
また、交換機のソフトウェア自動試験装置であって、無人による試験の連続運転を実現して、試験工程の効率化を図る方法が提案されている(例えば、特許文献2参照)。ソフトウェア自動試験装置は、試験中に交換機に障害が発生すると、試験途中で実行を中断し、交換機に対して再開処理を指示するとともに、次の順序の試験を開始して、試験を継続することができる。
【0004】
【特許文献1】
特開平11−305822号公報
【0005】
【特許文献2】
特開平5−241901号公報
【0006】
【発明が解決しようとする課題】
試験シナリオに基づく自動試験方法において、試験シナリオを、単純なイベント列から高級言語を用いた記述に拡張することにより、例外処理を試験シナリオに組込むことが行われている。このようにして、被試験対象装置に想定外の障害が発生した場合であっても、例外処理を実行して試験を継続することができる。
【0007】
しかしながら、従来の高級言語を用いた方法では、イベントの実行状況を把握するために状態変数を用いて管理している。そのため、正常な試験シナリオの中に、イベント管理のための処理、例外処理を呼び出すための処理を追加する必要があった。従って、試験シナリオ自体が複雑になり、試験シナリオのロジックが分かり難くなるという問題があった。
【0008】
また、例外処理は、障害内容やイベント発生パターンとの関連性が強いため、新規の障害が発生するごとに、回復手順を含む例外処理を試験シナリオに組み込まなければならないという問題もあった。
【0009】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、例外処理を試験シナリオの外部に定義することにより、簡単な試験シナリオで例外処理を行うことができる自動試験方法および自動試験機を提供することにある。
【0010】
【課題を解決するための手段】
本発明は、このような目的を達成するために、請求項1に記載の発明は、被試験対象装置と接続された自動試験機が、予め与えられた試験シナリオに基づいて試験を自動的に実行する自動試験方法において、既知の障害が発生した時に前記試験を続行するための例外処理シナリオが記述された例外処理シナリオファイルと、前記障害の発生パターンと前記例外処理シナリオとが関連付けられた例外処理呼出条件テーブルと、前記試験シナリオが記述された試験シナリオファイルとを、入力装置から入力する入力ステップと、前記既知の障害が発生した時に、例外処理部が、前記例外処理呼出条件テーブルを参照して、前記障害の発生パターンから例外処理シナリオを特定する特定ステップと、前記既知の障害が発生した時に、試験シナリオ処理部が、前記試験シナリオを中断する中断ステップと、前記試験シナリオ処理部が、前記特定ステップで特定された例外処理シナリオを、前記例外処理シナリオファイルを参照して実行する例外処理ステップと、前記試験シナリオ処理部が、前記例外処理シナリオを実行した後に、前記試験シナリオ内の中断した試験イベントから処理を続行する続行ステップとを備えたことを特徴とする。
【0011】
この方法によれば、例外処理を試験シナリオの外部に定義して、試験シナリオに依存しないように例外処理シナリオを実装しておき、既知の障害が発生した時に、障害を回復して試験を続行するので、簡単な試験シナリオで例外処理を行うことができる。
【0012】
請求項2に記載の発明は、請求項1に記載の前記特定ステップは、前記例外処理部が、前記障害の発生パターンから例外処理シナリオを特定することができない場合には、前記被試験対象装置のリセットコマンド列を例外処理シナリオとして特定することを特徴とする。
【0013】
請求項3に記載の発明は、請求項2に記載の前記特定ステップは、前記例外処理部が、前記被試験対象装置のログ情報と前記自動試験機の障害情報とから、前記例外処理シナリオの実行により、前記試験を続行することができるか否かを判定する判定ステップを含み、該判定ステップで続行できると判定された場合には前記例外処理シナリオを、前記判定ステップで続行できないと判定された場合には前記リセットコマンド列を、例外処理シナリオとして特定することを特徴とする。
【0014】
請求項4に記載の発明は、被試験対象装置と接続され、予め与えられた試験シナリオに基づいて試験を自動的に実行する自動試験機において、既知の障害が発生した時に前記試験を続行するための例外処理シナリオが記述された例外処理シナリオファイルと、前記障害の発生パターンと前記例外処理シナリオとが関連付けられた例外処理呼出条件テーブルと、前記試験シナリオが記述された試験シナリオファイルとを入力する入力装置と、前記既知の障害が発生した時に、前記例外処理呼出条件テーブルを参照して前記障害の発生パターンから例外処理シナリオを特定する例外処理部と、前記既知の障害が発生した時に前記試験シナリオを中断し、前記例外処理部で特定された例外処理シナリオを、前記例外処理シナリオファイルを参照して実行した後に、前記試験シナリオ内の中断した試験イベントから処理を続行する試験シナリオ処理部とを備えたことを特徴とする。
【0015】
請求項5に記載の発明は、請求項4に記載の前記例外処理部は、前記障害の発生パターンから例外処理シナリオを特定することができない場合には、前記被試験対象装置のリセットコマンド列を例外処理シナリオとして特定することを特徴とする。
【0016】
請求項6に記載の発明は、請求項5に記載の前記例外処理部は、前記被試験対象装置のログ情報と前記自動試験機の障害情報とから、前記例外処理シナリオの実行により、前記試験を続行することができるか否かを判定し、続行できると判定した場合には前記例外処理シナリオを、続行できないと判定した場合には前記リセットコマンド列を、例外処理シナリオとして特定することを特徴とする。
【0017】
請求項7に記載の発明は、被試験対象装置と接続され、予め与えられた試験シナリオに基づいて試験を自動的に実行する自動試験機の試験制御装置に、請求項1、2または3に記載の各ステップを実行させるためのプログラムであることを特徴とする。
【0018】
請求項8に記載の発明は、被試験対象装置と接続され、予め与えられた試験シナリオに基づいて試験を自動的に実行する自動試験機の試験制御装置に、請求項1、2または3に記載の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
【0019】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。ネットワークに接続されている装置のアプリケーション・プログラムを被試験対象とし、試験シナリオをイベント発生列として直接管理する。試験シナリオの中で、障害と関連するイベントが明確になり、関連するイベントに対して例外処理を定義すればよいので、例外処理を試験シナリオの外部に定義することができる。既知の障害が発生した時に、障害を回復して試験を続行するための例外処理シナリオをフィードバックさせ、試験シナリオに依存しないように例外処理シナリオを実装する。このようにして、次回以降の自動試験において既知の障害が発生した場合に、無人運転で自動試験を続行することができる。
【0020】
図1に、本発明の一実施形態にかかる自動試験機の構成を示す。自動試験機1は、被試験対象装置100と接続され自動試験を行う試験制御装置30と、試験計画、試験シナリオ、例外処理シナリオ、例外処理呼出条件を入力する入力装置11と、試験結果、障害情報、ログ情報を出力する出力装置12とを備えている。また、試験制御装置30は、試験イベントが記述された試験シナリオを作成する試験スケジューラ31と、被試験対象装置100に試験イベントの実行を指示する試験シナリオ処理部32と、障害が発生した場合などの例外処理を行う例外処理部33とを備えている。なお、試験制御装置30を、被試験対象装置100に組み込み、被試験対象装置100の入力装置と出力装置とを、試験制御装置30に接続することによっても、自動試験機を構成することができる。
【0021】
図2に、自動試験機における情報の流れを示すとともに、自動試験機の動作を説明する。試験スケジューラ31は、入力装置11から試験計画ファイル21を読み込み、実施すべき試験シナリオを決定し、試験シナリオの実施を試験シナリオ処理部32に指示する。
【0022】
試験シナリオ処理部32は、入力装置11から試験シナリオファイル22を読み込み、試験スケジューラ31で決定された試験シナリオに定められている試験イベントを順次抽出し、被試験対象装置100に実行を指示する。被試験対象装置100から応答結果を受理すると、試験シナリオ処理部32は、実行した試験イベントのチェックポイントに従い応答結果をチェックし、その診断結果を試験結果データベース41に書き込む。試験シナリオに定められている試験イベントに対して上記の処理を繰り返し、すべての試験イベントの処理を完了したら、試験スケジューラ31に処理を返す。
【0023】
また、試験シナリオ処理部32は、タイムアウトを検知した場合には、試験イベントの処理を中断する。試験シナリオ処理部32は、例外処理部33を呼出し、タイムアウトが発生した試験イベントを通知する。例外処理部33から例外処理シナリオ実行の指示を受けた場合には、試験シナリオ処理部32は、例外処理シナリオファイル23の例外処理イベントを順次処理する。例外処理イベントの実行により障害が回復すると、試験シナリオ内の中断した試験イベントから処理を続行する。
【0024】
例外処理部33から再開シナリオを受けた場合には、試験シナリオ処理部32は、被試験対象装置100に対してリセットコマンドを送信する。被試験対象装置100から再開通知を受けると、試験シナリオ処理部32は、試験スケジューラ31に対して試験シナリオの中断を指示し、試験スケジューラ31は、次に計画されている試験を実施するように計画を変更する。
【0025】
図3に、例外処理部における処理フローを示す。試験シナリオ処理部32から呼出されると、例外処理部33は、第1ステップとしてログ収集処理331を実行し、被試験対象装置100にログ情報の収集を指示する。被試験対象装置100は、ログ情報を2次記憶装置に格納しておき、例外処理部33は、被試験対象装置100から定期的にダウンロードして、ログ情報データベース42に格納する。次に、例外処理部33は、第2ステップとして障害情報収集処理332を実行し、試験制御装置30内のエラー情報を取得し、異常情報データベース43に保存する。ログ情報データベース42と異常情報データベース43とにより、障害解析を行って、以下に述べる例外処理シナリオファイル23および例外処理呼出条件テーブル24を作成する。
【0026】
障害発生パターンは、障害に関連する試験イベント列として定めておき、障害発生パターンと例外処理シナリオとが関連付けられた例外処理呼出条件テーブル24を、予め作成しておく。例外処理部33は、第3ステップとして例外処理シナリオ検索処理333を実行し、例外処理呼出条件テーブル24を読み込む。例外処理部33は、試験処理シナリオ部32から通知された試験イベントを基準にして、実行済みの試験イベント列を読み出す。実行済みの試験イベント列と障害に関連する試験イベント列とを比較して、例外処理シナリオを特定する。例外処理呼出条件テーブル24において該当する例外処理シナリオがヒットした場合には(334)、例外処理部33は、試験シナリオ処理部32に対し例外処理シナリオの実行を指示する(335)。試験シナリオ処理部32は、例外処理シナリオファイル23を参照して例外処理イベントを順次処理する。
【0027】
また、例外処理部33は、ログ情報データベース42から被試験対象装置100のログ情報と、異常情報データベース43から試験制御装置30の障害情報とを収集する。該当する例外処理シナリオが無い場合には(334)、例外処理部33は、試験シナリオ処理部32に対し、被試験対象装置100のリセットコマンド列を再開シナリオとして指示する(336)。試験シナリオ処理部32は、被試験対象装置100に対してリセットコマンドを送信し、試験スケジューラに対して次に計画されている試験を継続するように指示を出し、試験スケジューラ31に対して試験シナリオの中断を指示する。
【0028】
例外処理シナリオファイル23は、自動試験機の試験者がオフラインで作成する。試験者は、出力装置12からログ情報データベース42及び異常情報データベース43を参照し、障害の内容を解析する。次に、障害の対処方法を、例外処理シナリオとして作成し、例外処理シナリオと例外処理呼出条件とを入力装置11から試験制御装置30に登録する。
【0029】
(実施例)
例外処理部33の具体的な処理フローを、CUG(Closed User Group)系サービスのネットワークシステムにおいて、リモートアクセスユーザを設定端末から自動登録する試験シナリオを用いて説明する。なお、自動試験機1と設定端末とを接続し、被試験対象装置である設定端末に搭載されたGUIベースの設定アプリケーションは、自動試験機1より試験シナリオに基づき制御される。
【0030】
図4に、自動試験機における例外処理の具体的な流れを示す。試験スケジューラ31は、入力装置11から試験計画ファイル21を読み込み、試験シナリオ0001の実効を決定し、試験シナリオ処理部32に指示する。図5に、試験シナリオファイルの一例を示す。試験シナリオ00001の試験イベント[CUG登録(RAS制御部、Cugid, CRData)]を実行中にタイムアウトが発生した場面を想定する。試験シナリオ処理部32は、試験シナリオファイル22を読み込み、試験イベントを順次実行する。
【0031】
例えば、ネットワークにおける瞬断レベルの通信エラーにより、非常に低い確率で登録が失敗することが分かっているとする。通信エラーが発生すると、設定端末では、通信エラーダイヤログウィンドウがアクティブになり(ポップアップウィンドウは未表示)、確認ボタンを押下しない限り、他の命令を受け付けなくなる。確認ボタンを押下すれば、設定端末は、自動登録を再実行する。
【0032】
そこで、例外処理呼出条件テーブル24には、異常パターン名称を「通信エラー」として、障害発生パターンと例外処理シナリオとを関連付けて登録しておく。図6に、例外処理呼出条件テーブルの一例を示す。障害発生パターンは、障害に関連する試験イベント列として、「関連イベント列:(“登録”or“削除”)&ポップアップウィンドウなし」が登録されている。例外処理シナリオは、例外処理シナリオ番号として「00001」からなるエントリが登録されている。
【0033】
試験イベント[CUG登録(RAS制御部、Cugid, CRData)]を実行中にタイムアウトが発生すると、試験シナリオ処理部32は、試験イベントの処理を中断し、例外処理部33を呼出す。例外処理部33は、ログ収集処理331と障害情報収集処理332とを実行した後に、例外処理シナリオ検索処理333を実行する。
【0034】
例外処理シナリオ検索処理333では、例外処理呼出条件テーブル24を参照し、試験シナリオ処理部32が自動登録の処理を実行中にタイムアウトが発生したこと、ポップアップウィンドウが表示されないことから異常パターン番号00003の通信エラーを特定する。次に、例外処理部33は、通信エラー対処用の例外シナリオを特定して、試験シナリオ処理部32に対し例外処理シナリオ00001の実行を指示する(335)。
【0035】
図7に、例外処理シナリオファイルの一例を示す。試験シナリオ処理部32は、例外処理部33の指示に基づいて、例外処理シナリオファイル23を参照して例外処理イベントを順次処理する。試験シナリオ処理部32は、通信エラーダイヤログ確認OKを表示し、(通信エラー、Cugid、Uid)を出力した後に、中断した試験イベント[CUG登録(RAS制御部、Cugid, CRData)]から処理を続行する。
【0036】
本実施形態によれば、試験シナリオをイベント発生列として直接管理するので、正常な試験シナリオの中に、イベント管理のための処理、例外処理を呼び出すための処理を追加する必要がない。また、関連するイベントに対して例外処理を定義すればよいので、例外処理を試験シナリオの外部に定義して、例外処理シナリオを個々の試験シナリオに依存しないように実装することができる。このようにして、高級言語を用いて試験シナリオに例外処理を埋め込む方法と比較して、試験シナリオと例外処理との独立性を高め、試験シナリオの処理ロジックと例外処理の処理ロジックとを明確にした。
【0037】
また、試験シナリオは、試験手順書から作成するので、想定外の障害が発生した試験結果は、試験として成り立たない。このため、試験手順書には想定外の障害は、考慮されていない。従来は、障害が発生する度に試験手順書に障害回復手順を追加して試験シナリオを作り直す必要があった。本実施形態によれば、既知の障害については、例外処理シナリオを動的に埋め込めるため、試験手順書のフォーマット変換だけで自動試験を行うことができる。
【0038】
【発明の効果】
以上説明したように、本発明によれば、例外処理を試験シナリオの外部に定義して、試験シナリオに依存しないように例外処理シナリオを実装しておき、既知の障害が発生した時に、障害を回復して試験を続行するので、簡単な試験シナリオで例外処理を行うことができ、ネットワークにおける瞬断レベルの通信エラーなどの外部要因に基づいて障害が発生した場合であっても、無人運転で自動試験を続行することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかる自動試験機を示すブロック構成図である。
【図2】本発明の一実施形態にかかる自動試験機における情報の流れを示す機能ブロック図である。
【図3】例外処理部における処理フローを示す機能ブロック図である。
【図4】自動試験機における例外処理の具体的な流れを示す機能ブロック図である。
【図5】試験シナリオファイルの一例を示す図である。
【図6】例外処理呼出条件テーブルの一例を示す図である。
【図7】例外処理シナリオファイルの一例を示す図である。
【符号の説明】
1 自動試験機
11 入力装置
12 出力装置
30 試験制御装置
31 試験スケジューラ
32 試験シナリオ処理部
33 例外処理部
100 被試験対象装置
【発明の属する技術分野】
本発明は、自動試験方法及び自動試験機に関し、より詳細には、ネットワークに接続されている装置のアプリケーション・プログラムを被試験対象とし、予め設定された試験シナリオと試験項目とに基づいて試験を行う自動試験方法及び自動試験機に関する。
【0002】
【従来の技術】
被試験対象である装置に搭載されているアプリケーション・プログラムが複雑化することにより、試験機の試験シナリオは複雑化し、試験項目は増大する一方である。アプリケーション・プログラムを効率的かつ自動的に試験する方法が提案されている(例えば、特許文献1参照)。特許文献1には、プロセス制御用計算機のアプリケーション・プログラムのシミュレーションを行うテスト装置が開示されている。被試験対象装置の外部にあるテスト装置は、シミュレーションで実行されるイベントごとに記述されたシナリオを有している。シナリオは、イベント名称、イベント発生時刻及び発生データなどにより構成されたリスト列として格納されている。また、テスト装置は、テスト結果のうちどの項目について検証を行うかを指定するテーブルを有しており、テスト結果として収集したい情報を自動的に生成させ、目的とする検証結果を取得することができる。
【0003】
また、交換機のソフトウェア自動試験装置であって、無人による試験の連続運転を実現して、試験工程の効率化を図る方法が提案されている(例えば、特許文献2参照)。ソフトウェア自動試験装置は、試験中に交換機に障害が発生すると、試験途中で実行を中断し、交換機に対して再開処理を指示するとともに、次の順序の試験を開始して、試験を継続することができる。
【0004】
【特許文献1】
特開平11−305822号公報
【0005】
【特許文献2】
特開平5−241901号公報
【0006】
【発明が解決しようとする課題】
試験シナリオに基づく自動試験方法において、試験シナリオを、単純なイベント列から高級言語を用いた記述に拡張することにより、例外処理を試験シナリオに組込むことが行われている。このようにして、被試験対象装置に想定外の障害が発生した場合であっても、例外処理を実行して試験を継続することができる。
【0007】
しかしながら、従来の高級言語を用いた方法では、イベントの実行状況を把握するために状態変数を用いて管理している。そのため、正常な試験シナリオの中に、イベント管理のための処理、例外処理を呼び出すための処理を追加する必要があった。従って、試験シナリオ自体が複雑になり、試験シナリオのロジックが分かり難くなるという問題があった。
【0008】
また、例外処理は、障害内容やイベント発生パターンとの関連性が強いため、新規の障害が発生するごとに、回復手順を含む例外処理を試験シナリオに組み込まなければならないという問題もあった。
【0009】
本発明は、このような問題に鑑みてなされたもので、その目的とするところは、例外処理を試験シナリオの外部に定義することにより、簡単な試験シナリオで例外処理を行うことができる自動試験方法および自動試験機を提供することにある。
【0010】
【課題を解決するための手段】
本発明は、このような目的を達成するために、請求項1に記載の発明は、被試験対象装置と接続された自動試験機が、予め与えられた試験シナリオに基づいて試験を自動的に実行する自動試験方法において、既知の障害が発生した時に前記試験を続行するための例外処理シナリオが記述された例外処理シナリオファイルと、前記障害の発生パターンと前記例外処理シナリオとが関連付けられた例外処理呼出条件テーブルと、前記試験シナリオが記述された試験シナリオファイルとを、入力装置から入力する入力ステップと、前記既知の障害が発生した時に、例外処理部が、前記例外処理呼出条件テーブルを参照して、前記障害の発生パターンから例外処理シナリオを特定する特定ステップと、前記既知の障害が発生した時に、試験シナリオ処理部が、前記試験シナリオを中断する中断ステップと、前記試験シナリオ処理部が、前記特定ステップで特定された例外処理シナリオを、前記例外処理シナリオファイルを参照して実行する例外処理ステップと、前記試験シナリオ処理部が、前記例外処理シナリオを実行した後に、前記試験シナリオ内の中断した試験イベントから処理を続行する続行ステップとを備えたことを特徴とする。
【0011】
この方法によれば、例外処理を試験シナリオの外部に定義して、試験シナリオに依存しないように例外処理シナリオを実装しておき、既知の障害が発生した時に、障害を回復して試験を続行するので、簡単な試験シナリオで例外処理を行うことができる。
【0012】
請求項2に記載の発明は、請求項1に記載の前記特定ステップは、前記例外処理部が、前記障害の発生パターンから例外処理シナリオを特定することができない場合には、前記被試験対象装置のリセットコマンド列を例外処理シナリオとして特定することを特徴とする。
【0013】
請求項3に記載の発明は、請求項2に記載の前記特定ステップは、前記例外処理部が、前記被試験対象装置のログ情報と前記自動試験機の障害情報とから、前記例外処理シナリオの実行により、前記試験を続行することができるか否かを判定する判定ステップを含み、該判定ステップで続行できると判定された場合には前記例外処理シナリオを、前記判定ステップで続行できないと判定された場合には前記リセットコマンド列を、例外処理シナリオとして特定することを特徴とする。
【0014】
請求項4に記載の発明は、被試験対象装置と接続され、予め与えられた試験シナリオに基づいて試験を自動的に実行する自動試験機において、既知の障害が発生した時に前記試験を続行するための例外処理シナリオが記述された例外処理シナリオファイルと、前記障害の発生パターンと前記例外処理シナリオとが関連付けられた例外処理呼出条件テーブルと、前記試験シナリオが記述された試験シナリオファイルとを入力する入力装置と、前記既知の障害が発生した時に、前記例外処理呼出条件テーブルを参照して前記障害の発生パターンから例外処理シナリオを特定する例外処理部と、前記既知の障害が発生した時に前記試験シナリオを中断し、前記例外処理部で特定された例外処理シナリオを、前記例外処理シナリオファイルを参照して実行した後に、前記試験シナリオ内の中断した試験イベントから処理を続行する試験シナリオ処理部とを備えたことを特徴とする。
【0015】
請求項5に記載の発明は、請求項4に記載の前記例外処理部は、前記障害の発生パターンから例外処理シナリオを特定することができない場合には、前記被試験対象装置のリセットコマンド列を例外処理シナリオとして特定することを特徴とする。
【0016】
請求項6に記載の発明は、請求項5に記載の前記例外処理部は、前記被試験対象装置のログ情報と前記自動試験機の障害情報とから、前記例外処理シナリオの実行により、前記試験を続行することができるか否かを判定し、続行できると判定した場合には前記例外処理シナリオを、続行できないと判定した場合には前記リセットコマンド列を、例外処理シナリオとして特定することを特徴とする。
【0017】
請求項7に記載の発明は、被試験対象装置と接続され、予め与えられた試験シナリオに基づいて試験を自動的に実行する自動試験機の試験制御装置に、請求項1、2または3に記載の各ステップを実行させるためのプログラムであることを特徴とする。
【0018】
請求項8に記載の発明は、被試験対象装置と接続され、予め与えられた試験シナリオに基づいて試験を自動的に実行する自動試験機の試験制御装置に、請求項1、2または3に記載の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体であることを特徴とする。
【0019】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳細に説明する。ネットワークに接続されている装置のアプリケーション・プログラムを被試験対象とし、試験シナリオをイベント発生列として直接管理する。試験シナリオの中で、障害と関連するイベントが明確になり、関連するイベントに対して例外処理を定義すればよいので、例外処理を試験シナリオの外部に定義することができる。既知の障害が発生した時に、障害を回復して試験を続行するための例外処理シナリオをフィードバックさせ、試験シナリオに依存しないように例外処理シナリオを実装する。このようにして、次回以降の自動試験において既知の障害が発生した場合に、無人運転で自動試験を続行することができる。
【0020】
図1に、本発明の一実施形態にかかる自動試験機の構成を示す。自動試験機1は、被試験対象装置100と接続され自動試験を行う試験制御装置30と、試験計画、試験シナリオ、例外処理シナリオ、例外処理呼出条件を入力する入力装置11と、試験結果、障害情報、ログ情報を出力する出力装置12とを備えている。また、試験制御装置30は、試験イベントが記述された試験シナリオを作成する試験スケジューラ31と、被試験対象装置100に試験イベントの実行を指示する試験シナリオ処理部32と、障害が発生した場合などの例外処理を行う例外処理部33とを備えている。なお、試験制御装置30を、被試験対象装置100に組み込み、被試験対象装置100の入力装置と出力装置とを、試験制御装置30に接続することによっても、自動試験機を構成することができる。
【0021】
図2に、自動試験機における情報の流れを示すとともに、自動試験機の動作を説明する。試験スケジューラ31は、入力装置11から試験計画ファイル21を読み込み、実施すべき試験シナリオを決定し、試験シナリオの実施を試験シナリオ処理部32に指示する。
【0022】
試験シナリオ処理部32は、入力装置11から試験シナリオファイル22を読み込み、試験スケジューラ31で決定された試験シナリオに定められている試験イベントを順次抽出し、被試験対象装置100に実行を指示する。被試験対象装置100から応答結果を受理すると、試験シナリオ処理部32は、実行した試験イベントのチェックポイントに従い応答結果をチェックし、その診断結果を試験結果データベース41に書き込む。試験シナリオに定められている試験イベントに対して上記の処理を繰り返し、すべての試験イベントの処理を完了したら、試験スケジューラ31に処理を返す。
【0023】
また、試験シナリオ処理部32は、タイムアウトを検知した場合には、試験イベントの処理を中断する。試験シナリオ処理部32は、例外処理部33を呼出し、タイムアウトが発生した試験イベントを通知する。例外処理部33から例外処理シナリオ実行の指示を受けた場合には、試験シナリオ処理部32は、例外処理シナリオファイル23の例外処理イベントを順次処理する。例外処理イベントの実行により障害が回復すると、試験シナリオ内の中断した試験イベントから処理を続行する。
【0024】
例外処理部33から再開シナリオを受けた場合には、試験シナリオ処理部32は、被試験対象装置100に対してリセットコマンドを送信する。被試験対象装置100から再開通知を受けると、試験シナリオ処理部32は、試験スケジューラ31に対して試験シナリオの中断を指示し、試験スケジューラ31は、次に計画されている試験を実施するように計画を変更する。
【0025】
図3に、例外処理部における処理フローを示す。試験シナリオ処理部32から呼出されると、例外処理部33は、第1ステップとしてログ収集処理331を実行し、被試験対象装置100にログ情報の収集を指示する。被試験対象装置100は、ログ情報を2次記憶装置に格納しておき、例外処理部33は、被試験対象装置100から定期的にダウンロードして、ログ情報データベース42に格納する。次に、例外処理部33は、第2ステップとして障害情報収集処理332を実行し、試験制御装置30内のエラー情報を取得し、異常情報データベース43に保存する。ログ情報データベース42と異常情報データベース43とにより、障害解析を行って、以下に述べる例外処理シナリオファイル23および例外処理呼出条件テーブル24を作成する。
【0026】
障害発生パターンは、障害に関連する試験イベント列として定めておき、障害発生パターンと例外処理シナリオとが関連付けられた例外処理呼出条件テーブル24を、予め作成しておく。例外処理部33は、第3ステップとして例外処理シナリオ検索処理333を実行し、例外処理呼出条件テーブル24を読み込む。例外処理部33は、試験処理シナリオ部32から通知された試験イベントを基準にして、実行済みの試験イベント列を読み出す。実行済みの試験イベント列と障害に関連する試験イベント列とを比較して、例外処理シナリオを特定する。例外処理呼出条件テーブル24において該当する例外処理シナリオがヒットした場合には(334)、例外処理部33は、試験シナリオ処理部32に対し例外処理シナリオの実行を指示する(335)。試験シナリオ処理部32は、例外処理シナリオファイル23を参照して例外処理イベントを順次処理する。
【0027】
また、例外処理部33は、ログ情報データベース42から被試験対象装置100のログ情報と、異常情報データベース43から試験制御装置30の障害情報とを収集する。該当する例外処理シナリオが無い場合には(334)、例外処理部33は、試験シナリオ処理部32に対し、被試験対象装置100のリセットコマンド列を再開シナリオとして指示する(336)。試験シナリオ処理部32は、被試験対象装置100に対してリセットコマンドを送信し、試験スケジューラに対して次に計画されている試験を継続するように指示を出し、試験スケジューラ31に対して試験シナリオの中断を指示する。
【0028】
例外処理シナリオファイル23は、自動試験機の試験者がオフラインで作成する。試験者は、出力装置12からログ情報データベース42及び異常情報データベース43を参照し、障害の内容を解析する。次に、障害の対処方法を、例外処理シナリオとして作成し、例外処理シナリオと例外処理呼出条件とを入力装置11から試験制御装置30に登録する。
【0029】
(実施例)
例外処理部33の具体的な処理フローを、CUG(Closed User Group)系サービスのネットワークシステムにおいて、リモートアクセスユーザを設定端末から自動登録する試験シナリオを用いて説明する。なお、自動試験機1と設定端末とを接続し、被試験対象装置である設定端末に搭載されたGUIベースの設定アプリケーションは、自動試験機1より試験シナリオに基づき制御される。
【0030】
図4に、自動試験機における例外処理の具体的な流れを示す。試験スケジューラ31は、入力装置11から試験計画ファイル21を読み込み、試験シナリオ0001の実効を決定し、試験シナリオ処理部32に指示する。図5に、試験シナリオファイルの一例を示す。試験シナリオ00001の試験イベント[CUG登録(RAS制御部、Cugid, CRData)]を実行中にタイムアウトが発生した場面を想定する。試験シナリオ処理部32は、試験シナリオファイル22を読み込み、試験イベントを順次実行する。
【0031】
例えば、ネットワークにおける瞬断レベルの通信エラーにより、非常に低い確率で登録が失敗することが分かっているとする。通信エラーが発生すると、設定端末では、通信エラーダイヤログウィンドウがアクティブになり(ポップアップウィンドウは未表示)、確認ボタンを押下しない限り、他の命令を受け付けなくなる。確認ボタンを押下すれば、設定端末は、自動登録を再実行する。
【0032】
そこで、例外処理呼出条件テーブル24には、異常パターン名称を「通信エラー」として、障害発生パターンと例外処理シナリオとを関連付けて登録しておく。図6に、例外処理呼出条件テーブルの一例を示す。障害発生パターンは、障害に関連する試験イベント列として、「関連イベント列:(“登録”or“削除”)&ポップアップウィンドウなし」が登録されている。例外処理シナリオは、例外処理シナリオ番号として「00001」からなるエントリが登録されている。
【0033】
試験イベント[CUG登録(RAS制御部、Cugid, CRData)]を実行中にタイムアウトが発生すると、試験シナリオ処理部32は、試験イベントの処理を中断し、例外処理部33を呼出す。例外処理部33は、ログ収集処理331と障害情報収集処理332とを実行した後に、例外処理シナリオ検索処理333を実行する。
【0034】
例外処理シナリオ検索処理333では、例外処理呼出条件テーブル24を参照し、試験シナリオ処理部32が自動登録の処理を実行中にタイムアウトが発生したこと、ポップアップウィンドウが表示されないことから異常パターン番号00003の通信エラーを特定する。次に、例外処理部33は、通信エラー対処用の例外シナリオを特定して、試験シナリオ処理部32に対し例外処理シナリオ00001の実行を指示する(335)。
【0035】
図7に、例外処理シナリオファイルの一例を示す。試験シナリオ処理部32は、例外処理部33の指示に基づいて、例外処理シナリオファイル23を参照して例外処理イベントを順次処理する。試験シナリオ処理部32は、通信エラーダイヤログ確認OKを表示し、(通信エラー、Cugid、Uid)を出力した後に、中断した試験イベント[CUG登録(RAS制御部、Cugid, CRData)]から処理を続行する。
【0036】
本実施形態によれば、試験シナリオをイベント発生列として直接管理するので、正常な試験シナリオの中に、イベント管理のための処理、例外処理を呼び出すための処理を追加する必要がない。また、関連するイベントに対して例外処理を定義すればよいので、例外処理を試験シナリオの外部に定義して、例外処理シナリオを個々の試験シナリオに依存しないように実装することができる。このようにして、高級言語を用いて試験シナリオに例外処理を埋め込む方法と比較して、試験シナリオと例外処理との独立性を高め、試験シナリオの処理ロジックと例外処理の処理ロジックとを明確にした。
【0037】
また、試験シナリオは、試験手順書から作成するので、想定外の障害が発生した試験結果は、試験として成り立たない。このため、試験手順書には想定外の障害は、考慮されていない。従来は、障害が発生する度に試験手順書に障害回復手順を追加して試験シナリオを作り直す必要があった。本実施形態によれば、既知の障害については、例外処理シナリオを動的に埋め込めるため、試験手順書のフォーマット変換だけで自動試験を行うことができる。
【0038】
【発明の効果】
以上説明したように、本発明によれば、例外処理を試験シナリオの外部に定義して、試験シナリオに依存しないように例外処理シナリオを実装しておき、既知の障害が発生した時に、障害を回復して試験を続行するので、簡単な試験シナリオで例外処理を行うことができ、ネットワークにおける瞬断レベルの通信エラーなどの外部要因に基づいて障害が発生した場合であっても、無人運転で自動試験を続行することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施形態にかかる自動試験機を示すブロック構成図である。
【図2】本発明の一実施形態にかかる自動試験機における情報の流れを示す機能ブロック図である。
【図3】例外処理部における処理フローを示す機能ブロック図である。
【図4】自動試験機における例外処理の具体的な流れを示す機能ブロック図である。
【図5】試験シナリオファイルの一例を示す図である。
【図6】例外処理呼出条件テーブルの一例を示す図である。
【図7】例外処理シナリオファイルの一例を示す図である。
【符号の説明】
1 自動試験機
11 入力装置
12 出力装置
30 試験制御装置
31 試験スケジューラ
32 試験シナリオ処理部
33 例外処理部
100 被試験対象装置
Claims (8)
- 被試験対象装置と接続された自動試験機が、予め与えられた試験シナリオに基づいて試験を自動的に実行する自動試験方法において、
既知の障害が発生した時に前記試験を続行するための例外処理シナリオが記述された例外処理シナリオファイルと、前記障害の発生パターンと前記例外処理シナリオとが関連付けられた例外処理呼出条件テーブルと、前記試験シナリオが記述された試験シナリオファイルとを、入力装置から入力する入力ステップと、
前記既知の障害が発生した時に、例外処理部が、前記例外処理呼出条件テーブルを参照して、前記障害の発生パターンから例外処理シナリオを特定する特定ステップと、
前記既知の障害が発生した時に、試験シナリオ処理部が、前記試験シナリオを中断する中断ステップと、
前記試験シナリオ処理部が、前記特定ステップで特定された例外処理シナリオを、前記例外処理シナリオファイルを参照して実行する例外処理ステップと、
前記試験シナリオ処理部が、前記例外処理シナリオを実行した後に、前記試験シナリオ内の中断した試験イベントから処理を続行する続行ステップと
を備えたことを特徴とする自動試験方法。 - 前記特定ステップは、前記例外処理部が、前記障害の発生パターンから例外処理シナリオを特定することができない場合には、前記被試験対象装置のリセットコマンド列を例外処理シナリオとして特定することを特徴とする請求項1に記載の自動試験方法。
- 前記特定ステップは、前記例外処理部が、前記被試験対象装置のログ情報と前記自動試験機の障害情報とから、前記例外処理シナリオの実行により、前記試験を続行することができるか否かを判定する判定ステップを含み、
該判定ステップで続行できると判定された場合には前記例外処理シナリオを、前記判定ステップで続行できないと判定された場合には前記リセットコマンド列を、例外処理シナリオとして特定することを特徴とする請求項2に記載の自動試験方法。 - 被試験対象装置と接続され、予め与えられた試験シナリオに基づいて試験を自動的に実行する自動試験機において、
既知の障害が発生した時に前記試験を続行するための例外処理シナリオが記述された例外処理シナリオファイルと、前記障害の発生パターンと前記例外処理シナリオとが関連付けられた例外処理呼出条件テーブルと、前記試験シナリオが記述された試験シナリオファイルとを入力する入力装置と、
前記既知の障害が発生した時に、前記例外処理呼出条件テーブルを参照して前記障害の発生パターンから例外処理シナリオを特定する例外処理部と、
前記既知の障害が発生した時に前記試験シナリオを中断し、前記例外処理部で特定された例外処理シナリオを、前記例外処理シナリオファイルを参照して実行した後に、前記試験シナリオ内の中断した試験イベントから処理を続行する試験シナリオ処理部と
を備えたことを特徴とする自動試験機。 - 前記例外処理部は、前記障害の発生パターンから例外処理シナリオを特定することができない場合には、前記被試験対象装置のリセットコマンド列を例外処理シナリオとして特定することを特徴とする請求項4に記載の自動試験機。
- 前記例外処理部は、前記被試験対象装置のログ情報と前記自動試験機の障害情報とから、前記例外処理シナリオの実行により、前記試験を続行することができるか否かを判定し、続行できると判定した場合には前記例外処理シナリオを、続行できないと判定した場合には前記リセットコマンド列を、例外処理シナリオとして特定することを特徴とする請求項5に記載の自動試験機。
- 被試験対象装置と接続され、予め与えられた試験シナリオに基づいて試験を自動的に実行する自動試験機の試験制御装置に、請求項1、2または3に記載の各ステップを実行させるためのプログラム。
- 被試験対象装置と接続され、予め与えられた試験シナリオに基づいて試験を自動的に実行する自動試験機の試験制御装置に、請求項1、2または3に記載の各ステップを実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003135166A JP2004341652A (ja) | 2003-05-13 | 2003-05-13 | 自動試験方法及び自動試験機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003135166A JP2004341652A (ja) | 2003-05-13 | 2003-05-13 | 自動試験方法及び自動試験機 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004341652A true JP2004341652A (ja) | 2004-12-02 |
Family
ID=33525496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003135166A Pending JP2004341652A (ja) | 2003-05-13 | 2003-05-13 | 自動試験方法及び自動試験機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004341652A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013205306A (ja) * | 2012-03-29 | 2013-10-07 | Ono Sokki Co Ltd | 試験手順作成装置及びプログラム |
JP2017041091A (ja) * | 2015-08-19 | 2017-02-23 | 富士通株式会社 | 試験方法、試験装置及び試験システム |
JP7571066B2 (ja) | 2022-01-07 | 2024-10-22 | 株式会社東芝 | 攻撃制御装置、攻撃制御システム及びプログラム |
-
2003
- 2003-05-13 JP JP2003135166A patent/JP2004341652A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013205306A (ja) * | 2012-03-29 | 2013-10-07 | Ono Sokki Co Ltd | 試験手順作成装置及びプログラム |
JP2017041091A (ja) * | 2015-08-19 | 2017-02-23 | 富士通株式会社 | 試験方法、試験装置及び試験システム |
JP7571066B2 (ja) | 2022-01-07 | 2024-10-22 | 株式会社東芝 | 攻撃制御装置、攻撃制御システム及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3036633B1 (en) | Cloud deployment infrastructure validation engine | |
US8839201B2 (en) | Capturing test data associated with error conditions in software item testing | |
US10067858B2 (en) | Cloud-based software testing | |
US9292416B2 (en) | Software development kit testing | |
US8839202B2 (en) | Test environment managed within tests | |
JPH01267742A (ja) | 故障診断方式 | |
US20140109061A1 (en) | Test creation with execution | |
CN111949551A (zh) | 应用程序测试方法、装置、设备及存储介质 | |
JP5198154B2 (ja) | 障害監視システム及びデバイスと監視装置並びに障害監視方法 | |
WO2021008029A1 (zh) | 案例执行方法、装置、设备及计算机可读存储介质 | |
US10387294B2 (en) | Altering a test | |
CN112025766A (zh) | 一种机器人系统检健康自检的方法、装置以及电子设备 | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
JP2010256997A (ja) | フィールドトラブルのエラー再現システム、エラー再現調査方法およびシナリオ実行プログラム | |
US9292422B2 (en) | Scheduled software item testing | |
CN115599645B (zh) | 一种linux驱动模块稳定性测试方法及装置 | |
JPH02294739A (ja) | 障害検出方式 | |
JP2004341652A (ja) | 自動試験方法及び自動試験機 | |
JPH07311693A (ja) | デバッグ方式 | |
CN115756914A (zh) | 测试方法、系统及测试平台和测试机器 | |
JP2001243089A (ja) | ソフトウェア検証装置及びソフトウェア検証方法 | |
JPH0962626A (ja) | 分散処理システムのオンラインテスト方法 | |
JPH04338854A (ja) | 遠隔保守装置 | |
CN117992262A (zh) | 故障处理方法、样本分析仪及其计算机可读存储介质 | |
JP2004080297A (ja) | 故障措置システム、及び、故障措置方法 |