JP6214824B2 - 自動試験装置 - Google Patents
自動試験装置 Download PDFInfo
- Publication number
- JP6214824B2 JP6214824B2 JP2017513881A JP2017513881A JP6214824B2 JP 6214824 B2 JP6214824 B2 JP 6214824B2 JP 2017513881 A JP2017513881 A JP 2017513881A JP 2017513881 A JP2017513881 A JP 2017513881A JP 6214824 B2 JP6214824 B2 JP 6214824B2
- Authority
- JP
- Japan
- Prior art keywords
- unit
- test
- learning
- pass
- screen
- 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
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)
Description
従来、UI画面の試験は人による操作と人による判断に基づき判定が行われていたが、UI画面の表示パターン増加に伴い、UI画面の試験に必要な時間とコストが増加しており、メーカーや開発者から効率化が求められている。
しかし、試験対象によっては、試験対象の実行環境や実行タイミングの違いにより、アニメーションなどのUI画面の特定の表示領域が変化してしまうものがあり、準備した正解画面画像と試験対象のUI画面の表示に差異が発生する場合がある。
このような場合、全ての画面に対する正解画面画像が必要となるが、UI画面の複雑化により、全ての画面に対する正解画面画像の準備が困難な場合がある。
また、変化領域を正解画面画像と対象画面画像から削除して比較する方法がある。しかし、この方法では変化領域が複雑な形状の場合、除外する変化領域の輪郭を準備する工数が増加し、また、削除時に未削除領域が残り比較時に差分が発生する恐れがあった。
この問題に対して、例えば特許文献2では、UI画面内のオブジェクト毎にオブジェクト本体と形状を保持し、比較対象外である背景領域を透過処理したオブジェクト正解画像を準備し、比較前にサイズなどを調整した上で対象画面に合成し、合成結果画像と正解画像を比較する方法が提示されている。
さらに、例えば特許文献3では、ウェブアプリケーションに対して実行するウェブブラウザ環境による差分を学習し、試験実施時に環境に依存して発生する画面表示差分を試験の不合格判定から除外するものが提示されている。
このため、従来の試験方法では、正解画面画像やマスクデータを準備していたが、動的に変化するUI画面に対応した正解画面画像やマスクデータを準備することは、試験実施の条件やタイミングに対応して準備する必要があり、また、UI画面が複雑化しているため、多数準備する必要があり、さらに、形状が複雑になった場合には、試験に十分なデータを準備することが極めて困難となる。
しかし、従来のUI画面の試験方法では、UI画面画像の微細な差分を検出して不合格判定となっていた。また、マスク処理により変化領域を完全に除外することで試験対象からその領域を完全に除外してしまい、後で人による判断が必要となる問題がある。
図1は、本発明の実施の形態1に係る自動試験装置100のハードウェア構成の具体例を概略的に示すブロック図である。図1に示されるように、実施の形態1に係る自動試験装置100は、当該装置全体の制御を行うプロセッサ1と、記憶装置2と、試験操作インタフェース3と、画像取得インタフェース4と、入力装置5と、出力装置6とを有する。
記憶装置2は、ROM(Read Only Memory)やRAM(Random Access Memory)などのメモリや、ハードディスクなどの外部記憶装置の総称であり、プロセッサ1によってプログラムやデータの読み書きが行われ、また、一時データの格納先としても使用される。
試験対象操作インタフェース3は、試験対象装置の入力機器の操作を行う装置であり、USBケーブル、LANケーブル、赤外線、Bluetooth(登録商標)などの有線や無線の通信機器、ロボット、音声制御装置などである。試験対象操作インタフェース3には、試験対象装置の入力機器を操作するためのプログラムやデータ、通信経路を含んでもよいし、必要な情報を記憶装置2から読み出しプロセッサ1による指示を受けて動作するものであってもよい。
画像取得インタフェース4は、試験対象装置の出力画面表示内容(UI画面画像)を取得するための装置であり、カメラなどのキャプチャ装置である。画像取得インタフェース4は、試験対象装置のUI画面画像を取得するためのプログラムやデータ、通信経路を含んでもよいし、必要な情報を記憶装置2から読み出しプロセッサ1による指示を受けて動作するものであってもよい。
入力装置5は、キーボードやマウス、タッチパッド、有線や無線の通信インタフェース、音声認識、各種センサなどの入力機器とそれらの制御プログラムや通信経路などである。
表示装置6は、自動試験装置100で使用する設定データや出力データなどをユーザへ通知するための装置であり、外部の表示機器(図示せず)へデータ出力を行う通信経路とそれらの制御プログラムや通信経路である。
記録部101は、自動試験装置100を動作させるためのプログラムやデータ、一時データなどを記憶装置2に保持する。なお、記憶装置2を記録部101とし、記録部101に対する読み出しおよび書き込み処理を制御部102で行うようにしても良い。
制御部102は、自動試験装置100の各機能の制御や各機能間のデータのやり取りを行う。
試験対象操作部103から試験対象操作インタフェース3を介した試験対象装置200の操作やデータ入力は、入力機器操作用のコマンド文字列データの送信や赤外線などの波形出力、操作ロボットの制御コマンド送信、音声出力デバイスへの音声出力パターン設定、予め製品に用意された操作用コマンド送信などを行い、試験対象装置200に対して本来は人が行う操作やデータ入力を代替して行うものである。なお、試験対象操作インタフェース3を試験対象操作部103とし、試験対象操作部103に対する制御を制御部102で行うようにしても良い。
合否判定基準学習部(学習部)106は、試験対象装置200に対し、試験手順301に含まれる操作を繰り返し実施し、各UI画面の表示のばらつきの範囲や傾向を学習し、試験時に合否判定の基準として使用するための合否判定基準学習データ(学習データ)302を生成する。なお、この合否判定基準学習部(学習部)106の動作を、学習モードと呼ぶ。
妥当性の確認では、例えば、ユーザに対して合否判定基準学習データ302の内容を操作毎に基準画面画像、差分パターン、学習時に取得したUI画面画像群、UI画面画像群の中で合否判定において合格となるものと不合格となるもの、つまり、基準画面画像に対し差分パターンを適用したばらつき範囲に含まれるものと含まれないものの分類とそれぞれの発生割合などを表示する。
ユーザフィードバック部107はUI画面画像群の各UI画面画像に対してユーザが合否の状態を変更できる表示部110を経由したインタフェースを提供する。ユーザは、各UI画面画像に対して合否の状態を確認することで合否判定基準の妥当性を判断し、誤りがあると判断した場合にはユーザフィードバック部107が提供するインタフェースに対し入力部109を経由してUI画面画像の合否の状態の変更を指示する。合否の状態の変更指示を受けたユーザフィードバック部107は、合否判定基準学習部106に対し合否の状態の変更を含んだ合否判定基準学習データ302を渡し、再学習の指示を行う。
入力部109は、自動試験装置100に対するユーザの操作やデータ入力などの要求を受け付ける。
表示部110は、ユーザの要求に応じて変更された自動試験装置100の設定データ(設定情報)や実行した試験の結果を表示装置6に表示する。
なお、記録部101、制御部102、試験対象操作部103、画面画像取得部104、画像比較部105、合否判定基準学習部106、ユーザフィードバック部107、合否判定部108、入力部109、表示部110は、プロセッサ1が記憶装置2に記憶されたプログラムを実行することにより、実現される。また、複数のプロセッサおよび複数のメモリが連携して上記機能を実行してもよい。
試験対象装置200は、試験対象となるソフトウェア、または、ソフトウェアを含む携帯電話機、タブレット端末、車載機器、パーソナルコンピュータなどの情報機器などである。試験対象装置200は、記録部201、制御部202、生成部203、入力部204、表示部205を有する。
記録部201は、試験対象装置200を動作させるためのプログラムやデータをメモリやハードディスクなどの記録媒体である。
制御部202は、試験対象装置200の記録部201からプログラムやデータを読み出し、読み出した内容と入力部204からの入力内容に応じて、試験対象装置200の各機能を制御するプロセッサや通信経路である。また、制御部202は、記録部201から読み出したプログラムやデータと、入力部204からの入力内容に応じて、UI画面の表示内容をUI画面生成部203にて生成し、表示部205への出力を指示する。また、各機能や機器の間のデータのやり取りを行う。
UI画面生成部(生成部)203は、制御部202の指示により、記録部201から読み出したプログラムやデータに従い、入力部204からの入力内容に応じて、UI画面への表示内容を生成するプログラムやプロセッサ、通信経路などである。
入力部204は、試験対象装置200に対しての操作やデータ入力を受け付ける、キーボードやマウス、タッチパッド、有線や無線の通信インタフェース、音声認識、各種センサなどの入力機器とそれらの制御プログラムや通信経路などである。
表示部205は、試験対象装置200からUI画面表示を行うためのディスプレイなどの表示機器や、外部の表示機器へデータ出力を行う通信経路と、それらの制御プログラムや通信経路である。
試験手順301は、自動試験装置100が試験対象装置200に対して行う操作の内容や手順、待ち時間、入力データ、UI画面画像確認の有無、手順の一部または全体とその繰り返し回数などを示すデータである。なお、試験手順301は、試験対象装置200に対し、実施したい試験の内容に応じて複数用意しても良い。また、試験の実行環境や実行タイミングに影響を受けやすくUI画面表示が変化しやすい場合、または、以前に低確率で発生するUI画面表示のばらつきによる不具合が発生したことがあるなどの理由で、特定の操作に対するUI画面画像のサンプリング量を増やしたいなど重点的に確認を行いたいUI画面や操作手順があれば、それらの繰り返し回数を増加させて強化試験とするなどの指定を試験手順301で行ってもよい。なお、操作タイミングや待ち時間によるUI画面表示の変化の試験を行う場合は、試験手順301内に待ち時間とUI画面画像確認の有無を組み合わせて設定することで実現できる。
合否判定基準学習データ(学習データ)302は、自動試験装置100の合否判定基準学習部106により生成された、各UI画面の表示のばらつきの範囲や傾向を示すデータである。
試験結果303は、自動試験装置100による試験の実施で得た結果を示すデータである。試験結果303は、試験手順301の各操作における試験の合否判定結果とUI画面画像などの動作結果を記録したデータである。
自動試験装置100の制御部102は、データベース部300から試験手順301を読み出し、学習部106を呼び出す(S101)。
学習部106は、読み出した試験手順301に従い、試験対象操作部103から試験対象装置200の入力部204に対し、操作やデータ入力を行う(S102)。なお、学習部106が、試験手順301に従い、試験対象装置200の操作を続ける中で、試験手順301に試験対象装置200からのUI画面画像取得の手順を、試験手順301を構成する試験用コマンド群などの中からUI画面画像取得コマンドなどとして検出した場合、画面画像取得部104は、試験対象装置200からその時の試験対象装置200のUI画面画像を画像データとして取得する(S103)。
学習部106は、試験手順301の群を全て終了すると、試験手順301を試験した回数が、予め設定された繰り返し回数nとの比較を行い、試験した回数がnよりもまだ少ない場合は、再度試験手順301の試験実行を行う(S105)。
学習モードのここまでの動作のイメージを図5に示す。
学習部106は、操作部103を介して、群に含まれる各操作やデータ入力を順次実施し、UI画面画像取得指示がある場合は取得部104を介して、そのときのUI画面画像を取得する。
学習部106は、群を繰り返し実施することで群の各操作と手順に対応したUI画面画像を繰り返しの数だけ取得する。なお、群における同じ操作手順に対する繰り返し毎のUI画面画像の集まり(図5の点線で囲ったUI画面画像の集まり)を、UI画面画像群と呼ぶ。
合否判定基準学習部106は、試験手順301で得られたUI画面画像をもとに、合否判定基準学習データ302を生成する(S106)。なお、本実施の形態では、合否判定基準学習データ302の一例として、基準画面画像と差分パターンを用いる方法について説明する。
図6は、合否判定基準学習部106が、合否判定基準を学習する実施例である。
差分パターン502は、先程生成した試験手順301の各操作に対応した基準画面画像に対して、試験手順301の各操作に対応したUI画面画像群の各UI画面画像が持つ、差分の範囲と傾向を示したデータとする。本実施の形態では、差分の範囲として各操作に対応したUI画面画像群の基準画面画像に対して、UI画面画像群に含まれる各UI画面画像の各画素のRGB成分が最も小さい場合の差分(図6の503)と最も大きい場合の差分(図6の504)を抽出したものとする。
また、合否判定基準学習部106は、UI画面画像群の各UI画面画像の基準画面画像に対する差分の発生傾向を算出する。本実施の形態では、差分の傾向としてUI画面画像群に含まれる各UI画面画像の各画素のRGB成分が基準画面画像に対して、小さい場合は図6の503の傾向、大きい場合は図6の504の傾向として、どちらに分布するかをUI画面画像群に含まれるUI画面画像の数に対する割合として算出している。
なお、図6の例では、画面1の場合は、UI画面画像群の各UI画面画像が全て一定している場合を示しており、基準画面画像に対する差分は無いため、差分の範囲に差はなく、発生傾向は100%である。画面2の場合は、基準画面画像に対してUI画面画像内の斜線の矩形部分505が、UI画面に表示されない場合があり、UI画面画像内の矩形部分506が、UI画面に表示される場合があることを示している。画面xの場合も、画面2の場合と同様に、UI画面画像内の斜線の矩形部分505がUI画面に表示されない場合があり、UI画面画像の矩形部分506がUI画面に表示される場合があることを示している。
ユーザは、通知された内容を確認し(S107)、合否判定基準学習(S106)の結果が妥当であるかを判断し(S108)、もしユーザが学習結果に問題があると判断した場合には、前記の妥当性の確認で例を挙げたように合否判定基準学習データ302に対する各UI画面画像の合否状態に対するフィードバックが必要とする内容を自動試験装置100の入力部109に入力する。
フィードバックを必要とする内容は、例えば「X番目の操作によるUI画面表示は現在の学習結果では合格に分類されているが、UI画面表示内容が異常であるため基準画面画像、差分パターンに含めないよう再学習する」や「Y番目の操作によるUI画面表示は現在の学習結果では合格と分類されているが、UI画面表示内容が異常であるためユーザが合格と判断し選んだ別の繰り返し時のY番目の操作によるUI画面表示と同じ画像を使い基準画面画像、差分パターンの再学習を行う」などである。
入力部109は、ユーザから受け付けたフィードバックを必要とする情報を、ユーザフィードバック部107に渡す。ユーザフィードバック部107は、ユーザから受け付けたフィードバックの内容を反映した合否判定基準の再学習を行う(S109)。
また、ユーザが、予めUI画面画像の正しい表示結果を知っていた場合には、UI画面画像群の中で507の表示内容が異常であることを目視で判断できる。
ユーザフィードバック部107は、合否判定基準の再学習において、図5における各UI画面画像の取得結果から、ユーザから異常であると指定された試験手順301の群の繰り返しn回目における画像xを除いた、残りの全ての繰り返し毎の各操作に対するUI画面画像に対し、合否判定基準学習(S106)と同様の手順で合否判定基準の再学習を行う。再学習の結果、合否判定基準の学習結果、図7に示すようになったとする。図7では、画面xにおける画面中央部への矩形の表示(白抜き文字XXX)が基準画面画像に対する差分パターンから除外される。つまり、試験モード時の合格基準から除外される。
上記の手順S107〜S109は、ユーザがフィードバック不要と判断するまで繰り返し実施される(S108)。
なお、本実施の形態と、別の方法で合否判定基準の学習を行った場合には、その別の方法が必要とする合否判定基準学習データ302を記録部101は、記録する。
以上が基準画面画像と差分パターンを用いた学習モードの動作の例である。
最初に制御部102は、データベース部300から試験手順301を読み出し、学習部106を呼び出す(S201)。
学習部106は、読み出した試験手順301に従い、試験対象操作部103から試験対象装置200の入力部204に対し、操作やデータ入力を行う(S202)。
学習部106が、試験手順301に従い、試験対象装置200の操作を続ける中で、試験手順301に試験対象装置200からのUI画面画像取得の手順を検出した場合、画面画像取得部104は、試験対象装置200からその時の試験対象装置200のUI画面画像を画像データとして取得する(S203)。
学習部106は、試験手順301を完了するまで、上記の試験対象装置200の操作と必要に応じて試験対象装置200からUI画面画像の取得を繰り返す(S204)。
学習モードでは、試験手順301の群を繰り返し回数分だけ繰り返し実行してUI画面画像を収集していたが、試験モードでは、試験手順301の群を一回だけ実行してUI画面画像を収集する。
合否判定は合否判定部108によって行われる。合否判定部108は、画像比較部105を用いて、試験モード(図8:S201〜S204)で得た試験手順301の各操作に対応するUI画面画像と、学習モード(図1:S101〜S110)で得た試験手順301の各操作に対応する基準画面画像の比較を行う。
合否判定部108は、試験モードで得た各操作に対応したUI画面画像と、対応した基準画面画像との比較を行い、発生した差分が各操作に対応した差分パターンの範囲に収まる場合に合否判定を合格とし、そうでない場合は不合格と判断する。
合否判定部108は、試験手順301の全ての操作に対して上記のように合否判定を行う。
合否判定部108は、併せて、自動試験装置100による試験合否判定が妥当であるかを確認することもユーザへ通知する。
なお、本実施の形態では、試験の合否判定の結果が得られた後に合否判定部がユーザに対し通知を行う例について説明したが、このユーザへの通知を行う手順は、試験モードの完了後、ユーザ側から自動試験装置100に対して要求があった時点で行ってもよい。
ユーザは、通知された合否判定結果と試験モードで得たUI画面画像、基準画面画像に対する差分、差分パターンなどを確認し、合否判定結果に問題があると判断した場合は、フィードバックが必要とする内容を自動試験装置100の入力部109に入力する(S207)。
入力部109は、ユーザから受け付けたフィードバックを必要とする情報を、ユーザフィードバック部107に渡し。ユーザフィードバック部107は、ユーザから受け付けたフィードバックの内容にした内容を反映した合否判定基準の再学習と試験の合否判定結果の修正を行う(S208)。
この場合の合否判定基準の再学習の結果は図6のようになる。また、ユーザにより合格と判断された試験手順301の操作xの合否判定結果を不合格から合格に修正する。 判定部108は、ユーザがフィードバック不要と判断するまで、上記の手順S206〜S208を繰り返し実施する(S207)。
以上が基準画面画像と差分パターンを用いた試験モードの動作の例である。
また、試験手順301を用いて同様の操作手順を複数回実施し、同じ操作手順に対するUI画面画像のばらつきの範囲や傾向を合否判定基準として学習し試験の合否判定に用いることにより、通常の動作で発生し得る試験で許容可能なUI画面表示のばらつきを許容することを可能とし、従来だと試験対象領域としてマスク処理などの準備が困難であった領域も自動試験の対象となり、ユーザの判断がひつようとなる作業を削減することが可能となる。
図10、図11、図12を用いて、合否判定基準学習データ302の基準画面画像と差分パターンを試験手順301の任意の操作に対して複数持つ場合の例について説明する。
試験手順301の任意の操作に対し繰り返し実施した結果得られたUI画面画像群を図10に示す。
合否判定基準学習の結果、UI画面画像の正常ケースを基準画面画像と差分パターンで表現すると、図11に示すように冗長な合否判定基準学習データ302となり、合否判定基準の精度を低下させる可能性がある。このような場合、前記図4の学習結果確認(S107)での学習結果の妥当性確認を行い、その結果、ユーザフィードバック部107によりユーザが合否判定基準学習データ302からUI画面画像一覧をチェックし、特定のUI画面画像を別の正常ケースとして選択できるように選択肢をユーザフィードバック部107からユーザへ提供する。
ユーザフィードバックのように、ユーザにより別の正常ケースとして特定のUI画面画像が選択された場合、再学習を行い、図12に示すように特定の操作に対するUI画面表示に対して複数の基準画面画像と差分パターンを合否判定基準学習データ302に保持できる。
合否判定基準学習データ302に1つの試験手順301の操作に対して複数の基準画面画像と差分パターンを持つ場合、図8に示す試験モードにおける試験合否判定(S205)では、図12のように複数の基準画面画像と差分パターンの全てのケースと試験で得たUI画面画像を比較し、いずれかの基準画面画像と差分パターンに一致する場合に合格と判定する。
この方法により、操作手順や入力データの内容によりUI画面表示が大きく変化する場合への対応が可能となる。
本実施の形態では、実施の形態1にエラー推定機能を加えた場合について説明する。
図13は、エラー推定機能を加えた場合の自動試験装置100を用いたシステム構成の一例である。図13において、図3と同一符号である、記録部101、制御部102、操作部103、取得部104、比較部105、学習部106、反映部107、判定部108、入力部109、表示部110、記録部201、制御部202、生成部203、入力部204、表示部205、試験手順301、学習データ302、試験結果303は、同一または相当する部分を表しており、図3で説明したものと同じである。
自動試験装置100のエラー推定部(推定部)111は、データベース部300から読み出したエラー推定設定(推定設定)304をもとに、学習モードでの合否判定基準学習(S106)や試験モードでの合否判定基準学習データ302による試験合否判定(S205)に加えて試験対象装置200のUI画面画像のばらつきの範囲や傾向から特定の偏りを持つものをエラーと推定する。
データベース部300のエラー推定設定(推定設定)304は、エラー推定部111でエラー推定に用いるデータであり、エラー推定の基準となるばらつきの範囲や傾向を示すものでありユーザが設定する。
なお、エラー推定部111は、プロセッサ1が記憶装置2に記憶されたプログラムを実行することにより、実現される。また、複数のプロセッサおよび複数のメモリが連携して上記機能を実行してもよい。
まず、制御部102は、データベース部300からエラー推定設定304を読み出す。エラー推定設定304は、図13に示すように外部(ネットワークを経由したサーバもしくは外部記憶装置)から取得してもよいし自動試験装置100の記録部101のように自動試験装置100に内蔵した記録媒体に記録し必要に応じて読み出してもよい。また、エラー推定設定304の内容はユーザが希望する任意のエラー推定基準に変更してもよいし、過去に取得した合否判定基準学習データ302からエラー推定設定304の形式として抽出するよう改良して抽出した結果を使用してもよい。
次に推定部111は、読み出したエラー推定設定304と合否判定基準学習データ302を用いてエラー推定を行う(S301)。
実施の形態1では、合否判定基準学習(S106)の後、ユーザへ基準画面画像や差分パターンなどの合否判定基準学習データ302と学習モードで得た試験対象装置200のUI画面画像群を通知することにより、ユーザによる学習結果の妥当性の確認を行った。 これに対し、エラー推定を用いた、本実施の形態の場合では、エラー推定実施(S301)において、合否判定基準学習(S106)で得た差分パターンに対してエラー推定設定304で設定された差分パターンの発生傾向がe/n以下の場合にエラーとして検出する。例えば、図6の507の発生傾向d/nがエラー推定設定304の発生傾向e/n以下の場合、図6の507に分類された各UI画面画像に異常の可能性があるとして検出する。
実施の形態1の説明で、図4の合否判定基準学習(S106)の結果に対して行ったのと同様に、エラー推定部111で検出した結果は、S107〜S109においてユーザへ通知され、ユーザによる確認とフィードバックの要否判断が行われる。
例えば、エラー推定部111でエラー推定した通り、ユーザへ通知したUI画面画像が異常であるとユーザが判断した場合は、ユーザによるその内容が入力部109へ入力され、ユーザフィードバック部107により(S108)実施の形態1と同様に合否判定基準の再学習(S109)を実施する。
なお、本実施の形態では、エラー推定(S301)の実施を試験手順301の手順を完了し合否判定基準学習(S106)の後に行ったが、処理の順序は必要に応じて変更してもよい。
本実施の形態では、実施の形態1に加えて、発明の対象である自動試験装置100を製品や試験環境に内蔵した場合について説明する。自動試験装置100を製品や試験環境に内蔵することで、既に市場に出回った製品動作中のUI画面表示で検出可能な異常や、開発段階や市場不具合発生後のUI画面表示で検出可能な異常の再現試験での検出に使用する。
図15は、本発明の本実施の形態3に係る自動試験装置を用いたシステム構成の一例である。なお、本実施の形態では、試験対象装置200を製品や試験環境として説明を行う図15において、図3と同一の符号である、記録部101、制御部102、操作部103、取得部104、比較部105、学習部106、反映部107、判定部108、入力部109、表示部110、記録部201、制御部202、生成部203、入力部204、表示部205、試験手順301、学習データ302、試験結果303は、同一または相当する部分を表しており、図3で説明したものと同じである。
データベース部300のエラー検出設定(検出設定)305は、異常の検出に必要な情報を保持するデータである。
エラー検出設定305は、UI画面画像を異常と判別するための基準である。ここではエラー検出設定305は、製品出荷前に予め用意された操作と操作に対応する基準画面画像と差分パターンを記録したものとする。エラー検出設定305とUI画面画像を比較した結果、エラー検出設定305に含まれない場合はUI画面表示が異常であると判断することができる。なお、エラー検出設定305は、ユーザにより基準画面画像と差分パターンと同様の情報を作成してもよいし、基準画面画像と差分パターンに含まれる内容を正常ではなく異常と判断するように設定する方法を取ってもよい。
試験対象装置200のログ出力部(出力部)206は、自動試験装置100から異常発生の通知を受け、ログ出力やメモリダンプなどの情報を記録する。記録先は、試験対象装置200の記録部201でもよいし、自動試験装置100へ通知して自動試験装置100の記録部101へ記録してもよい。また、データベース部300など外部の記録媒体へ通知し記録を行ってもよい。
自動試験装置100の制御部102は、試験対象装置200起動時にデータベース部300のエラー検出設定305を読み込む(S401)。
本実施の形態では、エラー検出設定305のデータとして実施の形態1の図6で用いた画面2のUI画面画像群の基準画面画像と差分パターンを示すものとするが、エラー検出設定305のデータの内容は、任意の画像データなどに変更してもよい。
取得部104は、取得部104の内部または制御部102などに持つタイマで時間を計測し、予め設定された時間が経過すると(S402)試験対象装置200からUI画面画像を取得すると、画像比較部105を呼び出す。
試験対象装置200からUI画面画像を取得する時間の間隔や画面の大きさ、位置などの条件は、エラー検出設定305で設定してもよい。なお、これらの設定は制御部102がエラー検出設定305を読み込んだ際に設定を行う。
画像比較部105は、取得したUI画面画像とエラー検出設定305の内容の比較を行う。
合否判定部108は、画像比較部105の結果を受け取り、試験対象装置200から取得したUI画面画像がエラー検出設定305の条件に含まれるかを判断する。なお、本実施の形態では、エラー検出設定305に基準画面画像と差分パターンを使用しているため、合否判定部108を用いて、試験対象装置200から取得したUI画面画像とエラー検出設定305を比較する(S404)。
合否判定部108は、試験対象装置200から取得したUI画面画像とエラー検出設定305を比較し、エラー検出設定305に含まれない場合は、異常と判断する(S404)。
上記において合否判定部108が異常と判断した場合、合否判定部108は制御部102を経由してログ出力部112へ異常を通知し、ログ出力部112は試験対象装置200に対し、異常発生の通知を行う(S405)。
異常発生の通知を受けた試験対象装置200はログ出力部206により、記録部201などの記録媒体へ動作ログやメモリダンプなどの動作情報の記録を行う(S406)。
本発明によりUI画面表示に影響する異常を自動検出し、必要な情報のみを自動的に記録することで人による解析作業の負荷を軽減することが可能となる。メモリの不正アクセスなどのようにシステムに明確な異常を示す不具合はプログラム上発見し易いが、市場での動作環境に起因する問題やプログラム上のエラー検出処理では発見できない設計や実装の不具合流出による極めて低い頻度での不正なUI画面表示が発生する場合は、特に本発明での効果を得られると考える。
本実施の形態で説明した、製品組込みの例では、実施の形態1の構成に加えて異常の検出と動作情報の記録に必要な機能を追加したが、不要であれば市場での製品組込み時に自動試験装置100の合否判定基準学習部106やユーザフィードバック部107などの機能やデータベース部300の学習データ302、試験結果303などの情報を除外してもよい。
また、自動試験装置100の機能は、試験対象装置200に含んでもよいし、独立させてもよい。さらに、ログ出力などの動作情報の記録の指示と実施を行う機能は、自動試験装置100や試験対象装置200にまとめてもよいし、または、各装置に分散させてもよく、外部へ通信などにより通知を行ってもよい。
本実施の形態は、実施の形態1に加えて、自動試験装置100のプロセッサ1などの処理速度や試験操作インタフェース3、画像取得インタフェース4、制御部102の処理速度や通信速度、または、試験対象装置200の処理速度などの影響により、自動試験装置100や試験対象装置200の処理タイミングの変化に対応するためパラメータによる補正機能を持たせたものである。
図18は、パラメータによる補正機能を持たせた場合の自動試験装置100を用いたシステム構成の一例である。図18において、図3と同一符号である、記録部101、制御部102、操作部103、取得部104、比較部105、学習部106、反映部107、判定部108、入力部109、表示部110、記録部201、制御部202、生成部203、入力部204、表示部205、試験手順301、学習データ302、試験結果303は、同一または相当する部分を表しており、図3で説明したものと同じである。
自動試験装置100のパラメータ補正部(補正部)113は、データベース部300から読み出した補正パラメータ(パラメータ)306をもとに、学習モードや試験モードにおける試験手順301に含まれた各操作やデータ入力、UI画面画像取得のタイミングを早く、または、遅くするものである。
データベース部300の補正パラメータ306は、補正部113で試験手順301に含まれる操作やデータ入力、UI画面画像取得に対し、予め設定された待ち時間の短縮、待ち時間の追加に用いるデータであり、試験手順301に含まれる操作やデータ入力、UI画面画像取得のタイミングを補正するためにユーザが設定するものである。
なお、補正部113は、プロセッサ1が記憶装置2に記憶させたプログラムを実行することにより、実現される。また、複数のプロセッサおよび複数のメモリが連携して上記機能を実行してもよい。
まず、自動試験装置100の制御部102は、データベース部300から試験手順301と補正パラメータ306を読み出し、学習部106を呼び出す(S201)。
学習部106は、読み出した試験手順301に含まれる操作やデータ入力を試験対象装置200に対して行う前に、読み出した補正パラメータ306と試験手順301をパラメータ補正部113へ渡し補正を指示する(S601)。
パラメータ補正の例として、図5の学習モードにおける操作1の操作、データ入力S102の中にUI画面画像取得S103を実施するまでの待ち時間が1秒として定義されているとする。また、補正パラメータ306には試験手順301の繰り返し毎の操作1に対しUI画面画像取得へ移るまでの待ち時間を1秒追加する内容を含んでいるものとする。
ここでは学習モードの試験手順301を例としているが、試験手順301の内容は試験モードでも同等のため問題ない。
パラメータ補正部113は、試験手順301から読み出した操作1に対応する補正情報を補正パラメータ306から検索し、待ち時間を1秒追加する内容を見つける。パラメータ補正部113は、試験手順301から読み出した操作1の操作、データ入力S102の中から待ち時間を1秒とする情報を見つけ、補正パラメータ306から見つけた待ち時間を1秒追加する内容を反映し、待ち時間を2秒として学習部106へ返す。
学習部106は、パラメータ補正部113から受け取った情報をもとに、待ち以外の操作やデータ入力の実施後、UI画面画像取得までに2秒の待ちを行う(S202)。
UI画面画像取得(S203)以降の流れは実施の形態1と同様である。
Claims (5)
- 試験対象装置の入力機器の操作を行う操作部と、
前記試験対象装置の出力画面表示内容を取得する取得部と、
前記操作部に対する予め設定された1以上の操作と前記操作に対応する出力画面表示内容を前記取得部から取得するか否かの指示を含む試験手順群を繰り返し実行させ、各操作に対応する複数の出力画面表示内容のばらつきの範囲およびばらつきの傾向を学習し、前記試験対象装置に対する試験の合否判定のための学習データを生成する学習部と、
前記学習データを表示する表示部と、
前記操作部に対し、予め試験手順に設定された操作を実行し、前記取得部で取得した出力画面表示内容と、前記学習データとの比較を行い、前記試験対象装置に対する試験の合否判定を行う判定部と
を有することを特徴とする自動試験装置。 - 前記学習データに対する妥当性が入力される入力部と、
前記学習データに対し、前記妥当性を反映した再学習を行い、再学習データを生成する反映部とを有し、
前記判定部は、前記操作部に対し、予め試験手順に設定された操作を実行し、前記取得部で取得した出力画面表示内容と、前記再学習データとの比較を行い、前記試験対象装置に対する試験の合否判定を行うことを特徴とする請求項1に記載の自動試験装置。 - 前記学習部が生成した学習データに対し、取得した出力画面表示内容のばらつきの範囲およびばらつきの傾向がエラーであると推定する推定部を有することを特徴とする請求項1または2に記載の自動試験装置。
- 前記判定部は、検出設定に基づき、前記出力画面表示内容に異常があるか否かを判断し、
前記判定部が異常があると判断した場合、前記試験対象装置に対して異常検出によるログ出力またはメモリダンプの動作情報の記録を指示する出力部を有することを特徴とする請求項1から3のいずれか一項に記載の自動試験装置。 - 前記試験手順群に設定された各操作の待ち時間を補正する補正部を有することを特徴とする請求項1から4のいずれか一項に記載の自動試験装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/062240 WO2016170618A1 (ja) | 2015-04-22 | 2015-04-22 | 自動試験装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2016170618A1 JPWO2016170618A1 (ja) | 2017-06-29 |
JP6214824B2 true JP6214824B2 (ja) | 2017-10-18 |
Family
ID=57142946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017513881A Active JP6214824B2 (ja) | 2015-04-22 | 2015-04-22 | 自動試験装置 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP6214824B2 (ja) |
TW (1) | TW201638784A (ja) |
WO (1) | WO2016170618A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10838699B2 (en) | 2017-01-18 | 2020-11-17 | Oracle International Corporation | Generating data mappings for user interface screens and screen components for an application |
WO2018211546A1 (ja) * | 2017-05-15 | 2018-11-22 | 三菱電機インフォメーションシステムズ株式会社 | 画面試験装置および画面試験プログラム |
US10489126B2 (en) * | 2018-02-12 | 2019-11-26 | Oracle International Corporation | Automated code generation |
US11200820B2 (en) | 2019-01-31 | 2021-12-14 | Micware Co., Ltd. | Information processor, method of controlling information processor, and storage medium |
JP2020148620A (ja) * | 2019-03-13 | 2020-09-17 | 株式会社ナベル | 卵分類装置、卵分類方法及びコンピュータプログラム |
JP6802320B2 (ja) * | 2019-05-16 | 2020-12-16 | メタウォーター株式会社 | 情報処理システム、情報処理装置、プログラム、及び情報処理方法 |
WO2021240824A1 (ja) * | 2020-05-29 | 2021-12-02 | 日本電信電話株式会社 | マスキング装置、マスキング方法およびマスキングプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7644368B2 (en) * | 2005-06-29 | 2010-01-05 | Sap Ag | System and method for regression tests of user interfaces |
JP2012038162A (ja) * | 2010-08-09 | 2012-02-23 | Ricoh Co Ltd | 自動テストツール・プログラム及び自動テスト方法 |
-
2015
- 2015-04-22 JP JP2017513881A patent/JP6214824B2/ja active Active
- 2015-04-22 WO PCT/JP2015/062240 patent/WO2016170618A1/ja active Application Filing
- 2015-04-28 TW TW104113470A patent/TW201638784A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
JPWO2016170618A1 (ja) | 2017-06-29 |
WO2016170618A1 (ja) | 2016-10-27 |
TW201638784A (zh) | 2016-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6214824B2 (ja) | 自動試験装置 | |
TWI622877B (zh) | System and method for recording and replaying mouse behavior, recording media and program products | |
US9280451B2 (en) | Testing device | |
JP2012103786A (ja) | テスト支援装置、制御方法、及びプログラム | |
US9912846B2 (en) | Obtaining calibration data of a camera | |
CN108509797A (zh) | 基于模糊测试的工控系统漏洞挖掘方法、装置及修复方法 | |
US20190122341A1 (en) | Image processing apparatus and recording medium | |
KR101460860B1 (ko) | 상태 기반의 테스트 시나리오 모델을 이용한 gui 테스트 장치 및 방법 | |
JP4896909B2 (ja) | シナリオ生成装置及びプログラム | |
JP6130011B1 (ja) | ソフトウェアの動作検証装置、ソフトウェアの動作検証方法 | |
CN110659193B (zh) | 测试系统 | |
KR101753314B1 (ko) | 이미지 매칭 학습을 이용한 어플리케이션 테스트 방법 및 이를 수행하기 위한 장치 | |
EP4054173A1 (en) | Image capturing apparatus, method for controlling image capturing apparatus | |
KR20150035151A (ko) | 애플리케이션 성능 테스트를 위한 시스템, 단말장치, 검증장치, 방법 및 컴퓨터로 판독 가능한 기록 매체 | |
US9524544B2 (en) | Information processing apparatus, information processing method, and non-transitory computer readable medium | |
CN112422951A (zh) | 一种故障注入的方法、装置、存储介质及电子设备 | |
JP6603178B2 (ja) | 表示制御システム、表示制御方法、および表示制御プログラム | |
JP7390070B1 (ja) | ウェブサイトを検査するためのシステム、方法、及びプログラム | |
US20190392206A1 (en) | Image processing apparatus and image processing method | |
JP6802320B2 (ja) | 情報処理システム、情報処理装置、プログラム、及び情報処理方法 | |
WO2023139760A1 (ja) | データ拡張装置、データ拡張方法、及び非一時的なコンピュータ可読媒体 | |
JP2010170459A (ja) | テストシステム、テスト方法およびテストプログラム | |
JP6686093B2 (ja) | 画面対応付け方法、情報処理装置、操作再現システム及び画面対応付けプログラム | |
US20070094433A1 (en) | Access priority order setting apparatus and method | |
JP2022036210A (ja) | プログラムの検査装置、プログラムの検査方法及びプログラムの検査プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170328 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170328 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20170328 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20170413 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170606 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170718 |
|
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: 20170822 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170919 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6214824 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |