Test support device, test support method and program
The test support device automates exploratory testing by recording and reproducing operation histories, addressing inefficiencies in manual input and script creation, thereby enhancing software testing efficiency.
Patent Information
- Application Number
- JP2023517014
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-04-30
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2041-04-30
AI Technical Summary
Exploratory testing requires manual input and operation on screens, necessitating repeated reproduction of steps to perform various inputs, and conventional automated testing involves separate script and program creation, which is inefficient.
A test support device that records operation history, receives input value candidates for screen elements, sets these candidates as input, and reproduces operations automatically, allowing efficient testing without manual repetition.
Enhances software testing efficiency by automating repetitive tasks and reducing the need for manual input, thereby streamlining the testing process.
Smart Images

Figure 0007597211000001 
Figure 0007597211000002 
Figure 0007597211000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a test support device, a test support method, and a program. [Background technology]
[0002] Traditionally, automated testing techniques such as "Record & Replay" and "programming" have been devised to improve the efficiency of software testing work.
[0003] "Record & Replay" is a technology that records user operations as scripts and automates testing by executing the scripts (Non-Patent Document 1). "Programming" is a technology that uses libraries for operating browsers to write test code as a program (Non-Patent Document 2).
[0004] However, since it is difficult to complete testing using only automated testing, exploratory testing, which is a type of manual testing, is performed. Exploratory testing is a method of considering the next test content while performing software testing. In exploratory testing, by focusing on the results of the previous test and the behavior of the software during testing and deciding the test content on an ad-hoc basis, testing is concentrated on areas where system defects are likely to be hidden. [Prior art documents] [Non-patent literature]
[0005] [Non-Patent Document 1] "Katalon Automation Recorder Quickstart", [online], Internet<URL:https: / / www.katalon.com / resources-center / blog / katalon-automation-recorder / > [Non-Patent Document 2] Selenium WebDriver, "Understanding Components", [online], Internet<URL:https: / / www.selenium.dev / documentation / ja / webdriver / understanding_the_components / > Summary of the Invention [Problem to be solved by the invention]
[0006] Exploratory testing is a method in which the tester proceeds interactively while checking the test results, so input and operation of elements on the screen must be done manually. There are cases where you want to input various things on the same screen, but to do so, you need to repeatedly reproduce the steps to get to that screen. When using traditional automated testing for exploratory testing, you need to create a separate test script or program, not during the exploratory testing.
[0007] The present invention has been made in consideration of the above-mentioned points, and has an object to improve the efficiency of software testing work. [Means for solving the problem]
[0008] In order to solve the above problem, the test support device is configured to a recorder for recording a history of operations performed before the screen transitions to the a first receiving unit that receives an input of a list of input value candidates for an input element to which a value is input among the elements constituting the input table; and a setting unit that sets one of the candidates included in the list to the input element; a playback unit that plays back the operation related to the history after an operation is performed on an operation element that receives an operation indicating an instruction to execute a process among the elements that configure the screen; The setting unit further comprises: After replaying the history, The candidate that is not set to the input element is set to the input element. Effect of the Invention
[0009] Software testing work can be made more efficient. [Brief description of the drawings]
[0010] [Figure 1] 1 is a diagram illustrating an example of a hardware configuration of a test support device 10 according to an embodiment of the present invention. [Diagram 2] 1 is a diagram illustrating an example of a functional configuration of a test support device 10 according to an embodiment of the present invention. [Diagram 3] 1 is a flowchart illustrating an example of a processing procedure executed by the test support device 10. [Figure 4] FIG. 13 is a diagram showing a display example of a target screen. [Diagram 5] FIG. 13 is a diagram for explaining a method of inputting a list of candidates for an input value. [Figure 6] FIG. 13 is a diagram showing an example of a display of a button for accepting an instruction to start a test. [Figure 7] 13 is a diagram showing a state in which input values are automatically set for each input element on the target screen. FIG. [Figure 8] FIG. 13 is a diagram illustrating an example of accepting an input of an operation type. [Figure 9] FIG. 13 is a diagram showing an example of a display of a button for accepting an instruction to start the next test. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0011] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. Fig. 1 is a diagram showing an example of a hardware configuration of a test support device 10 in an embodiment of the present invention. The test support device 10 in 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, and an input device 107, which are all connected to each other via a bus B.
[0012] A program for implementing processing in the test support device 10 is provided by a recording medium 101 such as a CD-ROM. When the recording medium 101 storing the program is set in the drive device 100, the program is installed from the recording medium 101 via the drive device 100 into the auxiliary storage device 102. However, the program does not necessarily have to be installed from the recording medium 101, but may be downloaded from another computer via a network. The auxiliary storage device 102 stores the installed program as well as necessary files, data, and the like.
[0013] The memory device 103 reads out and stores the program from the auxiliary storage device 102 when an instruction to start the program is received. The CPU 104 realizes functions related to the test support device 10 in accordance with 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 GUI (Graphical User Interface) or the like according to a program. The input device 107 is composed of a keyboard, a mouse, etc., and is used to input various operation instructions.
[0014] Fig. 2 is a diagram showing an example of a functional configuration of a test support device 10 according to an embodiment of the present invention. In Fig. 2, the test support device 10 has an operation log recording unit 11, a variation test control unit 12, and an operation log replay unit 13. Each of these units is realized by a process in which one or more programs installed in the test support device 10 are executed by a CPU 104.
[0015] The following describes a processing procedure executed by the test support device 10. FIG.
[0016] In step S101, the operation log recording unit 11 executes a process of recording an operation log for transition to a certain screen (eg, a Web page) to be tested.
[0017] Here, the user as the tester (tester) performs operations on the software to be tested (hereinafter referred to as the "target software") up to the transition to the screen to be tested (hereinafter referred to as the "target screen"). The operation log recording unit 11 records an operation log including information showing the history of each operation (information showing in chronological order how each element was operated on each screen). Upon transition to the target screen, the operation log recording unit 11 stops recording the operation log in response to a specified operation by the user. Therefore, at this point in time, the target screen is displayed on the display device 106.
[0018] Fig. 4 is a diagram showing a display example of a target screen. As shown in Fig. 4, a target screen 510 includes elements A to D. Elements A to C are elements into which values are input (hereinafter referred to as "input elements"). Element D is an element that accepts an operation indicating an instruction to execute processing (hereinafter referred to as "operation element").
[0019] Next, the variation test control unit 12 accepts input of one or more candidates for the input value (a list of candidates for the input value) for each input element on the target screen 510 (S102). The list of candidates for the input value is input, for example, as follows.
[0020] FIG. 5 is a diagram for explaining a method of inputting a list of candidates for input values. For example, when a user performs a predetermined operation, the variation test control unit 12 displays a list box for setting an input value. The predetermined operation is, for example, "shift+right click" on an input element to be inputted into the list of candidates for input value. In this case, the variation test control unit 12 displays the list box in correspondence with the input element that has been "shift+right clicked". FIG. 5 shows an example in which "shift+right click" has been performed on element A. Therefore, a list box L1 is displayed for element A. The user inputs one or more candidates (i.e., variations of the input value) for the input value for element A into the list box L1. The variation test control unit 12 stores the list of candidates for input value inputted into the list box L1 in the memory device 103 or the auxiliary storage device 102 in association with the identification information of element A. The same process is performed for element B and element C. In addition, the variation test control unit 12 may automatically generate input value candidates from constraints and display them in a list box by using existing technology related to input variation testing (for example, JP 2020-067859 A).
[0021] Next, the variation test control unit 12 assigns 1 to a variable i (S103). The variable i is a variable for identifying a candidate to be processed from a list of candidates for the input value of each input element.
[0022] Next, the variation test control unit 12 waits for input of a command to start the test (S104). For example, when a predetermined operation (such as "shift + right click") is performed by the user without specifying any element on the target screen 510, the variation test control unit 12 displays a button on the target screen 510 for accepting a command to start the test.
[0023] Fig. 6 is a diagram showing an example of a display of buttons for accepting an instruction to start a test. In Fig. 6, button b1 is a button for accepting an instruction to start a test (variation test).
[0024] When the user presses button b1 (Yes in S104), the variation test control unit 12 erases button b1 and sets the i-th candidate from the list of input value candidates set for each input element of the target screen to the input element (S105). For an input element that does not have an i-th candidate, for example, any candidate from the list of input value candidates for the input element may be set. By executing step S105 for all input elements, an input value is automatically set for each input element of the target screen 510 as shown in FIG. 7. Note that "···" for element B and element C indicates some value.
[0025] Next, the variation test control unit 12 waits for a user operation on an operation element of the target screen 510 (pressing element D) (S106).
[0026] When an operation on the operation element (pressing element D) is executed (Yes in S106), the target software executes processing according to the pressing of element D based on the input value of each input element. As a result, a screen transition or the like occurs. The user refers to the processing result to discover a bug or record what he or she has noticed. At this time, the bug or the notice may be entered using the technology disclosed in International Publication No. 2020 / 230241. At this time, the operation log recording unit 11 may record a log indicating that element D has been pressed in the auxiliary storage device 102.
[0027] On the other hand, when the user performs a predetermined operation indicating an input instruction for the type of operation for the operation element (Yes in S107) rather than an operation for the operation element (No in S106), the variation test control unit 12 accepts input of the type of operation for the operation element from the user.
[0028] FIG. 8 is a diagram showing an example of accepting an input of an operation type. For example, a predetermined operation indicating an input instruction of an operation type for element D is performed by "shift+right click" or the like for element D. The variation test control unit 12 displays a menu m1 for accepting the operation type for element D in response to the predetermined operation. The menu m1 includes the operation types for element D as options. Such options may be defined in advance for each type of operation element, for example. In the example of FIG. 8, an example is shown in which "repeated hits" is an option. "Repeated hits" refers to hitting element D repeatedly. Such a test is effective for confirming that the same process is not performed repeatedly even when element D is hit repeatedly.
[0029] When the user selects any of the options (specifies any of the types), the variation test control unit 12 executes an operation of the type (specified type) corresponding to the selected option on the operation element (S109), and proceeds to step S110.
[0030] In this case, the target software executes processing according to the repeated tapping of element D based on the input value of each input element. As a result, a screen transition or the like occurs. The user refers to the processing result to discover a bug or record what he or she has noticed. At this time, the bug or the notice may be entered using the technology disclosed in International Publication No. 2020 / 230241. At this time, the operation log recording unit 11 may record a log indicating that element D has been repeatedly tapped in the auxiliary storage device 102.
[0031] Next, the variation test control unit 12 judges whether i is less than an upper limit value (S110). The upper limit value is the number of input values in the list with the maximum list length among the lists of input values for each input element. Note that, although an example in which patterns up to the upper limit value are tested for the input values for each input element has been shown in this embodiment, all candidate combinations of input values for each input element may be tested.
[0032] If i is equal to or greater than the upper limit (Yes in S110), the processing procedure in FIG. 3 ends. If i is less than the upper limit (No in S110), the variation test control unit 12 waits for an instruction to start the next test. The next test refers to the test corresponding to the (i+1)th input value. For example, when a predetermined operation (such as "shift+right click") is performed on a destination screen (hereinafter referred to as the "destination screen") of a screen transition that occurs in response to the operation of an operational element (element D) without any element being specified, the variation test control unit 12 displays a button on the destination screen for receiving an instruction to start the next test.
[0033] Fig. 9 is a diagram showing an example of a button display for accepting an instruction to start the next test. In Fig. 9, the button b2 on the transition destination screen 530 is a button for accepting an instruction to start the next test. Note that, in Fig. 9, elements of the transition destination screen 530 are omitted for convenience.
[0034] When the user selects the button b2 (Yes in S111), the variation test control unit 12 erases the button b2 and adds 1 to the variable i (S112).
[0035] Next, the operation log replay unit 13 replays the operation log recorded in step S101 (S113). Replaying the operation log means automatically executing the history of operations recorded in the operation log. Here, the operation log records the history of operations for transitioning to the target screen 510. Therefore, by replaying the operation log, a transition from the transition destination screen 530 to the target screen 510 is executed, and the target screen 510 in the state of FIG. 4 is displayed on the display device 106.
[0036] Next, steps S105 and after are repeated, and a variation test based on the i-th input value is performed.
[0037] As described above, according to this embodiment, by setting a list of input value candidates for the input elements of the screen to be tested, tests can be automatically performed in order with each candidate input, thereby making software testing more efficient.
[0038] In addition, an operation log for transitioning to the screen to be tested is recorded, and the operation log is replayed each time the test for that screen is completed. As a result, it is possible to reduce the work of repeatedly performing pre-step operations that are not essential in the test work.
[0039] In this embodiment, the variation test control unit 12 is an example of a first reception unit, a setting unit, a second reception unit, and an execution unit. The operation log recording unit 11 is an example of a recording unit. The operation log replay unit 13 is an example of a replay unit.
[0040] Although the embodiment of the present invention has been described in detail above, the present invention is not limited to such specific embodiment, and various modifications and variations are possible within the scope of the gist of the present invention described in the claims. [Explanation of symbols]
[0041] 10 Test Support Equipment 11 Operation log recording section 12 Variation test control section 13 Operation log playback section 100 Drive device 101 Recording media 102 Auxiliary storage 103 Memory device 104 CPU 105 Interface device 106 Display device 107 Input Devices B Bus
Claims
1. a recorder for recording a history of operations performed before transitioning to a certain screen related to the software under test; a first receiving unit that receives an input of a list of input value candidates for an input element into which a value is input among elements constituting the screen; a setting unit that sets one of the candidates included in the list to the input element; a playback unit that plays back the operation related to the history after an operation is performed on an operation element that receives an operation indicating an instruction to execute a process among the elements that configure the screen; having The setting unit further sets the candidate that has not been set as the input element to the input element after reproducing the history. A test support device comprising:
2. a second receiving unit that receives a designation of a type of operation for the operation element; an execution unit that executes an operation of the type related to the designation on the operation element; 2. The test support device according to claim 1, further comprising:
3. A recording procedure for recording a history of operations performed before transitioning to a certain screen related to the software under test; a first receiving step of receiving an input of a list of input value candidates for an input element into which a value is to be input, among elements constituting the screen; a setting step of setting one of the candidates included in the list to the input element; a reproducing step of reproducing the operation related to the history after an operation is performed on an operation element that receives an operation indicating an instruction to execute a process among the elements constituting the screen; The computer executes The setting step further includes setting the candidate that has not been set as the input element to the input element after the history is reproduced. A test support method comprising:
4. a second receiving step of receiving a designation of a type of operation for the operation element; an execution step of executing an operation of the type related to the designation on the operation element; 4. The test support method according to claim 3, wherein the test support method is executed by a computer.
5. 5. A program for causing a computer to execute the test support method according to claim 3.
Citation Information
Patent Citations
Device and method for evaluating exhaustivity of a test
JP2012133721A
Screen transition control method, screen transition control program and screen transition controller
JP2015179428A
Test support system and support method
JP2017058983A
Analysis device, analysis method, and program
WO2020209227A1
