(57)【要約】【課題】テスト被対象装置が人手の操作だけではなく外部信号に基づいて動作する場合であっても、そのテスト被対象装置が正常に動作するか否かについてテストするテストシナリオを生成することができるシナリオ生成装置、プログラム及びシナリオ生成方法を提供する。【解決手段】テスト被対象装置の動作をテストするテスト装置が実行するテストシナリオを生成するシナリオ生成装置であって、外部信号を受信する外部信号受信部と、外部信号受信部が受信した外部信号に基づいて外部信号の特性の変化を抽出する特性変化抽出部と、テストパラメータを取得する取得部と、特性変化抽出部が抽出した外部信号の特性の変化と、取得部が取得したテストパラメータとに基づいて、テストシナリオを生成するシナリオ生成部と、シナリオ生成部が生成したテストシナリオをテスト装置に出力するテストシナリオ出力部とを備える。【選択図】図２
2010123052.tif 000002
【特許請求の範囲】
【請求項１】
テスト被対象装置の動作をテストするテスト装置が実行するテストシナリオを生成するシナリオ生成装置であって、
外部信号を受信する外部信号受信部と、
前記外部信号受信部が受信した外部信号に基づいて外部信号の特性の変化を抽出する特性変化抽出部と、
テストパラメータを取得する取得部と、
前記特性変化抽出部が抽出した外部信号の特性の変化と、前記取得部が取得したテストパラメータとに基づいて、前記テストシナリオを生成するシナリオ生成部と、
前記シナリオ生成部が生成したテストシナリオを前記テスト装置に出力するテストシナリオ出力部と、
を備えることを特徴とするシナリオ生成装置。
【請求項２】
前記外部信号受信部は、前記外部信号として放送波を受信し、
前記特性変化抽出部は、前記外部信号受信部が受信した外部信号に含まれる番組情報に基づいて外部信号の特性の変化を抽出することを特徴とする請求項１に記載のシナリオ生成装置。
【請求項３】
前記取得部は、前記テストの手順が定められた操作手順テンプレートを更に取得し、
前記シナリオ生成部は、前記特性変化抽出部が抽出した外部信号の特性の変化と、前記取得部が取得したテストパラメータ及び操作手順テンプレートとに基づいて、前記テストシナリオを生成することを特徴とする請求項１又は２に記載のシナリオ生成装置。
【請求項４】
テスト被対象装置の動作をテストするテスト装置が実行するテストシナリオを生成するシナリオ生成装置のコンピュータを、
外部信号を受信する外部信号受信手段と、
前記外部信号受信手段が受信した外部信号に基づいて外部信号の特性の変化を抽出する特性変化抽出手段と、
テストパラメータを取得する取得手段と、
前記特性変化抽出手段が抽出した外部信号の特性の変化と、前記取得手段が取得したテストパラメータとに基づいて、前記テストシナリオを生成するシナリオ生成手段と、
前記シナリオ生成手段が生成したテストシナリオを前記テスト装置に出力するテストシナリオ出力手段として機能させることを特徴とするプログラム。
【請求項５】
テスト被対象装置の動作をテストするテスト装置が実行するテストシナリオを生成するシナリオ生成装置を用いたシナリオ生成方法であって、
外部信号を受信する外部信号受信過程と、
前記外部信号受信過程で受信した外部信号に基づいて外部信号の特性の変化を抽出する特性変化抽出過程と、
テストパラメータを取得する取得過程と、
前記特性変化抽出過程で抽出した外部信号の特性の変化と、前記取得過程で取得したテストパラメータとに基づいて、前記テストシナリオを生成するシナリオ生成過程と、
前記シナリオ生成過程で生成したテストシナリオを前記テスト装置に出力するテストシナリオ出力過程と、
を有することを特徴とするシナリオ生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シナリオ生成装置、プログラム及びシナリオ生成方法に関する。
【背景技術】
【０００２】
近年、デジタル家電製品の高機能化が進んでいる。デジタル家電製品は、その機能を実現するために、コンピュータが内蔵されていることが多い。デジタル家電製品の機能は、そのコンピュータ上で動作するソフトウェアにより実行されることが多い。これまでの家電製品では、ハードウェアを中心に開発が行われてきたが、デジタル家電製品の場合には、機能の向上にともないソフトウェアの開発の比率が高くなっている。
【０００３】
デジタル家電製品は、機能が向上するとともに、新機種が開発されており、その機能の数が増えると、これまでのソフトウェアに新たなモジュールを追加したり、ソフトウェアを書き換えたりすることが必要になる。デジタル家電製品への機能の追加に伴い、機能同士を組み合わせて使うことも増え、その組み合わせ数は機能が追加されるたびに、指数関数的に増加する。
デジタル家電製品が高機能化するほど、人手では不可能なほど機能の組み合わせ数が増加し、デジタル家電製品の動作を確認するテストの数も増えてしまうため、テストを効率的に行う方法が検討されている。
【０００４】
自動でテストを行うシステムも開発や生産の現場に導入されている。これは、人間が行う操作を代わりに機械で行わせ、不具合が発生しないか否かについて確認を行うものである。機械が行うテスト内容を、予めテストシナリオとして記述しておくと、機械がその内容に沿ってテスト被対象装置を操作する。テストの自動化に伴い、テストシナリオの自動生成についても検討されている。これは、テストが自動化できても、テストを行うためのテストシナリオの生成を自動化できなければ、莫大な数の組み合わせのテストシナリオを人手で作成する必要があるからである。
特許文献１には、ユーザ入力の種類と状態遷移とからテストシナリオを生成してテスト被対象装置のテストを実行する技術が開示されている。
【特許文献１】特開２００４−２８０２３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、自動でシナリオを生成してテスト被対象装置のテストを行うことができるのは、ユーザ入力による内部状態遷移の変化に基づくテストのみであった。
実際には、ユーザ入力以外の入力が必要なデジタル機器が多数存在する。例えば、デジタルテレビの場合、デジタル放送波や外部機器から入力される信号に基づいて動作する。携帯電話の場合は、通信のための電波が入力される。ユーザ入力以外に引き起こされる状態変化をテストする場合は、外部入力の信号の特性の変化に依存する。
外部入力の種類によっては、例えば録画用レコーダなどでは、直接操作により制御が可能であり、変化を意図的に作り出せるものもあるが、テレビにおける実際の放送波などの信号変化など、テストを行う者が直接制御することができない場合がある。
【０００６】
このような場合、テストしたい信号の特性変化が、テストを行える時間に必ずしも起こるとは限らない。信号の特性変化が起こる時間が真夜中や休日であったり、出現頻度が少なかったりすると、人手によりテストを行うことは困難となる。
また、信号の特性変化とその他の条件の変化の微妙なタイミングに依存するテストなどを行う場合も、そのタイミングがミリ秒のオーダになってくると、人手で行うことは困難となる。
【０００７】
製品化に伴う組みあわせテストの場合、様々な起こりうる外部からの信号の特性の変化の組み合わせ、または、その他の条件とを組み合わせて、テスト被対象装置が正しく動作するか否かについてテストしなければならない場合がある。このような場合、テストケースの数は組み合わせ数が何千、何万と膨大になることがある。この場合、放送波の特性の変化に関するテストの実行を人手で行うことは困難である。さらに、テストの実行のための条件に合致する時間帯を人手で探し出してテストシナリオを作成することも困難である。
【０００８】
つまり、従来の技術では、テレビなどのテスト被対象装置が人手の操作だけではなく放送波などの外部信号に基づいて動作する場合には、そのテスト被対象装置が正常に動作するか否かについてテストするテストシナリオを生成することができないという問題があった。
【０００９】
本発明は、上記事情に鑑みてなされたものであり、その目的は、テスト被対象装置が人手の操作だけではなく外部信号に基づいて動作する場合であっても、そのテスト被対象装置が正常に動作するか否かについてテストするテストシナリオを生成することができるシナリオ生成装置、プログラム及びシナリオ生成方法を提供することにある。
【課題を解決するための手段】
【００１０】
（１）  本発明は、上記課題を解決するためになされたもので、本発明の一態様によるシナリオ生成装置は、テスト被対象装置の動作をテストするテスト装置が実行するテストシナリオを生成するシナリオ生成装置であって、外部信号を受信する外部信号受信部と、前記外部信号受信部が受信した外部信号に基づいて外部信号の特性の変化を抽出する特性変化抽出部と、テストパラメータを取得する取得部と、前記特性変化抽出部が抽出した外部信号の特性の変化と、前記取得部が取得したテストパラメータとに基づいて、前記テストシナリオを生成するシナリオ生成部と、前記シナリオ生成部が生成したテストシナリオを前記テスト装置に出力するテストシナリオ出力部とを備える。
本発明では、外部信号受信部が受信する外部信号の特性の変化と、テスト被対象装置の動作をテストする管理者等が入力するテストパラメータとに基づいて、テスト被対象装置の動作を確認するためのテストシナリオを生成するため、管理者等が入力するテストパラメータだけではなく、外部信号の変化を考慮に入れてテストシナリオを生成することができる。
【００１１】
（２）  また、本発明の一態様によるシナリオ生成装置の前記外部信号受信部は、前記外部信号として放送波を受信し、前記特性変化抽出部は、前記外部信号受信部が受信した外部信号に含まれる番組情報等に基づいて外部信号の特性の変化を抽出する。
本発明では、特性変化抽出部は、番組情報に基づいて外部信号の特性の変化を抽出するため、例えば、番組情報に基づいて、解像度が異なる番組に切り替わる時刻を抽出し、その時刻にテスト被対象装置の動作を切り換えるテストシナリオを生成することができる。
【００１２】
（３）  また、本発明の一態様によるシナリオ生成装置の前記取得部は、前記テストの手順が定められた操作手順テンプレートを更に取得し、前記シナリオ生成部は、前記特性変化抽出部が抽出した外部信号の特性の変化と、前記取得部が取得したテストパラメータ及び操作手順テンプレートとに基づいて、前記テストシナリオを生成する。
本発明では、取得部が、テストパラメータだけではなく、操作手順テンプレートも取得するようにし、テストシナリオ生成部は、外部信号の特性の変化とテストパラメータと操作手順テンプレートとに基づいてテストシナリオを生成するようにした。よって、取得部が取得した操作手順テンプレートをシナリオ生成装置に記録しておくことにより、管理者等は、次回、テスト被対象装置の動作をテストする場合に、操作手順テンプレートを再度入力する必要がなく、テストパラメータのみを入力すればよい。複数のテストパラメータの膨大な組み合わせから生じる膨大なテストケースを入力する必要がなくなるため、管理者等の負担を軽減することができる。
【００１３】
（４）  また、本発明の一態様によるプログラムは、テスト被対象装置の動作をテストするテスト装置が実行するテストシナリオを生成するシナリオ生成装置のコンピュータを、外部信号を受信する外部信号受信手段と、前記外部信号受信手段が受信した外部信号に基づいて外部信号の特性の変化を抽出する特性変化抽出手段と、テストパラメータを取得する取得手段と、前記特性変化抽出手段が抽出した外部信号の特性の変化と、前記取得手段が取得したテストパラメータとに基づいて、前記テストシナリオを生成するシナリオ生成手段と、前記シナリオ生成手段が生成したテストシナリオを前記テスト装置に出力するテストシナリオ出力手段として機能させる。
【００１４】
（５）  また、本発明の一態様によるシナリオ生成方法は、テスト被対象装置の動作をテストするテスト装置が実行するテストシナリオを生成するシナリオ生成装置を用いたシナリオ生成方法であって、外部信号を受信する外部信号受信過程と、前記外部信号受信過程で受信した外部信号に基づいて外部信号の特性の変化を抽出する特性変化抽出過程と、テストパラメータを取得する取得過程と、前記特性変化抽出過程で抽出した外部信号の特性の変化と、前記取得過程で取得したテストパラメータとに基づいて、前記テストシナリオを生成するシナリオ生成過程と、前記シナリオ生成過程で生成したテストシナリオを前記テスト装置に出力するテストシナリオ出力過程とを有する。
【発明の効果】
【００１５】
本発明のシナリオ生成装置、プログラム及びシナリオ生成方法では、テスト被対象装置が人手の操作だけではなく外部信号に基づいて動作する場合であっても、そのテスト被対象装置が正常に動作するか否かについてテストするテストシナリオを生成することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照し、本発明の第１及び第２の実施形態について説明する。始めに、本発明の第１の実施形態について説明する。
【００１７】
（第１の実施形態）
図１は、本発明の第１の実施形態によるテストシステムの概略構成図である。このテストシステムは、シナリオ生成装置１００、テスト装置１０１、テレビ１０２を備えている。
シナリオ生成装置１００は、放送局から送信されるデジタル放送波１０３を受信する。また、シナリオ生成装置１００は、テストシステムの管理者Ｍが入力するテストパラメータ１０５と操作手順テンプレート１０６とを取得する。シナリオ生成装置１００は、デジタル放送波１０３と、テストパラメータ１０５と、操作手順テンプレート１０６とに基づいて、テレビ１０２が正常に動作するか否かについてのテストに必要な操作手順が記載されたテストシナリオ１０４を生成し、テスト装置１０１に出力する。
【００１８】
テスト装置１０１は、テストシナリオ１０４をシナリオ生成装置１００から取得し、そのテストシナリオに従ってテレビ１０２にリモコンなどを用いて制御信号を送信して、テレビ１０２を操作することにより、テレビ１０２が正常に動作するか否かについてテストする。
テレビ１０２は、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置)などを備えており、デジタル放送波１０３を受信して、テレビ映像をＬＣＤに表示する。
テレビ１０２は、テスト被対象装置であり、テスト装置１０１が実行するテストによって、テレビ１０２が正常に動作するか否かについてテストされる。
【００１９】
図２は、本発明の第１の実施形態によるシナリオ生成装置１００（図１）の構成を示す概略ブロック図である。シナリオ生成装置１００は、テストケース入力部２０１、シナリオ生成部２０２ａ、状態管理ＤＢ（Ｄａｔａ  Ｂａｓｅ：データベース）・２０３、操作記述ＤＢ・２０４、放送波特性変化抽出部２０５、テストシナリオ出力部２０６、放送波受信部２０７を備えている。
【００２０】
テストケース入力部２０１は、キーボードなどの入力機器を備えており、ユーザの操作に基づいて入力される情報を取得する。ここでは、テストケース入力部２０１は、ユーザの操作に基づいて、操作手順テンプレート１０６と、テストパラメータ１０５（またはテストケース）とを取得し、それらをシナリオ生成部２０２ａに出力する。
シナリオ生成部２０２ａは、テストケース入力部２０１が出力するテストパラメータ１０５及び操作手順テンプレート１０６と、放送波特性変化抽出部２０５が出力する放送波の特性（例えば、番組の解像度）などに基づいて、テレビ１０２の動作を確認するためのテストの手順を示すテストシナリオを生成し、そのテストシナリオをテストシナリオ出力部２０６に出力する。
状態管理ＤＢ・２０３は、ハードディスクなどの記憶装置を備えており、テスト被対象装置であるテレビ１０２の、シナリオ生成途中の状態を管理する。
【００２１】
操作記述ＤＢ・２０４は、ハードディスクなどの記憶装置を備えており、シナリオ生成部２０２ａがテレビ１０２の現在の状態と操作後に遷移する状態とを入力すると、その遷移に必要な実際の操作手順をシナリオ生成部２０２ａに出力する。
テストシナリオ出力部２０６は、シナリオ生成部２０２ａが出力するテストシナリオ１０４を、有線通信又は無線通信を利用して、テスト装置１０１に送信する。
放送波受信部２０７は、アンテナを備えており、放送局からデジタル放送波１０３を受信して、放送波特性変化抽出部２０５に出力する。
【００２２】
図３は、本発明の第１の実施形態によるシナリオ生成装置１００の放送波特性変化抽出部２０５の構成を示す概略ブロック図である。放送波特性変化抽出部２０５は、放送波受信復調部３０１、放送波解析部３０２、情報ＤＢ・３０３、データ変化抽出部３０４を備えている。
【００２３】
放送波受信復調部３０１は、放送波受信部２０７が受信したデジタル放送波１０３を復調し、放送波解析部３０２に出力する。
放送波解析部３０２は、シナリオ生成部２０２ａが出力する制御信号などに基づいて、放送波受信復調部３０１が出力する信号から放送波特性のデータを取り出し、テーブル形式で情報ＤＢ・３０３に記録する。
情報ＤＢ・３０３は、メモリなどを備えており、放送解析部３０２が出力する情報を記憶する。
データ変化抽出部３０４は、シナリオ生成部２０２ａから放送波特性の変化が条件として入力されると、その条件に合致する情報を情報ＤＢ・３０３から検索して読み出し、その条件が起こるために必要な操作や時間などの情報をシナリオ生成部２０２ａに出力する。
【００２４】
図４（ａ）及び図４（ｂ）は、本発明の第１の実施形態による放送波特性の種類とテストシナリオの種類との関係を示す表である。
図４（ａ）に示す表は、「放送波特性の種類（変化の時刻が未定のもの）」と「テストシナリオの種類」との関係を示している。具体的には、「放送波特性の種類（変化の時刻が未定のもの）」と「テストシナリオの種類」として、「信号強度」と「信号強度による選局負荷、組み合わせ試験」、「エラーレート」と「エラーレートによる選局負荷、組み合わせ試験」、「緊急放送、臨時放送」と「緊急放送試聴テスト、臨時放送選局テスト（ＵＩ遷移不具合）」、「ダウンロードデータ」と「ソフトウェアアップデート繰り返しテスト、組み合わせテスト」、「ＢＭＬ放送、コンテンツの中身」と「ＢＭＬコンテンツを操作して選局やページ切り替えの試験」とが、それぞれ対応付けられている。
【００２５】
図４（ｂ）に示す表は、「放送波特性の種類（変化予定が事前に判明するもの）」と「テストシナリオの種類」との関係を示している。具体的には、「地域コード、編成チャンネル情報、事業者情報」と「地域に応じた選局、チャンネル設定テスト、チャンネルサーチ、チャンネル登録テスト」、「番組情報」と「解像度変化に応じた画面切換（１１２５ｉ，５２５ｉ）テスト、音声切換テスト（ステレオ放送、サラウンドステレオ放送、音声多重放送、二ヶ国語放送）、マルチ音声確認テスト（切り替わらない不具合）、番組表選局テスト、予約録画テスト（繰り返し、最大超過、他の機能実行と組み合わせ）、ＰＰＶ視聴選局組み合わせ（ＰＰＶ視聴後画面黒）、字幕表示テスト、負荷テスト、（文字のマッチング）、枝番選局テスト、子チャンネル選局テスト」とが、それぞれ対応付けられている。
【００２６】
図４（ａ）及び図４（ｂ）の左欄に示す項目は、放送波特性の変化に追従して処理を行う必要があるものであり、追従処理がうまくいかない場合は不具合となる。この追従処理がうまくいくか否かについてテストする項目が図４（ａ）及び図４（ｂ）の右欄である。
放送波特性は、変化の時刻が特定できるものと特定できないものとに分けられる。放送波特性の変化の時刻が特定できるものとしては、テレビのそれぞれの番組に依存する特性がある。これには、予め放送波の信号の中に含まれているものもあり、放送データを解析することにより取得することが可能である。
【００２７】
日本国内のデジタル放送は、ＭＰＥＧ−２システム（ＭＰＥＧ−２  Ｓｙｓｔｅｍｓ）を基礎として規格が決められている。ＭＰＥＧ−２システムとは、ＭＰＥＧ−２（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  ｐｈａｓｅ  ２：エムペグツー）を多重化し、伝送するための規格である。ＭＰＥＧ−２システムは、ＩＳＯ／ＩＥＣ  １３８１８−１およびＩＴＵ−Ｔ勧告Ｈ．２２２．０において標準化されている。ＭＰＥＧ−２システムのフォーマットとして、ＭＰＥＧ−２プログラムストリーム（ＭＰＥＧ−２  ＰＳ）とＭＰＥＧ−２トランスポートストリーム（ＭＰＥＧ−２  ＴＳ）の２種類が用いられる。
【００２８】
符号化された画像と音声のそれぞれを、エレメンタリストリーム（ＥＳ：Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）と称し、画像エレメンタリストリームまたは音声エレメンタリストリームを適当な大きさに分割してパケット化したものをＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）と呼ぶ。ＭＰＥＧ−２システムの規格では、エレメンタリストリームの分割の単位について詳しく定義していないが、実際の運用においては、映像ならピクチャ単位、音声ならブロック単位などの意味のある単位ごとに分割することが多い。ＰＥＳのパケットヘッダは再生時刻の情報を含むことができ、これを用いて映像と音声を同期して再生する。
【００２９】
ＭＰＥＧ−２  ＴＳは、日本の地上／ＢＳデジタル放送を始めとして、世界各国のデジタル放送規格の多くで採用されている。トランスポートストリーム（ＴＳ）においては、ＰＥＳパケットをトランスポートパケット（Ｔｒａｎｓｐｏｒｔ  Ｐａｃｋｅｔ：ＴＳ  ｐａｃｋｅｔ）と呼ばれる１８８バイトの固定長のパケットに分割する。このトランスポートパケットの連続が、トランスポートストリームとなる。各トランスポートストリームパケットには、パケット識別子（ＰＩＤ）と呼ばれる１３ビットの情報が含まれる。これは各トランスポートパケットのそれぞれが何を伝送しているものか示すためのものである。同一の画像、同一の音声はそれぞれ同じＰＩＤを持つため、トランスポートストリームを受信した側はそれを用いて元のＰＥＳ（ＥＳ）に戻すことが可能である。
【００３０】
トランスポートストリームでは、複数のプログラムを取り扱うことが可能であるが、そのトランスポートストリームにどのようなプログラムが含まれており、トランスポートストリームに含まれる各エレメンタリストリーム（ＥＳ）がどのプログラムに属しているかを記した情報をＰＳＩ（Ｐｒｏｇｒａｍ  Ｓｐｅｃｉｆｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ）という。ＰＳＩは、動画や音声とは別のＰＩＤを持つトランスポートストリームパケットとして、トランスポートストリームに挿入される。
【００３１】
ＭＰＥＧ−２  Ｓｙｓｔｅｍ規格では、ＰＳＩのみが記述されているが、ＭＰＥＧ−２  ＴＳを採用する多くのデジタル放送規格ではＰＳＩを拡張し、番組情報などを含めたＳＩ（Ｓｅｒｖｉｃｅ  Ｉｎｆｏｒｍａｔｉｏｎ：サービス情報）が規定されている。
【００３２】
サービス情報（ＳＩ）は、ＰＳＩの一部であるとして、ＰＳＩ／ＳＩ情報としてまとめて扱う場合が多い。また、サービス情報（ＳＩ）には、番組情報として、ＥＰＧ（Ｅｌｅｃｔｒｏｎｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ：電子番組ガイド）のほぼ全てが含まれるので、ＳＩ／ＥＰＧとまとめて扱う場合も多い。ＡＲＩＢ（Ａｓｓｏｃｉａｔｉｏｎ  ｏｆ  Ｒａｄｉｏ  Ｉｎｄｕｓｔｒｉｅｓ  ａｎｄ  Ｂｕｓｉｎｅｓｓｅｓ：社団法人電波産業会）がＡＲＩＢ  ＳＴＤ−Ｂ１０で規定するサービス情報（ＳＩ）には、以下のようなものがある。
【００３３】
図５は、本発明の第１の実施形態で用いるサービス情報（ＳＩ）について説明する表である。個々の番組枠のサービス情報は、ＭＰＥＧ２−ＴＳのサービス情報（ＳＩ）を用いて、放送局からテレビ１０２やシナリオ生成装置１００に送信される。また、サービス情報（ＳＩ）は、番組情報などを格納した特定のＰＩＤを持ったＭＰＥＧ２−ＴＳパケットにより送信される。シナリオ生成装置１００の放送波解析部３０２は、ＭＰＥＧ２−ＴＳ信号を解析して番組表データを取り出す。
【００３４】
図５に示す表では、「テーブル名」、「機能」、「トランスポートストリーム（ＴＳ）のパケット識別子（ＰＩＤ）」、「送出期間」を対応付けて示している。
ＳＤＴ（Ｓｅｒｖｉｃｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｔａｂｌｅ）には、「機能」として「編成チャンネルの名称、事業者名などの情報」が記録されており、「ＴＳのＰＩＤ」として「０ｘ００１１」が記録されており、「送出期間」として「３〜１０秒」が記録されている。また、ＳＤＴには、各チャンネル（サービス）で送出されるＥＩＴの種類、デジタルコピー制御情報も含まれる。
【００３５】
ＥＩＴ（Ｅｖｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅ）には、「機能」として「番組のタイトル、放送日時、放送内容などの情報」が記録されており、「ＴＳのＰＩＤ」として「０ｘ００１２」が記録されており、「送出期間」として「３〜１０秒」が記録されている。電子番組ガイド（ＥＰＧ）は、主にこのＥＩＴを用いて作成される。
ＥＩＴはその示す内容により、自局の現在及び次の番組、他局の現在及び次の番組、自局のそれ以外の番組、他局のそれら以外の番組の４種類に大別される。自局の現在及び次の番組に関する情報は必ず送出する必要があるが、その他の情報は送出が任意であり、また送出の頻度も重要性に応じて小さくすることができる。
【００３６】
ＢＩＴ（Ｂｒｏａｄｃａｓｔｅｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅ）には、「機能」として「放送事業者の情報と事業者単位の伝送テストパラメータ」が記録されており、「ＴＳのＰＩＤ」として「０ｘ００２４」が記録されており、「送出期間」として「１０秒」が記録されている。ＢＩＴには、放送局識別情報（ＢＳＤ）や系列情報（地上Ｄ（地上デジタル））、各ＳＩテーブルの再送周期、ＳＩの掲載期間、ロゴ情報の伝送方法など、放送局のＳＩ送信情報が含まれる。
ＴＯＴ（Ｔｉｍｅ  Ｏｆｆｓｅｔ  Ｔａｂｌｅ）には、「機能」として「現在の時刻、サマータイム実施時の時差情報」が記録されており、「ＴＳのＰＩＤ」として「０ｘ００１４」が記録されており、「送出期間」として「５秒」が記録されている。
【００３７】
なお、図示していないＮＩＴ（Ｎｅｔｗｏｒｋ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅ）には、チャンネル番号や変調方式、ガードインターバルなど、送信するネットワークに関する情報が含まれる。ＮＩＴのパケット識別子（ＰＩＤ）は、必ず０ｘ００１０と決まっている。
また、図示していないＮＢＩＴ（Ｎｅｔｗｏｒｋ  Ｂｏａｒｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅ）には、案内等の掲示板情報が含まれる。
また、図示していないＬＤＴ（Ｌｉｎｋｅｄ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｔａｂｌｅ）には、他のテーブルが参照するための情報が集約されている。
【００３８】
また、図示していないＴＤＴ（Ｔｉｍｅ  Ｄａｔｅ  Ｔａｂｌｅ）には、現在の日付、時刻に関する情報が含まれる。ただし、ＴＯＴにはＴＤＴの全ての情報が含まれるため、送信されるのはＴＤＴかＴＯＴのいずれかのみ（ＰＩＤは、双方とも０ｘ００１４）と規定されており、通常、ＴＯＴだけが送信される。番組より小さい単位（番組内イベント）の内容を記述するための、さらにいくつかの拡張が行われている。
また、図示していないＬＩＴ（Ｌｏｃａｌ  Ｅｖｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅ）には、番組内イベントに関する情報が含まれる。
また、図示していないＥＲＴ（Ｅｖｅｎｔ  Ｒｅｌａｔｉｏｎ  Ｔａｂｌｅ）には、番組、および番組内イベントの関係に関する情報が含まれる。
また、図示していないＩＴＴ（Ｉｎｄｅｘ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｔａｂｌｅ）には、番組内イベントに関係する時刻情報が含まれる。時刻情報はＬＩＴにも含まれているが、放送ごとに異なる値が必要になるため、ＬＩＴとは別に送出される。
【００３９】
ＡＲＩＢ  ＳＴＤ−Ｂ１、Ｂ２１では以下のような情報も規定されている。
ＳＤＴＴ（Ｓｏｆｔｗａｒｅ  Ｄｏｗｎｌｏａｄ  Ｔｒｉｇｇｅｒ  Ｔａｂｌｅ）には、デジタル放送受信機の最新ソフトウェア（Ｅｎｇｉｎｅｅｒｉｎｇ  Ｓｔｒｅａｍ  Ｓｅｒｖｉｃｅで伝送される）の伝送スケジュールが記録されている。ＳＤＴＴとして、全放送局で全く同一の情報が伝送される。実際のデータは、ＡＲＩＢ  ＳＴＤ−Ｂ１６で規定されるＤＣＴ（Ｄｏｗｎｌｏａｄ  Ｃｏｎｔｒｏｌ  Ｔａｂｌｅ）、ＤＬＴ（Ｄｏｗｎｌｏａｄ  Ｔａｂｌｅ）で伝送される。
ＣＤＴ（Ｃｏｍｍｏｎ  Ｄａｔａ  Ｔａｂｌｅ）（地上Ｄ）では、ＥＰＧ画面等で表示される、各サービス毎に対応したロゴ情報が伝送される。ロゴ情報は１サービスあたり６種類（それぞれ大きさが異なるｐｎｇファイル）がセクション化され、伝送される。
【００４０】
図６は、本発明の第１の実施形態による情報ＤＢ・３０３が記憶する放送波特性情報テーブルの一例を示す図である。放送波特性情報テーブルでは、変化の時刻が特定できる情報のまとまりごとに管理される。通常の放送波では、番組単位で管理される。
【００４１】
図６に示す放送波特性情報テーブルでは、「テーブルＩＤ」として「番組１（任意のＩＤ）」が記録されており、「ネットワーク情報」として「地上デジタル、ＢＳ（Ｂｒｏａｄｃａｓｔｉｎｇ  Ｓａｔｅｌｌｉｔｅ：放送衛星）、ＣＳ（Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓａｔｅｌｌｉｔｅ：通信衛星）、デジタルケーブル、ストリーミング」が記録されており、「チャンネル情報」として「チャンネル番号、枝番情報」が記録されており、「解像度情報」として「ワイドビジョン  ハイビジョン放送（１０８０ｉ、有効走査線数すなわち解像度が１０８０本）  ＳＤＴＶ（標準テレビ放送、４８０ｉ、有効走査線数すなわち解像度が４８０本）」が記録されており、「映像情報」として「マルチビュー」が記録されており、「音声情報」として「ステレオ放送  サラウンドステレオ放送  Ｂモードステレオ放送  音声多重放送二ヶ国語放送  吹き替え」が記録されており、「文字情報」として「文字多重放送、クローズドキャプション」が記録されており、「データ放送情報」として「データ放送  双方向放送」が記録されており、「有料放送情報」として「ペイパービュー」が記録されており、「デジタルコピー制御情報」として「デジタルコピー可／不可」が記録されており、「時間情報」として「開始、終了時間」が記録されており、「番組情報１」として「番組名称」が記録されており、「番組情報２」として「映画  ニュース  天気予報  交通情報」が記録されており、「番組情報３」として「新番組  最終回  再放送  初回放送  前編  後編」が記録されており、「番組情報４」として「出演  ゲスト  司会  声の出演  解説  監督  脚本  原作  語り  実況  演出」が記録されており、「番組情報５」として「手話」が記録されている。
【００４２】
シナリオ生成装置１００のテストケース入力部２０１には、ユーザがテスト装置１０１に実行させたいテスト項目が入力される。本実施形態では、テストケース入力部２０１に入力されるのは、テストパラメータ１０５（図１）と、操作手順テンプレート１０６（図１）である。
【００４３】
図７は、本発明の第１の実施形態によるシナリオ生成装置１００のテストケース入力部２０１に入力されるテストパラメータの一例を示す図である。ここでは、複数のテストパラメータの組み合わせを用いてテレビ１０２の動作をテストする場合について説明するが、用いるテストパラメータを１つにしたり、テストパラメータを用いないようにしたりしても良い。
図７において、本実施形態において、テストに登場するテストパラメータの種類を「因子」と呼び、各テストパラメータが取り得る値を「水準」と呼ぶ。図７では、因子が、因子１（視聴ネットワーク切換操作）、因子２（最初の放送解像度）、因子３（放送解像度変化）、因子４（放送解像度変化時の選局操作）からなる。
【００４４】
図７では、因子１は、水準１（地上波デジタル）、水準２（ＢＳ）、水準３（ＣＳ）の３つのいずれかである。また、因子２は、水準１（１０８０ｉ）と水準２（４８０ｉ）のいずれかである。また、因子３は、水準１（１０８０ｉ）と水準２（４８０ｉ）のいずれかである。また、因子４は、水準１（１０８０ｉ）と水準２（４８０ｉ）のいずれかである。
【００４５】
ここでは、シナリオ生成装置１００のユーザは、テストパラメータとして、因子１、因子２、因子３、因子４の４つをテストケース入力部２０１に入力している。
図７では、因子１が３つの水準をとり、因子２が２つの水準をとり、因子３が２つの水準をとり、因子４が２つの水準をとるため、それらを掛け合わせた２４通り（＝３×２×２×２）だけテストケースが存在する。ここで想定しているテストは、視聴中、指定した放送解像度へ変化すると同時に、指定した解像度への選局を行うテストである。因子１で示される放送状態で、因子２から因子３で示される解像度変化が起きると同時に因子４で示される解像度に変化するように選局を行う。
【００４６】
図８は、本発明の第１の実施形態で用いるテストケースの一覧を示す図である。図８では、図７で説明した因子１、因子２、因子３、因子４に基づいて得られるテストケースとして、２４通りのテストケース１〜２４を示している。
なお、ユーザは、図７で説明したように、４つの因子をテストケース入力部２０１に入力するのではなく、図８で説明した２４通りのテストケース１〜２４をテストケース入力部２０１に入力するようにしても良い。このようにすることで、ユーザは、いずれかのテストケースの因子を変更したり、テレビ１０２の動作のテストに不要なテストケースを追加・削除したりすることができる。
【００４７】
図８において、テストケース１では、因子１は「地上Ｄ」であり、因子２は「１０８０ｉ」であり、因子３は「４８０ｉ」であり、因子４は「１０８０ｉ」である。また、テストケース９では、因子１は「ＢＳ」であり、因子２は「１０８０ｉ」であり、因子３は「４８０ｉ」であり、因子４は「１０８０ｉ」である。また、テストケース１７では、因子１は「ＣＳ」であり、因子２は「１０８０ｉ」であり、因子３は「４８０ｉ」であり、因子４は「１０８０ｉ」である。
テストケース２〜８、テストケース１０〜１６、テストケース１８〜２４についての因子１〜４は、図８に示した通りである。
【００４８】
なお、図８のようなテストパラメータの組み合わせのみでは、具体的なテスト操作が分からない場合がある。また、放送波特性抽出の結果によって、その他の具体的なテスト手順が変わる場合がある。さらに、特定の因子の値や、別の因子との値との組み合わせが他の因子のテスト手順に対して影響を与える場合がある。
そこで、テストシナリオを生成するためには、これらのテストパラメータが具体的な操作手順にどう関係するかの記述が必要となる。
そこで、操作手順テンプレート１０６を用意し、具体的なテスト操作手順と、その中に埋め込まれる各テストパラメータの位置づけを示す必要がある。
シナリオ生成部２０２ａでは、操作手順テンプレート１０６に記述された操作手順に基づいて、テストシナリオを生成する。このとき、シナリオ生成部２０２ａでは、操作手順テンプレート１０６を、上の行から順番に実行していく。
【００４９】
操作手順テンプレートは、例えば、以下のような記述からなる。
（１行目）００１  因子１で指定したネットワークに切り替える。
（２行目）００２  因子１のネットワークにて、因子２から因子３への解像度変化が起こるチャンネルと時間を抽出する。
（３行目）００３  上記００２で抽出したチャンネルに切り替える。
（４行目）００４  解像度変化が起こる上記００２の時間まで待機する。
（５行目）００５  上記００２の時間に、因子４の解像度となるチャンネルを抽出する。
（６行目）００６  上記００５で抽出したチャンネルに切り替える。
本操作手順で示されるテストは、放送中のチャンネル内で、解像度が切り替わる処理中に、ユーザが別の解像度のチャンネルを選局操作する際に正しく操作が行えるかをテストするものである。
【００５０】
テスト期間としては、例えば、２００７年３月１８日１７：００：００〜２００７年４月１８日１７：００：００が設定される。
ここで、１行目、３行目、４行目、６行目では、実際にテレビ１０２で行われる「操作」について記述されており、２行目、５行目では、放送特性の変化の「情報抽出」について記述されている。２行目にて抽出された結果は３行目、４行目に反映され、５行目で抽出された結果は６行目で反映されている。
なお、操作手順テンプレート１０６の記述形式は種々あるが、コンピュータに読み込ませることを想定して、簡単なスクリプト言語の記述形式としても良い。
【００５１】
図９は、本発明の第１の実施形態による操作手順テンプレート１０６を、スクリプト言語の形式で記述した例を示す図である。具体的には、図９の操作手順テンプレート１０６は、以下のように記述されている。
【００５２】
（１行目）００１  Ｃｏｍｍａｎｄ（ネットワーク切り換え：因子１）
（２行目）００２  （ｒｅｓｕｌｔ＿ｃｈａｎｎｅｌ，ｒｅｓｕｌｔ＿ｔｉｍｅ）＝Ｓｅａｒｃｈ（ネットワーク：因子１，解像度：ｆｒｏｍ：因子２  ｔｏ：因子３，時間：ｎｅａｒｉｓｔ）
（３行目）００３  Ｃｏｍｍａｎｄ（チャンネル選局：ｒｅｓｕｌｔ＿ｃｈａｎｎｅｌ）
（４行目）００４  Ｃｏｍｍａｎｄ（待機：ｕｎｔｉｌ，ｒｅｓｕｌｔ＿ｔｉｍｅ）
（５行目）００５  （ｒｅｓｕｌｔ＿ｃｈａｎｎｅｌ２）＝Ｓｅａｒｃｈ（ネットワーク：因子１，解像度：因子４，時間：ｓａｍｅ  ａｓ  ｒｅｓｕｌｔ＿ｔｉｍｅ）
（６行目）００６  Ｃｏｍｍａｎｄ（“チャンネル：ｒｅｓｕｌｔ＿ｃｈａｎｎｅｌ２”）
（７行目）０００  ｔｅｓｔ＿ｐｅｒｉｏｄ  ｆｒｏｍ  ２００７０３１８１７００００  ｔｏ  ２００７０４１８１７００００
（８行目）０００  ｔｅｓｔ＿ｉｎｉｔ  ネットワーク：ＢＳ、チャンネル：ａｎｙ、電源：ＯＮ，画面：１画面、外部入力：入力１、入力２
【００５３】
図９では、上述した「操作」、「情報抽出」が、それぞれＣｏｍｍａｎｄ、Ｓｅａｒｃｈの命令を用いて記述されている。Ｃｏｍｍａｎｄ命令は、引数を持ち、何を、どうする、という操作を記述できるようになっている。Ｓｅａｒｃｈ命令も引数を持ち、どのような条件の特性変化を抽出すれば良いのかを指定できるようになっている。
【００５４】
図９において、１行目は、ネットワークを因子１に切り替える「操作」を行うことを記述している。
２行目は、因子１のネットワークにて、因子２から因子３への解像度変化が起こるチャンネルと時間の「情報抽出」を行い、得られた結果を、それぞれ結果変数ｒｅｓｕｌｔ_ｃｈａｎｎｅｌ、ｒｅｓｕｌｔ_ｔｉｍｅに代入することを示している。ここで、Ｓｅａｒｃｈの引数として時間で指定されているｎｅａｒｉｓｔは、テスト可能な一番近い時間を示している。テストケースが複数ある場合は、前のテストが終わって次のテストが可能な時間を示す。ここで得られた結果は、次の３行目、４行目にて使用される。
【００５５】
３行目では、２行目で得られたｒｅｓｕｌｔ_ｃｈａｎｎｅｌの値を用いて、そのチャンネルに選局する「操作」が記述されている。
４行目では、２行目で得られたｒｅｓｕｌｔ_ｔｉｍｅの値を用いて、その時間まで待つ「操作」が記述されている。
５行目では、ネットワークは因子１で、２行目で得られたｒｅｓｕｌｔ_ｔｉｍｅと同じ時刻に、因子４の解像度となるチャンネルを「情報抽出」する。得られたチャンネルが、ｒｅｓｕｌｔ_ｃｈａｎｎｅｌ２という結果変数に代入される。
６行目では、５行目で得られた結果を「操作」する記述がされている。
最後の２行では、テストを実行する期間（２００７年３月１８日１７時０分〜２００７年４月１８日１７時０分）や、テストの初期状態（ネットワークはＢＳであり、チャネルは何でもよく、電源はＯＮ状態であり、画面は１画面モード、外部入力は入力１、入力２に接続中）などが記述されている。
【００５６】
図１０及び図１１は、本発明の第１の実施形態によるシナリオ生成部２０２ａの処理を示す図である。図１０は、シナリオ生成部２０２ａにより、上述したＣｏｍｍａｎｄ命令が読み取られて処理される場合の一例を示している。テストケース１のテストパラメータ（因子１（地上Ｄ）、因子２（１０８０ｉ）、因子３（４８０ｉ）、因子４（１０８０ｉ））と、操作手順テンプレート１０６の１行目（００１  Ｃｏｍｍａｎｄ（ネットワーク切り替え：因子１））が、テストケース入力部２０１からシナリオ生成部２０２ａに入力される。
シナリオ生成部２０２ａは、状態管理ＤＢ・２０３に現在（実際のテスト時点）のネットワークの状態を問い合わせる。問い合わせの結果、現在のネットワーク（ここでは、ＢＳ）が分かり、シナリオ生成部２０２ａは、ＢＳから地上Ｄに切り替え操作を行うための具体的な操作コマンドは何かを操作記述ＤＢ・２０４に問い合わせる。これにより、操作記述ＤＢ・２０４からシナリオ生成部２０２ａに、地上Ｄボタンという情報が出力される。シナリオ生成部２０２ａは、テストシナリオ出力部２０６に、地上Ｄボタン押下コマンドを出力する。
【００５７】
図１１は、シナリオ生成部２０２ａにより、上述したＳｅａｒｃｈ命令が読み取られて処理される場合の一例を示している。テストケース１のテストパラメータ（因子１（地上Ｄ）、因子２（１０８０ｉ）、因子３（４８０ｉ）、因子４（１０８０ｉ））と、操作手順テンプレート１０６の２行目（００２  （ｒｅｓｕｌｔ＿ｃｈａｎｎｅｌ，ｒｅｓｕｌｔ＿ｔｉｍｅ）＝Ｓｅａｒｃｈ（ネットワーク：因子１，解像度：ｆｒｏｍ：因子２  ｔｏ：因子３，時間：ｎｅａｒｉｓｔ））が、テストケース入力部２０１からシナリオ生成部２０２ａに入力される。
シナリオ生成部２０２ａは、状態管理ＤＢ・２０３に現在（実際のテスト時点）のネットワークの状態を問い合わせる。問い合わせの結果、現在のネットワークが地上Ｄであるということが分かる。
【００５８】
シナリオ生成部２０２ａは、放送波特性変化抽出部２０５を呼び出し、因子１のネットワーク（地上Ｄ）にて、１０８０ｉから４８０ｉへの解像度変化がテスト開始から一番早く起こる時間と、そのチャンネルを問い合わせる。問い合わせの結果、チャンネルが、地上Ｄ・０１１、時間が、現在の番組（１７：００〜１７：１５，１０８０ｉ）、次の番組（１７：１５〜１７：３０，４８０ｉ）の切り替わりで、１７：１５という時間が得られる。シナリオ生成部２０２ａは、地上Ｄ・０１１で２００７年３月８日の１７時１５分に放送波の特性変化が生じることを示す情報をテストシナリオ出力部２０６に出力する。つまり、ここでは、シナリオ生成部２０２ａは、テストシナリオ出力部２０６に、Ｒｅｓｕｌｔ＿ｔｉｍｅ：２００７０３０８１７１５という情報と、Ｒｅｓｕｌｔ＿ｃｈａｎｎｅｌ：０１１という情報を、状態管理ＤＢ・２０３に記録する。
【００５９】
図１２は、本発明の第１の実施形態によるシナリオ生成装置１００の放送波特性変化抽出部２０５の放送波特性変化の抽出処理について示す図である。図１２は、シナリオ生成装置１００の放送波受信部２０７が受信するデジタル放送波１０３に含まれる電子番組ガイド（ＥＰＧ）の一例を示している。この電子番組ガイド（ＥＰＧ）には、地上Ｄ・０１１、地上Ｄ・０２１、地上Ｄ・０４１、地上Ｄ・０６１、地上Ｄ・０８１でそれぞれ放送される番組の情報が含まれている。
【００６０】
具体的には、図１２に示すように、地上Ｄ・０１１では、番組１１（解像度１０８０ｉ）、番組１２（解像度１０８０ｉ）、番組１３（解像度４８０ｉ）、番組１４（解像度１０８０ｉ）の順に放送される。
また、地上Ｄ・０２１では、番組２１（解像度４８０ｉ）、番組２２（解像度４８０ｉ）の順に放送される。
また、地上Ｄ・０４１では、番組３１（解像度４８０ｉ）、番組３２（解像度１０８０ｉ）、番組３３（解像度４８０ｉ）の順に放送される。
また、地上Ｄ・０６１では、番組４１（解像度１０８０ｉ）、番組４２（解像度１０８０ｉ）、番組４３（解像度４８０ｉ）の順に放送される。
また、地上Ｄ・０８１では、番組５１（解像度１０８０ｉ）、番組５２（解像度１０８０ｉ）の順に放送される。
なお、電子番組ガイド（ＥＰＧ）には、各番組１１〜５２の放送開始時刻や放送終了時刻などの情報も含まれている。
【００６１】
放送波特性変化抽出部２０５は、図１２に示す電子番組ガイド（ＥＰＧ）に基づいて、１０８０ｉから４８０ｉに解像度の変化が起こる時刻として、地上Ｄ・０１１において番組１２から番組１３に切り替わる時刻（例えば、２００７年３月８日１７時１５分）や、地上Ｄ・０６１において番組４２から番組４３に切り替わる時刻（例えば、２００７年３月８日１７時３０分）を検索して、その検索結果をシナリオ生成部２０２ａに出力する。
シナリオ生成部２０２ａは、操作手順テンプレート１０６（図９）を上の行から順番に実行していく。テストケース１のテストパラメータによるテストシナリオの生成が終わると、次のテストケース２のテストシナリオの生成に進む。こうして生成されたテストシナリオ１０４の一例を図１３に示す。
【００６２】
図１３は、本発明の第１の実施形態によるシナリオ生成部２０２ａが生成するテストシナリオ１０４の一例を示す図である。図１３では、テストシナリオ１０４が、テストケース１に関するテストシナリオ、テストケース２に関するテストシナリオ、テストケース３に関するテストシナリオ、・・・から構成されている場合を示している。
【００６３】
テストシナリオ１に関するテストシナリオは、以下の４行から構成されている。
（１行目）  ＲＣ（地上Ｄ）
（２行目）  ＲＣ（チャンネル１）
（３行目）  ｗａｉｔ＿ｕｎｔｉｌ（“２００７０３０８１７１５”）
（４行目）  ＲＣ（チャンネル４）
【００６４】
テストシナリオ１に関するテストシナリオの１行目は、現在の状態（例えば、ＢＳ）から地上Ｄへ切り換える指示である。
２行目は、現在の状態（例えば、地上Ｄ・０２１）から地上Ｄ・０１１へ切り換える指示を示している。なお、ここでは、地上Ｄ・０１１がチャンネル１で放送されている場合について説明している。
３行目は、次の番組の開始時刻（解像度が４８０ｉに変化する時刻）である２００７年３月８日１７時１５分まで待機する指示を示している。
４行目は、解像度が１０８０ｉのチャンネルである地上Ｄ・Ｄ０４１へ切り替える指示を示している。なお、ここでは、地上・Ｄ・０４１がチャンネル４で放送されている場合について説明している。
【００６５】
テストシナリオ２に関するテストシナリオは、以下の４行から構成されている。
（１行目）  何もしない
（２行目）  ＲＣ（チャンネル６）
（３行目）  ｗａｉｔ＿ｕｎｔｉｌ（“２００７０３０８１７３０”）
（４行目）  ＲＣ（チャンネル８）
【００６６】
テストシナリオ２に関するテストシナリオの１行目は、現在の状態（例えば、地上Ｄ）から地上Ｄへ切り換えであるため、操作が不要であるという指示である。
２行目は、現在の状態（例えば、地上Ｄ・０４１）から地上Ｄ・０６１へ切り換える指示を示している。なお、ここでは、地上・Ｄ・０６１がチャンネル６で放送されている場合について説明している。
３行目は、次の番組の開始時刻（解像度が４８０ｉに変化する時刻）である２００７年３月８日１７時３０分まで待機する指示を示している。
４行目は、解像度が１０８０ｉのチャンネルである地上Ｄ・Ｄ０８１へ切り替える指示を示している。なお、ここでは、地上・Ｄ・０８１がチャンネル８で放送されている場合について説明している。
【００６７】
図１４は、本発明の第１の実施形態によるシナリオ生成装置１００の処理を示すフローチャートである。
始めに、シナリオ生成部２０２ａは、テストケース入力部２０１から入力されるテストパラメータ１０５（またはテストケース）および操作手順テンプレート１０６を、テストケース入力部２０１から読み取る（ステップＳ１４０１）。ここで、テストケースの表現形式は、図７、図８に示したように２通りあるが、図７の形式で入力された場合は、シナリオ作成部２０２ａは、因子の組み合わせを計算して図８の形式にして読み込む。
【００６８】
そして、シナリオ生成部２０２ａは、操作手順テンプレート１０６に初期状態の記述がされているか否かについて判定する（ステップＳ１４０２）。初期状態の記述がされていない場合には、シナリオ生成部２０２ａはステップＳ１４０２で「ＮＯ」と判定し、ステップＳ１４０４の処理を行う。
初期状態の記述がされている場合には、シナリオ生成部２０２ａはステップＳ１４０２で「ＹＥＳ」と判定し、その初期状態を状態管理ＤＢ・２０３に記録する（ステップＳ１４０３）。これは、テスト被対象装置であるテレビ１０２の状態と、テストシナリオの実行前の初期状態とを合わせるためである。テレビ１０２は予め同じ状態にしておく。
【００６９】
そして、シナリオ生成部２０２ａは、テストケースの次の１行を読み取る（ステップＳ１４０４）。例えば、テストケース１の読み取りを開始する場合には、テストケース１の１行目を読み取る。また、前回、テストケース１の１行目を読み取った場合には、テストケース１の２行目を読み取る。
そして、シナリオ生成部２０２ａは、操作手順テンプレート１０６の次の１行を実行する（ステップＳ１４０５）。
例えば、操作手順テンプレート１０６の実行を開始する場合には、操作手順テンプレート１０６の１行目を実行する。また、前回、操作手順テンプレート１０６の１行目を実行した場合には、操作手順テンプレート１０６の２行目を実行する。
【００７０】
そして、シナリオ生成部２０２ａは、ステップＳ１４０５で実行する行の操作手順テンプレート１０６に、Ｓｅａｒｃｈ（サーチ）やＣｏｍｍａｎｄ（コマンド）が含まれているか否かについて判定する（ステップＳ１４０６）。
Ｃｏｍｍａｎｄが含まれている場合には、シナリオ生成部２０２ａはステップＳ１４０６で「Ｃｏｍｍａｎｄ」と判定し、図１５に示す処理を行い（ステップＳ１４０７）、その後、ステップＳ１４０９の処理を行う。
一方、Ｓｅａｒｃｈである場合には、シナリオ生成部２０２ａはステップＳ１４０６で「Ｓｅａｒｃｈ」と判定し、図１６に示す処理を行い（ステップＳ１４０８）、その後、ステップＳ１４１０の処理を行う。
ステップＳ１４０７の処理を行った場合には、シナリオ生成部２０２ａは、テストシナリオをテストシナリオ出力部２０６に出力する（ステップＳ１４０９）。
【００７１】
そして、シナリオ生成部２０２ａは、ステップＳ１４０５で実行した操作手順テンプレート１０６の１行が、操作手順テンプレート１０６の最後の行であるか否かについて判定する（ステップＳ１４１０）。なお、図９では、操作手順テンプレート１０６の最後の行は、６行目である。
操作手順テンプレート１０６の最後の行ではない場合には、シナリオ生成部２０２ａはステップＳ１４１０で「ＮＯ」と判定し、ステップＳ１４０５の処理を行う。
一方、操作手順テンプレート１０６の最後の行である場合には、シナリオ生成部２０２ａはステップＳ１４１０で「ＹＥＳ」と判定し、ステップＳ１４１１の処理を行う。
【００７２】
そして、シナリオ生成部２０２ａは、ステップＳ１４０４で読み取ったテストケースが最後であるか否かについて判定する（ステップＳ１４１１）。なお、図８では、テストケース２４が最後のテストケースである。
最後のテストケースではない場合には、シナリオ生成部２０２ａはステップＳ１４１１で「ＮＯ」と判定し、ステップＳ１４０４の処理を行う。
一方、最後のテストケースである場合には、シナリオ生成部２０２ａはステップＳ１４１１で「ＹＥＳ」と判定し、図１４に示すフローチャートの処理を終了する。
【００７３】
図１５は、図１４のステップＳ１４０７の具体的処理を示すフローチャートである。
始めに、シナリオ生成部２０２ａは、Ｃｏｍｍａｎｄ文の引数から、操作の種類と操作の内容とを読み取る（ステップＳ１５０１）。ここで、操作の種類と操作の内容の記載方法は、例えば、Ｃｏｍｍａｎｄ（操作の種類：操作内容）というように予め決められ、それぞれの表記法もシナリオ生成部２０２ａが解釈できるようにしておく。
【００７４】
そして、シナリオ生成部２０２ａは、Ｃｏｍｍａｎｄ文の引数の中に、テストケースの値を読み取る旨の記載があった場合は、テストケースから必要な値を読み取る（ステップＳ１５０２）。例えば、Ｃｏｍｍａｎｄ文の引数の中に、「因子１」の記述があった場合には、シナリオ生成部２０２ａは、テストケースの因子１に対応する値を使用する。
そして、シナリオ生成部２０２ａは、Ｃｏｍｍａｎｄ文の引数の中に、Ｓｅａｒｃｈから得られる結果変数値が指定されている場合、その結果変数値を状態管理ＤＢ・２０３から取得する（ステップＳ１５０３）。
【００７５】
そして、シナリオ生成部２０２ａは、ステップＳ１５０３で取得した結果変数値が、操作が可能であるか否かについて判定する（ステップＳ１５０４）。
操作が可能ではない場合には、ステップＳ１５０４でシナリオ生成部２０２ａは「ＮＯ」と判定し、操作が不可能な旨を出力結果として特定する（ステップＳ１５１１）。そして、図１４のステップＳ１４０９の処理を行う。
一方、操作可能を表している場合には、ステップＳ１５０４でシナリオ生成部２０２ａは「ＹＥＳ」と判定し、シナリオ生成部２０２ａは、状態管理ＤＢ・２０３に現在（実際のテスト時点）の状態を問い合わせることにより、現在のテレビ１０２の状態を状態管理ＤＢ・２０３から取得する（ステップＳ１５０５）。
【００７６】
そして、シナリオ生成部２０２ａは、現在の状態から操作内容を行うための具体的操作コマンドは何かを操作記述ＤＢ・２０４に問い合わせることにより、現在の状態と、操作内容に応じた操作手順を、操作記述ＤＢ・２０４から取得する（ステップＳ１５０６）。
そして、シナリオ生成部２０２ａは、ステップＳ１５０６で取得した操作手順の操作が可能であるか否かについて判定する（ステップＳ１５０７）。
操作が可能ではない場合には、シナリオ生成部２０２ａはステップＳ１５０７で「ＮＯ」と判定し、ステップＳ１５１１の処理を行う。
一方、操作が可能である場合には、シナリオ生成部２０２ａはステップＳ１５０７で「ＹＥＳ」と判定し、ステップＳ１５０８の処理を行う。
【００７７】
そして、シナリオ生成部２０２ａは、ステップＳ１５０６で取得した操作手順の操作が必要であるか否かについて判定する（ステップＳ１５０８）。例えば、現在の状態が地上Ｄであり、操作内容が地上Ｄに切り換える場合には、現在の状態と操作内容とが同じであるため、シナリオ生成部２０２ａは操作が必要ないと判定する。
操作が必要ではない場合には、シナリオ生成部２０２ａはステップＳ１５０８で「ＮＯ」と判定し、操作する必要がない旨を出力結果として特定する（ステップＳ１５１２）。そして、図１４のステップＳ１４０９の処理を行う。
一方、操作が必要である場合には、シナリオ生成部２０２ａはステップＳ１５０８で「ＹＥＳ」と判定し、ステップＳ１５０９の処理を行う。
【００７８】
そして、シナリオ生成部２０２ａは、操作内容を出力結果として特定する（ステップＳ１５０９）。そして、シナリオ生成部２０２ａは、操作の結果変化する状態を、状態管理ＤＢ・２０３に記録する（ステップＳ１５１０）。そして、図１４のステップＳ１４０９の処理を行う。
【００７９】
図１６は、図１４のステップＳ１４０８の具体的処理を示すフローチャートである。
始めに、シナリオ生成部２０２ａは、Ｓｅａｒｃｈ文の引数から、特性変化の抽出条件と取得値とを読み取る（ステップＳ１６０１）。ここで、特性変化の抽出条件と取得値の記載方法は、例えば、（結果変数〜）＝Ｓｅａｒｃｈ（抽出条件〜）というように予め決められる。取得値が後でＣｏｍｍａｎｄ文から参照できるように、取得値は結果変数に代入される。それぞれの表記方法は、シナリオ生成部２０２ａが解釈できるようにしておく。
そして、シナリオ生成部２０２ａは、状態管理ＤＢ・２０３から現在の状態の情報を取り出す（ステップＳ１６０２）。この処理は、現在のチャンネルを知る必要ある場合などに行われる。
【００８０】
そして、シナリオ生成部２０２ａは、放送波特性変化抽出部２０５のデータ変化抽出部３０４へ、特性変化の抽出条件と取得結果値とを要求する（ステップＳ１６０３）。
そして、データ変化抽出部３０４が、情報管理ＤＢ・２０３から条件に合致する特性変化を抽出し、求められている値を探す（ステップＳ１６０４）。例えば、図１２の場合において、条件は、ネットワークが地上Ｄであって、解像度が１０８０ｉから４８０ｉに変化するということである。また、結果は、チャンネルが地上Ｄ・０１１であって、時間が２００７年３月８日１７時１５分ということである。
【００８１】
そして、シナリオ生成部２０２ａは、ステップＳ１６０４でデータ変化抽出部３０４によって結果が見つかったか否かについて判定する（ステップＳ１６０５）。
結果が見つかった場合には、シナリオ生成部２０２ａはステップＳ１６０５で「ＹＥＳ」と判定し、結果の値を結果変数に割り当て、状態管理ＤＢ・２０３に記録する。この処理は、後でＣｏｍｍａｎｄ文から参照するために行われる。その後、図１４のステップＳ１４１０の処理を行う。
一方、結果が見つからなかった場合には、シナリオ生成部２０２ａはステップＳ１６０５で「ＮＯ」と判定し、見つからなかったという結果を結果変数に割り当て、状態管理ＤＢ・２０３に記録する。この処理は、後でＣｏｍｍａｎｄ文から参照されたときに、見つからなかったことを示すために行われる。その後、図１４のステップＳ１４１０の処理を行う。
【００８２】
本発明の第１の実施形態のシナリオ生成装置１００では、放送波受信部２０７（外部信号受信部とも称する）は、外部信号としてデジタル放送波１０３を放送局から受信するようにした。
そして、放送波特性変化抽出部２０５（特性変化抽出部とも称する）は、放送波受信部２０７が受信したデジタル放送波１０３に含まれる番組情報である電子番組ガイド（ＥＰＧ）に基づいて、放送波の特性の変化であるデジタル放送波１０３の解像度の変化を抽出するようにした。
そして、テストケース入力部２０１（取得部とも称する）は、テストパラメータ（因子１〜４など）と、テスト装置１０１がテレビ１０２に対して実行するテストの手順が定められた操作手順テンプレート１０６とを取得するようにした。
そして、シナリオ生成部２０２ａは、放送波特性変化抽出部２０５が抽出したデジタル放送波１０３の解像度の変化と、テストケース入力部２０１が取得したテストパラメータ１０５及び操作手順テンプレート１０６とに基づいて、テストシナリオ１０４を生成するようにした。
そして、テストシナリオ出力部２０６は、シナリオ生成部２０２ａが生成したテストシナリオを、有線通信又は無線通信を利用して、テスト装置１０１に出力するようにした。
テスト装置１０１は、シナリオ生成装置１００が出力したテストシナリオに従って、テレビ１０２の動作のテストを行う。
【００８３】
本発明の第１の実施形態によるテストシナリオ生成装置１００を用いれば、テスト被対象装置であるテレビ１０２などが、人手の操作だけではなく放送波などの外部信号に基づいて動作する場合であっても、そのテスト被対象装置が正常に動作するか否かについてテストするテストシナリオを生成して、テスト装置１０１に実行させることができる。
【００８４】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。第２の実施形態が第１の実施形態と同様の部分については、それらの説明を省略する。第２の実施形態では、シナリオ生成装置１００が、シナリオ生成部２０２ａの代わりにシナリオ生成部２０２ｂを備えている点で、第１の実施形態と異なる。
【００８５】
第１の実施形態では、電子番組ガイド（ＥＰＧ）によりデジタル放送波の特性の変化が、テレビ１０２の動作のテストを実行する前に把握することができる場合について説明した。しかし、図４（ａ）に示したように、放送波の特性が変化する時刻が未定なものもある。
第２の実施形態では、シナリオ生成装置１００の放送波受信部２０７が受信するデジタル放送波の特性変化をリアルタイムで監視して、シナリオ生成装置１００は、テレビ１０２の動作をテストするテストシナリオをテスト装置１０１に出力する。
【００８６】
図１７は、本発明の第２の実施形態で用いるテストパラメータの一例を示す図である。なお、本実施形態では、テレビ１０２の視聴中に、テストパラメータで指定した信号強度のチャンネルを選局し、チャンネルサーチを行うテストを行う場合について説明する。具体的には、因子１で示される放送状態で、因子２で示される電界強度になった際に因子３で示されるチャンネルサーチ操作を行う。
図１７では、因子が、因子１（視聴ネットワーク切換操作）、因子２（最初の信号強度）、因子３（チャンネルサーチ）からなる。
【００８７】
図１７では、因子１は、水準１（地上波デジタル）、水準２（地上波アナログ）のいずれかである。また、因子２は、水準１（強さ：６０）、水準２（強さ：５０）、水準３（強さ：４０）のいずれかである。また、因子３は、水準１（ＵＨＦのみ）と水準２（全てのチャンネル）のいずれかである。      
【００８８】
図１８は、本発明の第２の実施形態による操作手順テンプレート３０６を、スクリプト言語の形式で記述した例を示す図である。具体的には、図１８の操作手順テンプレート３０６は、以下のように記述されている。
【００８９】
（１行目）００１  Ｃｏｍｍａｎｄ（ネットワーク切り換え：因子１）
（２行目）００２  （ｒｅｓｕｌｔ＿ｃｈａｎｎｅｌ）＝Ｓｅａｒｃｈ（ネットワーク：因子１，信号強度：因子２，時間：ｒｅａｌｔｉｍｅ）
（３行目）００３  Ｃｏｍｍａｎｄ（チャンネル選局：ｒｅｓｕｌｔ＿ｃｈａｎｎｅｌ）
（４行目）００４  ＴＥＳＴｒｕｎ（）
（５行目）００５  Ｃｏｍｍａｎｄ（チャンネルサーチ：因子３）
（６行目）００６  ＴＥＳＴｒｕｎ（）
（７行目）０００  ｔｅｓｔ＿ｐｅｒｉｏｄ  ｆｒｏｍ  ２００７０３１８０１００００  ｔｏ  ２００７０４１８１７００００
（８行目）０００  ｔｅｓｔ＿ｉｎｉｔ  ネットワーク：ＢＳ、チャンネル：ａｎｙ、電源：ＯＮ，画面：１画面、外部入力：入力１、入力２      
【００９０】
図１８において、１行目は、ネットワークを因子１に切り替える「操作」を行うことを記述している。
２行目は、因子１のネットワークにて、因子２の信号強度になるチャンネルを抽出することを示している。
３行目は、２行目で抽出したチャンネルに切り換えることを示している。
４行目は、ここまでのシナリオ内容をリアルタイムで実行することを示している。
５行目は、因子３のチャンネルサーチを実行することを示している。
６行目は、ここまでのシナリオ内容をリアルタイムで実行することを示している。
最後の２行では、テストを実行する期間（２００７年３月１８日１時０分〜２００７年４月１８日１７時０分）などが記述されている。
図１８の１行目、３行目、４行目、５行目では、実際に行われる「シナリオ操作」について記述されており、２行目では、放送特性の変化の「情報抽出」について記述されている。２行目にて抽出された結果は３行目に反映されている。４行目、６行目はその時点までのシナリオ操作を実際に実行する。
【００９１】
図１９〜図２２は、本発明の第２の実施形態によるシナリオ生成部２０２ｂの処理を示す図である。
図１９は、シナリオ生成部２０２ｂにより、Ｃｏｍｍａｎｄ命令が読み取られて処理される場合の一例を示している。テストケース１のテストパラメータ（因子１（地上デジタル）、因子２（信号強度６０）、因子３（ＵＨＦのみのチャンネルサーチ）と、操作手順テンプレート３０６（図１８）の１行目（００１  Ｃｏｍｍａｎｄ（ネットワーク切り替え：因子１））が、テストケース入力部２０１からシナリオ生成部２０２ｂに入力される。
【００９２】
シナリオ生成部２０２ｂは、状態管理ＤＢ・２０３に現在（実際のテスト時点）のネットワークの状態を問い合わせる。問い合わせの結果、現在のネットワークがＢＳであるということが分かり、シナリオ生成部２０２ｂは、ＢＳから地上Ｄに切り替え操作を行うための具体的な操作コマンドは何かを操作記述ＤＢ・２０４に問い合わせる。これにより、操作記述ＤＢ・２０４からシナリオ生成部２０２ｂに、地上Ｄボタンという情報が出力される。シナリオ生成部２０２ｂは、テストシナリオ出力部２０６に、地上Ｄボタン押下コマンドを出力する。
【００９３】
図２０は、シナリオ生成部２０２ｂにより、Ｓｅａｒｃｈ命令が読み取られて処理される場合の一例を示している。テストケース１のテストパラメータ（因子１（地上デジタル）、因子２（信号強度６０）、因子３（ＵＨＦのみのチャンネルサーチ）と、操作手順テンプレート３０６の２行目（００２  （ｒｅｓｕｌｔ＿ｃｈａｎｎｅｌ）＝Ｓｅａｒｃｈ（ネットワーク：因子１，信号強度：因子２，時間：ｒｅａｌｔｉｍｅ））が、テストケース入力部２０１からシナリオ生成部２０２ｂに入力される。
シナリオ生成部２０２ｂは、状態管理ＤＢ・２０３に現在（実際のテスト時点）のネットワークの状態を問い合わせる。問い合わせの結果、現在のネットワークが地上Ｄであり、チャンネルが０１１であるということが分かる。
【００９４】
シナリオ生成部２０２ｂは、放送波特性変化抽出部２０５を呼び出し、因子１のネットワーク（地上デジタル）にて、テスト開始から一番早く信号強度が６０となるチャンネルを問い合わせる。ここでは、時間：ｒｅａｌｔｉｍｅの指定があるため、全てのチャンネルで６０となるチャンネルがない場合は、見つかるまで待機する。問い合わせの結果、チャンネルが、地上Ｄ・０２１で信号強度が６０であるという情報が得られる。シナリオ生成部２０２ｂは、地上Ｄ・０２１で現在時刻（２００７年３月２５日の１２時２５分）に信号強度が６０であることを示す情報をテストシナリオ出力部２０６に出力する。つまり、ここでは、シナリオ生成部２０２ｂは、テストシナリオ出力部２０６に、Ｒｅａｌ＿ｔｉｍｅ：２００７０３２５１２２５という情報と、Ｒｅｓｕｌｔ＿ｃｈａｎｎｅｌ：０２１という情報を、状態管理ＤＢ・２０３に記録する。
【００９５】
図２１は、シナリオ生成部２０２ｂにより、Ｃｏｍｍａｎｄ命令が読み取られて処理される場合の他の一例を示している。テストケース１のテストパラメータ（因子１（地上デジタル）、因子２（信号強度６０）、因子３（ＵＨＦのみのチャンネルサーチ）と、操作手順テンプレート３０６（図１８）の３行目（００３  Ｃｏｍｍａｎｄ（チャンネル選局：ｒｅｓｕｌｔ＿ｃｈａｎｎｅｌ））が、テストケース入力部２０１からシナリオ生成部２０２ｂに入力される。
シナリオ生成部２０２ｂは、状態管理ＤＢ・２０３に現在（実際のテスト時点）のネットワークの状態を問い合わせる。問い合わせの結果、現在のネットワーク（ここでは、地上Ｄ）が分かり、シナリオ生成部２０２ｂは、チャンネル０１１からチャンネル０２１に切り替え操作を行うための具体的な操作コマンドは何かを操作記述ＤＢ・２０４に問い合わせる。これにより、操作記述ＤＢ・２０４からシナリオ生成部２０２ｂに、チャンネル２ボタンという情報が出力される。シナリオ生成部２０２ｂは、テストシナリオ出力部２０６に、チャンネル２ボタン押下コマンドを出力する。
【００９６】
図２２は、本発明の第２の実施形態によるテストシステムの動作の概要を示す図である。
シナリオ生成装置１００のシナリオ生成部２０２ｂには、図示を省略したテストケース入力部２０１から、因子１（地上デジタル）、因子２（信号強度６０）、因子３（ＵＨＦのみのチャンネルサーチ）によって定まるテストケース１などが入力される。
また、シナリオ生成部２０２ｂには、テストケース入力部２０１から、（００４  ＴＥＳＴｒｕｎ（））などの記述がされた操作手順テンプレート３０６が入力される。
シナリオ生成部２０２ｂは、テレビ１０２の動作を確認するテストを実行中に、テストケース入力部２０１から入力されるテストケースと操作手順テンプレート３０６とに基づいて、テストシナリオ１０４をリアルタイムで生成し、テストシナリオ出力部２０６を介して、テスト装置１０１に送信する。
なお、本実施形態では、例えば、テストケース１に関連するテストシナリオとして、以下のようなテストシナリオを生成する。
【００９７】
（１行目）  ＲＣ（地上Ｄ）
（２行目）  ＲＣ（チャンネル２）
【００９８】
このテストケース１に関連するテストシナリオの１行目は、現在の状態（例えば、ＢＳ）から地上Ｄに切り換える指示を示している。
また、２行目は、現在の状態からチャンネルを地上Ｄ・０２１に切り替えることを示している。
【００９９】
図２３は、本発明の第２の実施形態によるシナリオ生成装置１００のシナリオ生成部２０２ｂの処理を示すフローチャートである。
始めに、シナリオ生成部２０２ｂは、テストケース入力部２０１から入力されるテストパラメータ１０５（またはテストケース）および操作手順テンプレート３０６を、テストケース入力部２０１から読み取る（ステップＳ２４０１）。
【０１００】
そして、シナリオ生成部２０２ｂは、操作手順テンプレート３０６に初期状態の記述がされているか否かについて判定する（ステップＳ２４０２）。初期状態の記述がされていない場合には、シナリオ生成部２０２ｂはステップＳ２４０２で「ＮＯ」と判定し、ステップＳ２４０４の処理を行う。
初期状態の記述がされている場合には、シナリオ生成部２０２ｂはステップＳ２４０２で「ＹＥＳ」と判定し、その初期状態を状態管理ＤＢ・２０３に記録する（ステップＳ２４０３）。これは、テスト被対象装置であるテレビ１０２の状態と、テストシナリオの実行前の初期状態とを合わせるためである。テレビ１０２は予め同じ状態にしておく。
【０１０１】
そして、シナリオ生成部２０２ｂは、テストケースの次の１行を読み取る（ステップＳ２４０４）。例えば、テストケース１の読み取りを開始する場合には、テストケース１の１行目を読み取る。また、前回、テストケース１の１行目を読み取った場合にはテストケース１の２行目を読み取る。
そして、シナリオ生成部２０２ｂは、操作手順テンプレート３０６の次の１行を実行する（ステップＳ２４０５）。
例えば、操作手順テンプレート３０６の実行を開始する場合には操作手順テンプレート３０６の１行目を実行する。また、前回、操作手順テンプレート３０６の１行目を実行した場合には操作手順テンプレート３０６の２行目を実行する。
【０１０２】
そして、シナリオ生成部２０２ｂは、テストラン（Ｔｅｓｔｒｕｎ）であるか否かについて判定する（ステップＳ２４０５１）。
テストラン（Ｔｅｓｔｒｕｎ）ではない場合には、シナリオ生成部２０２ｂはステップＳ２４０５１で「ＮＯ」と判定し、ステップＳ２４０６の処理を行う。
一方、テストラン（Ｔｅｓｔｒｕｎ）である場合には、シナリオ生成部２０２ｂはステップＳ２４０５１で「ＹＥＳ」と判定し、これまでに生成したテストシナリオを、テストシナリオ出力部２０６を介してテスト装置１０１に出力し、そのテストシナリオをテスト装置１０１で実行させる（ステップＳ２４０５２）。その後、ステップＳ２４１０の処理を行う。
【０１０３】
そして、シナリオ生成部２０２ｂは、ステップＳ２４０５で実行する行の操作手順テンプレート３０６に、ＳｅａｒｃｈやＣｏｍｍａｎｄが含まれているか否かについて判定する（ステップＳ２４０６）。
Ｃｏｍｍａｎｄが含まれている場合には、シナリオ生成部２０２ｂはステップＳ２４０６で「Ｃｏｍｍａｎｄ」と判定し、図１６に示す処理を行い（ステップＳ２４０７）、その後、ステップＳ２４０９の処理を行う。
一方、Ｓｅａｒｃｈである場合には、シナリオ生成部２０２ｂはステップＳ２４０６で「Ｓｅａｒｃｈ」と判定し、図１５に示す処理を行い（ステップＳ２４０８）、その後、ステップＳ２４１０の処理を行う。
ステップＳ２４０７の処理を行った場合には、シナリオ生成部２０２ｂは、テストシナリオをテストシナリオ出力部２０６に出力する（ステップＳ２４０９）。
【０１０４】
そして、シナリオ生成部２０２ｂは、ステップＳ２４０５で実行した操作手順テンプレート３０６の１行が、操作手順テンプレート３０６の最後の行であるか否かについて判定する（ステップＳ２４１０）。
操作手順テンプレート３０６の最後の行ではない場合には、シナリオ生成部２０２ｂはステップＳ２４１０で「ＮＯ」と判定し、ステップＳ２４０５の処理を行う。
一方、操作手順テンプレート３０６の最後の行である場合には、シナリオ生成部２０２ｂはステップＳ２４１０で「ＹＥＳ」と判定し、ステップＳ２４１１の処理を行う。
【０１０５】
そして、シナリオ生成部２０２ｂは、ステップＳ２４０４で読み取ったテストケースが最後であるか否かについて判定する（ステップＳ２４１１）。
最後のテストケースではない場合には、シナリオ生成部２０２ｂはステップＳ２４１１で「ＮＯ」と判定し、ステップＳ２４０４の処理を行う。
一方、最後のテストケースである場合には、シナリオ生成部２０２ｂはステップＳ２４１１で「ＹＥＳ」と判定し、図２３に示すフローチャートの処理を終了する。
【０１０６】
本発明の第２の実施形態のシナリオ生成装置１００では、放送波受信部２０７（外部信号受信部とも称する）は、外部信号としてデジタル放送波１０３を放送局から受信するようにした。
そして、放送波特性変化抽出部２０５（特性変化抽出部とも称する）は、放送波受信部２０７が受信するデジタル放送波１０３の受信強度の変化を抽出するようにした。
そして、テストケース入力部２０１（取得部とも称する）は、テストパラメータ（因子１〜３など）と、テスト装置１０１がテレビ１０２に対して実行するテストの手順が定められた操作手順テンプレート３０６を取得するようにした。
そして、シナリオ生成部２０２ｂは、放送波特性変化抽出部２０５が抽出したデジタル放送波１０３の受信強度の変化と、テストケース入力部２０１が取得したテストパラメータ及び操作手順テンプレート３０６とに基づいて、テストシナリオ１０４を生成するようにした。
そして、テストシナリオ出力部２０６は、シナリオ生成部２０２ｂが生成したテストシナリオを、有線通信又は無線通信を利用して、リアルタイムでテスト装置１０１に出力するようにした。
【０１０７】
本発明の第２の実施形態によるテストシナリオ生成装置１００を用いれば、テスト被対象装置であるテレビ１０２などが、人手の操作だけではなく放送波などの外部信号に基づいて動作する場合であっても、そのテスト被対象装置が正常に動作するか否かについてテストするテストシナリオを生成して、テスト装置１０１に実行させることができる。
また、放送波受信部２０７が受信するデジタル放送波１０３の特性の変化をリアルタイムで監視し、シナリオ生成部２０２ｂがリアルタイムでテストシナリオを生成して、テスト装置１０１に出力して、テスト装置１０１にリアルタイムでテレビ１０２の動作を確認するテストを実行させることができる。
【０１０８】
なお、上述した実施形態では、テスト被対象装置にテレビ１０２を用い、シナリオ生成装置１００が外部信号としてデジタル放送波を受信してテストシナリオを生成する場合について説明したが、これに限定されるものではない。例えば、テスト被対象装置に携帯電話などを用い、シナリオ生成装置１００が外部信号として基地局から携帯電話に送信される電波を受信してテストシナリオを生成するようにしても良い。
また、上述した実施形態では、放送波特性変化抽出部２０５が、外部信号の特性の変化として、解像度の変化や、信号強度の強さの変化を抽出する場合について説明したが、これに限定されるものではない。例えば、放送波特性変化抽出部２０５が、エラーレートや、複数の特性の組み合わせなど、その他の特性の変化を抽出するようにしても良い。
また、上述した実施形態では、テストケース入力部２０１に、テストパラメータと操作手順テンプレートとがユーザにより入力される場合について説明したが、これに限定されるものではない。例えば、テストケース入力部２０１に、テストパラメータと操作手順テンプレートのいずれか一方のみをユーザが入力するようにしても良い。この場合において、テストケース入力部２０１から入力されないテストパラメータ又は操作手順テンプレートは、予め、テストシナリオ生成装置１００内に記録しておくようにする。
【０１０９】
なお、以上説明した実施形態において、シナリオ生成装置の各部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりシナリオ生成装置の制御を行っても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【０１１０】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１１１】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も特許請求の範囲に含まれる。
【図面の簡単な説明】
【０１１２】
【図１】本発明の第１の実施形態によるテストシステムの概略構成図である。
【図２】本発明の第１の実施形態によるシナリオ生成装置１００（図１）の構成を示す概略ブロック図である。
【図３】本発明の第１の実施形態によるシナリオ生成装置１００の放送波特性変化抽出部２０５の構成を示す概略ブロック図である。
【図４】本発明の第１の実施形態による放送波特性の種類とテストシナリオの種類との関係を示す表である。
【図５】本発明の第１の実施形態で用いるサービス情報（ＳＩ）について説明する表である。
【図６】本発明の第１の実施形態による情報ＤＢ・３０３が記憶する放送波特性情報テーブルの一例を示す図である。
【図７】本発明の第１の実施形態によるシナリオ生成装置１００のテストケース入力部２０１に入力されるテストパラメータの一例を示す図である。
【図８】本発明の第１の実施形態で用いるテストケースの一覧を示す図である。
【図９】本発明の第１の実施形態による操作手順テンプレート１０６を、スクリプト言語の形式で記述した例を示す図である。
【図１０】本発明の第１の実施形態によるシナリオ生成部２０２ａの処理を示す図である。
【図１１】本発明の第１の実施形態によるシナリオ生成部２０２ａの処理を示す図である。
【図１２】本発明の第１の実施形態によるシナリオ生成装置１００の放送波特性変化抽出部２０５の放送波特性変化の抽出処理について示す図である。
【図１３】本発明の第１の実施形態によるシナリオ生成部２０２ａが生成するテストシナリオ１０４の一例を示す図である。
【図１４】本発明の第１の実施形態によるシナリオ生成装置１００の処理を示すフローチャートである。
【図１５】図１４のステップＳ１４０７の具体的処理を示すフローチャートである。
【図１６】図１４のステップＳ１４０８の具体的処理を示すフローチャートである。
【図１７】本発明の第２の実施形態で用いるテストパラメータの一例を示す図である。
【図１８】本発明の第２の実施形態による操作手順テンプレート３０６を、スクリプト言語の形式で記述した例を示す図である。
【図１９】本発明の第２の実施形態によるシナリオ生成部２０２ｂの処理を示す図である。
【図２０】本発明の第２の実施形態によるシナリオ生成部２０２ｂの処理を示す図である。
【図２１】本発明の第２の実施形態によるシナリオ生成部２０２ｂの処理を示す図である。
【図２２】本発明の第２の実施形態によるシナリオ生成部２０２ｂの処理を示す図である。
【図２３】本発明の第２の実施形態によるシナリオ生成装置１００のシナリオ生成部２０２ｂの処理を示すフローチャートである。
【符号の説明】
【０１１３】
１００・・・シナリオ生成装置、１０１・・・テスト装置、１０２・・・テレビ、２０１・・・テストケース入力部、２０２ａ、２０２ｂ・・・シナリオ生成部、２０３・・・状態管理ＤＢ、２０４・・・操作記述ＤＢ、２０５・・・放送波特性変化抽出部、２０６・・・テストシナリオ出力部、２０７・・・放送波受信部、３０１・・・放送波受信復調部、３０２・・・放送波解析部、３０３・・・情報ＤＢ、３０４・・・データ変化抽出部
【図１】
2010123052.tif 000003
【図２】
2010123052.tif 000004
【図３】
2010123052.tif 000005
【図４】
2010123052.tif 000006
【図５】
2010123052.tif 000007
【図６】
2010123052.tif 000008
【図７】
2010123052.tif 000009
【図８】
2010123052.tif 000010
【図９】
2010123052.tif 000011
【図１０】
2010123052.tif 000012
【図１１】
2010123052.tif 000013
【図１２】
2010123052.tif 000014
【図１３】
2010123052.tif 000015
【図１４】
2010123052.tif 000016
【図１５】
2010123052.tif 000017
【図１６】
2010123052.tif 000018
【図１７】
2010123052.tif 000019
【図１８】
2010123052.tif 000020
【図１９】
2010123052.tif 000021
【図２０】
2010123052.tif 000022
【図２１】
2010123052.tif 000023
【図２２】
2010123052.tif 000024
【図２３】
2010123052.tif 000025