(57)【要約】【課題】アプリ性能モニタリング装置及び方法を開示する。【解決手段】アプリ性能モニタリング装置は、アプリテストのための端末と通信する通信部、及びアプリテスト中の端末からテスト関連情報を受信し、受信された情報を予め設定された駆動条件でフィルタリングしてアプリの駆動状況を提供する制御部を含み、制御部は、アプリの実行による活動内訳を示す実行状態、端末のオペレーティングシステムバージョン、端末の端末種類、及び端末の接続地域についての情報の少なくとも一つの条件をフィルタリングのための駆動条件として設定する。【選択図】図２
2019185711.tif 000002
【特許請求の範囲】
【請求項１】
アプリテストのための端末と通信する通信部；及び
アプリテスト中の端末からテスト関連情報を受信し、前記受信された情報を予め設定された駆動条件でフィルタリングしてアプリの駆動状況を提供する制御部を含み、
前記制御部は、
前記アプリの実行による活動内訳を示す実行状態、前記端末のオペレーティングシステムバージョン、前記端末の端末種類、及び前記端末の接続地域についての情報の少なくとも一つの条件を前記フィルタリングのための前記駆動条件として設定する、アプリ性能モニタリング装置。
【請求項２】
前記制御部は、
前記フィルタリングのために少なくとも二つ以上の条件を組み合わせて前記駆動条件を設定する、請求項１に記載のアプリ性能モニタリング装置。
【請求項３】
前記制御部は、
前記少なくとも二つ以上の駆動条件に対する組合せをアンド演算で実行する、請求項２に記載のアプリ性能モニタリング装置。
【請求項４】
前記制御部は、
前記駆動条件に対して駆動状況の数値別頻度数と危険度を提供する、請求項１に記載のアプリ性能モニタリング装置。
【請求項５】
前記制御部は、
前記駆動状況は詳細項目についての情報を含み、
前記詳細項目は、アプリの使用流れ、使用者インターフェース（ＵＩ）レンダリング時間、中央処理装置使用量、メモリ使用量、ネットワーク応答時間、及びクラッシュの少なくとも一つを含む、請求項１に記載のアプリ性能モニタリング装置。
【請求項６】
前記制御部は、
前記詳細項目を前記アプリをテストしている日付を基準に整列する、請求項５に記載のアプリ性能モニタリング装置。
【請求項７】
アプリ性能モニタリング装置によって行うアプリ性能モニタリング方法であって、
アプリテストのための端末の情報を確認する段階；
前記アプリテストのための駆動条件を設定する段階；及び
前記端末からテスト関連情報を受信し、前記受信された情報を前記駆動条件でフィルタリングしてアプリの駆動状況を提供する段階を含み、
前記駆動条件を設定する段階は、
前記アプリの実行による活動内訳を示す実行状態、前記端末のオペレーティングシステムバージョン、前記端末の端末種類、及び前記端末の接続地域についての情報の少なくとも一つの条件を前記フィルタリングのための前記駆動条件として設定する段階を含む、アプリ性能モニタリング方法。
【請求項８】
前記少なくとも一つの条件を前記駆動条件として設定する段階は、
二つ以上の駆動条件に対する組合時にアンド演算で実行する段階を含む、請求項７に記載のアプリ性能モニタリング方法。
【請求項９】
前記アプリの駆動状況を提供する段階は、
前記駆動状況に対応する詳細項目であるアプリの使用流れ、使用者インターフェース（ＵＩ）レンダリング時間、中央処理装置使用量、メモリ使用量、ネットワーク応答時間、及びクラッシュの少なくとも一つを提供する段階を含む、請求項７に記載のアプリ性能モニタリング方法。
【請求項１０】
前記アプリの駆動状況を提供する段階は、
前記駆動状況に対応する詳細項目の少なくとも一部が選択される段階；及び
前記選択された詳細項目についての情報を提供する段階をさらに含む、請求項９に記載のアプリ性能モニタリング方法。
【請求項１１】
前記アプリテストのための前記駆動条件と前記駆動状況についての情報をマッチさせて保存する段階をさらに含む、請求項１０に記載のアプリ性能モニタリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示する実施例はアプリ性能モニタリング装置及び方法に関するもので、より詳しくはアプリのクラッシュのような致命的な問題が発生する前にアプリの駆動状況を確認することができるアプリ性能モニタリング装置及び方法に関するものである。
【背景技術】
【０００２】
近年、ＩＴ技術が急激に発展して、単一電子端末内に多様な種類のハードウェアモジュールが搭載されている。特に、デジタル基盤の多くの製品又はサービスが融合して新しいサービス又は製品が誕生するデジタルコンバージェンス現象が加速化するにつれてこれらの各電子端末を運用することができるオペレーティングシステムも多様に市販されている。
【０００３】
このような状況で、ソフトウェア開発者はこれらの電子端末に含まれたハードウェアリソースを活用するための数多いアプリケーションプログラムを開発することができる自由度が高くなるとともに多様なハードウェア及びプラットホームで無理なく実行されるアプリケーションプログラムを開発してテストしなければならない負担を担うことになった。
【０００４】
これに関連し、先行技術文献である大韓民国公開特許第１０−２０１４−００５２２００号を参照すると、テスト端末でのアプリケーションの実行時にクラッシュが発生した場合、クラッシュ発生までの動作シナリオとクラッシュ内容を含むクラッシュ発生情報を検証管理装置に伝送するアプリケーション検証のためのシステムを開示している。このように、先行技術文献のようにアプリケーションをテストするシステムではクラッシュが発生するときにのみクラッシュ関連情報を確認することができるから、クラッシュが発生する前に使用状態についての情報を確認してアプリケーションの実行による欠陥を確認することができない問題点があった。
【０００５】
一方、アプリケーションを市販する前にアプリケーションをテストするためには、アプリケーションを駆動する全ての使用者端末を購買してテストするとか、テストに多い時間がかかるから、アプリケーションの市販前にアプリケーションのテストを行うしかない限界がある。よって、アプリケーションを市販した状態でアプリケーションをテストすることになるが、クラッシュが発生する前のアプリケーションの欠陷は使用者に不便をかけて使用者が離脱することになる問題点があった
【０００６】
したがって、上述した問題点を解決するための技術が必要になった。
【０００７】
一方、前述した背景技術は発明者が本発明の導出のために保有していたとか、本発明の導出過程で習得した技術情報であり、必ずしも本発明の出願前に一般公衆に公開された公知技術であるとは言えない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】韓国公開特許第１０−２０１４−００５２２００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本明細書で開示する実施例は、クラッシュの発生前にアプリの駆動状況を確認して欠陷を確認することができるアプリ性能モニタリング装置及び方法を提示することに目的がある。
【００１０】
本明細書で開示する実施例は、クラッシュの発生前の欠陷による使用者の離脱を防止することができるアプリ性能モニタリング装置及び方法を提示することに目的がある。
【課題を解決するための手段】
【００１１】
上述した技術的課題を達成するための技術的手段として、一実施例によるアプリ性能モニタリング装置は、アプリテストのための端末と通信する通信部、及びアプリテスト中の端末からテスト関連情報を受信し、前記受信された情報を予め設定された駆動条件でフィルタリングしてアプリの駆動状況を提供する制御部を含み、前記制御部は、前記アプリの実行による活動内訳を示す実行状態、前記端末のオペレーティングシステムバージョン、前記端末の端末種類、及び前記端末の接続地域についての情報の少なくとも一つの条件を前記フィルタリングのための前記駆動条件として設定する。
【００１２】
他の実施例によるアプリ性能モニタリング装置によって行うアプリ性能モニタリング方法は、アプリテストのための端末の情報を確認する段階、前記アプリテストのための駆動条件を設定する段階、及び前記端末からテスト関連情報を受信し、前記受信された情報を前記駆動条件でフィルタリングしてアプリの駆動状況を提供する段階を含み、前記駆動条件を設定する段階は、前記アプリの実行による活動内訳を示す実行状態、前記端末のオペレーティングシステムバージョン、前記端末の端末種類、及び前記端末の接続地域についての情報の少なくとも一つの条件を前記フィルタリングのための前記駆動条件として設定する段階を含む。
【発明の効果】
【００１３】
前述した課題解決手段のいずれか一つによると、クラッシュの発生前にアプリの駆動状況を確認して欠陷を確認することができるアプリ性能モニタリング装置及び方法を提示することができる。
【００１４】
また、前述した課題解決手段のいずれか一つによると、クラッシュの発生前の欠陷による使用者の離脱を防止することができるアプリ性能モニタリング装置及び方法を提示することができる。
【００１５】
開示する実施例で得られる効果は以上で言及した効果に制限されず、言及しなかった他の効果は下記の記載で開示する実施例が属する技術分野で通常の知識を有する者に明確に理解可能であろう。
【図面の簡単な説明】
【００１６】
【図１】一実施例によるアプリ性能モニタリングシステムを示す構成図である。
【図２】一実施例によるアプリ性能モニタリング装置を示すブロック図である。
【図３】一実施例によるアプリ性能モニタリング装置の制御部を示すブロック図である。
【図４】一実施例によるアプリ性能モニタリング装置でフィルタリングのための駆動条件を表示した画面を示す図である。
【図５】一実施例によるアプリ性能モニタリング装置で駆動状況に対応する詳細項目を示す図である。
【図６】一実施例によるアプリ性能モニタリング装置でアプリ性能モニタリング動作を示す図である。
【発明を実施するための形態】
【００１７】
以下では添付図面に基づいて本発明が属する技術分野で通常の知識を有する者が容易に実施することができるように本発明の実施例を詳細に説明する。しかし、本発明はいろいろの相異なる形態に具現されることができ、ここで説明する実施例に限定されない。そして、図面で本発明を明確に説明するために説明と関係ない部分は省略し、明細書全般にわたって類似の部分に対しては類似の図面符号を付ける。
【００１８】
明細書全般にわたり、ある構成が他の構成と“連結”されていると言うとき、これは‘直接連結’されている場合だけではなく、‘その中間にさらに他の構成を挟んで連結’されている場合も含む。また、ある構成が他の構成を“含む”というとき、これは特に反対する記載がない限り、その外の構成を除くものではなく、他の構成をさらに含むこともできることを意味する。
【００１９】
以下、添付図面に基づいて実施例を詳細に説明する。ただ、その説明に先立ち、下記で使う用語の意味を先に定義する。
【００２０】
ここで、‘アプリケーション’は後述する電子端末又は端末上で実行されて所定の目的を達成するためのプログラムであり、アプリケーションプログラムとも言う。このようなアプリケーションは、以下で‘アプリ’と同一の意味として混用して使うことがある。
【００２１】
‘駆動条件’はアプリがテストされる駆動環境についての情報を確認するための条件であり、アプリの実行による活動内訳を示す実行状態、端末のオペレーティングシステムバージョン、端末の種類、端末の接続地域についての情報の少なくとも一つを含むことができる。ここで、駆動条件は例示的に説明したもので、必要によってアプリテストのための端末のハードウェア及びソフトウェアリソース又は端末周辺環境についての情報をさらに含むことができる。
【００２２】
‘駆動状況’は駆動条件によって端末で収集された情報をフィルタリングして獲得した情報であり、アプリテスト結果を意味する。駆動状況はアプリのテストによる端末のアプリ使用状態又は端末のリソース使用量を示すことがあり、詳細項目に区分されることができる。詳細項目は、例えばアプリの使用流れ、使用者インターフェース（ＵＩ）レンダリング時間、中央処理装置使用量、メモリ使用量、ネットワーク応答時間、及びクラッシュの少なくとも一つを含むことができる。
【００２３】
図１は一実施例によるアプリ性能モニタリングシステムを示す構成図である。
【００２４】
図１に示したように、アプリ性能モニタリングシステム１０は、端末１１０、１２０とアプリ性能モニタリング装置２００を含むことができる。アプリ性能モニタリング装置２００はネットワークＮを介して端末１１０、１２０と通信することができる。
【００２５】
端末１１０、１２０はアプリが実行される装置であって、端末１１０、１２０でアプリを実行させ、実行されるアプリをテストすることによってテスト端末と見なされることができる。ここで、テスト端末はアプリのテストを進行するとかアプリのテストを進行するために選択された端末を意味する。
【００２６】
端末１１０、１２０はアプリのテストに必要な多様な情報をアプリ性能モニタリング装置２００に提供することができる。例えば、端末１１０、１２０はアプリのテストのための端末の固有情報（製造社、モデル）をアプリ性能モニタリング装置２００に提供することができる。また、端末１１０、１２０はアプリの実行によって生成するとか変更することができる多様な情報をアプリ性能モニタリング装置に提供することができ、使用者の移動などによる端末１１０、１２０の状態変化によって発生する情報（例えば、位置情報など）をアプリ性能モニタリング装置２００に提供することもできる。
【００２７】
端末１１０、１２０はネットワークＮを介して遠隔地のサーバーに接続するとか、他の端末及びサーバーと連結可能なコンピュータ、携帯用端末機又はテレビから具現されることができる。ここで、コンピュータは、例えばウェブブラウザー（ＷＥＢ  Ｂｒｏｗｓｅｒ）が搭載されたノートブック型パソコン、デスクトップ（ｄｅｓｋｔｏｐ）、ラップトップ（ｌａｐｔｏｐ）などを含み、携帯用端末機は、例えば携帯性及び移動性を保障する無線通信装置であって、ＰＣＳ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｙｓｔｅｍ）、ＰＤＣ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ｃｅｌｌｕｌａｒ）、ＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙｐｈｏｎｅ  Ｓｙｓｔｅｍ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ＧＳＭ（登録商標）（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）、ＩＭＴ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ）−２０００、ＣＤＭＡ（Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）−２０００、Ｗ−ＣＤＭＡ（Ｗ−Ｃｏｄｅ  Ｄｉｖｉｓｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ）、Ｗｉｂｒｏ（Ｗｉｒｅｌｅｓｓ  Ｂｒｏａｄｂａｎｄ  Ｉｎｔｅｒｎｅｔ）、スマートフォン（ＳｍａｒｔＰｈｏｎｅ）、モバイルＷｉＭＡＸ（Ｍｏｂｉｌｅ  Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ）などの全ての種類のハンドヘルド（Ｈａｎｄｈｅｌｄ）基盤の無線通信装置を含むことができる。また、テレビはＩＰＴＶ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｔｅｌｅｖｉｓｉｏｎ）、インターネットＴＶ（Ｉｎｔｅｒｎｅｔ  Ｔｅｌｅｖｉｓｉｏｎ）、地上波ＴＶ、ケーブルＴＶなどを含むことができる。
【００２８】
アプリ性能モニタリング装置２００はテストしようとするアプリを端末１１０、１２０で実行させ、実行結果を確認することができる。また、アプリ性能モニタリング装置２００は、端末１１０、１２０でアプリを実行させるために、端末１１０、１２０のアプリ組込み動作を制御することができる。このようなアプリ性能モニタリング装置２００は個人コンピュータ（ＰＣ）だけでなく携帯用端末機などを含む多様な電子端末で具現されることができ、上述した端末１１０、１２０と同一の装置で具現されることもできる。
【００２９】
例えば、アプリ性能モニタリング装置２００には、アプリテストを実行するためのプログラムが組み込まれることができる。また、アプリ性能モニタリング装置２００はアプリテストを実行するためのプログラムが組み込まれたサーバー（図示せず）と通信を行い、アプリテストに関連した入力を受信し、アプリテスト結果を表示するための使用者インターフェース画面を提供することもできる。端末１１０、１２０に組み込まれるアプリにはアプリテストのためのモジュールがソフトウェア開発キット（Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔ、以下‘ＳＤＫ’と言う）などの形態として含まれることができる。アプリテストを実行するためのプログラムはＳＤＫが含まれたアプリに対するテストを実行することができる。
【００３０】
アプリ性能モニタリング装置２００はアプリが実行される端末１１０、１２０からアプリのテストのために必要な情報を受信することができる。アプリ性能モニタリング装置２００は端末１１０、１２０から収集された情報を駆動条件に基づいてフィルタリングし、フィルタリングされた結果である駆動状況についての情報を提供することができる。ここで、駆動条件は使用者がアプリ性能モニタリング装置２００を介して設定することができる。
【００３１】
次に、アプリ性能モニタリング装置２００を図２に基づいてより詳細に説明する。
【００３２】
図２は一実施例によるアプリ性能モニタリング装置を示すブロック図である。
【００３３】
図２に示したように、アプリ性能モニタリング装置２００は、入出力部２１０、通信部２２０、格納部２３０及び制御部２４０を含むことができる。
【００３４】
入出力部２１０は、使用者から入力を受信するための入力部と、作業の実行結果又はアプリ性能モニタリング装置２００の状態などの情報を表示するための出力部とを含むことができる。例えば、入出力部２１０は、使用者入力を受信する操作パネル（ｏｐｅｒａｔｉｏｎ  ｐａｎｅｌ）及び画面を表示するディスプレイパネル（ｄｉｓｐｌａｙ  ｐａｎｅｌ）などを含むことができる。
【００３５】
具体的に、入力部は、キーボード、物理ボタン、タッチスクリーン、カメラ又はマイクなどのように多様な形態の使用者入力を受信することができる装置を含むことができる。また、出力部は、ディスプレイパネル又はスピーカーなどを含むことができる。ただ、これに限定されず、入出力部２１０は多様な入出力を支援する構成を含むことができる。
【００３６】
一方、通信部２２０は、他のデバイス又はネットワークＮと有無線通信を実行することができる。このために、通信部２２０は多様な有無線通信方法の少なくとも一つを支援する通信モジュールを含むことができる。例えば、通信モジュールはチップセット（ｃｈｉｐｓｅｔ）の形態に具現されることができる。
【００３７】
通信部２２０が支援する無線通信は、例えばＷｉ−Ｆｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）、Ｗｉ−Ｆｉ  Ｄｉｒｅｃｔ、ブルートゥース（登録商標）（Ｂｌｕｅｔｏｏｔｈ（登録商標））、ＵＷＢ（Ｕｌｔｒａ  Ｗｉｄｅ  Ｂａｎｄ）又はＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）などであってもよい。また、通信部２２０が支援する有線通信は、例えばＵＳＢ又はＨＤＭＩ（登録商標）（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）などであってもよい。上述した通信は例示であるだけ、アプリ性能モニタリング装置２００が通信を実行するようにする各種の通信技法が可能である。
【００３８】
一方、格納部２３０には、ファイル、アプリケーション及びプログラムなどの多様な種類のデータが組み込まれるとか保存されることができる。データの例として、アプリテストのための情報を含むことができ、アプリテストのために端末１１０、１２０から収集された情報であってもよい。
【００３９】
格納部２３０に保存されたデータは後述する制御部２４０によってアクセスされて用いられるとか、あるいは制御部２４０によって新しいデータが保存されることができる。また、格納部２３０は制御部２４０によって実行可能なプログラムを保存することができる。
【００４０】
格納部２３０はアプリテスト動作によって生成された情報又はアプリテスト結果についての情報を制御部２４０によって保存することができる。
【００４１】
一方、制御部２４０はアプリ性能モニタリング装置２００の全般的な動作を制御し、ＣＰＵなどのプロセッサを含むことができる。制御部２４０は入出力部２１０を介して受信した使用者入力に対応する動作を実行するようにアプリ性能モニタリング装置２００に含まれた他の構成を制御することができる。
【００４２】
例えば、制御部２４０は格納部２３０に保存されたデータを読んで来るとか、新しいデータを格納部２３０に保存することもできる。
【００４３】
一実施例によると、制御部２４０は、通信部２２０を介して端末１１０、１２０からアプリテストについての情報を受信することができる。制御部２４０は、受信された情報をフィルタリングするために、入出力部２１０を介して入力された情報に基づいて駆動条件を設定することができる。
【００４４】
制御部２４０は駆動条件に基づいて端末１１０、１２０でテスト関連情報をフィルタリングすることができる。端末１１０、１２０でフィルタリングされた情報はアプリの駆動状況を示すことができる。制御部２４０は、現在クラッシュが発生しなかった状態でもアプリに関連した状況を確認することができる情報である駆動状況を設定の駆動条件によってフィルタリングして受けることができる。ここで、クラッシュ（ｃｒａｓｈ）は、電源の遺失、システムエラー、アプリケーションエラーなどによって正常な終了動作を実行することができなかった場合に発生するエラーを意味する。
【００４５】
一方、制御部２４０を図３に基づいてより詳細に説明する。
【００４６】
これにより、アプリ性能モニタリング装置２００はフィルタリング動作を行って、アプリテスト時にクラッシュの発生有無にかかわらずアプリで発生し得る欠陷を確認することができる情報を使用者に提供することができる。このように、アプリ性能モニタリング装置２００は、クラッシュの発生前にアプリテストによって発生した欠陷（例えば、リソースの過度な使用又はアプリの性能低下など）についての情報を提供することによってアプリの管理者が問題を解決することができるようにするので、アプリの欠陷による使用者離脱を防止することができる。
【００４７】
さらに、アプリ性能モニタリング装置２００はアプリ実行時に発生し得る欠陷をクラッシュの発生前にターゲッティングしてソースコードを修正するとかソースコードの修正が不必要な状況（例えば、アプリの接続地域が違う地域に位置、低仕様の端末によるＣＰＵ使用量又はメモリ使用量の超過など）を判断することができる。これにより、アプリ性能モニタリング装置２００は、アプリで問題が発生するとき、ソースコードの修正が必要な状況であるかをアプリ管理者が把握することができるようにすることによって不必要なソースコードの修正動作を予防することができる。
【００４８】
図３は一実施例によるアプリ性能モニタリング装置の制御部を示すブロック図である。
【００４９】
図３に示したように、制御部２４０は、テスト端末管理部２４１、フィルター部２４２、及びテスト情報処理部２４３を含むことができる。
【００５０】
一実施例によるテスト端末管理部２４１は、通信部２２０を介して端末１１０、１２０と通信することができ、端末１１０、１２０の情報を管理することができる。テスト端末管理部２４１は、端末１１０、１２０のハードウェアリソース及びソフトウェアリソースについての情報を管理することができる。例えば、テスト端末管理部２４１は、端末１１０、１２０の製造社、モデル（又は製品名）、スペック（ＣＰＵ、メモリ、カメラ、ディスプレイ、及びバッテリーなどの性能）などのハードウェアリソースについての情報を管理するとか、オペレーティングシステム又はオペレーティングシステムバージョンなどについての情報を管理することができる。
【００５１】
テスト端末管理部２４１は格納部２３０に端末１１０、１２０の情報を保存するとか端末１１０、１２０の製造社サーバーと通信して端末１１０、１２０の情報を収集することができる。このような場合、テスト端末管理部２４１は、端末１１０、１２０の製品名を受信して端末についての詳細情報、すなわちハードウェアリソース及びソフトウェアリソースについての情報を獲得することもできる。
【００５２】
テスト端末管理部２４１は、端末１１０、１２０で駆動されているアプリについての情報を受けることができる。また、テスト端末管理部２４１は、アプリの使用についての多様な情報を端末１１０、１２０から受けることができる。例えば、テスト端末管理部２４１はアプリの実行による使用者の活動内訳についての情報として実行状態情報を受信することができる。ここで、実行状態は使用者の入力によってアプリが実行されるそれぞれの状態を意味する。それぞれの実行状態に対応して端末に表示される実行画面が存在することができる。例えば、実行状態はアンドロイドオペレーティングシステムではアクティビティ又はｉＯＳではｉＯＳビューに対応することができる。
【００５３】
一実施例によるフィルター部２４２は駆動条件を使用者から受けて設定するとか駆動条件が内部に予め設定されていることがある。フィルター部２４２は設定された駆動条件で端末１１０、１２０で受信された情報をフィルタリングすることができる。例えば、フィルター部２４２はフィルタリングのための駆動条件として、実行状態、オペレーティングシステムバージョン、端末種類、及び接続地域に対する条件の少なくとも一つを含むことができる。
【００５４】
まず、フィルター部２４２はアプリの実行による活動内訳を示す実行状態を駆動条件として設定することができる。その後、フィルター部２４２はオペレーティングシステムバージョンを駆動条件として設定することができ、ついで端末種類を駆動条件として設定することができる。最後に、フィルター部２４２は接続地域を駆動条件として設定することができる。このように、フィルター部２４２は、実行状態、オペレーティングシステムバージョン、端末種類、及び接続地域を駆動条件で設定することができ、駆動条件の設定時に二つ以上の駆動条件を使う場合、アンド演算を用いることができる。よって、フィルター部２４２は実行状態、オペレーティングシステムバージョン、端末種類、及び接続地域に対して順にアンド演算を行ってフィルタリングすることができる。
【００５５】
フィルター部２４２は、駆動条件の設定時、駆動条件別に特定の駆動状況が発生する頻度数と危険度（例えば、欠陥又はクラッシュの発生）を入出力部２１０を介して出力することもできる。また、フィルター部２４２はフィルタリングされた駆動状況をテスト情報処理部２４３に出力することができる。
【００５６】
一実施例によるテスト情報処理部２４３はフィルタリングされた駆動状況を整列するとか図式化して出力することができる。このために、テスト情報処理部２４３は、表、チャート、グラフなどの多様な方式で情報を出力することができる。
【００５７】
テスト情報処理部２４３は駆動条件によってフィルタリングされた情報である駆動状況についての情報を入出力部２１０を介して出力することができる。これにより、テスト情報処理部２４３は使用者にアプリテストのための駆動状況で発生し得る欠陷を確認することができる情報を提供することができる。
【００５８】
テスト情報処理部２４３は駆動状況の詳細項目についての情報を提供することができる。ここで、詳細項目は、アプリの使用流れ、使用者インターフェースレンダリング時間、中央処理装置使用量、メモリ使用量、ネットワーク応答時間、及びクラッシュの少なくとも一つを含む。テスト情報処理部２４３は、詳細項目についての情報の提供時、使用者によって設定された特定期間、一定時間、日付などを基準に詳細項目を表示することができる。
【００５９】
アプリ性能モニタリング装置２００で使われる駆動条件又は駆動状況はアプリテスト動作を説明するために例示的に説明したもので、上述した情報外の多様な情報が駆動条件として設定されるとか駆動状況として出力されることができる。
【００６０】
図４は一実施例によるアプリ性能モニタリング装置でフィルタリングのための駆動条件が表示された画面を示す図である。
【００６１】
図４には、アプリ性能モニタリング装置２００でのフィルタリングのための駆動条件３１０が示されている。
【００６２】
アプリ性能モニタリング装置２００は、実行状態３１１、オペレーティングシステムバージョン３１２、端末種類３１３、及び接続地域３１４の少なくとも一つを駆動条件３１０として含むことができる。ここで、使用者はアプリ性能モニタリング装置２００を介して実行状態３１１、オペレーティングシステムバージョン３１２、端末種類３１３、及び接続地域３１４を選択することによって駆動条件を設定することができる。アプリ性能モニタリング装置２００は、駆動条件の設定時、実行状態３１１、オペレーティングシステムバージョン３１２、端末種類３１３、及び接続地域３１４をアンド演算することができ、アンド演算のために一つずつ順次選択することもできる。
【００６３】
しかし、アプリ性能モニタリング装置２００には、実行状態３１１、オペレーティングシステムバージョン３１２、端末種類３１３、及び接続地域３１４に対する駆動条件３１０の多様な組合せが予め設定されて保存されることができる。ここで、アプリ性能モニタリング装置２００は予め設定された条件に対していちいち設定しなくても、一つの組合せに対する１回の選択のみでもフィルタリングのための駆動条件を設定するようにすることもできる。
【００６４】
一実施例による実行状態３１１はＡ１〜Ａ１０で示されている。例えば、実行状態３１１で、Ａ１はメイン実行状態、Ａ２はミーリスト（ｍｅａｌｉｓｔ）実行状態、Ａ３はギャラリー実行状態、Ａ４は共有実行状態、Ａ５は管理実行状態、Ａ６はヘルプ実行状態、Ａ７はログイン実行状態、Ａ８は学習（チュートリアル）実行状態、Ａ９はスライドショー実行状態、Ａ１０は推薦実行状態などを示すことができる。
【００６５】
一実施例によるオペレーティングシステムバージョン３１２は、アンドロイド、ｉＯＳなどのように端末で使われるオペレーティングシステムのバージョンを意味することができる。例えば、オペレーティングシステムバージョン３１２はアンドロイドオペレーティングシステムを仮定することができ、Ｖ１はバージョン７．０、Ｖ２はバージョン６．０．１、Ｖ３はバージョン４．１．１、Ｖ４はバージョン５．０、Ｖ５はバージョン４．０．４、Ｖ６はバージョン４．３、Ｖ７はバージョン４．４．２を示すことができる。
【００６６】
一実施例による端末種類３１３は端末の種類を示すことができ、器機名称又は器機のモデルなどを含むことができる。例えば、Ｄ１はＳ社のＧ１製品、Ｄ２はＬ社のＨ２製品、Ｄ３はＡ社のＩ１製品、Ｄ５はＳ社のＧ２製品、Ｄ６はＬ社のＨ４製品、Ｄ７はＳ社のＧ４製品であってもよい。
【００６７】
一実施例による接続地域３１４は端末が接続した位置又は端末の現在位置を示すことができる。例えば、位置Ｌ１は大韓民国（ＫＲ）であってもよい。
【００６８】
ここで、それぞれの実行状態３１１に対応する円には駆動条件としてフィルタリングされた全てのテスト端末のうち該当実行状態３１１を行ったテスト端末の比率が表示される。また、それぞれの実行状態３１１に対応する円内の色相は危険度３２０を示すことができ、危険（黒色）、警告（灰色）、安定（白色）などで示すことができる。
【００６９】
駆動条件３１０で実行状態３１１を基準に実行比率と危険度を示している（３３０）。ここで、実行状態３１１はアプリの使用によってツリー構造に示されることができ、アプリのメイン画面を示すメイン実行状態Ａ１を基準に各実行状態別に実行比率と危険度を確認することができる。
【００７０】
また、Ａ４のような共有実行状態の場合、例えばＡ４１はフェースブック（登録商標）共有実行状態、Ａ４２はインスタグラム共有実行状態などに区分され、各実行状態の下位実行状態を示すツリー構造を有することができ、下位実行状態に対しても実行比率と危険度を確認することができる。
【００７１】
図５は一実施例によるアプリ性能モニタリング装置で駆動状況に対応する詳細項目を示す図である。
【００７２】
図５に示したように、アプリ性能モニタリング装置２００は駆動状況に対する各詳細項目を示すことができる。
【００７３】
例えば、アプリ性能モニタリング装置２００は、詳細項目として、アプリの使用流れ４１０、アプリの使用者インターフェース（ＵＩ：Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）レンダリング時間４２０、ＣＰＵ使用量４３０、及びメモリ使用量４４０などを示すことができる。
【００７４】
アプリの使用流れ４１０を説明すると、アプリ性能モニタリング装置２００は、アプリの全ての使用状況４１１のうち、メイン実行状態４１２、サーバーディテール実行状態４１３、ＵＲＬディテール実行状態４１４、ギャラリー実行状態４１５、ログイン実行状態４１６、及びクラッシュ実行状態４１７の使用状況を示すことができる。
【００７５】
ＵＩレンダリング時間４２０を説明すると、縦軸はＵＩレンダリングにかかる時間（ｍｓ（ミリ秒））を示し、横軸は日付を示す。グラフに表示される表示客体の色相によって該当表示客体に相当する駆動状況が発生した頻度数を示すことができる。
【００７６】
ＣＰＵ使用量４３０を説明すると、縦軸はＣＰＵ使用の比率（百分率（％））を示し、横軸は日付を示す。また、メモリ使用量４４０を説明すると、縦軸はメモリ使用容量（メガバイト（ＭＢ））を示し、横軸は日付を示す。ＣＰＵ使用量４３０とメモリ使用量４４０においてもグラフに表示される表示客体の色相によって該当表示客体に相当する駆動状況が発生した頻度数を示すことができる。
【００７７】
これにより、アプリ性能モニタリング装置２００は、アプリテスト時に発生した欠陷を確認すれば、アプリの欠陷を解決するための措置を実行することができるように現在アプリの駆動状況についての情報を提供することができる。
【００７８】
一方、上述した日付はテストデータが収集された期間を例示的に説明したもので、分、時間、月、分期などに多様に設定されることができる。
【００７９】
一方、図５に示されてはいないが、アプリ性能モニタリング装置２００は詳細項目としてネットワーク応答時間とクラッシュについての情報を追加的に提供することもできる。
【００８０】
図６は一実施例によるアプリ性能モニタリング装置でアプリ性能モニタリング動作を示す図である。
【００８１】
図６に示したように、アプリ性能モニタリング装置２００はアプリテストのための端末情報を確認する（Ｓ５１１）。アプリ性能モニタリング装置２００は端末についての情報を確認することができ、特に、端末で使われるオペレーティングシステムバージョン又は端末種類についての情報を確認することができる。アプリ性能モニタリング装置２００はオペレーティングシステムバージョンと端末種類を駆動条件の設定によるフィルタリング時に使うことができる。
【００８２】
アプリ性能モニタリング装置２００はフィルタリングのための駆動条件を設定することができる（Ｓ５１３）。アプリ性能モニタリング装置２００は、実行状態、オペレーティングシステムバージョン、端末種類、及び接続地域に対してアンド演算で駆動条件を設定することができる。ここで、アプリ性能モニタリング装置２００は駆動条件による実行比率と危険度についての情報を提供することもできる。
【００８３】
アプリ性能モニタリング装置２００は設定された駆動条件によってフィルタリングを実行する（Ｓ５１５）。アプリ性能モニタリング装置２００は、アプリテスト中の端末からテスト関連情報を受信し、受信された情報を駆動条件によってフィルタリングする。
【００８４】
アプリ性能モニタリング装置２００は、フィルタリング結果である駆動項目に対する詳細項目が選択されたかを確認する（Ｓ５１７）。これにより、アプリ性能モニタリング装置２００はフィルタリングされた駆動項目についての情報のうち所望の詳細項目についての情報を確認することができる。Ｓ５１７段階の確認結果、詳細項目が選択されれば、Ｓ５１９段階に進む。Ｓ５１７段階の確認結果、詳細項目が選択されなければ、駆動項目に対する全ての情報の提供を要請するものであるので、アプリ性能モニタリング装置２００はＳ５２１段階に進む。
【００８５】
アプリ性能モニタリング装置２００は選択された詳細項目についての情報を提供することができる（Ｓ５１９）。アプリ性能モニタリング装置２００は、駆動状況に対する全ての情報を提供する代わりに、詳細項目の選択動作によってアプリテストを行う使用者が所望の情報のみを提供するようにすることができる。
【００８６】
アプリ性能モニタリング装置２００はフィルタリング結果であるアプリの駆動状況を提供することができる（Ｓ５２１）。例えば、アプリ性能モニタリング装置２００は、駆動状況に対する全ての詳細項目についての情報を提供することができる。また、アプリ性能モニタリング装置２００はフィルタリング結果として駆動状況でアプリテスト時に発生した欠陷についての情報のみを抽出して提供することもできる。
【００８７】
アプリ性能モニタリング装置２００はアプリテストを終了するかを判断する（Ｓ５２３）。Ｓ５２３段階の判断結果、アプリテストを終了する場合、Ｓ５２５段階に進む。アプリ性能モニタリング装置２００は、アプリテストを終了しない場合、Ｓ５１３段階に進む。
【００８８】
アプリ性能モニタリング装置２００はアプリテスト結果を保存するかを確認する（Ｓ５２５）。５２５段階の確認結果、アプリテスト結果を保存する場合、アプリ性能モニタリング装置２００はＳ５２７段階に進む。アプリ性能モニタリング装置２００はアプリテスト結果を保存しない場合、アプリ性能モニタリング装置２００は終了する。
【００８９】
アプリ性能モニタリング装置２００はアプリテスト結果を保存してから終了する（Ｓ５２７）。アプリ性能モニタリング装置２００はフィルタリングのための駆動条件又はフィルタリング結果である駆動状況に対応する情報をマッチさせて保存することができる。また、アプリ性能モニタリング装置２００は駆動状況によって欠陷が発生するとかクラッシュが発生すると予想される欠陷に対してアプリのソースコード修正のための使用者入力を受信することもできる。
【００９０】
このように、アプリ性能モニタリング装置２００は、フィルタリングのために設定された駆動条件の組合せ（例えば、メイン実行状態、アンドロイド７．０バージョン、Ｓ社のＧシリーズ端末、大韓民国など）をフィルタリンググループについての情報を保存し、駆動条件の組合せに対応する駆動状況を一緒に保存してアプリテストの欠陷を見つけることができる。
【００９１】
アプリ性能モニタリング装置２００は、アプリの異常終了時、アプリそのものではなくてモバイルプラットホームでのリソース状況を一緒に考慮して欠陷を確認して原因分析を行うことができるので、アプリテストの正確度が向上することができる。さらに、アプリ性能モニタリング装置２００はアプリが配布されるマーケット又は地域に制限されずにいつでもどこでもアプリテストのために収集されたデータを用いることができる。
【００９２】
以上の実施例で使われる‘〜部’という用語はソフトウェア又はＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）又はＡＳＩＣのようなハードウェア構成要素を意味し、‘〜部’は所定の役割をする。しかし、‘〜部’はソフトウェア又はハードウェアに限定される意味ではない。‘〜部’はアドレスすることができる記録媒体にあるように構成されることもでき、一つ又はそれ以上のプロセッサを再生させるように構成されることもできる。したがって、一例として、‘〜部’はソフトウェア構成要素、客体指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラム特許コードのセグメント、ドライバー、ファームウエア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び変数を含む。
【００９３】
構成要素と‘〜部’内で提供される機能はもっと少ない数の構成要素及び‘〜部’と結合されるとか追加的な構成要素と‘〜部’から分離されることができる。
【００９４】
それだけでなく、構成要素及び‘〜部’はデバイス又は保安マルチメディアカード内の一つ又はそれ以上のＣＰＵを再生させるように具現されることもできる。
【００９５】
図６に基づいて説明した実施例によるアプリ性能モニタリング方法はコンピュータによって実行可能な命令語及びデータを保存する、コンピュータ可読の媒体の形態でも具現されることができる。ここで、命令語及びデータはプログラムコードの形態として保存されることができ、プロセッサによって実行されたとき、所定のプログラムモジュールを生成して所定の動作を実行することができる。また、コンピュータ可読の媒体はコンピュータによってアクセス可能な任意の可用媒体であってもよく、揮発性及び不揮発性媒体、分離型及び非分離型媒体のいずれも含む。また、コンピュータ可読の媒体はコンピュータ記録媒体であってもよい。コンピュータ記録媒体はコンピュータ可読の命令語、データ構造、プログラムモジュール又はその他のデータのような情報の保存のための任意の方法又は技術で具現された揮発性及び不揮発性、分離型及び非分離型媒体のいずれも含むことができる。例えば、コンピュータ記録媒体はＨＤＤ及びＳＳＤなどのような磁気記録媒体、ＣＤ、ＤＶＤ及びブルーレイディスクなどの光学記録媒体、又はネットワークを介して接近可能なサーバーに含まれるメモリであってもよい。
【００９６】
また、図６に基づいて説明した実施例によるアプリ性能モニタリング方法はコンピュータによって実行可能な命令語を含むコンピュータプログラム（又はコンピュータプログラム製品）で具現されることもできる。コンピュータプログラムはプロセッサによって処理されるプログラミング可能な機械命令語を含み、高レベルプログラミング言語（Ｈｉｇｈ−ｌｅｖｅｌ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｌａｎｇｕａｇｅ）、客体指向プログラミング言語（Ｏｂｊｅｃｔ−ｏｒｉｅｎｔｅｄ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｌａｎｇｕａｇｅ）、アセンブリー言語又は機械言語などで具現されることができる。また、コンピュータプログラムは類型のコンピュータ可読の記録媒体（例えば、メモリ、ハードディスク、磁気／光学媒体又はＳＳＤ（Ｓｏｌｉｄ−Ｓｔａｔｅ  Ｄｒｉｖｅ）など）に記録されることができる。
【００９７】
したがって、図６に基づいて説明した実施例によるアプリ性能モニタリング方法は上述したようなコンピュータプログラムをコンピュータ装置によって実行することによって具現することができる。コンピュータ装置は、プロセッサと、メモリと、保存装置と、メモリ及び高速拡張ポートに接続している高速インターフェースと、低速バスと保存装置に接続している低速インターフェースの少なくとも一部を含むことができる。このような成分のそれぞれは多様なバスを介して互いに接続されており、共通マザーボードに搭載されるとか他の適切な方式で装着されることができる。
【００９８】
ここで、プロセッサはコンピュータ装置内で命令語を処理することができる。このような命令語としては、例えば高速インターフェースに接続されたディスプレイのように、外部入力、出力装置上にＧＵＩ（Ｇｒａｐｈｉｃ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を提供するためのグラフィック情報を表示するために、メモリ又は保存装置に保存された命令語を挙げることができる。他の実施例として、多数のプロセッサ及び／又は多数のバスが適切に多数のメモリ及びメモリ形態と一緒に用いられることができる。また、プロセッサは独立的な多数のアナログ及び／又はデジタルプロセッサを含むチップが成すチップセットで具現されることができる。
【００９９】
また、メモリはコンピュータ装置内で情報を保存する。一例として、メモリは揮発性メモリユニット又はそれらの集合でなることができる。他の例として、メモリは不揮発性メモリユニット又はそれらの集合で構成されることができる。また、メモリは、例えば磁気又は光ディスクのような他の形態のコンピュータ可読の媒体であってもよい。
【０１００】
そして、保存装置はコンピュータ装置に大容量の保存空間を提供することができる。保存装置はコンピュータ可読の媒体であってもよく、このような媒体を含む構成であってもよい。例えば、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）内の装置又は他の構成も含むことができ、フロッピーディスク装置、ハードディスク装置、光ディスク装置、又はテープ装置、フラッシュメモリー、それと類似した他の半導体メモリ装置又は装置アレイであってもよい。
【０１０１】
上述した実施例は例示のためのもので、上述した実施例が属する技術分野の通常の知識を有する者であれば上述した実施例が有する技術的思想又は必須な特徴を変更しなくても他の具体的な形態に易しく変形可能であることが理解可能であろう。したがって、上述した実施例は全ての面で例示的なものであり、限定的なものではないことを理解しなければならない。例えば、単一型として説明されている各構成要素は分散されて実施されることもでき、同様に分散されたものとして説明されている構成要素も結合された形態に実施されることができる。
【０１０２】
本明細書によって保護を受けようとする範囲は前記詳細な説明よりは後述する特許請求範囲によって決定され、特許請求範囲の意味及び範囲そしてその均等な概念から導出される全ての変更又は変形の形態を含むものと解釈されなければならない。
【符号の説明】
【０１０３】
１０      アプリ性能モニタリングシステム
１１０、１２０    テスト端末
２００    アプリ性能モニタリング装置
２１０    入出力部
２２０    通信部
２３０    格納部
２４０    制御部
２４１    テスト端末管理部
２４２    フィルター部
２４３    テスト情報処理部
【図１】
2019185711.tif 000003
【図２】
2019185711.tif 000004
【図３】
2019185711.tif 000005
【図４】
2019185711.tif 000006
【図５】
2019185711.tif 000007
【図６】
2019185711.tif 000008