(57)【要約】      （修正有）【課題】端末用のアプリケーションの開発効率を向上させることのできる情報処理装置、情報処理システム、及び情報処理方法を提供する。【解決手段】情報処理装置は、端末のアプリケーションによる通信の状態の履歴情報であって、アプリケーションにおいてエラーが発生した際の通信の状態にエラーを示す情報が付与された履歴情報を取得する取得部と、取得部により取得された履歴情報に基づき、エラーが発生した際の通信の状態を、端末との通信に際して再現する再現部と、を有する。【選択図】図４
2018163595.tif 000002
【特許請求の範囲】
【請求項１】
端末のアプリケーションによる通信の状態の履歴情報であって、前記アプリケーションにおいてエラーが発生した際の前記通信の状態に前記エラーを示す情報が付与された履歴情報を取得する取得部と、
前記取得部により取得された履歴情報に基づき、前記エラーが発生した際の前記通信の状態を、前記端末との通信に際して再現する再現部と、
を有する情報処理装置。
【請求項２】
前記再現部は、前記取得部により取得された履歴情報に基づき、前記エラーが発生した際の前記通信の状態の変化を再現する、
請求項１に記載の情報処理装置。
【請求項３】
前記通信の状態は、前記端末において受信された無線の電波強度を含み、
前記再現部は、前記エラーが発生した際の、前記端末において受信された電波強度に基づいて、前記端末に電波を送信する無線通信装置における送信電波強度を設定する、
請求項１または２に記載の情報処理装置。
【請求項４】
前記通信の状態は、前記端末からの要求に対する応答時間を含み、
前記再現部は、前記エラーが発生した際の、前記端末からの要求に対する応答時間を再現する、
請求項１乃至３のいずれか一項に記載の情報処理装置。
【請求項５】
端末と、情報処理装置とを有する情報処理システムであって、
前記端末は、
前記端末のアプリケーションによる通信の状態の履歴情報であって、前記アプリケーションにおいてエラーが発生した際の前記通信の状態に前記エラーを示す情報が付与された履歴情報を記憶する記憶部と、
前記記憶部に記憶されている前記履歴情報を、前記情報処理装置に送信する送信部と、
を有し、
前記情報処理装置は、
前記履歴情報を取得する取得部と、
前記取得部により取得された履歴情報に基づき、前記エラーが発生した際の前記通信の状態を、前記端末との通信に際して再現する再現部と、
を有する、情報処理システム。
【請求項６】
情報処理装置が、
端末のアプリケーションによる通信の状態の履歴情報であって、前記アプリケーションにおいてエラーが発生した際の前記通信の状態に前記エラーを示す情報が付与された履歴情報を取得する処理と、
前記取得する処理により取得された履歴情報に基づき、前記エラーが発生した際の前記通信の状態を、前記端末との通信に際して再現する、
処理を実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム、及び情報処理方法に関する。
【背景技術】
【０００２】
近年、スマートフォン等の情報端末において、ＢＬＥ（Bluetooth（登録商標）  Low  Energy）や無線ＬＡＮ（Local  Area  Network）等の無線通信を用いて、クラウド等のサービスを利用する技術が普及している。
【０００３】
従来、このような無線通信を用いたサービスを利用する情報端末の開発を行う場合、実運用環境のネットワークにおける遅延をエミュレートして試験を行う技術が知られている（例えば、特許文献１を参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１７５９１５号公報
【特許文献２】特開２００２−１３８８６８号公報
【特許文献３】特開２００５−３０３６５８号公報
【特許文献４】特開２００９−２７２８００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、実運用環境において発生した、情報端末のアプリケーションにエラーの原因を解析する場合、実運用環境と試験環境とで通信環境が異なるため、例えば、試験環境において当該エラーが再現しない場合等がある。そのため、情報端末用のアプリケーションの開発効率が悪いという問題がある。
【０００６】
そこで、一側面では、端末用のアプリケーションの開発効率を向上させることができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの案では、情報処理装置は、端末のアプリケーションによる通信の状態の履歴情報であって、前記アプリケーションにおいてエラーが発生した際の前記通信の状態に前記エラーを示す情報が付与された履歴情報を取得する取得部と、前記取得部により取得された履歴情報に基づき、前記エラーが発生した際の前記通信の状態を、前記端末との通信に際して再現する再現部と、を有する。
【発明の効果】
【０００８】
一側面によれば、端末用のアプリケーションの開発効率を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係る情報処理システムの構成例を示す図である。
【図２】実施形態に係る情報処理装置のハードウェア構成例を示す図である。
【図３】実施形態に係る情報処理装置の機能ブロック図の一例を示す図である。
【図４】実施形態に係る情報処理装置の処理の一例を示すフローチャートである。
【図５】ログ記憶部に記憶されるデータの一例を示す図である。
【図６】試験用のシナリオの一例について説明する図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施形態を説明する。図１は、実施形態に係る情報処理システム１の構成例を示す図である。図１において、情報処理システム１は、情報処理装置１０、無線通信装置２０、及び端末３０を有する。
【００１１】
情報処理装置１０と無線通信装置２０は、例えば、ＵＳＢ（Universal  Serial  Bus）ケーブルやＬＡＮ（Local  Area  Network）等によって通信可能なように接続される。また、無線通信装置２０内に情報処理装置１０を内包してもよい。加えて、無線通信装置２０は複数あってもよい。
【００１２】
無線通信装置２０と端末３０は、例えば、ＢＬＥや無線ＬＡＮ等によって通信可能なように接続される。
【００１３】
情報処理装置１０と端末３０は、無線通信装置２０、無線ＬＡＮまたは携帯電話網等を介して、通信を行う。
【００１４】
情報処理装置１０は、例えば、サーバ用のＰＣ（Personal  Computer）である。情報処理装置１０は、実運用環境において端末３０に記録されたログ（履歴情報）を取得し、当該ログに基づいて、実運用環境において端末３０にエラーが発生した際の通信環境を、試験用の環境において再現する。
【００１５】
無線通信装置２０は、ＢＬＥのビーコンや無線ＬＡＮのアクセスポイント等である。無線通信装置２０は、情報処理装置１０からの指示に従い、端末３０に送信する無線の電波の強度を変更する。
【００１６】
端末３０は、例えば、スマートフォン、タブレット端末、ノートＰＣ等である。
【００１７】
端末３０には、所定のアプリケーションがインストールされており、当該所定のアプリケーションは、無線通信装置２０との通信に従って、所定のサービスにアクセスする。当該所定のアプリケーションは、例えば、店舗等の実運用環境において、当該店舗に設置されたＢＬＥのビーコンからの電波や、無線ＬＡＮのＡＰからの電波を受信した場合、自動で、またはユーザからの所定の操作に応じて、クラウド上のサーバのＵＲＬ（Uniform  Resource  Locator）にアクセスする。
【００１８】
また、当該所定のアプリケーションは、実運用環境におけるサービスの応答時間や受信電波強度等の通信環境と、端末３０の処理をログに記憶する。
【００１９】
＜ハードウェア構成＞
図２は、実施形態に係る情報処理装置１０のハードウェア構成例を示す図である。図２の情報処理装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、インタフェース装置１０５、表示装置１０６、及び入力装置１０７等を有する。  
情報処理装置１０での処理を実現する情報処理プログラムは、記録媒体１０１によって提供される。情報処理プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、情報処理プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、情報処理プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされた情報処理プログラムを格納すると共に、必要なファイルやデータ等を格納する。  
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って情報処理装置１０に係る機能を実現する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。表示装置１０６はプログラムによるＧＵＩ（Graphical  User  Interface）等を表示する。入力装置１０７はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
【００２０】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard  Disk  Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００２１】
＜機能構成＞
次に、図３を参照し、情報処理装置１０及び端末３０の機能構成について説明する。図３は、実施形態に係る情報処理装置１０及び端末３０の機能ブロック図の一例を示す図である。
【００２２】
≪情報処理装置１０≫
情報処理装置１０は、取得部１２、検出部１３、再現部１４、試験制御部１５、及びサービス実行部１６を有する。これら各部は、情報処理装置１０にインストールされた１以上のプログラムが、情報処理装置１０のＣＰＵ１０４に実行させる処理により実現される。
【００２３】
取得部１２は、端末３０のアプリケーションにおける、無線の電波強度、またはサービス応答時間等の通信の状態（通信環境の状態）を示すログと、当該アプリケーションにエラーが発生したことを示すログとを取得する。
【００２４】
ここで、エラーとは、いわゆるシステム的なエラーに限らず、テストの仕様や要件を満たさない場合も含む。例えば、サービスからの応答時間が５秒以内である、ＨＴＴＰの応答のステータスが２００である、サービス応答に対してアプリケーションＵＩボタンの自動押下処理が２秒以内に完了する、等のテストの仕様を満たさない場合も、エラーが発生したと判定される。
【００２５】
検出部１３は、取得部１２により取得されたログから、前記アプリケーションにおいてエラーが発生した日時等を検出する。
【００２６】
再現部１４は、検出部１３により検出されたエラーが発生した際（エラーが記録された際）の通信の状態のログに基づき、当該エラーが発生した際の、無線の電波強度、またはサービス応答時間等の通信の状態を再現する。
【００２７】
試験制御部１５は、検出部１３により検出されたエラーに応じて、端末３０のアプリケーションをテストするためのテストシナリオを生成する。そして、試験制御部１５は、生成したテストシナリオを端末３０に実行させ、実行結果を試験結果記憶部１１２に記憶させる。
【００２８】
サービス実行部１６は、端末３０からのリクエストに応じて、実運用環境のサーバと同様の処理を行い、当該リクエストに対するレスポンスを端末３０に送信する。なお、サービス実行部１６は、実運用環境と同様に、複数のサービス用のプロセスを連携させて、端末３０からのリクエストを処理させてもよい。
【００２９】
また、情報処理装置１０は、ログ記憶部１１１及び試験結果記憶部１１２を有する。これらの記憶部は、例えば、補助記憶装置１０２等を用いて実現される。ログ記憶部１１１に記憶されるデータについては後述する。
【００３０】
≪端末３０≫
端末３０は、記憶部３１を有する。記憶部３１は、例えば、補助記憶装置等を用いて実現される。
【００３１】
記憶部３１は、端末３０のアプリケーションにおける通信の状態を示すログを記憶する。
【００３２】
また、端末３０は、送信部３２、及び制御部３３を有する。これら各部は、端末３０にインストールされた１以上のプログラムが、端末３０のＣＰＵに実行させる処理により実現される。
【００３３】
送信部３２は、記憶部３１に記憶されているログや、無線通信装置２０から受信した電波強度のデータを、情報処理装置１０に送信する。
【００３４】
制御部３３は、情報処理装置１０の試験制御部１５から指示されたテストシナリオに応じた処理等を実行する。
【００３５】
＜処理＞
次に、図４を参照して、情報処理装置１０の処理について説明する。図４は、実施形態に係る情報処理装置１０の処理の一例を示すフローチャートである。
【００３６】
ステップＳ１０１において、取得部１２は、端末３０から実運用環境におけるログを取得し、ログ記憶部１１１に記憶する。
【００３７】
図５は、ログ記憶部１１１に記憶されるデータの一例を示す図である。ログ記憶部１１１には、日時に対応付けて、無線ＩＤと受信電波強度、通信メッセージ、またはアプリケーションメッセージが記憶される。
【００３８】
無線ＩＤは、例えば、無線ＬＡＮのＳＳＩＤ（Service  Set  Identifier）や、ＢＬＥのビーコンのＵＵＩＤ（Universally  Unique  Identifier）である。受信電波強度は、端末３０において受信された無線ＬＡＮやＢＬＥの電波強度である。通信メッセージは、端末３０の所定のアプリケーションが送受信した通信メッセージである。アプリケーションメッセージは、端末３０の所定のアプリケーションが出力する、デバッグ用のメッセージである。
【００３９】
続いて、検出部１３は、ログ記憶部１１１に記憶されたログに基づいて、端末３０のアプリケーションにおけるエラーを検出する（ステップＳ１０２）。ここで、例えば、ログ記憶部１１１に記憶されているアプリケーションメッセージにおいて、「エラー」等の所定の文字列が含まれるデータが検出される。
【００４０】
続いて、再現部１４は、当該エラーが発生した際のログに基づいて、当該エラーが発生した際の無線通信環境を、無線通信装置２０に再現させる（ステップＳ１０３）。
【００４１】
ここで、再現部１４は、まず、無線通信装置２０における送信電波強度と、端末３０における受信電波強度のキャリブレーションを行う。例えば、各送信電波強度を無線通信装置２０に設定し、各送信電波強度における、端末３０での受信電波強度を端末３０から取得して記憶する。
【００４２】
そして、当該エラーが発生した際の無線ＩＤや、当該エラーが発生した際の受信電波強度に応じた送信電波強度を、無線通信装置２０に設定する。これにより、無線通信装置２０は、設定された無線ＩＤ及び送信電波強度で、無線通信の電波を送信する。
【００４３】
さらに、再現部１４は、端末３０から、現在受信している無線ＩＤと受信電波強度のデータを取得部１２により取得し、当該取得したデータに基づいて、現在の受信電波強度が、当該エラーが発生した際の受信電波強度とほぼ一致するように、無線通信装置２０の送信電波強度を調整してもよい。
【００４４】
続いて、再現部１４は、当該エラーが発生した際のログに基づいて、当該エラーが発生した際のネットワーク通信環境を再現する（ステップＳ１０４）。ここで、再現部１４は、当該エラーが発生した際の、リクエストが送信されてから、当該リクエストに対するレスポンスを受信するまでの時間（サービス応答時間）を、ネットワークエミュレータの遅延時間に設定する。ここで、ネットワークエミュレータは、例えば、情報処理装置１０上で動作するプログラムであり、端末３０から受信したパケットを情報処理装置１０のＯＳ（Operating  System）に渡す際、または端末３０にパケットを送信する際、設定された遅延時間だけ待機する機能を有する。
【００４５】
続いて、試験制御部１５は、当該エラーに応じた試験用のシナリオを生成し、当該シナリオを端末３０に所定回数実行させる（ステップＳ１０５）。ここで、当該シナリオは、例えば、ＢＢＤ（Behavior  Driven  Development）テストの書式に従って生成されてもよい。なお、ＢＢＤテストとは、実際のアプリケーションの動作として期待される振る舞いや、要求仕様に近い形で記述されたテストコードである。
【００４６】
図６は、試験用のシナリオの一例について説明する図である。図６の例では、端末３０において、５０１のテストコードにより、テスト開始時に、無線ＬＡＮの電源がＯＮにされ、５０３のテストコードにより、受信電波強度が５秒以上−３５ｄＢｍ以上であるか否かがテストされる。そして、５０４のテストコードにより、サーバからの応答（レスポンス）が５秒以内で、当該レスポンスに含まれるｈｔｔｐステータスコードが２００であるか否かがテストされ、５０２のテストコードにより、テスト終了時に、無線ＬＡＮの電源がＯＦＦにされる。
【００４７】
続いて、取得部１２は、試験用のシナリオの実行結果を端末３０から取得する（ステップＳ１０６）。
【００４８】
続いて、試験制御部１５は、試験用のシナリオの実行結果において、エラーが再現された頻度が所定値以下であるか否かを判定する（ステップＳ１０７）。
【００４９】
エラーが再現された頻度が所定値以下でない場合（ステップＳ１０７でＮＯ）、処理を終了する。
【００５０】
エラーが再現された頻度が所定値以下である場合（ステップＳ１０７でＹＥＳ）、試験制御部１５は、試験用のシナリオを、所定回数端末３０に実行させる（ステップＳ１０８）。ここで、試験制御部１５は、エラーが再現された頻度に応じて、試験用のシナリオを実行させる回数を決定してもよい。これにより、エラーの原因の解析に必要な回数分、エラーを再現させることができる。
【００５１】
続いて、取得部１２は、端末３０から、試験用のシナリオの実行結果を取得する（ステップＳ１０９）。
【００５２】
続いて、試験制御部１５は、試験用のシナリオの実行結果において、エラーが再現された頻度が所定値以下であるか否かを判定する（ステップＳ１１０）。
【００５３】
エラーが再現された頻度が所定値以下でない場合（ステップＳ１１０でＮＯ）、処理を終了する。
【００５４】
エラーが再現された頻度が所定値以下である場合（ステップＳ１１０でＹＥＳ）、再現部１４は、実運用環境におけるエラーが発生した際のログに基づいて、受信電波強度及びサービス応答時間の最大、最小、及び頻度分布等に基づき、受信電波強度及びサービス応答時間の揺らぎ（変化）をそれぞれ算出する（ステップＳ１１１）。ここで、再現部１４は、例えば、実運用環境におけるエラーが発生した前後の所定期間におけるログに基づいて、揺らぎを算出する。
【００５５】
続いて、再現部１４は、算出した受信電波強度の揺らぎに基づいて、実運用環境におけるエラーが発生した際の無線通信環境を、無線通信装置２０に再現させる（ステップＳ１１２）。ここで、再現部１４は、算出した受信電波強度の揺らぎに基づいて、無線通信装置２０の送信電波強度を変化させる。
【００５６】
続いて、再現部１４は、算出したサービス応答時間の揺らぎに基づいて、実運用環境におけるエラーが発生した際のネットワーク通信環境を再現する（ステップＳ１１３）。ここで、再現部１４は、算出したサービス応答時間の揺らぎを、ネットワークエミュレータの遅延時間の揺らぎに設定する。
【００５７】
続いて、試験制御部１５は、試験用のシナリオを所定回数端末３０に実行させる（ステップＳ１１４）。
【００５８】
続いて、取得部１２は、試験用のシナリオの実行結果を端末３０から取得し（ステップＳ１１５）、処理を終了する。
【００５９】
＜まとめ＞
上述したように、本実施形態によれば、端末のアプリケーションによる通信の状態と、当該アプリケーションにおけるエラーとを示す履歴情報に基づき、当該エラーが発生した際の通信の状態を再現する。
【００６０】
これにより、端末用のアプリケーションの開発効率を向上させることができる。
【００６１】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００６２】
情報処理装置１０の各機能部は、例えば１以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよい。
【００６３】
以上の説明に関し、更に以下の項を開示する。
（付記１）
端末のアプリケーションによる通信の状態の履歴情報であって、前記アプリケーションにおいてエラーが発生した際の前記通信の状態に前記エラーを示す情報が付与された履歴情報を取得する取得部と、
前記取得部により取得された履歴情報に基づき、前記エラーが発生した際の前記通信の状態を、前記端末との通信に際して再現する再現部と、
を有する情報処理装置。
（付記２）
前記再現部は、前記取得部により取得された履歴情報に基づき、前記エラーが発生した際の前記通信の状態の変化を再現する、
付記１に記載の情報処理装置。
（付記３）
前記通信の状態は、前記端末において受信された無線の電波強度を含み、
前記再現部は、前記エラーが発生した際の、前記端末において受信された電波強度に基づいて、前記端末に電波を送信する無線通信装置における送信電波強度を設定する、
付記１または２に記載の情報処理装置。
（付記４）
前記通信の状態は、前記端末からの要求に対する応答時間を含み、
前記再現部は、前記エラーが発生した際の、前記端末からの要求に対する応答時間を再現する、
付記１乃至３のいずれか一項に記載の情報処理装置。
（付記５）
端末と、情報処理装置とを有する情報処理システムであって、
前記端末は、
前記端末のアプリケーションによる通信の状態の履歴情報であって、前記アプリケーションにおいてエラーが発生した際の前記通信の状態に前記エラーを示す情報が付与された履歴情報を記憶する記憶部と、
前記記憶部に記憶されている前記履歴情報を、前記情報処理装置に送信する送信部と、
を有し、
前記情報処理装置は、
前記履歴情報を取得する取得部と、
前記取得部により取得された履歴情報に基づき、前記エラーが発生した際の前記通信の状態を、前記端末との通信に際して再現する再現部と、
を有する、情報処理システム。
（付記６）
情報処理装置が、
端末のアプリケーションによる通信の状態の履歴情報であって、前記アプリケーションにおいてエラーが発生した際の前記通信の状態に前記エラーを示す情報が付与された履歴情報を取得する処理と、
前記取得する処理により取得された履歴情報に基づき、前記エラーが発生した際の前記通信の状態を、前記端末との通信に際して再現する処理と、
を実行する情報処理方法。
【符号の説明】
【００６４】
１  情報処理システム
１０  情報処理装置
１１１  ログ記憶部
１１２  試験結果記憶部
１２  取得部
１３  検出部
１４  再現部
１５  試験制御部
１６  サービス実行部
２０  無線通信装置
３０  端末
３１  記憶部
３２  送信部
３３  制御部
【図１】
2018163595.tif 000003
【図２】
2018163595.tif 000004
【図３】
2018163595.tif 000005
【図４】
2018163595.tif 000006
【図５】
2018163595.tif 000007
【図６】
2018163595.tif 000008