WO2020240778A1 - テストスクリプト生成装置、テストスクリプト生成方法及びプログラム - Google Patents

テストスクリプト生成装置、テストスクリプト生成方法及びプログラム Download PDF

Info

Publication number
WO2020240778A1
WO2020240778A1 PCT/JP2019/021551 JP2019021551W WO2020240778A1 WO 2020240778 A1 WO2020240778 A1 WO 2020240778A1 JP 2019021551 W JP2019021551 W JP 2019021551W WO 2020240778 A1 WO2020240778 A1 WO 2020240778A1
Authority
WO
WIPO (PCT)
Prior art keywords
screen
transition
test script
test
generation
Prior art date
Application number
PCT/JP2019/021551
Other languages
English (en)
French (fr)
Inventor
利行 倉林
治門 丹野
悠 安達
弘之 切貫
優 吉村
Original Assignee
日本電信電話株式会社
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 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2019/021551 priority Critical patent/WO2020240778A1/ja
Priority to JP2021521693A priority patent/JP7259949B2/ja
Priority to US17/615,057 priority patent/US20220229767A1/en
Publication of WO2020240778A1 publication Critical patent/WO2020240778A1/ja

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/3664Environments for testing or debugging software
    • 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/3684Test management for test design, e.g. generating new test cases

Definitions

  • the present invention relates to a test script generator, a test script generation method, and a program.
  • scenario test takes time is that it is a test that combines multiple functions, so not only is there a lot of content to be executed in one test, but as an interaction from the client side, click operations of links and buttons on the screen, This is because operations such as inputting an appropriate value in the input form are required. Since these operations are repeatedly performed on all screens, a huge amount of time is required, and labor saving is required.
  • Non-Patent Document 1 a method of creating a test case as a script and automatically executing it is widely known.
  • the work itself of creating a test script also takes time, it is generally said that the effect of the work time does not appear unless the automatic test using the created test script is performed three times or more.
  • the created test script cannot be used due to changes to existing functions, it will be necessary to recreate the test script each time the specifications are changed.
  • crawling is performed so as to cover the screen transition of the test target, and the operation at the time of crawling is output as a script to automatically generate a test script that executes the test covering the screen transition. It can. It is theoretically possible to automatically generate a scenario test test script by applying reverse-based test technology and crawling to cover a combination of functions.
  • the present invention has been made in view of the above points, and an object of the present invention is to streamline the testing of an application that provides a function by screen transition.
  • the test script generator has a specific unit that specifies a route via the screen specified by the user in the screen transition diagram, and the screen transition diagram for each transition included in the route. It has a generation unit that generates a test script based on a combination of a value input to the original screen of the transition in generation and an operation related to the transition.
  • test script generation apparatus 10 it is a figure which shows the hardware configuration example of the test script generation apparatus 10 in embodiment of this invention. It is a figure which shows the functional structure example of the test script generation apparatus 10 in embodiment of this invention. It is a flowchart for demonstrating an example of the processing procedure executed by the test script generation apparatus 10. It is a figure which shows an example of the screen transition diagram in this embodiment. It is a figure for demonstrating an example of designation of the screen and transition according to the scenario to be tested. It is a flowchart for demonstrating an example of the processing procedure of the screen transition diagram generation processing.
  • the user specifies a screen and a transition sequence that indicate a scenario (defined as a set of continuous screens and transitions) to be tested for the Web application, and a reverse base test is performed for a test script that realizes only that scenario.
  • a scenario defined as a set of continuous screens and transitions
  • a reverse base test is performed for a test script that realizes only that scenario.
  • the test script of the scenario test is automatically generated within a realistic time.
  • a screen transition diagram obtained by restoring the specifications to be tested by using the reverse base test technique disclosed in Non-Patent Document 2 is presented to the user, and the screen transition diagram is used.
  • the solution is to let the user specify the scenario you want to test.
  • FIG. 1 is a diagram showing a hardware configuration example of the test script generation device 10 according to the embodiment of the present invention.
  • the test script generation device 10 of FIG. 1 has a drive device 100, an auxiliary storage device 102, a memory device 103, a CPU 104, an interface device 105, a display device 106, an input device 107, and the like, which are connected to each other by a bus B, respectively. ..
  • the program that realizes the processing in the test script generation device 10 is provided by a recording medium 101 such as a CD-ROM.
  • a recording medium 101 such as a CD-ROM.
  • the program is installed in the auxiliary storage device 102 from the recording medium 101 via the drive device 100.
  • the program does not necessarily have to be installed from the recording medium 101, and may be downloaded from another computer via the network.
  • the auxiliary storage device 102 stores the installed program and also stores necessary files, data, and the like.
  • the memory device 103 reads and stores the program from the auxiliary storage device 102 when the program is instructed to start.
  • the CPU 104 realizes the function related to the test script generation device 10 according to the program stored in the memory device 103.
  • the interface device 105 is used as an interface for connecting to a network.
  • the display device 106 displays a programmatic GUI (Graphical User Interface) or the like.
  • the input device 107 is composed of a keyboard, a mouse, and the like, and is used for inputting various operation instructions.
  • FIG. 2 is a diagram showing a functional configuration example of the test script generation device 10 according to the embodiment of the present invention.
  • the test script generation device 10 has a specification information restoration unit 11, a test information acquisition unit 12, and a test script generation unit 13. Each of these parts is realized by a process of causing the CPU 104 to execute one or more programs installed in the test script generation device 10.
  • FIG. 3 is a flowchart for explaining an example of a processing procedure executed by the test script generation device 10.
  • step S101 the specification information restoration unit 11 restores the specification information of the application to be tested (hereinafter referred to as "target application") and generates a screen transition diagram.
  • the screen transition diagram may be generated by using a known reverse base test technique (Non-Patent Document 2).
  • the generated screen transition diagram is displayed on the display device 106, for example.
  • FIG. 4 is a diagram showing an example of a screen transition diagram in the present embodiment.
  • the screen transition diagram shown in FIG. 4 is a restored screen transition diagram for the target application.
  • Each rectangle (each node) in the screen transition diagram indicates a screen, and arrows between nodes indicate transitions between screens and directions of transitions. That is, the original side of the arrow corresponds to the screen of the transition source, and the tip side of the arrow corresponds to the screen of the transition destination.
  • the specification information restoration unit 11 stores, for example, the input value and the operation information in each screen transition generated at the time of crawling performed when the screen transition diagram is generated in the auxiliary storage device 102.
  • the input value means the value input to the screen of the transition source.
  • the operation information refers to information indicating an operation that triggered a screen transition. For example, in the case of the login screen, a value is entered in the user ID and password input form, and the login button is clicked. In this case, information related to each operation of inputting each value and clicking the login button is saved as operation information, and the value to be entered in the input form of the user ID and password is used as an input value set, and information indicating the transition that occurs for the operation.
  • transition information It is saved in association with (hereinafter referred to as "transition information").
  • the following is an example of the operation information and the input value set saved in association with the transition information of the transition from the login screen to the successful login (transition from "login” to "login successful” in FIG. 4).
  • Each operation information and input value set is stored in association with the transition related to the operation information and input value set.
  • the test information acquisition unit 12 corrects the screen transition diagram (FIG. 4) or the information (operation information, input value set, etc.) saved in step S101 according to the instruction by the user (S102).
  • the correction instruction is not input by the user, the correction may not be performed.
  • the scenario test that the user wants to perform includes a test that uses an administrator account instead of the normal account (user ID, password) used during crawling, for the above input value set.
  • the login ID and password of the administrator account may be added.
  • the user may give each input value set a name so that each input value set can be distinguished.
  • the input value set may be added by directly editing the file in which the operation information and the input value set are stored.
  • the above input value set includes a plurality of patterns as follows.
  • ⁇ Input value set> "Regular account” Value 1: abcd Value 2: aaa1234
  • the "normal account” is the name given to the first input value set
  • the "administrator account” is the name given to the second input value set.
  • the test information acquisition unit 12 accepts the designation of the scenario that the user wants to test via the screen transition diagram (S103).
  • the designation is accepted by selecting the screen included in the screen transition diagram. Not only the screen but also the transition may be selected. However, it is not necessary to specify all the screens and transitions that compose the scenario, and the specification of some screens and transitions may be omitted. For example, in this embodiment, it is assumed that the scenario that the user wants to test is the following four patterns.
  • the transition from the terminal node (terminal screen) of the screen transition diagram to TOP is omitted for convenience. That is, in the present embodiment, it is assumed that the screen transition of the target application is configured so that the transition from the terminal screen to TOP is possible. Therefore, the terminal screen refers to a screen that is only TOP among the screens of the transition destination in the target application. In this case, the screen and transition designation may be made, for example, as shown in FIG. In FIG. 5, (1) to (5) indicate the order of designation (clicks, etc.), and the designated screen or transition is represented by a broken line.
  • an operation for validating only one part of the input value set may be performed for the transition in which a plurality of input value sets are set.
  • a menu m1 including a list of input value sets associated with the transition information of the transition and saved is displayed. Will be done.
  • the menu m1 includes the above-mentioned "normal account” and "administrator account” as options. If only one of the options is selected by the user, the test information acquisition unit 12 validates only the selected input value set from the list of input value sets saved in association with the transition information. And.
  • the test script generation unit 13 specifies all routes (scenarios) between the screens and transitions specified by the user (between the routes passing through (1) to (5) in FIG. 5) (S104). ..
  • the test script generation unit 13 complements by automatically generating the path (scenario) of the discontinuous part based on the screen transition diagram. To do. For example, when the TOP screen is selected first and then the login success screen is selected in FIG. 4, the scenario "TOP-> login-> login success", which is a scenario from the TOP screen to the login success screen, is automatically generated. Added to user specifications.
  • scenarios of patterns of all valid input value sets are generated.
  • scenarios of patterns of all routes are generated.
  • each scenario specified by the user (hereinafter, each of the scenarios is referred to as a "designated scenario") is distinguished and specified.
  • the test script generation unit 13 generates a test script that satisfies each designated scenario. Specifically, the test script generation unit 13 comprehensively covers the operation sequence for realizing the specified scenario by combining the input values and the operation information in each transition saved in step S101 for each specified scenario. Generate and output a test script including the operation sequence (S105).
  • FIG. 6 is a flowchart for explaining an example of the processing procedure of the screen transition diagram generation process.
  • step S201 the specification information restoration unit 11 acquires the initial URL (Uniform Resource Locator) of the target application.
  • the initial URL refers to the URL for the screen that is the starting point in the screen transition of the target application.
  • the initial URL may be input by the user at the timing of step S201, or may be stored in advance in the auxiliary storage device 102 or the like.
  • the specification information restoration unit 11 acquires the display data (HTML data, etc.) of the initial screen corresponding to the initial URL by accessing the target URL, and uses a Web browser to obtain the initial screen based on the display data. Is displayed on the display device 106 (S202). In the example of FIG. 5, the "TOP" screen corresponds to the initial screen.
  • the specification information restoration unit 11 executes the loop process L1 including steps S203 to S207 for each screen of all the transition destinations.
  • the screen targeted for processing in the loop processing L1 is hereinafter referred to as a “target screen”. Initially, the initial screen is the target screen.
  • step S203 the specification information restoration unit 11 saves the screen information (HTML, title, identification information, etc.) of the target screen in the auxiliary storage device 102. Subsequently, if the target screen is not the terminal screen (Yes in S204), steps S205 to S207 are executed.
  • step S205 the specification information restoration unit 11 automatically operates the target screen to generate a screen transition.
  • the input value is automatically generated by using a known technique (for example, Non-Patent Document 2 or the like).
  • the specification information restoration unit 11 acquires the display data of the screen corresponding to the URL of the transition destination by accessing the URL, and uses a Web browser to display the screen based on the display data to the display device 106. Display (S206).
  • the specification information restoration unit 11 stores the operation information indicating the operation in step S205, the input value set related to the operation, and the transition information related to the transition generated in response to the operation in the auxiliary storage device 102.
  • the transition information is, for example, information including identification information of each screen of the transition source and the transition destination.
  • the specification information restoration unit 11 displays the screens based on the screen information, the transition information, the input value set, and the operation information saved for each screen or each transition.
  • a transition diagram is generated, and the screen transition diagram is output (displayed) (S208).
  • a test script corresponding to the screen and the transition sequence specified by the user is automatically generated.
  • the scenarios targeted in the automatically generated test script are limited to the scenarios specified by the user.
  • this embodiment may be applied to an application other than the Web application as long as it is an application that provides a function by screen transition.
  • test script generation unit 13 is an example of a specific unit and a generation unit.
  • the test information acquisition unit 12 is an example of a reception unit.
  • Test script generation device 11 Specification information restoration unit 12 Test information acquisition unit 13 Test script generation unit 100 Drive device 101 Recording medium 102 Auxiliary storage device 103 Memory device 104 CPU 105 Interface device 106 Display device 107 Input device B Bus

Landscapes

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

Abstract

テストスクリプト生成装置は、ユーザによって指定された画面を経由する経路を画面遷移図において特定する特定部と、前記経路に含まれる各遷移についての、前記画面遷移図の生成において当該遷移の元の画面に対して入力された値と、当該遷移に関する操作との組み合わせに基づくテストスクリプトを生成する生成部と、を有することで、画面遷移によって機能を提供するアプリケーションのテストを効率化する。

Description

テストスクリプト生成装置、テストスクリプト生成方法及びプログラム
 本発明は、テストスクリプト生成装置、テストスクリプト生成方法及びプログラムに関する。
 多様化する消費者ニーズに合ったサービスを迅速に提供するために、近年、ソフトウェア開発を短いサイクルで実施し、頻繁にサービスをリリースする開発スタイルが増加している。短いサイクルでサービスを提供することに伴い、ソフトウェアの動作の正常性を確認するソフトウェアテストの頻度も増加している。ソフトウェアテストでは、テスト対象となるWebアプリケーションが、設計者の意図した通りに動作するかどうかを確認する機能テストが行われる。機能テストの中でも、複数の機能を組み合わせたテスト(以下、「シナリオテスト」という。)に膨大な稼働がかかることが問題となっている。
 ここでは、1つ以上の画面の集合体を機能と定義する。シナリオテストが時間を要する理由としては、複数の機能を組み合わせたテストとなるため1つのテストの実施内容が多いだけでなく、クライアントサイドからのインタラクションとして、画面にあるリンクやボタンのクリック操作や、入力フォームに適切な値を入力するなどの人の手を介する操作が求められるからである。これらの操作をすべての画面で繰り返し実施するため、膨大な時間を要しており、省力化が求められている。
 テストに要する時間を削減する方法として、テストケースをスクリプトとして作成して自動実行する方法が広く知られている(非特許文献1)。しかし、テストスクリプトを作成する作業自体にも時間がかかるため、一般的に、作成したテストスクリプトを使用した自動テストを3回以上実施しないと、作業時間の効果は表れないと言われている。また、既存の機能に変更が加わることで、作成したテストスクリプトが使用できなくなるため、仕様変更が施されるたびにテストスクリプトを作り直す必要が出てくる。
 このような課題を解決するために、テスト対象のWebアプリケーションを解析することで仕様情報を復元し、復元された仕様情報からテストスクリプトを自動生成する、リバースベースのテストスクリプト自動生成技術(以下、「リバースベーステスト技術」という。)が存在する(非特許文献2)。
"Selenium IDE"、[online]、インターネット<URL:https://addons.mozilla.org/ja/firefox/addon/selenium-ide/> 倉林 利行, 伊山 宗吉, 切貫 弘之, 丹野 治門: "画面操作を伴うテストにおけるテストスクリプトの自動生成手法", ソフトウェアエンジニアリングシンポジウム2017論文集 pp. 260-264, 2017年9月
 リバースベーステスト技術では、テスト対象の画面遷移を網羅するようにクローリングをし、クローリングした際の操作をスクリプトとして出力することで、画面遷移を網羅するテストを実行するテストスクリプトを自動生成することができる。リバースベーステスト技術を適用し、機能の組み合わせを網羅するようにクローリングをすることで、シナリオテストのテストスクリプトを自動生成することは理論上は可能である。
 しかしながら、機能の組み合わせを網羅するようにクローリングしてテストスクリプトを生成することは、時間がかかりすぎるため現実的ではない。例えば、30個の機能を3つ組み合わせるパターンは、27000個存在する。機能数及び組み合わせ数に応じて爆発的にパターンが増えるため、リバースベーステスト技術をそのままシナリオテストに適用するのは効率的ではない。
 本発明は、上記の点に鑑みてなされたものであって、画面遷移によって機能を提供するアプリケーションのテストを効率化することを目的とする。
 そこで上記課題を解決するため、テストスクリプト生成装置は、ユーザによって指定された画面を経由する経路を画面遷移図において特定する特定部と、前記経路に含まれる各遷移についての、前記画面遷移図の生成において当該遷移の元の画面に対して入力された値と、当該遷移に関する操作との組み合わせに基づくテストスクリプトを生成する生成部と、を有する。
 画面遷移によって機能を提供するアプリケーションのテストを効率化することができる。
本発明の実施の形態におけるテストスクリプト生成装置10のハードウェア構成例を示す図である。 本発明の実施の形態におけるテストスクリプト生成装置10の機能構成例を示す図である。 テストスクリプト生成装置10が実行する処理手順の一例を説明するためのフローチャートである。 本実施の形態における画面遷移図の一例を示す図である。 テストしたいシナリオに沿った画面及び遷移の指定の一例を説明するための図である。 画面遷移図の生成処理の処理手順の一例を説明するためのフローチャートである。
 以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、Webアプリケーションに関してテストしたいシナリオ(連続した画面と遷移の集合体と定義)を示すような画面及び遷移列をユーザが指定し、そのシナリオのみを実現するテストスクリプトをリバースベーステスト技術で自動生成することで、現実的な時間内でシナリオテストのテストスクリプトを自動生成する。この場合、以下の2つの技術的課題が存在する。
・技術的課題(1):ユーザにどのようにテストしたいシナリオを指定させるか?
・技術的課題(2):指定されたシナリオに対応するテストスクリプトをどのように生成するか?
 技術的課題(1)については、非特許文献2に開示されているリバースベーステスト技術を用いてテスト対象の仕様を復元することで得られる画面遷移図をユーザに提示し、画面遷移図を介してテストしたいシナリオをユーザに指定させることで解決する。
 技術的課題(2)については、リバースベーステスト技術におけるクローリングの際に行った各画面遷移における入力値及び操作を保存し、指定したシナリオに合わせて組み合わせることで操作列を作成しテストスクリプトとして出力することで解決する。
 以下、上記を実現するテストスクリプト生成装置10について具体的に説明する。図1は、本発明の実施の形態におけるテストスクリプト生成装置10のハードウェア構成例を示す図である。図1のテストスクリプト生成装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、インタフェース装置105、表示装置106、及び入力装置107等を有する。
 テストスクリプト生成装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
 メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従ってテストスクリプト生成装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
 図2は、本発明の実施の形態におけるテストスクリプト生成装置10の機能構成例を示す図である。図2において、テストスクリプト生成装置10は、仕様情報復元部11、テスト情報取得部12及びテストスクリプト生成部13を有する。これら各部は、テストスクリプト生成装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。
 以下、テストスクリプト生成装置10が実行する処理手順について説明する。図3は、テストスクリプト生成装置10が実行する処理手順の一例を説明するためのフローチャートである。
 ステップS101において、仕様情報復元部11は、テスト対象のアプリケーション(以下、「対象アプリ」という。)について仕様情報を復元し、画面遷移図を生成する。画面遷移図の生成は、公知のリバースベーステスト技術(非特許文献2)を用いて行われてもよい。生成された画面遷移図は、例えば、表示装置106へ表示される。
 図4は、本実施の形態における画面遷移図の一例を示す図である。本実施の形態では、図4に示される画面遷移図が、対象アプリについて復元された画面遷移図であるとする。なお、画面遷移図における各矩形(各ノード)は、画面を示し、ノード間の矢印は、画面間の遷移及び遷移の方向を示す。すなわち、矢印の元側は遷移元の画面に対応し、矢印の先側は遷移先の画面に対応する。
 なお、仕様情報復元部11は、画面遷移図の生成に際して行われるクローリング時に発生した各画面遷移における入力値及び操作情報等を、例えば、補助記憶装置102に保存する。入力値とは、遷移元の画面に対して入力された値をいう。操作情報とは、画面遷移の契機となった操作を示す情報をいう。例えば、ログイン画面の場合、ユーザIDとパスワードの入力フォームに値が入力され、ログインボタンがクリックされる。この場合、各値の入力及びログインボタンのクリックのそれぞれの操作に関する情報が操作情報として保存され、ユーザIDやパスワードの入力フォームに入れる値が入力値セットとして、当該操作に関して発生する遷移を示す情報(以下、「遷移情報」という。)に関連付けられて保存される。以下に、ログイン画面からログインの成功への遷移(図4の「ログイン」から「ログイン成功」への遷移)の遷移情報に関連付けられて保存される操作情報及び入力値セットの一例を示す。
<操作情報>
driver.findElement(By.id("ログインIDの入力フォームのid")).sendKeys(値1);
driver.findElement(By.id("パスワードの入力フォームのid")).sendKeys(値2);
driver.find_element(:xpath,"ログインボタンのxpath").click
<入力値セット>
値1:abcd
値2:aaaa1234
 なお、各操作情報及び入力値セットは、当該操作情報及び入力値セットに関連する遷移に関連付けられて保存される。
 続いて、テスト情報取得部12は、画面遷移図(図4)又はステップS101において保存された情報(操作情報及び入力値セット等)について、ユーザによる指示に応じた修正を行う(S102)。但し、ユーザにより修正指示が入力されなかった場合には、当該修正は行われなくてもよい。例えば、ユーザが実施したいシナリオテストの中に、クローリング中に使用された通常アカウント(ユーザID、パスワード)ではなく、管理者アカウントを用いるテストが含まれている場合、上記の入力値セットに対して、管理者アカウントのログインID及びパスワードが追加されてもよい。この場合、ユーザは、各入力値セットを区別可能なように、各入力値セットに対して名前を付与してもよい。なお、入力値セットの追加は、操作情報及び入力値セットが保存されているファイルが直接的に編集されることで行われてもよい。その結果、上記の入力値セットは、以下のように複数のパターンを含むことになる。
<入力値セット>
「通常アカウント」
値1:abcd
値2:aaaa1234
「管理者アカウント」
値1:xxxyyyzzz
値2:xyz1111
 なお、上記において、「通常アカウント」が1つ目の入力値セットに対して付与された名前であり、「管理者アカウント」が2つ目の入力値セットに対して付与された名前である。
 続いて、テスト情報取得部12は、ユーザがテストしたいシナリオの指定を画面遷移図を介して受け付ける(S103)。当該指定の受け付けは、画面遷移図に含まれている画面の選択によって行われる。画面のみでなく遷移も選択されてもよい。但し、当該シナリオを構成する全ての画面及び遷移が指定される必要はなく、一部の画面及び遷移の指定が省略されてもよい。例えば、本実施の形態において、ユーザがテストしたいシナリオが以下の4パターンであるとする。
(a)TOP→ログイン→(通常アカウントでログイン)→ログイン成功→TOP→会員登録→会員登録(2P目)→会員登録(確認画面)
(b)TOP→ログイン→(管理者アカウントでログイン)→ログイン成功→TOP→会員登録→会員登録(2P目)→会員登録(確認画面)
(c)TOP→ログイン→(通常アカウントでログイン)→ログイン成功→TOP→会員登録→会員登録(入力エラー)→会員登録(2P目)→会員登録(確認画面)
(d)TOP→ログイン→(管理者アカウントでログイン)→ログイン成功→TOP→会員登録→会員登録(入力エラー)→会員登録(2P目)→会員登録(確認画面)
 なお、上記では、途中においてTOPへの遷移が含まれているが、図4では便宜上、画面遷移図の末端のノード(末端画面)からTOPへの遷移は省略されている。すなわち、本実施の形態では、末端画面からTOPへの遷移が可能なように対象アプリの画面遷移が構成されているとする。したがって、末端画面とは、対象アプリにおける遷移先の画面のうち、TOPのみである画面をいう。この場合、画面及び遷移の指定は、例えば、図5に示されるように行われてもよい。図5において、(1)~(5)は、指定(クリック等)の順番を示し、指定された画面又は遷移は、破線によって表現されている。
 また、ステップS103では、複数の入力値セットが設定されている遷移について、1部の入力値セットのみを有効とするための操作が行われてもよい。この場合、例えば、画面遷移図において当該遷移が右クリックされると、図5に示されるように、当該遷移の遷移情報に関連付けられて保存されている入力値セットの一覧を含むメニューm1が表示される。図5では、メニューm1が、上記した「通常アカウント」及び「管理者アカウント」を選択肢として含む例が示されている。仮に、いずれか一方の選択肢のみがユーザによって選択されると、テスト情報取得部12は、当該遷移情報に関連付けられて保存されている入力値セットの一覧うち、選択された入力値セットのみを有効とする。
 続いて、テストスクリプト生成部13は、ユーザによって指定された画面及び遷移の間(図5の(1)~(5)を通る経路の間)における全ての経路(シナリオ)を特定する(S104)。この際、指定された画面及び遷移の間に非連続な部分が有る場合、テストスクリプト生成部13は、非連続な部分の経路(シナリオ)を、画面遷移図に基づいて自動生成することで補完する。例えば、図4において最初にTOP画面が選択され、次にログイン成功画面が選択された場合、TOP画面からログイン成功画面までのシナリオである「TOP→ログイン→ログイン成功」というシナリオが自動生成され、ユーザによる指定に対して追加される。また、入力値セットが複数あり、特に指定がない場合(例えば、図5のメニューm1において選択が行われない場合)は、有効な全ての入力値セットのパターンのシナリオが生成される。更に、TOP画面から会員登録画面のように経路が複数存在する場合も同様に、全ての経路のパターンのシナリオが生成される。
 このような補完により、図5のような指定が行われた場合であっても、今回テストスクリプトを生成したい(a)~(d)の4パターンのシナリオがすべて自動生成されることになる。但し、ここでは、メニューm1に含まれる双方の選択肢(入力値セット)が有効であるとする。この場合、テストスクリプト生成部13は、図5の(1)から(2)までの間において1つの経路を特定するが、2通りの入力値が有るため、テストスクリプト生成部13は2つのパターンを特定する。一方、図5の(3)~(5)の間については、「会員登録」の画面で分岐しているため、テストスクリプト生成部13は、2通りの経路を特定する。したがって、テストスクリプト生成部13は、2×2=4通りの経路(すなわち、パターン)を特定する。すなわち、ユーザによって最初に指定された画面(図5の(1)の画面)から、ユーザによって最後に指定された画面(図5の(5)の画面)の全経路のうち、ユーザによって指定された画面若しくは遷移を経由する経路が、入力値セットによって区別されることで、ユーザによって指定された各シナリオ(以下、各シナリオのそれぞれを「指定シナリオ」という。)が区別されて特定される。
 続いて、テストスクリプト生成部13は、各指定シナリオを満たすテストスクリプトを生成する。具体的には、テストスクリプト生成部13は、指定シナリオごとに、ステップS101において保存された、各遷移における入力値及び操作情報を組み合わせて、当該指定シナリオを実現するための操作列を網羅的に生成し、当該操作列を含むテストスクリプトを出力する(S105)。
 続いて、ステップS101の詳細について説明する。図6は、画面遷移図の生成処理の処理手順の一例を説明するためのフローチャートである。
 ステップS201において、仕様情報復元部11は、対象アプリの初期URL(Uniform Resource Locator)を取得する。初期URLとは、対象アプリの画面遷移において起点となる画面に対するURLをいう。なお、初期URLは、ステップS201のタイミングにおいてユーザによって入力されてもよいし、予め補助記憶装置102等に記憶されていてもよい。
 続いて、仕様情報復元部11は、初期URLに対応する初期画面の表示データ(HTMLデータ等)を、対象URLへアクセスすることにより取得し、Webブラウザを利用して当該表示データに基づく初期画面を表示装置106へ表示する(S202)。なお、図5の例では、「TOP」画面が初期画面に相当する。
 続いて、仕様情報復元部11は、全ての遷移先の画面ごとに、ステップS203~S207を含むループ処理L1を実行する。ループ処理L1において処理対象とされている画面を、以下「対象画面」という。最初は、初期画面が対象画面となる。
 ステップS203において、仕様情報復元部11は、対象画面の画面情報(HTML、タイトル、識別情報等)を補助記憶装置102へ保存する。続いて、対象画面が末端画面でなければ(S204でYes)、ステップS205~S207が実行される。
 ステップS205において、仕様情報復元部11は、対象画面を自動的に操作して、画面の遷移を発生させる。この際、対象画面に対して値の入力が必要な場合には、公知技術(例えば、非特許文献2等)を利用して入力値が自動生成される。続いて、仕様情報復元部11は、遷移先のURLに対応する画面の表示データを、当該URLへアクセスすることにより取得し、Webブラウザを利用して当該表示データに基づく画面を表示装置106へ表示する(S206)。続いて、仕様情報復元部11は、ステップS205における操作を示す操作情報、当該操作に関する入力値セット、及び当該操作に応じて発生した遷移に関する遷移情報を補助記憶装置102へ保存する。遷移情報は、例えば、遷移元及び遷移先のそれぞれの画面の識別情報を含む情報である。
 ループ処理L1が、全ての遷移先の画面について実行されると、仕様情報復元部11は、各画面又は各遷移について保存された画面情報、遷移情報、入力値セット及び操作情報に基づいて、画面遷移図を生成し、当該画面遷移図を出力(表示)する(S208)。
 上述したように、本実施の形態によれば、ユーザが指定した画面及び遷移列に対応するテストスクリプトが自動生成される。換言すれば、自動生成されるテストスクリプトにいて対象とされるシナリオは、ユーザによって指定されたシナリオに限定される。その結果、画面遷移によって機能を提供するアプリケーションのテストを効率化することができる。
 なお、本実施の形態は、画面遷移によって機能を提供するアプリケーションであれば、Webアプリケーション以外のアプリケーションに対して適用されてもよい。
 なお、本実施の形態において、テストスクリプト生成部13は、特定部及び生成部の一例である。テスト情報取得部12は、受付部の一例である。
 以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10     テストスクリプト生成装置
11     仕様情報復元部
12     テスト情報取得部
13     テストスクリプト生成部
100    ドライブ装置
101    記録媒体
102    補助記憶装置
103    メモリ装置
104    CPU
105    インタフェース装置
106    表示装置
107    入力装置
B      バス

Claims (7)

  1.  ユーザによって指定された画面を経由する経路を画面遷移図において特定する特定部と、
     前記経路に含まれる各遷移についての、前記画面遷移図の生成において当該遷移の元の画面に対して入力された値と、当該遷移に関する操作との組み合わせに基づくテストスクリプトを生成する生成部と、
    を有することを特徴とするテストスクリプト生成装置。
  2.  前記特定部は、ユーザによって遷移が指定された場合には、当該遷移を経由する経路を特定する、
    ことを特徴とする請求項1記載のテストスクリプト生成装置。
  3.  前記画面遷移図を介して画面又は遷移の指定を受け付ける受付部、
    を有することを特徴とする請求項1又は2記載のテストスクリプト生成装置。
  4.  ユーザによって指定された画面を経由する経路を画面遷移図において特定する特定手順と、
     前記経路に含まれる各遷移についての、前記画面遷移図の生成において当該遷移の元の画面に対して入力された値と、当該遷移に関する操作との組み合わせに基づくテストスクリプトを生成する生成手順と、
    をコンピュータが実行することを特徴とするテストスクリプト生成方法。
  5.  前記特定手順は、ユーザによって遷移が指定された場合には、当該遷移を経由する経路を特定する、
    ことを特徴とする請求項4記載のテストスクリプト生成方法。
  6.  前記画面遷移図を介して画面又は遷移の指定を受け付ける受付手順、
    をコンピュータが実行することを特徴とする請求項4又は5記載のテストスクリプト生成方法。
  7.  ユーザによって指定された画面を経由する経路を画面遷移図において特定する特定手順と、
     前記経路に含まれる各遷移についての、前記画面遷移図の生成において当該遷移の元の画面に対して入力された値と、当該遷移に関する操作との組み合わせに基づくテストスクリプトを生成する生成手順と、
    をコンピュータに実行させることを特徴とするプログラム。
PCT/JP2019/021551 2019-05-30 2019-05-30 テストスクリプト生成装置、テストスクリプト生成方法及びプログラム WO2020240778A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2019/021551 WO2020240778A1 (ja) 2019-05-30 2019-05-30 テストスクリプト生成装置、テストスクリプト生成方法及びプログラム
JP2021521693A JP7259949B2 (ja) 2019-05-30 2019-05-30 テストスクリプト生成装置、テストスクリプト生成方法及びプログラム
US17/615,057 US20220229767A1 (en) 2019-05-30 2019-05-30 Test script generation apparatus, test script generation method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/021551 WO2020240778A1 (ja) 2019-05-30 2019-05-30 テストスクリプト生成装置、テストスクリプト生成方法及びプログラム

Publications (1)

Publication Number Publication Date
WO2020240778A1 true WO2020240778A1 (ja) 2020-12-03

Family

ID=73552829

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/021551 WO2020240778A1 (ja) 2019-05-30 2019-05-30 テストスクリプト生成装置、テストスクリプト生成方法及びプログラム

Country Status (3)

Country Link
US (1) US20220229767A1 (ja)
JP (1) JP7259949B2 (ja)
WO (1) WO2020240778A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022249328A1 (ja) * 2021-05-26 2022-12-01 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理方法、及びプログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230016980A (ko) * 2021-07-27 2023-02-03 현대자동차주식회사 Gui 테스트 케이스 생성 장치 및 그 방법
CN115904883B (zh) * 2023-01-31 2023-05-12 北京神州光大科技有限公司 一种rpa流程执行可视化异常监控方法、装置及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002259161A (ja) * 2001-03-02 2002-09-13 Hitachi Ltd テストスクリプトの自動生成装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5067129A (en) * 1989-08-16 1991-11-19 International Business Machines Corp. Service processor tester
US8949795B2 (en) * 2012-08-23 2015-02-03 International Business Machines Corporation Generating test cases for covering enterprise rules and predicates

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002259161A (ja) * 2001-03-02 2002-09-13 Hitachi Ltd テストスクリプトの自動生成装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KURABAYASHI, TOSHIYUKI ET AL.,: "Automatic Test Script Generation on GUI Testing", IPSJ/SIGSE SOFTWARE ENGINEERING SYMPOSIUM 2017, INFORMATION PROCESSING SOCIETY OF JAPAN, 23 August 2017 (2017-08-23), pages 260 - 264, Retrieved from the Internet <URL:https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_uri&item_id=183240&file_id=l&file_no=1> *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022249328A1 (ja) * 2021-05-26 2022-12-01 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
JP7259949B2 (ja) 2023-04-18
JPWO2020240778A1 (ja) 2020-12-03
US20220229767A1 (en) 2022-07-21

Similar Documents

Publication Publication Date Title
US11074165B2 (en) Generating testing infrastructure on a cloud for testing software applications
US8875098B2 (en) Workflow engine for execution of web mashups
WO2020240778A1 (ja) テストスクリプト生成装置、テストスクリプト生成方法及びプログラム
US8296721B2 (en) Template-based software development
US20160154629A1 (en) Application builder based on metadata
WO2012014284A1 (ja) テストシナリオ生成方法、テストシナリオ生成システム、及び、テストシナリオ生成プログラム
JP6003699B2 (ja) テストデータ生成プログラム、方法及び装置
KR102397494B1 (ko) 로우(Low) 코드 웹 개발 및 운영 시스템 및 이를 이용한 서비스 방법
WO2020209227A1 (ja) 解析装置、解析方法、及びプログラム
Taivalsaari Mashware: The future of web applications
US9262196B2 (en) Virtual machine deployment planning method and associated apparatus
JP4795404B2 (ja) 動作検証装置および動作検証プログラム
WO2021205589A1 (ja) テストスクリプト生成装置、テストスクリプト生成方法及びプログラム
JP5414633B2 (ja) アプリケーション実行装置及びアプリケーション実行方法
JP7260150B2 (ja) Webサイト設計支援装置、Webサイト設計支援方法、及びプログラム
WO2020230241A1 (ja) テスト装置、テスト方法及びプログラム
WO2020209098A1 (ja) 入力値設定補助装置、入力値設定補助方法及びプログラム
US9235322B1 (en) Systems, methods and computer program products for a cloud application editor
JP7327471B2 (ja) テスト装置、テスト方法及びプログラム
JP2019106107A (ja) プログラム、情報処理装置及び画面テストシステム
WO2021090427A1 (ja) 操作パターン生成装置、操作パターン生成方法及びプログラム
JPH09223040A (ja) ソフトウェアのシステムテスト支援装置およびこれに用いるテストシナリオ生成装置
WO2023067806A1 (ja) テスト装置、テスト方法、及びプログラム
Wilson Python Web Development
Dubey et al. A Comprehensive Review of JavaScript Frameworks.

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19930940

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021521693

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19930940

Country of ref document: EP

Kind code of ref document: A1