JP2021039510A - プログラムの検査装置、プログラムの検査方法及びプログラムの検査プログラム - Google Patents
プログラムの検査装置、プログラムの検査方法及びプログラムの検査プログラム Download PDFInfo
- Publication number
- JP2021039510A JP2021039510A JP2019159826A JP2019159826A JP2021039510A JP 2021039510 A JP2021039510 A JP 2021039510A JP 2019159826 A JP2019159826 A JP 2019159826A JP 2019159826 A JP2019159826 A JP 2019159826A JP 2021039510 A JP2021039510 A JP 2021039510A
- Authority
- JP
- Japan
- Prior art keywords
- program
- screen
- unit
- inspection
- executed
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
Description
また、一態様のプログラムの検査方法及びプログラムの検査プログラムは、上述した一態様のプログラムの検査装置と同様の効果を奏することができる。
図1は、一実施形態に係る検査装置1について説明するためのブロック図である。
プログラムの検査装置1は、プログラムを開発する際に行われるデバッグで利用される。検査装置1は、プログラムが実行される際に表示部18に表示される各画面内のボタンを抽出して、そのボタンが操作された場合に遷移する画面を特定することにより、画面が遷移する際の遷移構造を取得する。次に、検査装置1は、そのプログラムを実際に実行させ、遷移構造に応じてボタンを順次操作することにより、プログラムによって実行されるストーリーを先に進める。この際に、検査装置1は、画面が遷移しない、プログラムがクラッシュする、画面の表示が正常でない等のプログラムに関する不具合(バグ)が発生するか検査する。検査装置1は、不具合が発生した場合に、プログラムに対して直前のボタン操作等の行動履歴等を含めた、不具合に関するレポートを出力する。このような検査装置1は、種々のプログラムを検査することが可能である。プログラムは、ユーザからの入力を受け付けて、その入力に応じてプログラムの処理内容及び表示部18に表示される画面を変化させることができるものである。検査装置1は、例えば、プログラムとしてゲームプログラムを検査することができ、具体的な一例として、ボタン操作に応じて画面が遷移するストーリー性のあるゲームプログラムを検査することができる。より具体的な一例として、検査装置1は、スマートフォン等の携帯端末で実行されるゲームプログラムを検査することができる。
検査装置1は、抽出部12、取得部13、作成部14、検査部15、レポート生成部16、記憶部17及び表示部18を備える。抽出部12、取得部13、作成部14、検査部15及びレポート生成部16は、検査装置1の制御部11の一機能として実現されてもよい。
また、抽出部12は、自動的に抽出された複数のボタンに誤ってボタンとして認識されたものが有れば、すなわち、自動で抽出された複数のボタン(物体)にボタンでないものが含まれていれば、ユーザの操作に基づいて、誤ってボタンとして認識された物体を削除してもよい。
図2は、表示部18に表示される画面の第1例について説明するための図である。
検査装置1(制御部11(表示制御部))は、図2に例示するように、記憶部17に記憶されるプログラムの一覧を表示部18に表示する。また、ユーザは、検査装置1によってプログラムを検査させたい場合には、「アップロード」ボタンを操作することにより、検査対象のプログラムを検査装置1にアップロードさせることが可能である。また、ユーザは、プログラム一覧で表示される複数のプログラムのうち1つのプログラムを選択することにより、検査装置1によってプログラムを検査させることができる。
検査装置1(制御部11(表示制御部))は、抽出部12によって画面及びボタンを抽出している場合、図3に例示する画面を表示部18に表示する。検査装置1は、例えば、検査対象のプログラムを動作させることにより取得している画面の数(図3に例示する場合には35画面)、及び、その画面数の時に作成部14によって行動モデルの生成に必要な時間等を表示部18に表示する。
検査装置1(制御部11(表示制御部))は、例えば、抽出部12によって画面の抽出が終了した場合等、図4に例示するように、抽出した画面の一覧を表示部18に表示する。
検査装置1(制御部11(表示制御部))は、抽出部12によって抽出されたボタンの一覧を表示部18に表示する。例えば、検査装置1は、画面毎に抽出されたボタンの一覧と、ボタンが操作されることにより遷移する画面(遷移先)を表示部18に表示する。
検査装置1(制御部11(表示制御部))は、生成部によって行動規定内容を生成した場合、行動の流れを指定するフローチャートを表示部18に表示する。
検査装置1(制御部11(表示制御部))は、レポート生成部16によってレポートが生成された場合、そのレポートとして不具合の一覧を表示部18に表示する。
図8は、一実施形態に係るプログラムの検査方法について説明するためのフローチャートである。
また、作成部14は、後述するステップST5において行動モデルに従ってプログラムの内容を進行させる際(検査をする際)に、特定の画面に到達すると、その特定の画面から後の行動を別途指定したい場合に場合には、行動を規定する内容(行動規定内容)を別途生成することとしてもよい。
検査装置1は、検査対象のプログラムが実行された場合に表示部18に表示される画面と、その画面内に配されるボタンとを抽出する抽出部12と、抽出部12によって抽出された画面と、その画面内に配されるボタンと、ボタンが操作された際に遷移する遷移画面とに基づいて、プログラムが実行された際の遷移構造を取得する取得部13と、取得部13で取得された遷移構造に基づいて、プログラムが実行された場合にユーザによってプログラムの内容を進行させる際の予想される行動に応じた行動モデルを作成する作成部14と、プログラムを実行させ、作成部14によって作成された行動モデルに応じて、画面内に配されるボタンを操作することにより画面を順次遷移させる検査部15と、検査部15によって画面を順次遷移させる際にプログラムに不具合があった場合、その不具合に関するレポートを生成するレポート生成部16と、を備える。
検査装置1は、検査対象のプログラムにおける画面の遷移構造を取得し、その遷移構造に基づいて行動モデルを生成し、行動モデルに従ってプログラムを検査する。このため、検査装置1は、記憶部17に記憶されたプログラムについて遷移構造を取得することにより、そのプログラムに不具合が生じるか検査を行うことができる。よって、検査装置1は、種々のプログラムについて自動的に検査を行うことができる。
また、検査装置1は、遷移構造に基づいて行動モデル等を生成する。これにより、検査装置1は、プログラムの内容を操作するユーザと同様にある程度意思をもってプログラムの内容を進めることができ、効率的にプログラムの検査を実行することができる。行動モデルを生成せずに自動的にプログラムの検査を行った場合には、検査をしていない画面(遷移)が生じる可能性があるが、本実施形態では、行動モデルに従って全ての画面(遷移)を検査するので、検査漏れ等が生じるのを防ぐことができる。
なお、検査装置1は、上述したように再度画面及びボタンを抽出する場合、例えば、前回抽出した画面と、再度抽出した画面とに相違する部分がある場合、その画面のみ抽出することとしてもよい。検査装置1は、例えば、機械学習及び深層学習等の学習結果に基づいて画面の相違(差分)を認識し、レイアウト等の異なる箇所を自動的に検出することとしてもよい。
これにより、検査装置1は、作成部14によって行動モデルを生成することができる。検査装置1は、検査部15によって検査対象のプログラムを検査する場合、行動モデルに従ってプログラムの内容を進行させることができる。
これにより、検査装置1は、抽出部12によって同一の画面が抽出されるのを回避することができ、取得部13によって適切な遷移構造を生成することができる。
特に、ゲームプログラムは、スマートフォン等の携帯端末で実行可能なプログラムであってもよい。そのようなゲームプログラムは、表示部18にボタンを表示し、そのボタンの操作に応じてプログラムの内容を進行するようになっている。このため、検査装置1は、ボタンの操作に応じて内容を進行させるプログラム(例えば、ゲームプログラム)に不具合が生じるか検査を行うことができる。
検査方法は、検査対象のプログラムにおける画面の遷移構造を取得し、その遷移構造に基づいて行動モデルを生成し、行動モデルに従ってプログラムを検査する。このため、検査方法は、記憶部17に記憶されたプログラムについて遷移構造を取得することにより、そのプログラムに不具合が生じるか検査を行うことができる。よって、検査方法は、種々のプログラムについて自動的に検査を行うことができる。
また、検査方法は、遷移構造に基づいて行動モデル等を生成する。これにより、検査方法は、プログラムの内容を操作するユーザと同様にある程度意思をもってプログラムの内容を進めることができ、効率的にプログラムの検査を実行することができる。なお、行動モデルを生成せずに自動的にプログラムの検査を行った場合には、検査をしていない画面(遷移)が生じる可能性があるが、本実施形態では、行動モデルに従って全ての画面(遷移)を検査するので、検査漏れ等が生じるのを防ぐことができる。
検査プログラムは、検査対象のプログラムにおける画面の遷移構造を取得し、その遷移構造に基づいて行動モデルを生成し、行動モデルに従ってプログラムを検査する。このため、検査プログラムは、記憶部17に記憶されたプログラムについて遷移構造を取得することにより、そのプログラムに不具合が生じるか検査を行うことができる。よって、検査プログラムは、種々のプログラムについて自動的に検査を行うことができる。
また、検査プログラムは、遷移構造に基づいて行動モデル等を生成する。これにより、検査プログラムは、プログラムの内容を操作するユーザと同様にある程度意思をもってプログラムの内容を進めることができ、効率的にプログラムの検査を実行することができる。なお、行動モデルを生成せずに自動的にプログラムの検査を行った場合には、検査をしていない画面(遷移)が生じる可能性があるが、本実施形態では、行動モデルに従って全ての画面(遷移)を検査するので、検査漏れ等が生じるのを防ぐことができる。
検査プログラムは、上述した各機能をコンピュータに実現させることができる。検査プログラムは、外部メモリ又は光ディスク等の、コンピュータで読み取り可能な非一時的な記録媒体に記録されていてもよい。
また、上述したように、検査装置1の各部は、コンピュータの演算処理装置等で実現されてもよい。その演算処理装置等は、例えば、集積回路等によって構成される。このため、検査装置1の各部は、演算処理装置等を構成する回路として実現されてもよい。すなわち、検査装置1の抽出部12、取得部13、作成部14、検査部15及びレポート生成部16は、コンピュータの演算処理装置等を構成する、抽出回路、取得回路、作成回路、検査回路及びレポート生成回路
として実現されてもよい。
また、検査装置1の記憶部17及び表示部18は、例えば、集積回路等によって構成されることにより、記憶回路及び表示回路として実現されてもよい。また、検査装置1の記憶部17及び表示部18は、例えば、複数のデバイスによって構成されることにより、記憶装置及び表示装置として構成されてもよい。
11 制御部
12 取得部
13取得部
14 作成部
15 検査部
16 レポート生成部
17 記憶部
18 表示部
Claims (6)
- 検査対象のプログラムが記憶された記憶部と、
前記記憶部に記憶された前記プログラムが実行された場合に表示部に表示される画面と、その画面内に配されるボタンとを抽出する抽出部と、
前記抽出部によって抽出された画面と、その画面内に配される前記ボタンと、前記ボタンが操作された際に遷移する遷移画面とに基づいて、前記プログラムが実行された際の遷移構造を取得する取得部と、
前記取得部で取得された遷移構造に基づいて、前記プログラムが実行された場合にユーザによってプログラムの内容を進行させる際の予想される行動に応じた行動モデルを作成する作成部と、
前記プログラムを実行させ、前記作成部によって作成された行動モデルに応じて、画面内に配される前記ボタンを操作することにより画面を順次遷移させる検査部と、
前記検査部によって画面を順次遷移させる際に前記プログラムに不具合があった場合、その不具合に関するレポートを生成するレポート生成部と、
を備えるプログラムの検査装置。 - 前記作成部は、前記行動モデルとして、検査対象の前記プログラムとは異なる複数の他のプログラムが実行された場合にユーザが前記他のプログラムの内容を進行させる際の行動を予め学習し、その学習の結果と、前記取得部によって取得される前記遷移構造とに基づいて、検査対象の前記プログラムが実行された場合に画面に配される1つ又は複数のボタンのうちの1つが操作されることの行動の内容を生成する
請求項1に記載のプログラムの検査装置。 - 前記抽出部は、画面に基づいて取得されるハッシュ値、画面に基づいて取得される特徴ベクトル、及び、画面内に配されるボタンの位置情報のうちの少なくとも1つに基づいて画面の同一性を判断することにより、同一画面を抽出することを回避する
請求項1又は2に記載のプログラムの検査装置。 - 前記記憶部に記憶される前記プログラムは、ゲームのプログラムである
請求項1〜3のいずれか1項に記載のプログラムの検査装置。 - コンピュータが、
検査対象のプログラムを記憶部に記憶する記憶ステップと、
前記記憶部に記憶された前記プログラムが実行された場合に表示部に表示される画面と、その画面内に配されるボタンとを抽出する抽出ステップと、
前記抽出ステップによって抽出された画面と、その画面内に配される前記ボタンの種類と、前記ボタンが操作された際に遷移する遷移画面とに基づいて、前記プログラムが実行された際の遷移構造を取得する取得ステップと、
前記取得ステップで取得された遷移構造に基づいて、前記プログラムが実行された場合にユーザによってプログラムの内容を進行させる際の予想される行動に応じた行動モデルを作成する作成ステップと、
前記プログラムを実行させ、前記作成ステップによって作成された行動モデルに応じて、画面内に配される前記ボタンを操作することにより画面を順次遷移させる検査ステップと、
前記検査ステップによって画面を順次遷移させる際に前記プログラムに不具合があった場合、その不具合に関するレポートを生成するレポート生成ステップと、
を実行するプログラムの検査方法。 - コンピュータに、
検査対象のプログラムが記憶される記憶機能と、
前記記憶機能に記憶された前記プログラムが実行された場合に表示部に表示される画面と、その画面内に配されるボタンとを抽出する抽出機能と、
前記抽出機能によって抽出された画面と、その画面内に配される前記ボタンの種類と、前記ボタンが操作された際に遷移する遷移画面とに基づいて、前記プログラムが実行された際の遷移構造を取得する取得機能と、
前記取得機能で取得された遷移構造に基づいて、前記プログラムが実行された場合にユーザによってプログラムの内容を進行させる際の予想される行動に応じた行動モデルを作成する作成機能と、
前記プログラムを実行させ、前記作成機能によって作成された行動モデルに応じて、画面内に配される前記ボタンを操作することにより画面を順次遷移させる検査機能と、
前記検査機能によって画面を順次遷移させる際に前記プログラムに不具合があった場合、その不具合に関するレポートを生成するレポート生成機能と、
を実現させるプログラムの検査プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019159826A JP7012968B2 (ja) | 2019-09-02 | 2019-09-02 | プログラムの検査装置、プログラムの検査方法及びプログラムの検査プログラム |
JP2022002569A JP7296152B2 (ja) | 2019-09-02 | 2022-01-11 | プログラムの検査装置、プログラムの検査方法及びプログラムの検査プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019159826A JP7012968B2 (ja) | 2019-09-02 | 2019-09-02 | プログラムの検査装置、プログラムの検査方法及びプログラムの検査プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022002569A Division JP7296152B2 (ja) | 2019-09-02 | 2022-01-11 | プログラムの検査装置、プログラムの検査方法及びプログラムの検査プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021039510A true JP2021039510A (ja) | 2021-03-11 |
JP7012968B2 JP7012968B2 (ja) | 2022-01-31 |
Family
ID=74847105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019159826A Active JP7012968B2 (ja) | 2019-09-02 | 2019-09-02 | プログラムの検査装置、プログラムの検査方法及びプログラムの検査プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7012968B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023218538A1 (ja) * | 2022-05-10 | 2023-11-16 | 株式会社ソニー・インタラクティブエンタテインメント | 検査装置、検査システム、検査方法、及びプログラム |
JP7390070B1 (ja) | 2022-09-20 | 2023-12-01 | 株式会社エーアイセキュリティラボ | ウェブサイトを検査するためのシステム、方法、及びプログラム |
JP7503669B1 (ja) | 2023-01-25 | 2024-06-20 | 株式会社 ミックウェア | プログラム、情報処理方法、及びモデル生成方法 |
WO2024176363A1 (ja) * | 2023-02-21 | 2024-08-29 | オーティファイ株式会社 | テスト支援システム、テスト支援方法及びプログラム |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016004576A (ja) * | 2014-06-19 | 2016-01-12 | 富士通株式会社 | Guiに基づくアプリケーションのモデルを検証する方法及びコンピュータ可読記憶媒体 |
JP2016197368A (ja) * | 2015-04-06 | 2016-11-24 | アズビル株式会社 | 施設管理装置および施設管理方法 |
JP6438612B1 (ja) * | 2018-03-20 | 2018-12-19 | 株式会社Cygames | ゲームプログラムを検査するためのシステム、方法、プログラム、機械学習支援装置、及びデータ構造 |
-
2019
- 2019-09-02 JP JP2019159826A patent/JP7012968B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016004576A (ja) * | 2014-06-19 | 2016-01-12 | 富士通株式会社 | Guiに基づくアプリケーションのモデルを検証する方法及びコンピュータ可読記憶媒体 |
JP2016197368A (ja) * | 2015-04-06 | 2016-11-24 | アズビル株式会社 | 施設管理装置および施設管理方法 |
JP6438612B1 (ja) * | 2018-03-20 | 2018-12-19 | 株式会社Cygames | ゲームプログラムを検査するためのシステム、方法、プログラム、機械学習支援装置、及びデータ構造 |
Non-Patent Citations (1)
Title |
---|
切貫 弘之 外4名: "「探索的テストと操作の記録を組み合わせた新たなテスト手法の提案」", 電子情報通信学会技術研究報告 [ONLINE], vol. 第119巻, 第56号, JPN6021049165, 17 May 2019 (2019-05-17), pages 43 - 48, ISSN: 0004661806 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023218538A1 (ja) * | 2022-05-10 | 2023-11-16 | 株式会社ソニー・インタラクティブエンタテインメント | 検査装置、検査システム、検査方法、及びプログラム |
JP7390070B1 (ja) | 2022-09-20 | 2023-12-01 | 株式会社エーアイセキュリティラボ | ウェブサイトを検査するためのシステム、方法、及びプログラム |
WO2024062798A1 (ja) * | 2022-09-20 | 2024-03-28 | 株式会社エーアイセキュリティラボ | ウェブサイトを検査するためのシステム、方法、及びプログラム |
JP2024043712A (ja) * | 2022-09-20 | 2024-04-02 | 株式会社エーアイセキュリティラボ | ウェブサイトを検査するためのシステム、方法、及びプログラム |
JP7503669B1 (ja) | 2023-01-25 | 2024-06-20 | 株式会社 ミックウェア | プログラム、情報処理方法、及びモデル生成方法 |
WO2024176363A1 (ja) * | 2023-02-21 | 2024-08-29 | オーティファイ株式会社 | テスト支援システム、テスト支援方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP7012968B2 (ja) | 2022-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7012968B2 (ja) | プログラムの検査装置、プログラムの検査方法及びプログラムの検査プログラム | |
US10599399B2 (en) | Mobile user interface design testing tool | |
CN107025174B (zh) | 用于设备的用户界面异常测试的方法、装置和可读储介质 | |
JP6693938B2 (ja) | 外観検査装置 | |
CN105808416B (zh) | 一种人机图形交互界面的自动化测试方法和系统 | |
CN107832774A (zh) | 一种页面异常检测方法及装置 | |
US10019346B2 (en) | Generating software test script from video | |
US10642726B2 (en) | Method, apparatus, and system for blaming a test case/class for a survived mutation | |
US20140325486A1 (en) | Techniques for testing software | |
US20110231823A1 (en) | Automated visual testing | |
JP6780769B2 (ja) | 学習装置、学習方法および学習プログラム | |
KR20140038381A (ko) | 이동 통신 장치의 콘텐츠를 시험하기 위한 시스템 및 방법 | |
TWI622877B (zh) | System and method for recording and replaying mouse behavior, recording media and program products | |
US20180039559A1 (en) | Method and apparatus for creating reference images for an automated test of software with a graphical user interface | |
CN103577316A (zh) | 脚本自动修复的方法和装置 | |
CN115525563A (zh) | 一种测试方法、装置、计算机设备和存储介质 | |
JP7296152B2 (ja) | プログラムの検査装置、プログラムの検査方法及びプログラムの検査プログラム | |
KR20150048365A (ko) | 애플리케이션 자동 검증 시스템 및 방법 | |
WO2023110478A1 (en) | Method for automatically exploring states and transitions of a human machine interface (hmi) device | |
KR20120127067A (ko) | 호환성을 평가하기 위한 화면 동등성 판별 장치 및 방법 | |
US11422696B2 (en) | Representation of user interface interactive regions | |
CN109739752B (zh) | 内置资源测试方法、装置、电子设备及可读存储介质 | |
TWI747666B (zh) | 應用程式自動化檢測方法及系統 | |
CN111145674A (zh) | 显示面板的检测方法、电子设备和存储介质 | |
CN117237272A (zh) | 图像处理设备、控制方法及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20201105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20201105 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210107 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20211208 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20211214 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220111 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7012968 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: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |