(57)【要約】【課題】電子機器で発生した事象を再現する試験に伴う作業者の負担を軽減すること。【解決手段】取得手段３０１は、ハードウェアとソフトウェアが協働する端末１０で発生した事象について記述されたテキストデータを取得する。特定手段３０２は、取得手段３０１によって取得されたテキストデータを解析して、ハードウェア又はソフトウェアと、事象とを特定する。実行手段３０３は、特定手段３０２によって特定されたハードウェア又はソフトウェアを備えた試験用電子機器１０＿ｎに対して、特定手段３０２によって特定された事象を再現するためのデータを供給して試験を実行する。出力手段３０４は、実行手段３０３によって試験が実行された試験用端末１０＿ｎから当該試験の結果を取得して、当該結果に応じた情報を出力する。【選択図】図６
2014142872.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアとソフトウェアが協働する電子機器で発生した事象について記述されたテキストデータを取得する取得手段と、
前記取得手段によって取得されたテキストデータを解析して、前記ハードウェア又は前記ソフトウェアと、前記事象とを特定する特定手段と、
前記特定手段によって特定されたハードウェア又はソフトウェアを備えた試験用電子機器に対して、前記特定手段によって特定された事象を再現するためのデータを供給して試験を実行する実行手段と、
前記実行手段によって試験が実行された試験用電子機器から当該試験の結果を取得して、当該結果に応じた情報を出力する出力手段と
を備えた試験装置。
【請求項２】
前記取得手段は、前記電子機器のユーザによってコンピュータネットワーク上の記憶装置に書き込まれたテキストデータを取得する請求項１に記載の試験装置。
【請求項３】
前記実行手段は、前記ハードウェア毎又は前記ソフトウェア毎に予め決められた優先度に基づいて、前記試験の対象とするハードウェア又はソフトウェアを絞り込み、絞り込んだハードウェア又はソフトウェアを備えた試験用電子機器によって前記試験を実行する請求項１又は２に記載の試験装置。
【請求項４】
前記実行手段は、前記事象毎に予め決められた優先度に基づいて、前記試験で再現する事象を絞り込み、絞り込んだ事象を再現するための試験を実行する請求項１乃至３のいずれかに記載の試験装置。
【請求項５】
前記特定手段は、前記テキストデータを前記記憶装置に書き込んだユーザ毎に予め決められた優先度に基づいて、解析するテキストデータを絞り込み、絞り込んだテキストデータを解析して前記ハードウェア又は前記ソフトウェアを特定する請求項２乃至４のいずれかに記載の試験装置。
【請求項６】
前記実行手段は、前記ハードウェア毎又は前記ソフトウェア毎の前記特定手段による特定の回数に基づいて、前記試験の対象とするハードウェア又はソフトウェアを絞り込み、絞り込んだハードウェア又はソフトウェアを備えた試験用電子機器によって前記試験を実行する請求項１乃至５のいずれかに記載の試験装置。
【請求項７】
前記実行手段は、前記事象毎の前記特定手段による特定の回数に基づいて、前記試験で再現する事象を絞り込み、絞り込んだ事象を再現するための試験を実行する請求項１乃至６のいずれかに記載の試験装置。
【請求項８】
前記実行手段は、過去に実行された前記事象毎の試験回数に対する再現回数の比に基づいて前記試験の回数を決め、当該回数だけ前記試験を繰り返す請求項１乃至７のいずれかに記載の試験装置。
【請求項９】
前記実行手段は、前記特定手段による前記ハードウェア毎、前記ソフトウェア毎又は前記事象毎の特定の回数に基づいて前記試験の回数を決め、当該回数だけ前記試験を繰り返す請求項１乃至８のいずれかに記載の試験装置。
【請求項１０】
事象毎の原因の所在を予め記憶し、前記特定手段によって特定された事象の原因の所在を当該記憶の内容に基づいて判定する判定手段を備えた請求項１乃至９のいずれかに記載の試験装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器で発生した不具合を診断する技術に関する。
【背景技術】
【０００２】
電子機器で発生した不具合を診断する技術が、特許文献１、２で開示されている。特許文献１に記載された車両故障診断装置は、作業者が不具合の情報を入力すると、不具合の原因となった可能性のあるモードを複数選択し、各モードを検証するテストの必要度を算出し、算出された必要度に基づいて診断の手順を決定する。特許文献２に記載された情報処理装置は、プログラムの実行履歴情報をもとに動作状況を表示し、ユーザが不具合の箇所を指定すると、指定された不具合の箇所とプログラムの動作状況とから不具合要因を解析し、この不具合要因を解決するための解決策を特定し、特定した解決策を反映させた動作状況を再作成し、不具合要因と解決策と再作成した動作状況とを表示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−１６４８２７号公報
【特許文献２】特開２００１−２４９８２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、電子機器で発生した不具合等の事象が報告された場合、事象の原因を究明するためにその事象を再現する試験が行われる。作業者が行う主な作業は、報告の内容に基づいて試験の手順を決め、報告された事象が発生する可能性のあるすべてのソフトウェアとハードウェアの組み合わせについて試験を行って、報告された事象が再現されるかどうかを確認したり、再現された事象を観察する、というものである。このとき、報告された事象が常に再現されるとは限らないため、ある程度の回数、試験を繰り返す必要がある。このような事情から、この試験は多大な労力と時間を要し、事象への対策が迅速性を欠くという問題がある。
そこで、本発明は、電子機器で発生した事象を再現する試験に伴う作業者の負担を軽減することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、ハードウェアとソフトウェアが協働する電子機器で発生した事象について記述されたテキストデータを取得する取得手段と、前記取得手段によって取得されたテキストデータを解析して、前記ハードウェア又は前記ソフトウェアと、前記事象とを特定する特定手段と、前記特定手段によって特定されたハードウェア又はソフトウェアを備えた試験用電子機器に対して、前記特定手段によって特定された事象を再現するためのデータを供給して試験を実行する実行手段と、前記実行手段によって試験が実行された試験用電子機器から当該試験の結果を取得して、当該結果に応じた情報を出力する出力手段とを備えた試験装置を提供する。
前記取得手段は、前記電子機器のユーザによってコンピュータネットワーク上の記憶装置に書き込まれたテキストデータを取得するように構成されていてもよい。
【０００６】
また、前記実行手段は、前記ハードウェア毎又は前記ソフトウェア毎に予め決められた優先度に基づいて、前記試験の対象とするハードウェア又はソフトウェアを絞り込み、絞り込んだハードウェア又はソフトウェアを備えた試験用電子機器によって前記試験を実行するように構成されていてもよい。
また、前記実行手段は、前記事象毎に予め決められた優先度に基づいて、前記試験で再現する事象を絞り込み、絞り込んだ事象を再現するための試験を実行するように構成されていてもよい。
また、前記特定手段は、前記テキストデータを前記記憶装置に書き込んだユーザ毎に予め決められた優先度に基づいて、解析するテキストデータを絞り込み、絞り込んだテキストデータを解析して前記ハードウェア又は前記ソフトウェアを特定するように構成されていてもよい。
【０００７】
また、前記実行手段は、前記ハードウェア毎又は前記ソフトウェア毎の前記特定手段による特定の回数に基づいて、前記試験の対象とするハードウェア又はソフトウェアを絞り込み、絞り込んだハードウェア又はソフトウェアを備えた試験用電子機器によって前記試験を実行するように構成されていてもよい。
また、前記実行手段は、前記事象毎の前記特定手段による特定の回数に基づいて、前記試験で再現する事象を絞り込み、絞り込んだ事象を再現するための試験を実行するように構成されていてもよい。
【０００８】
また、前記実行手段は、過去に実行された前記事象毎の試験回数に対する再現回数の比に基づいて前記試験の回数を決め、当該回数だけ前記試験を繰り返すように構成されていてもよい。
また、前記実行手段は、前記特定手段による前記ハードウェア毎、前記ソフトウェア毎又は前記事象毎の特定の回数に基づいて前記試験の回数を決め、当該回数だけ前記試験を繰り返すように構成されていてもよい。
また、前記試験装置は、事象毎の原因の所在を予め記憶し、前記特定手段によって特定された事象の原因の所在を当該記憶の内容に基づいて判定する判定手段を備えていてもよい。
【発明の効果】
【０００９】
本発明によれば、電子機器で発生した事象を再現する試験に伴う作業者の負担を軽減することができる。
【図面の簡単な説明】
【００１０】
【図１】通信システムの全体を示す図。
【図２】端末１０のハードウェア構成を示す図。
【図３】投稿サーバ５０のハードウェア構成を示す図。
【図４】投稿ＤＢ５２ａの内容を示す図。
【図５】試験装置３０のハードウェア構成を示す図。
【図６】試験装置３０の機能構成を示す図。
【図７】テキストＤＢ３２ａの内容を示す図。
【図８】ユーザＤＢ３２ｂの内容を示す図。
【図９】構文ＤＢ３２ｅの内容を示す図。
【図１０】テストスクリプトＤＢ３２ｆの内容を示す図。
【図１１】試験結果ＤＢ３２ｇの内容を示す図。
【図１２】外部要因ＤＢ３２ｈの内容を示す図。
【図１３】試験装置３０の動作を示す流れ図。
【発明を実施するための形態】
【００１１】
本発明の実施形態の一例について説明する。
＜１．全体の構成＞
図１は、通信システムの全体を示す図である。
移動通信網１は、例えば携帯電話機などの端末１０に移動体通信のサービスを提供する通信網である。移動通信網１は、端末１０と無線通信を行う基地局２、通話に関する回線交換やパケット通信のルーティングを行う交換局３、及び、いわゆる位置登録などを行うサービス制御局４などのノードを備える。移動通信網１は、関門交換局６を介して通信網７と接続される。通信網７は、例えば、インターネット（ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）を用いて相互接続されたコンピュータネットワーク）である。なお、移動通信網１が備える各ノードや端末１０の数は、図示した数に限定されない。
【００１２】
＜２．端末１０のハードウェア構成＞
端末１０は、不具合の診断対象となる電子機器の一例であり、前述のとおり例えば携帯電話機である。
図２は、端末１０のハードウェア構成を示す図である。端末１０は、制御部１１、記憶部１２、通信部１３、表示部１４、操作部１５、音声入出力部１６、ＩＣ（Integrated Circuit）カード端子１７及びケーブル端子１９を備える。
【００１３】
制御部１１は、ＣＰＵ（Central Processing Unit）１１ａなどの演算装置と、ＲＯＭ（Read Only Memory）１１ｂやＲＡＭ（Random Access Memory）１１ｃなどの記憶装置とを備える。記憶部１２は、ＥＥＰＲＯＭ（Electronically Erasable and Programmable ROM）やＳＲＡＭ（Static Random Access Memory）などの記憶装置を備える。記憶部１２には、ＯＳ（Operating System）やアプリケーションプログラム（以下、アプリケーションと略す。）が記憶されている。
【００１４】
通信部１３は、移動通信網１経由の通信を行うための通信インターフェースであり、信号処理回路やアンテナなどを備える。
表示部１４は、例えば、液晶や有機ＥＬ（Electro-Luminescence）素子などを用いた表示装置であり、平面状の表示面を有する。
操作部１５は、例えば、表示部１４の表示面を覆うように設けられたタッチパネルである。操作部１５は、操作面にユーザの指が触れている間、指の接触位置を表す情報を制御部１１に出力する。制御部１１は、この情報に基づいて操作の内容を判別し、その内容に従って端末１０を動作させる。
音声入出力部１６は、スピーカ、マイクロホン及び音声処理回路であり、移動通信網１経由で他の端末との間で通話を行う場合に、音声の入力と出力を行う。
【００１５】
ＩＣカード１８は、ＵＩＭ（User Identity Module）やＵＳＩＭ（Universal Subscriber Identity Module）などの呼称で呼ばれる、電力の供給がなくても記憶を保持するＩＣチップを樹脂製の板に埋め込んだ記憶媒体である。ＩＣカード１８には、端末１０を一意に識別するための端末識別情報や、移動通信網１を管理する通信事業者を一意に識別するための事業者識別情報などが記憶されている。ＩＣカード端子１７にＩＣカード１８を装着して電源を投入すると、制御部１１が通話やパケット通信を許可する。
ケーブル端子１９は、端末１０と他の装置とをケーブルで接続するための端子である。
【００１６】
＜３．投稿サーバ５０のハードウェア構成＞
投稿サーバ５０は、コンピュータネットワーク上の記憶装置の一例である。
図３は、投稿サーバ５０のハードウェア構成を示す図である。投稿サーバ５０は、通信網７に接続されたＷＷＷ（World Wide Web）サーバであり、制御部５１、記憶部５２、通信部５３、表示部５４及び操作部５５を有する。制御部５１は、ＣＰＵ５１ａなどの演算装置と、ＲＯＭ５１ｂやＲＡＭ５１ｃなどの記憶装置とを備える。記憶部５２は、例えば、ハードディスク記憶装置である。通信部５３は、通信網７経由の通信を行うための通信インターフェースである。表示部５４は、液晶などを用いた表示装置である。操作部５５は、キーボード、マウスなどの入力装置である。投稿サーバ５０は、通信網７内に複数存在していてもよい。
【００１７】
投稿サーバ５０は、コンピュータネットワーク上の投稿サイトを管理するサーバである。この投稿サイトは、携帯電話機などの電子機器を用いて不特定多数のユーザが情報を書き込むサイト（ＣＧＭ（Consumer Generated Media）とも称される）であり、具体的には、Twitter（登録商標）などのミニブログ、ブログ、口コミサイト、ナレッジコミュニティ、ソーシャルネットワーキングサービスなどのサービスを提供する。
【００１８】
本実施形態では、投稿サーバ５０が管理する投稿サイトがミニブログである場合について説明する。記憶部５２には、投稿ＤＢ（DataBase）５２ａが記憶されている。投稿ＤＢ５２ａには、ユーザが端末１０を用いて書き込んだテキストデータがユーザ情報と対応付けられて書き込まれる。ユーザ情報は、投稿サーバ５０によってユーザに割り当てられたアカウントを含む。
【００１９】
図４は、投稿ＤＢ５２ａの内容を示す図である。ユーザが端末１０を操作してテキストデータを編集して送信を指示すると、端末１０は、ユーザに割り当てられたアカウントをテキストデータに付加して投稿サーバ５０に送信する。通信部５３がテキストデータを受信すると、制御部５１は、この時点の日時である投稿日時と、受信したアカウントと、テキストデータとを対応付けて投稿ＤＢ５２ａに書き込む。
【００２０】
ミニブログへの投稿の内容はユーザの自由であるため、投稿サーバ５０に書き込まれるテキストデータの内容は特定の分野に限定されず、例えば端末１０で発生した事象に関するテキストデータも含まれることがある。図４では、図示を簡略化するため、端末１０で発生した事象に関するテキストデータのみを図示しているが、これ以外にも様々な内容のテキストデータが投稿ＤＢ５２ａには書き込まれる。本実施形態では、投稿ＤＢ５２ａに書き込まれている全ての内容のうち、後述する自然言語解析処理によって、端末１０で発生した事象に関するテキストデータを選別して処理対象とする。
【００２１】
＜４．試験装置３０のハードウェア構成＞
図５は、試験装置３０のハードウェア構成を示す図である。試験装置３０は、制御部３１、記憶部３２、第１通信部３３、表示部３４、操作部３５及び第２通信部３６を有する。
制御部３１は、ＣＰＵ３１ａなどの演算装置と、ＲＯＭ３１ｂやＲＡＭ３１ｃなどの記憶装置とを備える。
【００２２】
記憶部３２は、例えば、ハードディスク記憶装置であり、各種のデータベースが記憶されている。記憶部３２には、例えば、テキストＤＢ３２ａ、ユーザＤＢ３２ｂ、単語ＤＢ３２ｃ、アプリ名ＤＢ３２ｄ、構文ＤＢ３２ｅ、テストスクリプトＤＢ３２ｆ、試験結果ＤＢ３２ｇ、外部要因ＤＢ３２ｈが記憶されている。
第１通信部３３は、関門交換局６に接続される通信インターフェースである。表示部３４は、液晶などを用いた表示装置である。操作部３５は、キーボード、マウスなどの入力装置である。
なお、試験装置３０は、投稿サーバ５０と通信可能であればよく、関門交換局６を介さずに移動通信網１又は通信網７に接続されてもよい。
【００２３】
第２通信部３６は、試験用端末１０＿ｎ（ｎ＝１，２，・・・，Ｎ）との通信を行うための通信インターフェースである。試験用端末１０＿ｎは、試験用の電子機器の一例である。試験用端末１０＿ｎは、移動通信網１による通信サービスが提供される端末として通信事業者によって指定されたハードウェアであり、互いに異なる機種である。ユーザが使用する端末１０の機種は、試験用端末１０＿ｎのいずれかに該当する。第２通信部３６は、複数の端子３６＿ｎ（ｎ＝１，２，・・・，Ｎ）を備え、各端子３６＿ｎと各試験用端末１０＿ｎのケーブル端子１９とがケーブルで接続される。試験用端末１０＿ｎには、それぞれ複数種類のソフトウェア（ＯＳ及びアプリケーション）がインストールされている。各試験用端末１０＿ｎでどのソフトウェアを実行するかは、制御部３１から各試験用端末１０＿ｎに供給されるデータによって指定される。
【００２４】
＜５．試験装置３０の機能構成＞
図６は、試験装置３０の機能構成を示す図である。以下に示す各機能は、制御部３１が記憶部３２に記憶されたプログラムを実行することによって実現される。
【００２５】
最初に、取得手段３０１について説明する。取得手段３０１は、ハードウェアとソフトウェアが協働する端末１０で発生した事象について記述されたテキストデータを取得する。このテキストデータは、端末１０のユーザによって投稿サーバ５０に書き込まれたテキストデータである。テキストデータの取得は、定期的に行ってもよいし、試験装置３０を運用する事業者が必要と判断したタイミングで行ってもよいし、投稿サーバ５０に投稿が行われるたびにテキストデータが試験装置３０に転送されるようにしてもよい。投稿サーバ５０は、投稿ＤＢ５２ａにおいてテキストデータに対応付けられた投稿日時とアカウントとをテキストデータとともに試験装置３０に送信する。
【００２６】
図７は、テキストＤＢ３２ａの内容を示す図である。制御部３１は、取得したテキストデータに固有のテキストＩＤ（Identification）を生成し、このテキストＩＤと投稿日時とテキストデータとを対応付けてテキストＤＢ３２ａに書き込む。
図８は、ユーザＤＢ３２ｂの内容を示す図である。制御部３１は、取得したテキストデータに対応するアカウントと生成したテキストＩＤとを対応付けてユーザＤＢ３２ｂに書き込む。
【００２７】
次に、特定手段３０２について説明する。特定手段３０２は、取得手段３０１によって取得されたテキストデータを解析して、端末１０が備えるハードウェア又はソフトウェアと、端末１０で発生した事象とを特定する。具体的には、制御部３１は、公知の自然言語解析によってテキストデータの解析を行うことによってハードウェア又はソフトウェアと事象とを特定する。解析の手順は、主に、形態素解析、単語意味付与、構文生成に分けられる。
【００２８】
形態素解析は、テキストデータを形態素に分解し、各形態素の品詞を判別する処理である。記憶部３２には、図５に示したとおり、単語ＤＢ３２ｃとアプリ名ＤＢ３２ｄが記憶されている。単語ＤＢ３２ｃは、単語と、単語の品詞と、単語の意味とを対応付けた辞書である。アプリ名ＤＢ３２ｄは、端末１０にインストールされ得るアプリケーションプログラムの名称を記憶したＤＢである。制御部３１は、各形態素の品詞を単語ＤＢ３２ｃを参照して判別し、形態素の品詞が名詞である場合に、その形態素に該当するアプリ名をアプリ名ＤＢ３２ｄで検索し、該当するアプリ名が抽出されたならば、その形態素がアプリ名を示すものであると判断する。
【００２９】
単語意味付与は、形態素に該当する単語に複数の意味がある場合に、その意味を特定する処理である。単語意味付与は、例えば、特開２００９−１８１４０８号公報で開示された方法など、いかなる方法で行ってもよい。
【００３０】
構文生成は、形態素解析と単語意味付与の結果に基づいて、テキストデータを予め決められた規則に基づく構文に置き換える処理である。本実施形態における構文の規則は、次のとおりである。
（１）どのアプリケーションで、
（２）どのハードウェアで、
（３）いつ、
（４）どのような条件で、
（５）どのような操作で、
（６）どのような事象が発生した。
これらのすべての項目が常にテキストデータに含まれているとは限らないから、いずれかの項目がテキストデータに含まれていない場合には、制御部３１は、含まれていた項目だけで構文を生成する。
【００３１】
図９は、構文ＤＢ３２ｅの内容を示す図である。制御部３１は、構文を生成するたびに、生成した構文と構文ＤＢ３２ｅに記憶済みの構文とを比較し、生成した構文と同じ構文が構文ＤＢ３２ｅに記憶されていない場合には、生成した構文に固有の構文ＩＤを生成し、生成した構文と対応付けて構文ＤＢ３２ｅに書き込む。この場合、発生回数として１を書き込む。生成した構文と同じ構文が既に構文ＤＢ３２ｅに記憶されている場合には、構文ＩＤを生成せず、生成した構文と同じ構文の発生回数に１を加算する。マッチング結果については、後述する。
【００３２】
次に、実行手段３０３について説明する。実行手段３０３は、特定手段３０２によって特定されたハードウェア又はソフトウェアを備えた試験用端末１０＿ｎに対して、特定手段３０２によって特定された事象を再現するためのデータを供給して試験を実行する。
図１０は、テストスクリプトＤＢ３２ｆの内容を示す図である。テストスクリプトは、試験用端末１０＿ｎで事象を再現するためのデータであり、各テストスクリプトに固有のテストスクリプトＩＤが対応付けられている。例えば、テストスクリプトＩＤがts00001のテストスクリプトは、メール送信のエラーを再現するためのデータである。なお、このデータは、ユーザが行うメール送信の手順を、試験用端末１０＿ｎの操作部１５を操作することなく模擬するように構成されている。例えば、テストスクリプトのstep-2では、表示部１４に表示された「新規メール」なるボタンがタップされた場合に実行される処理と同じ処理を制御部１１に実行させるように構成されている。
【００３３】
制御部３１は、前述の自然言語処理によって生成した構文とテストスクリプトＤＢ３２ｆに記憶されているテストスクリプトとのマッチングを行って当該構文に合致するテストスクリプトを抽出し、このテストスクリプトを試験用端末１０＿ｎに供給する。生成した構文にハードウェアを特定する（２）の項目が含まれている場合には、制御部３１は、当該ハードウェアに該当する試験用端末にテストスクリプトを供給する。制御部３１は、当該構文のマッチング結果として「ＯＫ」を構文ＤＢ３２ｅに書き込む。
【００３４】
一方、生成した構文に合致するテストスクリプトが抽出されなかった場合には、当該構文のマッチング結果として「ＮＧ」を構文ＤＢ３２ｅに書き込む。この場合、制御部３１は、マッチングに失敗した旨を表すメッセージを表示部３４に表示し、この表示によってマッチングの失敗を知ったオペレータが当該構文に基づいてテストスクリプトを作成してテストスクリプトＤＢ３２ｆに書き込むようにしてもよい。あるいは、制御部３１が当該構文に基づいてテストスクリプトを自動的に生成するようにしてもよい。
【００３５】
次に、出力手段３０４と判定手段３０５について説明する。出力手段３０４は、実行手段３０３によって試験が実行された試験用端末１０＿ｎから当該試験の結果を取得して、当該結果に応じた情報を出力する。判定手段３０５は、事象毎の原因の所在を予め記憶しており、特定手段３０２によって特定された事象の原因の所在を当該記憶の内容に基づいて判定する。
【００３６】
図１１は、試験結果ＤＢ３２ｇの内容を示す図である。出力手段３０４としての制御部３１は、テストスクリプトによる試験を予め決められた回数だけ（例えば、１００回）実行し、試験結果を試験結果ＤＢ３２ｇに書き込む。試験結果ＤＢ３２ｇには、試験回数と、テストスクリプトＩＤと、エラー発生ステップと、ステータスと、外部要因判定結果とが対応付けられて書き込まれる。試験回数は、何回目の試験であるかを示す数字である。テストスクリプトＩＤは、試験で用いたテストスクリプトに対応付けられたテストスクリプトＩＤである。ステータスは、正常終了と異常終了のいずれかである。エラー発生ステップは、試験が異常終了した場合に、テストスクリプトのどのステップで試験が終了したかを示す。
【００３７】
外部要因判定結果は、試験の異常終了の原因が端末１０の外部と内部のどちらにあるかを示し、外部要因ＤＢ３２ｈを参照して判定される。
図１２は、外部要因ＤＢ３２ｈの内容を示す図である。例えば、ts00001のテストスクリプトを用いた試験においてstep-6で異常終了した場合、step-5のメール送信までは正常に実行されたにも関わらず、宛先の端末でメールが受信されていないことになるから、異常終了の原因が端末１０の内部にあるのではなく、例えば移動通信網１など、端末１０の外部における障害が異常終了の原因となった可能性がある。このように、外部要因ＤＢ３２ｈに書き込まれたステップは、当該ステップにおける異常終了の原因が外部要因である可能性があることを示すものである。判定手段３０５としての制御部３１は、各試験回数におけるエラー発生ステップが外部要因に該当するか否かを外部要因ＤＢ３２ｈを参照して判定し、外部要因に該当する場合には、試験結果ＤＢ３２ｇに外部要因判定結果としてyesを書き込み、外部要因に該当しない場合には、noを書き込む。
以上のようにして試験結果が試験結果ＤＢ３２ｇに書き込まれたならば、出力手段３０４としての制御部３１は、この試験結果に応じた情報を出力する。
【００３８】
＜６．試験装置３０の動作＞
図１３は、試験装置３０の動作を示す流れ図である。
ステップＳ０１では、取得手段３０１としての制御部３１が、テキストデータを取得する。具体的には、制御部３１が投稿サーバ５０に対して特定の期間に投稿されたテキストデータを要求すると、投稿サーバ５０の制御部５１は、要求された期間に対応するデータを投稿ＤＢ５２ａ（図４参照）から読み出して試験装置３０に送信する。制御部３１は、受信したデータをテキストＤＢ３２ａ（図７参照）とユーザＤＢ３２ｂ（図８参照）に書き込む。
【００３９】
ステップＳ０２では、特定手段３０２としての制御部３１が、取得したテキストデータを自然言語解析して構文を生成する。例えば、図７のtx00001の「ｓモードメールを使ってると突然送信ができなくなった。困る。」の場合、生成される構文は、「（１）ｓモードメールで、（５）送信すると、（６）送信エラーが発生する。」となる。ここで、tx00004からも同じ構文が生成されるので、この構文（構文ＩＤがc00001）の発生回数は、２となる（図９参照）。
【００４０】
ステップＳ０３では、実行手段３０３としての制御部３１が、生成した構文に合致するテストスクリプトを抽出し、このテストスクリプトを試験用端末１０＿ｎに供給して試験を実行する。例えば、c00001の構文の場合、図１０に示すts00001のテストスクリプトが抽出される。
【００４１】
ステップＳ０４では、判定手段３０５としての制御部３１が、事象の原因の所在を判定する。例えば、ts00001の場合、図１１に示す試験結果が得られる。制御部３１は、各試験におけるエラー発生ステップを外部要因ＤＢ３２ｈ（図１２参照）で検索し、当該エラー発生ステップが外部要因に該当するか否かを判定する。
【００４２】
ステップＳ０５では、出力手段３０４としての制御部３１が、試験結果に応じた情報を出力する。例えば、制御部３１は、当該テストスクリプトにおけるエラーの原因が外部要因である確率を求める。例えば、１００回の試験のうち、外部要因と判定した回数が８０回である場合、その確率は８０％となる。この確率が予め決められた閾値を越えた場合に、制御部３１は、例えば、「メール送信エラーは、ネットワークの障害によるものと考えられます。障害が復旧するまで、お待ちください。  株式会社ＡＡＡ」といったメッセージを生成し、投稿サーバ５０に送信する。そして、投稿サーバ５０にアクセスしたユーザの端末１０の表示部１４に、このメッセージが表示される。
【００４３】
本実施形態によれば、端末１０で発生した事象について記述されたテキストデータが解析され、当該事象を再現するためのテストスクリプトが抽出され、このテストスクリプトを用いた試験が実行される。従って、人間が作業を行うことなく、事象を再現するための試験を実行することができる。
また、本実施形態によれば、テストスクリプトを用いた試験を繰り返し実行するから、人間が試験を行う場合と比べて、試験を正確に繰り返すことができる。
また、本実施形態によれば、ユーザが投稿サイトに投稿したテキストデータに基づいて試験を実行するから、端末で発生した不具合などに対して迅速に対応することができる。
【００４４】
＜７．変形例＞
実施形態を以下のように変形してもよい。また、実施形態と変形例を組み合わせてもよいし、複数の変形例を組み合わせてもよい。
【００４５】
＜７．１  変形例１＞
実行手段３０３は、ハードウェア毎又はソフトウェア毎に予め決められた優先度に基づいて、試験の対象とするハードウェア又はソフトウェアを絞り込み、絞り込んだハードウェア又はソフトウェアを備えた試験用電子機器によって試験を実行するように構成されていてもよい。例えば、ソフトウェアの例を示すと、各ソフトウェアについて予め優先度を決めておき、ソフトウェアと優先度との対応を示すテーブルを記憶部３２に記憶させておく。取得したテキストデータから図９のように複数の構文が生成された場合、制御部３１は、各構文における（１）の項目に対応する優先度をテーブルから読み出して、優先度の最も高い構文に対応するテストスクリプトを用いて試験を実行する。あるいは、構文の優先度の高い順に、順次、試験を実行するようにしてもよい。
【００４６】
＜７．２  変形例２＞
実行手段３０３は、事象毎に予め決められた優先度に基づいて、試験で再現する事象を絞り込み、絞り込んだ事象を再現するための試験を実行するように構成されていてもよい。具体的には、各構文について予め優先度を決めておき、構文と優先度との対応を示すテーブルを記憶部３２に記憶させておく。取得したテキストデータから図９のように複数の構文が生成された場合、制御部３１は、各構文に対応する優先度をテーブルから読み出して、優先度の最も高い構文に対応するテストスクリプトを用いて試験を実行する。あるいは、構文の優先度の高い順に、順次、試験を実行するようにしてもよい。
【００４７】
＜７．３  変形例３＞
特定手段３０２は、テキストデータをコンピュータネットワーク上の記憶装置に書き込んだユーザ毎に予め決められた優先度に基づいて、解析するテキストデータを絞り込み、絞り込んだテキストデータを解析してハードウェア又はソフトウェアを特定するように構成されていてもよい。具体的には、過去に端末１０の不具合の解消に寄与する投稿を行ったユーザについて、その寄与の程度に応じた優先度を決めておき、ユーザのアカウントと優先度との対応を示すテーブルを記憶部３２に記憶させておく。取得したテキストデータから図９のように複数の構文が生成された場合、制御部３１は、各構文に対応するテキストデータを投稿したユーザのアカウントをユーザＤＢ３２ｂによって特定し、特定されたアカウントに対応する優先度をテーブルから読み出して、優先度の最も高い構文に対応するテストスクリプトを用いて試験を実行する。あるいは、構文の優先度の高い順に、順次、試験を実行するようにしてもよい。
【００４８】
＜７．４  変形例４＞
実行手段３０３は、ハードウェア毎又はソフトウェア毎の特定手段３０２による特定の回数に基づいて、試験の対象とするハードウェア又はソフトウェアを絞り込み、絞り込んだハードウェア又はソフトウェアを備えた試験用電子機器によって試験を実行するように構成されていてもよい。例えば、ソフトウェアの例を示すと、取得したテキストデータから図９のように複数の構文が生成された場合、制御部３１は、各構文の（１）の項目を参照し、ソフトウェア毎に発生回数を集計する。図９の例では、c00001の構文はソフトウェアがｓモードメールであるが、c00001以外にもソフトウェアがｓモードメールである構文が存在する場合には、これらの発生回数もｓモードメールの発生回数の集計に加える。制御部３１は、このようにして集計された発生回数が最も多いソフトウェアに対応する構文を特定し、特定された構文に対応するテストスクリプトを用いて試験を実行する。あるいは、発生回数の多い順に、順次、試験を実行するようにしてもよい。
【００４９】
＜７．５  変形例５＞
実行手段３０３は、事象毎の特定手段３０２による特定の回数に基づいて、試験で再現する事象を絞り込み、絞り込んだ事象を再現するための試験を実行するように構成されていてもよい。具体的には、取得したテキストデータから図９のように複数の構文が生成された場合、制御部３１は、発生回数が最も多い構文に対応するテストスクリプトを用いて試験を実行する。あるいは、発生回数の多い順に、順次、試験を実行するようにしてもよい。
【００５０】
＜７．６  変形例６＞
実行手段３０３は、過去に実行された事象毎の試験回数に対する再現回数の比に基づいて試験の回数を決め、当該回数だけ試験を繰り返すように構成されていてもよい。具体的には、制御部３１は、テストスクリプト毎に、事象が再現された回数を試験回数で除することによって再現率を求め、この再現率に基づいて試験の回数を決定する。例えば、再現率が閾値を超えたか否かによって試験回数を異ならせるようにしてもよいし、予め決められた関数に再現率を代入して試験回数を算出するようにしてもよい。
【００５１】
＜７．７  変形例７＞
実行手段３０３は、特定手段３０２によるハードウェア毎、ソフトウェア毎又は事象毎の特定の回数に基づいて試験の回数を決め、当該回数だけ試験を繰り返すように構成されていてもよい。例えば、ソフトウェアの例を示すと、取得したテキストデータから図９のように複数の構文が生成された場合、制御部３１は、各構文の（１）の項目を参照し、ソフトウェア毎に発生回数を集計する。図９の例では、c00001の構文はソフトウェアがｓモードメールであるが、c00001以外にもソフトウェアがｓモードメールである構文が存在する場合には、これらの発生回数もｓモードメールの発生回数の集計に加える。制御部３１は、このようにして集計された発生回数に基づいてソフトウェア毎の試験の回数を決定する。例えば、発生回数が閾値を越えたか否かによって試験回数を異ならせるようにしてもよいし、予め決められた関数に発生回数を代入して試験回数を算出するようにしてもよい。
また、実行手段３０３は、予め事象毎に決められた回数だけ試験を繰り返すように構成されていてもよい。
【００５２】
＜７．８  変形例８＞
試験装置３０は、テキストデータを形態素解析して得られた形態素に該当する単語が単語ＤＢ３２ｃに記憶されていない場合に、この形態素に該当する単語の品詞と意味を外部のデータベースを用いて特定するように構成されていてもよい。例えば、インターネット上で公開されているWikipedia（登録商標）などの辞書で該当する単語を検索するようにしてもよい。また、検索によって抽出された単語の品詞と意味を単語ＤＢ３２ｃに書き込むようにしてもよい。
【００５３】
＜７．９  変形例９＞
実施形態及び変形例では、本発明を適用した試験装置について例示したが、本発明は、方法の発明としても特定され得る。すなわち、本発明は、ハードウェアとソフトウェアが協働する電子機器で発生した事象について記述されたテキストデータを取得する取得過程と、前記取得過程において取得されたテキストデータを解析して、前記ハードウェア又は前記ソフトウェアと、前記事象とを特定する特定過程と、前記特定過程において特定されたハードウェア又はソフトウェアを備えた試験用電子機器に対して、前記特定過程において特定された事象を再現するためのデータを供給して試験を実行する実行過程と、前記実行過程において試験が実行された試験用電子機器から当該試験の結果を取得して、当該結果に応じた情報を出力する出力過程とを備えた試験方法を提供する。
【００５４】
＜７．１０  変形例１０＞
実施形態では電子機器の制御部がプログラムを実行することによって上記の機能を実現する例を示したが、実施形態と同様の機能をハードウェアで実装するようにしてもよい。また、このプログラムを、光記録媒体、半導体メモリ等、コンピュータで読み取り可能な記録媒体に記録して提供し、この記録媒体からプログラムを読み取って位置判定装置の記憶部に記憶させるようにしてもよい。また、このプログラムを電気通信回線経由で提供してもよい。
【００５５】
＜７．１１  変形例１１＞
端末１０が無線ＬＡＮ（Local Area Network）などの他の通信網によって通信網７に接続されるように構成されていたり、端末１０が他の通信網を介さずに通信網７に接続されるように構成されていてもよい。
端末１０及び試験用端末１０＿ｎは、ＰＣ（Personal Computer）、タブレットＰＣ、インターネットに接続されるテレビジョン受像機やゲーム機など、移動通信網１又は通信網７を通じてデータ通信を行う電子機器であれば、いかなるものでもよい。
投稿サーバ５０は、移動通信網１を管理する通信事業者や端末１０の製造者などが運営するホームページに設けられた問い合わせ用のフォームに書き込まれた情報を蓄積するデータベースを管理するサーバでもよいし、電話や電子メールで寄せられた問い合わせの内容をオペレータが記録するデータベースを管理するサーバでもよい。
【符号の説明】
【００５６】
１…移動通信網、２…基地局、３…交換局、４…サービス制御局、６…関門交換局、７…通信網、１０…端末、１１…制御部、１２…記憶部、１３…通信部、１４…表示部、１５…操作部、１６…音声入出力部、１７…ＩＣカード端子、１８…ＩＣカード、１９…ケーブル端子、３０…試験装置、３１…制御部、３２…記憶部、３２ａ…テキストＤＢ、３２ｂ…ユーザＤＢ、３２ｃ…単語ＤＢ、３２ｄ…アプリ名ＤＢ、３２ｅ…構文ＤＢ、３２ｆ…テストスクリプトＤＢ、３２ｇ…試験結果ＤＢ、３２ｈ…外部要因ＤＢ、３３…第１通信部、３４…表示部、３５…操作部、３６…第２通信部、３０１…取得手段、３０２…特定手段、３０３…実行手段、３０４…出力手段、３０５…判定手段、５０…投稿サーバ、５１…制御部、５２…記憶部、５２ａ…投稿ＤＢ、５３…通信部、５４…表示部、５５…操作部
【図１】
2014142872.tif 000003
【図２】
2014142872.tif 000004
【図３】
2014142872.tif 000005
【図４】
2014142872.tif 000006
【図５】
2014142872.tif 000007
【図６】
2014142872.tif 000008
【図７】
2014142872.tif 000009
【図８】
2014142872.tif 000010
【図９】
2014142872.tif 000011
【図１０】
2014142872.tif 000012
【図１１】
2014142872.tif 000013
【図１２】
2014142872.tif 000014
【図１３】
2014142872.tif 000015