(57)【要約】【課題】テスト対象機器の状態や機器の仕様に応じたシナリオを容易にかつ短時間で作成すること【解決手段】テスト対象となる機器の遷移状態とこの遷移状態間を遷移するための操作手順とに関する情報を格納する機器仕様記憶手段と、機器の遷移状態を格納する状態管理記憶手段と、機器のテストにおける遷移状態の遷移シーケンスに関する情報を含むテストケースの入力を受付けるテストケース受付手段と、遷移シーケンス中の各遷移のための操作手順情報を、機器仕様記憶手段と状態管理記憶手段とを参照して算出する操作手順算出手段と、遷移状態算出手段が算出した操作手順情報を出力する操作手順出力手段とを具備することを特徴とするテスト操作手順作成装置。【選択図】図４
2008191919.tif 000002
【特許請求の範囲】
【請求項１】
テスト対象となる機器の遷移状態と該遷移状態間を遷移するための操作手順とに関する情報を格納する機器仕様記憶手段と、
前記機器の遷移状態を格納する状態管理記憶手段と、
前記機器のテストにおける遷移状態の遷移シーケンスに関する情報を含むテストケースの入力を受付けるテストケース受付手段と、
前記遷移シーケンス中の各遷移のための操作手順情報を、前記機器仕様記憶手段と前記状態管理記憶手段とを参照して算出する操作手順算出手段と、
前記遷移状態算出手段が算出した操作手順情報を出力する操作手順出力手段と
を具備することを特徴とするテスト操作手順作成装置。
【請求項２】
前記操作手順算出手段は、前記操作手順情報の算出を前記遷移シーケンスに従った順番に行い、各遷移の操作手順情報を算出する度に、前記状態管理記憶手段に格納する遷移状態を該遷移により変化した遷移状態に更新すること
を特徴とする請求項１に記載のテスト操作手順作成装置。
【請求項３】
前記機器仕様記憶手段は、前記機器について、同一の操作手順を繰り返し行うことで切り替わる各遷移状態と、それらの切り替わる順番と、前記同一の操作手順の操作手順情報とを格納し、
前記操作手順算出手段は、前記遷移の操作手順情報を算出する際に、該遷移による遷移先の遷移状態が前記切り替わる遷移状態のうちの一つであるときは、前記状態管理記憶手段に格納された遷移状態と、前記操作手順情報を算出する遷移による遷移先の遷移状態と、前記機器仕様記憶手段に格納された切り替わる順番とから、前記同一の操作手順の繰り返しの回数を算出すること
を特徴とする請求項２に記載のテスト操作手順作成装置。
【請求項４】
前記機器仕様記憶手段は、前記同一の操作手順を繰り返し行うことで切り替わる各遷移状態のうち、遷移状態に対応付けて該遷移状態のときに切替不可の遷移状態を格納し、
前記操作手順算出手段は、前記繰り返し回数を算出する際に、前記状態管理記憶手段に格納された遷移状態に対応付けて前記機器仕様記憶手段に格納された切替不可の遷移状態を、前記切り替わる順番から除いて、前記同一の操作手順の繰り返し回数を算出すること
を特徴とする請求項３に記載のテスト操作手順作成装置。
【請求項５】
コンピュータを、
機器のテストにおける遷移状態の遷移シーケンスに関する情報を含むテストケースの入力を受付けるテストケース受付手段、
前記遷移シーケンス中の各遷移のための操作手順情報を、前記機器の遷移状態と該遷移状態間を遷移するための操作手順とに関する情報を格納する機器仕様記憶手段と前記機器の遷移状態を格納する状態管理記憶手段とを参照して算出する操作手順算出手段、
前記遷移状態算出手段が算出した操作手順情報を出力する操作手順出力手段
として機能させるためのプログラム。
【請求項６】
テスト操作手順作成装置が、機器のテストにおける遷移状態の遷移シーケンスに関する情報を含むテストケースの入力を受付ける第１の過程と、
前記テスト操作手順作成装置が、前記遷移シーケンス中の各遷移のための操作手順情報を、前記機器の遷移状態と該遷移状態間を遷移するための操作手順とに関する情報を格納する機器仕様記憶手段と前記機器の遷移状態を格納する状態管理記憶手段とを参照して算出する第２の過程と、
前記テスト操作手順作成装置が、前記第１の過程にて算出した操作手順情報を出力する第３の過程と
を備えることを特徴とするテスト操作手順作成装置におけるテスト操作手順作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テスト操作手順作成装置、そのプログラムおよびテスト操作手順作成方法、特に、指定されたテストケースに応じた操作手順に関する情報を生成するテスト操作手順作成装置、そのプログラムおよびテスト操作手順作成方法に関する。
【背景技術】
【０００２】
近年、テレビジョンに代表される映像表示装置は、テレビ放送、インターネット経由による映像配信、ＤＶＤレコーダー等の外部機器など多くの映像源に接続されている。このため視聴者は、好みの映像信号を視聴するためには、映像表示装置に対してリモコン等で操作を行い、所望の映像信号を自ら選択しなければならない。
また、上記のような多くの映像信号を同時に視聴するための仕組みとして、２つ以上の画面を同時に表示する映像表示装置も開発されている。
【０００３】
映像表示装置の開発段階では、上記のような多種の映像信号が正しく映像表示装置に表示されるかをテストする必要がある。しかし、そのテストの多くは、人手によって、リモコンや映像表示装置に付属されている操作ボタンを押下することにより行われている。このため、上記のように映像信号の種類が増大するに従って、テストのコストは増大している。
【０００４】
また、上記のような２つ以上の画面を表示できる映像表示装置においては、それぞれの画面に表示する映像信号の組み合わせによって映像信号が正しく表示されないという不具合があるため、組み合わせのテストが必要である。しかし、それぞれの画面に表示する映像信号の組み合わせは、映像信号の種類や同時に表示する画面の数に従って乗算的に増大してしまうため、映像表示装置の高機能化に伴って、テストのコストは年々増大している。
また、映像表示装置の開発段階においては、映像表示装置に組み込まれているソフトウェアのバージョンアップ毎に、上記のようなテストを繰り返し行うことが求められているが、その都度テストを人手で行うことはテスト実施者の大きな負担となっている。
また、一般的な映像表示装置の不具合は、単一の操作や映像信号の種類によって発生することは少なく、その多くが複数の操作の組み合わせによって発生する。しかし、従来のような人手によるテストだと、不具合発生時点までの操作履歴が残らないため、発生した不具合を再現させることが困難であるという問題があった。
【０００５】
近年、このような人手による負担を軽減すべく、例えば、日本ノーベル株式会社によって「Ｑｕａｌｉｔｙ Ｃｏｍｍａｎｄｅｒ（登録商標）」と呼ばれる機器テストのための装置が開発されている（非特許文献１）。
図１６は、このようなテストシステムの構成の概略図であり、テスト装置として動作させるプログラムを備えたパーソナルコンピューター（以下、「ＰＣ」という）１００１と赤外線信号発信装置（以下ＩＲ装置）１００２、被テスト対象のテレビ１００３によって構成される。
また、上記の構成の他に、テレビの動作を撮影するビデオカメラなどが付属することもあるが、図１６では省略している。
【０００６】
このようなテストシステムでは、従来は人手によって行っていたリモコン操作等の操作手順を、テスト実施者が、テストスクリプト（以下シナリオ）と呼ばれるテキストファイルに記述する。続いて、ＰＣ１００１がそのシナリオを読み込み実行すると、そのシナリオに記述されたリモコン操作に従った赤外線信号を、ＩＲ装置１００２がテレビ１００３に向けて発信することによりテレビ１００３を操作する。
【０００７】
このテスト装置は、一度所望の操作手順をシナリオ化しておけば、以降はそのシナリオを実行するだけで、人手を必要とせずにテストを行うことが可能になる。
また、シナリオは繰り返し利用することが可能なため、開発機のソフトウェアがバージョンアップした際などの、繰り返しテストも容易に実施することが可能となる。
また、シナリオには操作手順が一つひとつ記述されているため、不具合が発生した場合には、その不具合発生時点の操作やその時点に至るまでの操作手順を容易に把握することが可能となる。
【０００８】
図１７は、テストケースと呼ばれる、テストを実施する際のテスト手順を記述したものである。図１７では、テストケースを表形式にて表したが、ＣＳＶ（Comma Separated Values）形式のテキストファイルや、遷移シーケンス順に１行に１つの遷移先を記述したテキストファイルであってもよい。
図１７におけるテストケース１０では、状態遷移１で「状態Ｂ」に遷移させ、状態遷移２で「状態Ｃ」に、状態遷移３で「状態Ｄ」に、状態遷移４で「状態Ｅ」に例えばテレビの状態を遷移させることを意味する。テストケース２０でも同様に、状態遷移１で「状態Ｆ」に遷移させ、状態遷移２で「状態Ｇ」に、状態遷移３で「状態Ｈ」に、状態遷移４で「状態Ｉ」に遷移させる。
【０００９】
ここで遷移とは、現在の状態からテストケースに書かれた次の状態へ、状態を変化させることを意味する。例えばテレビにおいて、チャンネルを６チャンネルから８チャンネルへ変化させることも遷移と呼ぶ。以下では、上記次の状態のことを遷移先と呼ぶ。
【００１０】
テストでは、上記のようなテストケースでテスト項目を管理している。シナリオの作成は、上記の各状態遷移で要求される遷移を、実際のリモコンの操作シーケンスにしていく作業となる。
ここでは、テレビを操作する方法としてリモコンを挙げているが、これはあくまでも一例に過ぎず、テレビ本体に付属している操作ボタンや、コマンド送信、キーボードからの入力による制御や、音声入力などでも構わない。
【００１１】
図１８は、上記シナリオを作成する方法を示した図である。  
ＰＣ１００１上でシナリオを作成するためのソフトウェアを起動すると、擬似リモコン２００１および、シナリオ２００２がＰＣ画面上に表示される。
この擬似リモコン２００１のボタン部をマウス等で選択すると、シナリオ２００２にそのボタン名に対応するシナリオが記入されていく。ここでは、シナリオ２００２には、擬似リモコン２００１の「電源」ボタン「８」ボタン「音量大」ボタン「上」ボタンを順に押下して、それぞれに対応した「リモコン電源ボタン」、「チャンネル８ボタン」、「音量大ボタン」、「上ボタン」がシナリオに記入された場合を示している。
【００１２】
つまり、このシナリオをテレビの電源がＯＦＦの状態でＰＣ１００１にて実行すると、リモコンで電源をＯＮにして、チャンネル８を選局し、音量を（１目盛）大きくした後に、上ボタンを押下する、という操作を行う赤外線信号がＩＲ装置１００２からテレビ１００３に向けて発信されることになる。
【００１３】
また、擬似リモコン２００１をマウス等で操作したとき、シナリオに操作手順が記述されるのと同時に、マウスで操作した擬似リモコン２００１のボタンに対応した赤外線信号がＩＲ装置１００２からテレビ１００３に向けて発信されることもあり、この場合シナリオ作成者は、テレビの状態変化を確認しながらシナリオを作成することが出来る。  
【００１４】
シナリオ作成方法としては、上記のような擬似リモコン２００１を利用せずに、シナリオを一般的なテキストファイルのように編集する方法もある。
【非特許文献１】” Ｑｕａｌｉｔｙ Ｃｏｍｍａｎｄｅｒ（登録商標）”、［online］、日本ノーベル株式会社、［平成１８年１０月１９日検索］、インターネット、＜URL:http://www.jnovel.co.jp/＞
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、従来の擬似リモコンによるシナリオ作成方法では、一つひとつの操作手順を擬似リモコン上で再現する必要があるため、複雑な操作を要する状態遷移をシナリオ化するには非常に時間がかかるという問題があった。
また、シナリオをテキストファイルのように編集する方法は、テレビの遷移状態を確認しながらの作業でないため、正しくテレビを動作させるシナリオを作成することが非常に困難であるという問題があった。
【００１６】
また近年は、同時に多機種のテレビが発売されることが一般的になっているが、それぞれが受信できる映像信号の種類や、同時に表示できる画面の数などの製品仕様は機種によって異なることが多い。つまり、例えばある機種における状態Ａから状態Ｂへ遷移するための操作手順と、別の機種における状態Ａから状態Ｂへの操作手順は同一とは限らないということである。このため、作成したシナリオは、製品仕様が異なる別の機種には使用できないという問題があった。
また、他の機器とテレビとが接続されていないなど、同一機種であっても使用できる機能に制限がある場合にも、使用できる機能に制限がないという前提で作成したシナリオは正しく動作しない。このため、テスト対象となるテレビの使用できる機能が変化した場合、シナリオを作り直さなければならないという問題があった。
【００１７】
本発明は、このような事情に鑑みてなされたもので、その目的は、テスト対象機器の状態や機器の仕様に応じたシナリオを容易にかつ短時間で作成することが可能なテスト操作手順作成装置、そのプログラムおよびテスト操作手順作成方法およびを提供することである。
【課題を解決するための手段】
【００１８】
この発明は上述した課題を解決するためになされたもので、本発明のテスト操作手順作成装置は、テスト対象となる機器の遷移状態と該遷移状態間を遷移するための操作手順とに関する情報を格納する機器仕様記憶手段と、前記機器の遷移状態を格納する状態管理記憶手段と、前記機器のテストにおける遷移状態の遷移シーケンスに関する情報を含むテストケースの入力を受付けるテストケース受付手段と、前記遷移シーケンス中の各遷移のための操作手順情報を、前記機器仕様記憶手段と前記状態管理記憶手段とを参照して算出する操作手順算出手段と、前記遷移状態算出手段が算出した操作手順情報を出力する操作手順出力手段とを具備することを特徴とする。
【００１９】
これによりテスト操作手順作成装置は、機器仕様記憶手段および状態管理記憶手段にテスト対象機器の状態や機器の仕様に応じた記憶内容を格納しておくことで、テスト対象機器の状態や機器の仕様に応じた操作手順情報を容易にかつ短時間で作成することができる。
【００２０】
また、本発明のテスト操作手順作成装置は、上述のテスト操作手順作成装置であって、前記操作手順算出手段は、前記操作手順情報の算出を前記遷移シーケンスに従った順番に行い、各遷移の操作手順情報を算出する度に、前記状態管理記憶手段に格納する遷移状態を該遷移により変化した遷移状態に更新することを特徴とする。
【００２１】
これによりテスト操作手順作成装置は、遷移元の遷移状態によって操作手順が変わる場合であっても、テスト対象機器の状態や機器の仕様に応じた操作手順情報を容易にかつ短時間で作成することができる。
【００２２】
また、本発明のテスト操作手順作成装置は、上述のテスト操作手順作成装置であって、前記機器仕様記憶手段は、前記機器について、同一の操作手順を繰り返し行うことで切り替わる各遷移状態と、それらの切り替わる順番と、前記同一の操作手順の操作手順情報とを格納し、前記操作手順算出手段は、前記遷移の操作手順情報を算出する際に、該遷移による遷移先の遷移状態が前記切り替わる遷移状態のうちの一つであるときは、前記状態管理記憶手段に格納された遷移状態と、前記操作手順情報を算出する遷移による遷移先の遷移状態と、前記機器仕様記憶手段に格納された切り替わる順番とから、前記同一の操作手順の繰り返しの回数を算出することを特徴とする。
【００２３】
これによりテスト操作手順作成装置は、同一操作手順を繰り返す場合であり、遷移元の遷移状態によって繰り返す回数が変わる場合であっても、テスト対象機器の状態や機器の仕様に応じた操作手順情報を容易にかつ短時間で作成することができる。
【００２４】
また、本発明のテスト操作手順作成装置は、上述のテスト操作手順作成装置であって、前記機器仕様記憶手段は、前記同一の操作手順を繰り返し行うことで切り替わる各遷移状態のうち、遷移状態に対応付けて該遷移状態のときに切替不可の遷移状態を格納し、前記操作手順算出手段は、前記繰り返し回数を算出する際に、前記状態管理記憶手段に格納された遷移状態に対応付けて前記機器仕様記憶手段に格納された切替不可の遷移状態を、前記切り替わる順番から除いて、前記同一の操作手順の繰り返し回数を算出することを特徴とする。
【００２５】
これによりテスト操作手順作成装置は、同一操作手順を繰り返す場合であり、遷移元の遷移状態によって該同一操作手順により遷移状態が切り替わる順番が変わる場合であっても、テスト対象機器の状態や機器の仕様に応じた操作手順情報を容易にかつ短時間で作成することができる。
【００２６】
また、本発明のプログラムは、コンピュータを、機器のテストにおける遷移状態の遷移シーケンスに関する情報を含むテストケースの入力を受付けるテストケース受付手段、前記遷移シーケンス中の各遷移のための操作手順情報を、前記機器の遷移状態と該遷移状態間を遷移するための操作手順とに関する情報を格納する機器仕様記憶手段と前記機器の遷移状態を格納する状態管理記憶手段とを参照して算出する操作手順算出手段、前記遷移状態算出手段が算出した操作手順情報を出力する操作手順出力手段として機能させる。
【００２７】
また、本発明のテスト操作手順作成方法は、テスト操作手順作成装置が、機器のテストにおける遷移状態の遷移シーケンスに関する情報を含むテストケースの入力を受付ける第１の過程と、前記テスト操作手順作成装置が、前記遷移シーケンス中の各遷移のための操作手順情報を、前記機器の遷移状態と該遷移状態間を遷移するための操作手順とに関する情報を格納する機器仕様記憶手段と前記機器の遷移状態を格納する状態管理記憶手段とを参照して算出する第２の過程と、前記テスト操作手順作成装置が、前記第１の過程にて算出した操作手順情報を出力する第３の過程とを備えることを特徴とする。
【発明の効果】
【００２８】
この発明によれば、機器仕様記憶手段および状態管理記憶手段にテスト対象機器の状態や機器の仕様に応じた記憶内容を格納しておくことで、テスト対象機器の状態や機器の仕様に応じた操作手順情報を容易にかつ短時間で作成することができる。
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照して、本発明の実施の形態について説明する。本実施形態では、テスト対象となる機器の一例としてテレビを、テストケースで扱うテスト内容の一例として、テレビに複数接続されているＤＶＤレコーダーなどの外部機器の切り換えを対象とする。
図１は、本実施形態にてテスト対象とするテレビにおける視聴する外部機器の切り換え方法を示す図である。テレビや外部機器の映像を視聴している状態５００１から、リモコン５００４の入力切替ボタン５００７を押下すると、テレビ画面に外部機器メニュー５００５が表示される。ここで、入力切替ボタン押下前に、例えば「外部機器１」の映像を視聴していたとすると、外部機器メニュー５００５のように「外部機器１」が選択された（図では矢印が外部機器１に向けられている）状態で外部機器メニュー５００５がテレビ画面に表示される。
【００３０】
この状態から、例えば「外部機器２」へと選択を移したい場合には、リモコン５００４にある下ボタン５００６を１回押下する。同様に、「外部機器１」から「外部機器３」へ移動したい場合には、下ボタン５００６を２回押下すればよい。
つまり、図２の外部機器メニュー１０００１ように、下ボタン５００６を押下すると選択が移動する順番に各外部機器のインデックスをつけた場合、すなわち、上からＡ番目に表示されている外部機器ＡのインデックスをＡ、上からＢ番目に表示されている外部機器ＢのインデックスをＢとした場合、外部機器Ａから外部機器Ｂ（Ａ＜Ｂとする）への移動であれば、下ボタン押下の回数は、Ｂ−Ａ回であることが分かる。一方、Ｂ＜Ａの場合には、上ボタンをＡ−Ｂ回押下すればよいことが分かる。
【００３１】
また同テレビは、例えば矢印がそのメニューの端点(図２の外部機器メニュー１０００１における外部機器５)に到達した後に下ボタンを押下すると、もう一方の端点（外部機器１）に矢印が移動し、外部機器１に矢印がある時点で上ボタンを押下した場合には、矢印は外部機器５へと移動するように設定されている。このため、上記では、Ａ＜Ｂならば下ボタンを使用し、Ａ＞Ｂならば上ボタンを使用するとして説明を行ったが、このようなボタンの使い分けは必須ではない。
【００３２】
例えば、全ての操作を下ボタンで行うのであれば、Ａ＞Ｂの場合は図２の１００２のようなインデックスを考えれば、上記のようなインデックスの差分計算で操作手順を求めることができる。つまり、通常のインデックス（１〜５）の下に、テレビ画面には表示されない擬似的な外部機器メニューのインデックス(６〜１０)を考えれば、例えば外部機器３から外部機器１への遷移（Ａ＝３、Ｂ＝１）の場合、外部機器１のインデックスは「６」とみなすことができる。したがって、Ｂ＝６となり、Ｂ−Ａ＝６−３＝３であるので、下ボタンを３回押下すればよい。ここで第１項は、擬似的な外部メニューにおける入力１のインデックスである。同様に全てを上ボタンで行いたいのであれば、通常のインデックスの上に擬似的なインデックス（−４〜０）を考えればよい。
【００３３】
次に、外部機器がテレビに接続されていないために、その外部機器からの映像を視聴できない場合について説明する。例えば「外部機器３」が使用できない場合、一般的に外部機器メニュー５００５は、５００３のように「外部機器３」の部分がグレーアウトされる。ここでグレーアウトとは、その外部機器を選択することができず、かつ、その外部機器の表示が変更されている状態を指す。例えば「外部機器２」を選択した状態で下ボタンを１回押下すると、「外部機器３」は選択されずに「外部機器４」へ選択が移動する状態のことを指す。なお、本実施形態においては、選択できない項目をグレーアウトするとしたが、選択できない項目を表示しないようにしてもよい。
同様に、例えば「外部機器２」と「外部機器４」がグレーアウトされていたとすると、「外部機器１」から「外部機器３」へ移動するには下ボタンを１、「外部機器１」から「外部機器５」へ移動するには、下ボタンを２回押下すればよいことになる。つまり一般的には、外部機器Ａから外部機器Ｂ（Ａ＜Ｂとする）へ移動するとき、外部機器Ａと外部機器Ｂの間にグレーアウトされた外部機器がＣ個存在したとすると、選択のために下ボタンを押下する回数はＢ−Ａ−Ｃ回になる。
【００３４】
上記では、外部機器が選択できない状況として、外部機器がテレビに接続されていない状況を一例に挙げたが、その他にも、ハードウェアの処理能力不足のために他の機能を使用している時に特定の外部入力機器を使用出来ない場合や、開発段階で一時的にその外部機器が使用できない場合なども考えることが出来る。
本実施形態のテスト操作手順作成装置は、仕様情報と現在の状態と遷移先の状態で決まる通常の操作手順だけでなく、上記グレーアウトのような操作手順に影響を与えるような因子（上記のグレーアウトされたメニュー項目に対応）が存在する場合の操作手順も求めることが出来る。
【００３５】
以下では、ある外部機器を視聴するために外部機器メニュー５００５でその外部機器を選択することを遷移と呼ぶことにする。例えば、「外部機器１を選択している状態から外部機器２を選択する」を「外部機器１から外部機器２へ遷移する」のように記述する。
図３は、本実施形態によるテスト操作手順作成装置１００を用いたテストシステムの装置構成を示す図である。１００は、入力されたテストケースに基づき、テスト操作手順が記述されたシナリオファイル（操作手順情報）を生成するテスト操作手順作成装置である。２００は、テスト操作手順作成装置１００とＬＡＮなどの通信回線で接続され、該通信回線を介してテスト操作手順作成装置１００が生成したシナリオファイルを取得し、該シナリオファイルに記述された操作手順に基づき、ＩＲ装置３００にリモコンを模した赤外線信号を送信させるテスト装置である。ＩＲ装置３００は、テスト装置２００の指示を受けて、テレビ４００にリモコンを模した赤外線信号を送信する。テレビ４００は、ＩＲ装置３００の発する赤外線信号を受けて動作し、本テストのテスト対象となる機器である。
【００３６】
図４は、テスト操作手順作成装置１００の構成を示す概略ブロック図である。テスト操作手順作成装置１００は、機種仕様データベース(機器仕様記憶手段、以下「機種仕様ＤＢ」という)４００１と、状態管理データベース（状態管理記憶手段、以下「状態管理ＤＢ」という）４００２と、操作手順算出部（操作手順算出手段）４００３と、シナリオ出力部（操作手順出力手段）４００４と、テストケース入力部（テストケース受付手段）４００５とからなる。機種仕様ＤＢ４００１は、テスト対象となるテレビ４００の遷移状態と該遷移状態間を遷移するための操作手順とに関する情報などのテレビ４００の仕様に依存した情報を管理する。状態管理ＤＢ４００２は、表示対象の外部機器などテレビ４００の遷移している遷移状態を記憶する。操作手順算出部４００３は、機種仕様ＤＢ４００１と状態管理ＤＢ４００２を参照して、テストケース入力部４００５より入力されたテストケースに記述された遷移のために必要な操作手順を求める。シナリオ出力部４００４は、操作手順算出部４００３によって求められた操作手順から、テスト装置２００にＩＲ装置３００から出力させる信号を指定するシナリオファイルを生成してテスト装置２００に出力する。テストケース入力部４００５は、ユーザの作成したテストケースの入力を受付ける。
【００３７】
図４で表されたテスト操作手順作成装置１００が、図１の５００１で表されるような1画面を表示するテレビ４００において、図５で示されたテストケースをシナリオ化する方法を示す。図５では、テストケースが1つしか存在していないが、複数のテストケースがある場合には、テストケース１の下に、テストケース２、テストケース３のように複数のテストケースが続く。ここでは、テスト対象とするテレビ４００の外部機器の種類としては「外部機器１」〜「外部機器５」が存在するものの、画面数が１のときは「外部機器３」は使用不可であるためにグレーアウトされているとする。
【００３８】
図６は、本実施形態における機種仕様ＤＢ４００１（図４）の記憶内容例を示す図である。機種仕様ＤＢ４００１には、テスト対象となるテレビ４００の機種に依存した情報を格納し、操作手順テーブル（以下「操作手順ＴＢＬ」という）４０１１、切替不可テーブル（以下「切替不可ＴＢＬ」という）４０２１、繰返操作テーブル（以下「繰返操作ＴＢＬ」という）４０３１を備える。テスト対象を別の機器とするときは、これらのテーブルの記憶内容を該機器に合わせて変更する。操作手順ＴＢＬ４０１１は、遷移元と遷移先と該遷移元から該遷移先へと遷移させるための操作手順とを関連付けて、予め記憶している。図６に示す例では、操作手順ＴＢＬ４０１１は、遷移元に項目と該項目の状態である「画面数が１」、遷移先に同様に項目と該項目の状態である「画面数が２」、そして、このように遷移させるための操作手順に「２画面ボタン」を記憶している。
【００３９】
また、例えば地上波アナログチューナを１つのみ具備しているために、２画面表示しているときには、第１画面と第２画面とのどちらか片一方にのみ地上波アナログチューナで受信した地上アナログの画像を表示可能なテレビもある。このようなテレビのために、操作手順ＴＢＬ４０１１には、「確認」と「値」の列を設け、さらに、図６に示すように、遷移元の欄が「第１画面が地上デジタル」、遷移先の欄が「第１画面が地上アナログ」、確認の欄が「第２画面の遷移状態」、値の欄が１つ目は「地上アナログ」、２つ目は「地上アナログ以外」、操作手順の欄が１つ目は「遷移不可」、２つ目は「地上アナログボタン」という行を格納しておく。後述する状態管理ＤＢ４００２にて項目「第１画面」が「地上デジタル」のときに、テストケースにて遷移先として「第１画面が地上アナログ」を指定された場合、操作手順算出部４００３は、操作手順ＴＢＬ４０１１から遷移元が「第１画面が地上デジタル」であり、遷移先が「第１画面が地上アナログ」である行を検索し、該当する行の確認の欄を読み出す。操作手順算出部４００３は、このとき読み出した内容に該当する遷移状態を状態管理ＤＢ４００２から読み出して、読み出した遷移状態と操作手順ＴＢＬ４０１１の値の欄とを比較して、該当する値の欄に対応する操作手順の欄を読み出し、これを操作手順とする。
【００４０】
切替不可ＴＢＬ４０２１は、同一の操作手順を繰り返し行うことで遷移状態が切り替わる項目に対応して、予め用意されるテーブルであり、図６には、項目として「画面／第１画面／第２画面」に対応したテーブルを例示する。切替不可ＴＢＬ４０２１は、上述の繰返し操作で遷移状態が切り替わる項目と、該項目に対応する繰返操作ＴＢＬ４０３１への参照と、繰返し操作の順方向および逆方向の操作手順と、切替不可項目が決まる遷移状態と、各遷移状態における切替不可項目とを記憶する。図６に示す例では、切替不可ＴＢＬ４０２１は、繰返し操作で遷移状態が切り替わる項目に「画面／第１画面／第２画面」を記憶している。切替不可ＴＢＬ４０２１は、この項目に対応する繰返操作ＴＢＬ４０３１への参照に「外部機器」を記憶している。切替不可ＴＢＬ４０２１は、順方向の操作手順に「下ボタン」、逆方向の操作手順に「上ボタン」を記憶している。切替不可ＴＢＬ４０２１は、切替不可項目が決まる遷移状態に「画面数が１」および「画面数が２」であり「操作画面が第１画面」または「操作画面が第２画面」を記憶している。切替不可ＴＢＬ４０２１は、遷移状態が「画面数が１」のときの切替不可に「外部機器３」を記憶している。切替不可ＴＢＬ４０２１は、遷移状態が「画面数が２」かつ「操作画面が第１画面」のときの切替不可に「外部機器４」および「第２画面の遷移状態」、遷移状態が「画面数が２」かつ「操作画面が第２画面」のときの切替不可に「外部機器２」、「外部機器５」および「第１画面の遷移状態」を記憶している。
【００４１】
繰返操作ＴＢＬ４０３１は、切替不可ＴＢＬ４０２１各々に対応して、予め用意されるテーブルであり、該切替不可ＴＢＬ４０２１に対応した各遷移状態およびこれらの遷移状態の順番（インデックス）を関連付けて記憶している。図６に示す例では、繰返操作ＴＢＬ４０３１は、遷移状態「外部機器１」とその順番「１」とを関連付けて記憶し、遷移状態「外部機器２」とその順番「２」とを関連付けて記憶し、同様にして、遷移状態「外部機器５」とその順番「５」とを関連付けて記憶している。
【００４２】
図７は、状態管理ＤＢ４００２の記憶内容例を示す図である。状態管理ＤＢ４００２は、テスト対象のテレビ４００について、各項目の遷移状態を記憶する。図８にて後述するように、テスト操作手順作成装置１００は、テストの時間経過順に操作手順を算出してシナリオを生成するが、このとき、状態管理ＤＢ４００２の記憶内容は随時更新されて、経過時間に沿ったテレビ４００の遷移状態が格納される。図７に示す例では、状態管理ＤＢ４００２は、項目「画面数」に遷移状態「１」を記憶し、項目「操作画面」に遷移状態「第１画面」を記憶し、項目「第１画面／画面」に遷移状態「外部機器１」を記憶し、項目「第２画面」に遷移状態「外部機器４」を記憶している。
【００４３】
［第１のテストケース］
以下、第１のテストケースとして、図５に示すテストケース１に従いシナリオファイルを作成する際のテスト操作手順作成装置１００の動作を説明する。図８は、操作手順を求めてシナリオファイルを生成する際のテスト操作手順作成装置１００の動作の概要を示すフローチャートである。ステップＳ１８００では、テストケース入力部４００５は、入力されたテストケースを受付け、操作手順算出部４００３は、テストケース入力部４００５が受付けたテストケースを取得する。ここでは、図５に示すテストケース１を取得する。ステップＳ１８０１では、操作手順算出部４００３は、初期設定として、状態管理ＤＢ４００２にテスト開始時のテレビの遷移状態を格納する。ここでは、状態管理ＤＢ４００２に、前述の図７に示す内容例を格納する。また、ここでテストケース１は、予め入力切替ボタン５００７が押されて、テレビにはメニュー画面が起動されている状態からテストを開始することを前提としているので、状態管理ＤＢ４００２にはメニュー画面が起動された遷移状態が格納されているとする。この初期設定では、テスト操作手順作成装置１００を通信回線にてテレビ４００と接続しておき、テスト等のためにテレビ４００が出力するデータを操作手順算出部４００３が取得して、状態管理ＤＢ４００２に書き込むようにしてもよいし、ビデオカメラなどで撮影した映像に基づいた遷移状態を操作手順算出部４００３が状態管理ＤＢ４００２に書き込むようにしてもよい。また、ユーザがマウスやキーボードなどのテスト操作手順作成装置１００の入力手段を操作して入力した遷移状態を受付けて、状態管理ＤＢ４００２に書き込むようにしてもよい。
【００４４】
ステップＳ１８０２では、操作手順算出部４００３は、取得したテストケースから、最初の遷移先に格納された遷移状態を取得する。ここでは、遷移先１に格納されている「画面が外部機器２」を取得する。ステップＳ１８０３では、操作手順算出部４００３は、ステップＳ１８０２にて取得した遷移状態「画面が外部機器２」のうちの項目にあたる「画面」の遷移状態を状態管理ＤＢ４００２から取得する。ここでは、図７に示す状態管理ＤＢ４００２から「外部機器１」を得る。次に、操作手順算出部４００３は、操作手順ＴＢＬ４０１１を参照して、遷移元が先に状態管理ＤＢ４００２から得た「画面」が「外部機器２」であり、遷移先が先にステップ１８０２にて取得した「画面が外部機器２」である操作手順を取得する。ステップＳ１８０４では、操作手順算出部４００３は、ステップＳ１８０３にて該当する操作手順を取得できたか否かを判定する。取得できたと判定したときは、ステップＳ１８１２に遷移して、シナリオ出力部４００４が、ステップＳ１８０３にて操作手順算出部４００３が取得した操作手順をシナリオファイルに追加する。
【００４５】
ここでは、操作手順ＴＢＬ４０１１に該当する操作手順がなく、取得できなかったと判定するので、ステップＳ１８０５に遷移する。ステップＳ１８０５では、操作手順算出部４００３は、ステップＳ１８０２にて取得した「画面が外部機器２」の項目にあたる「画面」にその項目が対応する切替不可ＴＢＬ４０２１を取得する。さらに操作手順算出部４００３は、取得した切替不可ＴＢＬ４０２１の遷移状態のうち、状態管理ＤＢ４００２に格納されている遷移状態と一致するものを検索し、その切替不可を取得する。ここでは、状態管理ＤＢ４００２の項目「画面数」の遷移状態「１」と一致する切替不可「外部機器３」を取得する。次に、ステップＳ１８０６では、操作手順算出部４００３は、ステップＳ１８０２にて取得した遷移先（ここでは、「画面が外部機器２」）に遷移可能であるか否かを判定する。現在の状態から遷移先に遷移が不可能な状況は２つ考えられる。1つは、遷移先と現在の状態が等しい、つまり既に遷移先の状態になっている状況であり。もう一方は、外部機器が接続されていないなどのために遷移先が切替不可に該当する、つまり、切替不可ＴＢＬ４０２１の切替不可に遷移先の遷移状態が格納されている状況である。
【００４６】
ここでは、現在の状態は、ステップＳ１８０３にて状態管理ＤＢ４００２から取得した「画面」が「外部機器１」であり、遷移先は「画面が外部機器２」であり、切替不可は「外部機器３」である。これらより、現在の状態は遷移先と異なっており、かつ、遷移先は切替不可に該当しないので、上記２つのいずれの状況にもあてはまらず、操作手順算出部４００３は、遷移可能と判定し、ステップＳ１８０７に遷移する。ステップＳ１８０７では、操作手順算出部４００３は、ステップＳ１８０３にて状態管理ＤＢ４００２から取得した遷移状態である「外部機器１」から、ステップＳ１８０２にてテストケースから取得した遷移先１である「画面が外部機器２」へ遷移させるための繰返し回数を算出する。
【００４７】
この算出のために、操作手順算出部４００３は、繰返操作ＴＢＬ４０３１を参照して、この遷移の遷移先である前述の「（画面が）外部機器２」と遷移元である前述の「外部機器１」とのインデックスの差（ここでは、２−１＝１）を求める。さらに、操作手順算出部４００３は繰返操作ＴＢＬ４０３１を参照して、これら「外部機器１」と「外部機器２」との間に、ステップＳ１８０５にて取得した切替不可があれば、該当する切替不可の個数を先のインデックスの差から引き、その結果が同一操作の繰返し回数となる。ここでは、切替不可は「外部機器３」のみであり、該当する切替不可はないので、０を引いてそのままの値である「１」が繰返し回数となる。
【００４８】
次にステップＳ１８０８では、操作手順算出部４００３は、シナリオ出力部４００４に対して、切替不可ＴＢＬ４０２１の順方向操作（ここでは、下ボタン）を、ステップＳ１８０７で求めた繰返し回数（ここでは１回）行うという内容のシナリオを書き出すよう指示を出す。シナリオ出力部４００４は、指示を受けて、図９のシナリオ１７００１に例示するような、下ボタンを１回操作する指示を、シナリオファイルに追加する。ステップＳ１８０９では、操作手順算出部４００３は状態ＤＢ４００２の項目「画面／第１画面」に格納されている「外部機器１」を、ステップＳ１８０２にて取得した遷移先である「画面が外部機器２」の「外部機器２」に更新する。
【００４９】
ステップＳ１８１０では、操作手順算出部４００３は、ステップＳ１８００にて取得したテストケースに次の遷移先があるか否かを判定する。遷移先がないと判定したときは、シナリオファイルの生成を終了する。ここでは、遷移先２の「画面が外部機器３」があるので、ステップＳ１８０２に遷移する。以降、前述と同様にテスト操作手順作成装置１００は動作してステップＳ１８０２以降の処理を進める。ステップＳ１８０２〜Ｓ１８０５の処理後、ステップＳ１８０６では、操作手順算出部４００３は、切替不可の「外部機器３」と遷移先２の「画面が外部機器３」とが一致するため、遷移可能ではないと判定し、ステップＳ１８１１に遷移する。
【００５０】
ステップＳ１８１１では、操作手順算出部４００３は、シナリオ出力部４００４に対して、「遷移出来ない」という内容のシナリオを書き出すよう指示を出す。シナリオ出力部４００４は、指示を受けて図９のシナリオ１７００２に例示するような、「遷移できません」という記述を、シナリオファイルに追加する。ここで追加された「遷移できません」という記述を含むシナリオ１７００２を、テスト装置２００が実行した場合、上記「遷移できません」部分では、テスト装置２００は、何の処理も行わない。つまり、シナリオ上ではテストケースにおける遷移先２に関する操作は行われず、遷移先３に関するシナリオへ処理を移すことになる。
【００５１】
上記では、テストケース中に、遷移出来ない状態遷移項目があった場合、シナリオはその状態遷移に関する操作は行わずに、次の状態遷移へ処理を移すという処理を行ったが、この処理が必須というわけではない。例えば、テストケースの中に上記のような遷移出来ない遷移先が含まれていた場合、テスト操作手順作成装置１００はその遷移先をこの図８のフローチャートに従って処理する過程で、「テストケース自体に不備がある」というような警告をテスト操作手順作成装置１００に表示させてもよい。つまり、テストケース自体のエラーを検出する機能をテスト操作手順作成装置１００に備えてもよい。
【００５２】
図８のフローチャートの説明に戻る。ステップＳ１８１０では、操作手順算出部４００３は、ステップＳ１８００にて取得したテストケースに次の遷移先があるか否かを判定する。ここでは、遷移先３の「画面が外部機器５」があるので、ステップＳ１８０２に遷移する。以降、前述と同様にテスト操作手順作成装置１００は動作してステップＳ１８０２以降の処理を進める。ステップＳ１８０２〜Ｓ１８０６の処理後、ステップＳ１８０７における繰返し回数の算出にて、操作手順算出部４００３は、テストケース１から取得した遷移先３である「（画面が）外部機器５」と遷移元である状態間ＤＢ４００２から取得した「外部機器２」とのインデックスの差（ここでは、５−２＝３）を求める。
【００５３】
さらに、操作手順算出部４００３は繰返操作ＴＢＬ４０３１を参照して、これら「外部機器２」と「外部機器５」との間に、ステップＳ１８０５にて取得した切替不可があれば、該当する切替不可の個数を先のインデックスの差から引き、その結果が同一操作の繰返し回数となる。ここでは、切替不可は「外部機器３」のみであるが、繰返操作ＴＢＬ４０３１を参照すると、「外部機器３」は「外部機器２」と「外部機器５」との間にあるため、先に求めた「外部機器５」と「外部機器２」のインデックスの差「３」から、さらに「１」を引いて、繰返し回数「２」を算出する。
【００５４】
次にステップＳ１８０８では、操作手順算出部４００３は、シナリオ出力部４００４に対して、切替不可ＴＢＬ４０２１の順方向操作（ここでは、下ボタン）を、ステップＳ１８０７で求めた繰返し回数（ここでは２回）行うという内容のシナリオを書き出すよう指示を出す。シナリオ出力部４００４は、指示を受けて、図９のシナリオ１７００３に例示するような、下ボタンを２回操作する指示を、シナリオファイルに追加する。
次に、ステップＳ１８０９では、操作手順算出部４００３は、遷移先３である「画面が外部機器５」にて、状態管理ＤＢ４００２を更新する。ステップＳ１８１０では、ステップＳ１８００にて取得したテストケースに次の遷移先があるか否かを判定する。ここでは、遷移先３の次は空白となっているので、次の遷移先はないと判定し、処理を終了する。
【００５５】
このように、機種仕様ＤＢ４００１の内容を、テスト対象となる機器に応じたものとし、ステップＳ１８０１にて、テスト開始時の状態に応じた値を入力して、これらを状態管理ＤＢ４００２に記憶させるようにすることで、機種や接続状態などが異なる機器に対するシナリオファイルを、テスト操作手順作成装置１００は、同じテストケースから作成することができる。
【００５６】
このように、ステップＳ１８０７の処理にて、状態管理ＤＢ４００２に格納された遷移状態と、この操作手順を算出する遷移による遷移先の遷移状態と、繰返操作ＴＢＬ４０３１に格納された切り替わる順番とから、同一の操作手順の繰り返しの回数を算出することができる。
また、さらにステップＳ１８０７の処理にて、上記のように繰り返し回数を算出する際に、操作手順算出部４００３は、状態管理ＤＢ４００２に格納された遷移状態に対応付けて切替不可ＴＢＬ４０２１に格納された切替不可の遷移状態を、切り替わる順番から除いて、同一の操作手順の繰り返し回数を算出するので、外部機器が接続されていないなどの選択不可な項目があるなどのテスト対象の機器の状態に応じた、同一操作の正しい繰返し回数を求めることができる。
【００５７】
上記では、テストケースから所望の外部機器を選択する操作手順をシナリオ化する方法を示したが、これらはあくまでも一例に過ぎない。例えば近年のテレビでは、映像などを好みの出力に微調整できるような機能を備えているが、一般的にこのような機能を利用するためには、「設定メニュー画面の起動」の後に「映像微調整メニュー」を選択するというような複数の操作手順が必要である。このため、「映像微調整メニューの選択」という遷移の操作手順は、「設定メニュー画面」が既に起動しているかで異なる。
【００５８】
本テスト操作手順作成装置１００では、状態管理ＤＢ４００２が、上記のような「設定メニュー画面が起動しているか」などもテレビ４００の状態として管理しておくことにより、例えば所望のメニュー項目を選択するなど、外部機器の選択以外のさまざまな遷移のための操作手順を求めることができる。
【００５９】
［第２のテストケース］
次に、図１０（ａ）のような第１画面、第２画面の２画面をテレビ４００に表示させるテストケース２の場合について、テスト操作手順作成装置１００がシナリオを書き出すまでの動作を説明する。テレビ４００において２画面表示時に外部機器を利用する場合、図１０（ｂ）のようにそれぞれの画面に対して、外部機器メニューを表示することができる。テレビ４００では、例えば第１画面が「外部機器１」を選択していた場合、第２画面が「外部機器１」を選択できない仕様になっている、つまりそれぞれの外部機器が排他的にしか利用できない。
このとき、それぞれの画面で排他的にしか外部機器を利用できないため、一方の画面が使用している外部機器は他方の画面における外部機器メニューではグレーアウトされている。つまり、もう一方の画面にとっては、初めから接続されていない外部機器と同様に扱わなくてはならない。
【００６０】
例えば、図１１のテストケース３において、遷移先１では第１画面を「外部機器３」に、遷移先３では、第２画面を「外部機器３」にする指示となっている。しかし上記のように、第１画面が「外部機器３」へ遷移している時には、第２画面は「外部機器３」へは遷移できないため、遷移先３では、「その外部機器へは遷移ができない」という内容のシナリオを書き出さなければならない。
【００６１】
また、テストケース２において、遷移先３では遷移先１において第１画面が「外部機器３」に遷移しているため、遷移先３における第２画面が「外部機器４」へ遷移するための操作手順は、「外部機器３」がグレーアウトされていることに基づき求めなければならない。つまり、機種仕様ＤＢ４００１の切替不可ＴＢＬ４０２１には、接続されていない外部機器情報の他に、もう一方の画面が使用しているために動的に使用できなくなる外部機器の情報を格納し、操作手順算出部４００３は繰返し回数を算出する際に、この外部機器を除くことで、正しい繰返し回数を算出できる。
【００６２】
以下では、「外部機器第１〜５」が存在するものの、第１画面では「外部機器４」が、第２画面では「外部機器２」および「外部機器５」が接続されていないなどの理由で切替不可であるとする。ここで、図６の切替不可ＴＢＬ４０２１における操作画面が第１画面のときの切替不可欄には「第２画面の遷移状態」とあるが、これは「現在第２画面が使用していている外部機器」を意味し、「第１画面の遷移状態」も同様に、「現在第１画面が使用している外部機器」を意味する。また、第１画面が「外部機器２」に第２画面が「外部機器１」に遷移していたとすると、状態管理ＤＢ４００２は、図１２（ａ）のようになる。
【００６３】
以下、第２のテストケースとして図１１のテストケース２について、図８のフローチャートに従って、シナリオファイル作成について説明する。まず、ステップＳ１８００では、テストケース入力部４００５がテストケース２の入力を受付け、操作手順算出部４００３は、このテストケース２を取得する。ステップＳ１８０１では、前述の説明と同様に、操作手順算出部４００３は、状態管理ＤＢ４００２に初期値を設定する。ここでは、状態管理ＤＢ４００２には、図１２（ａ）に示すように、項目「画面数」に遷移状態「２」が設定され、項目「操作画面」に遷移状態「第１画面」が設定され、項目「第１画面」に遷移状態「外部機器２」が設定され、項目「第２画面」に遷移状態「外部機器１」が設定される。ステップＳ１８０２では、操作手順算出部４００３が、テストケース２の最初の遷移先１を参照し、「第１画面が外部機器３」という情報を取得する。ステップＳ１８０３では、遷移元が、状態管理ＤＢ４００２に設定されている「第１画面」が「外部機器２」であり、遷移先が、ステップＳ１８０２にて取得した「第１画面が外部機器３」である操作手順を、操作手順算出部４００３は操作手順ＴＢＬ４０１１から取得する。しかし、ここでは、該当する操作手順は操作手順ＴＢＬ４０１１にないので、操作手順算出部４００３は操作手順を取得できない。
【００６４】
次に、ステップＳ１８０４では、操作手順算出部４００３は、ステップＳ１８０３にて該当する操作手順を取得できたか否かを判定する。ここでは、操作手順ＴＢＬ４０１１に該当する操作手順がなく、取得できなかったと判定するので、ステップＳ１８０５に遷移する。ステップＳ１８０５では、操作手順算出部４００３は、ステップＳ１８０２にて取得した「第１画面が外部機器３」の項目にあたる「第１画面」にその項目が対応する切替不可ＴＢＬ４０２１を取得する。さらに操作手順算出部４００３は、取得した切替不可ＴＢＬ４０２１の遷移状態のうち、状態管理ＤＢ４００２に格納されている遷移状態と一致するものを検索し、その切替不可を取得する。ここでは、状態管理ＤＢ４００２の項目「画面数」の遷移状態「２」および項目「操作画面」の遷移状態「第１画面」と一致する、切替不可「外部機器４」と「第２画面の遷移状態」とを取得する。
【００６５】
次に、ステップＳ１８０６では、操作手順算出部４００３は、ステップＳ１８０２にて取得した遷移先（ここでは、「第１画面が外部機器３」）に遷移可能であるか否かを判定する。ここでは、現在の状態は、ステップＳ１８０３にて状態管理ＤＢ４００２から取得した「第１画面」が「外部機器２」であり、遷移先は「第１画面が外部機器３」であり、切替不可は「外部機器４」および「第２画面の遷移状態」すなわち図１２（ａ）より「外部機器１」である。これらより、現在の状態は遷移先と異なっており、かつ、遷移先は切替不可に該当しないので、上記２つのいずれの状況にもあてはまらず、操作手順算出部４００３は、遷移可能と判定し、ステップＳ１８０７に遷移する。ステップＳ１８０７では、操作手順算出部４００３は、ステップＳ１８０３にて状態管理ＤＢ４００２から取得した遷移状態である「外部機器２」から、ステップＳ１８０２にてテストケースから取得した遷移先１である「第１画面が外部機器３」へ遷移させるための繰返し回数を算出する。
【００６６】
この算出のために、操作手順算出部４００３は、繰返操作ＴＢＬ４０３１を参照して、この遷移の遷移先である前述の「（第１画面が）外部機器３」と遷移元である前述の「外部機器２」とのインデックスの差（ここでは、３−２＝１）を求める。さらに、操作手順算出部４００３は繰返操作ＴＢＬ４０３１を参照して、これら「外部機器２」と「外部機器３」との間に、ステップＳ１８０５にて取得した切替不可があれば、該当する切替不可の個数を先のインデックスの差から引き、その結果が同一操作の繰返し回数となる。ここでは、切替不可は「外部機器４」と「第２画面の遷移状態」とであり、「第２画面の遷移状態」は「外部機器４」であるので、該当する切替不可はなく、そのままの値である「１」が繰返し回数となる。
【００６７】
次にステップＳ１８０８では、操作手順算出部４００３は、シナリオ出力部４００４に対して、切替不可ＴＢＬ４０２１の順方向操作（ここでは、下ボタン）を、ステップＳ１８０７で求めた繰返し回数（ここでは１回）行うという内容のシナリオを書き出すよう指示を出す。シナリオ出力部４００４は、指示を受けて、下ボタンを１回操作する指示をシナリオファイルに追加する。ステップＳ１８０９では、操作手順算出部４００３は状態ＤＢ４００２の項目「画面／第１画面」に格納されている「外部機器２」を、ステップＳ１８０２にて取得した遷移先である「第１画面が外部機器３」の「外部機器３」に更新し、状態管理ＤＢ４００２の記憶内容は、図１２（ｂ）のようになる。
【００６８】
ステップＳ１８１０では、操作手順算出部４００３は、ステップＳ１８００にて取得したテストケース２に次の遷移先があるか否かを判定する。ここでは、遷移先２の「操作画面が第２画面」があるので、ステップＳ１８０２に遷移する。ステップＳ１８０２では、操作手順算出部４００３は、テストケース２から遷移先２の「操作画面が第２画面」を取得する。次に、ステップＳ１８０３では、操作手順算出部４００３は、図１２（ｂ）に示す状態管理ＤＢ４００２を参照して、ステップＳ１８０２にて取得した「操作画面が第２画面」の項目にあたる「操作画面」の遷移状態である「第１画面」を取得する。次に、操作手順算出部４００３は、操作手順ＴＢＬ４０１１を参照して、遷移元が先に状態管理ＤＢ４００２から得た「操作画面」が「第１画面」であり、遷移先が先にステップ１８０２にて取得した「操作画面が第２画面」である操作手順「操作切替ボタン」を取得する。ステップＳ１８０４では、操作手順算出部４００３は、ステップＳ１８０３にて該当する操作手順を取得できたか否かを判定する。ここでは、操作手順「操作切替ボタン」を取得しているので取得できたと判定し、ステップＳ１８１２に遷移して、シナリオ出力部４００４が、ステップＳ１８０３にて操作手順算出部４００３が取得した操作手順「操作切替ボタン」をシナリオファイルに追加する。
【００６９】
ステップＳ１８０９では、操作手順算出部４００３は状態ＤＢ４００２の項目「操作画面」に格納されている「第１画面」を、ステップＳ１８０２にて取得した遷移先である「操作画面が第２画面」の「第２画面」に更新し、状態管理ＤＢ４００２の記憶内容は、図１２（ｃ）のようになる。ステップＳ１８１０では、操作手順算出部４００３は、ステップＳ１８００にて取得したテストケース２に次の遷移先があるか否かを判定する。ここでは、遷移先３の「第２画面が外部機器４」があるので、ステップＳ１８０２に遷移する。ステップＳ１８０２では、操作手順算出部４００３は、テストケース２から遷移先３の「第２画面が外部機器４」を取得する。ステップＳ１８０３では、遷移元が、図１２（ｃ）に示す状態管理ＤＢ４００２に設定されている「第２画面」が「外部機器１」であり、遷移先が、ステップＳ１８０２にて取得した「第２画面が外部機器４」である操作手順を、操作手順算出部４００３は操作手順ＴＢＬ４０１１から取得する。しかし、ここでは、該当する操作手順は操作手順ＴＢＬ４０１１にないので、操作手順算出部４００３は操作手順を取得できない。
【００７０】
次に、ステップＳ１８０４では、操作手順算出部４００３は、ステップＳ１８０３にて該当する操作手順を取得できたか否かを判定する。ここでは、操作手順ＴＢＬ４０１１に該当する操作手順がなく、取得できなかったと判定するので、ステップＳ１８０５に遷移する。ステップＳ１８０５では、操作手順算出部４００３は、ステップＳ１８０２にて取得した「第２画面が外部機器４」の項目にあたる「第２画面」にその項目が対応する切替不可ＴＢＬ４０２１を取得する。さらに操作手順算出部４００３は、取得した切替不可ＴＢＬ４０２１の遷移状態のうち、状態管理ＤＢ４００２に格納されている遷移状態と一致するものを検索し、その切替不可を取得する。ここでは、図１２（ｃ）に示す状態管理ＤＢ４００２の項目「画面数」の遷移状態「２」および項目「操作画面」の遷移状態「第２画面」と一致する、切替不可「外部機器２」と「外部機器５」と「第１画面の遷移状態」とを取得する。
【００７１】
次に、ステップＳ１８０６では、操作手順算出部４００３は、ステップＳ１８０２にて取得した遷移先（ここでは、「第２画面が外部機器４」）に遷移可能であるか否かを判定する。ここでは、現在の状態は、ステップＳ１８０３にて状態管理ＤＢ４００２から取得した「第２画面」が「外部機器１」であり、遷移先は「第２画面が外部機器４」であり、切替不可は「外部機器２」と「外部機器５」と「第１画面の遷移状態」すなわち図１２（ｃ）より「外部機器３」である。これらより、現在の状態は遷移先と異なっており、かつ、遷移先は切替不可に該当しないので、上記２つのいずれの状況にもあてはまらず、操作手順算出部４００３は、遷移可能と判定し、ステップＳ１８０７に遷移する。ステップＳ１８０７では、操作手順算出部４００３は、ステップＳ１８０３にて状態管理ＤＢ４００２から取得した遷移状態である「外部機器１」から、ステップＳ１８０２にてテストケースから取得した遷移先３である「第２画面が外部機器４」へ遷移させるための繰返し回数を算出する。
【００７２】
この算出のために、操作手順算出部４００３は、繰返操作ＴＢＬ４０３１を参照して、この遷移の遷移先である前述の「（第２画面が）外部機器４」と遷移元である前述の「外部機器１」とのインデックスの差（ここでは、４−１＝３）を求める。さらに、操作手順算出部４００３は繰返操作ＴＢＬ４０３１を参照して、これら「外部機器１」と「外部機器４」との間に、ステップＳ１８０５にて取得した切替不可があれば、該当する切替不可の個数を先のインデックスの差から引き、その結果が同一操作の繰返し回数となる。ここでは、切替不可は「外部機器２」と「外部機器５」と「第１画面の遷移状態」すなわち図１２（ｃ）より「外部機器３」であるので、「外部機器２」と「外部機器３」との２つが該当する。そこで、先のインデックスの差「３」から「２」を引いた「１」が繰返し回数となる。
【００７３】
次にステップＳ１８０８では、操作手順算出部４００３は、シナリオ出力部４００４に対して、切替不可ＴＢＬ４０２１の順方向操作（ここでは、下ボタン）を、ステップＳ１８０７で求めた繰返し回数（ここでは１回）行うという内容のシナリオを書き出すよう指示を出す。シナリオ出力部４００４は、指示を受けて、下ボタンを１回操作する指示をシナリオファイルに追加する。ステップＳ１８０９では、操作手順算出部４００３は状態ＤＢ４００２の項目「画面／第２画面」に格納されている「外部機器２」を、ステップＳ１８０２にて取得した遷移先である「第２画面が外部機器４」の「外部機器４」に更新し、状態管理ＤＢ４００２の記憶内容は、図１２（ｄ）のようになる。
【００７４】
ステップＳ１８１０では、操作手順算出部４００３は、ステップＳ１８００にて取得したテストケース２に次の遷移先があるか否かを判定する。テストケース２の遷移先３以降には遷移先がないため、操作手順算出部４００３は、次の遷移先はないと判定して処理を終了する。
【００７５】
このように、切替不可ＴＢＬ４０２１に、動的な切替不可な遷移状態として、「第１画面の遷移状態」というように状態管理ＤＢ４００２にて記憶している遷移状態を指定しておき、操作手順算出部４００３が同一操作の繰返し回数を算出する際に、前述の指定された遷移状態を状態管理ＤＢ４００２から取得し、該遷移状態を切替不可の遷移状態として扱うことで、他の遷移状態に依存する動的な切替不可な遷移状態があっても、繰返し回数を算出することができる。
【００７６】
［第３のテストケース］
近年のテレビは、図１３のように、２つを超える画面数を持つものも開発されている。このような場合も、上記と同様にシナリオファイルを生成することができる。
以下では、画面の数として図１３のようなｎ画面を、使用できる外部機器の種類としては「外部機器１」〜「外部機器ｍ」まで存在するとする。図１４は、このときの繰返操作ＴＢＬ４０３１と切替不可ＴＢＬ４０２１の内容例を示す図である。また、図１５は、このときの状態管理ＤＢ４００２の内容例を示す図である。
【００７７】
以下で、多画面テレビにおけるシナリオ作成方法について説明する。
ここでは、第３のテストケースとして、簡単のため第１画面が「外部機器（ｎ−１）」へ遷移する指示のみがテストケースに書かれている場合を例にとり説明する。ステップＳ１８０２では、操作手順算出部４００３がテストケースの遷移先１欄を参照し、「第１画面が外部機器（ｎ−１）」という情報を取得する。ステップＳ１８０３では、操作手順算出部４００３は操作手順を取得できないため、ステップＳ１８０４では、操作手順算出部４００３は操作手順を取得できなかったと判定して、ステップＳ１８０５に遷移する。ステップＳ１８０５では、操作手順算出部４００３は図１４（ｂ）に示す切替不可ＴＢＬ４０２１を参照して、これより第1画面が切替不可なのは、外部機器２および第２〜ｎ画面が現在遷移している外部機器であることが分かる。ステップＳ１８０６では、この切替不可と図１５に示す状態管理ＤＢ４００２を参照して、遷移先へ遷移可能か否かを判定するが、ここでは、第２画面から第ｎ画面のいずれもが、外部機器（ｎ−１）へ遷移していないとすれば、第1画面は外部機器（ｎ−１）へ遷移可能であることが分かる。
【００７８】
ステップＳ１８０７では、操作手順算出部４００３が遷移のために必要な操作手順の繰返し回数を算出する。ここで、例えば、「外部機器１」と「外部機器（ｎ−１）」の間に、他の画面によって使用されている外部機器がｐ個あったとすると、遷移のために下ボタンを押下する回数は（ｎ−１）−１−ｐ回になる。ここで第１項の「ｎ−１」は「外部機器（ｎ−１）」のインデックス、第２項の「１」は「外部機器１」のインデックスである。
【００７９】
ステップＳ１８０８では、操作手順算出部４００３がステップＳ１８０７にて算出した回数（（ｎ−１）−１−ｐ回）の順方向操作「下ボタン」を、シナリオ出力部４００４がシナリオファイルに、追加する。ステップＳ１８０９では、操作手順算出部４００３は、遷移によって第１画面の状態が「外部機器（ｎ−１）」に変わったということを状態管理ＤＢ４００２に格納する。ステップＳ１８１０では、操作手順算出部４００３はテストケースが終了であるかを判断するが、ここではテストケースは終了とし処理を終える。
以上のようにして、２つを超える画面を持つテレビにおいても、所望の外部機器へ切り換える操作手順を求めることができる。
【００８０】
なお、テスト操作手順作成装置１００およびテスト装置２００には、周辺機器として入力装置、表示装置等（いずれも図示せず）が接続されるものとする。ここで、入力装置とはキーボード、マウス等の入力デバイスのことをいう。表示装置とはＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）装置や液晶表示装置等のことをいう。
【００８１】
また、図４におけるテストケース入力部４００５、操作手順算出部４００３、シナリオ出力部４００４の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、これらの処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００８２】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００８３】
また、上記実施形態において、テスト操作手順作成装置１００とテスト装置２００とは、別装置であるとして説明したが、テスト装置２００が、テスト操作手順作成装置１００の機能を具備していてもよい。また、コンピュータをテスト操作手順作成装置１００として機能させるためのプログラムを、コンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをテスト装置２００に読み込ませ、実行することにより、テスト装置２００が、テスト操作手順作成装置１００の機能を具備するようにしてもよい。
【００８４】
また、上記実施形態において、機種仕様ＤＢ４００１および状態管理ＤＢ４００２は、テスト対象の装置であるテレビ４００の仕様に依存した情報および遷移状態を記憶するとして説明したが、テレビ４００へ信号を入力する装置などテスト環境を構築する装置を含めても良い。これにより、操作手順ＴＢＬ４０１１の確認の欄にてテスト環境を構築する装置の遷移状態を参照することで、例えば、テレビ４００に入力されている信号に応じて、テレビ４００の操作手順を変更することや、テストケースにてテスト環境を構築する装置の遷移先を指定して、テスト中にテスト環境を変更する手順をする装置を操作する手順を含んだシナリオファイルを生成することができる。
【００８５】
また、上記実施形態において、テスト操作手順作成装置１００が事前にシナリオファイルを生成しておき、該シナリオファイルに基づいて、テスト装置２００がＩＲ装置３００を介してテレビ４００を操作することで、テストを実施するとして説明したが、テスト操作手順作成装置１００によるシナリオファイルの生成と、テスト装置２００によるテレビ４００の操作を並行して行なって、テストを実施しても良い。すなわち、テスト操作手順作成装置１００がシナリオファイルに操作手順を追加すると、テスト装置２００がこれを検出し、追加された操作手順に従い、ＩＲ装置３００を介してテレビ４００を操作することで、シナリオファイルの生成とテレビ４００の操作とを並行して行い、テストを実施してもよい。あるいは、テスト操作手順作成装置１００は、操作手順を生成するたびに出力し、テスト装置２００がこの操作手順を受けて、ＩＲ装置３００を介してテレビ４００を操作することで、テストを実施してもよい。
【００８６】
また、上記実施形態において、テストケースの任意の遷移先までのシナリオファイルを生成した状態で、例えば、オペレータが状態管理ＤＢ４００２あるいは機種仕様ＤＢ４００１の記憶内容を変更可能な手段を設けてもよい。これにより、テスト中にテスト環境やテスト対象のテレビ４００の状態が変わることに対応できる。
また、上記実施形態において、テストケースにおける遷移先の指定は、「第１画面が外部機器２」のようにするとして説明したが、「第１画面が繰返操作ＴＢＬ４０３１の一番下」というように間接的に指定してもよい。操作手順算出部４００３は、このような遷移先をテストケースから読み出したときは、例えば図６のような該当する繰返操作ＴＢＬ４０３１を参照して、「外部機器５」を取得し、遷移先を「第１画面が外部機器５」として、以降、上述の実施形態と同様に動作する。
【００８７】
上記では、テスト対象の機器の例として、映像表示装置の一例であるテレビを挙げたが、これは一例に過ぎず、パーソナルコンピューターや携帯電話、カーナビゲーションなどでも構わない。
また、テスト内容としては、映像信号の切り換えや、機能切替などリモコンやキーボード、マウス、ジョイスティック、あるいは音声指示やコマンド送信等の操作で状態が遷移する機能であれば、外部機器の変更だけでなく、他のものであってもよい。
【００８８】
以上、この発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【００８９】
本発明は、テレビなどの家電機器のテストに用いて好適であるが、これに限定されない。
【図面の簡単な説明】
【００９０】
【図１】この発明の実施形態にてテスト対象とするテレビ４００における視聴する外部機器の切り換え方法を示す図である。
【図２】テレビ４００における外部機器メニューを説明する図である。
【図３】この発明の一実施形態によるテスト操作手順作成装置１００を用いたテストシステムの装置構成を示す図である。
【図４】同実施形態によるテスト操作手順作成装置１００の構成を示す概略ブロック図である。
【図５】同実施形態によるテストケースの内容例を示す図である。
【図６】同実施形態による機種仕様ＤＢ４００１の記憶内容例を示す図である。
【図７】同実施形態による状態管理ＤＢ４００２の記憶内容例を示す図である。
【図８】同実施形態によるテスト操作手順作成装置１００の操作手順を求めてシナリオファイルを生成する際の動作の概要を示すフローチャートである。
【図９】同実施形態によるシナリオファイルの内容例を示す図である。
【図１０】同実施形態にてテスト対象とするテレビ４００における２画面表示を説明する図である。
【図１１】同実施形態によるテストケースの内容例を示す図である。
【図１２】同実施形態による状態管理ＤＢ４００２の記憶内容例を示す図である。
【図１３】同実施形態にてテスト対象とするテレビ４００におけるｎ画面表示を説明する図である。
【図１４】同実施形態による繰返操作ＴＢＬ４０３１と切替不可ＴＢＬ４０２１の内容例を示す図である。
【図１５】同実施形態による状態管理ＤＢ４００２の内容例を示す図である。
【図１６】従来のテストシステムの構成の概略図である。
【図１７】テストケースの内容例を示した図である。
【図１８】シナリオ作成方法を説明する図である。
【符号の説明】
【００９１】
１００…テスト操作手順作成装置
２００…テスト装置
３００…ＩＲ装置
４００…テレビ
４００１…機種仕様ＤＢ
４００２…状態管理ＤＢ
４００３…操作手順算出部
４００４…シナリオ出力部
４００５…テストケース入力部
４０１１…操作手順ＴＢＬ
４０２１…切替不可ＴＢＬ
４０３１…繰返操作ＴＢＬ
【図１】
2008191919.tif 000003
【図２】
2008191919.tif 000004
【図３】
2008191919.tif 000005
【図４】
2008191919.tif 000006
【図５】
2008191919.tif 000007
【図６】
2008191919.tif 000008
【図７】
2008191919.tif 000009
【図８】
2008191919.tif 000010
【図９】
2008191919.tif 000011
【図１０】
2008191919.tif 000012
【図１１】
2008191919.tif 000013
【図１２】
2008191919.tif 000014
【図１３】
2008191919.tif 000015
【図１４】
2008191919.tif 000016
【図１５】
2008191919.tif 000017
【図１６】
2008191919.tif 000018
【図１７】
2008191919.tif 000019
【図１８】
2008191919.tif 000020