JP2014219885A - テスト支援方法、テスト支援システム - Google Patents
テスト支援方法、テスト支援システム Download PDFInfo
- Publication number
- JP2014219885A JP2014219885A JP2013099783A JP2013099783A JP2014219885A JP 2014219885 A JP2014219885 A JP 2014219885A JP 2013099783 A JP2013099783 A JP 2013099783A JP 2013099783 A JP2013099783 A JP 2013099783A JP 2014219885 A JP2014219885 A JP 2014219885A
- Authority
- JP
- Japan
- Prior art keywords
- screen
- terminal
- test support
- terminal device
- test
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】アプリケーション開発において、複数種類の端末装置でのアプリケーション動作テストにかかるコストを低減する。【解決手段】複数の端末装置140−1,140−2に接続されたテスト装置101は、当該テスト装置に対する操作から、第一の端末装置140−1で動作するプログラムに対する操作として検出し、検出した操作と等価であり、他の端末装置の仕様に合わせた操作を特定する操作検出部102と、特定した等価な操作に基づく、他の端末装置で動作するプログラムへの等価な操作命令を作成する操作命令作成部103と、等価な操作命令を、他の端末装置140−2へ送信する操作命令送信部104と、を備え、他の端末装置は、受信した等価な操作命令を、プログラムに実行させる操作命令実行部と、プログラムが実行した結果を取得し、テスト装置へ送信する送信部と、を備える。【選択図】図1
Description
開示される主題は、アプリケーションの動作テストを、複数種類の端末で並行して実施する方法、および、システムに係わる。
スマートフォンやタブレット端末などのスマートデバイス向けに開発したアプリケーションプログラム(以下、アプリケーション、または、アプリという)を、スマートデバイスにインストールして動作テストを行う場合、スマートデバイスの機種ごとに動作テストをしなければならず、人件費を始めとするテストに掛かるコストが莫大になってしまう。複数端末の動作テストにかかるコストを削減するために、複数端末を同時に操作してテストを実施する方法がある。この時、アプリケーションにテスト用の機能を埋め込むのは不具合原因になる可能性があるため、アプリケーションとは独立の機能で実現できるのが望ましい。
複数端末の同時操作の一つとして、マウスやキーボード等の入力デバイスで入力された操作を複数端末に送信し、各端末では受信した操作に従って動作させる方法がある。例えば、特許文献1には、「コードレス化された入力デバイス(キーボード、マウス)より、信号を発信し、複数の端末側で信号を受信することにより入力を行う。対応する入力デバイスおよび端末側の対応は、発信・受信チャネルをあわせることにより行う。このチャネルを複数の端末で同一チャネルにセットすることにより、複数の端末を同時に操作することが可能となる。」(段落0009)と開示されている。
また、遠隔端末の操作方法の一つとして、ある端末での画面操作をネットワーク経由で送ることで、別端末で画面操作を再現する方法がある。例えば、特許文献2には、「送り側のPC端末におけるマウスやキーボード等、講師の入力をともなう操作に関する情報を取得すること、及び、取得した操作に基づく情報のみをデータとして遠隔地に伝送すること、及び、受け側では、送られてきた操作に関する情報をもとに、受け側のPC端末において前記操作を発生させる」(段落0006)と開示されている。
上記特許文献1は、同一の複数端末を同時に操作する方法であるため、複数種類の端末を同時に操作することはできない。例えば、画面サイズが異なる複数種類の端末を同時に操作することはできない。また、上記特許文献2は、操作元の端末と同一画面を持つ遠隔端末を操作する方法であるため、遠隔端末が複数種類の場合には、並行して操作することはできない。
従って、アプリケーションの動作テストを、複数種類の端末で並行して実施する方法が望まれている。
本明細書では、アプリケーションその他のプログラムの動作テストを、複数種類の端末で並行して実施する方法、および、そのシステムが開示される。
具体的には、複数の端末装置で動作するプログラムのテストを一括して行うテスト支援システムであって、
複数の端末装置に接続されたテスト装置は、当該テスト装置に対する操作を、第一の端末装置で動作するプログラムに対する操作として検出し、検出した操作と等価であり、他の端末装置の仕様に合わせた操作を特定する操作検出部と、特定した等価な操作に基づく、他の端末装置で動作するプログラムへの等価な操作命令を作成する操作命令作成部と、等価な操作命令を、他の端末装置へ送信する操作命令送信部と、を備え、
他の端末装置は、受信した等価な操作命令を、プログラムに実行させる操作命令実行部と、プログラムが実行した結果を取得し、テスト装置へ送信する送信部と、を備えるテスト支援システムが開示される。
複数の端末装置に接続されたテスト装置は、当該テスト装置に対する操作を、第一の端末装置で動作するプログラムに対する操作として検出し、検出した操作と等価であり、他の端末装置の仕様に合わせた操作を特定する操作検出部と、特定した等価な操作に基づく、他の端末装置で動作するプログラムへの等価な操作命令を作成する操作命令作成部と、等価な操作命令を、他の端末装置へ送信する操作命令送信部と、を備え、
他の端末装置は、受信した等価な操作命令を、プログラムに実行させる操作命令実行部と、プログラムが実行した結果を取得し、テスト装置へ送信する送信部と、を備えるテスト支援システムが開示される。
開示されるより具体的な態様は、テスト装置が、端末装置毎の画面構成要素のレイアウト情報を管理するレイアウト情報管理部と、複数の端末装置において表示される画面の画面イメージを取得する画面イメージ取得部と、取得した複数の端末装置の画面を表示する画面イメージ表示部と、を備え、操作検出部は、画面イメージに対する操作から、操作対象の画面構成要素を特定することを特徴とする。
開示されるより具体的な態様は、レイアウト情報管理部が、画面の解像度ごとに画面構成要素の配置情報を管理することを特徴とする。
開示されるより具体的な態様は、操作命令作成部が、操作命令の分割と、座標移動のいずれか一方または両方により、操作命令を補正することを特徴とする。
開示されるより具体的な態様は、画面イメージ取得部が、操作命令の実行結果として、複数の端末装置から画面イメージを取得して一括表示することを特徴とする。
開示されるより具体的な態様は、画面イメージ表示部が、画面イメージ取得部が複数の端末装置から取得した、画面イメージの共通領域を強調表示することを特徴とする。
開示されるより具体的な態様は、操作命令作成部が、強調表示された共通領域以の画面イメージに対する操作を受け付けないことを特徴とする。
開示によれば、アプリケーション開発において、複数種類の端末でのアプリケーション動作テストにかかるコストを低減することができる。
以下に、本発明の実施形態について、図を用いて詳細に説明する。
図1は、本実施例におけるテスト支援システムの構成を示す。このテスト支援システムは、テスト装置101と、複数の端末装置140−1と140−2と、を有する。端末装置140−1と140−2とは、端末仕様が異なり、端末ごとに表示解像度や、画面サイズ、処理性能が異なる。なお、端末装置140−1と140−2とを端末装置140と総称する。
テスト装置101は、複数の端末装置140のカーナビアプリ204の動作テストを並行して行う。テスト装置101は例えば、コンピュータであり、端末装置140のソフトウェアの開発に用いられるコンピュータであっても良い。端末装置140は、スマートフォンやタブレット端末などの情報端末装置であっても良いし、車両に搭載されるナビゲーション装置であっても良い。テスト装置101と端末装置140は、通信路130を介して接続される。通信路130は、USB(Universal Serial Bus)やLAN(Local Area Network)などの有線通信路であっても良いし、無線LAN等の無線通信路であっても良い。
テスト装置101は、記憶部120、および、CPU(Central Processing Unit)121、入力部122、表示部123、通信部124を有する。記憶部120は、半導体メモリやHDD(Hard Disk Drive)等であり、テストのためのプログラム及びデータを格納する。CPU121は、記憶部120内のプログラム及びデータに基づいて、端末装置140のテストを実行する。入力部122は、ユーザによる操作を検出する。表示部123は、CPU121からの指示に従って画面を表示する。通信部124は、端末装置140との通信を行う。
記憶部120は、操作検出部102、操作命令作成部103、操作命令送信部104、レイアウト情報管理部105、端末情報管理部106、接続管理部107、画面イメージ表示部108、画面イメージ取得部109のそれぞれを実現するプログラムとデータのいずれか一方または両方を格納する。これらの処理部と、以下に説明する各処理は、CPU121が記憶部120内のプログラムを実行することにより実現される。これらのプログラムは、テスト装置101が読み取り可能な記憶媒体に格納され、その記憶媒体から、または、通信路130を介して他の装置から、テスト装置101へインストールされても良い。
複数種類の端末装置140の動作テストを効率的に実施するために、各端末装置140の画面を取得してテスト装置101の画面に表示、表示された端末装置140の画面の何れか一つをユーザが操作するだけで、全ての端末装置140の並行操作を可能にする。画面イメージ取得部109が複数の端末装置140から画面イメージを取得し、画面イメージ表示部108で、取得した複数の端末装置140の画面を一括表示する。ここで、画面イメージとは、端末装置140の画面をキャプチャしたものを表している。ユーザは、一括表示された複数の端末装置140の画面の何れかを操作する。
操作検出部102は、テスト装置101の画面上でのユーザ操作を検出し、ユーザが操作した端末装置140(例えば140−1)、および、その端末装置140−1へのユーザ操作を特定する。ユーザ操作には、画面上に表示されたボタン等のタップ(マウスでクリックするのと同様の操作)、画面上に表示された地図等のドラッグ、端末装置140−1に物理的に設置されたハードウェアボタンの押下などがある。また、ハードウェアボタンには、画面を前に戻すためのボタン、メニュー画面を開くためのボタン等がある。操作検出部102では、タップの場合はタップされた画面上の位置(X,Y)、ドラッグの場合はドラッグされた画面上の開始位置(X1,Y1)と終了位置(X2,Y2)、ハードウェアボタン押下の場合は押下されたハードウェアボタンの種類を特定する。ここで、特定する画面上の座標は、テスト装置101の画面上の座標ではなく、端末装置140−1の画面上での座標である。
複数の端末装置140の端末種類が異なる場合、例えば、端末ごとに画面解像度が異なる。テスト対象のカーナビアプリ204の画面のレイアウトが、画面解像度に応じて異なる場合、ユーザ操作から各端末装置140に適した操作命令を、それぞれ作成する必要がある。
操作命令作成部103は、レイアウト情報管理部105が管理する画面解像度ごとの画面レイアウト情報に基づいて、操作検出部102で特定した端末装置140−1に対するユーザ操作から、端末装置140−1に適した操作命令と、端末装置140−2の仕様に適合するように変換した変換操作命令を作成する。操作命令作成部103の詳細は図5で詳細に説明する。操作命令送信部104は、操作命令作成部103で作成した、操作命令を端末装置140−1へ送信し、変換操作命令を端末装置140−2へ送信する。
接続管理部107は、テスト装置101に接続された端末装置140から端末IDと画面解像度を取得し、端末情報管理部106に格納する。格納された端末情報は、操作命令作成部103で、端末装置140に適した操作命令を作成するのに利用される。
図2は、端末装置140の構成を示す。端末装置140は、記憶部220、および、CPU221、入力部222、表示部223、通信部224を有する。記憶部220は、半導体メモリやHDD等であり、プログラム及びデータを格納する。CPU221は、記憶部220内のプログラム及びデータに基づいて、処理を実行する。入力部222は、ユーザによる操作を検出し、入力情報として出力する。表示部223は、CPU221からの指示に従って画面を表示する。通信部224は、テスト装置101の通信部124と通信路130を介して接続され、テスト装置101との通信を行う。
記憶部220は、操作命令受信部201、操作命令実行部202、端末情報送信部203、カーナビアプリ204、画面イメージ送信部205のそれぞれを実現するプログラムとデータのいずれか一方または両方を格納する。なお、カーナビアプリは地図上に車の位置を表示、目的地までの経路を案内するアプリであり、画面上には地図の縮尺を変更するボタンなどが表示される。また、業務用のカーナビアプリの場合には、配送先の一覧を表示したりもする。これらの処理部と、以下に説明する各処理は、CPU221が記憶部220内のプログラムを実行することにより実現される。これらのプログラムは、端末装置140が読み取り可能な記憶媒体に格納され、その記憶媒体から、または、通信路130を介して他の装置から、端末装置140へインストールされても良い。
操作命令受信部201が操作命令送信部104からの操作命令を受信し、操作命令実行部202が受信した操作命令を、カーナビアプリ204に実行させる。画面イメージ送信部205は、カーナビアプリ204が実行した端末装置140の画面イメージを定期的に取得(キャプチャ)し、画面イメージ取得部109に送信する。定期的に送信するのではなく、画面の変化を検知したタイミングで送信しても良い。また、画面全体を送信するのではなく、変更のあった画面の一部分のみを送信するようにしても良い。
端末情報送信部203は、端末装置140がテスト装置101に接続されたタイミングで、端末情報として端末装置140を一意に識別するための端末IDと、端末装置140の画面解像度を接続管理部107に送信する。端末情報を送信後、カーナビアプリ124の状態を初期化し、地図縮尺、地図表示の座標、ボタンの選択/非選択などを、事前に決めた初期状態に設定する。こうすることで、全ての端末装置140でカーナビアプリ204を初期状態に合わせておくことができる。
端末装置140がテスト装置101に接続したタイミングで初期化するのではなく、接続管理部107からの命令により初期化を行っても良いし、カーナビアプリ204が起動したタイミングで初期化しても良い。初期状態は、事前に決めた設定を端末装置140またはカーナビアプリ204内に保持していても良いし、接続管理部107から初期状態を動的に配信するようにしても良い。
図3は、テスト装置101のレイアウト情報管理部105が管理するレイアウト情報をテーブル形式で示す。このレイアウト情報では、画面解像度ごとに、カーナビアプリ204の画面がどのように構成されるかが管理され、一組が、画面解像度301、部品ID302、部品種類303、名前304、左上座標305、右下座標306、従属部品ID307を含んで構成される。部品ID302〜従属部品ID307はカーナビアプリ204の画面がどのように構成されるかを表しており、画面解像度301ごとに、カーナビアプリが画面に表示するボタン等の画面構成要素(以下、画面部品という)のレイアウト情報が定義される。部品ID302は、画面部品を一意に特定するための識別子であり、画面解像度が異なっても画面部品として同じであれば同じ部品IDとなる。部品種類303は画面部品の種類を表しており、名前は画面部品の名前を、左上座標305と右下座標306は、画面部品を画面上に表示する座標を表している。従属部品ID307は、画面部品レイアウトの前後関係を表しており、どの画面部品より前面に表示するかということを意味している。例えば、図3の例で説明すると、画面解像度1024×600の「部品ID=2」の画面部品は「従属部品ID=1」となっているので、地図(画面解像度1024×600の部品ID=1)の前面に、「現在地」という名前のボタン(部品ID=2)を配置することを表している。また、画面解像度1024×600の「部品ID=6」と「部品ID=7」の画面部品は「従属部品ID=5」となっているので、配送先リスト(画面解像度1024×600の部品ID=5)の前面に、配送先名を表す文字列(部品ID=6)と、配送先場所を地図上に表示するためのボタン(部品ID=7)を配置することを表している。このように、画面のレイアウトは、画面部品の一段以上の階層構造で定義される。
図4は、テスト装置101の端末情報管理部106が管理する端末仕様データをテーブル形式で示す。このデータでは、テスト装置101に接続された端末装置140の仕様の一例として、画面解像度が管理され、一組が、端末ID401、画面解像度402を含んで構成される。端末ID401は端末装置140を一意に特定するための識別子である。テスト装置101は、端末IDを指定することで、指定した端末装置140とデータ送受信ができる。画面解像度402は、端末ID401で特定される端末装置140の画面の解像度を表している。
図5は、テスト装置101の処理フローを示す。最初にステップ501では、操作命令作成部103が、操作検出部102で特定したユーザ操作が、画面の操作か否かを判定する。画面上のタップおよびドラッグであれば画面操作であり、ハードウェアボタン押下であれば画面操作ではない。画面操作でない場合(No)はステップ509に進み、押下されたハードウェアボタンの種類に応じた外部ボタン操作命令を作成してステップ507へ進む。画面操作の場合(Yes)はステップ502に進み、操作検出部102がユーザ操作内容を特定する。
操作検出部102は、タップおよびドラッグの画面操作は画面上の座標に基づいた操作として検出し、例えば、端末装置と、操作種類と、座標と、を特定する。例えば、タップの場合は「端末装置=端末1」「操作種類=タップ」「座標=(X,Y)」であるし、ドラッグの場合は「端末装置=端末1」「操作種類=ドラッグ」「座標=(X1,Y1)-(X2,Y2)」である。ここで、(X,Y)、(X1,Y1)、(X2,Y2)は端末1の画面上での座標を意味している。また、なお、端末1とは、操作検出部102で特定したいずれかの端末装置140であり、ここでは、端末装置140−1とする。
ステップ503では、操作検出部102は、レイアウト情報管理部105と端末情報管理部106に基づいて、画面上の座標から、操作された画面部品を特定する。まず、操作対象の端末装置140−1の画面解像度を、端末情報管理部106から特定する。例えば、操作検出部102で特定された端末装置が「端末1」の場合、端末情報管理部106から「端末ID=端末1」となる画面解像度402を調べる。次に、判明した画面解像度に対応するレイアウト情報をレイアウト情報管理部105から取得し、ユーザ操作の座標に対応する画面部品を特定する。
例えば、判明した画面解像度が「1024×600」、タップした座標が(X,Y)で、(X,Y)の座標は、X1<X3<X<X4<X2、Y1<Y3<Y<Y4<Y2の条件を満たす場合を例に説明する。画面解像度301が「1024×600」となる画面部品一覧をレイアウト情報管理部105から抽出し、左上座標305と右下座標306で表される矩形内にタップした座標(X,Y)が含まれる画面部品を探す。ここでは、部品ID=1の地図と、部品ID=2の現在地ボタンが条件を満たしたとする。複数の画面部品が条件を満たした場合には、画面上で最も前面に配置されている画面部品が操作されたものとする。
この例では、従属部品ID307に定義されているように、現在地ボタン(部品ID=2)は地図(部品ID=1)の上に配置されているので、現在地ボタン(部品ID=2)がタップされたものと解釈する。また、タップした座標(X,Y)と、現在地ボタンの座標(X3,Y3)-(X4,Y4)から、現在地ボタン上のタップされた相対位置を「左上から右に1/3かつ下に1/3の位置」などのように画面部品の大きさに対する比率で算出する。つまり、ユーザ操作のタップは「現在地ボタンの左上から右に1/3かつ下に1/3の位置をタップした」と解釈する。
また例えば、判明した画像解像度が「1024×600」、画面操作が開始位置(XS,YS)から終了位置(XE,YE)へのドラッグの場合を例に説明する。まず、上記のタップでの例と同様に、開始位置(XS,YS)に対応する画面部品を特定し、地図(部品ID=1)が特定されたとする。ドラッグでの移動距離はdX=XE-XS、dY=YE-YSと算出できるため、ユーザ操作のドラッグは「地図の左上から右に1/3かつ下に1/3の位置から、X方向にdX、かつ、Y方向にdYの距離をドラッグした」と解釈する。
タップ位置やドラッグ開始を画面部品の左上を基準にした比率で算出するのではなく、それ以外の基準点(右下、中心、など)を基準とした比率で算出しても良いし、比率ではなく画面上の距離で算出するようにしても良い。例えば、地図の表示の場合には、それぞれの地図は画面中央に自車位置がくるように表示され、面解像度が異なる端末装置140間で表示している地図の領域は異なる(画面サイズに応じた領域が表示される)。そのため、左上からの比率では地図上の座標としては同じ座標を示さないため、中央の自車位置からの絶対距離で表さなければならない。また、ドラッグの移動距離も画面上での絶対距離ではなく、画面部品に対する相対距離(比率)を用いるようにしても良い。「基準点」と「比率または絶対距離」の使い分けは、画面部品ごとに定義しても良いし、全部品共通の「基準点」と「比率または絶対距離」を定義しても良い。
次にステップ503では、併せてテストする他の操作端末140を一つ選択、選択した他の操作端末140での操作対象となる、上記操作端末140−1の画面部品に対応する、等価な画面部品を特定する。選択した操作端末140の画面解像度を端末情報管理部106から取得、取得した画面解像度の部品群の中から、ステップ502で特定した画面部品の部品ID302と同一の画面部品をレイアウト情報管理部105から取得する。
例えば、ステップ502で特定した画面部品が「部品ID=2」、選択した操作端末140が「端末2」(操作端末140−2)の場合で説明する。まず、端末情報管理部106で「端末ID=端末2」を検索し、画面解像度「480×800」を取得する。次に、レイアウト情報管理部105で「画面解像度=480×800 AND 部品ID=2」で検索し、現在地ボタンの情報として「部品種類=button、名前=現在地、左上座標=(X13,Y13)、右下座標=(X14,Y14)」を取得する。なお、同一の部品か否かを判定する方法としては、部品ID302の一致のみを判定しても良いし、名前304の一致のみを判定しても良いし、部品ID302と名前304の両方の一致を判定しても良い。
次にステップ504では、操作命令作成部103が、ステップ502で特定されたユーザ操作と、ステップ503で特定した画面部品に基づいて、操作端末140−1に対する操作命令と等価な、選択した端末装置140−2に対する操作命令を作成する。操作命令は、端末装置140−2における操作種類(タップ、または、ドラッグ)と画面上の座標(タップ位置、ドラッグ開始位置および距離)の組み合わせを含んで構成される。
まず、タップの場合の例を、操作端末140−2が「端末ID=端末2」、操作対象の画面部品が「現在地ボタン(部品ID=2、左上座標=(X13,Y13)、右下座標=(X14,Y14))」、現在地ボタン上のタップ位置が比率指定で「左上から右に1/3かつ下に1/3の位置」で説明する。基準点の左上座標を基準にして、ボタンのタップ位置を座標に変換すると、X座標=X13+(X14-X13)/3、Y座標=Y13+(Y14-Y13)/3となる。ここで、(X14-X13)/3や(Y14-Y13)/3は、現在地ボタン上での相対的なタップ位置、つまり、「左上から右に1/3かつ下に1/3の位置」を表している。よって、端末装置140−2に対する操作命令は「X座標=X13+(X14-X13)/3、Y座標=Y13+(Y14-Y13)/3の画面上の座標をタップする」となる。
次に、ドラッグの場合の例を、操作端末140−2が「端末ID=端末2」、操作対象の画面部品が「地図(部品ID=1、左上座標=(X11,Y11)、右下座標=(X12,Y12))」、地図上でのドラッグ開始位置が比率指定で「左上から右に1/3かつ下に1/3の位置」、ドラッグでの移動距離が絶対距離で「X方向にdXかつY方向にdYの距離」で説明する。
まずドラッグ開始位置を座標に変換すると、X座標=X11+(X12-X11)/3、Y座標=Y11+(Y12-Y11)/3となる。ここで、(X12-X11)/3や(Y12-Y11)/3は、地図上での相対的なドラッグ開始位置、つまり、「左上から右に1/3かつ下に1/3の位置」を表している。次にドラッグ終了位置は開始位置に絶対的な移動距離を加えた、X座標=X11+(X12-X11)/3+dX、Y座標=Y11+(Y12-Y11)/3+dYとなる。よって、端末装置140−2に対する操作命令は「開始位置(X座標=X11+(X12-X11)/3、Y座標=Y11+(Y12-Y11)/3)から終了位置(X座標=X11+(X12-X11)/3+dX、Y座標=Y11+(Y12-Y11)/3+dY)までドラッグする」となる。
次にステップ505では、ステップ504で作成した操作命令の補正が必要か否かを判定する。補正が必要な場合(Yes)にはステップ506に、補正が必要ない場合(No)にはステップ507に進む。補正が必要か否かは、操作命令の座標が画面外になるか否かで判定する。補正の有無判定を図6の例で説明する。端末1の画面601に対して、左上から右に1/3かつ下に2/3の開始位置(A−1)から終了位置(B−1)まで地図を絶対距離Dだけドラッグしたとする。これを端末2の画面602への操作命令に変換すると、開始位置は比率計算のため開始位置(A−2)は地図上にのるが、終了位置(B−2)が画面外の座標となってしまう。
このようにドラッグの終了位置が画面外になってしまう場合に、画面内の座標におさまるように操作命令の補正が必要となる。なお、図6では開始位置が比率で指定された場合のため、端末2の画面602で開始位置(A−2)は地図上になるが、基準点からの絶対距離で指定した場合は開始位置が画面外になることもある。そのため、ドラッグの終了位置が画面外となる場合だけでなく、ドラッグの開始位置が画面外となる場合、ドラッグの開始位置および終了位置が画面外となる場合にも操作命令の補正が必要となる。
次にステップ506では、画面内の座標におさまるように「座標移動」と「命令分割」のいずれか一方または両方を行うことで操作命令を補正する。まず、ドラッグ開始位置が画面外の場合には、座標を平行移動して画面内におさまるようにする。例えば、ドラッグ開始位置が(-10,10)の場合には、X方向に10移動して(0,10)をドラッグ開始したことにする。平行移動の方法は、画面外になっているX座標またはY座標のみを移動しても良いし、左上座標(0,0)などに移動するようにしても良い。地図に対するドラッグの場合には、開始位置に依存せず、ドラッグした距離だけ地図を移動させる処理であるため、開始位置を平行移動しても問題はない。
次に、ドラッグ終了位置が画面外の場合には、操作命令を複数に分割することで、画面内の操作になるように変換する。操作命令の分割を図7の例で説明する。ステップ505で作成した操作命令が、開始位置(A)702から、画面外の終了位置(B)703まで、移動量がX方向に2x、Y方向に2yのドラッグ操作701だとする。終了位置(B)が画面外に出てしまうため、画面内の中間地点(C)704を選択し、A→Bのドラッグ操作を、A→Cのドラッグ操作710(X方向にx、Y方向にyのドラッグ)と、C→Bのドラッグ操作720(X方向にx、Y方向にyのドラッグ)に分割する。図7の例では2つの操作命令への分割であるが、3つ以上の操作命令への分割でも良い。また、ドラッグ開始位置が画面内の場合でも、開始位置を「座標移動」しても良い。
ステップ507では作成した操作命令を端末装置140−2に送信する。ステップ506で操作命令が分割された場合には、複数の操作命令を送信する。ステップ508では、テスト装置101に接続された全ての端末装置140に操作命令を送信したか否かを確認、未送信の端末装置140がある場合(No)にはステップ501に戻り、全ての端末装置140に送信した場合(Yes)には終了する。
図8は、画面イメージ表示部108での、複数の端末装置140の画面表示例を表している。テスト装置101に2つの端末装置140−1、140−2(端末1と端末2)が接続されており、画面イメージ表示部108により、端末1の画面801と、端末2の画面810と、が表示されており、ユーザは、端末1画面801または端末2画面810の何れかを操作する。
画面イメージ802は、画面イメージ送信部205がキャプチャした端末1の画面に基づき、画面イメージ表示部が108が表示する画面イメージであり、メニューボタン803、ホームボタン804、戻るボタン805は、端末1が備えるハードウェアボタンを疑似的に表示したボタンである。また、画面イメージ811は、画面イメージ送信部205がキャプチャした端末2の画面に基づき、画面イメージ表示部が108が表示する画面イメージであり、メニューボタン812、ホームボタン813、戻るボタン814は、端末2が備えるハードウェアボタンを疑似的に表示したボタンである。
端末1と端末2は画面解像度や画面向きなどの仕様が異なるため、画面イメージ802と画面イメージ811に表示されている画面部品は同じであるが、画面のレイアウトは異なっている。例えば、横向きの画面イメージ802では現在地ボタンは左下に表示されているが、縦向きの画面イメージ811では現在地ボタンは上部に表示されている。
ユーザは、画面イメージ802または画面イメージ811に対してタップやドラッグ操作を行ったり、メニューや、ホーム、戻るのハードウェアボタンを押下したりする。端末1画面801にも、端末2画面810にも同じハードウェアボタンを表示しているが、全ての端末で共通のハードウェアボタンと表示しても良い。画面イメージ802および画面イメージ811は、端末装置140の実際の画面サイズと同じサイズで表示しても良いし、小さい画面のみを拡大して表示するようにしても良い。端末1画面801、端末2画面810の表示位置は、縦並びや横並びで表示しても良いし、ユーザが自由に設定できるようにしても良い。
図9は、テスト装置101で、ドラッグなどのユーザ操作を制限するための画面表示の一例である。図8の例と同様に、端末1画面801と端末2画面810とが表示されている。端末1と端末2は画面解像度が異なるため、それぞれの画面に表示されている地図の領域が異なる。画面イメージ表示部108は、端末1と端末2の両方に表示されている地図の領域を、領域901として、強調表示している。地図の場合は、基準点が中央であるため、画面中央を中心にして画面を重ねた場合の、地図の領域の重なり部分が共通領域となる。地図を操作する場合、この共通領域でない部分を操作した場合に、ドラッグ開始位置やドラッグ終了位置が画面外となり、図5のステップ506で操作命令の補正が必要となる。ユーザに共通領域内での操作を促すことで、操作命令の補正を行う必要がなくなる。共通領域は表示するだけでも良いし、操作命令作成部103が、共通領域でない地図領域部分のユーザ操作を受け付けないようにしても良い。共通領域は枠で囲んで表示しても良いし、色を変えて表示しても良い。
なお、テスト装置101が端末装置140のエミュレータを有し、このエミュレータ上でカーナビアプリ204を動作させることにより、端末装置140を用いずにカーナビアプリ204のテストを実行しても良い。また、テスト装置101と端末装置140を有するテスト支援システムを用いる場合、テスト装置101がエミュレータを有する場合に比べて、テスト装置101の負荷を低減することができる。
また、テスト装置101に表示された端末140の画面に対する操作を操作検出部102で検出するのではなく、操作検出部102を端末装置140で実行する構成とし、ユーザが端末装置140の何れかを操作、端末装置140内の操作検出部102がユーザ操作を検出し、テスト装置101の操作命令作成部103に対して検出したユーザ操作を送るようにしても良い。ここで、操作命令作成部103に送る情報は、操作検出部102をテスト装置で動作させた時と同様に、ユーザが操作した端末装置140を特定するための端末IDと、タップやドラッグなどのユーザ操作の内容である。
101:テスト装置、102:操作検出部、103:操作命令作成部、104:操作命令送信部、105:レイアウト情報管理部、106:端末情報管理部、107:接続管理部、108:画面イメージ表示部、109:画面イメージ取得部、140:端末装置、201:操作命令受信部、202:操作命令実行部、203:端末情報送信部、204:カーナビアプリ、205:画面イメージ送信部
Claims (14)
- 複数の端末装置で動作するプログラムのテストを一括して行うテスト支援システムであって、
前記複数の端末装置に接続されたテスト装置は、
当該テスト装置に対する操作を、第一の前記端末装置で動作するプログラムに対する操作として検出し、前記検出した操作と等価であり、他の前記端末装置の仕様に合わせた操作を特定する操作検出部と、
特定した等価な操作に基づく、他の前記端末装置で動作するプログラムへの等価な操作命令を作成する操作命令作成部と、
前記等価な操作命令を、前記他の端末装置へ送信する操作命令送信部と、を備え、
前記他の端末装置は、
受信した前記等価な操作命令を、前記プログラムに実行させる操作命令実行部と、
前記プログラムが実行した結果を取得し、前記テスト装置へ送信する送信部と、を備える
ことを特徴とするテスト支援システム。 - 請求項1に記載のテスト支援システムにおいて、
前記テスト装置は、
端末装置毎の画面構成要素のレイアウト情報を管理するレイアウト情報管理部と、
複数の前記端末装置において表示される画面の画面イメージを取得する画面イメージ取得部と、
取得した前記複数の端末装置の画面を表示する画面イメージ表示部と、を備え、
前記操作検出部は、前記画面イメージに対する操作から、前記操作対象の画面構成要素を特定する
ことを特徴とするテスト支援システム。 - 請求項2に記載のテスト支援システムにおいて、
前記レイアウト情報管理部は、画面の解像度ごとに前記画面構成要素の配置情報を管理する
ことを特徴とするテスト支援システム。 - 請求項1から3のいずれか一に記載のテスト支援システムにおいて、
前記操作命令作成部は、前記操作命令の分割と、座標移動のいずれか一方または両方により、前記操作命令を補正する
ことを特徴とするテスト支援システム。 - 請求項1から4のいずれか一に記載のテスト支援システムにおいて、
前記画面イメージ取得部は、
前記操作命令の実行結果として、前記複数の端末装置から画面イメージを取得して一括表示する
ことを特徴とするテスト支援システム。 - 請求項2に記載のテスト支援システムにおいて、
前記画面イメージ表示部は、前記画面イメージ取得部が前記複数の端末装置から取得した、前記画面イメージの共通領域を強調表示する
ことを特徴とするテスト支援システム。 - 請求項6に記載のテスト支援システムにおいて、
前記操作命令作成部は、強調表示された前記共通領域以外の画面イメージに対する操作を受け付けない
ことを特徴とするテスト支援システム。 - テスト装置が、複数の端末装置で動作するプログラムのテストを一括して行うテスト支援方法であって、
前記複数の端末装置に接続され、
当該テスト装置に対する操作を、第一の前記端末装置で動作するプログラムに対する操作として検出し、
前記検出した操作と等価であり、他の前記端末装置の仕様に合わせた操作を特定し、
特定した等価な操作に基づく、他の前記端末装置で動作するプログラムへの等価な操作命令を作成し、
前記等価な操作命令を、前記他の端末装置へ送信し、
送信した前記等価な操作命令を前記他の端末装置の前記プログラムが実行した結果を、前記他の端末装置から取得する
ことを特徴とするテスト支援方法。 - 請求項8に記載のテスト支援方法において、
端末装置毎の画面構成要素のレイアウト情報を管理し、
複数の前記端末装置において表示される画面の画面イメージを取得し、
取得した前記複数の端末装置の画面を表示し、
前記操作の特定において、前記画面イメージに対する操作から、前記操作対象の画面構成要素を特定する
ことを特徴とするテスト支援方法。 - 請求項9に記載のテスト支援方法において、
画面の解像度ごとに前記画面構成要素の配置情報を管理する
ことを特徴とするテスト支援方法。 - 請求項8から10のいずれか一に記載のテスト支援方法において、
前記操作命令の分割と、座標移動のいずれか一方または両方により、前記操作命令を補正する
ことを特徴とするテスト支援方法。 - 請求項8から11のいずれか一に記載のテスト支援方法において、
前記操作命令の実行結果として、前記複数の端末装置から画面イメージを取得して一括表示する
ことを特徴とするテスト支援方法。 - 請求項9に記載のテスト支援方法において、
前記複数の端末装置から取得した前記画面イメージの共通領域を強調表示する
ことを特徴とするテスト支援方法。 - 請求項13に記載のテスト支援方法において、
強調表示された前記共通領域以外の画面イメージに対する操作を受け付けない
ことを特徴とするテスト支援方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013099783A JP2014219885A (ja) | 2013-05-10 | 2013-05-10 | テスト支援方法、テスト支援システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013099783A JP2014219885A (ja) | 2013-05-10 | 2013-05-10 | テスト支援方法、テスト支援システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014219885A true JP2014219885A (ja) | 2014-11-20 |
Family
ID=51938259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013099783A Pending JP2014219885A (ja) | 2013-05-10 | 2013-05-10 | テスト支援方法、テスト支援システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014219885A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016197329A (ja) * | 2015-04-03 | 2016-11-24 | 三菱電機株式会社 | 共有画面管理装置および共有画面管理プログラム |
JP2017084132A (ja) * | 2015-10-28 | 2017-05-18 | 富士通株式会社 | 操作記録再生プログラム、操作再生プログラム、操作記録再生システム及び操作記録再生方法 |
KR101753314B1 (ko) * | 2017-02-07 | 2017-06-30 | 주식회사 시메이션 | 이미지 매칭 학습을 이용한 어플리케이션 테스트 방법 및 이를 수행하기 위한 장치 |
WO2018211546A1 (ja) * | 2017-05-15 | 2018-11-22 | 三菱電機インフォメーションシステムズ株式会社 | 画面試験装置および画面試験プログラム |
KR20180131132A (ko) * | 2017-05-31 | 2018-12-10 | 주식회사 시메이션 | 이미지 매칭 방법 및 이를 수행하기 위한 장치 |
JP2020126591A (ja) * | 2019-01-31 | 2020-08-20 | 株式会社 ミックウェア | 情報処理装置、情報処理装置の制御方法、および制御プログラム |
JPWO2021140594A1 (ja) * | 2020-01-08 | 2021-07-15 |
-
2013
- 2013-05-10 JP JP2013099783A patent/JP2014219885A/ja active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016197329A (ja) * | 2015-04-03 | 2016-11-24 | 三菱電機株式会社 | 共有画面管理装置および共有画面管理プログラム |
JP2017084132A (ja) * | 2015-10-28 | 2017-05-18 | 富士通株式会社 | 操作記録再生プログラム、操作再生プログラム、操作記録再生システム及び操作記録再生方法 |
KR101753314B1 (ko) * | 2017-02-07 | 2017-06-30 | 주식회사 시메이션 | 이미지 매칭 학습을 이용한 어플리케이션 테스트 방법 및 이를 수행하기 위한 장치 |
WO2018211546A1 (ja) * | 2017-05-15 | 2018-11-22 | 三菱電機インフォメーションシステムズ株式会社 | 画面試験装置および画面試験プログラム |
JPWO2018211546A1 (ja) * | 2017-05-15 | 2019-06-27 | 三菱電機インフォメーションシステムズ株式会社 | 画面試験装置および画面試験プログラム |
KR20180131132A (ko) * | 2017-05-31 | 2018-12-10 | 주식회사 시메이션 | 이미지 매칭 방법 및 이를 수행하기 위한 장치 |
KR101966423B1 (ko) * | 2017-05-31 | 2019-04-05 | 주식회사 시메이션 | 이미지 매칭 방법 및 이를 수행하기 위한 장치 |
JP2020126591A (ja) * | 2019-01-31 | 2020-08-20 | 株式会社 ミックウェア | 情報処理装置、情報処理装置の制御方法、および制御プログラム |
JPWO2021140594A1 (ja) * | 2020-01-08 | 2021-07-15 | ||
WO2021140594A1 (ja) * | 2020-01-08 | 2021-07-15 | 日本電信電話株式会社 | 操作ログ取得装置および操作ログ取得方法 |
JP7380714B2 (ja) | 2020-01-08 | 2023-11-15 | 日本電信電話株式会社 | 操作ログ取得装置および操作ログ取得方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014219885A (ja) | テスト支援方法、テスト支援システム | |
US20150363076A1 (en) | Information processing system and display control method | |
US20120124511A1 (en) | Information processing device, table, display control method, program, portable terminal, and information processing system | |
JP6904683B2 (ja) | 通信ネットワークを試験するための、マシン可読コードを利用するシステム及び方法 | |
US10331393B2 (en) | Vehicle-mounted terminal and method for obtaining resolution of a screen of a handheld terminal | |
US9582094B2 (en) | Information processing device, display device with touch panel, information processing method, and program | |
JP5871080B2 (ja) | 画像表示装置、携帯端末装置、情報処理システム、画像表示装置制御方法及びプログラム | |
US20100007578A1 (en) | Image display system, image supply device, image display device, control method, and control program product | |
KR20180048927A (ko) | 단말기 사이에서 스크린을 제어하는 방법, 장치 및 저장 매체 | |
CN103782325A (zh) | 信息显示程序和信息显示装置 | |
CN106325789B (zh) | 一种信息处理的方法、终端及系统 | |
CN103475916A (zh) | 被控设备与触屏遥控器之间镜像同步的方法及系统 | |
JPWO2014034193A1 (ja) | 車載機、携帯端末制御方法およびプログラム | |
US11662858B2 (en) | Terminal device, calibration method and calibration program | |
US9485387B2 (en) | Icon arrangement drawing creation system | |
JP6743080B2 (ja) | 表示制御システム及び表示制御方法 | |
JP2014206894A (ja) | 表示システム、表示方法、表示装置、プログラム及び記録媒体 | |
JP2014235534A (ja) | 情報処理装置および表示制御方法 | |
JP5266416B1 (ja) | テストシステム及びテストプログラム | |
US20150145749A1 (en) | Image processing apparatus and image processing method | |
JP6034709B2 (ja) | 端末装置、外部表示装置及び端末装置と外部表示装置とからなる情報システム | |
US10210139B2 (en) | Information processing device and information processing method | |
US20150091798A1 (en) | Display apparatus and method of controlling the same | |
KR20150044417A (ko) | 복수의 단말 간 사용자인터페이스 통합 방법 및 이를 수행하는 단말 | |
CN112714272A (zh) | 设备间控制方法、终端和计算机可读存储介质 |