(57)【特許請求の範囲】
【請求項１】
移動端末に搭載されたソフトウェアの動作を評価する試験装置であって、
予め設定された、移動端末に動作させるべき機能を実行させるための操作手順を含む複数のシナリオから、移動端末に実行させるシナリオを複数選択するシナリオ選択部と、
シナリオ名と機能を実行させるための操作手順と動作内容とを対応付けて管理するシナリオ管理情報格納部と、
動作内容と、該動作内容を抑止するか否かを示す情報とを対応付けて記憶するシナリオ実行情報格納部と、
前記シナリオ選択部により選択されたシナリオの動作内容が実行できるかどうかを判定するシナリオ実行判定部と、
該シナリオ実行判定部により実行できると判定された動作内容を含むシナリオを実行するシナリオ実行部と
を有し、
前記シナリオ実行判定部は、前記シナリオ管理情報格納部から前記シナリオ選択部により選択されたシナリオの動作内容を取得し、前記シナリオ実行情報格納部に格納された情報に基づいて、該動作内容が実行できるかどうかを判定する、試験装置。
【請求項２】
請求項１に記載の試験装置において、
前記シナリオ実行部により実行されたシナリオの実行結果が予め想定された結果と同じかどうかを判定するシナリオ実行結果判定部と、
前記シナリオ実行結果判定部によりシナリオの実行が失敗したと判定された回数と、該シナリオのシナリオ名を対応付けて記憶するシナリオ実行結果情報格納部と
を有し、
前記シナリオ実行結果判定部は、前記実行結果が予め想定された結果と異なると判定される場合にシナリオの実行が失敗したと判定するとともに前記シナリオ実行結果情報格納部の回数に反映させ、失敗した回数が所定の閾値以上となるシナリオを前記シナリオ実行情報格納部に追加する、試験装置。
【請求項３】
請求項1又は２に記載の試験装置において、
前記シナリオ実行判定部は、実行できないと判定したシナリオを、前記シナリオ選択部が選択した複数のシナリオから削除する、試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動端末の試験装置に関する。
【背景技術】
【０００２】
移動端末の高機能化により操作手順が複雑になっている。また、高機能化に伴い、ある機能を実行させるための操作数も増加している。さらに、移動端末に格納されるべきソフトウェアの容量も増大傾向にある。ソフトウェアの容量の増大に伴い、不具合数も増加傾向にある。
【０００３】
さらに、移動端末の高機能化により、いわゆる、「リセット／フリーズ」問題を発生させるソフトウェア等の不具合が増大しつつある。これらの不具合について、事前に、全不具合を検出することは事実上不可能である。
【０００４】
このため、移動端末に搭載されたソフトウェアを評価することが行われている。
【０００５】
例えば、自動評価ツールにより評価する方法が知られている。自動評価ツールによりソフトウェアを評価する方法を利用するには、評価対象の移動端末に搭載されたソフトウェアに、該ソフトウェアの動作方法の１つとして、予め決められた操作手順が組み込まれていることが必要とされる。さらに、利用者は、メニューボタンの押下や、テンキーボタンなどの押下によって、所望する機能を利用できることが必要である。
【０００６】
自動評価ツールにより評価する方法には、機能方式と、ランダム方式とが含まれる。
【０００７】
機能方式では、予め決められた操作手順によって、移動端末の特定の機能が評価される。特定の機能を評価することにより、移動端末に搭載されたソフトウェアの特定の機能が要求された仕様通りに正しく機能することを確認できる。
【０００８】
ランダム方式では、評価対象となる機能を特定することは行われない。その代わり、計算機によってランダムに評価対象となる操作を発生させる。計算機によってランダム評価対象となるに操作を発生させることにより、移動端末に搭載されたソフトウェアが正しく動作し続けることを確認することができる。例えば、移動端末に搭載されたソフトウェアにおいて（可能な限り）想定外となる動作手順を発生させる。想定外となる動作手順を発生させることにより、ソフトウェアの不具合等を検出することができる。
【０００９】
例えば、携帯端末に搭載されたソフトウェアを評価する方法が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開2009-290852号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ランダム方式では、ランダムに操作すべきキーが発生する。ランダムに操作すべきキーが発生するため、評価対象となるソフトウェアの特定の機能を動作させるための手順を期待通りに正しく実行することができないおそれがある。
【００１２】
さらに、特定の機能を動作させるための操作数が多い場合には、さらに、該特定の機能を動作させるための手順が実行される可能性が低くなる。このため、評価対象となるソフトウェアの機能の使用網羅性をあげることが困難となる。
【００１３】
また、ランダムに操作すべきキーが発生するため、本来発生させたくない操作、例えば、１１０番への発信や、有料サービスを利用するための発信等の抑止が不可能となる。
【００１４】
ランダム方式により、一定時間、移動端末を評価することにより、不具合検出は可能となる。しかし、上記問題点を解決することは困難である。
【００１５】
そこで、本発明は上述した問題点に鑑みてなされたものであり、効率的に、移動端末に搭載されたソフトウェアの機能を評価することを目的とする。
【課題を解決するための手段】
【００１６】
本試験装置は、
移動端末に搭載されたソフトウェアの動作を評価する試験装置であって、
予め設定された、移動端末に動作させるべき機能を実行させるための操作手順を含む複数のシナリオから、移動端末に実行させるシナリオを複数選択するシナリオ選択部と、
シナリオ名と機能を実行させるための操作手順と動作内容とを対応付けて管理するシナリオ管理情報格納部と、
動作内容と、該動作内容を抑止するか否かを示す情報とを対応付けて記憶するシナリオ実行情報格納部と、
前記シナリオ選択部により選択されたシナリオの動作内容が実行できるかどうかを判定するシナリオ実行判定部と、
該シナリオ実行判定部により実行できると判定された動作内容を含むシナリオを実行するシナリオ実行部と
を有し、
前記シナリオ実行判定部は、前記シナリオ管理情報格納部から前記シナリオ選択部により選択されたシナリオの動作内容を取得し、前記シナリオ実行情報格納部に格納された情報に基づいて、該動作内容が実行できるかどうかを判定する。
【発明の効果】
【００１７】
開示の実施例によれば、効率的に、移動端末に搭載されたソフトウェアの機能を試験することができる。
【図面の簡単な説明】
【００１８】
【図１】試験装置の一実施例を示す図である。
【図２】移動端末の試験システムの一実施例を示す図である。
【図３】自動評価ツールの一実施例を示す図である。
【図４】シナリオの一実施例を示す図である。
【図５】シナリオの一実施例を示す図である。
【図６】シナリオ管理情報の一実施例を示す図である。
【図７】試験装置の一実施例を示す機能ブロック図である。
【図８】シナリオ実行情報の一実施例を示す機能ブロック図である。
【図９】シナリオ実行結果情報の一実施例を示す機能ブロック図である。
【図１０】シナリオ実行情報の一実施例を示す機能ブロック図である。
【図１１】試験装置の動作の一実施例を示すフロー図である。
【図１２】試験装置の動作の一実施例を示すフロー図である。
【図１３】試験装置の動作の一実施例を示すフロー図である。
【発明を実施するための形態】
【００１９】
以下、図面に基づいて、実施例を説明する。
なお、実施例を説明するための全図において、同一機能を有するものは同一符号を用い、繰り返しの説明は省略する。
【００２０】
＜実施例＞
本実施例に係る自動評価ツールは、PC(Personal Computer)等に搭載される。また、移動端末に搭載されたソフトウェアを試験するための装置に搭載されてもよい。
【００２１】
本実施例では、一例として、PCに搭載される場合について説明する。自動評価ツールがPCに搭載されることにより、該PCは移動端末の試験装置１００として機能する。
【００２２】
本試験装置１００は、対象となる機能をランダムに発生させ、該機能に対応するシナリオが実行できるかどうかを判定し、該判定結果に基づいて、実行できないシナリオを試験項目から自動的に省くことにより、試験を効率的に行う。
【００２３】
図１は、本実施例に係る自動評価ツールが格納される試験装置１００の一例を示す。
【００２４】
該試験装置１００は、中央演算処理ユニット(CPU: Central Processing Unit)１０２と、記憶部１０４と、入力部１０６と、出力部１０８とを有する。CPU１０２、記憶部１０４、入力部１０６、出力部１０８は、バス１５０により接続される。
【００２５】
CPU１０２は、記憶部１０４、入力部１０６、及び出力部１０８の制御を行う。CPU１０２は、記憶部１０４に記憶されたプログラムに従って機能し、所定の処理を行う。
【００２６】
記憶部１０４には、アプリケーションと、オペレーティングシステム(OS:  Operating  System)と、自動評価ツールとが格納される。例えば、記憶部１０４は、コンピュータ内でデータやプログラムを記憶する外部記憶装置である。例えば、ハードディスク(hard disk,  fixed disk)やフロッピーディスク(floppy  disk)、MO(Magneto-Optical  disk)、CD-R(Compact  Disk  Recordable)、磁気テープなどが含まれる。アプリケーションは、ユーザが本試験装置１００上で実行する作業を実施する機能を有するソフトウェアである。例えば、アプリケーションには、ワードプロセッサ、表計算ソフト、データベース管理システム(DBMS:  Data  Base  Management  System)、メディアプレーヤーなどが含まれる。オペレーティングシステムは、本試験装置１００において、ハードウェアを抽象化したインターフェースをアプリケーションソフトウェアに提供するソフトウェアである。自動評価ツールは、ユーザに変わって、移動端末を操作することにより、該移動端末に搭載されたソフトウェアを動作させることにより、該ソフトウェアの品質、及び機能のうち、少なくとも一方の評価を行うツールである。
【００２７】
入力部１０６は、例えば、キーボードやマウスにより構成され、本試験装置１００への指示や、データの入力を行う。該指示は、オペレーティングシステムに対するものや、アプリケーションに対するものや、自動評価ツールに対するものが含まれる。
【００２８】
出力部１０８は、例えば、ディスプレイにより構成され、本試験装置１００による処理状態や処理結果を表示する。該処理状態や処理結果には、オペレーティングシステムやアプリケーションや自動評価ツールによるものが含まれる。ディスプレイには、液晶ディスプレイ、CRT(Cathode  Ray  Tube)ディスプレイ、プラズマ(PDP:  Plasma  Display  Panel)ディスプレイ、有機EL(Electro-Luminescence)ディスプレイなどが含まれる。
【００２９】
図２は、移動端末２００に搭載されたソフトウェアを評価する評価システムの構成例を示す。
＜試験システムの構成例＞
該試験システムでは、移動端末２００と試験装置１００とが接続される。例えば、ケーブル（図示なし）により接続されてもよい。移動端末２００は、入力部１０６によるユーザの操作を受け付けるためのユーザインターフェース(UI: User Interface)を有するものであることが好ましい。例えば、入力部１０６には、テンキー等が含まれる。移動端末２００には、ハンドセット型であってもよいし、ヘッドセット型でもよい。また、移動端末２００は、例えば、電気的な信号により内部の動作を変更することができるものであれば、必ずしも入力部１０６は必要ない。例えば、移動端末２００は、カード型であってもよいし、モジュール型であってもよい。
【００３０】
また、該試験システムには、移動端末２００の表示部を撮影するためのカメラ３００が用意される。該カメラ３００は、移動端末２００の表示部に表示される画像、及び動画の少なくとも一方を撮影する。該カメラ３００により撮影された表示部の画像、及び動画の少なくとも一方は、試験装置１００に入力される。例えば、ケーブル（図示なし）により、カメラ３００と、試験装置１００との間を接続し、該ケーブルを介してカメラ３００と、試験装置１００との間で、画像、及び動画の少なくとも一方の送受信が行われてもよい。
＜自動評価ツール＞
図３は、自動評価ツールの構成例を示す。
【００３１】
自動評価ツールは、キー操作ドライバを有する。キー操作ドライバは、オペレーティングシステムとして機能するCPU１０２に対して、移動端末２００との間のインターフェースを提供するためのソフトウェアである。
【００３２】
自動評価ツールは、自動評価エンジンを有する。自動評価エンジンは、自動評価ツールとして機能するCPU１０２に対して、移動端末２００に搭載されたソフトウェアを評価する機能を実行させるためのソフトウェアである。
【００３３】
自動評価ツールは、OCR(Optical Character Reader)を有する。OCRは、カメラ３００により撮影された画像から、文字を光学的に読み取り、予め記憶されたパターンと照合することにより文字を特定する。OCRは、カメラ３００により撮影された動画から、文字を光学的に読み取り、予め記憶されたパターンと照合することにより文字を特定するものであってもよい。
【００３４】
＜試験用シナリオ＞
自動評価ツールは、試験用シナリオを有する。試験用シナリオは、自動評価ツールにより対象機能を評価する際に、移動端末２００に実行させるべき操作の手順を表したものである。例えば、試験用シナリオは、自動評価ツールが実行されることにより、作成される。
【００３５】
図４は、試験用シナリオの一例を示す図である。図４には、一例として、２つの機能（機能１、機能２）が示される。
【００３６】
試験用シナリオが作成される際には、シナリオを定義するための名称（機能名）が作成される。例えば、機能名として、「機能１」、「機能２」が作成される。さらに、各機能に対して、該機能を実行させるためのキーを表す「操作」、及び該キーの流れを表す「命令」とが記述される。例えば、機能名が「機能１」により表される機能には、操作されるべきキーを表す情報（「操作１」・・・「操作ｎ」）と、該操作されるべきキーの操作順序を制御するための命令（「命令１」・・・「命令ｍ」）とが含まれる。また、機能名が「機能２」により表される機能には、操作されるべきキーを表す情報（「操作１」・・・「操作ｘ」）と、該操作されるべきキーの操作順序を制御するための命令（「命令１」・・・「命令ｙ」）とが含まれる。
【００３７】
また、複数の機能をまとめて、１つの機能が定義されてもよい。例えば、評価の対象となる複数の機能をまとめて１つの新たな機能として定義されてもよい。
【００３８】
図５は、複数の機能をまとめて１つの機能として、新たな機能が定義される例を示す。
【００３９】
図５に示される例では、複数の機能（「機能Ｘ」、「機能Ｙ」・・・「機能Ｚ」）がまとめられて１つの機能（「機能１」）として、新たな機能が定義される。換言すれば、「機能１」には、複数の機能（「機能Ｘ」、「機能Ｙ」・・・「機能Ｚ」）が入れ子となっている。
【００４０】
＜シナリオ管理情報＞
自動評価ツールにより管理されるべきシナリオ管理情報について説明する。例えば、自動評価エンジンは、シナリオ管理情報を事前に登録する。
【００４１】
図６は、シナリオ管理情報の一例を示す。
【００４２】
図６に示されるシナリオ管理情報には、シナリオ定義名が格納される。シナリオ定義名は、図４を参照して説明した機能と、図５を参照して説明した機能のうち少なくとも一方が格納される。
【００４３】
シナリオ管理情報には、格納されたシナリオ定義名に対応する機能階層、入力パラメータ、重要度、及び動作内容が格納される。機能階層とは、機能を実行させるための操作手順を表したものであって、各操作手順を数値で表したものである。
【００４４】
図６に示される例では、シナリオ定義名として、メール送信に関する「機能１」が格納され、該「機能１」に対応する機能階層、入力パラメータ、重要度、及び動作内容として、それぞれ、「1-1-1」、「こんにちは、はじめまして・・・」、「１」「パケット発信」が格納される。
【００４５】
また、シナリオ定義名として、電話発信に関する「機能２」が格納され、該「機能２」に対応する機能階層、入力パラメータ、重要度、及び動作内容として、それぞれ、「1-2-3-4」、「０３−１２３４−５６７８」、「２」、「音声発信」が格納される。
【００４６】
また、シナリオ定義名として、複数の機能を機能させる「機能Ａ」が格納され、該「機能Ａ」に対応する機能階層、入力パラメータ、重要度、及び動作内容として、それぞれ、「入れ子」、「機能１＋機能２」、「−」、「−」が格納される。
【００４７】
また、シナリオ定義名として、複数の機能を機能させる「機能Ｎ」が格納され、該「機能Ｎ」に対応する機能階層、入力パラメータ、重要度、及び動作内容として、それぞれ、「a-b-c-d」、「parameter x」、「Ｚ」、「なし」が格納される。
＜自動評価ツールの機能＞
図７は、本試験装置１００の機能を示す。
【００４８】
本試験装置１００は、シナリオ選択部１０２２を有する。シナリオ選択部１０２２は、移動端末２００に実行させるべきシナリオを選択する。例えば、シナリオ選択部１０２２は、予め設定された複数のシナリオから、ランダムに移動端末に実行させるべきシナリオを選択するようにしてもよい。シナリオを選択する際に、ランダムな値を出力する関数が利用されてもよい。
【００４９】
本試験装置１００は、シナリオ実行判定部１０２４を有する。シナリオ実行判定部１０２４は、シナリオ選択部１０２２と接続される。シナリオ実行判定部１０２４は、シナリオ選択部１０２２により選択されたシナリオが実行できるかどうかを判定する。例えば、シナリオ実行判定部１０２４は、図６を参照して説明したシナリオ管理情報を参照し、シナリオ選択部１０２２により選択されたシナリオに対応する「動作内容」を取得する。シナリオ実行判定部１０２４は、シナリオ実行情報を参照し、取得した動作内容が抑止されているものであるかどうかを判定する。
【００５０】
図８は、シナリオ実行情報の一例を示す。
【００５１】
シナリオ実行情報には、抑止内容と、抑止状態とが含まれる。図８に示される例では、抑止内容として、「電話発信（通常時）」、「電話発信（緊急時）」、「パケット発信」、及び「有料サービス利用」が格納され、抑止状態として、それぞれ「無し」、「抑止」、「無し」、及び「抑止」が格納される。
【００５２】
シナリオ実行判定部１０２４は、シナリオ選択部１０２２により選択されたシナリオに対応する動作内容が抑止である場合には、実行不可能なシナリオであると判定する。一方、シナリオ実行判定部１０２４は、シナリオ選択部１０２２により選択されたシナリオに対応する「動作内容」が抑止でない場合には、実行可能なシナリオであると判定する。シナリオ実行判定部１０２４は、実行不可能なシナリオであると判定されたシナリオをシナリオ選択部１０２２により設定されたシナリオから削除する。
【００５３】
本試験装置１００は、シナリオ実行部１０２６を有する。シナリオ実行部１０２６は、シナリオ実行判定部１０２４と接続される。シナリオ実行部１０２６は、シナリオ選択部１０２２により選択されたシナリオから、シナリオ実行判定部１０２４により実行不可能なシナリオであると判定されたシナリオが削除された残りのシナリオを実行する。シナリオ実行部１０２６は、シナリオの実行結果をシナリオ実行結果判定部１０２８に入力する。
【００５４】
本試験装置１００は、シナリオ実行結果判定部１０２８を有する。シナリオ実行結果判定部１０２８は、シナリオ実行部１０２６と接続される。シナリオ実行結果判定部１０２８は、シナリオ実行部１０２６により入力されるべきシナリオの実行結果に基づいて、該シナリオの実行結果が予め想定される結果と同じかどうかを判定する。シナリオの実行結果が予め想定される結果と同じであると判定される場合、シナリオの実行が成功したと判定する。一方、シナリオの実行結果が予め想定される結果と異なると判定される場合、シナリオの実行が失敗したと判定する。シナリオ実行結果判定部１０２８は、実行結果情報に、シナリオの実行結果を反映する。実行結果情報には、シナリオ毎に、該シナリオの実行が失敗した回数が格納される。
【００５５】
図９は、実行結果情報の一例が示される。
【００５６】
実行結果情報には、シナリオ定義名と、失敗回数とが対応付けられる。
【００５７】
図９に示される例では、シナリオ定義名として、「ウェブページ接続」、「設定実行」が格納され、失敗回数として、それぞれ「２」、「１０」が格納される。
【００５８】
シナリオ実行結果判定部１０２８は、実行結果情報を参照し、失敗回数が所定の閾値以上となるシナリオがあるかどうかを判定する。シナリオ実行結果判定部１０２８は、シナリオ実行情報に、失敗回数が所定の閾値以上となるシナリオを追加する。
【００５９】
図１０は、所定の閾値が「１０」に設定されている場合を示す。この場合、シナリオ実行結果判定部１０２８は、実行結果情報に含まれる「設定実行」の失敗回数が「１０」であるため、該「設定実行」をシナリオ実行情報に、「抑止」として追加する。
【００６０】
図１０は、シナリオ実行情報に、「設定実行」が追加された例を示す。
【００６１】
＜本試験装置の動作＞
図１１は、本試験装置１００の動作を示す。
【００６２】
本試験装置１００は、シナリオ定義名を選択する（ステップＳ１１０２）。選択されるシナリオ定義名は複数であってもよい。例えば、シナリオ選択部１０２２は、シナリオ定義名を選択する。
【００６３】
本試験装置１００は、ステップＳ１１０２により選択されたシナリオ定義名に対応する機能を実行できるかどうかを判定する（ステップＳ１１０４）。例えば、シナリオ実行判定部１０２４は、シナリオ実行情報を参照し、ステップＳ１１０２により選択されたシナリオが抑止されていないかどうかを判定することにより、実行できるかどうかを判定する。抑止とされている場合には実行できないと判定し、抑止とされていない場合には実行できると判定する。
【００６４】
シナリオが実行できると判定された場合(ステップＳ１１０４：ＹＥＳ)、本試験装置１００は、シナリオを実行する（ステップＳ１１０６）。ここで、ステップＳ１１０２により複数のシナリオが選択された場合には、実行できるシナリオがある場合、シナリオが実行できると判定される。例えば、シナリオ実行部１０２６は、実行できるシナリオを実行する。
【００６５】
一方、シナリオが実行できないと判定された場合（ステップＳ１１０４：ＮＯ）、ステップＳ１１０２に戻る。
【００６６】
本試験装置１００は、シナリオの実行結果を判定する（ステップＳ１１０８）。例えば、シナリオ実行結果判定部１０２８は、シナリオの実行結果が、予め想定される結果と同じであるかどうかを判定することにより、シナリオの実行結果が成功であるかどうかを判定する。
【００６７】
ステップＳ１１０８によるシナリオの実行結果の判定後、ステップＳ１１０２に戻る。
【００６８】
＜シナリオ実行判定部による動作の詳細＞
図１２は、シナリオ実行判定部１０２４により実行される動作の詳細を示す。
【００６９】
シナリオ実行判定部１０２４による動作が実行される際に、ユーザによりシナリオ実行情報が生成されてもよい。つまり、試験装置１００に格納されるべきシナリオ実行情報に加えて、その都度ユーザに設定されるべきシナリオ実行情報を生成される。ここでは、ユーザに設定されるべきシナリオ実行情報に基づいて、シナリオが実行できるかどうかが判定される。
【００７０】
シナリオ実行判定部１０２４は、実行中のシナリオの「動作内容」がシナリオ実行情報の抑止内容に含まれるかどうかを判定する（ステップＳ１２０２）。
【００７１】
実行中のシナリオの「動作内容」がシナリオ実行情報の抑止内容に含まれると判定される場合（ステップＳ１２０２：ＹＥＳ）、「抑止状態」が抑止であるかどうかを判定する（ステップＳ１２０４）。
【００７２】
「抑止状態」が抑止である場合（ステップＳ１２０４：ＹＥＳ）、実行不可能なシナリオと認識する（ステップＳ１２０６）。ここで、試験装置１００に格納されるべきシナリオ実行情報に、実行不可能なシナリオと認識されたシナリオが追加されてもよい。
【００７３】
ステップＳ１２０２において実行中のシナリオの「動作内容」がシナリオ実行情報の抑止内容に含まれると判定されない場合（ステップＳ１２０２：ＮＯ）、及びステップＳ１２０４において「抑止状態」が抑止でない場合（ステップＳ１２０４：ＮＯ）、実行可能なシナリオと認識する（ステップＳ１２０８）。
【００７４】
＜シナリオ実行結果判定部による動作の詳細＞
図１３は、シナリオ実行結果判定部１０２８により実行される動作の詳細を示す。
【００７５】
シナリオ実行結果判定部１０２８は、シナリオ実行結果が失敗であるかどうかを判定する（ステップＳ１３０２）。
【００７６】
シナリオ実行結果が失敗であると判定された場合（ステップＳ１３０２：ＹＥＳ）、実行結果情報に反映する（ステップＳ１３０４）。
【００７７】
失敗回数が所定の閾値以上となるシナリオがあるかどうかを判定する（ステップＳ１３０６）。
【００７８】
失敗回数が所定の閾値以上となるシナリオがあると判定された場合（ステップＳ１３０６：ＹＥＳ）、シナリオ実行情報に反映する（ステップＳ１３０８）。
【００７９】
ステップ１３０２においてシナリオ実行結果が失敗であると判定されない場合（ステップＳ１３０２：ＮＯ）、ステップ１３０２において失敗回数が所定の閾値以上となるシナリオがあると判定されない場合（ステップＳ１３０６：ＮＯ）、終了する。
【００８０】
＜本実施例の効果＞
シナリオの実行結果を記録し、実行が失敗した回数が所定の閾値以上となるシナリオを、試験項目から自動的に削除することにより、効率的に試験を行うことができる。
【００８１】
移動端末の高機能化により操作手順が複雑になっている。また、高機能化に伴い、ある機能を実行させるための操作数も増加している。さらに、移動端末に格納されるべきソフトウェアの容量も増大傾向にある。ソフトウェアの容量の増大に伴い、不具合数も増加傾向にある。
【００８２】
移動端末の高機能化により、いわゆる、「リセット／フリーズ」問題を発生させるソフトウェア等の不具合が増大しつつある。これらの不具合について、事前に、全不具合を検出することは事実上不可能である。
【００８３】
本実施例では、ソフトウェアを評価する際に、操作対象となる「機能」をランダムに発生させる。機能をランダムに発生させることにより、操作すべきキーを発生させる場合と比較して、操作すべきキーと該キーの操作の順番が指定されるため、特定の機能の操作方法（操作数）によらず、機能の評価ができる。評価対象となる機能の使用網羅性を向上させることができる。機能毎に抑止するかどうかを判定できる。特定の機能の使用率を制御することができる。
【００８４】
以上の実施例を含む実施形態に関し、更に以下の項目を開示する。
【００８５】
（１）移動端末に搭載されたソフトウェアの動作を評価する試験装置であって、
移動端末に動作させるべき機能を実行させるための情報を含むシナリオを選択するシナリオ選択部と、
該シナリオ選択部により選択されたシナリオが実行できるかどうかを判定するシナリオ実行判定部と、
該シナリオ実行判定部により実行できると判定されたシナリオを実行するシナリオ実行部と、
該シナリオ実行部により実行されたシナリオの実行結果が予め想定された結果と同じかどうかを判定するシナリオ実行結果判定部と
を有し、
前記シナリオ実行判定部は、過去に、前記実行結果判定部により実行されたシナリオの実行結果に基づいて、前記シナリオ選択部により選択されたシナリオが実行できるかどうかを判定する。
【００８６】
（２）（１）に記載の試験装置において、
前記シナリオ実行判定部は、前記シナリオ選択部により選択されたシナリオが、過去に、前記実行結果判定部により実行されたシナリオの実行結果が予め想定された結果と異なると判定された回数が所定の閾値以上であるシナリオである場合、実行できないと判定する。
【００８７】
（３）（１）又は（２）に記載の試験装置において、
シナリオと、前記実行結果判定部により該シナリオの実行結果が予め想定された結果と異なると判定された回数とを対応付けた第１のテーブルと、
前記実行結果判定部により実行されたシナリオの実行結果が予め想定された結果と異なると判定された回数が所定の閾値以上であるシナリオと、該シナリオが実行できるかどうかを表す情報とを対応付けた第２のテーブルと
を有し、
前記シナリオ実行判定部は、前記シナリオ実行部により実行されたシナリオの実行結果が予め想定された結果と異なると判定した場合、前記第１のテーブルに反映し、
前記シナリオ実行判定部は、前記第２のテーブルを参照し、前記シナリオ選択部により選択されたシナリオが、実行できないシナリオに該当するかどうかを判定する。
【００８８】
（４）（１）ないし（３）のいずれか１項に記載の試験装置において、
前記シナリオには、移動端末に動作させるべき機能が１又は複数含まれる。
【００８９】
（５）（１）ないし（４）のいずれか１項に記載の試験装置において、
前記シナリオ選択部は、予め設定されたシナリオから、ランダムに選択する。
【００９０】
説明の便宜上、発明の理解を促すため具体的な数値例を用いて説明されるが、特に断りのない限り、それらの数値は単なる一例に過ぎず適切な如何なる値が使用されてよい。
【００９１】
以上、本発明は特定の実施例を参照しながら説明されてきたが、各実施例は単なる例示に過ぎず、当業者は様々な変形例、修正例、代替例、置換例等を理解するであろう。説明の便宜上、本発明の実施例に係る装置は機能的なブロック図を用いて説明されたが、そのような装置はハードウエアで、ソフトウエアで又はそれらの組み合わせで実現されてもよい。本発明は上記実施例に限定されず、本発明の精神から逸脱することなく、様々な変形例、修正例、代替例、置換例等が包含される。
【符号の説明】
【００９２】
１００  試験装置
１０２  中央演算処理装置(CPU: Central Processing Unit)
１０２２  シナリオ選択部
１０２４  シナリオ実行判定部
１０２６  シナリオ実行部
１０２８  シナリオ実行結果判定部
１０４  記憶部
１０６  入力部
１０８  出力部
１５０  バス
２００  移動端末
３００  カメラ
【図１】
0005490036.tif 000002
【図２】
0005490036.tif 000003
【図３】
0005490036.tif 000004
【図４】
0005490036.tif 000005
【図５】
0005490036.tif 000006
【図６】
0005490036.tif 000007
【図７】
0005490036.tif 000008
【図８】
0005490036.tif 000009
【図９】
0005490036.tif 000010
【図１０】
0005490036.tif 000011
【図１１】
0005490036.tif 000012
【図１２】
0005490036.tif 000013
【図１３】
0005490036.tif 000014