(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-04
(45)【発行日】2022-11-14
(54)【発明の名称】アプリ性能モニタリング装置及び方法
(51)【国際特許分類】
G06F 11/36 20060101AFI20221107BHJP
G06F 11/34 20060101ALI20221107BHJP
【FI】
G06F11/36 188
G06F11/36 164
G06F11/34 119
(21)【出願番号】P 2018097009
(22)【出願日】2018-05-21
【審査請求日】2021-05-17
(31)【優先権主張番号】10-2018-0044405
(32)【優先日】2018-04-17
(33)【優先権主張国・地域又は機関】KR
【新規性喪失の例外の表示】特許法第30条第2項適用 2017年 11月 21日、http://www.etnews.com/20171121000235 2017年 11月 22日、Better Software Testing Conference 2017 2018年 4月 12日、http://news.chosun.com/site/data/html_dir/2018/04/11/2018041101823.html
(73)【特許権者】
【識別番号】516039664
【氏名又は名称】オニコム株式会社
(74)【代理人】
【識別番号】100091683
【氏名又は名称】▲吉▼川 俊雄
(74)【代理人】
【識別番号】100179316
【氏名又は名称】市川 寛奈
(72)【発明者】
【氏名】ユ,ヨン ス
(72)【発明者】
【氏名】ソン,ヨン ス
【審査官】中村 信也
(56)【参考文献】
【文献】特開2008-197988(JP,A)
【文献】特開2003-091435(JP,A)
【文献】特開2016-014980(JP,A)
【文献】特開2005-242988(JP,A)
【文献】特開2007-257049(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/36
G06F 11/34
(57)【特許請求の範囲】
【請求項1】
アプリテストのための端末と通信する通信部;及び
アプリテスト中の端末からテスト関連情報を受信し、前記受信された情報を予め設定された駆動条件でフィルタリングしてアプリの駆動状況を提供する制御部を含み、
前記制御部は、
前記アプリの実行による活動内訳を示す実行状態、前記端末のオペレーティングシステムバージョン、前記端末の端末種類、及び前記端末の接続地域についての情報の少なくとも一つの条件を前記フィルタリングのための前記駆動条件として設定
し、
クラッシュが発生しなかった状態でアプリに関連した状況を確認することができる情報である駆動状況を、設定した駆動条件でフィルタリングして提供し、提供した駆動状況の数値別頻度数を更に提供する、
アプリ性能モニタリング装置。
【請求項2】
前記制御部は、
前記フィルタリングのために少なくとも二つ以上の条件を組み合わせて前記駆動条件を設定する、請求項1に記載のアプリ性能モニタリング装置。
【請求項3】
前記制御部は、
前記少なくとも二つ以上の駆動条件に対する組合せをアンド演算で実行する、請求項2に記載のアプリ性能モニタリング装置。
【請求項4】
前記制御部は、
前記駆動状況は詳細項目についての情報を含み、
前記詳細項目は、アプリの使用流れ、使用者インターフェース(UI)レンダリング時間、中央処理装置使用量、メモリ使用量、
及びネットワーク応答時
間の少なくとも一つを含む、請求項1に記載のアプリ性能モニタリング装置。
【請求項5】
前記制御部は、
前記詳細項目を前記アプリをテストしている日付を基準に整列する、請求項
4に記載のアプリ性能モニタリング装置。
【請求項6】
アプリ性能モニタリング装置によって行うアプリ性能モニタリング方法であって、
アプリテストのための端末の情報を確認する段階;
前記アプリテストのための駆動条件を設定する段階;及び
前記端末からテスト関連情報を受信し、前記受信された情報を前記駆動条件でフィルタリングしてアプリの駆動状況を提供する段階を含み、
前記駆動条件を設定する段階は、
前記アプリの実行による活動内訳を示す実行状態、前記端末のオペレーティングシステムバージョン、前記端末の端末種類、及び前記端末の接続地域についての情報の少なくとも一つの条件を前記フィルタリングのための前記駆動条件として設定する段階を含
み、
前記アプリの駆動状況を提供する段階は、
クラッシュが発生しなかった状態でアプリに関連した状況を確認することができる情報である駆動状況を、設定した駆動条件でフィルタリングして提供し、提供した駆動状況の数値別頻度数を更に提供する段階を含む、
アプリ性能モニタリング方法。
【請求項7】
前記少なくとも一つの条件を前記駆動条件として設定する段階は、
二つ以上の駆動条件に対する組合時にアンド演算で実行する段階を含む、請求項
6に記載のアプリ性能モニタリング方法。
【請求項8】
前記アプリの駆動状況を提供する段階は、
前記駆動状況に対応する詳細項目であるアプリの使用流れ、使用者インターフェース(UI)レンダリング時間、中央処理装置使用量、メモリ使用量、
及びネットワーク応答時
間の少なくとも一つを提供する段階を含む、請求項
6に記載のアプリ性能モニタリング方法。
【請求項9】
前記アプリの駆動状況を提供する段階は、
前記駆動状況に対応する詳細項目の少なくとも一部が選択される段階;及び
前記選択された詳細項目についての情報を提供する段階をさらに含む、請求項
8に記載のアプリ性能モニタリング方法。
【請求項10】
前記アプリテストのための前記駆動条件と前記駆動状況についての情報をマッチさせて保存する段階をさらに含む、請求項
9に記載のアプリ性能モニタリング方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書で開示する実施例はアプリ性能モニタリング装置及び方法に関するもので、より詳しくはアプリのクラッシュのような致命的な問題が発生する前にアプリの駆動状況を確認することができるアプリ性能モニタリング装置及び方法に関するものである。
【背景技術】
【0002】
近年、IT技術が急激に発展して、単一電子端末内に多様な種類のハードウェアモジュールが搭載されている。特に、デジタル基盤の多くの製品又はサービスが融合して新しいサービス又は製品が誕生するデジタルコンバージェンス現象が加速化するにつれてこれらの各電子端末を運用することができるオペレーティングシステムも多様に市販されている。
【0003】
このような状況で、ソフトウェア開発者はこれらの電子端末に含まれたハードウェアリソースを活用するための数多いアプリケーションプログラムを開発することができる自由度が高くなるとともに多様なハードウェア及びプラットホームで無理なく実行されるアプリケーションプログラムを開発してテストしなければならない負担を担うことになった。
【0004】
これに関連し、先行技術文献である大韓民国公開特許第10-2014-0052200号を参照すると、テスト端末でのアプリケーションの実行時にクラッシュが発生した場合、クラッシュ発生までの動作シナリオとクラッシュ内容を含むクラッシュ発生情報を検証管理装置に伝送するアプリケーション検証のためのシステムを開示している。このように、先行技術文献のようにアプリケーションをテストするシステムではクラッシュが発生するときにのみクラッシュ関連情報を確認することができるから、クラッシュが発生する前に使用状態についての情報を確認してアプリケーションの実行による欠陥を確認することができない問題点があった。
【0005】
一方、アプリケーションを市販する前にアプリケーションをテストするためには、アプリケーションを駆動する全ての使用者端末を購買してテストするとか、テストに多い時間がかかるから、アプリケーションの市販前にアプリケーションのテストを行うしかない限界がある。よって、アプリケーションを市販した状態でアプリケーションをテストすることになるが、クラッシュが発生する前のアプリケーションの欠陷は使用者に不便をかけて使用者が離脱することになる問題点があった
【0006】
したがって、上述した問題点を解決するための技術が必要になった。
【0007】
一方、前述した背景技術は発明者が本発明の導出のために保有していたとか、本発明の導出過程で習得した技術情報であり、必ずしも本発明の出願前に一般公衆に公開された公知技術であるとは言えない。
【先行技術文献】
【特許文献】
【0008】
【文献】韓国公開特許第10-2014-0052200号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
本明細書で開示する実施例は、クラッシュの発生前にアプリの駆動状況を確認して欠陷を確認することができるアプリ性能モニタリング装置及び方法を提示することに目的がある。
【0010】
本明細書で開示する実施例は、クラッシュの発生前の欠陷による使用者の離脱を防止することができるアプリ性能モニタリング装置及び方法を提示することに目的がある。
【課題を解決するための手段】
【0011】
上述した技術的課題を達成するための技術的手段として、一実施例によるアプリ性能モニタリング装置は、アプリテストのための端末と通信する通信部、及びアプリテスト中の端末からテスト関連情報を受信し、前記受信された情報を予め設定された駆動条件でフィルタリングしてアプリの駆動状況を提供する制御部を含み、前記制御部は、前記アプリの実行による活動内訳を示す実行状態、前記端末のオペレーティングシステムバージョン、前記端末の端末種類、及び前記端末の接続地域についての情報の少なくとも一つの条件を前記フィルタリングのための前記駆動条件として設定する。
【0012】
他の実施例によるアプリ性能モニタリング装置によって行うアプリ性能モニタリング方法は、アプリテストのための端末の情報を確認する段階、前記アプリテストのための駆動条件を設定する段階、及び前記端末からテスト関連情報を受信し、前記受信された情報を前記駆動条件でフィルタリングしてアプリの駆動状況を提供する段階を含み、前記駆動条件を設定する段階は、前記アプリの実行による活動内訳を示す実行状態、前記端末のオペレーティングシステムバージョン、前記端末の端末種類、及び前記端末の接続地域についての情報の少なくとも一つの条件を前記フィルタリングのための前記駆動条件として設定する段階を含む。
【発明の効果】
【0013】
前述した課題解決手段のいずれか一つによると、クラッシュの発生前にアプリの駆動状況を確認して欠陷を確認することができるアプリ性能モニタリング装置及び方法を提示することができる。
【0014】
また、前述した課題解決手段のいずれか一つによると、クラッシュの発生前の欠陷による使用者の離脱を防止することができるアプリ性能モニタリング装置及び方法を提示することができる。
【0015】
開示する実施例で得られる効果は以上で言及した効果に制限されず、言及しなかった他の効果は下記の記載で開示する実施例が属する技術分野で通常の知識を有する者に明確に理解可能であろう。
【図面の簡単な説明】
【0016】
【
図1】一実施例によるアプリ性能モニタリングシステムを示す構成図である。
【
図2】一実施例によるアプリ性能モニタリング装置を示すブロック図である。
【
図3】一実施例によるアプリ性能モニタリング装置の制御部を示すブロック図である。
【
図4】一実施例によるアプリ性能モニタリング装置でフィルタリングのための駆動条件を表示した画面を示す図である。
【
図5】一実施例によるアプリ性能モニタリング装置で駆動状況に対応する詳細項目を示す図である。
【
図6】一実施例によるアプリ性能モニタリング装置でアプリ性能モニタリング動作を示す図である。
【発明を実施するための形態】
【0017】
以下では添付図面に基づいて本発明が属する技術分野で通常の知識を有する者が容易に実施することができるように本発明の実施例を詳細に説明する。しかし、本発明はいろいろの相異なる形態に具現されることができ、ここで説明する実施例に限定されない。そして、図面で本発明を明確に説明するために説明と関係ない部分は省略し、明細書全般にわたって類似の部分に対しては類似の図面符号を付ける。
【0018】
明細書全般にわたり、ある構成が他の構成と“連結”されていると言うとき、これは‘直接連結’されている場合だけではなく、‘その中間にさらに他の構成を挟んで連結’されている場合も含む。また、ある構成が他の構成を“含む”というとき、これは特に反対する記載がない限り、その外の構成を除くものではなく、他の構成をさらに含むこともできることを意味する。
【0019】
以下、添付図面に基づいて実施例を詳細に説明する。ただ、その説明に先立ち、下記で使う用語の意味を先に定義する。
【0020】
ここで、‘アプリケーション’は後述する電子端末又は端末上で実行されて所定の目的を達成するためのプログラムであり、アプリケーションプログラムとも言う。このようなアプリケーションは、以下で‘アプリ’と同一の意味として混用して使うことがある。
【0021】
‘駆動条件’はアプリがテストされる駆動環境についての情報を確認するための条件であり、アプリの実行による活動内訳を示す実行状態、端末のオペレーティングシステムバージョン、端末の種類、端末の接続地域についての情報の少なくとも一つを含むことができる。ここで、駆動条件は例示的に説明したもので、必要によってアプリテストのための端末のハードウェア及びソフトウェアリソース又は端末周辺環境についての情報をさらに含むことができる。
【0022】
‘駆動状況’は駆動条件によって端末で収集された情報をフィルタリングして獲得した情報であり、アプリテスト結果を意味する。駆動状況はアプリのテストによる端末のアプリ使用状態又は端末のリソース使用量を示すことがあり、詳細項目に区分されることができる。詳細項目は、例えばアプリの使用流れ、使用者インターフェース(UI)レンダリング時間、中央処理装置使用量、メモリ使用量、ネットワーク応答時間、及びクラッシュの少なくとも一つを含むことができる。
【0023】
図1は一実施例によるアプリ性能モニタリングシステムを示す構成図である。
【0024】
図1に示したように、アプリ性能モニタリングシステム10は、端末110、120とアプリ性能モニタリング装置200を含むことができる。アプリ性能モニタリング装置200はネットワークNを介して端末110、120と通信することができる。
【0025】
端末110、120はアプリが実行される装置であって、端末110、120でアプリを実行させ、実行されるアプリをテストすることによってテスト端末と見なされることができる。ここで、テスト端末はアプリのテストを進行するとかアプリのテストを進行するために選択された端末を意味する。
【0026】
端末110、120はアプリのテストに必要な多様な情報をアプリ性能モニタリング装置200に提供することができる。例えば、端末110、120はアプリのテストのための端末の固有情報(製造社、モデル)をアプリ性能モニタリング装置200に提供することができる。また、端末110、120はアプリの実行によって生成するとか変更することができる多様な情報をアプリ性能モニタリング装置に提供することができ、使用者の移動などによる端末110、120の状態変化によって発生する情報(例えば、位置情報など)をアプリ性能モニタリング装置200に提供することもできる。
【0027】
端末110、120はネットワークNを介して遠隔地のサーバーに接続するとか、他の端末及びサーバーと連結可能なコンピュータ、携帯用端末機又はテレビから具現されることができる。ここで、コンピュータは、例えばウェブブラウザー(WEB Browser)が搭載されたノートブック型パソコン、デスクトップ(desktop)、ラップトップ(laptop)などを含み、携帯用端末機は、例えば携帯性及び移動性を保障する無線通信装置であって、PCS(Personal Communication System)、PDC(Personal Digital Cellular)、PHS(Personal Handyphone System)、PDA(Personal Digital Assistant)、GSM(登録商標)(Global System for Mobile communications)、IMT(International Mobile Telecommunication)-2000、CDMA(Code Division Multiple Access)-2000、W-CDMA(W-Code Division Multiple Access)、Wibro(Wireless Broadband Internet)、スマートフォン(SmartPhone)、モバイルWiMAX(Mobile Worldwide Interoperability for Microwave Access)などの全ての種類のハンドヘルド(Handheld)基盤の無線通信装置を含むことができる。また、テレビはIPTV(Internet Protocol Television)、インターネットTV(Internet Television)、地上波TV、ケーブルTVなどを含むことができる。
【0028】
アプリ性能モニタリング装置200はテストしようとするアプリを端末110、120で実行させ、実行結果を確認することができる。また、アプリ性能モニタリング装置200は、端末110、120でアプリを実行させるために、端末110、120のアプリ組込み動作を制御することができる。このようなアプリ性能モニタリング装置200は個人コンピュータ(PC)だけでなく携帯用端末機などを含む多様な電子端末で具現されることができ、上述した端末110、120と同一の装置で具現されることもできる。
【0029】
例えば、アプリ性能モニタリング装置200には、アプリテストを実行するためのプログラムが組み込まれることができる。また、アプリ性能モニタリング装置200はアプリテストを実行するためのプログラムが組み込まれたサーバー(図示せず)と通信を行い、アプリテストに関連した入力を受信し、アプリテスト結果を表示するための使用者インターフェース画面を提供することもできる。端末110、120に組み込まれるアプリにはアプリテストのためのモジュールがソフトウェア開発キット(Software Development Kit、以下‘SDK’と言う)などの形態として含まれることができる。アプリテストを実行するためのプログラムはSDKが含まれたアプリに対するテストを実行することができる。
【0030】
アプリ性能モニタリング装置200はアプリが実行される端末110、120からアプリのテストのために必要な情報を受信することができる。アプリ性能モニタリング装置200は端末110、120から収集された情報を駆動条件に基づいてフィルタリングし、フィルタリングされた結果である駆動状況についての情報を提供することができる。ここで、駆動条件は使用者がアプリ性能モニタリング装置200を介して設定することができる。
【0031】
次に、アプリ性能モニタリング装置200を
図2に基づいてより詳細に説明する。
【0032】
図2は一実施例によるアプリ性能モニタリング装置を示すブロック図である。
【0033】
図2に示したように、アプリ性能モニタリング装置200は、入出力部210、通信部220、格納部230及び制御部240を含むことができる。
【0034】
入出力部210は、使用者から入力を受信するための入力部と、作業の実行結果又はアプリ性能モニタリング装置200の状態などの情報を表示するための出力部とを含むことができる。例えば、入出力部210は、使用者入力を受信する操作パネル(operation panel)及び画面を表示するディスプレイパネル(display panel)などを含むことができる。
【0035】
具体的に、入力部は、キーボード、物理ボタン、タッチスクリーン、カメラ又はマイクなどのように多様な形態の使用者入力を受信することができる装置を含むことができる。また、出力部は、ディスプレイパネル又はスピーカーなどを含むことができる。ただ、これに限定されず、入出力部210は多様な入出力を支援する構成を含むことができる。
【0036】
一方、通信部220は、他のデバイス又はネットワークNと有無線通信を実行することができる。このために、通信部220は多様な有無線通信方法の少なくとも一つを支援する通信モジュールを含むことができる。例えば、通信モジュールはチップセット(chipset)の形態に具現されることができる。
【0037】
通信部220が支援する無線通信は、例えばWi-Fi(Wireless Fidelity)、Wi-Fi Direct、ブルートゥース(登録商標)(Bluetooth(登録商標))、UWB(Ultra Wide Band)又はNFC(Near Field Communication)などであってもよい。また、通信部220が支援する有線通信は、例えばUSB又はHDMI(登録商標)(High Definition Multimedia Interface)などであってもよい。上述した通信は例示であるだけ、アプリ性能モニタリング装置200が通信を実行するようにする各種の通信技法が可能である。
【0038】
一方、格納部230には、ファイル、アプリケーション及びプログラムなどの多様な種類のデータが組み込まれるとか保存されることができる。データの例として、アプリテストのための情報を含むことができ、アプリテストのために端末110、120から収集された情報であってもよい。
【0039】
格納部230に保存されたデータは後述する制御部240によってアクセスされて用いられるとか、あるいは制御部240によって新しいデータが保存されることができる。また、格納部230は制御部240によって実行可能なプログラムを保存することができる。
【0040】
格納部230はアプリテスト動作によって生成された情報又はアプリテスト結果についての情報を制御部240によって保存することができる。
【0041】
一方、制御部240はアプリ性能モニタリング装置200の全般的な動作を制御し、CPUなどのプロセッサを含むことができる。制御部240は入出力部210を介して受信した使用者入力に対応する動作を実行するようにアプリ性能モニタリング装置200に含まれた他の構成を制御することができる。
【0042】
例えば、制御部240は格納部230に保存されたデータを読んで来るとか、新しいデータを格納部230に保存することもできる。
【0043】
一実施例によると、制御部240は、通信部220を介して端末110、120からアプリテストについての情報を受信することができる。制御部240は、受信された情報をフィルタリングするために、入出力部210を介して入力された情報に基づいて駆動条件を設定することができる。
【0044】
制御部240は駆動条件に基づいて端末110、120でテスト関連情報をフィルタリングすることができる。端末110、120でフィルタリングされた情報はアプリの駆動状況を示すことができる。制御部240は、現在クラッシュが発生しなかった状態でもアプリに関連した状況を確認することができる情報である駆動状況を設定の駆動条件によってフィルタリングして受けることができる。ここで、クラッシュ(crash)は、電源の遺失、システムエラー、アプリケーションエラーなどによって正常な終了動作を実行することができなかった場合に発生するエラーを意味する。
【0045】
一方、制御部240を
図3に基づいてより詳細に説明する。
【0046】
これにより、アプリ性能モニタリング装置200はフィルタリング動作を行って、アプリテスト時にクラッシュの発生有無にかかわらずアプリで発生し得る欠陷を確認することができる情報を使用者に提供することができる。このように、アプリ性能モニタリング装置200は、クラッシュの発生前にアプリテストによって発生した欠陷(例えば、リソースの過度な使用又はアプリの性能低下など)についての情報を提供することによってアプリの管理者が問題を解決することができるようにするので、アプリの欠陷による使用者離脱を防止することができる。
【0047】
さらに、アプリ性能モニタリング装置200はアプリ実行時に発生し得る欠陷をクラッシュの発生前にターゲッティングしてソースコードを修正するとかソースコードの修正が不必要な状況(例えば、アプリの接続地域が違う地域に位置、低仕様の端末によるCPU使用量又はメモリ使用量の超過など)を判断することができる。これにより、アプリ性能モニタリング装置200は、アプリで問題が発生するとき、ソースコードの修正が必要な状況であるかをアプリ管理者が把握することができるようにすることによって不必要なソースコードの修正動作を予防することができる。
【0048】
図3は一実施例によるアプリ性能モニタリング装置の制御部を示すブロック図である。
【0049】
図3に示したように、制御部240は、テスト端末管理部241、フィルター部242、及びテスト情報処理部243を含むことができる。
【0050】
一実施例によるテスト端末管理部241は、通信部220を介して端末110、120と通信することができ、端末110、120の情報を管理することができる。テスト端末管理部241は、端末110、120のハードウェアリソース及びソフトウェアリソースについての情報を管理することができる。例えば、テスト端末管理部241は、端末110、120の製造社、モデル(又は製品名)、スペック(CPU、メモリ、カメラ、ディスプレイ、及びバッテリーなどの性能)などのハードウェアリソースについての情報を管理するとか、オペレーティングシステム又はオペレーティングシステムバージョンなどについての情報を管理することができる。
【0051】
テスト端末管理部241は格納部230に端末110、120の情報を保存するとか端末110、120の製造社サーバーと通信して端末110、120の情報を収集することができる。このような場合、テスト端末管理部241は、端末110、120の製品名を受信して端末についての詳細情報、すなわちハードウェアリソース及びソフトウェアリソースについての情報を獲得することもできる。
【0052】
テスト端末管理部241は、端末110、120で駆動されているアプリについての情報を受けることができる。また、テスト端末管理部241は、アプリの使用についての多様な情報を端末110、120から受けることができる。例えば、テスト端末管理部241はアプリの実行による使用者の活動内訳についての情報として実行状態情報を受信することができる。ここで、実行状態は使用者の入力によってアプリが実行されるそれぞれの状態を意味する。それぞれの実行状態に対応して端末に表示される実行画面が存在することができる。例えば、実行状態はアンドロイドオペレーティングシステムではアクティビティ又はiOSではiOSビューに対応することができる。
【0053】
一実施例によるフィルター部242は駆動条件を使用者から受けて設定するとか駆動条件が内部に予め設定されていることがある。フィルター部242は設定された駆動条件で端末110、120で受信された情報をフィルタリングすることができる。例えば、フィルター部242はフィルタリングのための駆動条件として、実行状態、オペレーティングシステムバージョン、端末種類、及び接続地域に対する条件の少なくとも一つを含むことができる。
【0054】
まず、フィルター部242はアプリの実行による活動内訳を示す実行状態を駆動条件として設定することができる。その後、フィルター部242はオペレーティングシステムバージョンを駆動条件として設定することができ、ついで端末種類を駆動条件として設定することができる。最後に、フィルター部242は接続地域を駆動条件として設定することができる。このように、フィルター部242は、実行状態、オペレーティングシステムバージョン、端末種類、及び接続地域を駆動条件で設定することができ、駆動条件の設定時に二つ以上の駆動条件を使う場合、アンド演算を用いることができる。よって、フィルター部242は実行状態、オペレーティングシステムバージョン、端末種類、及び接続地域に対して順にアンド演算を行ってフィルタリングすることができる。
【0055】
フィルター部242は、駆動条件の設定時、駆動条件別に特定の駆動状況が発生する頻度数と危険度(例えば、欠陥又はクラッシュの発生)を入出力部210を介して出力することもできる。また、フィルター部242はフィルタリングされた駆動状況をテスト情報処理部243に出力することができる。
【0056】
一実施例によるテスト情報処理部243はフィルタリングされた駆動状況を整列するとか図式化して出力することができる。このために、テスト情報処理部243は、表、チャート、グラフなどの多様な方式で情報を出力することができる。
【0057】
テスト情報処理部243は駆動条件によってフィルタリングされた情報である駆動状況についての情報を入出力部210を介して出力することができる。これにより、テスト情報処理部243は使用者にアプリテストのための駆動状況で発生し得る欠陷を確認することができる情報を提供することができる。
【0058】
テスト情報処理部243は駆動状況の詳細項目についての情報を提供することができる。ここで、詳細項目は、アプリの使用流れ、使用者インターフェースレンダリング時間、中央処理装置使用量、メモリ使用量、ネットワーク応答時間、及びクラッシュの少なくとも一つを含む。テスト情報処理部243は、詳細項目についての情報の提供時、使用者によって設定された特定期間、一定時間、日付などを基準に詳細項目を表示することができる。
【0059】
アプリ性能モニタリング装置200で使われる駆動条件又は駆動状況はアプリテスト動作を説明するために例示的に説明したもので、上述した情報外の多様な情報が駆動条件として設定されるとか駆動状況として出力されることができる。
【0060】
図4は一実施例によるアプリ性能モニタリング装置でフィルタリングのための駆動条件が表示された画面を示す図である。
【0061】
図4には、アプリ性能モニタリング装置200でのフィルタリングのための駆動条件310が示されている。
【0062】
アプリ性能モニタリング装置200は、実行状態311、オペレーティングシステムバージョン312、端末種類313、及び接続地域314の少なくとも一つを駆動条件310として含むことができる。ここで、使用者はアプリ性能モニタリング装置200を介して実行状態311、オペレーティングシステムバージョン312、端末種類313、及び接続地域314を選択することによって駆動条件を設定することができる。アプリ性能モニタリング装置200は、駆動条件の設定時、実行状態311、オペレーティングシステムバージョン312、端末種類313、及び接続地域314をアンド演算することができ、アンド演算のために一つずつ順次選択することもできる。
【0063】
しかし、アプリ性能モニタリング装置200には、実行状態311、オペレーティングシステムバージョン312、端末種類313、及び接続地域314に対する駆動条件310の多様な組合せが予め設定されて保存されることができる。ここで、アプリ性能モニタリング装置200は予め設定された条件に対していちいち設定しなくても、一つの組合せに対する1回の選択のみでもフィルタリングのための駆動条件を設定するようにすることもできる。
【0064】
一実施例による実行状態311はA1~A10で示されている。例えば、実行状態311で、A1はメイン実行状態、A2はミーリスト(mealist)実行状態、A3はギャラリー実行状態、A4は共有実行状態、A5は管理実行状態、A6はヘルプ実行状態、A7はログイン実行状態、A8は学習(チュートリアル)実行状態、A9はスライドショー実行状態、A10は推薦実行状態などを示すことができる。
【0065】
一実施例によるオペレーティングシステムバージョン312は、アンドロイド、iOSなどのように端末で使われるオペレーティングシステムのバージョンを意味することができる。例えば、オペレーティングシステムバージョン312はアンドロイドオペレーティングシステムを仮定することができ、V1はバージョン7.0、V2はバージョン6.0.1、V3はバージョン4.1.1、V4はバージョン5.0、V5はバージョン4.0.4、V6はバージョン4.3、V7はバージョン4.4.2を示すことができる。
【0066】
一実施例による端末種類313は端末の種類を示すことができ、器機名称又は器機のモデルなどを含むことができる。例えば、D1はS社のG1製品、D2はL社のH2製品、D3はA社のI1製品、D5はS社のG2製品、D6はL社のH4製品、D7はS社のG4製品であってもよい。
【0067】
一実施例による接続地域314は端末が接続した位置又は端末の現在位置を示すことができる。例えば、位置L1は大韓民国(KR)であってもよい。
【0068】
ここで、それぞれの実行状態311に対応する円には駆動条件としてフィルタリングされた全てのテスト端末のうち該当実行状態311を行ったテスト端末の比率が表示される。また、それぞれの実行状態311に対応する円内の色相は危険度320を示すことができ、危険(黒色)、警告(灰色)、安定(白色)などで示すことができる。
【0069】
駆動条件310で実行状態311を基準に実行比率と危険度を示している(330)。ここで、実行状態311はアプリの使用によってツリー構造に示されることができ、アプリのメイン画面を示すメイン実行状態A1を基準に各実行状態別に実行比率と危険度を確認することができる。
【0070】
また、A4のような共有実行状態の場合、例えばA41はフェースブック(登録商標)共有実行状態、A42はインスタグラム共有実行状態などに区分され、各実行状態の下位実行状態を示すツリー構造を有することができ、下位実行状態に対しても実行比率と危険度を確認することができる。
【0071】
図5は一実施例によるアプリ性能モニタリング装置で駆動状況に対応する詳細項目を示す図である。
【0072】
図5に示したように、アプリ性能モニタリング装置200は駆動状況に対する各詳細項目を示すことができる。
【0073】
例えば、アプリ性能モニタリング装置200は、詳細項目として、アプリの使用流れ410、アプリの使用者インターフェース(UI:User Interface)レンダリング時間420、CPU使用量430、及びメモリ使用量440などを示すことができる。
【0074】
アプリの使用流れ410を説明すると、アプリ性能モニタリング装置200は、アプリの全ての使用状況411のうち、メイン実行状態412、サーバーディテール実行状態413、URLディテール実行状態414、ギャラリー実行状態415、ログイン実行状態416、及びクラッシュ実行状態417の使用状況を示すことができる。
【0075】
UIレンダリング時間420を説明すると、縦軸はUIレンダリングにかかる時間(ms(ミリ秒))を示し、横軸は日付を示す。グラフに表示される表示客体の色相によって該当表示客体に相当する駆動状況が発生した頻度数を示すことができる。
【0076】
CPU使用量430を説明すると、縦軸はCPU使用の比率(百分率(%))を示し、横軸は日付を示す。また、メモリ使用量440を説明すると、縦軸はメモリ使用容量(メガバイト(MB))を示し、横軸は日付を示す。CPU使用量430とメモリ使用量440においてもグラフに表示される表示客体の色相によって該当表示客体に相当する駆動状況が発生した頻度数を示すことができる。
【0077】
これにより、アプリ性能モニタリング装置200は、アプリテスト時に発生した欠陷を確認すれば、アプリの欠陷を解決するための措置を実行することができるように現在アプリの駆動状況についての情報を提供することができる。
【0078】
一方、上述した日付はテストデータが収集された期間を例示的に説明したもので、分、時間、月、分期などに多様に設定されることができる。
【0079】
一方、
図5に示されてはいないが、アプリ性能モニタリング装置200は詳細項目としてネットワーク応答時間とクラッシュについての情報を追加的に提供することもできる。
【0080】
図6は一実施例によるアプリ性能モニタリング装置でアプリ性能モニタリング動作を示す図である。
【0081】
図6に示したように、アプリ性能モニタリング装置200はアプリテストのための端末情報を確認する(S511)。アプリ性能モニタリング装置200は端末についての情報を確認することができ、特に、端末で使われるオペレーティングシステムバージョン又は端末種類についての情報を確認することができる。アプリ性能モニタリング装置200はオペレーティングシステムバージョンと端末種類を駆動条件の設定によるフィルタリング時に使うことができる。
【0082】
アプリ性能モニタリング装置200はフィルタリングのための駆動条件を設定することができる(S513)。アプリ性能モニタリング装置200は、実行状態、オペレーティングシステムバージョン、端末種類、及び接続地域に対してアンド演算で駆動条件を設定することができる。ここで、アプリ性能モニタリング装置200は駆動条件による実行比率と危険度についての情報を提供することもできる。
【0083】
アプリ性能モニタリング装置200は設定された駆動条件によってフィルタリングを実行する(S515)。アプリ性能モニタリング装置200は、アプリテスト中の端末からテスト関連情報を受信し、受信された情報を駆動条件によってフィルタリングする。
【0084】
アプリ性能モニタリング装置200は、フィルタリング結果である駆動項目に対する詳細項目が選択されたかを確認する(S517)。これにより、アプリ性能モニタリング装置200はフィルタリングされた駆動項目についての情報のうち所望の詳細項目についての情報を確認することができる。S517段階の確認結果、詳細項目が選択されれば、S519段階に進む。S517段階の確認結果、詳細項目が選択されなければ、駆動項目に対する全ての情報の提供を要請するものであるので、アプリ性能モニタリング装置200はS521段階に進む。
【0085】
アプリ性能モニタリング装置200は選択された詳細項目についての情報を提供することができる(S519)。アプリ性能モニタリング装置200は、駆動状況に対する全ての情報を提供する代わりに、詳細項目の選択動作によってアプリテストを行う使用者が所望の情報のみを提供するようにすることができる。
【0086】
アプリ性能モニタリング装置200はフィルタリング結果であるアプリの駆動状況を提供することができる(S521)。例えば、アプリ性能モニタリング装置200は、駆動状況に対する全ての詳細項目についての情報を提供することができる。また、アプリ性能モニタリング装置200はフィルタリング結果として駆動状況でアプリテスト時に発生した欠陷についての情報のみを抽出して提供することもできる。
【0087】
アプリ性能モニタリング装置200はアプリテストを終了するかを判断する(S523)。S523段階の判断結果、アプリテストを終了する場合、S525段階に進む。アプリ性能モニタリング装置200は、アプリテストを終了しない場合、S513段階に進む。
【0088】
アプリ性能モニタリング装置200はアプリテスト結果を保存するかを確認する(S525)。525段階の確認結果、アプリテスト結果を保存する場合、アプリ性能モニタリング装置200はS527段階に進む。アプリ性能モニタリング装置200はアプリテスト結果を保存しない場合、アプリ性能モニタリング装置200は終了する。
【0089】
アプリ性能モニタリング装置200はアプリテスト結果を保存してから終了する(S527)。アプリ性能モニタリング装置200はフィルタリングのための駆動条件又はフィルタリング結果である駆動状況に対応する情報をマッチさせて保存することができる。また、アプリ性能モニタリング装置200は駆動状況によって欠陷が発生するとかクラッシュが発生すると予想される欠陷に対してアプリのソースコード修正のための使用者入力を受信することもできる。
【0090】
このように、アプリ性能モニタリング装置200は、フィルタリングのために設定された駆動条件の組合せ(例えば、メイン実行状態、アンドロイド7.0バージョン、S社のGシリーズ端末、大韓民国など)をフィルタリンググループについての情報を保存し、駆動条件の組合せに対応する駆動状況を一緒に保存してアプリテストの欠陷を見つけることができる。
【0091】
アプリ性能モニタリング装置200は、アプリの異常終了時、アプリそのものではなくてモバイルプラットホームでのリソース状況を一緒に考慮して欠陷を確認して原因分析を行うことができるので、アプリテストの正確度が向上することができる。さらに、アプリ性能モニタリング装置200はアプリが配布されるマーケット又は地域に制限されずにいつでもどこでもアプリテストのために収集されたデータを用いることができる。
【0092】
以上の実施例で使われる‘~部’という用語はソフトウェア又はFPGA(field programmable gate array)又はASICのようなハードウェア構成要素を意味し、‘~部’は所定の役割をする。しかし、‘~部’はソフトウェア又はハードウェアに限定される意味ではない。‘~部’はアドレスすることができる記録媒体にあるように構成されることもでき、一つ又はそれ以上のプロセッサを再生させるように構成されることもできる。したがって、一例として、‘~部’はソフトウェア構成要素、客体指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシージャ、サブルーチン、プログラム特許コードのセグメント、ドライバー、ファームウエア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、及び変数を含む。
【0093】
構成要素と‘~部’内で提供される機能はもっと少ない数の構成要素及び‘~部’と結合されるとか追加的な構成要素と‘~部’から分離されることができる。
【0094】
それだけでなく、構成要素及び‘~部’はデバイス又は保安マルチメディアカード内の一つ又はそれ以上のCPUを再生させるように具現されることもできる。
【0095】
図6に基づいて説明した実施例によるアプリ性能モニタリング方法はコンピュータによって実行可能な命令語及びデータを保存する、コンピュータ可読の媒体の形態でも具現されることができる。ここで、命令語及びデータはプログラムコードの形態として保存されることができ、プロセッサによって実行されたとき、所定のプログラムモジュールを生成して所定の動作を実行することができる。また、コンピュータ可読の媒体はコンピュータによってアクセス可能な任意の可用媒体であってもよく、揮発性及び不揮発性媒体、分離型及び非分離型媒体のいずれも含む。また、コンピュータ可読の媒体はコンピュータ記録媒体であってもよい。コンピュータ記録媒体はコンピュータ可読の命令語、データ構造、プログラムモジュール又はその他のデータのような情報の保存のための任意の方法又は技術で具現された揮発性及び不揮発性、分離型及び非分離型媒体のいずれも含むことができる。例えば、コンピュータ記録媒体はHDD及びSSDなどのような磁気記録媒体、CD、DVD及びブルーレイディスクなどの光学記録媒体、又はネットワークを介して接近可能なサーバーに含まれるメモリであってもよい。
【0096】
また、
図6に基づいて説明した実施例によるアプリ性能モニタリング方法はコンピュータによって実行可能な命令語を含むコンピュータプログラム(又はコンピュータプログラム製品)で具現されることもできる。コンピュータプログラムはプロセッサによって処理されるプログラミング可能な機械命令語を含み、高レベルプログラミング言語(High-level Programming Language)、客体指向プログラミング言語(Object-oriented Programming Language)、アセンブリー言語又は機械言語などで具現されることができる。また、コンピュータプログラムは類型のコンピュータ可読の記録媒体(例えば、メモリ、ハードディスク、磁気/光学媒体又はSSD(Solid-State Drive)など)に記録されることができる。
【0097】
したがって、
図6に基づいて説明した実施例によるアプリ性能モニタリング方法は上述したようなコンピュータプログラムをコンピュータ装置によって実行することによって具現することができる。コンピュータ装置は、プロセッサと、メモリと、保存装置と、メモリ及び高速拡張ポートに接続している高速インターフェースと、低速バスと保存装置に接続している低速インターフェースの少なくとも一部を含むことができる。このような成分のそれぞれは多様なバスを介して互いに接続されており、共通マザーボードに搭載されるとか他の適切な方式で装着されることができる。
【0098】
ここで、プロセッサはコンピュータ装置内で命令語を処理することができる。このような命令語としては、例えば高速インターフェースに接続されたディスプレイのように、外部入力、出力装置上にGUI(Graphic User Interface)を提供するためのグラフィック情報を表示するために、メモリ又は保存装置に保存された命令語を挙げることができる。他の実施例として、多数のプロセッサ及び/又は多数のバスが適切に多数のメモリ及びメモリ形態と一緒に用いられることができる。また、プロセッサは独立的な多数のアナログ及び/又はデジタルプロセッサを含むチップが成すチップセットで具現されることができる。
【0099】
また、メモリはコンピュータ装置内で情報を保存する。一例として、メモリは揮発性メモリユニット又はそれらの集合でなることができる。他の例として、メモリは不揮発性メモリユニット又はそれらの集合で構成されることができる。また、メモリは、例えば磁気又は光ディスクのような他の形態のコンピュータ可読の媒体であってもよい。
【0100】
そして、保存装置はコンピュータ装置に大容量の保存空間を提供することができる。保存装置はコンピュータ可読の媒体であってもよく、このような媒体を含む構成であってもよい。例えば、SAN(Storage Area Network)内の装置又は他の構成も含むことができ、フロッピーディスク装置、ハードディスク装置、光ディスク装置、又はテープ装置、フラッシュメモリー、それと類似した他の半導体メモリ装置又は装置アレイであってもよい。
【0101】
上述した実施例は例示のためのもので、上述した実施例が属する技術分野の通常の知識を有する者であれば上述した実施例が有する技術的思想又は必須な特徴を変更しなくても他の具体的な形態に易しく変形可能であることが理解可能であろう。したがって、上述した実施例は全ての面で例示的なものであり、限定的なものではないことを理解しなければならない。例えば、単一型として説明されている各構成要素は分散されて実施されることもでき、同様に分散されたものとして説明されている構成要素も結合された形態に実施されることができる。
【0102】
本明細書によって保護を受けようとする範囲は前記詳細な説明よりは後述する特許請求範囲によって決定され、特許請求範囲の意味及び範囲そしてその均等な概念から導出される全ての変更又は変形の形態を含むものと解釈されなければならない。
【符号の説明】
【0103】
10 アプリ性能モニタリングシステム
110、120 テスト端末
200 アプリ性能モニタリング装置
210 入出力部
220 通信部
230 格納部
240 制御部
241 テスト端末管理部
242 フィルター部
243 テスト情報処理部