JP6755661B2 - 状態遷移解析装置、状態遷移解析方法及びコンピュータプログラム - Google Patents

状態遷移解析装置、状態遷移解析方法及びコンピュータプログラム Download PDF

Info

Publication number
JP6755661B2
JP6755661B2 JP2016001271A JP2016001271A JP6755661B2 JP 6755661 B2 JP6755661 B2 JP 6755661B2 JP 2016001271 A JP2016001271 A JP 2016001271A JP 2016001271 A JP2016001271 A JP 2016001271A JP 6755661 B2 JP6755661 B2 JP 6755661B2
Authority
JP
Japan
Prior art keywords
screen
operation control
transition
terminal operation
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016001271A
Other languages
English (en)
Other versions
JP2017123018A (ja
Inventor
孝昭 名雲
孝昭 名雲
卓也 西野
卓也 西野
政信 仲間
政信 仲間
充弘 畑田
充弘 畑田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Communications Corp
Original Assignee
NTT Communications Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Communications Corp filed Critical NTT Communications Corp
Priority to JP2016001271A priority Critical patent/JP6755661B2/ja
Publication of JP2017123018A publication Critical patent/JP2017123018A/ja
Application granted granted Critical
Publication of JP6755661B2 publication Critical patent/JP6755661B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、アプリケーションの動作状態を解析する技術に関する。
従来、アプリケーションにおいて、不正に情報送信が行われるかを検知するために動的解析技術の開発が盛んに行われている。動的解析技術における大きな課題として、解析の効率的な自動化と自動解析が及ばなかった箇所の把握が存在する。このような課題に対して、従来、端末上で動作するアプリケーションの実行状態を把握し、未実行箇所の実行を促す技術及び動作した箇所の計測技術が提案されている(例えば、特許文献1参照)。
特開2014−85762号公報
しかしながら、従来の自動化技術では、端末上で動作するアプリケーションの画面状態の遷移が一定以上進むと進行が停滞してしまうため広範囲の解析ができないという問題があった。
上記事情に鑑み、本発明は、端末上で動作するアプリケーションの画面状態遷移の解析をより広範囲に実行することができる技術の提供を目的としている。
本発明の一態様は、アプリケーションから取得される前記アプリケーションの画面上に配置されている操作可能な部品に関する情報を表す画面構造データに基づいて、前記操作可能な部品の識別情報と、前記操作可能な部品が操作済みであるか否かを示す情報とを対応付けたリストを生成するリスト生成部と、生成された前記リストに基づいて、前記操作可能な部品における未操作部品を操作する端末操作制御部と、を備え、前記端末操作制御部は、所定の条件が満たされた場合には前記第1の画面とは異なる画面である第2の画面に遷移して前記第2の画面における未操作部品を操作する状態遷移解析装置である。
本発明の一態様は、上記の状態遷移解析装置であって、前記端末操作制御部は、前記第2の画面として、前記第1の画面へ遷移前の画面に遷移して前記未操作部品を操作する。
本発明の一態様は、上記の状態遷移解析装置であって、前記端末操作制御部は、前記第2の画面として、前記第1の画面からの遷移後の画面に遷移して前記未操作部品を操作する。
本発明の一態様は、上記の状態遷移解析装置であって、所定の終了条件が満たされるまでの間に操作できなかった前記未操作部品を、操作がなされた前記操作可能な部品と異なる表示態様で表し、前記端末操作制御部によって遷移された各画面間の遷移関係を表す状態遷移図を作成する状態可視部をさらに備える。
本発明の一態様は、アプリケーションから取得される前記アプリケーションの画面上に配置されている操作可能な部品に関する情報を表す画面構造データに基づいて、前記操作可能な部品の識別情報と、前記操作可能な部品が操作済みであるか否かを示す情報とを対応付けたリストを生成するリスト生成ステップと、生成された前記リストに基づいて、前記操作可能な部品における未操作部品を操作する端末操作制御ステップと、を有し、前記端末操作制御ステップにおいて、第1の画面において所定の条件が満たされた場合には前記第1の画面とは異なる画面である第2の画面に遷移して前記第2の画面における未操作部品を操作する状態遷移解析方法である。
本発明の一態様は、コンピュータに、アプリケーションから取得される前記アプリケーションの画面上に配置されている操作可能な部品に関する情報を表す画面構造データに基づいて、前記操作可能な部品の識別情報と、前記操作可能な部品が操作済みであるか否かを示す情報とを対応付けたリストを生成するリスト生成ステップと、生成された前記リストに基づいて、前記操作可能な部品における未操作部品を操作する端末操作制御ステップと、を実行させ、前記端末操作制御ステップにおいて、第1の画面において所定の条件が満たされた場合には前記第1の画面とは異なる画面である第2の画面に遷移して前記第2の画面における未操作部品を操作させるためのコンピュータプログラムである。
本発明により、端末上で動作するアプリケーションの画面状態遷移の解析をより広範囲に実行することが可能となる。
本発明のアプリケーション状態遷移解析システム100の機能構成を示す図である。 状態遷移解析装置30の機能構成を表す概略ブロック図である。 画面構造データの一例を示す図である。 操作対象リストの一例を示す図である。 状態遷移図の具体例を示す図である。 本実施形態における状態遷移解析装置30の処理の流れを示すフローチャートである。 本実施形態における状態遷移解析装置30の処理の流れを示すフローチャートである。
以下、本発明の一実施形態を、図面を参照しながら説明する。
図1は、本発明のアプリケーション状態遷移解析システム100の機能構成を示す図である。アプリケーション状態遷移解析システム100は、アプリケーション管理装置10、通信装置20及び状態遷移解析装置30を備える。アプリケーション管理装置10、通信装置20及び状態遷移解析装置30は、ネットワーク40を介して通信可能に接続される。なお、通信装置20と状態遷移解析装置30とは、USB(Universal Serial Bus)を介して接続されてもよいし、近距離接続(例えば、Bluetooth(登録商標)、NFC(Near Field Communication)などによる接続)であってもよい。
アプリケーション管理装置10は、複数のアプリケーションを保持する。アプリケーション管理装置10は、通信装置20からの要求に応じて、保持しているアプリケーションを通信装置20に配信する。ここで、アプリケーションとは、通信装置20において実行されるソフトウェアである。
通信装置20は、例えば携帯電話、スマートフォン、タブレット装置、パーソナルコンピュータ、ノートパソコン、ゲーム機器等の情報処理装置を用いて構成される。通信装置20は、ユーザからの指示に応じて、アプリケーション管理装置10からアプリケーションをダウンロードする。また、通信装置20は、状態遷移解析装置30の制御に従って、ダウンロードしたアプリケーションを実行する。
状態遷移解析装置30は、通信装置20を制御して、通信装置20にダウンロードされたアプリケーションの動作状態を解析する。
ネットワーク40は、どのように構成されたネットワークでもよい。ネットワーク40は、例えばインターネットを用いて構成されてもよい。
図2は、状態遷移解析装置30の機能構成を表す概略ブロック図である。状態遷移解析装置30は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、状態解析プログラムを実行する。状態解析プログラムの実行によって、状態遷移解析装置30は、情報取得部301、リスト生成部302、端末操作制御部303、記憶部304及び状態可視部305を備える装置として機能する。なお、状態遷移解析装置30の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。また、状態解析プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、状態解析プログラムは、電気通信回線を介して送受信されてもよい。
情報取得部301は、動作状態の解析対象となるアプリケーション(以下、「解析対象アプリ」という。)から、解析利用情報を取得する。解析利用情報とは、解析対象アプリの動作状態の解析に利用される情報であり、例えばアプリID、画面ID及び画面構造データである。アプリIDは、アプリケーションを識別するための識別情報を表す。画面IDは、通信装置20上で表示されている画面の識別IDを表す。画面構造データは、アプリケーションの画面構造に関するデータであり、例えば画面を構成している部品の種類、部品間の階層構造及び部品の識別IDなどを含む。ここで、画面を構成している部品とは、例えばボタン、テキストボックス、チェックボックスなどである。なお、画面構造データは、既存の技術を用いて取得可能である。例えば、画面構造データは、uiautomatorツールのdumpオプションによって取得できる。このオプションを使用すると、XML(Extensible Markup Language)形式で階層構造や部品ごとの属性(例えば、画面上での配置座標、クリック可否フラグ及びテキスト値など)が取得可能である。図3に画面構造データの一例を示す。図3は、画面構造データの一例を示す図である。図3の<hierarchy>間に示される文字列が階層構造などを表している。情報取得部301は、取得した解析利用情報をリスト生成部302に出力する。
リスト生成部302は、情報取得部301から出力された解析利用情報を入力する。リスト生成部302は、入力された解析利用情報に基づいて操作対象リストを生成する。操作対象リストは、解析利用情報に含まれる部品の識別IDのうち操作可能な部品(例えば、クリック可否フラグが可である部品)の識別IDと、操作済みであるか否かを示す項目とが対応付けられたリストである。リスト生成部302は、解析利用情報と、生成した操作対象リストを記憶部304に記憶させる。図4に操作対象リストの一例を示す。
図4は、操作対象リストの一例を示す図である。
図4に示されるように、操作対象リストには識別IDと、操作済みであるか否かを示す項目とが対応付けられている。ここで、操作済みであるか否かを示す項目には、“true”又は“false”のいずれかが記録されている。“true”は、対応する識別IDで識別される部品が操作済みであることを示す。“false”は、対応する識別IDで識別される部品が操作済みではないことを示す。なお、操作対象リスト生成時には、各識別IDに対応する操作済みであるか否かを示す項目には“false”の値が記録される。例えば、図4に示される例では、識別ID“0−0−0−0−0−1−0−1−2−0”で識別される部品が操作済みであることが示されている。
図2に戻って、状態遷移解析装置30の説明を続ける。
端末操作制御部303は、記憶部304に記憶されている操作対象リストに基づいて、操作可能な部品における操作済みではない部品(以下、「未操作部品」という。)を操作する。端末操作制御部303は、未操作部品を操作後、操作した部品に対応する操作対象リストの操作済みであるか否かを示す項目の値を“false”から“true”に更新する。また、端末操作制御部303は、画面の画像データを、情報取得部301によって取得される画面IDに対応付けて記憶部304に記憶させる。なお、画面の画像データは、画面全体の画像データであってもよいし、操作した部品の画像データであってもよい。さらに、端末操作制御部303は、通信装置20上で現在表示されている画面において所定の条件が満たされた場合、現在の画面(第1の画面)とは異なる画面(第2の画面)に遷移して遷移後の画面における未操作部品を操作する。ここで、所定の条件とは、例えば現在の画面における未操作部品がなくなった場合や、現在の画面へ遷移前の画面に遷移させるボタン(例えば、戻るボタン)が操作された場合や、現在の画面からの遷移後の画面に遷移させるボタン(例えば、進むボタン)が操作された場合などである。そして、端末操作制御部303は、遷移後の画面において上記と同様に、未操作部品を操作する処理を繰り返し実行する。端末操作制御部303は、このような処理を繰り返し実行し、解析終了条件が満たされると状態可視部305に対して処理を実行するように指示する。解析終了条件は、解析対象アプリに対する解析を終了するための条件であり、例えば解析対象アプリにおける未操作部品がなくなった場合、装置におけるホーム画面に遷移した場合、所定の回数繰り返し行われた場合などが挙げられる。また、端末操作制御部303は、現在の画面が別の画面に遷移した場合、現在の画面から遷移先の画面へ遷移する際に操作した部品(以下、「遷移部品」という。)の識別ID、遷移先の画面ID及び遷移先の画面データを遷移前の画面ID及び遷移前の画面データに対応付けた遷移データを記憶部304に記憶させる。例えば、現在の画面において進むボタンを操作して別の画面に遷移したとすると、端末操作制御部303は、遷移先の画面ID、遷移先の画面データ及び遷移部品(例えば、進むボタン)の識別IDを遷移前の画面ID及び遷移前の画面データに対応付けた遷移データを記憶部304に記憶させる。
記憶部304は、部品情報記憶部3041及び状態情報記憶部3042を用いて構成される。部品情報記憶部3041は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。部品情報記憶部3041は、操作対象リストを記憶する。状態情報記憶部3042は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。状態情報記憶部3042は、画面データ、解析利用情報及び遷移データなどを記憶する。
状態可視部305は、記憶部304に記憶されている情報に基づいて、所定の終了条件が満たされるまでの間に操作できなかった未操作部品を、操作がなされた部品と異なる表示態様で表し、各画面間の遷移関係を表す状態遷移図を作成することによって可視化する。状態可視部305は、例えば不図示の出力装置に可視化の結果を出力してもよいし、自装置に備えられる出力装置に可視化の結果を出力してもよい。出力装置は、例えば液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、CRT(Cathode Ray Tube)ディスプレイ等の画像表示装置であってもよい。また、各画面間の遷移関係は、遷移データに基づいて得られる。
状態可視部305の具体的な処理の一例について説明する。まず、状態可視部305は、記憶部304に記憶されている画面の情報(例えば、画面ID)、操作可能な部品の情報(例えば、操作可能な部品の識別ID)及び遷移データ(例えば、どの画面IDからどの画面IDに遷移するのか、遷移するためのトリガーとなる部品の識別IDなど)をDOT言語に変換する。ここでは、画面をノードとして扱い、遷移するトリガーとなった部品(例えば、進むボタン、戻るボタンなど)の情報をエッジとして扱う。例えば、ノード1からノード2に遷移する場合、状態可視部305はノード1からノード2に遷移すること(ノード1→ノード2)及びノード1からノード2に遷移するためのエッジの関係をDOT言語で表す。ここで、状態可視部305は、ノード1、ノード2及びエッジを画像データで表すような記述も行う。状態可視部305は、遷移データに基づいて、上記のような各画面間の遷移関係を全てDOT言語で表す。その後、状態可視部305は、状態情報記憶部3042に記憶されている画面データを、DOT言語で表される対応する箇所に用いることによって状態遷移図を作成する。
なお、状態可視部305における可視化処理には、以下の処理が含まれる。
・未実行部品の表示態様を変える
・画面及び遷移のトリガーとなる部品の画像埋め込み
・画面情報毎のサブグループ化
・他のアプリケーションへの遷移状態の表示
・操作可能部品に対する操作済み割合の表示
・通信装置20の画面方向及び解像度に合わせた表示
図5は、状態遷移図の具体例を示す図である。
図5に示される例では、複数の画面の遷移関係が示されている。例えば、画面50においてOKボタンが操作されると画面51に遷移することが示されている。また、画面50においてキャンセルボタンが操作されると画面52に遷移することが示されている。また、画面51においてOKボタンが操作されると、画面50に遷移することが示されている。また、画面52に遷移すると、操作可能部品が無いため解析処理が終了することが示されている。また、画面50では2つの部品(設定2及び設定3のボタン)が操作できなかったことが網掛け表示(図5の領域53)で示されている。
図6及び図7は、本実施形態における状態遷移解析装置30の処理の流れを示すフローチャートである。図6及び図7に示される処理は、状態遷移解析装置30に対してアプリケーションの解析指示がなされた場合に実行される。
端末操作制御部303は、通信装置20を制御して、解析対象アプリを起動する。解析対象アプリが起動されると、情報取得部301は通信装置20上で起動された解析対象アプリの初期状態を把握する(ステップS101)。ここで、初期状態とは、アプリケーションが起動された時点の画面を表す。具体的な処理として、情報取得部301は、起動された時点の画面において、解析対象アプリのアプリIDと、画面IDと、画面の画面構造データとを含む解析利用情報を取得する。情報取得部301は、取得した解析利用情報をリスト生成部302に出力する。次に、リスト生成部302は、情報取得部301から出力された解析利用情報に含まれる画面構造データに基づいて、操作対象リストを生成する。リスト生成部302は、生成した操作対象リストを部品情報記憶部3041に記憶させる。また、リスト生成部302は、情報取得部301から出力された解析利用情報を状態情報記憶部3042に記憶させる。そして、端末操作制御部303は、初期状態の画面の画像データを取得する。端末操作制御部303は、取得した画像データを、情報取得部301によって取得された画面IDに対応付けて部品情報記憶部3041に記憶させる。
状態遷移解析装置30は、解析終了条件が満たされたか否か判定する(ステップS102)。解析終了条件が満たされていない場合(ステップS102−NO)、端末操作制御部303は部品情報記憶部3041に記憶されている現在の画面において取得された解析利用情報に対応する操作対象リストに基づいて通信装置20を操作する(ステップS103)。具体的には、まず端末操作制御部303は、操作対象リストに基づいて、未操作部品の識別IDを取得する。次に、端末操作制御部303は、取得した識別IDの中から操作対象の部品に対応する識別IDを選択する。例えば、端末操作制御部303は、取得した識別IDの中から一番上の識別IDを選択する。そして、端末操作制御部303は、状態情報記憶部3042に記憶されている解析利用情報を参照し、選択した識別IDに対応する操作可能部品の配置座標位置を取得して対応する部品を操作する。その後、端末操作制御部303は、操作した部品に対応する識別IDと対応付けられている操作済みであるか否かを示す項目を操作済みであることを示す“true”に更新する(ステップS104)。
情報取得部301は、解析対象アプリの現在の画面を把握する(ステップS105)。例えば、ステップS103の処理によって解析対象アプリの画面が変更される可能性もある。つまり、ステップS103の処理によって操作されたボタンなどによって、ステップS103の処理前の画面から別の画面に遷移している可能性もある。そこで、情報取得部301は、再度、解析対象アプリの現在の画面を把握する。具体的な処理として、情報取得部301は、現在表示されている画面において、解析対象アプリのアプリIDと、画面IDと、画面の画面構造データとを含む解析利用情報を取得する。情報取得部301は、取得した解析利用情報をリスト生成部302に出力する。次に、リスト生成部302は、情報取得部301から出力された解析利用情報に含まれる画面構造データに基づいて、操作対象リストを生成する。リスト生成部302は、生成した操作対象リストを部品情報記憶部3041に記憶させる。
その後、端末操作制御部303は、記憶部304に記憶されている情報に基づいて、第1の状態判定を行う(ステップS106)。第1の状態判定では、現在の画面が新規であるか既存であるかが判定される。具体的には、まず端末操作制御部303は、直前のステップS103の実行前に取得された解析利用情報に含まれるアプリIDと、画面IDと、画面の画面構造データとを結合してハッシュ化したハッシュ値(以下、「操作前ハッシュ値」という。)と、直前のステップS103の実行後に取得された解析利用情報に含まれるアプリIDと、画面IDと、画面の画面構造データとを結合してハッシュ化したハッシュ値(以下、「操作後ハッシュ値」という。)とを比較する。次に、端末操作制御部303は、比較の結果、操作前ハッシュ値と操作後ハッシュ値とが一致する場合、現在の画面が既存であると判定する。一方、端末操作制御部303は、比較の結果、操作前ハッシュ値と操作後ハッシュ値とが一致しない場合、現在の画面が新規であると判定する。第1の状態判定において新規であると判定された場合(ステップS106−新規)、端末操作制御部303は現在の画面における画面の画面データを画面IDに対応付けて状態情報記憶部3042に記憶させる(ステップS107)。
一方、第1の状態判定において既存であると判定された場合(ステップS106−既存)、又は、ステップS107の処理が終了すると、端末操作制御部303は第2の状態判定を行う(ステップS108)。
第2の状態判定では、現在の画面が一致であるか相違であるかが判定される。具体的には、端末操作制御部303は、ステップS106の処理において現在の画面が新規であると判定した場合には現在の画面を相違であると判定する。一方、端末操作制御部303は、ステップS106の処理において現在の画面が既存であると判定した場合には現在の画面を一致であると判定する。第2の状態判定において相違である判定された場合(ステップS108−相違)、状態遷移解析装置30は切り替え後の画面を維持したまま以降の動作を行う(ステップS109)。端末操作制御部303は、部品情報記憶部3041に記憶されている操作対象リストのうち現在の画面に対応する操作対象リストを参照し、現在の画面で未操作部品があるか否か判定する(ステップS110)。
未操作部品がある場合(ステップS110−YES)、端末操作制御部303は現在の画面で未操作部品について、ステップS103以降の処理を実行する。一方、現在の画面で未操作部品がない場合(ステップS110−NO)、端末操作制御部303は現在の画面より1つ前の画面、つまり現在の画面に遷移する前の画面に遷移可能であるか否か判定する(ステップS111)。具体的には、端末操作制御部303は、現在の画面において1つ前の画面に遷移させる部品(例えば、戻るボタンなど)があるか否か判定する。1つ前の画面に遷移させる部品がある場合、端末操作制御部303は1つ前の画面に遷移可能であると判定する。一方、1つ前の画面に遷移させる部品がない場合、端末操作制御部303は1つ前の画面に遷移可能ではないと判定する。
1つ前の画面に遷移可能である場合(ステップS111−YES)、端末操作制御部303は1つ前の画面に遷移させる部品を操作して現在の画面を1つ前の画面に切り替える(ステップS112)。その後、ステップS110以降の処理が実行される。
一方、1つ前の画面に遷移可能ではない場合(ステップS111−NO)、端末操作制御部303は現在の画面より1つ先の画面、つまり現在の画面からの遷移先の画面に遷移可能であるか否か判定する(ステップS113)。具体的には、端末操作制御部303は、現在の画面において1つ先の状態に遷移させる部品(例えば、進むボタン、次へボタンなど)があるか否か判定する。1つ先の画面に遷移させる部品がある場合、端末操作制御部303は1つ先の画面に遷移可能であると判定する。一方、1つ先の画面に遷移させる部品がない場合、端末操作制御部303は1つ先の画面に遷移可能ではないと判定する。
1つ先の画面に遷移可能である場合(ステップS113−YES)、端末操作制御部303は1つ先の画面に遷移させる部品を操作して現在の画面を1つ先の画面に切り替える(ステップS114)。その後、ステップS110以降の処理が実行される。
一方、1つ先の画面に遷移可能ではない場合(ステップS113−NO)、端末操作制御部303はステップS102の処理を実行する。
また、ステップS102の処理において解析終了条件が満たされた場合(ステップS102−YES)、端末操作制御部303は状態可視部305に対して可視化の実行を指示する。状態可視部305は、端末操作制御部303からの指示に応じて、記憶部304に記憶されている情報を用いて可視化を行う(ステップS115)。
以上のように構成された状態遷移解析装置30によれば、端末上で動作するアプリケーションの画面状態遷移の解析をより広範囲に実行することが可能になる。以下、この効果について詳細に説明する。
状態遷移解析装置30は、まず現在の画面において未操作部品を探索し、現在の画面における未操作部品を全て操作する。その後、状態遷移解析装置30は、現在の画面において所定の条件が満たされると(例えば、未操作部品がなくなると)、現在の画面とは異なる画面に遷移して未操作部品を探索する。このように、状態遷移解析装置30は、所定の条件が満たされるたびに現在の画面とは異なる画面に遷移して未操作部品を探索する。そして、状態遷移解析装置30は、探索した未操作部品を操作する。これにより、状態遷移解析装置30は、様々な画面へ遷移して各画面における部品の状態を解析することができる。そのため、端末上で動作するアプリケーションの画面状態遷移の解析をより広範囲に実行することが可能になる。
また、状態遷移解析装置30は、所定の条件として現在の画面へ遷移前の画面に遷移させる条件が満たされると、現在の画面とは異なる画面として現在の画面への遷移前の画面に遷移して未操作部品を探索する。本実施形態では、階層構造で処理が行なわれるため、現在の画面の遷移前の画面に遷移する度に上位の画面に対する探索ができる。これにより、様々な画面へ遷移して操作可能部品を探索することができる。そのため、端末上で動作するアプリケーションの画面状態遷移の解析をより広範囲に実行することが可能になる。
また、状態遷移解析装置30は、所定の条件として現在の画面からの遷移後の画面に遷移させる条件が満たされると、現在の画面とは異なる画面として現在の画面からの遷移後の画面に遷移して操作可能部品を探索する。このように、状態遷移解析装置30は、現在の画面からの遷移後の画面に遷移するように動作する。本実施形態では、階層構造で処理が行なわれるため、現在の画面よりも下位の画面として多くの画面が存在する場合には様々な画面へ遷移して未操作部品を探索することができる。そのため、端末上で動作するアプリケーションの画面状態遷移の解析をより広範囲に実行することが可能になる。
また、状態遷移解析装置30は、操作可能な部品のうち操作できなかった部品に対しては、操作できなかった部品の領域を他の領域と異なる表示態様で表示させるとともに、各画面間の繊維関係を表す状態遷移図を描く。これにより、一見してどの画面においてどの部品が操作できなかったのかを把握することができる。
<変形例>
本実施形態では、図6のステップS111の処理において1つ前の画面に遷移可能ではない場合にはステップS112の処理を実行する構成を示したが、端末操作制御部303は以下のような処理を行うように構成されてもよい。例えば、端末操作制御部303は、1つ前の画面に遷移させる部品がない場合、別の画面に遷移可能な部品を操作してもよい。
このように構成されることによって、1つ前の画面に遷移できない場合であっても別の画面に遷移することで継続して動作状態を解析することができる。
また、端末操作制御部303は、一定の回数、現在の画面における未操作部品の操作を実施しても画面が変わらない場合には、操作済みであっても現在の画面に対応する操作対象リストを参照して最初から各部品を操作するように構成されてもよい。
端末操作制御部303は、別のアプリケーションに遷移した場合には解析対象アプリに戻るような操作を実行してもよい。このように構成される場合、端末操作制御部303は、ステップS101の処理で取得されるアプリIDを基に、別アプリケーションへの遷移を判断する。そして、別アプリケーションへ遷移したと判断した場合、端末操作制御部303は解析対象アプリのいずれかの画面になるまで前の画面への遷移するように通信装置20を操作する。
端末操作制御部303は、現在の画面において未操作部品が無い場合(例えば、現在の画面において操作対象リストに記録されている部品が全て“true”な場合や、現在の画面において未操作部品が存在しない場合)、状態情報記憶部3042に記憶されている階層構造の情報に基づいて、現在の画面よりも下位の画面において未操作部品を操作するように構成されてもよい。現在の画面よりも下位の画面とは、階層構造において現在の画面よりも階層の低い画面を表す。このように構成される場合、端末操作制御部303は、現在の画面よりも下位の画面において未操作部品がある画面を探索する。そして、端末操作制御部303は、現在の画面よりも下位の画面において未操作部品がある画面がある場合には、その画面へ遷移するためのトリガーとなる操作を実行し、強制的にその画面に遷移させる。そして、端末操作制御部303は、遷移した画面において未操作部品に対する操作が全て終了すると、遷移前の画面に遷移して、同様に巡回する。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
10…アプリケーション管理装置, 20…通信装置, 30…状態遷移解析装置, 40…ネットワーク, 301…情報取得部, 302…リスト生成部, 303…端末操作制御部, 304…記憶部, 3041…部品情報記憶部, 3042…状態情報記憶部, 305…状態可視部

Claims (6)

  1. アプリケーションから取得される前記アプリケーションの画面上に配置されている操作可能な部品に関する情報を表す画面構造データに基づいて、前記操作可能な部品の識別情報と、前記操作可能な部品が操作済みであるか否かを示す情報とを対応付けたリストを生成するリスト生成部と、
    生成された前記リストに基づいて、前記操作可能な部品における未操作部品を操作する端末操作制御部と、
    を備え、
    前記画面構造データは、階層構造で画面毎に前記部品に関する情報を表し、
    前記端末操作制御部は、第1の画面において所定の条件が満たされた場合には前記第1の画面とは異なる画面である第2の画面に遷移して前記第2の画面における未操作部品を操作し、
    前記端末操作制御部は、解析対象のアプリケーションから別のアプリケーションに遷移した場合には前記解析対象のアプリケーションのいずれかの画面を前記第2の画面として遷移する操作を行う状態遷移解析装置。
  2. 前記端末操作制御部は、前記第2の画面として、前記第1の画面へ遷移前の画面に遷移して前記未操作部品を操作する、請求項1に記載の状態遷移解析装置。
  3. 前記端末操作制御部は、前記第2の画面として、前記第1の画面からの遷移後の画面に遷移して前記未操作部品を操作する、請求項1に記載の状態遷移解析装置。
  4. 所定の終了条件が満たされるまでの間に操作できなかった前記未操作部品を、操作がなされた前記操作可能な部品と異なる表示態様で表し、前記端末操作制御部によって遷移された各画面間の遷移関係を表す状態遷移図を作成する状態可視部をさらに備える、請求項1から3のいずれか一項に記載の状態遷移解析装置。
  5. アプリケーションから取得される前記アプリケーションの画面上に配置されている操作可能な部品に関する情報を表す画面構造データに基づいて、前記操作可能な部品の識別情報と、前記操作可能な部品が操作済みであるか否かを示す情報とを対応付けたリストを生成するリスト生成ステップと、
    生成された前記リストに基づいて、前記操作可能な部品における未操作部品を操作する端末操作制御ステップと、
    を有し、
    前記画面構造データは、階層構造で画面毎に前記部品に関する情報を表し、
    前記端末操作制御ステップにおいて、第1の画面において所定の条件が満たされた場合には前記第1の画面とは異なる画面である第2の画面に遷移して前記第2の画面における未操作部品を操作し、
    前記端末操作制御ステップにおいて、解析対象のアプリケーションから別のアプリケーションに遷移した場合には前記解析対象のアプリケーションのいずれかの画面を前記第2の画面として遷移する操作を行う状態遷移解析方法。
  6. コンピュータに、
    アプリケーションから取得される前記アプリケーションの画面上に配置されている操作可能な部品に関する情報を表す画面構造データに基づいて、前記操作可能な部品の識別情報と、前記操作可能な部品が操作済みであるか否かを示す情報とを対応付けたリストを生成するリスト生成ステップと、
    生成された前記リストに基づいて、前記操作可能な部品における未操作部品を操作する端末操作制御ステップと、
    を実行させ、
    前記画面構造データは、階層構造で画面毎に前記部品に関する情報を表し、
    前記端末操作制御ステップにおいて、第1の画面において所定の条件が満たされた場合には前記第1の画面とは異なる画面である第2の画面に遷移して前記第2の画面における未操作部品を操作させ、
    前記端末操作制御ステップにおいて、解析対象のアプリケーションから別のアプリケーションに遷移した場合には前記解析対象のアプリケーションのいずれかの画面を前記第2の画面として遷移する操作を行うためのコンピュータプログラム。
JP2016001271A 2016-01-06 2016-01-06 状態遷移解析装置、状態遷移解析方法及びコンピュータプログラム Active JP6755661B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016001271A JP6755661B2 (ja) 2016-01-06 2016-01-06 状態遷移解析装置、状態遷移解析方法及びコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016001271A JP6755661B2 (ja) 2016-01-06 2016-01-06 状態遷移解析装置、状態遷移解析方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2017123018A JP2017123018A (ja) 2017-07-13
JP6755661B2 true JP6755661B2 (ja) 2020-09-16

Family

ID=59306583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016001271A Active JP6755661B2 (ja) 2016-01-06 2016-01-06 状態遷移解析装置、状態遷移解析方法及びコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP6755661B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5038036B2 (ja) * 2007-06-29 2012-10-03 キヤノンソフトウェア株式会社 テスト実行システム、テスト実行装置、情報処理装置、テスト実行方法、プログラム、及び記憶媒体
JP5633904B2 (ja) * 2011-05-30 2014-12-03 日本電信電話株式会社 画面遷移グラフの自動生成方法およびその装置

Also Published As

Publication number Publication date
JP2017123018A (ja) 2017-07-13

Similar Documents

Publication Publication Date Title
US10452249B2 (en) Tooltip feedback for zoom using scroll wheel
CN108027708B (zh) 促成针对图形元素的属性值的选择
JP4900889B2 (ja) 情報処理装置及びその制御方法とプログラム
US8893084B2 (en) Methods and apparatuses for deferred object customization
WO2010067605A1 (ja) ペアリングシステム、ペアリング装置、ペアリング装置の処理方法及びプログラム
KR20130080179A (ko) 휴대용 단말기에서 아이콘 관리 방법 및 장치
JP2011154478A (ja) 画面共有装置及びその制御方法、プログラム、画面共有システム
JP2009217473A (ja) プラント情報表示装置およびプラント情報表示方法
WO2014002812A1 (ja) 端末装置及びアノテーション方法並びにコンピュータシステム及びコンピュータプログラム
US20200118305A1 (en) Automatic line drawing coloring program, automatic line drawing coloring apparatus, and graphical user interface program
US7900155B2 (en) System and method for providing information about an operation's applicability to an item
JP6755661B2 (ja) 状態遷移解析装置、状態遷移解析方法及びコンピュータプログラム
WO2020250843A1 (ja) ハイパーパラメタチューニング方法、プログラム試行システム及びコンピュータプログラム
KR20140117979A (ko) 터치스크린을 이용한 항목 선택 방법 및 시스템
US10114518B2 (en) Information processing system, information processing device, and screen display method
KR101724143B1 (ko) 검색 서비스 제공 장치, 시스템, 방법 및 컴퓨터 프로그램
CN111125205A (zh) 看板数据显示方法、终端及存储介质
JP2007026391A (ja) 運用管理ルール流用装置、運用管理ルール流用方法およびプログラム
CN109597641B (zh) 一种对象行为的控制方法、装置、终端及存储介质
JP6376163B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2016192014A (ja) 情報処理装置、情報処理方法、およびプログラム
JP6353269B2 (ja) 情報処理装置、情報処理方法、およびプログラム
WO2017161476A1 (en) Rating and advising for selection of augmented reality markers
JP2019067000A (ja) 制御プログラム
JP7085311B2 (ja) 情報処理装置、情報処理システム、情報処理方法、情報処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180727

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200219

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200826

R150 Certificate of patent or registration of utility model

Ref document number: 6755661

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250