JP6619891B2 - 画面試験装置および画面試験プログラム - Google Patents

画面試験装置および画面試験プログラム Download PDF

Info

Publication number
JP6619891B2
JP6619891B2 JP2018549600A JP2018549600A JP6619891B2 JP 6619891 B2 JP6619891 B2 JP 6619891B2 JP 2018549600 A JP2018549600 A JP 2018549600A JP 2018549600 A JP2018549600 A JP 2018549600A JP 6619891 B2 JP6619891 B2 JP 6619891B2
Authority
JP
Japan
Prior art keywords
screen
image
application
type
data
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
JP2018549600A
Other languages
English (en)
Other versions
JPWO2018211546A1 (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.)
Mitsubishi Electric Corp
Mitsubishi Electric Information Systems Corp
Original Assignee
Mitsubishi Electric Corp
Mitsubishi Electric Information Systems 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 Mitsubishi Electric Corp, Mitsubishi Electric Information Systems Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2018211546A1 publication Critical patent/JPWO2018211546A1/ja
Application granted granted Critical
Publication of JP6619891B2 publication Critical patent/JP6619891B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、画面試験装置および画面試験プログラムに関するものである。
特許文献1に記載の技術では、GUI制御プログラムの表示項目の位置等を示すテスト項目テーブルが画面設計仕様書から作成され、テスト項目テーブルと同一フォーマットの画面項目テーブルが画面の解析結果から作成され、テスト項目テーブルと画面項目テーブルとの比較により各項目の位置等が正しいか判定される。「GUI」は、Graphical User Interfaceの略語である。
特開平11−175370号公報
従来技術では、画面を試験する際に、同じ座標同士の比較を実施しているため、画面サイズまたは画面解像度が異なる端末で試験を実施したり、異なる種類のウェブブラウザで試験を実施したりした場合に試験結果を正しく評価することができない。端末ごと、あるいは、ウェブブラウザの種類ごとにテスト項目テーブルを作成することが考えられるが、その場合、試験の効率が大幅に低下してしまう。
本発明は、画面の試験の効率化を目的とする。
本発明の一態様に係る画面試験装置は、
アプリケーションの画面内に表示されるオブジェクトの種類ごとに、オブジェクトが正常に表示されていると判定するためのルールを定義した定義データをメモリから取得する定義取得部と、
前記アプリケーションの実行時における前記アプリケーションの画面を記録した画像データを前記メモリから取得する画像取得部と、
前記画像取得部により取得された画像データから少なくとも1種類のオブジェクトを抽出し、前記定義取得部により取得された定義データを参照して、抽出したオブジェクトの種類に対応するルールが守られているかどうかを判定することで、前記画像データに記録されている前記アプリケーションの画面の異常を検出する異常検出部とを備える。
前記画像取得部は、画面サイズおよび画面解像度の少なくともいずれかが異なる端末で前記アプリケーションを実行した場合における各端末の前記アプリケーションの画面を記録したデータを前記画像データとして取得し、
前記異常検出部は、前記画像データに記録されている各端末の前記アプリケーションの画面の異常を検出する。
前記画像取得部は、異なる種類の前記アプリケーションの実行時における各種類の前記アプリケーションの画面を記録したデータを前記画像データとして取得し、
前記異常検出部は、前記画像データに記録されている各種類の前記アプリケーションの画面の異常を検出する。
前記画面試験装置は、
マークアップ言語で記述されたファイルと、スタイルシート言語で記述されたファイルとの少なくともいずれかを含み、前記画像データに記録されている前記アプリケーションの画面に対応するソースファイルを前記メモリから取得するソース取得部をさらに備え、
前記異常検出部は、前記ソース取得部により取得されたソースファイルを参照して、前記アプリケーションの画面内で前記少なくとも1種類のオブジェクトが表示される位置を算出し、前記画像データにおける、算出した位置から前記少なくとも1種類のオブジェクトを抽出する。
前記異常検出部は、画像認識を行って、前記画像データから前記少なくとも1種類のオブジェクトを抽出する。
前記定義取得部は、少なくとも一部の種類のオブジェクトについて、対応するルールを定義するとともに、オブジェクトをモデル化したテンプレート画像を記録したデータを前記定義データとして取得し、
前記異常検出部は、前記定義データに、抽出したオブジェクトの種類に対応するテンプレート画像が記録されていれば、当該テンプレート画像を用いたテンプレートマッチングを行って、抽出したオブジェクトの種類に対応するルールが守られているかどうかを判定する。
前記異常検出部は、抽出したオブジェクトの種類に対応するルールが守られていないと判定した場合、判定結果を出力し、出力した判定結果が正しいかどうかの判断結果の入力をユーザから受け付ける。
前記異常検出部は、出力した判定結果が誤りであるという判断結果が前記ユーザから入力された場合、前記定義データに定義されているルールの修正を前記ユーザから受け付け、前記修正を前記定義データに反映する。
本発明の一態様に係る画面試験プログラムは、
コンピュータに、
アプリケーションの画面内に表示されるオブジェクトの種類ごとに、オブジェクトが正常に表示されていると判定するためのルールを定義した定義データをメモリから取得する定義取得処理と、
前記アプリケーションの実行時における前記アプリケーションの画面を記録した画像データを前記メモリから取得する画像取得処理と、
前記画像取得処理により取得された画像データから少なくとも1種類のオブジェクトを抽出し、前記定義取得処理により取得された定義データを参照して、抽出したオブジェクトの種類に対応するルールが守られているかどうかを判定することで、前記画像データに記録されている前記アプリケーションの画面の異常を検出する異常検出処理とを実行させる。
本発明では、個別のオブジェクトの位置等を事前に定義していなくても画面の試験が可能であるため、画面の試験の効率が向上する。
実施の形態1に係る画面試験装置の構成を示すブロック図。 実施の形態1に係る画面試験装置の定義データの例を示す表。 実施の形態1に係る画面試験装置の画像データの例を示す図。 実施の形態1に係る画面試験装置のソースファイルの例を示す図。 実施の形態1に係る画面試験装置のソースファイルの例を示す図。 実施の形態1に係る画面試験装置の動作を示すフローチャート。 実施の形態1に係る画面試験装置の異常検出部の動作を示すフローチャート。
以下、本発明の実施の形態について、図を用いて説明する。各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。なお、本発明は、以下に説明する実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。例えば、以下に説明する実施の形態が部分的に実施されても構わない。
実施の形態1.
本実施の形態について、図1から図7を用いて説明する。
***構成の説明***
図1を参照して、本実施の形態に係る画面試験装置10の構成を説明する。
画面試験装置10は、コンピュータである。画面試験装置10は、プロセッサ11を備えるとともに、メモリ12、入力機器13、ディスプレイ14および通信装置15といった他のハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
画面試験装置10は、機能要素として、定義取得部21と、画像取得部22と、ソース取得部23と、異常検出部24とを備える。定義取得部21、画像取得部22、ソース取得部23および異常検出部24の機能は、ソフトウェアにより実現される。
プロセッサ11は、画面試験プログラムを実行する装置である。画面試験プログラムは、定義取得部21、画像取得部22、ソース取得部23および異常検出部24の機能を実現するプログラムである。プロセッサ11は、例えば、CPUである。「CPU」は、Central Processing Unitの略語である。
メモリ12は、画面試験プログラムを記憶する装置である。メモリ12は、例えば、フラッシュメモリまたはRAMである。「RAM」は、Random Access Memoryの略語である。
入力機器13は、画面試験プログラムへのデータの入力のためにユーザにより操作される機器である。入力機器13は、例えば、マウス、キーボードまたはタッチパネルである。
ディスプレイ14は、画面試験プログラムから出力されるデータを画面に表示する機器である。ディスプレイ14は、例えば、LCDである。「LCD」は、Liquid Crystal Displayの略語である。
通信装置15は、画面試験プログラムに入力されるデータを受信するレシーバと、画面試験プログラムから出力されるデータを送信するトランスミッタとを含む。通信装置15は、例えば、通信チップまたはNICである。「NIC」は、Network Interface Cardの略語である。
画面試験プログラムは、プロセッサ11に読み込まれ、プロセッサ11によって実行される。メモリ12には、画面試験プログラムだけでなく、OSも記憶されている。「OS」は、Operating Systemの略語である。プロセッサ11は、OSを実行しながら、画面試験プログラムを実行する。
画面試験プログラムおよびOSは、補助記憶装置に記憶されていてもよい。補助記憶装置は、例えば、フラッシュメモリまたはHDDである。「HDD」は、Hard Disk Driveの略語である。補助記憶装置に記憶されている画面試験プログラムおよびOSは、メモリ12にロードされ、プロセッサ11によって実行される。
なお、画面試験プログラムの一部または全部がOSに組み込まれていてもよい。
画面試験装置10は、プロセッサ11を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、画面試験プログラムの実行を分担する。それぞれのプロセッサは、プロセッサ11と同じように、画面試験プログラムを実行する装置である。
画面試験プログラムにより利用、処理または出力されるデータ、情報、信号値および変数値は、メモリ12、補助記憶装置、または、プロセッサ11内のレジスタまたはキャッシュメモリに記憶される。
画面試験プログラムは、定義取得部21、画像取得部22、ソース取得部23および異常検出部24の「部」を「処理」に読み替えた各処理、または、定義取得部21、画像取得部22、ソース取得部23および異常検出部24の「部」を「手順」に読み替えた各手順をコンピュータに実行させるプログラムである。画面試験プログラムは、コンピュータ読取可能な媒体に記録されて提供されてもよいし、プログラムプロダクトとして提供されてもよい。
メモリ12には、定義データ31が記憶される。
定義データ31は、アプリケーションの画面内に表示されるオブジェクトの種類ごとに、オブジェクトが正常に表示されていると判定するためのルールを定義したデータである。アプリケーションは、例えば、ウェブブラウザである。定義データ31は、本実施の形態では、少なくとも一部の種類のオブジェクトについて、対応するルールを定義するとともに、オブジェクトをモデル化したテンプレート画像を記録したデータである。定義データ31は、任意の形式のデータでよいが、本実施の形態ではデータベースのテーブルである。
定義データ31は、画面を試験するユーザにより入力機器13を介して入力される。あるいは、定義データ31は、画面試験装置10の外部のサーバまたはストレージ等から通信装置15を介して取得される。
図2に示す定義データ31では、以下のように、10種類のオブジェクトについて、オブジェクトが正常に表示されていると判定するためのルールとともに、ルールが守られていると判定するための基準になるモデル、または、ルールが守られていると判定するために利用される認識方法が定義されている。
(1)表については、「枠崩れがない」というルールとともに、モデルとして「輪郭」の特徴量が定義されている。
(2)ラジオボタンについては、「丸い形状が存在する」というルールとともに、モデルとして「輪郭」の特徴量が定義されている。
(3)チェックボックスについては、「四角い形状が存在する」というルールとともに、モデルとして「輪郭」の特徴量が定義されている。
(4)コンボボックスについては、「開いたときに文字切れがない」および「正しい要素が存在する」という2つのルールとともに、認識方法として「文字認識」を利用することが定義されている。
(5)ボタンについては、「文字切れがない」というルールとともに、認識方法として「文字認識」を利用することが定義されている。また、「ボタンの相対的な位置関係が同じ」というルールとともに、モデルとして「輪郭」の特徴量が定義され、認識方法として「文字認識」および「文字領域抽出」を利用することが定義されている。
(6)タブについては、「文字切れがない」というルールとともに、認識方法として「文字認識」を利用することが定義されている。
(7)テキストフォームについては、「文字切れがない」というルールとともに、認識方法として「文字認識」を利用することが定義されている。
(8)文字については、「改行位置が同じ」というルールとともに、認識方法として「文字認識」および「文字領域抽出」を利用することが定義されている。また、「アイコン等の画像と文字の相対的な位置関係が同じ」というルールとともに、認識方法として「文字領域抽出」および「テンプレートマッチング」を利用することが定義されている。図示していないが、「テンプレートマッチング」に用いるテンプレート画像も記録されている。(9)スクロールバーについては、「スクロールバーが出ている」というルールとともに、認識方法として「テンプレートマッチング」を利用することが定義されている。図示していないが、「テンプレートマッチング」に用いるテンプレート画像も記録されている。(10)アイコンについては、「アイコンが表示されている」というルールとともに、モデルとして「局所特徴量」が定義されている。
メモリ12には、画像データ32がさらに記憶される。
画像データ32は、アプリケーションの実行時におけるアプリケーションの画面を記録したデータである。すなわち、画像データ32は、アプリケーションの画面のスクリーンショットである。画像データ32は、本実施の形態では、アプリケーションの画面全体を1つの画像として記録したデータであるが、アプリケーションの画面を、オブジェクトを含む領域ごとに別々の画像として記録したデータであってもよい。
画像データ32は、アプリケーションを実行する端末40から通信装置15を介して取得される。あるいは、画像データ32は、画面試験装置10の内部で端末40がアプリケーションを実行する動作を模擬することにより生成される。画像データ32は、端末40から取得されるか、画面試験装置10の内部で生成されるかに関わらず、一般的なオートメーションツールを用いて自動でアプリケーションを操作しながらスクリーンショットを撮ることで、効率的に生成することができる。
図3に示す画像データ32では、ウェブブラウザの画面として、日本語で表示された申し込み画面50が記録されている。申し込み画面50には、以下のように、少なくとも4種類のオブジェクトが表示されている。
(1)表51が表示されているが、罫線に不具合がある。
(2)3つのチェックボックス52が正常に表示されている。
(3)2つのテキストフォーム53が正常に表示されている。
(4)「表示設定内容を指定してください」、「印刷対象」、「契約者氏名」および「契約者住所(本籍地)」といった文字54が表示されているが、「契約者住所(本籍地)」の改行位置に不具合がある。
メモリ12には、ソースファイル33がさらに記憶される。
ソースファイル33は、画像データ32に記録されているアプリケーションの画面に対応するファイルである。ソースファイル33には、マークアップ言語で記述されたファイルと、スタイルシート言語で記述されたファイルとの少なくともいずれかが含まれる。マークアップ言語で記述されたファイルは、例えば、HTMLファイルである。「HTML」は、HyperText Markup Languageの略語である。スタイルシート言語で記述されたファイルは、例えば、CSSファイルである。「CSS」は、Cascading Style Sheetsの略語である。
ソースファイル33は、アプリケーションを実行する端末40から通信装置15を介して画像データ32とともに取得される。あるいは、ソースファイル33は、画面試験装置10の外部のサーバまたはストレージ等から通信装置15を介して取得され、画面試験装置10の内部で端末40がアプリケーションを実行する動作を模擬する際に利用される。
図4および図5に示すソースファイル33は、それぞれHTMLファイル61およびCSSファイル62であり、いずれも図3に示した画像データ32に記録されている申し込み画面50に対応している。
***動作の説明***
図6を参照して、本実施の形態に係る画面試験装置10の動作を説明する。画面試験装置10の動作は、本実施の形態に係る画面試験方法に相当する。
ステップS101において、定義取得部21は、定義データ31をメモリ12から取得する。
ステップS102において、画像取得部22は、画像データ32をメモリ12から取得する。
ステップS103において、ソース取得部23は、ソースファイル33をメモリ12から取得する。
なお、ステップS101からステップS103の処理の順序は適宜変更することができる。ステップS101からステップS103の処理が並行して行われてもよい。
ステップS104において、異常検出部24は、画像取得部22により取得された画像データ32から少なくとも1種類のオブジェクトを抽出する。
具体的には、異常検出部24は、ソース取得部23により取得されたソースファイル33を参照して、アプリケーションの画面内で少なくとも1種類のオブジェクトが表示される位置を算出する。異常検出部24は、画像取得部22により取得された画像データ32における、算出した位置から当該少なくとも1種類のオブジェクトの画像を取得することで、当該少なくとも1種類のオブジェクトを抽出する。異常検出部24は、取得した画像をメモリ12に一旦格納する。
例えば、異常検出部24は、図4に示したHTMLファイル61と、図5に示したCSSファイル62とを参照して、図3の申し込み画面50内で表51が表示される位置を算出する。位置の算出方法としては、任意の方法を用いることができるが、ここでは、従来の方法を用いて、表51の左上隅のX座標およびY座標と、表51の幅および高さとが計算され、計算結果から特定される矩形領域が位置の算出結果として扱われるものとする。異常検出部24は、図3に示した画像データ32から、算出した矩形領域を切り出すことで、表51の画像を取得する。
また、例えば、異常検出部24は、図4に示したHTMLファイル61と、図5に示したCSSファイル62とを参照して、図3の申し込み画面50内で各チェックボックス52が表示される位置を算出する。位置の算出方法としては、任意の方法を用いることができるが、ここでは、従来の方法を用いて、各チェックボックス52の左上隅のX座標およびY座標と、各チェックボックス52の幅および高さとが計算され、計算結果から特定される矩形領域が位置の算出結果として扱われるものとする。異常検出部24は、図3に示した画像データ32から、算出した矩形領域を切り出すことで、各チェックボックス52の画像を取得する。
また、例えば、異常検出部24は、図4に示したHTMLファイル61と、図5に示したCSSファイル62とを参照して、図3の申し込み画面50内で「契約者住所(本籍地)」という文字54が表示される位置を算出する。位置の算出方法としては、任意の方法を用いることができるが、ここでは、従来の方法を用いて、「契約者住所(本籍地)」という文字54の左上隅のX座標およびY座標と、その文字54の幅および高さとが計算され、計算結果から特定される矩形領域が位置の算出結果として扱われるものとする。異常検出部24は、図3に示した画像データ32から、算出した矩形領域を切り出すことで、「契約者住所(本籍地)」という文字54の画像を取得する。
なお、異常検出部24は、ソースファイル33を参照する代わりに、または、ソースファイル33を参照するとともに、アプリケーションの画面の設計書等のドキュメントを参照して、アプリケーションの画面内で少なくとも1種類のオブジェクトが表示される位置を算出してもよい。その場合も、異常検出部24は、画像取得部22により取得された画像データ32における、算出した位置から当該少なくとも1種類のオブジェクトの画像を取得することで、当該少なくとも1種類のオブジェクトを抽出する。
あるいは、異常検出部24は、画像認識を行って、画像データ32から少なくとも1種類のオブジェクトを抽出してもよい。その場合、オブジェクトを画像認識により直接抽出してもよいが、正常に表示されていないオブジェクトの抽出が困難になる可能性がある。そのため、まずはオブジェクトの存在の目印となる要素を画像認識により抽出してから、その要素の近傍の領域を切り出すことでオブジェクトを抽出することが望ましい。
具体的な変形例として、アプリケーションの画面内に表示されるオブジェクトの種類ごとに、オブジェクトの隣または周囲に表示される文字および図形の少なくともいずれかの要素を定義した要素データがメモリ12に記憶されているとする。異常検出部24は、画像認識を行って、画像データ32から1つ以上の要素を抽出する。異常検出部24は、メモリ12に記憶された要素データを参照して、画像データ32における、抽出した要素の隣または内側からオブジェクトを抽出する。例えば、図3に示した画像データ32から、「契約者氏名」および「契約者住所(本籍地)」といった文字54を要素として抽出し、これらの要素の右隣からテキストフォーム53を抽出する、といったことが可能である。
ステップS105において、異常検出部24は、定義取得部21により取得された定義データ31を参照して、ステップS103で抽出したオブジェクトの種類に対応するルールが守られているかどうかを判定することで、画像取得部22により取得された画像データ32に記録されているアプリケーションの画面の異常を検出する。
ステップS105の処理により、異常検出部24は、アプリケーションを実行する端末40の画面解像度、画面サイズおよびOSに関わらず、またアプリケーションの種類に関わらず、アプリケーションの画面に異常が発生するかどうかを、共通の定義データ31を用いて確認することができる。
例えば、ステップS102で、画像取得部22が、画面サイズおよび画面解像度の少なくともいずれかが異なる端末40でアプリケーションを実行した場合における各端末40のアプリケーションの画面を記録したデータを画像データ32として取得したとする。その場合、ステップS105において、異常検出部24は、共通の定義データ31を参照して、画像データ32に記録されている各端末40のアプリケーションの画面の異常を検出することができる。
よって、異常検出部24は、ソースファイル33が共通するウェブ画面をPC、タブレットおよびスマートフォンといった種類の異なる端末40で表示した場合に、どの端末40で異常が発生するかを、共通の定義データ31を用いて確認することができる。あるいは、異常検出部24は、ソースファイル33が共通するウェブ画面をOSの異なる端末40で表示した場合に、どの端末40で異常が発生するかを、共通の定義データ31を用いて確認することができる。「PC」は、Personal Computerの略語である。
また、例えば、ステップS102で、画像取得部22が、異なる種類のアプリケーションの実行時における各種類のアプリケーションの画面を記録したデータを画像データ32として取得したとする。その場合、ステップS105において、異常検出部24は、共通の定義データ31を参照して、画像データ32に記録されている各種類のアプリケーションの画面の異常を検出することができる。
よって、異常検出部24は、ソースファイル33が共通するウェブ画面を種類の異なるウェブブラウザによって表示した場合に、どのウェブブラウザで異常が発生するかを、共通の定義データ31を用いて確認することができる。あるいは、異常検出部24は、ソースファイル33が共通するウェブ画面をバージョンの異なるウェブブラウザによって表示した場合に、どのウェブブラウザで異常が発生するかを、共通の定義データ31を用いて確認することができる。
図7を参照して、ステップS105の処理の詳細を説明する。
ステップS201において、異常検出部24は、オブジェクトの種類に対応するカウンタiと、オブジェクトiの画像に対応するカウンタjとをそれぞれ「1」に初期化する。
ステップS202において、異常検出部24は、ステップS104でメモリ12に格納したオブジェクトiの画像jを読み込む。
ステップS203において、異常検出部24は、ステップS101で取得された定義データ31を参照して、ステップS202で読み込んだオブジェクトiの画像jが、オブジェクトiに対応するルールに適合しているかどうかを判定する。このとき、異常検出部24は、定義データ31に、オブジェクトiに対応するテンプレート画像が記録されていれば、当該テンプレート画像を用いたテンプレートマッチングを行って、オブジェクトiの画像jがルールに適合しているかどうかを判定する。オブジェクトiの画像jがルールに適合していれば、ステップS204の処理が行われる。オブジェクトiの画像jがルールに適合していなければ、ステップS208の処理が行われる。
例えば、異常検出部24は、図2に示した定義データ31を参照して、図3に示した画像データ32から取得した表51の画像の「輪郭」の特徴量を計算し、計算結果と表のモデルとを比較する。異常検出部24は、比較結果から、表51の画像が「枠崩れがない」というルールに適合しているかどうかを判定する。図3に示した画像データ32では、罫線に不具合があるため、表51の画像がルールに適合していないと判定される。
また、例えば、異常検出部24は、図2に示した定義データ31を参照して、図3に示した画像データ32から取得した各チェックボックス52の画像の「輪郭」の特徴量を計算し、計算結果とチェックボックスのモデルとを比較する。異常検出部24は、比較結果から、各チェックボックス52の画像が「四角い形状が存在する」というルールに適合しているかどうかを判定する。図3に示した画像データ32では、各チェックボックス52が正常に表示されているため、各チェックボックス52の画像がルールに適合していると判定される。
また、例えば、異常検出部24は、図2に示した定義データ31を参照して、図3に示した画像データ32から取得した「契約者住所(本籍地)」という文字54の画像の「文字認識」および「文字領域抽出」を実行する。異常検出部24は、実行結果から、「契約者住所(本籍地)」という文字54の画像が「改行位置が同じ」というルールに適合しているかどうかを判定する。図3に示した画像データ32では、「契約者住所(本籍地)」の改行位置に不具合があり、これを「改行位置が同じ」でないこととみなしたとすると、「契約者住所(本籍地)」という文字54の画像がルールに適合していないと判定される。
なお、異常検出部24は、図4に示したHTMLファイル61から「契約者住所(本籍地)」の文字数を計算し、計算した文字数に1文字の幅の閾値を掛けた数値と、ステップS104で計算した文字54の幅とを比較して、「契約者住所(本籍地)」という文字54の画像が「改行位置が同じ」というルールに適合しているかどうかを判定してもよい。仮に、改行がないことを「改行位置が同じ」であることとみなし、また、1文字の幅の閾値が20ピクセル、ステップS104で計算されたDOM幅が160ピクセルであったとすると、「契約者住所(本籍地)」の文字数は10文字であるから、DOM幅が必要な200ピクセルに達していないことになる。よって、「契約者住所(本籍地)」という文字54の画像がルールに適合していないと判定されることになる。「DOM」は、Document Object Modelの略語である。
ステップS204において、異常検出部24は、オブジェクトiの全画像の照合が完了したかどうかを判定する。オブジェクトiの全画像の照合が完了していなければ、ステップS205の処理が行われる。オブジェクトiの全画像の照合が完了していれば、ステップS206の処理が行われる。
ステップS205において、異常検出部24は、カウンタjを「1」インクリメントする。そして、ステップS202の処理が再び行われる。
ステップS206において、異常検出部24は、定義データ31に定義済のオブジェクト全種類の照合が完了したかどうかを判定する。オブジェクト全種類の照合が完了していなければ、ステップS207の処理が行われる。オブジェクト全種類の照合が完了していれば、ステップS105の処理が終了する。
ステップS207において、異常検出部24は、カウンタiを「1」インクリメントする。そして、ステップS202の処理が再び行われる。
ステップS208において、異常検出部24は、ステップS203の判定結果をディスプレイ14に出力する。すなわち、異常検出部24は、ステップS103で抽出したオブジェクトの種類に対応するルールが守られていないと判定した場合、その判定結果を出力する。判定結果としては、ステップS102で取得された画像データ32に記録されている画面の異常をユーザに通知するメッセージが出力される。なお、画面内のどの箇所が正常に表示されていないかを通知するメッセージまたはイメージが出力されてもよい。
ステップS209において、異常検出部24は、ステップS208で出力した判定結果が正しいかどうかをユーザに判断させ、判断結果の入力を、入力機器13を介してユーザから受け付ける。すなわち、異常検出部24は、ステップS208で出力した判定結果が正しいかどうかの判断結果の入力をユーザから受け付ける。判定結果が正しければ、ステップS105の処理が終了する。判定結果が正しくなければ、ステップS210の処理が行われる。
ステップS210において、異常検出部24は、メモリ12に記憶された定義データ31に定義されているルールの拡大等の修正を、入力機器13を介してユーザから受け付ける。異常検出部24は、メモリ12に記憶された定義データ31を、修正されたルールを定義したデータに更新する。すなわち、異常検出部24は、異常検出部24が出力した判定結果が誤りであるという判断結果がステップS209でユーザから入力された場合、メモリ12に記憶された定義データ31に定義されているルールの修正をユーザから受け付け、その修正をメモリ12に記憶された定義データ31に反映する。ステップS210でのルールの修正としては、例えば、文字認識ルールの追加または削除、あるいは、テンプレートマッチングの閾値の変更が可能である。ステップS210の処理が行われると、ステップS105の処理が終了する。なお、ステップS210の処理が行われた後、引き続きステップS204またはステップS206の処理が行われてもよい。
ステップS209およびステップS210の処理により、異常と判定されたオブジェクトについて、ユーザが、本当にオブジェクトが異常であったかを目視で判断し、定義データ31にフィードバックすることができる。
なお、異常検出部24は、ステップS203でルールに適合していない画像を検出しても、すぐにステップS208以降の処理を行う代わりに、ステップS204以降の処理を行い、オブジェクトiの全画像の照合、または、オブジェクト全種類の照合が完了してから、ステップS208以降の処理をまとめて行ってもよい。あるいは、異常検出部24は、ステップS203でルールに適合していない画像を検出しても、ステップS208の処理を行うだけで、引き続きステップS204以降の処理を行い、オブジェクトiの全画像の照合、または、オブジェクト全種類の照合が完了してから、ステップS209以降の処理をまとめて行ってもよい。ルールに適合していないと判定した複数の画像についてステップS209以降の処理をまとめて行うことにより、ステップS209およびステップS210におけるユーザの判断および修正の作業を効率化できる。
本実施の形態では、オブジェクト全種類についてステップS104の処理が完了してからステップS105の処理が開始されるが、変形例として、オブジェクトの種類ごとにステップS104およびステップS105の処理が行われてもよい。すなわち、ステップS104と図7を用いて説明したステップS105との処理は、オブジェクトの種類ごとに連続して実行することができる。その場合、定義データ31に定義されたオブジェクトごとに、ステップS104で画像データ32に含まれるオブジェクトが抽出され、ステップS105でオブジェクトの異常判定が行われる。具体的には、ステップS104で表のオブジェクトが抽出され、ステップS105で表のルールとの照合が、抽出されたすべての表について行われる。順次、ラジオボタンおよびチェックボックス等についても、オブジェクトの抽出、および、ルールとの照合が行われていく。このような手順により、画像データ32に含まれるアプリケーション画面全体の中で、オブジェクトごとの異常を検出することができる。
***実施の形態の効果の説明***
本実施の形態では、個別のオブジェクトの位置等を事前に定義していなくても画面の試験が可能であるため、画面の試験の効率が向上する。
本実施の形態では、複数の端末40の画面が試験される前に、あらかじめウェブ画面のオブジェクトごとに正常モデルが作成される。正常モデルには、ラジオボタンなら丸い形状である、といったオブジェクトの特徴を表すルールが設定される。画面の試験が実施される際は、試験を実施するウェブ画面がオブジェクトごとに分解され、あらかじめ登録されている正常モデルとオブジェクトとが比較される。比較の結果、正常モデルとの乖離が小さいオブジェクトについては試験結果が正常、乖離が大きいオブジェクトについては試験結果が異常として処理される。このように、オブジェクトごとに正常モデルを作成して評価を行うことで、試験を実施する端末40の画面解像度、画面サイズ、OS、および、ウェブブラウザの種類を問わず、様々な端末40、OSおよびアプリケーションでの試験の自動化が可能になる。
また、正常であるにも関わらず異常として処理したオブジェクトについてモデルにフィードバックする機能を設けることで、正常モデルの精度を上げることができ、より精度の高い試験が実施可能となる。
***他の構成***
本実施の形態では、定義取得部21、画像取得部22、ソース取得部23および異常検出部24の機能がソフトウェアにより実現されるが、変形例として、定義取得部21、画像取得部22、ソース取得部23および異常検出部24の機能がソフトウェアとハードウェアとの組み合わせにより実現されてもよい。すなわち、定義取得部21、画像取得部22、ソース取得部23および異常検出部24の機能の一部が専用のハードウェアにより実現され、残りがソフトウェアにより実現されてもよい。
専用のハードウェアは、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA、FPGAまたはASICである。「IC」は、Integrated Circuitの略語である。「GA」は、Gate Arrayの略語である。「FPGA」は、Field−Programmable Gate Arrayの略語である。「ASIC」は、Application Specific Integrated Circuitの略語である。
プロセッサ11および専用のハードウェアは、いずれも処理回路である。すなわち、定義取得部21、画像取得部22、ソース取得部23および異常検出部24の機能がソフトウェアにより実現されるか、ソフトウェアとハードウェアとの組み合わせにより実現されるかに関わらず、定義取得部21、画像取得部22、ソース取得部23および異常検出部24の機能は、処理回路により実現される。
10 画面試験装置、11 プロセッサ、12 メモリ、13 入力機器、14 ディスプレイ、15 通信装置、21 定義取得部、22 画像取得部、23 ソース取得部、24 異常検出部、31 定義データ、32 画像データ、33 ソースファイル、40 端末、50 申し込み画面、51 表、52 チェックボックス、53 テキストフォーム、54 文字、61 HTMLファイル、62 CSSファイル。

Claims (9)

  1. アプリケーションの画面内に表示されるオブジェクトの種類ごとに、オブジェクトが正常に表示されていると判定するためのルールを定義した定義データをメモリから取得する定義取得部と、
    前記アプリケーションの実行時における前記アプリケーションの画面を記録した画像データを前記メモリから取得する画像取得部と、
    前記画像取得部により取得された画像データから少なくとも1種類のオブジェクトの存在の目印となる要素を画像認識により抽出してから、その要素の近傍の領域を切り出すことで前記画像データから前記少なくとも1種類のオブジェクトを抽出し、前記定義取得部により取得された定義データを参照して、抽出したオブジェクトの種類に対応するルールが守られているかどうかを判定することで、前記画像データに記録されている前記アプリケーションの画面の異常を検出する異常検出部と
    を備える画面試験装置。
  2. 前記画像取得部は、画面サイズおよび画面解像度の少なくともいずれかが異なる端末で前記アプリケーションを実行した場合における各端末の前記アプリケーションの画面を記録したデータを前記画像データとして取得し、
    前記異常検出部は、前記画像データに記録されている各端末の前記アプリケーションの画面の異常を検出する請求項1に記載の画面試験装置。
  3. 前記画像取得部は、異なる種類の前記アプリケーションの実行時における各種類の前記アプリケーションの画面を記録したデータを前記画像データとして取得し、
    前記異常検出部は、前記画像データに記録されている各種類の前記アプリケーションの画面の異常を検出する請求項1または2に記載の画面試験装置。
  4. 前記異常検出部は、前記アプリケーションの画面内に表示されるオブジェクトの種類ごとに、オブジェクトの隣または周囲に表示される文字および図形の少なくともいずれかの要素を定義した要素データを参照して、前記画像データにおける、抽出した要素の隣または内側から前記少なくとも1種類のオブジェクトを抽出する請求項1から3のいずれか1項に記載の画面試験装置。
  5. 前記定義取得部は、少なくとも一部の種類のオブジェクトについて、対応するルールを定義するとともに、対応するルールが守られていると判定するための基準になるモデル、または、対応するルールが守られていると判定するために利用される認識方法を定義したデータを前記定義データとして取得し、
    前記異常検出部は、前記定義データに、抽出したオブジェクトの種類に対応するモデルまたは認識方法が定義されていれば、当該モデルまたは当該認識方法を用いて、抽出したオブジェクトの種類に対応するルールが守られているかどうかを判定する請求項1から4のいずれか1項に記載の画面試験装置。
  6. 前記定義取得部は、少なくとも一部の種類のオブジェクトについて、対応するルールを定義するとともに、オブジェクトをモデル化したテンプレート画像を記録したデータを前記定義データとして取得し、
    前記異常検出部は、前記定義データに、抽出したオブジェクトの種類に対応するテンプレート画像が記録されていれば、当該テンプレート画像を用いたテンプレートマッチングを行って、抽出したオブジェクトの種類に対応するルールが守られているかどうかを判定する請求項1から5のいずれか1項に記載の画面試験装置。
  7. 前記異常検出部は、抽出したオブジェクトの種類に対応するルールが守られていないと判定した場合、判定結果を出力し、出力した判定結果が正しいかどうかの判断結果の入力をユーザから受け付ける請求項1から6のいずれか1項に記載の画面試験装置。
  8. 前記異常検出部は、出力した判定結果が誤りであるという判断結果が前記ユーザから入力された場合、前記定義データに定義されているルールの修正を前記ユーザから受け付け、前記修正を前記定義データに反映する請求項7に記載の画面試験装置。
  9. コンピュータに、
    アプリケーションの画面内に表示されるオブジェクトの種類ごとに、オブジェクトが正常に表示されていると判定するためのルールを定義した定義データをメモリから取得する定義取得処理と、
    前記アプリケーションの実行時における前記アプリケーションの画面を記録した画像データを前記メモリから取得する画像取得処理と、
    前記画像取得処理により取得された画像データから少なくとも1種類のオブジェクトの存在の目印となる要素を画像認識により抽出してから、その要素の近傍の領域を切り出すことで前記画像データから前記少なくとも1種類のオブジェクトを抽出し、前記定義取得処理により取得された定義データを参照して、抽出したオブジェクトの種類に対応するルールが守られているかどうかを判定することで、前記画像データに記録されている前記アプリケーションの画面の異常を検出する異常検出処理と
    を実行させる画面試験プログラム。
JP2018549600A 2017-05-15 2017-05-15 画面試験装置および画面試験プログラム Active JP6619891B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2017/018129 WO2018211546A1 (ja) 2017-05-15 2017-05-15 画面試験装置および画面試験プログラム

Publications (2)

Publication Number Publication Date
JPWO2018211546A1 JPWO2018211546A1 (ja) 2019-06-27
JP6619891B2 true JP6619891B2 (ja) 2019-12-11

Family

ID=64273659

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018549600A Active JP6619891B2 (ja) 2017-05-15 2017-05-15 画面試験装置および画面試験プログラム

Country Status (3)

Country Link
US (1) US20210286709A1 (ja)
JP (1) JP6619891B2 (ja)
WO (1) WO2018211546A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7029557B1 (ja) * 2021-02-10 2022-03-03 PayPay株式会社 判定装置、判定方法および判定プログラム
CN112991321A (zh) * 2021-04-08 2021-06-18 读书郎教育科技有限公司 一种平板花屏测试的检测方法及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08241191A (ja) * 1995-03-02 1996-09-17 Matsushita Electric Ind Co Ltd Gui自動評価装置
JP2003288230A (ja) * 2002-03-28 2003-10-10 Toshiba Corp 携帯可能電子装置の試験装置
JP5324375B2 (ja) * 2009-09-29 2013-10-23 株式会社日立ソリューションズ キャプチャシステム
JP2014219885A (ja) * 2013-05-10 2014-11-20 株式会社日立製作所 テスト支援方法、テスト支援システム
JP6257546B2 (ja) * 2015-03-16 2018-01-10 三菱電機株式会社 アプリケーション試験装置
WO2016170618A1 (ja) * 2015-04-22 2016-10-27 三菱電機株式会社 自動試験装置

Also Published As

Publication number Publication date
WO2018211546A1 (ja) 2018-11-22
JPWO2018211546A1 (ja) 2019-06-27
US20210286709A1 (en) 2021-09-16

Similar Documents

Publication Publication Date Title
US9846634B2 (en) Visual graphical user interface verification
CN107783898B (zh) 移动应用的测试方法及测试设备
JP2012083951A (ja) 情報処理装置、情報処理方法及びプログラム
US9836565B2 (en) Electronic design automation method and apparatus thereof
CN106648571B (zh) 一种用于校对应用界面的方法和装置
GB2558061A (en) Improved method of, and apparatus for, handling reference images for an automated test of software with a graphical user interface
JP6619891B2 (ja) 画面試験装置および画面試験プログラム
US9965679B2 (en) Capturing specific information based on field information associated with a document class
US20170132462A1 (en) Document checking support apparatus, document checking support system, and non-transitory computer readable medium
CN112015634A (zh) 页面结构信息生成方法、装置和电子设备
US10372849B2 (en) Performing and communicating sheet metal simulations employing a combination of factors
JP6608719B2 (ja) 画面差異抽出装置、画面差異抽出方法、及びプログラム
JP2011253345A (ja) 成果物管理装置、成果物管理方法及び成果物管理プログラム
JP6446945B2 (ja) 非互換検出装置、非互換検出方法、及びプログラム
JP6476144B2 (ja) 画面差異確認支援装置、画面差異確認支援方法、及びプログラム
JP6476147B2 (ja) 画面差異抽出装置、画面差異抽出方法、及びプログラム
CN110378566B (zh) 信息核对方法、设备、存储介质及装置
CN107644137B (zh) 一种对接接口定义检查方法及系统
KR101854266B1 (ko) 작업 정보 제공 장치 및 기록 매체
JP2009199172A (ja) 情報処理システム、プログラム中の類似箇所特定方法、及びプログラム
JP6973433B2 (ja) 帳票処理装置、帳票処理方法、及びプログラム
TW201616338A (zh) 網頁版面與瀏覽器相容性之自動偵測方法、系統及其電腦程式、電腦裝置
JPWO2020202337A1 (ja) 画像生成装置、テストシステム、画像生成方法及びプログラム
CN106855894B (zh) 一种获取存储器中存储单元的位置信息的方法及装置
JP2011197844A (ja) 差分検知システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180920

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180920

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: 20191029

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191115

R150 Certificate of patent or registration of utility model

Ref document number: 6619891

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250