(57)【要約】  試験実行部（１２０）は、試験シナリオ（１７２）に従って、試験対象に対する試験を実行する。受信部（１９２）は、試験対象から送信される応答パケットを受信する受信部と、ログ記録部（１２１）は、応答パケットに含まれる応答値をログファイル（１７３）に記録する。評価部（１３０）は、ログファイルに記録された応答値を、試験管理ファイル（１８０）に定義された期待値と比較する。試験結果生成部（１３１）は、応答値と期待値との比較結果に基づいて試験結果（１７４）を生成する。
2017168748.tif 000002
【特許請求の範囲】
【請求項１】
試験対象に対する試験で前記試験対象に送信される要求値と、前記試験対象に対する試験で前記試験対象から送信されるべき期待値と、が定義された試験管理ファイルを記憶する記憶部と、
前記試験対象に対する試験の手順と前記試験管理ファイルに定義される要求値に対応付けられる情報とが記述された試験シナリオに従って、前記試験対象に対する試験を実行する試験実行部と、
前記試験対象に対する試験で、前記試験シナリオに記述された情報に対応付けられた要求値を含んだ要求パケットを前記試験対象に送信する送信部と、
前記試験対象に対する試験で、前記試験対象から送信される応答パケットを受信する受信部と、
受信された応答パケットに含まれる応答値をログファイルに記録するログ記録部と、
前記ログファイルに記録された応答値を、前記試験管理ファイルに定義された期待値と比較する評価部と、
前記応答値と前記期待値との比較結果に基づいて試験結果を生成する試験結果生成部とを備える試験装置。
【請求項２】
前記試験結果が生成された後に前記試験管理ファイルに対する修正指示を受け付ける受付部と、
受け付けられた修正指示に従って前記試験管理ファイルを修正する修正部と
を備える請求項１に記載の試験装置。
【請求項３】
前記試験実行部は、前記試験シナリオに従って、第１バージョンの試験対象に対する試験を実行し、
前記受信部は、前記第１バージョンの試験対象に対する試験で、前記第１バージョンの試験対象から送信される第１バージョンの応答パケットを受信し、
前記ログ記録部は、前記第１バージョンの応答パケットに含まれる第１バージョンの応答値を第１のログファイルに記録し、
前記評価部は、前記第１のログファイルに記録された第１バージョンの応答値を、前記試験管理ファイルに定義された期待値と比較し、
前記試験結果生成部は、前記第１バージョンの応答値と前記期待値との比較結果に基づいて第１バージョンの試験結果を生成し、
前記受付部は、前記第１バージョンの試験結果が生成された後に前記修正指示を受け付け、
前記修正部は、前記修正指示に従って、前記試験管理ファイルに定義された期待値を修正し、
前記試験実行部は、前記試験管理ファイルが修正された後に、前記試験シナリオに従って、第２バージョンの試験対象に対する試験を実行し、
前記受信部は、前記第２バージョンの試験対象に対する試験で、前記第２バージョンの試験対象から送信される第２バージョンの応答パケットを受信し、
前記ログ記録部は、前記第２バージョンの応答パケットに含まれる第２バージョンの応答値を第２のログファイルに記録し、
前記評価部は、前記第２のログファイルに記録された第２バージョンの応答値を、前記試験管理ファイルに定義された修正後の期待値と比較し、
前記試験装置は、
前記比較結果に応じた内容を示すダイアログを生成するダイアログ生成部と、
生成されたダイアログを表示する表示部と
を備える請求項２に記載の試験装置。
【請求項４】
試験管理ファイルを用いる試験プログラムであって、
前記試験管理ファイルは、試験対象に対する試験で前記試験対象に送信される要求値と、前記試験対象に対する試験で前記試験対象から送信されるべき期待値と、が定義されたファイルであり、
前記試験プログラムは、
前記試験対象に対する試験の手順と前記試験管理ファイルに定義される要求値に対応付けられる情報とが記述された試験シナリオに従って、前記試験対象に対する試験を実行する試験実行処理と、
前記試験対象に対する試験で、前記試験シナリオに記述された情報に対応付けられた要求値を含んだ要求パケットを前記試験対象に送信する送信処理と、
前記試験対象に対する試験で、前記試験対象から送信される応答パケットを受信する受信処理と、
受信された応答パケットに含まれる応答値をログファイルに記録するログ記録処理と、
前記ログファイルに記録された応答値を、試験管理ファイルに定義された期待値と比較する評価処理と、
前記応答値と前記期待値との比較結果に基づいて試験結果を生成する試験結果生成処理と
をコンピュータに実行させるための試験プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験シナリオを用いる試験を実施する技術に関するものである。
【背景技術】
【０００２】
通信機能を有する装置に実装される通信プロトコルまたは通信機能が変更された場合、装置の動作及び装置間の接続性を検証するための通信試験が実施される。通信試験は、機能試験または回帰試験によって行われる。通信機能を有する装置として、空調機が挙げられる。【０００３】
通信試験を行う場合、試験者の判断によって試験仕様書が更新されて、さらに、試験シナリオが更新される。
そして、試験仕様書の更新が多数の試験シナリオおよび他の機種に対して行われる場合、試験工数が大きくなってしまい、試験漏れが生じる可能性が生じる。【０００４】
装置の検証は、通信試験の結果を、予め作成された応答期待値と比較して行うのが一般的である。【０００５】
通信試験において、試験シナリオを実行するために必要なデータの修正と、装置に実装されているソフトウェアに及ぶ影響と、を回帰試験によって網羅的に確認する必要がある。しかし、人手で確認した場合、見落とし及び見誤りが発生しやすい。そのため、他機種および別機能での接続の不具合が発生しやすい。
また、通信試験は、試験仕様書が修正されて、試験シナリオの実行に必要な入力値および期待値が抽出された後に実行されるため、不具合の検出には膨大な時間がかかる。【０００６】
試験者は、試験仕様書に記載された手順と試験シナリオのスクリプトの文法とを把握している必要がある。そのため、試験者の負荷が高い。
また、試験シナリオの修正は、同一機種の他シナリオまたは別機種の類似機能の試験シナリオに影響する場合が多い。そのため、試験シナリオの修正に要する時間が長くなる。また、試験者が試験シナリオの修正に伴うバグを作ってしまう可能性が高い。
試験仕様書が変更されて、試験シナリオが変更された後に、新バージョンの装置に対して試験が実施されるため、試験結果が出力されるまでに要する時間が長い。【０００７】
近年、空調機等の装置の機能が多様化および複雑化し、相互に接続可能な装置の機種数が増加している。そのため、装置の品質を確保する為には、膨大な数の試験項目を実施する必要がある。しかし、人手による試験の実施は非効率である。そこで、効率的に試験を行うための様々な方法が提案されている。【０００８】
特許文献１には、実環境でのオペレーションログからテストデータを自動的に作成して、新バージョンのプログラムの出力結果と旧バージョンのプログラムの出力結果とを容易に比較する方法が開示されている。
この方法は、不具合の早期発見および早期解決に役立つ。特に、プログラムのバージョンアップの際、通常の機能テストでは発見しづらい不具合の発見に役立つ。つまり、思わぬ箇所の思わぬ不具合の発見に役立つ。
しかし、試験者が、試験仕様書と新バージョンの入出力テーブルと新機能比較マスタデータベースとを更新する必要がある。そのため、試験者が試験仕様書の内容を事前に把握していなければならず、属人性が高い。そして、他シナリオと、他機種の入出力テーブルと、新機能比較マスタデータベースとの間で、更新漏れによる不整合が発生しやすい。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１３−１０５３５８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、試験シナリオを用いる試験を容易に実施できるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
本発明の試験装置において、
試験対象に対する試験で前記試験対象に送信される要求値と、前記試験対象に対する試験で前記試験対象から送信されるべき期待値と、が定義された試験管理ファイルを記憶する記憶部と、
前記試験対象に対する試験の手順と前記試験管理ファイルに定義される要求値に対応付けられる情報とが記述された試験シナリオに従って、前記試験対象に対する試験を実行する試験実行部と、
前記試験対象に対する試験で、前記試験シナリオに記述された情報に対応付けられた要求値を含んだ要求パケットを前記試験対象に送信する送信部と、
前記試験対象に対する試験で、前記試験対象から送信される応答パケットを受信する受信部と、
受信された応答パケットに含まれる応答値をログファイルに記録するログ記録部と、
前記ログファイルに記録された応答値を、前記試験管理ファイルに定義された期待値と比較する評価部と、
前記応答値と前記期待値との比較結果に基づいて試験結果を生成する試験結果生成部とを備える。
【発明の効果】
【００１２】
本発明によれば、試験シナリオを用いる試験を容易に実施することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１における試験装置１００の構成図。
【図２】実施の形態１における試験方法（試験）のフローチャート。
【図３】実施の形態１における試験管理ファイル１８０の構成図。
【図４】実施の形態１におけるバージョンテーブル１８１の構成図。
【図５】実施の形態１におけるトレーサビリティテーブル１８２の構成図。
【図６】実施の形態１におけるシーケンステーブル１８３の構成図。
【図７】実施の形態１における機種テーブル１８４の構成図。
【図８】実施の形態１におけるオペランドテーブル１８５の構成図。
【図９】実施の形態１における条件テーブル１８６の構成図。
【図１０】実施の形態１におけるコマンドテーブル１８７の構成図。
【図１１】実施の形態１における修正処理（Ｓ１００）のフローチャート。
【図１２】実施の形態１における第１の試験シナリオ１７２の一例を示す図。
【図１３】実施の形態１における第１の試験シナリオ１７２の一例を示す図。
【図１４】実施の形態１における第２の試験シナリオ１７２の一例を示す図。
【図１５】実施の形態１における第２の試験シナリオ１７２の一例を示す図。
【図１６】実施の形態１における通信パケット１０１の構成図。
【図１７】実施の形態１におけるログファイル１７３の構成図。
【図１８】実施の形態１における試験結果１７４の一例を示す図。
【図１９】実施の形態２における試験装置１００の構成図。
【図２０】実施の形態２における試験方法（編集）のフローチャート。
【図２１】実施の形態２における修正処理（Ｓ２２０）のフローチャート。
【図２２】実施の形態２における試験方法の概要図。
【図２３】実施の形態２におけるダイアログ活用処理（Ｓ２０８）のフローチャート。
【図２４】実施の形態２における変換処理（Ｓ２３０）のフローチャート。
【図２５】実施の形態における試験装置１００のハードウェア構成図。
【発明を実施するための形態】
【００１４】
実施の形態１．
試験装置１００について、図１から図１８に基づいて説明する。
【００１５】
＊＊＊構成の説明＊＊＊
図１に基づいて、試験装置１００の構成について説明する。
試験装置１００は、プロセッサ９０１とメモリ９０２と補助記憶装置９０３と通信装置９０４と入力装置９０７とディスプレイ９０８いったハードウェアを備えるコンピュータである。プロセッサ９０１は、信号線を介して他のハードウェアと接続されている。
【００１６】
プロセッサ９０１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）であり、他のハードウェアを制御する。具体的には、プロセッサ９０１は、ＣＰＵ、ＤＳＰまたはＧＰＵである。ＣＰＵはＣｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称であり、ＤＳＰはＤｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒの略称であり、ＧＰＵはＧｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。
メモリ９０２は揮発性の記憶装置である。メモリ９０２は、主記憶装置またはメインメモリとも呼ばれる。具体的には、メモリ９０２はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
補助記憶装置９０３は不揮発性の記憶装置である。具体的には、補助記憶装置９０３は、ＲＯＭ、ＨＤＤまたはフラッシュメモリである。ＲＯＭはＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略称であり、ＨＤＤはＨａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略称である。
通信装置９０４は、通信を行う装置であり、レシーバ９０５とトランスミッタ９０６とを備える。具体的には、通信装置９０４は通信チップまたはＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
入力装置９０７は、入力を受け付ける装置である。具体的には、入力装置９０７は、キーボード、マウス、テンキーまたはタッチパネルである。
ディスプレイ９０８は、データを表示する表示装置である。具体的には、ディスプレイ９０８は液晶ディスプレイである。
【００１７】
試験装置１００は、修正部１１０と試験実行部１２０とログ記録部１２１と評価部１３０と試験結果生成部１３１とシーケンス図生成部１３２といった「部」を機能構成の要素として備える。「部」の機能はソフトウェアで実現される。「部」の機能については後述する。
【００１８】
補助記憶装置９０３には、「部」の機能を実現するプログラムが記憶されている。「部」の機能を実現するプログラムは、メモリ９０２にロードされて、プロセッサ９０１によって実行される。
さらに、補助記憶装置９０３にはＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）が記憶されている。ＯＳの少なくとも一部は、メモリ９０２にロードされて、プロセッサ９０１によって実行される。
つまり、プロセッサ９０１は、ＯＳを実行しながら、「部」の機能を実現するプログラムを実行する。
「部」の機能を実現するプログラムを実行して得られるデータは、メモリ９０２、補助記憶装置９０３、プロセッサ９０１内のレジスタまたはプロセッサ９０１内のキャッシュメモリといった記憶装置に記憶される。これらの記憶装置は、データを記憶する記憶部１９１として機能する。
なお、試験装置１００が複数のプロセッサ９０１を備えて、複数のプロセッサ９０１が「部」の機能を実現するプログラムを連携して実行してもよい。
【００１９】
メモリ９０２には、試験装置１００で使用、生成、入出力または送受信されるデータが記憶される。
具体的には、メモリ９０２には、試験管理ファイル１８０、試験書１７１、試験シナリオ１７２、ログファイル１７３、試験結果１７４およびシーケンス図１７５等が記憶される。メモリ９０２に記憶されるデータの内容については後述する。
【００２０】
通信装置９０４はデータを通信する通信部として機能し、レシーバ９０５はデータを受信する受信部１９２として機能し、トランスミッタ９０６はデータを送信する送信部１９３として機能する。
入力装置９０７は入力を受け付ける受付部１９４として機能する。
ディスプレイ９０８はデータを表示する表示部１９５として機能する。
【００２１】
プロセッサ９０１とメモリ９０２と補助記憶装置９０３とをまとめたハードウェアを「プロセッシングサーキットリ」という。
「部」は「処理」または「工程」に読み替えてもよい。「部」の機能はファームウェアで実現してもよい。
「部」の機能を実現するプログラムは、磁気ディスク、光ディスクまたはフラッシュメモリ等の不揮発性の記憶媒体に記憶することができる。
【００２２】
＊＊＊動作の説明＊＊＊
試験装置１００の動作は試験方法に相当する。また、試験方法の手順は試験プログラムの手順に相当する。
【００２３】
図２に基づいて、試験方法（試験）の手順について説明する。
試験方法（試験）は、対象装置および対象ソフトウェアを試験するための方法である。対象装置および対象ソフトウェアは試験する対象となる装置およびソフトウェアである。
ステップＳ１００は修正処理である。
ステップＳ１００において、修正部１１０は、試験者の指示に従って試験管理ファイル１８０を修正する。
具体的には、修正部１１０は、データベース管理システムまたは表計算ソフトウェアなどのソフトウェアを実行することによって、試験管理ファイル１８０を修正する。
【００２４】
図３に基づいて、試験管理ファイル１８０について説明する。
試験管理ファイル１８０は、試験シナリオ１７２を管理するためのデータである。
試験管理ファイル１８０は、バージョンテーブル１８１と、トレーサビリティテーブル１８２と、シーケンステーブル１８３と、機種テーブル１８４と、オペランドテーブル１８５と、条件テーブル１８６と、コマンドテーブル１８７とを含む。
【００２５】
図４に基づいて、バージョンテーブル１８１について説明する。
バージョンテーブル１８１は、試験する対象となるソフトウェアのバージョンを管理するためのテーブルである。試験する対象となるソフトウェアを対象ソフトウェアという。ソフトウェアはプログラムを意味する。
バージョンテーブル１８１は、バージョン、機能名、コマンド名、区分および説明の欄を備える。これらの欄は互いに対応付けられている。
バージョンの欄は、バージョンを識別する識別子を示す。
機能名の欄は、機能を識別する識別子を示す。
コマンド名の欄は、コマンドを識別する識別子を示す。
区分の欄は、編集の種類を示す。具体的な区分は変更、追加または削除である。
説明の欄は、機能およびコマンドの説明を示す。
【００２６】
図５に基づいて、トレーサビリティテーブル１８２について説明する。
トレーサビリティテーブル１８２は、機能名、バージョン、ソースコード、試験シートおよびコマンドＩＤの欄を備える。これらの欄は互いに対応付けられている。
機能名の欄は、機能を識別する識別子を示す。
バージョンの欄は、バージョンを識別する識別子を示す。
ソースコードの欄は、ソースコードが記載されたモジュールを識別する名称を示す。
試験シートの欄は、試験シートを識別する識別子を示す。
コマンドＩＤの欄は、コマンドを識別する識別子を示す。
【００２７】
図６に基づいて、シーケンステーブル１８３について説明する。
シーケンステーブル１８３は、試験シナリオ１７２で指定される手順を管理するためのテーブルである。試験シナリオ１７２については後述する。
シーケンステーブル１８３は、レコードＩＤ、シナリオ番号、シーケンス番号、コマンドＩＤ、区分およびオペランドの欄を備える。これらの欄は互いに対応付けられている。
レコードＩＤの欄は、シーケンステーブル１８３のレコードを識別する識別子を示す。レコードはテーブルの１行に相当するデータである。
シナリオ番号の欄は、試験シナリオ１７２を識別する識別子を示す。
シーケンス番号の欄は、試験シナリオ１７２で指定される手順に含まれる処理を識別する識別子を示す。
コマンドＩＤの欄は、コマンドを識別する識別子を示す。
区分の欄は、動作の種類を示す。具体的な区分は送信または受信である。
オペランドの欄は、オペランド値を示す。オペランド値は、オペランドの値である。オペランドの欄は複数存在する。
【００２８】
図７に基づいて、機種テーブル１８４について説明する。
機種テーブル１８４は、対象ソフトウェアが実装される装置が満たすべき条件を管理するためのテーブルである。対象ソフトウェアが実装される装置が対象装置である。
機種テーブル１８４は、コマンドＩＤおよび機種の欄を備える。これらの欄は互いに対応付けられている。
コマンドＩＤの欄は、コマンドを識別する識別子を示す。
機種の欄は、装置の種類毎に、オペランドの条件または他の条件を識別する識別子を示す。
【００２９】
図８に基づいて、オペランドテーブル１８５について説明する。
オペランドテーブル１８５は、オペランドの条件を管理するためのテーブルである。
オペランドテーブル１８５は、条件ＩＤおよびオペランドの欄を備える。これらの欄は互いに対応付けられている。
条件ＩＤの欄は、オペランド値の条件を識別する識別子を示す。
オペランドの欄は、条件を満たすオペランド値の範囲を示す。オペランドの欄は複数存在する。オペランド値の範囲は、コマンドが同じであっても機種が異なれば異なる。
【００３０】
図９に基づいて、条件テーブル１８６について説明する。
条件テーブル１８６は、オペランド以外の判定要素の条件を管理するためのテーブルである。判定要素は、試験の結果を判定する際に考慮される要素である。
条件テーブル１８６は、条件ＩＤおよび判定要素の欄を備える。これらの欄は互いに対応付けられている。
条件ＩＤの欄は、オペランド以外の判定要素の条件を識別する識別子を示す。
判定要素の欄は、判定要素の条件を満たす値を示す。具体的な判定要素は、タイムアウト、バックトラックおよびリトライである。
タイムアウトの値は、最大の待ち時間を示す。待ち時間の単位は秒である。タイムアウトの値が「６０」である場合、６０秒が経過するとタイムアウトになる。
バックトラックの値は、遡る時間を示す。遡る時間の単位は秒である。バックトラックの値が「６０」である場合、６０秒前に遡って通信パケット１０１の確認が行われる。
リトライの値は、最大の再送回数を示す。再送回数は、通信パケット１０１の送信が失敗した場合に通信パケット１０１が再送される回数である。
【００３１】
図１０に基づいて、コマンドテーブル１８７について説明する。
コマンドテーブル１８７は、コマンドを管理するためのテーブルである。
コマンドテーブル１８７は、コマンドＩＤ、コマンド名、ヘッダ、送信コマンド、受信コマンド、送信オペランド数、受信オペランド数、解釈不能および実行不可の欄を備える。これらの欄は互いに対応付けられている。
コマンドＩＤおよびコマンド名の欄は、コマンドを識別する識別子を示す。
ヘッダの欄は、ヘッダに相当する値を示す。
送信コマンドの欄は、送信コマンドに相当する値を示す。送信コマンドは、試験装置１００から対象装置に送信されるコマンドである。
受信コマンドの欄は、受信コマンドに相当する値を示す。受信コマンドは、対象装置から試験装置１００に送信されるコマンドである。
送信オペランド数の欄は、送信オペランドの個数を示す。送信オペランドは、試験装置１００から対象装置に送信されるオペランドである。
受信オペランド数の欄は、受信オペランドの個数を示す。受信オペランドは、対象装置から試験装置１００に送信されるオペランドである。
解釈不能の欄は、解釈不能を意味する値を示す。
実行不可の欄は、実行不可を意味する値を示す。
【００３２】
図１１に基づいて、修正処理（Ｓ１００）の手順について説明する。
ステップＳ１０１において、表示部１９５は、試験書１７１を表示する。試験書１７１は、試験の仕様が記載された文書のデータである。
そして、試験者は、表示された試験書１７１を参照し、試験書１７１を修正する必要があるか判断する。
試験者が試験書１７１を修正する必要があると判断した場合、処理はステップＳ１０２に進む。
試験者が試験書１７１を修正する必要がないと判断した場合、処理はステップＳ１０３に進む。
【００３３】
ステップＳ１０２において、試験者は、入力装置９０７を操作して修正内容を試験装置１００に入力する。
受付部１９４は、入力された修正内容を受け付ける。
そして、修正部１１０は、受け付けられた修正内容に従って、試験書１７１を修正する。
【００３４】
ステップＳ１０３において、表示部１９５は、機種テーブル１８４を表示する。
そして、試験者は、表示された機種テーブル１８４を参照し、機種テーブル１８４を修正する必要があるか判断する。
試験者が機種テーブル１８４を修正する必要があると判断した場合、処理はステップＳ１０４に進む。
試験者が機種テーブル１８４を修正する必要がないと判断した場合、処理はステップＳ１０５に進む。
【００３５】
ステップＳ１０４において、試験者は、入力装置９０７を操作して修正内容を試験装置１００に入力する。
受付部１９４は、入力された修正内容を受け付ける。
そして、修正部１１０は、受け付けられた修正内容に従って、機種テーブル１８４を修正する。
【００３６】
ステップＳ１０５において、表示部１９５は、シーケンステーブル１８３およびコマンドテーブル１８７を表示する。
そして、試験者は、表示されたシーケンステーブル１８３およびコマンドテーブル１８７を参照し、期待値を修正する必要があるか判断する。期待値は、試験の結果として得られるべき値である。具体的には、期待値は、シーケンステーブル１８３内のオペランドの値と、コマンドテーブル１８７内のヘッダの値と、コマンドテーブル１８７内の受信コマンドの値である。
試験者が期待値を修正する必要があると判断した場合、処理はステップＳ１０６に進む。
試験者が期待値を修正する必要がないと判断した場合、処理はステップＳ１０７に進む。
【００３７】
ステップＳ１０６において、試験者は、入力装置９０７を操作して修正内容を試験装置１００に入力する。
受付部１９４は、入力された修正内容を受け付ける。
そして、修正部１１０は、受け付けられた修正内容に従って、期待値を修正する。
【００３８】
ステップＳ１０７において、表示部１９５は、コマンドテーブル１８７を表示する。
そして、試験者は、表示されたコマンドテーブル１８７を参照し、要求データを修正する必要があるか判断する。
要求データは、試験装置１００から対象装置に送信されるデータである。要求データに対して応答するデータを応答データという。応答データは、対象装置から試験装置１００に送信されるデータである。具体的には、要求データおよび応答データは、コマンドテーブル１８７内のヘッダの値および送信コマンドの値である。
試験者が要求データを修正する必要があると判断した場合、処理はステップＳ１０８に進む。
試験者が要求データを修正する必要がないと判断した場合、処理はステップＳ１０９に進む。
【００３９】
ステップＳ１０８において、試験者は、入力装置９０７を操作して修正内容を試験装置１００に入力する。
受付部１９４は、入力された修正内容を受け付ける。
そして、修正部１１０は、受け付けられた修正内容に従って、要求データを修正する。
【００４０】
ステップＳ１０６において、試験者は、入力装置９０７を操作して修正内容を試験装置１００に入力する。
受付部１９４は、入力された修正内容を受け付ける。
そして、修正部１１０は、受け付けられた修正内容に従って、期待値を修正する。
【００４１】
ステップＳ１０９において、表示部１９５は、シーケンステーブル１８３を表示する。
そして、試験者は、表示されたシーケンステーブル１８３を参照し、シーケンステーブル１８３を修正する必要があるか判断する。
試験者がシーケンステーブル１８３を修正する必要があると判断した場合、処理はステップＳ１０９に進む。
試験者がシーケンステーブル１８３を修正する必要がないと判断した場合、修正処理（Ｓ１００）は終了する。
【００４２】
ステップＳ１０９において、試験者は、入力装置９０７を操作して修正内容を試験装置１００に入力する。
受付部１９４は、入力された修正内容を受け付ける。
そして、修正部１１０は、受け付けられた修正内容に従って、シーケンステーブル１８３を修正する。
【００４３】
図２に戻り、ステップＳ１１１から説明を続ける。
ステップＳ１１１において、通信部は、対象装置と通信を接続する。
【００４４】
ステップＳ１１２において、試験実行部１２０は、試験シナリオ１７２に従って、試験対象に対する試験の実行を開始する。
具体的には、試験実行部１２０は、試験シナリオ１７２と試験管理ファイル１８０とを入力として、試験ツールの実行を開始する。試験ツールが実行される際、対象装置のアドレスはｃｏｎｆｉｇと呼ばれる設定ファイルから取得される。設定ファイルは記憶部１９１に予め記憶される。
【００４５】
試験シナリオ１７２は、試験の手順を指定する情報が記述されたデータである。具体的には、試験シナリオ１７２は、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）のようなマークアップ言語で記述される。
【００４６】
図１２〜図１５に、試験シナリオ１７２の例を示す。
図１２および図１３は、第１の試験シナリオ１７２の例を示している。
図１４および図１５は、第２の試験シナリオ１７２の例を示している。
試験シナリオ１７２は、シナリオ（ｓｅｎａｒｉｏ）を示す。シナリオは、処理の流れを表す要素である。
シナリオは、１つ以上のシナリオブロック（ｓｅｎａｒｉｏｂｌｏｃｋ）を含む。シナリオブロックは、１つ以上の処理の集まりを表す要素である。
第１の試験シナリオ１７２に示されるシナリオと第２の試験シナリオ１７２に示されるシナリオとは、独立して並列に実行される。
【００４７】
図１２において、８行目のｐａｃｋｅｔ要素は、「ｄａｔａ＝ｃｍｄ＿ｓｅｑ＿ｔａｂｌｅ（ｓｅｎ（１），ｓｅｑ（１））」に対応するデータを含んだパケットの送信を示す。「ｃｍｄ＿ｓｅｑ＿ｔａｂｌｅ」はシーケンステーブル１８３を示す。また、ｓｅｎ（Ｘ）はシナリオ番号「Ｘ」を示し、ｓｅｑ（Ｙ）はシーケンス番号「Ｙ」を示す。
８行目のｐａｃｋｅｔ要素に従って、試験実行部１２０は以下のように動作する。
まず、試験実行部１２０は、シナリオ番号「１」とシーケンス番号「１」とを含んだレコードを図６のシーケンステーブル１８３から選択し、選択したレコードからコマンドＩＤ「１０」を取得する。
次に、試験実行部１２０は、コマンドＩＤ「１０」を含んだレコードを図１０のコマンドテーブル１８７から選択し、選択したレコードからヘッダ「５１」と送信コマンド「５５」とを取得する。
そして、試験実行部１２０は、ヘッダ「５１」と送信コマンド「５５」とを含んだ通信パケット１０１を生成する。通信部は、通信パケット１０１を対象装置に送信する。
【００４８】
図１２において、１０行目のｗａｉｔｒｅｃｖ要素は、１１行目のｆｉｌｔｅｒ要素が示す処理の実行待ちを示す。１１行目のｆｉｌｔｅｒ要素は、「ｐａｔｔｅｒｎ＝ｃｍｄ＿ｓｅｑ＿ｔａｂｌｅ（ｓｅｎ（１），ｓｅｑ（２））」に対応するデータを含んだパケットの受信を示す。
１０行目のｗａｉｔｒｅｃｖ要素と１１行目のｆｉｌｔｅｒ要素とに従って、試験実行部１２０は以下のように動作する。
まず、試験実行部１２０は、シナリオ番号「１」とシーケンス番号「２」とを含んだレコードを図６のシーケンステーブル１８３から選択し、選択したレコードからコマンドＩＤ「１０」を取得する。
次に、試験実行部１２０は、コマンドＩＤ「１０」を含んだレコードを図１０のコマンドテーブル１８７から選択し、選択したレコードからヘッダ「５１」と受信コマンド「８９」とを取得する。
そして、試験実行部１２０は、ヘッダ「５１」と受信コマンド「８９」とを含んだ通信パケット１０１の受信待ちを行う。
【００４９】
図１６に、通信パケット１０１の構成を示す。
通信パケット１０１は、試験シナリオ１７２が実行されると、試験装置１００と対象装置との間で通信されるパケットである。
通信パケット１０１は、送信元アドレス、宛先アドレス、データ長、ヘッダ、コマンドおよびオペランドを含む。
ヘッダおよびコマンドは、図１１のステップＳ１０７で説明した要求データまたは応答データに相当する。
【００５０】
図２に戻り、ステップＳ１１３から説明を続ける。
ステップＳ１１３は、試験実行部１２０によって試験対象に対する試験が実行されている間に実行される。
【００５１】
ステップＳ１１３において、試験実行部１２０は要求パケットを生成し、送信部１９３は生成された要求パケットを対象装置に送信する。要求パケットは、試験装置１００から対象装置に送信される通信パケット１０１である。
そして、ログ記録部１２１は、送信された要求パケットに対応するログデータを生成し、生成したログデータをログファイル１７３に記録する。
【００５２】
さらに、受信部１９２は応答パケットを対象装置から受信する。応答パケットは、対象装置から試験装置１００に送信される通信パケット１０１である。
そして、ログ記録部１２１は、受信された応答パケットに対応するログデータを生成し、生成したログデータをログファイル１７３に記録する。
【００５３】
図１７に基づいて、ログファイル１７３について説明する。
ログファイル１７３には、ログデータが記録される。
ログデータは、送信元アドレス、宛先アドレス、時刻、通信フレームおよびコマンド名を含む。
通信フレームは、パケットデータである。パケットデータは、通信パケット１０１に含まれるデータである。通信パケット１０１には、ヘッダ、コマンドおよびその他のデータが含まれる。要求パケットに含まれる要求データと、応答パケットに含まれる応答データとは、パケットデータの一部である。要求データは要求値を示し、応答データは応答値を示す。
【００５４】
具体的には、ログ記録部１２１は、送信元アドレスと宛先アドレスとパケットデータといった情報を通信パケット１０１から取得し、取得した情報をログファイル１７３に記録する。
また、ログ記録部１２１は、通信パケット１０１が送信または受信された時刻を取得し、取得した時刻をログファイル１７３に記録する。
さらに、ログ記録部１２１は、試験シナリオ１７２に含まれる処理のうちの実行された処理に対応するコマンドＩＤをシーケンステーブル１８３から取得し、取得したコマンドＩＤに対応するコマンド名をコマンドテーブル１８７から取得する。そして、ログ記録部１２１は、取得したコマンド名をログファイル１７３に記録する。
【００５５】
図２に戻り、ステップＳ１１４から説明を続ける。
ステップＳ１１４以降の処理は、試験シナリオ１７２の実行が終了した後に実行される。
【００５６】
ステップＳ１１４において、評価部１３０は、実行された試験シナリオ１７２に対応するシーケンス番号、コマンドＩＤおよびオペランド値をシーケンステーブル１８３から取得する。
評価部１３０は、取得したコマンドＩＤに対応するヘッダの値および受信コマンドの値をコマンドテーブル１８７から取得する。
シーケンステーブル１８３から取得されたオペランドの値と、コマンドテーブル１８７から取得したヘッダの値と、コマンドテーブル１８７から取得した受信コマンドの値とを、期待値という。
【００５７】
ステップＳ１１５において、評価部１３０は、ログファイル１７３に含まれる応答データを、試験管理ファイル１８０に含まれる期待値と比較する。
例えば、評価部１３０は、ログファイル１７３に含まれるヘッダの値を、コマンドテーブル１８７から取得したヘッダの値と比較する。さらに、評価部１３０は、ログファイル１７３に含まれるコマンドの値を、コマンドテーブル１８７から取得した受信コマンドの値と比較する。
【００５８】
ここで、図１３の第１の試験シナリオ１７２に基づいて、ステップＳ１１４およびステップＳ１１５の具体例を説明する。
図１３において、１行目のｗａｉｔｒｅｃｖ要素は、３行目のｆｉｌｔｅｒ要素が示す処理の実行待ちを示す。
３行目のｆｉｌｔｅｒ要素は、「ｐａｔｔｅｒｎ＝ｃｍｄ＿ｓｅｑ＿ｔａｂｌｅ（ｓｅｎ（１），ｓｅｑ（４））」に対応するデータを含んだパケットの受信を示す。図６のシーケンステーブル１８３において、シナリオ番号「１」とシーケンス番号「４」とに対応するコマンドＩＤは「３」である。また、オペランドは「７４」である。図１０のコマンドテーブル１８７において、コマンドＩＤ「３」に対応するヘッダおよび受信コマンドは「３５」および「８２」である。
したがって、１行目のｗａｉｔｒｅｃｖ要素は、ヘッダ「３５」と受信コマンド「８２」とオペランド「７４」とを含んだ通信パケット１０１の受信待ちを示す。
【００５９】
また、１行目のｗａｉｔｒｅｃｖ要素において、「ｔｉｍｅｏｕｔ＝“３０”」は、タイムアウト時間が３０秒であることを示す。
２行目のｏｎｔｉｍｅｏｕｔ要素はタイムアウトになった場合の処理を示す。また、５行目のｏｎｒｅｃｖ要素はタイムアウトにならなかった場合の処理を示す。これらの要素において、「ｒｅｇｉｓｔｅｒ＝“Ｘ”  ｖａｌｕｅ＝“Ｙ”」は、レジスタ変数「Ｘ」への値「Ｙ」の格納を示す。つまり、２行目のｏｎｔｉｍｅｏｕｔ要素は、レジスタ変数「Ｒｅｓｕｌｔ１＿２」への値「ＮＧ」の格納を示す。また、５行目のｏｎｒｅｃｖ要素は、レジスタ変数「Ｒｅｓｕｌｔ１＿２」への値「ＯＫ」の格納を示す。
【００６０】
ステップＳ１１４において、評価部１３０は、タイムアウトにならなかった場合の期待値「ＯＫ」と、タイムアウトになった場合の期待値「ＮＧ」と取得する。
ステップＳ１１５において、評価部１３０は、ログファイル１７３に基づいてタイムアウトの有無を判定し、レジスタ変数「Ｒｅｓｕｌｔ１＿２」の値をログファイル１７３から取得する。タイムアウトにならなかった場合、評価部１３０は、レジスタ変数「Ｒｅｓｕｌｔ１＿２」の値を期待値「ＯＫ」と比較する。タイムアウトになった場合、評価部１３０は、レジスタ変数「Ｒｅｓｕｌｔ１＿２」の値を期待値「ＮＧ」と比較する。
レジスタ変数の値は、試験ツールによってレジスタ変数から取得されて、ログファイル１７３に登録される。
【００６１】
ステップＳ１１６において、試験結果生成部１３１は、比較結果に基づいて試験結果１７４を生成する。
【００６２】
図１８に基づいて、試験結果１７４について説明する。
試験結果１７４は、試験番号と機能名と個別結果と判定条件と判定結果と判定元データといった情報を含む。具体的には、試験結果１７４は、これらの情報が表形式で互いに対応付けられた帳票である。
判定条件は、判定の対象となる個別条件である。
判定結果は、全ての判定条件を満たすか否かを示す結果である。
【００６３】
個別結果の（１）〜（４）は以下の個別条件を意味する。以下の個別条件において、要求コマンドは要求パケットに含まれるコマンドであり、応答コマンドは応答パケットに含まれるコマンドである。
（１）要求コマンドを解釈することができない、という応答を受けていないか。
図１３の３行目のｆｉｌｔｅｒ要素に基づいて、個別条件（１）の判定方法を説明する。
まず、評価部１３０は、シナリオ番号「１」とシーケンス番号「４」とを含んだレコードを図６のシーケンステーブル１８３から選択し、選択したレコードからコマンドＩＤ「３」が取得される。
次に、評価部１３０は、コマンドＩＤ「３」を含んだレコードを図１０のコマンドテーブル１８７から選択し、選択したレコードから解釈不能を意味する値「ＤＤ」を取得する。
そして、応答コマンドのオペランド値が「ＤＤ」である場合、評価部１３０は、個別条件（１）に該当する応答を受けたと判定する。
【００６４】
（２）要求コマンドを実行することができない、という応答を受けていないか。
図１３の３行目のｆｉｌｔｅｒ要素に基づいて、個別条件（１）の判定方法を説明する。
まず、評価部１３０は、シナリオ番号「１」とシーケンス番号「４」とを含んだレコードを図６のシーケンステーブル１８３から選択し、選択したレコードからコマンドＩＤ「３」が取得される。
次に、評価部１３０は、コマンドＩＤ「３」を含んだレコードを図１０のコマンドテーブル１８７から選択し、選択したレコードから実行不可を意味する値「ＥＥ」を取得する。
そして、応答コマンドのオペランド値が「ＥＥ」である場合、評価部１３０は、個別条件（２）に該当する応答を受けたと判定する。
【００６５】
（３）応答コマンドのオペランドの数が足りているか。
図１３の３行目のｆｉｌｔｅｒ要素に基づいて、個別条件（１）の判定方法を説明する。
まず、評価部１３０は、シナリオ番号「１」とシーケンス番号「４」とを含んだレコードを図６のシーケンステーブル１８３から選択し、選択したレコードからコマンドＩＤ「３」が取得される。
次に、評価部１３０は、コマンドＩＤ「３」を含んだレコードが図１０のコマンドテーブル１８７から選択し、選択したレコードから受信オペランド数「１」を取得する。
そして、応答コマンドのオペランドの数が「１」未満である場合、応答コマンドのオペランドの数が足りていない。つまり、評価部１３０は、個別条件（３）を満たさないと判定する。
【００６６】
（４）応答コマンドのオペランドの値が許容範囲内の値であるか。
図１３の３行目のｆｉｌｔｅｒ要素に基づいて、個別条件（１）の判定方法を説明する。
まず、評価部１３０は、シナリオ番号「１」とシーケンス番号「４」とを含んだレコードを図６のシーケンステーブル１８３から選択し、選択したレコードからコマンドＩＤ「３」が取得される。
次に、評価部１３０は、コマンドＩＤ「３」を含んだレコードを図７の機種テーブル１８４から選択し、選択したレコードから試験対象の機種の条件ＩＤ「Ｓｘ」を取得する。
次に、評価部１３０は、条件ＩＤ「Ｓｘ」を含んだレコードを図８のオペランドテーブル１８５から選択し、選択したレコードからオペランド値の範囲を取得する。
そして、評価部１３０は、取得したオペランド値の範囲に基づいて、応答コマンドのオペランド値が範囲内の値であるか判定する。
【００６７】
図１８において、判定元データは、レジスタ変数の値を示す。レジスタ変数の値は、ログファイル１７３から取得される。
【００６８】
図２に戻り、ステップＳ１１６の説明を続ける。
シーケンス図生成部１３２は、ログファイル１７３を用いて、シーケンス図１７５を生成する。生成方法は、一般的なシーケンス図を生成するための従来の方法と同じである。具体的には、シーケンス図生成部１３２は、ログファイル１７３を入力としてシーケンス生成ツールを実行することによって、シーケンス図１７５を生成する。シーケンス生成ツールは、シーケンス図を生成するための一般的なツールである。
シーケンス図１７５は、試験装置１００と対象装置との間で行われた通信の流れを時間軸に沿って表した図である。
【００６９】
そして、表示部１９５は、試験結果１７４およびシーケンス図１７５を表示する。
【００７０】
ステップＳ１１７において、試験者は、表示された試験結果１７４およびシーケンス図１７５を参照し、対象装置の動作に不具合があるか判断する。
試験者が対象装置の動作に不具合があると判断した場合、処理はステップＳ１１８に進む。
試験者が対象装置の動作に不具合がないと判断した場合、試験方法（試験）の処理は終了する。
【００７１】
ステップＳ１１８において、試験者は、対象ソフトウェアを修正し、修正後の対象ソフトウェアを対象装置に実装する。
ステップＳ１１８の後、処理はステップＳ１００に戻る。
【００７２】
＊＊＊実施の形態１の特徴＊＊＊
記憶部１９１は、試験管理ファイル１８０を記憶する。試験管理ファイル１８０は、試験対象に対する試験で試験対象に送信される要求値と、試験対象に対する試験で試験対象から送信されるべき期待値と、が定義されたファイルである。
試験実行部１２０は、試験シナリオ１７２に従って、試験対象に対する試験を実行する。試験シナリオ１７２は、試験対象に対する試験の手順と試験管理ファイル１８０に定義される要求値に対応付けられる情報とが記述されるファイルである。
送信部１９３は、試験対象に対する試験で、要求パケットを試験対象に送信する。要求パケットは、試験シナリオ１７２に記述された情報に対応付けられた要求値を含む。
受信部１９２は、試験対象に対する試験で、試験対象から送信される応答パケットを受信する。
ログ記録部１２１は、受信された応答パケットに含まれる応答値をログファイル１７３に記録する。
評価部１３０は、ログファイル１７３に記録された応答値を、試験管理ファイル１８０に定義された期待値と比較する。
試験結果生成部１３１は、応答値と期待値との比較結果に基づいて試験結果１７４を生成する。
【００７３】
試験装置１００は、受付部１９４と修正部１１０とを備える。
受付部１９４は、試験結果が生成された後に試験管理ファイル１８０に対する修正指示を受け付ける。
修正部１１０は、受け付けられた修正指示に従って試験管理ファイル１８０を修正する。
【００７４】
＊＊＊実施の形態１の効果＊＊＊
従来、試験シナリオ１７２にコマンドが直接記載されて、試験が実施されていた。しかし、実施の形態１では、試験管理ファイル１８０にコマンドの情報、期待値およびシーケンスが記載されるため、試験シナリオ１７２を編集することなく、試験を実施することができる。これにより、試験シナリオ１７２のメンテナンス性が向上する。具体的には、あるコマンドの仕様が変更になった場合であっても、全ての試験シナリオ１７２を修正する必要はなく、試験シナリオ１７２の１箇所の値を修正すればよい。
【００７５】
応答値と期待値との間に差分が発生した場合、ログファイル１７３を用いて、相違箇所が明示された試験結果１７４およびシーケンス図１７５を表示することができる。
【００７６】
以下の（１）〜（４）のような条件を満たしているか否かを判定して、判定結果を表示することが可能になる。
（１）要求コマンドを解釈することができない、という応答を受けていないか。
（２）要求コマンドを実行することができない、という応答を受けていないか。
（３）応答コマンドのオペランドの数が足りているか。
（４）応答コマンドのオペランドの値が許容範囲内の値であるか。
【００７７】
実施の形態２．
試験装置１００について、図１９から図２２に基づいて説明する。但し、実施の形態１と重複する説明は省略または簡略する。
【００７８】
＊＊＊構成の説明＊＊＊
図１９に基づいて、試験装置１００の構成について説明する。
試験装置１００は、ダイアログ生成部１４０を機能構成の要素として備える。
ダイアログ生成部１４０の機能については後述する。
【００７９】
＊＊＊動作の説明＊＊＊
図２０に基づいて、試験方法（編集）の手順について説明する。
試験方法（編集）は、試験管理ファイル１８０および試験書１７１を編集するための方法である。
試験方法（編集）は、実施の形態１で説明した試験方法（試験）が実施されて対象装置の不具合がなくなった後に実施される。具体的には、図１８に基づいて説明した試験結果１７４において判定結果が判定条件を満たすことを示した後に、試験方法（編集）が実施される。
【００８０】
ステップＳ２０２からステップＳ２０５までの処理は、図２の試験方法（試験）におけるステップＳ１１２からステップＳ１１４までの処理と同じである。
但し、ステップＳ２０３の前処理として、変換処理（Ｓ２３０）が実行される。変換処理（Ｓ２３０）については後述する。
【００８１】
ステップＳ２０６において、評価部１３０は、実行された試験シナリオ１７２に対応するコマンドについて、コマンドテーブル１８７から受信コマンドの値を取得し、機種テーブル１８４から条件ＩＤを取得し、シーケンステーブル１８３からオペランドの値を取得する。
【００８２】
ステップＳ２０７において、評価部１３０は、図２のステップＳ１１５と同じく、ログファイル１７３に含まれる応答データを、試験管理ファイル１８０に含まれる期待値と比較する。
【００８３】
そして、評価部１３０は、比較結果に基づいて、期待値と異なる応答データに対応するコマンドを特定する。特定されるコマンドを差分コマンドという。
具体的には、評価部１３０は、期待値と異なる応答データに対応するコマンド名をログファイル１７３から取得する。取得されたコマンド名で識別されるコマンドが差分コマンドである。
【００８４】
ステップＳ２０８はダイアログ活用処理である。
ステップＳ２０８において、ダイアログ生成部１４０は、差分コマンドに対応するシナリオ番号およびシーケンス番号をシーケンステーブル１８３から取得する。
そして、ダイアログ生成部１４０は、取得したシナリオ番号と、取得したシーケンス番号と、差分コマンドを識別するコマンド名とを含んだ情報を示すダイアログ１７６を生成する。
【００８５】
また、シーケンス図生成部１３２は、ログファイル１７３を用いて、シーケンス図１７５を生成する。生成方法は、図２のステップＳ１１６における生成方法と同じである。
そして、表示部１９５は、ダイアログ１７６およびシーケンス図１７５を表示する。
【００８６】
さらに、ダイアログ生成部１４０は、ダイアログ生成条件を満たすか判定を行う。ダイアログ生成条件は予め決められた条件である。
ダイアログ生成条件を満たすと判定した場合、ダイアログ生成部１４０は、満たした条件に対応するメッセージを示すダイアログ１７６を生成する。
そして、表示部１９５は、生成されたダイアログ１７６を表示する。
具体的なメッセージは、「新機能で通信コマンドが変更／追加されました。新バージョンで試験管理ファイル１８０の入出力テーブルを更新してください。」、「デグレードが発生している可能性があります。」、「新機能の実装不具合が発生している可能性があります。」などである。  ダイアログ活用処理（Ｓ２０８）の詳細については後述する。
【００８７】
ステップＳ２０９およびステップＳ２１０は、図２の試験方法（試験）におけるステップＳ１１７およびステップＳ１１８と同じである。
ステップＳ２１０の後、処理はステップＳ２０２に戻る。
【００８８】
ステップＳ２２０は修正処理である。
ステップＳ２２０において、修正部１１０は、試験者の指示に従って試験管理ファイル１８０を修正する。
【００８９】
図２１に基づいて、修正処理（Ｓ２２０）の手順について説明する。
ステップＳ２２１からステップＳ２２８までの処理は、図１１の修正処理（Ｓ１００）におけるステップＳ１０３からステップＳ１１０までの処理と同じである。
ステップＳ２２２、ステップＳ２２４、ステップＳ２２６またはステップＳ２２８の後、処理はステップＳ２２９に進む。
【００９０】
ステップＳ２２９は、図１１の修正処理（Ｓ１００）におけるステップＳ１０２と同じである。
ステップＳ２２９の後、処理は図２０のステップＳ２０２に戻る。
【００９１】
図２２に、試験方法の概要を示す。
（Ａ）はバージョンアップ後のログファイル１７３を示している。
（Ｂ）はバージョンアップ前のログファイル１７３を示している。
（Ｃ）は試験管理ファイル１８０のシーケンステーブル１８３を示している。
（Ｄ）はパーサーによる試験シナリオ１７２の解析を示している。
試験シナリオ１７２に記載された通信の内容はパーサーによって解析される。パーサーは構文解析を行うツールである。
（Ｅ）は試験シナリオ１７２を示している。
【００９２】
（Ｄ）では、必要なシナリオが選択されて実行される様子を表している。
（Ｅ）では、シナリオがどのように実行されているかを表している。
シナリオは、ｘｍｌファイルで記載されている。シナリオが実行されると、パケットが送信され、応答結果が受信される。応答結果の正否は、テーブルを参照して確認される。
ｓｅｎａｒｉｏ要素は、一つ以上のｓｅｎａｒｉｏｂｌｏｃｋ要素を含み、シナリオ内の処理の流れを表す。
ｓｅｎａｒｉｏｂｌｏｃｋ要素は、シナリオ内の処理の集まりを表す。
このｓｅｎａｒｉｏｂｌｏｃｋ要素は、高々ひとつのｃｏｎｄｉｔｉｏｎｓ要素群の要素を持つ。ｃｏｎｄｉｔｉｏｎｓ要素群の要素が示す条件を満たす場合のみ、ｓｅｎａｒｉｏｂｌｏｃｋ要素内の処理が実行される。
また、ｓｅｎａｒｉｏｂｌｏｃｋ要素は、一つ以上のｂｌｏｃｋ−ｅｌｅｍｅｎｔｓ要素群の要素を持つ。ｂｌｏｃｋ−ｅｌｅｍｅｎｔｓ要素群の各要素は、出現順に、ｓｅｎａｒｉｏｂｌｏｃｋ要素の処理内容を表す。
【００９３】
試験シナリオ１７２に従ってバージョンアップ前の試験対象に対して試験が実行されると、バージョンアップ前のログファイル１７３が生成される。
バージョンアップ前のログファイル１７３の応答ログデータは、シーケンステーブル１８３に登録されているヘッダ（ＨＤ）、コマンド（ＣＭＤ）およびオペランド（ＯＰ）と等価な状態になっている。
同じ試験シナリオ１７２に従ってバージョンアップ後の試験対象に対して試験が実行されると、バージョンアップ後のログファイル１７３がされる。
そして、バージョンアップ後のログファイル１７３の応答データは、シーケンステーブル１８３に登録されているヘッダ、コマンドおよびオペランドと比較される。
この比較によって得られる差分は、バージョンアップ前のログファイル１７３の応答データとバージョンアップ後のログファイル１７３の応答ログデータとの差分に相当する。
【００９４】
図２３に基づいて、ダイアログ活用処理（Ｓ２０８）を説明する。
ステップＳ２０８１において、評価部１３０は、ステップＳ２０７で期待値と異なる応答値があったか判定する。
期待値と異なる応答値がなかった場合、処理はステップＳ２０８２に進む。
期待値と異なる応答値があった場合、処理はステップＳ２０８３に進む。
【００９５】
ステップＳ２０８２において、評価部１３０は、トレーサビリティマトリックスを用いて、追加／変更機能に直接関わったコマンドの通信パケットがあるか判定する。
また、評価部１３０は、トレーサビリティマトリックスを用いて、追加／変更機能の影響を受けた機能のコマンドがあるか判定する。
追加／変更機能は、追加された機能および変更された機能である。
当該通信パケットまたは当該コマンドがある場合、処理はステップＳ２０８３に進む。
当該通信パケットまたは当該コマンドがない場合、処理はステップＳ２０８４に進む。
【００９６】
ステップＳ２０８３において、ダイアログ生成部１４０は、デグレードダイアログを生成する。そして、表示部１９５は、デグレードダイアログを表示する。
デグレードダイアログは、デグレードが発生している可能性があることを示すダイアログである。
【００９７】
ステップＳ２０８３の後、図２０のステップＳ２０９で不具合があると判断され、処理はステップＳ２１０に進む。
【００９８】
ステップＳ２０８４において、評価部１３０は、トレーサビリティマトリックスを用いて、期待値が正しく更新されているか判定する。
期待値が正しく更新されている場合、処理はステップＳ２０８６に進む。
期待値が正しく更新されていない場合、処理はステップＳ２０８５に進む。
【００９９】
ステップＳ２０８５において、ダイアログ生成部１４０は、不具合ダイアログを生成する。そして、表示部１９５は、不具合ダイアログを表示する。
不具合ダイアログは、追加／変更機能の実装の不具合が発生している可能性があることを示すダイアログである。
【０１００】
ステップＳ２０８５の後、図２０のステップＳ２０９で不具合があると判断され、処理はステップＳ２１０に進む。
【０１０１】
ステップＳ２０８６において、ダイアログ生成部１４０は、修正ダイアログを生成する。そして、表示部１９５は、修正ダイアログを表示する。
修正ダイアログは、期待値の修正を問い合わせるダイアログである。
【０１０２】
ステップＳ２０８６の後、図２０のステップＳ２０９で不具合がないと判断され、処理は図２１の修正処理（Ｓ２２０）に進む。そして、ステップＳ２２４で期待値が修正される。
その後、ダイアログ生成部１４０は、変更／追加ダイアログを生成する。表示部１９５は、変更／追加ダイアログを表示する。変更／追加ダイアログは、追加／変更機能で通信コマンドが変更／追加されたことを示すダイアログであり、確認ボタンを含む。
変更／追加ダイアログが表示された場合、試験者は、入力装置を操作して、変更／追加ダイアログの確認ボタンを押す。確認ボタンが押された場合、ダイアログ生成部１４０は、再実施ダイアログを生成する。表示部１９５は、再実施ダイアログを表示する。再実施ダイアログは、試験の再実施を促すダイアログである。
その後、処理は図２０のステップＳ２０３に戻り、試験が再実施される。
【０１０３】
図２４に基づいて、変換処理（Ｓ２３０）を説明する。
変換処理（Ｓ２３０）は変換部によって実行される。変換部は、試験装置１００の機能構成の要素である。
【０１０４】
ステップＳ２３１において、変換部は、実行するシナリオの対象機種を確認する。
ステップＳ２３２において、変換部は、参照シートから応答情報を取得する。参照シートは、応答情報を含んだデータである。具体的な参照シートは、表計算ソフトウェアにおけるシートである。応答情報は、機種毎の試験書に記載されているコマンドの応答に関する情報である。具体的な応答情報は、応答待機条件および応答オペランド値である。
ステップＳ２３３において、変換部は、応答情報のフォーマットを、試験管理ファイル１８０のテーブルに対応するフォーマットに変換する。具体的なテーブルは、条件テーブル１８６およびオペランドテーブル１８５である。
ステップＳ２３４において、変換部は、応答情報を試験管理ファイル１８０のテーブルにインポートする。具体的なテーブルは、条件テーブル１８６およびオペランドテーブル１８５である。
ステップＳ２３５において、変換部は、試験管理ファイル１８０のテーブル同士をマッピングする。具体的には、変換部は、条件テーブル１８６とオペランドテーブル１８５とを機種テーブル１８４にマッピングする。
【０１０５】
＊＊＊実施の形態２の特徴＊＊＊
試験実行部１２０は、試験シナリオ１７２に従って、第１バージョンの試験対象に対する試験を実行する。
受信部１９２は、第１バージョンの試験対象に対する試験で、第１バージョンの試験対象から送信される第１バージョンの応答パケットを受信する。
ログ記録部１２１は、第１バージョンの応答パケットに含まれる第１バージョンの応答値を第１のログファイル１７３に記録する。
評価部１３０は、第１のログファイル１７３に記録された第１バージョンの応答値を、試験管理ファイル１８０に定義された期待値と比較する。
試験結果生成部１３１は、第１バージョンの応答値と期待値との比較結果に基づいて第１バージョンの試験結果１７４を生成する。
受付部１９４は、第１バージョンの試験結果が生成された後に修正指示を受け付ける。
修正部１１０は、修正指示に従って、試験管理ファイル１８０に定義された期待値を修正する。
試験実行部１２０は、試験管理ファイル１８０が修正された後に、試験シナリオ１７２に従って、第２バージョンの試験対象に対する試験を実行する。
受信部１９２は、第２バージョンの試験対象に対する試験で、第２バージョンの試験対象から送信される第２バージョンの応答パケットを受信する。
ログ記録部１２１は、第２バージョンの応答パケットに含まれる第２バージョンの応答値を第２のログファイル１７３に記録する。
評価部１３０は、第２のログファイル１７３に記録された第２バージョンの応答値を、試験管理ファイル１８０に定義された修正後の期待値と比較する。
【０１０６】
試験装置１００は、ダイアログ生成部１４０と表示部１９５とを備える。
ダイアログ生成部１４０は、応答値と期待値との比較結果に応じた内容を示すダイアログを生成する。
表示部１９５は、生成されたダイアログを表示する。
【０１０７】
＊＊＊実施の形態２の効果＊＊＊
旧バージョンに不具合がないという試験結果が得られた試験管理ファイル１８０を用いて新バージョンに対する試験を実施して試験結果を試験者に提示することにより、試験管理ファイル１８０を新バージョン用に修正することを試験者に促すことができる。
【０１０８】
＊＊＊実施の形態の補足＊＊＊
実施の形態において、試験装置１００の機能はハードウェアで実現してもよい。
図２５に、試験装置１００の機能がハードウェアで実現される場合の構成を示す。
試験装置１００は処理回路９９０を備える。処理回路９９０はプロセッシングサーキットリともいう。
処理回路９９０は、実施の形態で説明した「部」の機能を実現する専用の電子回路である。この「部」には記憶部１９１も含まれる。
具体的には、処理回路９９０は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＡＳＩＣ、ＦＰＧＡまたはこれらの組み合わせである。ＧＡはＧａｔｅ  Ａｒｒａｙの略称であり、ＡＳＩＣはＡｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略称であり、ＦＰＧＡはＦｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略称である。
なお、試験装置１００が複数の処理回路９９０を備えて、複数の処理回路９９０が「部」の機能を連携して実現してもよい。
【０１０９】
試験装置１００の機能は、ソフトウェアとハードウェアとの組み合わせで実現してもよい。つまり、「部」の一部をソフトウェアで実現し、「部」の残りをハードウェアで実現してもよい。
【０１１０】
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
【符号の説明】
【０１１１】
１００  試験装置、１０１  通信パケット、１１０  修正部、１２０  試験実行部、１２１  ログ記録部、１３０  評価部、１３１  試験結果生成部、１３２  シーケンス図生成部、１４０  ダイアログ生成部、１７１  試験書、１７２  試験シナリオ、１７３  ログファイル、１７４  試験結果、１７５  シーケンス図、１７６  ダイアログ、１８０  試験管理ファイル、１８１  バージョンテーブル、１８２  トレーサビリティテーブル、１８３  シーケンステーブル、１８４  機種テーブル、１８５  オペランドテーブル、１８６  条件テーブル、１８７  コマンドテーブル、１９１  記憶部、１９２  受信部、１９３  送信部、１９４  受付部、１９５  表示部、９０１  プロセッサ、９０２  メモリ、９０３  補助記憶装置、９０４  通信装置、９０５  レシーバ、９０６  トランスミッタ、９０７  入力装置、９０８  ディスプレイ、９９０  処理回路、９９１  記憶部。
【図１】
2017168748.tif 000003
【図２】
2017168748.tif 000004
【図３】
2017168748.tif 000005
【図４】
2017168748.tif 000006
【図５】
2017168748.tif 000007
【図６】
2017168748.tif 000008
【図７】
2017168748.tif 000009
【図８】
2017168748.tif 000010
【図９】
2017168748.tif 000011
【図１０】
2017168748.tif 000012
【図１１】
2017168748.tif 000013
【図１２】
2017168748.tif 000014
【図１３】
2017168748.tif 000015
【図１４】
2017168748.tif 000016
【図１５】
2017168748.tif 000017
【図１６】
2017168748.tif 000018
【図１７】
2017168748.tif 000019
【図１８】
2017168748.tif 000020
【図１９】
2017168748.tif 000021
【図２０】
2017168748.tif 000022
【図２１】
2017168748.tif 000023
【図２２】
2017168748.tif 000024
【図２３】
2017168748.tif 000025
【図２４】
2017168748.tif 000026
【図２５】
2017168748.tif 000027
【国際調査報告】
2017168748.tif 000028
2017168748.tif 000029