JP2018092361A - Test script correction apparatus and test script correction program - Google Patents
Test script correction apparatus and test script correction program Download PDFInfo
- Publication number
- JP2018092361A JP2018092361A JP2016235069A JP2016235069A JP2018092361A JP 2018092361 A JP2018092361 A JP 2018092361A JP 2016235069 A JP2016235069 A JP 2016235069A JP 2016235069 A JP2016235069 A JP 2016235069A JP 2018092361 A JP2018092361 A JP 2018092361A
- Authority
- JP
- Japan
- Prior art keywords
- screen
- test script
- index
- screen element
- image 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 194
- 238000012937 correction Methods 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 claims description 74
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 description 37
- 230000008569 process Effects 0.000 description 29
- 230000008859 change Effects 0.000 description 14
- 238000012986 modification Methods 0.000 description 8
- 230000004048 modification Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 229910052711 selenium Inorganic materials 0.000 description 1
- 239000011669 selenium Substances 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Abstract
Description
本発明は、テストスクリプト修正装置及びテストスクリプト修正プログラムに関する。 The present invention relates to a test script correction device and a test script correction program.
画面の操作を伴うテストを自動化するための手法として、Capture & ReplayやProgrammable Testingといった手法が用いられている。これらのツールは回帰テストを効率化するために用いられる。回帰テストは、アプリケーションに修正を施した際に、既存機能に悪影響が出ていないかを確認するためのテストである。回帰テストの実行を自動化することで、手動でテストを実行した場合と比較して、テスト工数の削減を期待できる。 Methods such as Capture & Replay and Programmable Testing are used as methods for automating tests involving screen operations. These tools are used to streamline regression testing. The regression test is a test for confirming that existing functions are not adversely affected when the application is modified. By automating the execution of the regression test, the test man-hours can be expected to be reduced compared to the case where the test is executed manually.
しかし、画面を出力するアプリケーション(例えば、Webアプリケーション等)に修正を施した際に、それに合わせてテストスクリプトにも修正が必要になる場合がある。テストスクリプトとは、画面の操作命令が記述されたデータである。すなわち、テストスクリプトに記述された操作命令が自動実行されることで、画面の操作を伴うテストが自動化される。テストスクリプトの修正作業に工数を要すると、期待した工数削減効果が得られない可能性が有る。 However, when an application that outputs a screen (for example, a Web application) is modified, the test script may need to be modified accordingly. The test script is data in which screen operation instructions are described. In other words, the operation command described in the test script is automatically executed, thereby automating the test with screen operation. If man-hours are required to modify the test script, the expected man-hour reduction effect may not be obtained.
テストスクリプトの修正の70%以上がロケータの修正であるといわれている(非特許文献3)。ロケータは、操作対象の画面要素(ボタン、フォームなどの画面中の一要素)を一意に特定するための識別子である。例えば、id、name、XPath等がロケータとして用いられうる。アプリケーションの修正により、画面要素のid、name、XPath等が変更された場合、テストスクリプト中の該当ロケータを修正する必要がある。 It is said that 70% or more of the correction of the test script is correction of the locator (Non-patent Document 3). The locator is an identifier for uniquely specifying a screen element to be operated (one element in a screen such as a button or a form). For example, id, name, XPath, etc. can be used as the locator. When the screen element id, name, XPath, etc. are changed due to the modification of the application, it is necessary to modify the corresponding locator in the test script.
ロケータの修正の手間を削減するための方法として、予め、ロバスト性の高いロケータを使用するようにアプリケーションを実装することで、アプリケーションのリビジョン間において、ロケータの不整合が発生しにくくすることが考えられる。ロバスト性の高いロケータとは、例えば、相対的な情報によって画面要素を識別するロケータである。第1の手法を採用しているツールとして、UFT、Ranorexなどが存在している。また、第1の手法を提案している論文は複数存在する(例えば、非特許文献1等)。 As a method to reduce the trouble of correcting the locator, it may be possible to prevent the occurrence of locator inconsistency between revisions of the application by implementing the application in advance so as to use a highly robust locator. It is done. A highly robust locator is, for example, a locator that identifies screen elements based on relative information. UFT, Ranorex, etc. exist as tools adopting the first method. There are a plurality of papers proposing the first method (for example, Non-Patent Document 1).
但し、不整合が発生しにくいロケータというのは、アプリケーションの種類や場合によって異なるため、柔軟性が低い。また、人がロケータを設定する場合、何をロケータとするのかをあらかじめ検討する必要がある。更に、アプリケーションの想定外の修正でロケータに不整合が発生すると、結局、テストスクリプトに修正が必要となる。 However, locators that are less likely to cause inconsistencies are less flexible because they vary depending on the type of application and the case. In addition, when a person sets a locator, it is necessary to consider in advance what the locator is. Furthermore, if an inconsistency occurs in the locator due to an unexpected modification of the application, the test script will eventually need to be modified.
そこで、ロケータの不整合が発生した際に、ロケータを正しい値に自動的に修正することが考えられる(例えば、非特許文献1、非特許文献2等)。ロケータの不整合とは、新リビジョンのアプリケーションの画面において、旧リビジョンのアプリケーションに対応したテストスクリプト内で指定されているロケータに対応する画面要素が無い状態をいう。
Therefore, it is conceivable to automatically correct the locator to a correct value when a locator mismatch occurs (for example, Non-Patent
しかしながら、従来技術では、ロケータの修正の精度が低いという課題が有る。 However, the prior art has a problem that the accuracy of locator correction is low.
非特許文献1では、XPathに似た5つの指標(FirePath Abs,FirePath Rel,Selenium IDE(rel xpath),Montoto,ROBULA+)を用いてロケータを修正している。複数の指標を用いることで、多面的にマッチングを判定することができ、柔軟性が増す。
In
しかし、これらの指標は、全てDOM(Document Object Model )ツリーの構造情報に基づいているところ、構造情報を用いた修正の短所として、構造の変化に弱いということが挙げられる。 However, these indexes are all based on the structure information of a DOM (Document Object Model) tree, and as a disadvantage of correction using the structure information, it is weak against structural changes.
例えば、画面レイアウトの大きな変更や、2つの画面要素の位置の入れ替え等といった修正が有った場合、画面要素間のマッチングができず、ロケータの修正に失敗する。これら5つの指標は似通った指標であるため、全て同様の短所を持つと考えられる。また、各指標は一致又は不一致で評価されており、一致していないが似ているといった評価を行うことができないため、柔軟性が低い。 For example, if there is a modification such as a large change in the screen layout or a change in the position of two screen elements, matching between screen elements cannot be performed, and the locator modification fails. Since these five indicators are similar, all are considered to have the same disadvantages. Further, each index is evaluated by matching or non-matching, and since it is not possible to perform an evaluation that does not match but is similar, flexibility is low.
非特許文献2では、属性、位置、Xpath等の10種類の指標を用いてロケータを修正しているが、指標の重み付けが偏っているため、実質的にXPathのみを用いているに等しい。XPathについては、一致又は不一致ではなく、レーベンシュタイン距離を用いて評価しており、位置の近さを考慮することができる。 In Non-Patent Document 2, the locator is corrected using 10 types of indices such as attribute, position, and Xpath. However, since the weighting of the indices is biased, it is substantially equivalent to using only XPath. XPath is evaluated using the Levenshtein distance, not coincidence or disagreement, and the closeness of the position can be taken into account.
しかし、実質的に1種類の指標(XPath)に依存しているため、多面的な評価を行うことができないという欠点がある。また、XPathのみに依存するため、構造情報を用いた修正の欠点がより強く現れ、レイアウト修正を伴う多くの修正に対応することが困難である。 However, since it depends substantially on one kind of index (XPath), there is a drawback that multi-faceted evaluation cannot be performed. Moreover, since it depends only on XPath, the defect of the correction using the structure information appears more strongly, and it is difficult to cope with many corrections involving layout correction.
本発明は、上記の点に鑑みてなされたものであって、画面の操作を伴うテストに利用されるテストスクリプトの修正の精度を向上させることを目的とする。 The present invention has been made in view of the above points, and an object of the present invention is to improve the accuracy of correction of a test script used for a test involving screen operation.
そこで上記課題を解決するため、テストスクリプト修正装置は、第1の画面の画面要素に対する操作命令の実行順が定義されたテストスクリプトであって、前記操作命令ごとに、操作対象の画面要素の識別情報を含むテストスクリプトを取得するテストスクリプト取得部と、前記テストスクリプトに含まれる操作命令ごとに、操作対象の画面要素の範囲の画像データを前記第1の画面から取得し、取得した画像データを記憶部に記憶する画像取得部と、前記テストスクリプトに含まれる操作命令のうち、第2の画面に関して使用されていない識別情報が操作対象の画面要素として示されている第1の操作命令について、前記記憶部に記憶されている各画像データと、前記第2の画面から取得される各画面要素の画像データとの比較に基づいて、前記第2の画面における操作対象の画面要素を特定する第1の特定部と、前記第1の操作命令に対する識別情報を、前記第1の特定部によって特定された画面要素の識別情報に修正する第1の修正部と、を有する。 Therefore, in order to solve the above-described problem, the test script correction device is a test script in which the execution order of the operation instructions for the screen elements of the first screen is defined, and for each operation instruction, the screen element to be operated is identified. A test script acquisition unit that acquires a test script including information; and, for each operation instruction included in the test script, acquires image data in a range of screen elements to be operated from the first screen, and acquires the acquired image data Among the operation instructions included in the image acquisition unit stored in the storage unit and the test script, the first operation instruction in which identification information that is not used for the second screen is indicated as the screen element to be operated, Based on a comparison between each image data stored in the storage unit and image data of each screen element acquired from the second screen The first specifying unit that specifies the screen element to be operated on the second screen and the identification information for the first operation command are corrected to the identification information of the screen element specified by the first specifying unit. A first correction unit.
画面の操作を伴うテストに利用されるテストスクリプトの修正の精度を向上させることができる。 It is possible to improve the accuracy of the correction of the test script used for the test involving the operation of the screen.
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるシステム構成例を説明するための図である。図1において、サーバ装置20及びテスト実行装置10は、例えば、LAN(Local Area Network)又はインターネット等のネットワークを介して接続される。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram for explaining a system configuration example according to an embodiment of the present invention. In FIG. 1, the
サーバ装置20は、画面を生成するアプリケーションを有するコンピュータである。サーバ装置20には、当該アプリケーションの旧リビジョン及新リビジョンが実装されている。例えば、Webサーバが、サーバ装置20として利用されてもよい。なお、リビジョン間において、画面の構成(すなわち、画面に含まれる画面要素の構成)は、必ずしも一致しない。また、画面に含まれる画面要素が定義されたデータ(例えば、HTML(HyperText Markup Language)又はXML(eXtensible Markup Language)等。以下、「画面定義データ」という)内において、リビジョンを跨いで同じ画面要素(対応する画面要素)に対して付与されているロケータの同一性は保証されていない。同じ画面要素(対応する画面要素)とは、例えば、機能及び用途が同一であり、人から見たら同じであることが認識される画面要素の組をいう。
The
なお、画面要素とは、画面(Web画面等)を構成するボタン、入力フォーム、リンクといった要素をいう。一つの画面要素は、例えば、1つのHTMLタグ又はXMLタグで定義され、入れ子構造をとりうる。ロケータとは、画面定義データ内において、各画面要素に対して識別子として付与されている情報をいう。 The screen element refers to an element such as a button, an input form, or a link that configures a screen (Web screen or the like). One screen element is defined by, for example, one HTML tag or XML tag, and can have a nested structure. The locator refers to information given as an identifier to each screen element in the screen definition data.
テスト実行装置10は、サーバ装置20のアプリケーションについて、回帰テストを実行するコンピュータである。回帰テストは、旧リビジョンのアプリケーション(以下、「旧アプリケーション」という。)によって生成される画面に対して作成されたテストスクリプトを、新リビジョンのアプリケーション(以下、「新アプリケーション」という。)によって生成される画面に対して適用することで効率的に実行される。テストスクリプトとは、画面に対する操作手順が定義されたデータであり、操作命令ごとに、操作対象の画面要素のロケータ及び操作内容を示す情報等を含むデータである。なお、PC(Personal Computer)、スマートフォン、又はタブレット端末等がテスト実行装置10として利用されてもよい。
The
図2は、本発明の実施の形態におけるテスト実行装置10のハードウェア構成例を示す図である。図2のテスト実行装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。
FIG. 2 is a diagram illustrating a hardware configuration example of the
テスト実行装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
A program for realizing processing in the
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってテスト実行装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
The
図3は、本発明の実施の形態におけるテスト実行装置10の機能構成例を示す図である。図3において、テスト実行装置10は、テストスクリプト取得部11、テスト実行部12、画面表示制御部13、指標値取得部14、画像取得部15、対応要素候補探索部16、テストスクリプト修正部17、テストスクリプト出力部18及び重み計算部19等を有する。これら各部は、テスト実行装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。
FIG. 3 is a diagram illustrating a functional configuration example of the
テスト実行装置10は、また、テストスクリプト記憶部121、画面要素情報記憶部122、画面履歴記憶部123及び重み記憶部124等を利用する。これら各記憶部は、例えば、補助記憶装置102、又はテスト実行装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
The
テストスクリプト取得部11は、旧アプリケーションに対応するテストスクリプトをテストスクリプト記憶部121から取得する。
The test script acquisition unit 11 acquires a test script corresponding to the old application from the test
画面表示制御部13は、旧アプリケーションの画面(以下、「旧画面」という。)及び新アプリケーションの画面(以下、「新画面」という。)のそれぞれを表示する。例えば、Webブラウザに基づいて画面表示制御部13が実現されてもよい。
The screen
テスト実行部12は、テストスクリプト取得部11によって取得されたテストスクリプトを使用して、旧画面及び新画面のそれぞれについてテストを実行する。
The
指標値取得部14は、旧画面の各画面要素について、画面要素間の類似度を評価するための複数の指標の値(指標値)を取得する。取得された指標値群は、画面要素情報記憶部122に記憶される。
The index
画像取得部15は、旧画面の各画面要素について、当該画面要素の表示範囲の画像データを取得する。取得された画像データは、画面要素情報記憶部122に記憶される。
The
対応要素候補探索部16は、新アプリケーション(新画面)に対するテストの実行中において、テストスクリプトにおいて操作対象の画面要素を示すために指定されているいずれかのロケータが新画面に関して使用されていない場合に、新画面の画面要素の中から、当該ロケータに対応する画面要素の候補を探索する。
When the corresponding element
テストスクリプト修正部17は、対応要素候補探索部16による探索結果に基づいて、テストスクリプトを、新アプリケーション(新画面)に対応した状態へ修正する。
The test
テストスクリプト出力部18は、修正されたテストスクリプトを出力する。
The test
重み計算部19は、対応要素候補探索部16が、旧画面の各画面要素と新画面の各画面要素との類似度を算出する際に利用する、各指標に対する重みを画面履歴記憶部123に記憶されている情報に基づいて統計的に計算する。計算結果(各指標の重み)は、重み記憶部124に記憶される。
The weight calculation unit 19 stores the weight for each index, which is used when the corresponding element
画面履歴記憶部123には、アプリケーションの各リビジョンの画面の画面要素ごとに、画像データ及び指標値群が記憶されている。
The screen
なお、テスト実行装置10が、サーバ装置20の機能を有していてもよい。この場合、サーバ装置20は配置されなくてもよい。
The
以下、テスト実行装置10が実行する処理手順について説明する。図4は、テスト実行装置10が実行する処理手順の一例を説明するためのフローチャートである。
Hereinafter, a processing procedure executed by the
ステップS101において、画面表示制御部13は、サーバ装置20の旧アプリケーションの画面(旧画面)を表示装置106に表示する。具体的には、画面表示制御部13は、サーバ装置20の旧アプリケーションにアクセスして、画面定義データをダウンロードし、当該画面定義データに基づいて、旧画面を表示する。
In step S <b> 101, the screen
続いて、テストスクリプト取得部11は、旧アプリケーションに対応するテストスクリプトを、テストスクリプト記憶部121から取得し、メモリ装置103に記憶する(S102)。以下において、「テストスクリプト」は、メモリ装置103に記憶されたテストスクリプトをいう。
Subsequently, the test script acquisition unit 11 acquires a test script corresponding to the old application from the test
続いて、テスト実行装置10は、旧画面の画面要素情報の取得処理を実行する(S103)。ステップS103では、旧画面の各画面要素について、他の画面要素との類似度を評価するための複数の指標のそれぞれの値(指標値)や、当該画面要素の表示範囲の画像データ等が取得される。取得された指標値群及び画像データは、画面要素情報記憶部122に記憶される。
Subsequently, the
続いて、テスト実行装置10は、新アプリケーションのテスト処理を実行する(S104)。当該テスト処理では、旧画面に対応するテストスクリプトが新画面に適用されて、新アプリケーションについて回帰テストが実行される。回帰テストの過程において、テストスクリプト内の操作命令の操作対象とされているロケータに対応する画面要素が新画面に存在しない場合、当該ロケータに対応する画面要素の探索が行われる。当該画面要素の探索には、画面要素情報記憶部122に記憶された情報等が利用される。当該画面要素が特定された場合には、テストスクリプト内の当該ロケータが、当該画面要素のロケータによって置換(修正)される。
Subsequently, the
続いて、テストスクリプト出力部18は、ステップS104において修正されたテストスクリプトを出力する(S105)。例えば、当該テストスクリプトが、新リビジョンに対応するテストスクリプトとして、テストスクリプト記憶部121に記憶される。
Subsequently, the test
続いて、ステップS103の詳細について説明する。図5は、旧画面の画面要素情報の取得処理の処理手順の一例を説明するためのフローチャートである。 Next, details of step S103 will be described. FIG. 5 is a flowchart for explaining an example of the processing procedure of the acquisition process of the screen element information of the old screen.
ステップS201において、テスト実行部12は、テストスクリプト内に次の命令cが有るか否かを判定する。次の命令cとは、未実行の命令の中で実行順が先頭の命令をいう。
In step S201, the
図6は、テストスクリプトの一例を説明するための図である。図6において、画面g1は、表示される画面の一例である。画面定義データh1は、画面g1の一部(画面要素e1)についての画面定義データである。テーブルT1は、画面g1に関するテストスクリプトを表形式で表現したものである。 FIG. 6 is a diagram for explaining an example of a test script. In FIG. 6, a screen g1 is an example of a displayed screen. The screen definition data h1 is screen definition data for a part of the screen g1 (screen element e1). The table T1 represents the test script related to the screen g1 in a table format.
テーブルT1において、各行が、1つの操作に対応する。すなわち、テストスクリプトは、操作ごとに、命令、ロケータ、及び値等を含む。命令は、操作の種別を示す情報である。図6では、「type」、「click」等が例示されている。「type」は、操作対象の画面要素への値の入力を意味する。「click」は、操作対象の画面要素のクリックを意味する。ロケータは、操作対象の画面要素のロケータである。値は、操作対象の画面要素に適用される値である。このように、テストスクリプトには、操作内容(命令及び値)と操作対象(ロケータ)とが操作ごとに含まれている。また、テストスクリプトは、各操作の順番も定義されている。例えば、テーブルT1では、上の行から先に実行される。 In the table T1, each row corresponds to one operation. That is, the test script includes an instruction, a locator, a value, and the like for each operation. The command is information indicating the type of operation. In FIG. 6, “type”, “click”, and the like are illustrated. “Type” means input of a value to the screen element to be operated. “Click” means a click on the screen element to be operated. The locator is a locator of the screen element to be operated. The value is a value applied to the screen element to be operated. As described above, the test script includes the operation content (command and value) and the operation target (locator) for each operation. The test script also defines the order of operations. For example, in the table T1, the process is executed from the top line first.
テストスクリプトに次の命令cが有る場合(S201でYes)、テスト実行部12は、旧画面において、命令cに対応する画面要素に対して命令cを実行する(S202)。
When the next instruction c is present in the test script (Yes in S201), the
続いて、指標値取得部14は、命令cによって操作された画面要素(以下、「対象要素」とい。)を特定する(S203)。対象要素は、例えば、命令cに対応するロケータによって特定されてもよい。続いて、指標値取得部14は、対象要素に関する各指標値を、旧画面の画面定義データから取得する(S204)。ここでは、複数の指標の指標値が取得される。
Subsequently, the index
指標は、例えば、画面要素の属性(id、type、class、name、タグ名等)、画面要素の位置情報(XPath、x座標、y座標、横幅、縦幅)、画面要素に関連するテキスト(リンクテキスト、付近のテキスト、URL等)である。なお、リンクテキストは、画面要素がリンクである場合の指標であり、当該リンクが付与された文字列を示す。付近のテキストとは、画面要素の表示範囲の周囲(例えば、上、下、左、右等の所定の画素数の範囲内)に表示されるテキストである。画面要素の表示範囲とは、例えば、当該画面要素の最小外接矩形でもよい。なお、20種類程度の指標のそれぞれについて、指標値が取得されてもよい。 The index includes, for example, screen element attributes (id, type, class, name, tag name, etc.), screen element position information (XPath, x coordinate, y coordinate, horizontal width, vertical width), text associated with the screen element ( Link text, nearby text, URL, etc.). The link text is an index when the screen element is a link, and indicates a character string to which the link is assigned. The nearby text is text that is displayed around the display range of the screen element (for example, within a predetermined number of pixels such as up, down, left, and right). The display range of the screen element may be, for example, the minimum circumscribed rectangle of the screen element. An index value may be acquired for each of about 20 types of indices.
続いて、指標値取得部14は、取得された指標値群を、対象要素に関連付けて画面要素情報記憶部122に記憶する(S205)。
Subsequently, the index
続いて、画像取得部15は、旧画面のスクリーンショット(画像データ)を取得する(S206)。続いて、画像取得部15は、当該スクリーンショットから、対象要素の表示範囲の画像データを取得する(切り出す)(S207)。なお、対象要素の表示範囲は、例えば、旧画面の画面定義データに含まれている、対象要素の位置情報等に基づいて特定可能である。続いて、画像取得部15は、取得した画像データを、対象要素に関連付けて画面要素情報記憶部122に記憶する(S208)。
Subsequently, the
ステップS202以降が、テストスクリプトの全ての命令について実行されると(S201でNo)、図5の処理手順は終了する。その結果、画面要素情報記憶部122には、旧画面の画面要素のうち、テストスクリプトによって操作された各画面要素の指標値群及び画像データが記憶される。
When step S202 and subsequent steps are executed for all instructions in the test script (No in S201), the processing procedure in FIG. 5 ends. As a result, the screen element
図7は、画面要素情報記憶部122の構成例を示す図である。図7に示されるように、画面要素情報記憶部122には、テストスクリプトにおいて実行された命令の順番で、操作対象とされた画面要素ごとに、指標値群及び画像データが記憶される。
FIG. 7 is a diagram illustrating a configuration example of the screen element
続いて、図4のステップS104の詳細について説明する。図8は、新アプリケーションのテスト処理の処理手順の一例を説明するためのフローチャートである。 Next, details of step S104 in FIG. 4 will be described. FIG. 8 is a flowchart for explaining an example of a processing procedure of a test process for a new application.
ステップS301において、画面表示制御部13は、サーバ装置20の新アプリケーションの画面(新画面)を表示装置106に表示する。具体的には、画面表示制御部13は、サーバ装置20の新アプリケーションにアクセスして、画面定義データをダウンロードし、当該画面定義データに基づいて、新画面を表示する。
In step S <b> 301, the screen
続いて、テストスクリプトの最初の命令から順に、ステップS302以降が実行される。当該テストスクリプトは、ステップS102においてメモリ装置103に記憶されたテストスクリプトである。すなわち、当該テストスクリプトは、旧アプリケーションに対応するテストスクリプトである。
Subsequently, step S302 and subsequent steps are executed in order from the first instruction of the test script. The test script is a test script stored in the
ステップS302において、テスト実行部12は、テストスクリプト内に次の命令cが有るか否かを判定する。テストスクリプトに次の命令cが有る場合(S302でYes)、テスト実行部12は、新画面において、命令cに対応する画面要素に対して命令cを実行する(S303)。
In step S302, the
続いて、テスト実行部12は、命令cがアサーションであるか否かを判定する(S304)。アサーションとは、アプリケーションの状態(画面の状態)が、期待通りであることを検証するための命令である。例えば、一まとまりの命令群ごとにアサーションがテストスクリプトに含まれている。例えば、図6のテーブルT1において、最後の行の命令は、アサーションである。命令がアサーションである場合、値は、期待値を意味する。但し、テストスクリプトはアサーションを含まなくてもよい。
Subsequently, the
命令cがアサーションでない場合(S304でNo)、テスト実行部12は、命令cのロケータを有する画面要素が新画面に含まれているか否かを判定する(S305)。当該判定は、新画面の画面定義データを参照することで可能である。命令cのロケータを有する画面要素が新画面に含まれている場合(S305でNo)、ステップS302以降が繰り返される。
When the instruction c is not an assertion (No in S304), the
命令cのロケータを有する画面要素が新画面に含まれていない場合(S305でYes)、対応要素候補探索部16は、当該ロケータ(以下、「元ロケータ」という。)について、対応要素候補探索処理を実行する(S306)。対応要素候補探索処理では、新画面の画面要素の中で、命令cのロケータに対応する画面要素(以下、「対応要素」という。)の候補(以下、「対応要素候補」という。)が探索される。探索において、新画面の画面要素の中で対応要素候補である可能性が認められる画面要素については、旧画面において当該ロケータを有する画面要素(以下、「元要素」という。)との間で類似度が算出される。類似度の詳細については後述される。
When the screen element having the locator of the instruction c is not included in the new screen (Yes in S305), the corresponding element
なお、命令cのロケータを有する画面要素が新画面に含まれていない場合、ステップS303において、命令cの実行に失敗する。したがって、ステップS305は、命令cの実行に失敗した場合に実行されてもよい。 If the screen element having the locator of the instruction c is not included in the new screen, the execution of the instruction c fails in step S303. Therefore, step S305 may be executed when the execution of the instruction c fails.
続いて、テストスクリプト修正部17は、対応要素候補の有無を判定する(S307)。すなわち、対応要素候補探索処理において、1以上の対応要素候補が特定(発見)されたか否かが判定される。対応要素候補が無い場合(SS307でNo)、図5の処理手順は終了する。
Subsequently, the test
一方、1以上の対応要素候補が特定された場合(S308でYes)、テストスクリプト修正部17は、対応要素候補の中で類似度が最大である対応要素候補のロケータによって、テストスクリプト内の命令cのロケータを修正する(S309)。すなわち、テストスクリプト内の命令cのロケータが、当該対応要素候補のロケータによって置換される。続いて、テスト実行部12は、命令cを実行する(S309)。ステップS309に続いてステップS302以降が繰り返される。このように、本実施の形態では、ロケータに対応する画面要素が見つからない命令が実行された場合、その時点でロケータの修正が行われて、テストが継続される。
On the other hand, when one or more corresponding element candidates are identified (Yes in S308), the test
一方、命令cがアサーションである場合(S304でYes)、テストスクリプト修正部17は、アサーションの実行結果が合格であるか否かを判定する(S310)。すなわち、ステップS303において実行された命令c(アサーション)において、新アプリケーション(新画面)の状態が、期待通りであったか否かが判定される。当該判定は、アサーションの実行結果に基づいて可能である。
On the other hand, when the instruction c is an assertion (Yes in S304), the test
アサーションの実行結果が合格である場合(S310でYes)、ステップS302以降が繰り返される。アサーションの実行結果が合格でない場合(S310でNo)、テストスクリプト修正部17は、未確定のロケータの修正処理を実行する(S311)。未確定のロケータとは、合格しなかったアサーションが、N番目のアサーションであるとすると、N−1番目のアサーションからN番目のアサーションの間に含まれている各命令のロケータをいう。但し、N=1の場合、N番目のアサーションより前の全ての命令のロケータが、未確定のロケータとなる。
When the execution result of the assertion is acceptable (Yes in S310), Step S302 and subsequent steps are repeated. If the execution result of the assertion is not acceptable (No in S310), the test
すなわち、アサーションに合格した場合、当該アサーションより前の命令のロケータは確定される。アサーションに合格したということは、新アプリケーション(新画面)の状態が、期待通りであることである。したがって、それまでに実行された各命令のいずれかのロケータについて、ステップS308において修正されていたとしても、その修正は正しかったことが確定されるからである。一方、アサーションに合格しなかった場合、ステップS308における修正が誤りであった可能性が有る。そこで、この場合、ステップS311が実行される。 That is, if the assertion passes, the locator for the instruction prior to the assertion is determined. The fact that the assertion has passed means that the state of the new application (new screen) is as expected. Therefore, even if any of the locators executed so far has been corrected in step S308, it is determined that the correction was correct. On the other hand, if the assertion does not pass, there is a possibility that the correction in step S308 was an error. In this case, step S311 is executed.
ステップS311に続いて、ステップS301以降が改めて実行される。すなわち、アサーションに合格しなかった場合、未確定のロケータの修正処理が実行された上で、再度、新画面がダウンロードされてテストスクリプトが最初から実行される。アサーションに合格しなかった場合、新アプリケーションの内部状態が命令cまで実行された際に本来あるべき状態でない可能性が有り、そのままテストを継続したとしても、正しいテストを行えない可能性が有るからである。 Subsequent to step S311, steps after step S301 are executed again. In other words, if the assertion does not pass, an indeterminate locator correction process is executed, a new screen is downloaded again, and the test script is executed from the beginning. If the assertion does not pass, the internal state of the new application may not be the original state when executed up to instruction c. Even if the test is continued as it is, there is a possibility that the correct test cannot be performed. It is.
ステップS302において、テストスクリプト内の全ての命令が実行されたと判定されると(S302でNo)、図8の処理手順は終了する。 If it is determined in step S302 that all instructions in the test script have been executed (No in S302), the processing procedure in FIG. 8 ends.
続いて、図8のステップS306の詳細について説明する。図9は、対応要素候補の探索処理の処理手順の一例を説明するためのフローチャートである。 Next, details of step S306 in FIG. 8 will be described. FIG. 9 is a flowchart for explaining an example of the processing procedure of the corresponding element candidate search processing.
ステップS401において、対応要素候補探索部16は、元ロケータに対応する画面要素(以下、「画面要素x」という。)の画面要素情報(指標値群及び画像データ)を、画面要素情報記憶部122から取得する。続いて、対応要素候補探索部16は、新画面の画面定義データから、新画面の全画面要素のそれぞれの指標値群及び画像データを取得する(S402)。なお、当該全画面要素の集合を、以下「画面要素集合Y」という。また、新画面の画面要素の指標値群及び画像データ(当該画面要素の表示範囲の画像データ)の取得方法は、旧画面の画面要素についての取得方法と同様でよい。
In step S401, the corresponding element
続いて、対応要素候補探索部16は、画像データに基づく探索処理を実行する(S403)。当該探索処理において対応要素候補であると判定された画面要素y∈Yは、画面要素集合Y'に追加される。なお、画像データに基づく探索処理の開始時において、画面要素集合Y'は空である。
Subsequently, the corresponding element
画像データに基づく探索処理の実行後、画面要素集合Y'の要素数が複数である場合(S404でYes)、対応要素候補探索部16は、指標値に基づく探索処理を実行する(S405)。一方、画面要素集合Y'の要素数が1以下である場合(S404でNo)、対応要素候補探索部16は、画面要素集合Y'を、画面要素集合Y"に代入する(S406)。なお、画面要素集合Y"は、対応要素候補の集合である。すなわち、図8のステップS307及びS308では、画面要素集合Y"が参照される。
If the number of elements of the screen element set Y ′ is plural after execution of the search process based on the image data (Yes in S404), the corresponding element
続いて、図9のステップS403の詳細について説明する。2つの画面要素の画像(外観)が一致する場合、それらは高い確率で同じ役割を持つと考えられる。そこで、本実施の形態では、画面要素の画像データを用いて、対応要素候補の絞り込みを行うことで、精度向上と処理時間の短縮を図る。 Next, details of step S403 in FIG. 9 will be described. If the images (appearance) of two screen elements match, they are considered to have the same role with a high probability. Therefore, in the present embodiment, by using the image data of the screen elements, the corresponding element candidates are narrowed down to improve the accuracy and shorten the processing time.
図10は、画像データに基づく探索処理の処理手順の一例を説明するためのフローチャートである。 FIG. 10 is a flowchart for explaining an example of a processing procedure of search processing based on image data.
まず、全ての画面要素y∈Yについて、ステップS501〜S503が実行される。ステップS502において、対応要素候補探索部16は、画面要素xの画像データと、画面要素yの画像データとを比較して、両者が一致する場合には、画面要素yを画面要素集合Y'に追加する。なお、画像データの一致は、完全一致(全ての画素が一致する状態)に限定されなくてもよい。例えば、パターンマッチングの要領で、一方の画像データの画像を、他方の画像データの画像に対して所定画素ずつずらしながら、両者の一致又は不一致が判定されてもよい。すなわち、画像処理技術の分野において、2つの画像データが同一物を示すものであると判定可能である場合には、両者が一致すると判定されてもよい。
First, steps S501 to S503 are executed for all screen elements yεY. In step S502, the corresponding element
全ての画面要素y∈YについてステップS501〜S503が実行されると、対応要素候補探索部16は、画面要素集合Y'に1以上の画面要素yが含まれているか否かを判定する(S504)。画面要素集合Y'に1以上の画面要素が含まれている場合(S504でYes)、図10の処理手順は終了する。面要素集合Y'が空である場合(S504でNo)、対応要素候補探索部16は、画面要素集合Yを、画面要素集合Y'に追加する(S505)。
When steps S501 to S503 are executed for all screen elements yεY, the corresponding element
続いて、図9のステップS405の詳細について説明する。例えば、画面要素X(id=login、XPath=//A/B/X)が修正されて、画面要素X'(id=user_login、XPath=//C/D/X)となった場合、非特許文献1及び非特許文献2に示された手法では対応すること(画面要素X'が、画面要素Xの対応要素候補であると判定すること)が困難である。
Next, details of step S405 in FIG. 9 will be described. For example, when screen element X (id = login, XPath = // A / B / X) is modified to become screen element X ′ (id = user_login, XPath = // C / D / X), non- It is difficult to cope with the methods disclosed in
非特許文献1の手法では、相対的な構造(例:id=fooを持つ画面要素の子でXというタグを持つ画面要素)を表す指標も用いられる。しかし、この修正例の場合、修正前のXの親がA、B、修正後のXの親がC、Dと異なっているため、相対的な位置で指定していたとしても修正前後で当該指標は一致しない。
In the method of
また、非特許文献2の手法では、XPathのレーベンシュタイン距離を基に判定しており、//A/B/YといったXPathを持つ画面要素Yが他に存在する場合、画面要素XとYの類似性の方が、画面要素Xと画面要素X'との類似性よりも高いと判定されてしまう。 In the method of Non-Patent Document 2, determination is made based on the Lavenstein distance of XPath. If there is another screen element Y having XPath such as // A / B / Y, the screen elements X and Y It is determined that the similarity is higher than the similarity between the screen element X and the screen element X ′.
上記の問題は、指標の一致又は不一致のみを評価していたり、1つの指標に依存していたりすることに起因する。 The above problem is caused by evaluating only matching or mismatching of indices or depending on one index.
本実施の形態では、図10において説明したように、画面要素の画像データに基づいて対応要素候補を判定したり、図11について以下に説明されるように、複数の指標に対し、一致又は不一致ではなく、実数値として類似度を算出し、それを統合して1つの値としたりすることで精度向上を図る。 In the present embodiment, as described in FIG. 10, the corresponding element candidate is determined based on the image data of the screen element, or as described below with reference to FIG. Instead, the accuracy is calculated by calculating the similarity as a real value and integrating them into one value.
図11は、指標値に基づく探索処理の処理手順の一例を説明するためのフローチャートである。図11では、画面要素集合Y'に含まれている全ての画面要素yについて、ステップS601〜S613が実行される。また、全ての指標i∈Iについて、ステップS602〜S609が実行される。なお、Iは、本実施の形態における全ての指標の集合(id、type、class、name、タグ名、XPath、x座標、y座標、横幅、縦幅、リンクテキスト、付近のテキスト、URL等)である。 FIG. 11 is a flowchart for explaining an example of the processing procedure of the search processing based on the index value. In FIG. 11, steps S601 to S613 are executed for all screen elements y included in the screen element set Y ′. In addition, steps S602 to S609 are executed for all indices iεI. Note that I is a set of all indexes in this embodiment (id, type, class, name, tag name, XPath, x coordinate, y coordinate, horizontal width, vertical width, link text, nearby text, URL, etc.) It is.
ステップS603において、対応要素候補探索部16は、指標iの指標値が、選択的なものであるか否かを判定する。例えば、idの値は、任意に設定可能であるが、typeの値は、予め決められた値(input、button等)の中から選択される。タグ名も同様である。ステップS603では、指標iがこのように予め決められた選択肢の中から指標値が選択されるものでるか否かが判定される。
In step S603, the corresponding element
指標iの指標値が選択的である場合(S603でYes)、対応要素候補探索部16は、画面要素xと画面要素yとについて、それぞれの指標iの指標値が一致しているか否かに基づいて、画面要素xと画面要素yとにおける指標iの類似度siを決定する(S604)。すなわち、それぞれの指標iの指標値が一致していれば、当該指標iの類似度siは1とされ、そうでなければ当該指標iの類似度siは0とされる。すなわち、選択的である指標iについての類似度siは、0又は1となる。なお、本実施の形態において、全ての指標に関して、類似度sは0以上1以下の値とされる。但し、他の尺度(例えば、0から100等)によって類似度sが評価されてもよい。
When the index value of the index i is selective (Yes in S603), the corresponding element
指標iの指標値が選択的でない場合(S603でNo)、対応要素候補探索部16は、指標iの指標値が任意の文字列であるか否かを判定する(S605)。例えば、id、class、name、XPath等は任意の文字列である。指標iの指標値が任意の文字列である場合(S605でYes)、対応要素候補探索部16は、画面要素xと画面要素yとについて、それぞれの指標iの指標値のレーベンシュタイン距離に基づいて、画面要素xと画面要素yとにおける指標iの類似度siを計算する(S606)。具体的には、
類似度si=1−レーベンシュタイン距離/長い方の文字列の長さ
に基づいて、画面要素xと画面要素yとにおける指標iの類似度siが算出される。なお、長い方の文字列の長さとは、画面要素xの指標iの指標値(文字列)と、画面要素yの指標iの指標値(文字列)とのうち長い方の文字列の文字数をいう。
When the index value of the index i is not selective (No in S603), the corresponding element
Similarity s i = 1−Levenstein distance / similarity s i of index i between screen element x and screen element y is calculated based on the longer character string length. The length of the longer character string is the number of characters in the longer character string of the index value (character string) of the index i of the screen element x and the index value (character string) of the index i of the screen element y. Say.
指標iの指標値が任意の文字列でない場合(S605でNo)、対応要素候補探索部16は、指標iの指標値が数値であるか否かを判定する(S607)。例えば、x座標、y座標、横幅、縦幅等は、数値である。指標iの指標値が数値である場合(S607でYes)、対応要素候補探索部16は、画面要素xと画面要素yとについて、それぞれの指標iの指標値のユークリッド距離に基づいて、画面要素xと画面要素yとにおける指標iの類似度siを計算する(S608)。具体的には、
類似度si=1−|2つの指標値の差/最大値|
に基づいて、画面要素xと画面要素yとにおける指標iの類似度siが算出される。なお、2つの指標値の差とは、画面要素xの指標iの指標値と、画面要素yの指標iの指標値との差をいう。また、最大値とは、当該指標iに関して取りうる最大値をいう。例えば、指標iがx座標であれば、最大値は、画面の横幅である。
When the index value of the index i is not an arbitrary character string (No in S605), the corresponding element
Similarity s i = 1− | difference between two index values / maximum value |
Based on the above, the similarity s i of the index i between the screen element x and the screen element y is calculated. Note that the difference between the two index values refers to the difference between the index value of the index i of the screen element x and the index value of the index i of the screen element y. The maximum value is the maximum value that can be taken for the index i. For example, if the index i is the x coordinate, the maximum value is the horizontal width of the screen.
なお、各指標iの指標値が、選択的、任意の文字列及び数値のいずれに該当するのかは、対応要素候補探索部16のアルゴリズムにおいて既知である。
Note that it is known in the algorithm of the corresponding element
全ての指標i∈Iについて、ステップS602〜S609が実行されると、対応要素候補探索部16は、各指標iに対する重みWiを、重み記憶部124から取得する(S610)。なお、重みWiは、例えば、後述されるように、重み計算部19によって予め計算される。但し、各重みWiは、ユーザの任意によって設定されてもよい。
For all indices i∈I, the step S602~S609 are performed, the corresponding element
続いて、対応要素候補探索部16は、画面要素xと画面要素yとの類似度Stotalを以下の式に基づいて算出する(S611)。
Subsequently, the corresponding element
Stotal=Σ(si×Wi)/ΣWi
すなわち、指標iの指標値について重みをWiとする加重平均を計算することで、類似度Stotalが算出される。
S total = Σ (s i × W i ) / ΣW i
That is, the similarity S total is calculated by calculating a weighted average of the index value of the index i with the weight as Wi .
続いて、対応要素候補探索部16は、類似度Stotalが、予め設定された閾値αより大きければ、画面要素yを画面要素集合Y"に追加する(S612)。
Subsequently, the corresponding element
ステップS601〜S613が、全ての画面要素y∈Y'について実行されると、図11の処理手順は終了する。 When steps S601 to S613 are executed for all the screen elements yεY ′, the processing procedure of FIG. 11 ends.
続いて、図8のステップS311の詳細について説明する。図12は、未確定のロケータの修正処理の処理手順の一例を説明するためのフローチャートである。 Next, details of step S311 in FIG. 8 will be described. FIG. 12 is a flowchart for explaining an example of a processing procedure of correction processing for an undetermined locator.
ステップS701において、テストスクリプト修正部17は、未確定のロケータに対応する命令群の中から、ステップS308において修正されたロケータを含む命令群Cを抽出する。未確定のロケータに対応する命令群とは、最後に実行されたアサーションがN番目のアサーションであれば、N−1番目のアサーションからN番目のアサーションの間に含まれている命令のロケータをいう。但し、N=1の場合、N番目のアサーションより前の全ての命令のロケータが、未確定のロケータとなる。
In step S701, the test
続いて、テストスクリプト修正部17は、命令群Cから、実行順が最後の命令clastを取得する(S702)。続いて、テストスクリプト修正部17は、命令clastについて未試行の対応要素候補の有無を判定する(S703)。命令clastについて未試行の対応要素候補とは、命令clastの修正前のロケータを元ロケータとして、ステップS306において探索された対応要素候補のうち、ステップS308においてロケータの修正に利用されなかった対応要素候補をいう。
Subsequently, the test
該当する対応要素候補が無い場合(S703でNo)、テストスクリプト修正部17は、命令群Cから、命令clastを削除して(S704)、ステップS702以降を繰り返す。なお、ステップS704では、テストスクリプトから命令clastが削除される。命令clastは、新アプリケーションに対して適切な命令でない可能性が高いからである。
When there is no corresponding corresponding element candidate (No in S703), the test
一方、該当する対応要素候補が1以上有る場合(S703でYes)、テストスクリプト修正部17は、該当する対応要素候補のうち、元要素との類似度Stotalが最大の対応要素候補のロケータによって、命令clastのロケータを置換する(S705)。
On the other hand, when there is one or more corresponding element candidates (Yes in S703), the test
このように、本実施の形態では、新画面において使用されていないロケータを対象とする命令が実行された場合、当該ロケータに対する対応要素候補のうち、類似度Stotalが高いものから順に試行され、テストに成功した(アサーションに合格した)対応要素候補が、正しい対応要素として特定される。 As described above, in the present embodiment, when an instruction for a locator that is not used in the new screen is executed, the corresponding element candidates for the locator are tried in descending order of the similarity S total . Corresponding element candidates that have been successfully tested (passed the assertion) are identified as correct corresponding elements.
続いて、重み計算部19が実行する処理手順について説明する。当該処理手順は、上記した各処理手順とは非同期に実行されてよい。例えば、テスト対象のアプリケーションについて、新たなリビジョンが発生するたびに当該処理手順が実行されてもよい。 Subsequently, a processing procedure executed by the weight calculation unit 19 will be described. The processing procedure may be executed asynchronously with each processing procedure described above. For example, the processing procedure may be executed every time a new revision occurs for the test target application.
例えば、各指標の重みをユーザの任意によって設定する場合、以下のような問題点が考えられる。
(a)アプリケーションによって重要な指標が異なる。
(b)どの指標が重要か簡単には判別できない。
(c)開発が進むにつれて、重要な指標が変化する。
For example, when the weight of each index is set arbitrarily by the user, the following problems can be considered.
(A) Important indicators differ depending on the application.
(B) It is not easy to determine which index is important.
(C) As development progresses, important indicators change.
そこで、本実施の形態では、統計的手法を用いて、アプリケーション毎に適切な重み付けが行われる。 Therefore, in this embodiment, appropriate weighting is performed for each application using a statistical method.
本実施の形態において、画面要素の対応関係の判定(マッチング)は、各指標の一致の度合い(類似度s)に基づいて行われる。したがって、重み付けの方法として、以下の2通りの考え方が採用される。
(1)アプリケーションの修正によって変化しやすい指標の重みを減らし、変化しにくい指標の重みを増やす。例えば、idは変わりにくいのでマッチングにおいて重視するが、XPathは変わりやすいので重視しない。
(2)異なる画面要素間で同じ値を持つ確率が高い指標の重みを減らし、同じ値を持つ確率が低い指標の重みを増やす。例えば、idは画面要素間で同じ値を持たないので重みを増やすが、classは複数の画面要素で値が重複する可能性が有るので重みを減らす。
In the present embodiment, the determination (matching) of the correspondence between screen elements is performed based on the degree of matching (similarity s) of each index. Therefore, the following two ways of thinking are adopted as the weighting method.
(1) The weight of an index that is likely to change due to application modification is reduced, and the weight of an index that is difficult to change is increased. For example, since id is difficult to change, importance is placed on matching, but XPath is easy to change and is not important.
(2) The weight of an index having a high probability of having the same value between different screen elements is reduced, and the weight of an index having a low probability of having the same value is increased. For example, since id does not have the same value between screen elements, the weight is increased. However, since the value of class may be duplicated among a plurality of screen elements, the weight is decreased.
指標の重みを決定するために、同じ画面要素間における指標の変わりやすさと、異なる画面要素間における指標の一致しやすさを評価する必要がある。以下、同じ画面要素間における指標の変わりやすさを評価する指標を「変化率」という。また、異なる画面要素間における指標の一致しやすさを評価する指標を「一致率」という。なお、同じ画面要素間とは、リビジョン間で対応する画面要素(ユーザから見て同一の画面要素)の組をいう。異なる画面要素間とは、リビジョン間で対応しない画面要素(ユーザから見て異なる画面要素)の組をいう。 In order to determine the weight of the index, it is necessary to evaluate the variability of the index between the same screen elements and the ease of matching of the indices between different screen elements. Hereinafter, an index for evaluating the variability of the index between the same screen elements is referred to as “change rate”. In addition, an index for evaluating the ease of matching of indexes between different screen elements is referred to as “match rate”. Note that “between the same screen elements” refers to a set of screen elements corresponding to the revisions (the same screen elements as viewed from the user). Between different screen elements means a set of screen elements that do not correspond between revisions (screen elements that differ from the user's perspective).
上記の考えに基づいて、重み計算部19は、図13に示される処理手順によって各指標の重みを算出する。図13は、重みの計算処理の処理手順の一例を説明するためのフローチャートである。 Based on the above idea, the weight calculator 19 calculates the weight of each index by the processing procedure shown in FIG. FIG. 13 is a flowchart for explaining an example of a processing procedure of weight calculation processing.
ステップS801〜S813は、リビジョンv〜リビジョンv+1までリビジョンごとに実行される。
Steps S801 to S813 are executed for each revision from revision v to
また、ステップS802〜S812は、リビジョンkの画面要素集合Aに含まれる各画面要素a∈Aごとに実行される。なお、リビジョンkの初期値は、vである。 Steps S802 to S812 are executed for each screen element aεA included in the screen element set A of revision k. Note that the initial value of revision k is v.
更に、ステップS803〜S810は、リビジョンk+1の画面要素集合A'に含まれる画面要素a'ごとに実行される。
Further, steps S803 to S810 are executed for each screen element a ′ included in the screen element set A ′ of
ステップS804において、重み計算部19は、画面要素aの画像データと画面要素a'の画像データとが一致するか否かを判定する。画像データの一致又は不一致の判定方法は、図10のステップS502における方法と同様でよい。なお、各リビジョンの各画面の各画面要素の画像データは、画面履歴記憶部123に記憶されている。
In step S804, the weight calculation unit 19 determines whether or not the image data of the screen element a matches the image data of the screen element a ′. The method for determining whether the image data matches or does not match may be the same as the method in step S502 of FIG. Note that image data of each screen element of each screen of each revision is stored in the screen
比較された画像データが一致する場合(S804でYes)、重み計算部19は、指標ごとに、画面要素aの指標値と画面要素a'の指標値とを比較する(S805)。なお、各リビジョンの各画面の各画面要素の各指標の指標値は、画面履歴記憶部123に記憶されている。
When the compared image data matches (Yes in S804), the weight calculation unit 19 compares the index value of the screen element a and the index value of the screen element a ′ for each index (S805). The index value of each index of each screen element of each screen of each revision is stored in the screen
全ての指標について指標値が一致する場合(S805でNo)、リビジョンk+1の次の画面要素a'についてステップS804以降が実行される。一方、いずれか1以上の指標iについて指標値が異なる場合(S805でYes)、重み計算部19は、指標値が異なる各指標iに対応するカウンタc(i)に1を加算する(S806)。なお、カウンタcは、指標ごとカウンタの配列であり、同じ画面要素間で指標値が異なる回数を指標ごとにカウントするために利用される。図13の処理手順の開始時において、カウンタcの各要素の値は0である。
If the index values match for all indices (No in S805), Step S804 and subsequent steps are executed for the next screen element a ′ of
続いて、重み計算部19は、カウンタdに1を加算する(S807)。カウンタdは、同じ画面要素間で、いずれかの指標の指標値が異なる回数をカウントするために利用されるカウンタである。図13の処理手順の開始時において、カウンタdの値は0である。 Subsequently, the weight calculation unit 19 adds 1 to the counter d (S807). The counter d is a counter used for counting the number of times that the index value of any index is different between the same screen elements. At the start of the processing procedure of FIG. 13, the value of the counter d is 0.
一方、ステップS804において比較された画像データが一致しない場合(S804でNo)、重み計算部19は、画面要素aと画面要素a'との間で、指標値が一致する指標が1以上有るか否かを判定する(S808)。該当する指標iが無い場合(S808でNo)、リビジョンk+1の次の画面要素a'についてステップS804以降が実行される。該当する指標iが有る場合(S808でYes)、重み計算部19は、指標値が一致する指標iに対応するカウンタe(i)に1を加算する。なお、カウンタeは、指標ごとカウンタの配列であり、異なる画面要素間で指標値が一致する回数を指標値ごとにカウントするために利用される。図13の処理手順の開始時において、カウンタeの各要素の値は0である。
On the other hand, when the image data compared in step S804 does not match (No in S804), the weight calculation unit 19 determines that there is one or more indexes with the same index value between the screen element a and the screen element a ′. It is determined whether or not (S808). If there is no corresponding index i (No in S808), Step S804 and subsequent steps are executed for the next screen element a ′ of the
リビジョンk+1の全ての画面要素a'∈A'について、ステップS803〜S810が実行されると、重み計算部19は、カウンタfに1を加算する(S811)。カウンタfは、全リビジョンの画面要素の総数(画面要素の延べ数)をカウントするために利用されるカウンタである。例えば、リビジョンvについて、ステップS802〜S812までの実行が完了した時点において、カウンタfには、リビジョンvの画面要素の総数が記憶される。なお、図13の処理手順の開始時において、カウンタfの値は0である。 When Steps S803 to S810 are executed for all screen elements a′εA ′ of the revision k + 1, the weight calculation unit 19 adds 1 to the counter f (S811). The counter f is a counter used for counting the total number of screen elements of all revisions (total number of screen elements). For example, for the revision v, when the execution of steps S802 to S812 is completed, the counter f stores the total number of screen elements of the revision v. Note that the value of the counter f is 0 at the start of the processing procedure of FIG.
ステップS801〜S813が、リビジョンv〜リビジョンv+nまで実行されると、重み計算部19は、各指標の変化率を計算する(S814)。指標iの変化率(i)は、以下の式に基づいて算出される。
変化率(i)=c(i)/d
すなわち、変化率(i)は、同じ画面要素間の各指標の比較において指標iが変化した回数(異なる回数)を、同じ画面要素間の各指標の比較においていずれかの指標が変化した回数(異なる回数)によって除することで算出される。
When steps S801 to S813 are executed from revision v to revision v + n, the weight calculator 19 calculates the rate of change of each index (S814). The rate of change (i) of the index i is calculated based on the following equation.
Rate of change (i) = c (i) / d
That is, the rate of change (i) indicates the number of times that the index i has changed (a different number of times) in the comparison of each index between the same screen elements, and the number of times that any index has changed in the comparison of each index between the same screen elements ( It is calculated by dividing by (different number of times).
続いて、重み計算部19は、各指標の一致率を計算する(S815)。指標iの一致率(i)は、以下の式に基づいて算出される。
一致率(i)=e(i)/f
すなわち、一致率(i)は、異なる画面要素間の各指標の比較において指標iが一致した回数を、画面要素の延べ数(総数)で除することで算出される。
Subsequently, the weight calculation unit 19 calculates the matching rate of each index (S815). The coincidence rate (i) of the index i is calculated based on the following formula.
Match rate (i) = e (i) / f
That is, the coincidence rate (i) is calculated by dividing the number of times the index i matches in the comparison of each index between different screen elements by the total number (total number) of screen elements.
続いて、重み計算部19は、各指標の重みを計算する(S816)。指標iの重みWiは、以下の式に基づいて算出される。
Wi=変化率(i)×(1−一致率(i))×定数β
図13の処理手順によれば、アプリケーション毎に異なる重み付けを自動で行うことができ、重み付けに最新の10リビジョンを用いる等の工夫を行うことで、開発が進むにつれて重要な指標が変化する場合にも対応することが可能である。
Subsequently, the weight calculator 19 calculates the weight of each index (S816). The weight W i of the index i is calculated based on the following formula.
W i = change rate (i) × (1−match rate (i)) × constant β
According to the processing procedure of FIG. 13, different weighting can be automatically performed for each application, and when an important index changes as development progresses by devising such as using the latest 10 revisions for weighting. Can also be supported.
上述したように、本実施の形態によれば、各画面要素の画像データに基づいて、画面要素間の対応関係が判定される。ここで、画像データ(外観)が一致する画面要素は、そのロケータや各指標に相違点が有ったとしても、用途及び機能が一致する画面要素である可能性が高い。したがって、画面要素間の対応関係の判定の精度を向上させることができる。その結果、テストスクリプト中のロケータの自動修正をより高精度で効率よく行うことができるようになる。すなわち、画面の操作を伴うテストに利用されるテストスクリプトの修正の精度を向上させることができる。 As described above, according to the present embodiment, the correspondence between screen elements is determined based on the image data of each screen element. Here, a screen element having the same image data (appearance) is highly likely to be a screen element having the same usage and function even if there is a difference between the locator and each index. Therefore, it is possible to improve the accuracy of determining the correspondence between screen elements. As a result, automatic correction of the locator in the test script can be performed with higher accuracy and efficiency. That is, it is possible to improve the accuracy of the correction of the test script used for the test involving the operation of the screen.
従来、画面操作を伴うテストの自動化は、メンテナンスが大変であるため費用対効果の面で避けられることが多かったが、本実施の形態によれば、画面操作を伴うテストの自動化への障壁を取り去り、ソフトウェア開発を一層効率化することができる。 Traditionally, automation of tests involving screen operations has often been avoided cost-effectively due to heavy maintenance, but according to the present embodiment, there is a barrier to test automation involving screen operations. This can make software development more efficient.
また、本実施の形態では、画面要素の対応関係の判定精度を更に高めるため、複数の指標のそれぞれについて類似度が算出され、当該類似度に基づいて、画面要素間の類似度が算出される。すなわち、本実施の形態では、画面要素間について、単に、一致しているか否かではなく、一致している可能性(類似度)が判定される。そうすることで、旧リビジョンの或る画面要素について、新リビジョンの画面要素の中から対応する候補を複数得ることができる。その結果、対応する画面要素を正しく探し出せる可能性を高めることができる。 Further, in this embodiment, in order to further increase the determination accuracy of the correspondence relationship between the screen elements, the similarity is calculated for each of the plurality of indices, and the similarity between the screen elements is calculated based on the similarity. . In other words, in the present embodiment, the possibility of matching (similarity) is determined, not just whether or not the screen elements match. By doing so, a plurality of corresponding candidates can be obtained from the screen elements of the new revision for a screen element of the old revision. As a result, it is possible to increase the possibility of correctly searching for the corresponding screen element.
また、新画面中の全ての画面要素について類似度を計算するのは時間がかかるところ、本実施の形態では、画像データの比較に基づいて類似度の計算対象が絞り込まれる(フィルタリングされる)ため、処理時間の短縮化を期待することができる。 In addition, since it takes time to calculate the similarity for all screen elements in the new screen, in this embodiment, the calculation target of the similarity is narrowed (filtered) based on the comparison of image data. Shortening of processing time can be expected.
また、本実施の形態では、複数のロケータについて不整合が存在した場合でも、ロケータを修正しつつテストを継続することができるため、実行速度の向上を図ることができる。 Further, in the present embodiment, even when inconsistencies exist for a plurality of locators, the test can be continued while correcting the locators, so that the execution speed can be improved.
すなわち、仮に、ロケータを1つ修正するたびにテストを最初から実行する場合、1つのテストスクリプトに対し、ロケータの誤りの数+1回のテストを実行する必要がある。画面操作を伴うテストは、ブラウザの立ち上げや画面のロード等が必要となるため、単体テストに比べてオーバーヘッドが大きく、ロケータを修正するたびにテストを最初から実行する場合、これらのオーバーヘッドにより、テスト工数が増加する。 That is, if a test is executed from the beginning every time one locator is corrected, it is necessary to execute the number of locator errors plus one test for one test script. Tests that involve screen operations require browser startup, screen loading, etc., so the overhead is larger than unit tests, and if the test is executed from the beginning each time the locator is modified, these overheads cause the test. Man-hours increase.
このようなテスト工数の増加を回避するため、動的プログラム書き換え等により、ロケータの誤りを無視し、様々な入力を試しながら無理やりテスト実行を続け、ロケータの修正を行うといった方法も考えられる。 In order to avoid such an increase in the number of test steps, a method of ignoring the locator error by dynamic program rewriting, etc., forcibly continuing the test execution while trying various inputs, and correcting the locator can be considered.
しかし、この場合、画面に対して何らかの操作を行った時点でプログラムの内部状態が本来あるべきでない状態になる恐れがあり、全てのロケータの修正が一度にできたとしてもテスト実行の妥当性を保つことができない可能性が有る。不整合の有る全てのロケータを無理やり修正した後、再度通してテストを実行することも考えられるが、動的要素の多いアプリケーションの場合、正しく修正を行える可能性が低く、試行回数が増える恐れがある。 However, in this case, there is a possibility that the internal state of the program should not be originally when any operation is performed on the screen, and even if all the locators can be corrected at once, the validity of the test execution can be reduced. There is a possibility that it cannot be kept. It may be possible to force all the inconsistent locators to be corrected and then re-run the test, but for applications with many dynamic elements, the possibility of correct correction is low and the number of trials may increase. is there.
そこで、本実施の形態では、単純にロケータを修正しながら実行するのみではなく、プログラム内部状態の整合性を保持しながら、必要に応じて(アサーションに合格しなかった場合)プログラムの再実行が行われる。 Therefore, in this embodiment, the program is not re-executed while simply correcting the locator, but the program is re-executed as necessary (when the assertion is not passed) while maintaining the consistency of the internal state of the program. Done.
なお、本実施の形態において、テスト実行装置10は、テストスクリプト修正装置の一例である。対応要素候補探索部16は、第1の特定部及び第2の特定部の一例である。テストスクリプト修正部17は、第1の修正部及び第2の修正部の一例である。重み計算部19は、計算部の一例である。画面要素情報記憶部は、記憶部の一例である。ロケータは、識別情報の一例である。旧画面は、第1の画面の一例である。新画面は、第2の画面の一例である。カウンタcの値は、第1の回数の一例である。カウンタdの値は、第2の回数の一例である。カウンタeの値は、第3の回数の一例である。
In the present embodiment, the
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.
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 バス
DESCRIPTION OF
105
Claims (6)
前記テストスクリプトに含まれる操作命令ごとに、操作対象の画面要素の範囲の画像データを前記第1の画面から取得し、取得した画像データを記憶部に記憶する画像取得部と、
前記テストスクリプトに含まれる操作命令のうち、第2の画面に関して使用されていない識別情報が操作対象の画面要素として示されている第1の操作命令について、前記記憶部に記憶されている各画像データと、前記第2の画面から取得される各画面要素の画像データとの比較に基づいて、前記第2の画面における操作対象の画面要素を特定する第1の特定部と、
前記第1の操作命令に対する識別情報を、前記第1の特定部によって特定された画面要素の識別情報に修正する第1の修正部と、
を有することを特徴とするテストスクリプト修正装置。 A test script in which an execution order of operation instructions for the screen elements of the first screen is defined, and a test script acquisition unit that acquires a test script including identification information of a screen element to be operated for each operation instruction;
For each operation command included in the test script, an image acquisition unit that acquires image data in a range of screen elements to be operated from the first screen and stores the acquired image data in a storage unit;
Among the operation commands included in the test script, each image stored in the storage unit for the first operation command in which identification information that is not used for the second screen is indicated as a screen element to be operated. A first specifying unit for specifying a screen element to be operated on the second screen based on comparison of data and image data of each screen element acquired from the second screen;
A first correction unit that corrects the identification information for the first operation command to the identification information of the screen element specified by the first specification unit;
A test script correcting device comprising:
前記第1の特定部によって複数の画面要素が特定された場合に、前記記憶部に記憶された各値と、前記第2の画面に関して取得される各画面要素の各指標の値とに基づいて、前記第1の画面の各画面要素と、前記第2の画面の各画面要素との類似度を算出し、算出された類似度に基づいて、前記第2の画面における操作対象の画面要素を特定する第2の特定部と、
を有することを特徴とする請求項1記載のテストスクリプト修正装置。 For each operation command included in the test script, for each screen element to be operated, a plurality of index values used for calculating the similarity between the screen elements are acquired for the first screen, and each acquired value An index value acquisition unit for storing in the storage unit,
When a plurality of screen elements are specified by the first specifying unit, based on each value stored in the storage unit and a value of each index of each screen element acquired with respect to the second screen The similarity between each screen element of the first screen and each screen element of the second screen is calculated, and the screen element to be operated on the second screen is calculated based on the calculated similarity. A second identifying part to identify;
The test script correcting device according to claim 1, comprising:
ことを特徴とする請求項2記載のテストスクリプト修正装置。 The second specifying unit calculates, for each index, a similarity between a value related to the first screen and a value related to the second screen, and the similarity for each index is used as a weight for each index. Calculating a weighted average based on the similarity between each screen element of the first screen and each screen element of the second screen;
The test script correcting device according to claim 2, wherein
を有することを特徴とする請求項3記載のテストスクリプト修正装置。 For a plurality of screens, a first number of times different in value between screen elements having the same image data is counted for each index, and a second number of times that the value of any of the indices is matched between the screen elements. The third number of times of counting and the number of times that the values match between screen elements that do not match the image data is counted for each index, and the value obtained by dividing the first number by the second number of times and the third number of times , Based on a value obtained by dividing by the total number of screen elements in the plurality of screens, a calculation unit that calculates a weight for each index,
4. The test script correcting device according to claim 3, further comprising:
前記アサーションの実行時において、前記第2の画面が前記アサーションによって期待される状態でない場合に、前記アサーションより前において前記第1の修正部によって修正されたいずれかの識別情報を修正する第2の修正部を有し、
前記第2の修正部によって修正が行われた場合に、前記テストスクリプトの最初の操作命令から実行しなおす、
ことを特徴とする請求項1乃至4いずれか一項記載のテストスクリプト修正装置。 The test script includes assertions in any of the execution order;
When executing the assertion, if the second screen is not in a state expected by the assertion, a second one that corrects any identification information corrected by the first correction unit before the assertion. Having a correction part,
Re-execution from the first operation instruction of the test script when correction is performed by the second correction unit;
The test script correcting device according to claim 1, wherein the test script correcting device is a test script correcting device.
前記テストスクリプトに含まれる操作命令ごとに、操作対象の画面要素の範囲の画像データを前記第1の画面から取得し、取得した画像データを記憶部に記憶する画像取得手順と、
前記テストスクリプトに含まれる操作命令のうち、第2の画面に関して使用されていない識別情報が操作対象の画面要素として示されている第1の操作命令について、前記記憶部に記憶されている各画像データと、前記第2の画面から取得される各画面要素の画像データとの比較に基づいて、前記第2の画面における操作対象の画面要素を特定する第1の特定手順と、
前記第1の操作命令に対する識別情報を、前記第1の特定手順によって特定された画面要素の識別情報に修正する第1の修正手順と、
をコンピュータに実行させることを特徴とするテストスクリプト修正プログラム。 A test script in which an execution order of operation instructions for the screen elements of the first screen is defined, and for each operation instruction, a test script acquisition procedure for acquiring a test script including identification information of an operation target screen element;
For each operation command included in the test script, an image acquisition procedure for acquiring image data in a range of screen elements to be operated from the first screen and storing the acquired image data in a storage unit;
Among the operation commands included in the test script, each image stored in the storage unit for the first operation command in which identification information that is not used for the second screen is indicated as a screen element to be operated. A first specifying procedure for specifying a screen element to be operated on the second screen based on a comparison between the data and image data of each screen element acquired from the second screen;
A first correction procedure for correcting the identification information for the first operation command into the identification information of the screen element specified by the first specification procedure;
A test script correction program characterized by causing a computer to execute.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016235069A JP6645955B2 (en) | 2016-12-02 | 2016-12-02 | Test script correction device and test script correction program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016235069A JP6645955B2 (en) | 2016-12-02 | 2016-12-02 | Test script correction device and test script correction program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018092361A true JP2018092361A (en) | 2018-06-14 |
JP6645955B2 JP6645955B2 (en) | 2020-02-14 |
Family
ID=62566220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016235069A Active JP6645955B2 (en) | 2016-12-02 | 2016-12-02 | Test script correction device and test script correction program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6645955B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766268A (en) * | 2018-12-17 | 2019-05-17 | 南瑞集团有限公司 | A kind of sequence assembly instruction program verification method and system |
JP2020173615A (en) * | 2019-04-10 | 2020-10-22 | 日本電信電話株式会社 | Similar transition identifying device, similar transition identifying method and program |
CN112667517A (en) * | 2021-01-07 | 2021-04-16 | 卫宁健康科技集团股份有限公司 | Method, device, equipment and storage medium for acquiring automatic test script |
CN113127349A (en) * | 2021-04-19 | 2021-07-16 | 广州掌动智能科技有限公司 | Software testing method and system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030236775A1 (en) * | 2002-06-20 | 2003-12-25 | International Business Machines Corporation | Topological best match naming convention apparatus and method for use in testing graphical user interfaces |
JP2007102654A (en) * | 2005-10-07 | 2007-04-19 | Hitachi Software Eng Co Ltd | Test script processing program |
JP2012221318A (en) * | 2011-04-11 | 2012-11-12 | Toshiba Corp | Scenario generation device and scenario generation program |
-
2016
- 2016-12-02 JP JP2016235069A patent/JP6645955B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030236775A1 (en) * | 2002-06-20 | 2003-12-25 | International Business Machines Corporation | Topological best match naming convention apparatus and method for use in testing graphical user interfaces |
JP2007102654A (en) * | 2005-10-07 | 2007-04-19 | Hitachi Software Eng Co Ltd | Test script processing program |
JP2012221318A (en) * | 2011-04-11 | 2012-11-12 | Toshiba Corp | Scenario generation device and scenario generation program |
Non-Patent Citations (2)
Title |
---|
"GUIテスティング・フレームワーク Abbot", 月刊ジャバワールド, vol. 第7巻,第8号, JPN6019036716, 1 August 2003 (2003-08-01), JP, pages 10, ISSN: 0004121665 * |
伊藤望: "開発現場でホントに役立つツール 第5回 テストツール「Selenium」", 日経SYSTEMS, vol. 第256号, JPN6019036711, 26 July 2014 (2014-07-26), JP, pages 92 - 97, ISSN: 0004121664 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109766268A (en) * | 2018-12-17 | 2019-05-17 | 南瑞集团有限公司 | A kind of sequence assembly instruction program verification method and system |
CN109766268B (en) * | 2018-12-17 | 2019-10-25 | 南瑞集团有限公司 | A kind of sequence assembly instruction program verification method and system |
JP2020173615A (en) * | 2019-04-10 | 2020-10-22 | 日本電信電話株式会社 | Similar transition identifying device, similar transition identifying method and program |
JP7127601B2 (en) | 2019-04-10 | 2022-08-30 | 日本電信電話株式会社 | Similar Transition Identifying Device, Similar Transition Identifying Method, and Program |
CN112667517A (en) * | 2021-01-07 | 2021-04-16 | 卫宁健康科技集团股份有限公司 | Method, device, equipment and storage medium for acquiring automatic test script |
CN113127349A (en) * | 2021-04-19 | 2021-07-16 | 广州掌动智能科技有限公司 | Software testing method and system |
Also Published As
Publication number | Publication date |
---|---|
JP6645955B2 (en) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7398068B2 (en) | software testing | |
US10949225B2 (en) | Automatic detection of user interface elements | |
US9983984B2 (en) | Automated modularization of graphical user interface test cases | |
CN106796585B (en) | Conditional validation rules | |
US10503478B2 (en) | System and method for guiding a user in a software development lifecycle using machine learning | |
US10936807B1 (en) | Systems and methods for displaying effects of code changes | |
US20220083450A1 (en) | Automated bug fixing using deep learning | |
JP6891779B2 (en) | Test script modifiers and programs | |
US9952832B2 (en) | Methods for generating smart archtecture templates and devices thereof | |
JP6645955B2 (en) | Test script correction device and test script correction program | |
US8904352B2 (en) | Systems and methods for processing source code during debugging operations | |
EP3685258B1 (en) | Ranking of software code parts | |
US20200210427A1 (en) | Column lineage and metadata propagation | |
US20140113257A1 (en) | Automated evaluation of programming code | |
US20150169669A1 (en) | Method and a Consistency Checker for Finding Data Inconsistencies in a Data Repository | |
US10346450B2 (en) | Automatic datacenter state summarization | |
US10037264B2 (en) | Test suite minimization | |
JP6689734B2 (en) | Test script correction device and test script correction program | |
US11645192B2 (en) | Graph-based method for inductive bug localization | |
CN112241370B (en) | API interface class checking method, system and device | |
JP6451417B2 (en) | Debug support device, debug support system, debug support method, and debug support program | |
CN115357269A (en) | Configuration information updating method and device, computer equipment and storage medium | |
Yandrapally et al. | Automated modularization of GUI test cases | |
Lavoie et al. | A case study of TTCN-3 test scripts clone analysis in an industrial telecommunication setting | |
CN115408049A (en) | File version control method and device and electronic equipment |
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 | Request for written amendment filed |
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 |