JP6645955B2 - テストスクリプト修正装置及びテストスクリプト修正プログラム - Google Patents
テストスクリプト修正装置及びテストスクリプト修正プログラム Download PDFInfo
- Publication number
- JP6645955B2 JP6645955B2 JP2016235069A JP2016235069A JP6645955B2 JP 6645955 B2 JP6645955 B2 JP 6645955B2 JP 2016235069 A JP2016235069 A JP 2016235069A JP 2016235069 A JP2016235069 A JP 2016235069A JP 6645955 B2 JP6645955 B2 JP 6645955B2
- Authority
- JP
- Japan
- Prior art keywords
- screen
- screen element
- test script
- unit
- identification information
- 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
Landscapes
- Debugging And Monitoring (AREA)
Description
類似度si=1−レーベンシュタイン距離/長い方の文字列の長さ
に基づいて、画面要素xと画面要素yとにおける指標iの類似度siが算出される。なお、長い方の文字列の長さとは、画面要素xの指標iの指標値(文字列)と、画面要素yの指標iの指標値(文字列)とのうち長い方の文字列の文字数をいう。
類似度si=1−|2つの指標値の差/最大値|
に基づいて、画面要素xと画面要素yとにおける指標iの類似度siが算出される。なお、2つの指標値の差とは、画面要素xの指標iの指標値と、画面要素yの指標iの指標値との差をいう。また、最大値とは、当該指標iに関して取りうる最大値をいう。例えば、指標iがx座標であれば、最大値は、画面の横幅である。
すなわち、指標iの指標値について重みをWiとする加重平均を計算することで、類似度Stotalが算出される。
(a)アプリケーションによって重要な指標が異なる。
(b)どの指標が重要か簡単には判別できない。
(c)開発が進むにつれて、重要な指標が変化する。
(1)アプリケーションの修正によって変化しやすい指標の重みを減らし、変化しにくい指標の重みを増やす。例えば、idは変わりにくいのでマッチングにおいて重視するが、XPathは変わりやすいので重視しない。
(2)異なる画面要素間で同じ値を持つ確率が高い指標の重みを減らし、同じ値を持つ確率が低い指標の重みを増やす。例えば、idは画面要素間で同じ値を持たないので重みを増やすが、classは複数の画面要素で値が重複する可能性が有るので重みを減らす。
変化率(i)=c(i)/d
すなわち、変化率(i)は、同じ画面要素間の各指標の比較において指標iが変化した回数(異なる回数)を、同じ画面要素間の各指標の比較においていずれかの指標が変化した回数(異なる回数)によって除することで算出される。
一致率(i)=e(i)/f
すなわち、一致率(i)は、異なる画面要素間の各指標の比較において指標iが一致した回数を、画面要素の延べ数(総数)で除することで算出される。
Wi=変化率(i)×(1−一致率(i))×定数β
図13の処理手順によれば、アプリケーション毎に異なる重み付けを自動で行うことができ、重み付けに最新の10リビジョンを用いる等の工夫を行うことで、開発が進むにつれて重要な指標が変化する場合にも対応することが可能である。
11 テストスクリプト取得部
12 テスト実行部
13 画面表示制御部
14 指標値取得部
15 画像取得部
16 対応要素候補探索部
17 テストスクリプト修正部
18 テストスクリプト出力部
19 重み計算部
20 サーバ装置
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
121 テストスクリプト記憶部
122 画面要素情報記憶部
123 画面履歴記憶部
124 重み記憶部
B バス
Claims (6)
- 第1の画面の画面要素に対する操作命令の実行順が定義されたテストスクリプトであって、前記操作命令ごとに、操作対象の画面要素の識別情報を含むテストスクリプトを取得するテストスクリプト取得部と、
前記テストスクリプトに含まれる操作命令ごとに、操作対象の画面要素の範囲の画像データを前記第1の画面から取得し、取得した画像データを記憶部に記憶する画像取得部と、
前記テストスクリプトに含まれる操作命令ごとに、操作対象の画面要素について、画面要素間の類似度の算出に利用される複数の指標の値を前記第1の画面に関して取得して、取得した各値を前記記憶部に記憶する指標値取得部と、
前記テストスクリプトに含まれる操作命令のうち、第2の画面に関して使用されていない識別情報が操作対象の第1の画面要素として示されている第1の操作命令について、前記記憶部に記憶されている各画像データと、前記第2の画面から取得される各画面要素の画像データとの比較に基づいて、前記第2の画面における操作対象の第2の画面要素を特定する第1の特定部と、
前記第1の特定部によって複数の前記第2の画面要素が特定された場合に、前記記憶部に記憶された各値と、前記第2の画面要素のそれぞれの各指標の値とに基づいて、前記第1の画面要素と、前記第2の画面要素との類似度を算出し、算出された類似度に基づいて、前記第2の画面における操作対象の第3の画面要素を特定する第2の特定部と
前記第1の操作命令に対する識別情報を、前記第1の特定部又は前記第2の特定部によって特定された画面要素の識別情報に修正する第1の修正部と、
前記テストスクリプトの前記実行順に含まれるアサーションの実行時において、前記第2の画面が前記アサーションによって期待される状態でない場合に、前記第2の特定部によって特定されなかった前記第2の画面要素の中からいずれかの画面要素を前記第2の特定部によって算出された類似度に基づいて選択し、前記アサーションより前において前記第1の修正部によって修正されたいずれかの識別情報を、選択した画面要素の識別情報によって修正する第2の修正部を有し、
前記第2の修正部によって修正が行われた場合に、前記アサーションより前の操作命令を実行しなおす、
ことを特徴とするテストスクリプト修正装置。 - 第1の画面の画面要素に対する操作命令の実行順が定義されたテストスクリプトであって、前記操作命令ごとに、操作対象の画面要素の識別情報を含むテストスクリプトを取得するテストスクリプト取得部と、
前記テストスクリプトに含まれる操作命令ごとに、操作対象の画面要素の範囲の画像データを前記第1の画面から取得し、取得した画像データを記憶部に記憶する画像取得部と、
前記テストスクリプトに含まれる操作命令ごとに、操作対象の画面要素について、画面要素間の類似度の算出に利用される複数の指標の値を前記第1の画面に関して取得して、取得した各値を前記記憶部に記憶する指標値取得部と、
前記テストスクリプトに含まれる操作命令のうち、第2の画面に関して使用されていない識別情報が操作対象の第1の画面要素として示されている第1の操作命令について、前記記憶部に記憶されている各画像データと、前記第2の画面から取得される各画面要素の画像データとの比較に基づいて、前記第2の画面における操作対象の第2の画面要素を特定する第1の特定部と、
前記第1の特定部によって複数の前記第2の画面要素が特定された場合に、前記記憶部に記憶された各値と、前記第2の画面要素のそれぞれの各指標の値とに基づいて、前記第1の画面要素と、前記第2の画面要素との類似度を算出し、算出された類似度に基づいて、前記第2の画面における操作対象の第3の画面要素を特定する第2の特定部と、
前記第1の特定部によって1つの前記第2の画面要素が特定された場合は、前記第1の操作命令に対する識別情報を、当該第2の画面要素の識別情報に修正し、前記第1の特定部によって複数の前記第2の画面要素が特定された場合は、前記第1の操作命令に対する識別情報を、前記第2の特定部によって特定された前記第3の画面要素の識別情報に修正する第1の修正部と、
を有することを特徴とするテストスクリプト修正装置。 - 前記第2の特定部は、前記指標ごとに、前記第1の画面に関する値と前記第2の画面に関する値との類似度を算出し、前記指標ごとの類似度について、前記指標ごとの重みに基づく加重平均を計算することで、前記第1の画面の各画面要素と前記第2の画面の各画面要素との類似度を算出する、
ことを特徴とする請求項1又は2記載のテストスクリプト修正装置。 - 複数の画面に関して、画像データが一致する画面要素間において値が異なる第1の回数を前記指標ごとにカウントし、当該画面要素間において、いずれかの前記指標の値が一致した第2の回数をカウントし、画像データが一致しない画面要素間において値が一致する第3の回数を前記指標ごとにカウントし、前記第1の回数を前記第2の回数で除した値と、前記第3の回数を、前記複数の画面における画面要素の総数で除した値とに基づいて、前記指標ごとの重みを計算する計算部、
を有することを特徴とする請求項3記載のテストスクリプト修正装置。 - 第1の画面の画面要素に対する操作命令の実行順が定義されたテストスクリプトであって、前記操作命令ごとに、操作対象の画面要素の識別情報を含むテストスクリプトを取得するテストスクリプト取得手順と、
前記テストスクリプトに含まれる操作命令ごとに、操作対象の画面要素の範囲の画像データを前記第1の画面から取得し、取得した画像データを記憶部に記憶する画像取得手順と、
前記テストスクリプトに含まれる操作命令ごとに、操作対象の画面要素について、画面要素間の類似度の算出に利用される複数の指標の値を前記第1の画面に関して取得して、取得した各値を前記記憶部に記憶する指標値取得手順と、
前記テストスクリプトに含まれる操作命令のうち、第2の画面に関して使用されていない識別情報が操作対象の第1の画面要素として示されている第1の操作命令について、前記記憶部に記憶されている各画像データと、前記第2の画面から取得される各画面要素の画像データとの比較に基づいて、前記第2の画面における操作対象の第2の画面要素を特定する第1の特定手順と、
前記第1の特定手順において複数の前記第2の画面要素が特定された場合に、前記記憶部に記憶された各値と、前記第2の画面要素のそれぞれの各指標の値とに基づいて、前記第1の画面要素と、前記第2の画面要素との類似度を算出し、算出された類似度に基づいて、前記第2の画面における操作対象の第3の画面要素を特定する第2の特定手順と
前記第1の操作命令に対する識別情報を、前記第1の特定手順又は前記第2の特定手順によって特定された画面要素の識別情報に修正する第1の修正手順と、
前記テストスクリプトの前記実行順に含まれるアサーションの実行時において、前記第2の画面が前記アサーションによって期待される状態でない場合に、前記第2の特定手順において特定されなかった前記第2の画面要素の中からいずれかの画面要素を前記第2の特定手順において算出された類似度に基づいて選択し、前記アサーションより前において前記第1の修正手順において修正されたいずれかの識別情報を、選択した画面要素の識別情報によって修正する第2の修正手順と、
前記第2の修正手順において修正が行われた場合に、前記アサーションより前の操作命令を実行しなおす再実行手順と、
をコンピュータに実行させることを特徴とするテストスクリプト修正プログラム。 - 第1の画面の画面要素に対する操作命令の実行順が定義されたテストスクリプトであって、前記操作命令ごとに、操作対象の画面要素の識別情報を含むテストスクリプトを取得するテストスクリプト取得手順と、
前記テストスクリプトに含まれる操作命令ごとに、操作対象の画面要素の範囲の画像データを前記第1の画面から取得し、取得した画像データを記憶部に記憶する画像取得手順と、
前記テストスクリプトに含まれる操作命令ごとに、操作対象の画面要素について、画面要素間の類似度の算出に利用される複数の指標の値を前記第1の画面に関して取得して、取得した各値を前記記憶部に記憶する指標値取得手順と、
前記テストスクリプトに含まれる操作命令のうち、第2の画面に関して使用されていない識別情報が操作対象の第1の画面要素として示されている第1の操作命令について、前記記憶部に記憶されている各画像データと、前記第2の画面から取得される各画面要素の画像データとの比較に基づいて、前記第2の画面における操作対象の第2の画面要素を特定する第1の特定手順と、
前記第1の特定手順において複数の前記第2の画面要素が特定された場合に、前記記憶部に記憶された各値と、前記第2の画面要素のそれぞれの各指標の値とに基づいて、前記第1の画面要素と、前記第2の画面要素との類似度を算出し、算出された類似度に基づいて、前記第2の画面における操作対象の第3の画面要素を特定する第2の特定手順と、
前記第1の特定手順において1つの前記第2の画面要素が特定された場合は、前記第1の操作命令に対する識別情報を、当該第2の画面要素の識別情報に修正し、前記第1の特定手順において複数の前記第2の画面要素が特定された場合は、前記第1の操作命令に対する識別情報を、前記第2の特定手順において特定された前記第3の画面要素の識別情報に修正する第1の修正手順と、
をコンピュータに実行させることを特徴とするテストスクリプト修正プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016235069A JP6645955B2 (ja) | 2016-12-02 | 2016-12-02 | テストスクリプト修正装置及びテストスクリプト修正プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016235069A JP6645955B2 (ja) | 2016-12-02 | 2016-12-02 | テストスクリプト修正装置及びテストスクリプト修正プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018092361A JP2018092361A (ja) | 2018-06-14 |
JP6645955B2 true JP6645955B2 (ja) | 2020-02-14 |
Family
ID=62566220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016235069A Active JP6645955B2 (ja) | 2016-12-02 | 2016-12-02 | テストスクリプト修正装置及びテストスクリプト修正プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6645955B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766268B (zh) * | 2018-12-17 | 2019-10-25 | 南瑞集团有限公司 | 一种顺序汇编指令程序验证方法与系统 |
JP7127601B2 (ja) * | 2019-04-10 | 2022-08-30 | 日本電信電話株式会社 | 類似遷移特定装置、類似遷移特定方法及びプログラム |
CN112667517A (zh) * | 2021-01-07 | 2021-04-16 | 卫宁健康科技集团股份有限公司 | 自动化测试脚本的获取方法、装置、设备及存储介质 |
CN113127349B (zh) * | 2021-04-19 | 2021-11-30 | 广州掌动智能科技有限公司 | 软件测试方法和系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7165240B2 (en) * | 2002-06-20 | 2007-01-16 | International Business Machines Corporation | Topological best match naming convention apparatus and method for use in testing graphical user interfaces |
JP2007102654A (ja) * | 2005-10-07 | 2007-04-19 | Hitachi Software Eng Co Ltd | テストスクリプト処理プログラム |
JP5622647B2 (ja) * | 2011-04-11 | 2014-11-12 | 株式会社東芝 | シナリオ生成装置およびシナリオ生成プログラム |
-
2016
- 2016-12-02 JP JP2016235069A patent/JP6645955B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018092361A (ja) | 2018-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949225B2 (en) | Automatic detection of user interface elements | |
JP6645955B2 (ja) | テストスクリプト修正装置及びテストスクリプト修正プログラム | |
JP6891779B2 (ja) | テストスクリプト修正装置及びプログラム | |
US10936807B1 (en) | Systems and methods for displaying effects of code changes | |
US10467004B2 (en) | Commit history linearization | |
US11775414B2 (en) | Automated bug fixing using deep learning | |
US9952832B2 (en) | Methods for generating smart archtecture templates and devices thereof | |
JP2017534944A (ja) | 条件付き検証規則 | |
KR102160780B1 (ko) | 버그 정정 시스템 및 버그 정정 방법 | |
JP6689734B2 (ja) | テストスクリプト修正装置及びテストスクリプト修正プログラム | |
US20140113257A1 (en) | Automated evaluation of programming code | |
US20220414066A1 (en) | Data management system, management method, and storage medium | |
JP6486574B2 (ja) | プログラムコード生成装置、プログラムコード生成方法及びプログラムコード生成プログラム | |
CN111092769A (zh) | 一种基于机器学习的web指纹识别方法 | |
US20180210819A1 (en) | System and method of controlling a web browser plug-in for testing analytics | |
US11645192B2 (en) | Graph-based method for inductive bug localization | |
JP6451417B2 (ja) | デバッグ支援装置、デバッグ支援システム、デバッグ支援方法、および、デバッグ支援プログラム | |
JP6310865B2 (ja) | ソースコード評価システム及び方法 | |
US20160063744A1 (en) | Data Quality Test and Report Creation System | |
CN114968241A (zh) | 交互页面的渲染方法、装置、计算机设备及存储介质 | |
US20190286453A1 (en) | System construction assisting apparatus, method, and program | |
JP6840656B2 (ja) | テストスクリプト修正装置及びプログラム | |
CN109597638B (zh) | 基于实时计算引擎解决数据处理、设备联动的方法及装置 | |
TWI735511B (zh) | 代碼提交方法和設備 | |
CN111989662A (zh) | 自主混合分析建模平台 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190917 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191001 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191127 |
|
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: 20200107 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200109 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6645955 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |