WO2012014284A1 - テストシナリオ生成方法、テストシナリオ生成システム、及び、テストシナリオ生成プログラム - Google Patents

テストシナリオ生成方法、テストシナリオ生成システム、及び、テストシナリオ生成プログラム Download PDF

Info

Publication number
WO2012014284A1
WO2012014284A1 PCT/JP2010/062621 JP2010062621W WO2012014284A1 WO 2012014284 A1 WO2012014284 A1 WO 2012014284A1 JP 2010062621 W JP2010062621 W JP 2010062621W WO 2012014284 A1 WO2012014284 A1 WO 2012014284A1
Authority
WO
WIPO (PCT)
Prior art keywords
web content
test scenario
test
test case
computer
Prior art date
Application number
PCT/JP2010/062621
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 JP2012526233A priority Critical patent/JPWO2012014284A1/ja
Priority to US13/811,756 priority patent/US20130191814A1/en
Priority to PCT/JP2010/062621 priority patent/WO2012014284A1/ja
Publication of WO2012014284A1 publication Critical patent/WO2012014284A1/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/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 scenario generation method, and more particularly to a method of generating a test scenario for testing Web content.
  • Patent Document 1 discloses a technique for automatically operating and testing GUI software that operates on a certain OS, which is different from the GUI displayed on the Web browser. According to the technique disclosed in Patent Document 1, a file showing a GUI screen can be written in advance, and a script file that can automatically perform a test on the GUI screen can be created.
  • Patent Document 1 has a problem that it can be applied to GUI software that directly operates on the OS, but cannot be applied to GUI that operates on a Web browser. There is also a problem that it is not possible to visually confirm what operation is being performed during the test.
  • Patent Document 2 discloses a technique for recording and reproducing operations performed on a Web browser. According to the technology disclosed in Patent Document 2, an operation performed on a Web browser can be recorded and reproduced by inserting a program using JavaScript on the Web browser. However, it is necessary to execute the test for the GUI of the Web browser from the beginning, and the test result can be confirmed visually, but the test process cannot be shortened.
  • the first problem is to shorten the test process when developing new Web content by using existing Web content that has already been released.
  • a script file for automatic testing which was used when testing existing Web content, was re-edited by a human hand in order to test new Web content. Therefore, there is a problem that the test process for creating the script file takes a long time.
  • the second challenge is to prevent missing tests on web content.
  • Many elements for example, forms in the GUI
  • the tester can combine one or at least two of normal, abnormal, and boundary value conditions for each element.
  • a test case for Web content is generated. Then, the tester generates a script file corresponding to each generated test case.
  • a test scenario generation method in a computer that holds Web content and a test scenario for operating the Web content in a storage medium, the computer including the storage A common part and a difference part of the first Web content before update and the second Web content after update are extracted on the medium, and the computer operates a first Web content for operating the first Web content.
  • the test scenario corresponding to the common part is extracted from a storage medium in which the first test scenario is stored, and the computer includes a test scenario corresponding to the extracted common part;
  • the second web content is To generate a second test scenario to work.
  • FIG. 1A is a block diagram illustrating a configuration of a Web screen test case automatic generation system according to an embodiment of the present invention.
  • the automatic test case generation system includes a client device 200, a server device 10, and a network 190.
  • the client device 200 is a device used by a tester.
  • the server device 10 automatically generates a web screen test case in accordance with a request sent from the client device 200.
  • the client device 200 and the server device 10 are included in a computer system connected via a network 190.
  • the client device 200 is connected to the network 190 via the communication interface 210, and the server device 10 is connected to the network 190 via the communication interface 180.
  • the network 190 is a communication path through which data can be transferred, and may be a LAN (local area network) using TCP / IP, Ethernet, the Internet, a wireless communication network, or the like.
  • the client device 200 is a computer including a CPU (Central Processing Unit) 220, a main storage device (memory) 240, an input / output device 230, a communication interface 210, and an auxiliary storage device 250. Each element provided in the client device 200 is connected by an internal bus.
  • CPU Central Processing Unit
  • main storage device main storage device
  • input / output device a communication interface 210
  • auxiliary storage device 250 an auxiliary storage device
  • the CPU 220 is an arithmetic device that executes a program held in the main storage device 240.
  • the auxiliary storage device 250 holds data generated when the program is executed or data used for the program.
  • the input / output device 230 is a device such as a keyboard, a mouse, or a display device that provides a user interface.
  • FIG. 1B is a block diagram illustrating a program included in the main storage device 240 of the client device 200 according to the embodiment of this invention.
  • the main storage device 240 holds a Web browser (Web content display unit) 260, an operation recording / operation reproduction script unit 270, and a test case correction script unit 280.
  • the CPU 220 is an arithmetic device that executes the programs of the Web browser 260, the operation recording / operation reproduction script unit 270, and the test case correction script unit 280 stored in the main storage device 240.
  • FIG. 1C is a block diagram illustrating the auxiliary storage device 250 provided in the client device 200 according to the embodiment of this invention.
  • the auxiliary storage device 250 is a storage device that holds the web content 290 and the operation log (script file) 300 described above.
  • the Web browser 260 has a function of outputting content data transmitted from the server device 10 and received by the client device 200 to a display device.
  • the received content data is stored in the Web content 290 held in the auxiliary storage device 250.
  • the operation recording / operation reproduction script unit 270 is transmitted from the server device 10 and received by the client device 200 by the tester on the Web browser 260 when the tester executes the script file included in the content data. It has a function of recording and reproducing the performed operation and a function of acquiring and recording the operation log 300 from the server device 10.
  • a Java script file is applied as the script file.
  • the test case correction script unit 280 has a function of correcting an operation log 150 (described later) transmitted from the server device 10 and received by the client device 200.
  • the test case correction script unit 280 has a function of storing the operation log 150 corrected by the test case correction script unit 280 in the operation log 300 held in the auxiliary storage device 250 and the operation log 300 to the server device 10. And a function to transmit.
  • the server device 10 is a computer including a CPU 160, a main storage device 20, an auxiliary storage device 30, an auxiliary storage device 40, an input / output device 170, and a communication interface 180. Each element provided in the server device 10 is connected by an internal bus.
  • the CPU 160 is an arithmetic device that executes a program held in the main storage device 20.
  • FIG. 1D is a block diagram illustrating the main storage device 20 provided in the server device 10 according to the embodiment of this invention.
  • the main storage device 20 holds programs such as an operation recording / operation reproduction script embedding unit 50, an automatic test case generation unit 60, an application server unit 70, and an HTTP server unit 80.
  • the main storage device 20 has a storage area in which data can be temporarily stored.
  • FIG. 1E is a block diagram illustrating the auxiliary storage device 30 provided in the server device 10 according to the embodiment of this invention.
  • the auxiliary storage device 30 is a storage medium that holds the Web content 110, the operation recording script 120, the operation reproduction script 130, the test case correction script 90, and the test case definition file 100.
  • the Web content 110 is a document file described in, for example, HTML (Hyper Text Markup Language).
  • HTML Hyper Text Markup Language
  • the operation recording script 120 is a document file described by a Java script, for example.
  • the operation record script 120 has a function of storing operations performed on the Web browser 260 as an operation log 300 in the auxiliary storage device 250 of the client device 200.
  • an operation performed on the web browser 260 is stored in the operation log 150 held in the auxiliary storage device 40 of the server device 10.
  • the operation playback script 130 is a document file described by a Java script, for example.
  • the operation playback script 130 has a function of playing back the content of the operation log 150 held by the auxiliary storage device 40 of the server device 10 in the Web browser 260 of the client device 200.
  • the test case correction script 90 is a document file described by a Java script.
  • the test case correction script 90 has a function of correcting the operation log 300 held by the auxiliary storage device 250 provided in the client device 200 or the operation log 150 sent by the server device 10.
  • the operation log 300 or the operation log 150 that has been corrected is stored in the operation log 300 of the server device 10.
  • FIG. 1F is a block diagram illustrating the auxiliary storage device 40 provided in the server device 10 according to the embodiment of this invention.
  • the auxiliary storage device 40 is a storage medium that holds the Web content 140 and the operation log (script file) 150.
  • the auxiliary storage device 40 of this embodiment holds data by a database.
  • the web content 140 indicates web content in which operations in the web browser 260 are recorded.
  • the Web content 140 is stored as character string information in the auxiliary storage device 40.
  • the operation log 150 is information indicating an operation corresponding to the Web content 140.
  • the operation log 150 is an executable script file.
  • the web content 140 and the operation log 150 correspond to each other, and a unique identifier is added to the web content 140.
  • the Web content 110 held in the auxiliary storage device 30 is an original and corresponds to the Web content 140 held in the auxiliary storage device 40.
  • the tester may update the content of the Web content 110 and then record or test the updated Web content. For this reason, the Web content 140 stored in the auxiliary storage device 40 stores the Web content used for operation recording or testing in the client device 200.
  • FIG. 2 is an explanatory diagram illustrating an example of the Web content 140 held in the auxiliary storage device 40 according to the embodiment of this invention.
  • the web content 140 includes an identifier 1310, a URL 1320, and data 1330.
  • the identifier 1310 is an identifier uniquely assigned to each Web content 140.
  • the URL 1320 is a name indicating the Web content 140, and may include a character string indicating a resource (server, folder, etc.) storing the Web content 140.
  • the data 1330 is the content of the Web content 140 and stores a specific script. Data 1330 illustrated in FIG. 2 is an example in the case where the Web content 140 is described in html.
  • Web content 140 included in the server device 10 and the Web content 290 included in the client device 200 include the same content.
  • FIG. 3 is an explanatory diagram showing the operation log 150 held in the auxiliary storage device 40 according to the embodiment of this invention.
  • the operation log 150 includes an identifier 1310, an event 1340, and data 1350.
  • An identifier 1310 included in the operation log 150 corresponds to 1310 included in the Web content 140.
  • a row with the same identifier 1310 indicates an operation in the same Web content 140.
  • the event 1340 indicates details of an operation performed on the form included in the web content 140 when the web content 140 is executed.
  • the data 1350 includes a form that is a target of the event 1340 or a value that is input. For example, when the event 1340 of the operation log 150 is “onClick” and the data 1350 is “RadioButton”, this indicates that the operation log 150 is an operation of clicking a radio button.
  • the form indicates an operation target such as a list box, a text box, or a dialog box included in the Web content when the Web content is created by HTML, for example.
  • operation log 150 provided in the server device 10 and the operation log 300 provided in the client device 200 include the same contents.
  • the HTTP server unit 80 receives an HTTP request sent by the client device 200 via the network 190. Thereafter, the request or data from the client device 200 included in the received HTTP request is extracted, and the extracted request or data is sent to the application server unit 70.
  • the HTTP server unit 80 After the processing by the application server unit 70 is completed, the HTTP server unit 80 generates an HTTP response in which the processing result received from the application server unit 70 is inserted in response to the HTTP request sent from the client device 200. The generated HTTP response is sent to the client device 200 via the network 190.
  • the application server unit 70 sends a request or data to the operation recording / operation reproduction script embedding unit 50 or the test case automatic generation unit 60 according to the content of the HTTP request (request) sent by the client device 200, Receive the result.
  • the application server unit 70 records the operation recording / operation reproduction.
  • a request is passed to the script embedding unit 50.
  • the operation recording / operation playback script embedding unit 50 receives the Web content 110 from the auxiliary storage device 30.
  • the operation record script 120 is acquired.
  • the operation recording / operation reproduction script embedding unit 50 performs processing described later, and then sends the Web content 110 and the operation recording script 120 to the application server unit 70 as a result of the processing.
  • the operation recording / operation reproduction script embedding unit 50 is held in the auxiliary storage device 30 when the request transmitted from the client device 200 is a request for reproducing the operation on the Web browser 260 in the client device 200.
  • the operation reproduction script 130 and the Web content 140 and the operation log 150 held in the auxiliary storage device 40 are acquired.
  • the operation recording / operation reproduction script embedding unit 50 performs processing described later, and then sends the acquired operation reproduction script 130, Web content 140, and operation log 150 to the application server unit 70 as a result of the processing. .
  • the application server unit 70 sends the request to the test case automatic generating unit 60.
  • the test case automatic generation unit 60 receives a request from the application server unit 70, the test case automatic generation unit 60 acquires the Web content 140 and the operation log 150 held in the auxiliary storage device 40.
  • the test case automatic generation unit 60 performs the processing described later, and then sends the acquired Web content 140 and operation log 150 to the application server unit 70 as a result of the processing. Furthermore, the application server unit 70 sends the acquired Web content 140 and operation log 150 to the client device 200 via the HTTP server unit 80.
  • the application server unit 70 and the HTTP server unit 80 of the present embodiment always send a request transmitted from the client device 200 to the operation recording / operation reproduction script embedding unit 50 or the test case automatic generation unit 60.
  • the result from the operation recording / operation reproduction script embedding unit 50 or the test case automatic generation unit 60 is sent to the client device 200.
  • the system In order to automatically generate a test case, the system according to the present embodiment records an operation log 300 relating to a test performed by a tester when the Web content 290 is executed on the client device 200, and Pre-held in the auxiliary storage device 40.
  • the server apparatus 10 when the client apparatus 200 transmits a request for generating a test case of the updated Web content 290 to the server apparatus 10, the server apparatus 10 according to the present embodiment is based on the operation log 150 held in advance. A new test case is generated and further sent to the client device 200. The client device 200 corrects the sent test case as necessary, and sends a request to the server device 10 to register the corrected test case and the corresponding Web content 290 (Web content 140).
  • the client device 200 requests the server device 10 to automatically reproduce the operation.
  • the server device 10 transmits an operation log 150 corresponding to the Web content 140 (Web content 290) to the client device 200 in accordance with a request from the client device 200.
  • the client device 200 automatically reproduces the Web content 290 based on the operation log 150 transmitted by the server device 10.
  • the system of the present embodiment can execute the automatically generated test case.
  • FIG. 4 is a sequence diagram illustrating a process for recording an operation performed in the Web browser 260 according to the embodiment of the present invention and a process for storing a recording result in the server device 10.
  • the tester When generating a test case for a specific Web content, the tester first records an operation when the Web content is executed in the Web browser 260. The tester uses the client device 200 to send a specific Web content and a request for recording the operation to the server device 10 (310).
  • the client device 200 in sequence 310, indicates information (file name, Identifier or the like) may be sent to the server device 10.
  • the Web content to be recorded for the operation is not stored in the auxiliary storage device 250 of the client device 200, the Web content to be recorded for the operation in the sequence 310 may be stored in the auxiliary storage device 250.
  • the server device 10 receives the specific Web content or information indicating the Web content and the request for recording the operation from the client device 200 by the HTTP server unit 80 and the application server unit 70 as described above. Since the request transmitted from the client device 200 is a request for recording an operation, the application server unit 70 sends the received request or the like to the operation recording / operation reproduction script embedding unit 50.
  • the operation recording / operation reproduction script embedding unit 50 when the Web content 110 corresponding to the sent Web content is held in the auxiliary storage device 30, the Web content or Web sent from the client device 200 Web content 110 corresponding to the information indicating the content is acquired (330).
  • the operation recording / operation reproduction script embedding unit 50 of the server device 10 acquires the operation recording script 120 held in the auxiliary storage device 30 (340).
  • the operation recording / operation reproduction script embedding unit 50 acquires the Web content 110 in which the operation is recorded and the operation recording script 120, and then acquires the Web content 110 acquired by the operation recording / operation reproduction script embedding unit 50.
  • the operation record script 120 is added to the above.
  • the operation recording / operation reproduction script embedding unit 50 assigns a unique identifier to the Web content transmitted from the client device 200 or the Web content 110 acquired from the auxiliary storage device 30, and the Web of the auxiliary storage device 40. It is stored in the content 140 (350).
  • the identifier given in the sequence 350 may be uniquely given to the Web content 140 having the same file name.
  • the identifier may be uniquely assigned to the Web content 140 having the same name although the version is different, or may be provided for each version of the Web content 140.
  • the version of the Web content 140 to be sent to the client device 200 is preset in the server device 10 by the administrator or the like.
  • the server apparatus 10 is set in advance so as to always transmit the latest version of the Web content 140 to the client apparatus 200.
  • the server device 10 can transmit the Web content 140 in which the operation is recorded and the operation recording script 120 to the client device 200 together.
  • the server device 10 transmits the Web content 140 in which the operation is recorded, the operation recording script 120, and an identifier that uniquely indicates the Web content 140 to the client device 200. As described above, the server device 10 transmits the Web content 140 or the like in which the operation is recorded to the client device 200 via the application server unit 70 and the HTTP server unit 80.
  • the client device 200 receives the Web content 140, the operation recording script 120, and the identifier uniquely indicating the Web content 140 from the server device 10, and then receives the Web content 140 sent from the server device 10 together with the received identifier. And stored in the Web content 290 of the auxiliary storage device 250.
  • the client device 200 executes the Web content 290 whose operation is recorded by the Web browser 260 (360).
  • the operation recording / operation reproduction script unit 270 records the operation performed when the tester tests the Web content 290 by executing the operation recording script 120 (370).
  • the client device 200 stores the operation log acquired in the sequence 370 in the operation log 300.
  • the client apparatus 200 transmits the operation log 300 acquired in the sequence 370, the identifier of the Web content 290, and the request for storing the operation log 300 to the server apparatus 10 (380).
  • the server apparatus 10 receives the operation log 300, the identifier of the Web content 290, and the request for storing the operation log 300 from the client apparatus 200 via the application server unit 70 and the HTTP server unit 80 as described above. Thereafter (390), the operation recording / reproduction script embedding unit 50 stores the received operation log 300 in the operation log 150 of the auxiliary storage device 40 based on the received identifier of the Web content 290 (400). . Specifically, the received operation log 300 is stored in the operation log 150 corresponding to the Web content 140 indicated by the identifier of the received Web content 290.
  • the server device 10 transmits the processing result to the client device 200.
  • the processing result includes the identifier of the Web content 290 in which the operation is recorded and the fact that the operation log 300 is stored.
  • the Web content 290 and operation log 300 in the auxiliary storage device 250 are synchronized with the Web content 140 and operation log 150 in the auxiliary storage device 40.
  • the tester when the tester creates a new test case of the updated Web content by acquiring the operation log 150 of the Web content before the update in advance, the client device 200 The operation log 150 can be acquired.
  • FIG. 5 is a flowchart showing processing for acquiring Web content for operation recording according to the embodiment of the present invention.
  • FIG. 5 is a flowchart showing step 320 shown in FIG. According to the process shown in FIG. 5, the operation recording script 120 can be added to the Web content 140 requested to be recorded by the client device 200.
  • the operation recording / operation reproduction script embedding unit 50 of the server device 10. After the sequence 310 shown in FIG. 4, after receiving a specific Web content or information indicating the Web content and a request to record the operation from the client device 200, the operation recording / operation reproduction script embedding unit 50 of the server device 10. Starts the process shown in FIG. 5 (610).
  • the operation recording / operation reproduction script embedding unit 50 uses the Web content sent from the client device 200 or information indicating the Web content, out of the Web content 110 held in the auxiliary storage device 30, the client device 200. Web content 110 corresponding to the Web content requested by the user is acquired (620).
  • the operation recording / operation reproduction script embedding unit 50 adds the operation recording script 120 acquired from the auxiliary storage device 30 to the acquired Web content 110 (630). Then, the operation recording / operation reproduction script embedding unit 50 assigns a unique identifier to the Web content 110 in which the operation is recorded (640). Then, the operation recording / operation reproduction script embedding unit 50 stores the Web content 110 assigned with the identifier in the Web content 140 held in the auxiliary storage device 40 (650).
  • step 650 the server device 10 sends the Web content 110 whose operation is recorded to the client device 200, and ends the processing (660).
  • FIG. 6 is a flowchart showing a process of recording an operation when executing the Web content 290 according to the embodiment of this invention.
  • FIG. 6 is a flowchart showing the sequence 370 shown in FIG. Here, a process of recording the operation log 300 corresponding to the operation performed by the tester in the Web content executed in the Web browser 260 is shown.
  • the process shown in FIG. 6 is started (670).
  • the tester operates the executed Web content 290 (680)
  • the operation recording / operation reproduction script unit 270 executes the operation recording script 120, whereby the operation content is stored in the operation log (script file) 300. Record (690).
  • the operation recording / operation reproduction script unit 270 determines whether or not the web content 290 is being operated while the web content 290 is being executed by the operation recording script 120. When the Web content 290 is operated, the operation recording / operation reproduction script unit 270 records the operation in the operation log 300.
  • the operation recording / operation reproduction script unit 270 records the operation content in the operation log 300 as an executable script file. This is because the operation content can be reproduced by the client device 200 executing the operation log 300 recorded by the operation recording / operation reproduction script unit 270.
  • the tester determines whether or not the operation to the Web content 290 has been completed (700). If the operation has not been completed, the tester returns to Step 680. When the operation is finished, the process is finished (710).
  • FIG. 7 is an explanatory diagram showing the relationship between the operation and the operation log 300 according to the embodiment of this invention.
  • the operation recording / operation reproduction script unit 270 records, in the operation log 300, the operation performed by the tester on the Web browser 260 in which the Web content 290 is executed in the sequence 370 illustrated in FIG.
  • FIG. 7 shows a screen displayed on the web browser 260 by the web content.
  • the screen displayed on the Web browser 260 shown in FIG. 7 includes a name area 1281, a gender area 1282, an occupation area 1283, and a registration area 1284.
  • the name area 1281 is a text box form
  • the gender area 1282 is a radio button form
  • the occupation area 1283 is a list box area
  • the registration area 1284 is a button form.
  • the operation record / operation playback script unit 270 records “changed” in the event 1340 of the operation log 300.
  • “TextBox # 1: JOHN SMITH” is recorded in data 1350.
  • the operation recording / operation reproduction script unit 270 when the tester moves the cursor to “male” among the radio buttons in the gender area 1282 and selects “male” (operation B), the operation recording / operation reproduction script unit 270 generates an event 1340. “onClick” is recorded, and “RadioButton” is recorded in the data 1350. In operation B, “changed” is recorded in event 1340 and “RadioButton # 1: check” is recorded in data 1350.
  • FIG. 8 is a flowchart showing processing for storing the operation log in the server device 10 according to the embodiment of this invention.
  • FIG. 8 shows the processing shown in the sequence 390 of FIG.
  • the operation log 300 sent by the client device 200 is stored in the operation log 150 held in the auxiliary storage device 40.
  • the server apparatus 10 After receiving the operation log 300, the identifier indicating the Web content 290, and the request for storing the operation log 300 by the client apparatus 200, the server apparatus 10 starts the process illustrated in FIG. 8 (720). After 720, the operation recording / operation reproduction script embedding unit 50 included in the server device 10 acquires the operation log 300 sent from the client device 200 and the identifier indicating the Web content 290 (730, 740), and acquires The operation log 300 is stored in the operation log 150 so as to correspond to the Web content 140 corresponding to the identifier.
  • Test case automatic generation process (Overview)
  • the tester transmits a request for automatic test case generation and information (ID or the like) indicating the Web content to be tested to the server device 10 via the Web browser 260 provided in the client device 200.
  • the HTTP server unit 80 of the server device 10 receives the request sent from the tester and information indicating the Web content.
  • the test case automatic generation unit 60 After the request sent from the tester is sent from the HTTP server unit 80 to the application server unit 70 and further sent from the application server unit 70 to the test case automatic generation unit 60, the test case automatic generation unit 60 Then, the Web content 140 and the operation log 150 held in the auxiliary storage device 40 are acquired. Then, the test case automatic generation unit 60 automatically generates a test case based on the acquired Web content 140 and operation log 150, and further generates a script file corresponding to each test case. Then, the generated script file is transmitted to the client device 200.
  • the tester modifies the script file corresponding to each test case sent from the server device 10 using the Web browser 260 of the client device 200. Then, the client device 200 transmits a script file (operation log 300) corrected by the tester to the server device 10 and requests to store the transmitted operation log 300 in the auxiliary storage device 40 included in the server device 10. Send.
  • a script file operation log 300
  • the server device 10 receives the script file (operation log 300) registration request sent to the auxiliary storage device 40 sent by the client device 200, and the test case automatic generation unit 60 sends the script file (operation log 300) to the auxiliary storage device.
  • the operation log 150 is stored in the operation log 150.
  • the Web content 110 in which the test case is automatically generated by the test case automatic generation unit 60 is stored in the Web content 140 held in the auxiliary storage device 40.
  • FIG. 9 is a sequence diagram showing a process for automatically generating a test case for the updated Web content according to the embodiment of the present invention. Details will be described below.
  • the tester selects Web content for which a test case is to be generated, selects the selected Web content and information indicating the Web content, and a request to automatically generate (automatically generate) a test case for the selected Web content.
  • Input to the client device 200 (480).
  • the client device 200 transmits Web content, information indicating the input Web content, and a request for automatically generating a test case to the server device 10 (490).
  • the information indicating the Web content may be any of a file name, a URL name, or an identifier indicating the Web content. That is, in the content analysis processing 500 described later, when the latest Web content 140 before update is always extracted, the information indicating the Web content may be a file name or a URL name. In the content analysis processing 500 described later, when a specific version of the Web content 140 is extracted from the Web content 140 before being updated, an identifier may be used as information indicating the Web content.
  • the server device 10 sends the Web content for automatically generating a test case, the information indicating the Web content, and the request for automatically generating the test case sent by the client device 200 to the HTTP server unit 80 and the application. This is received via the server unit 70. Thereafter, the test case automatic generation unit 60 of the server device 10 executes the content analysis process 500.
  • processing of the sequences 510, 520, 530, and 550 shown below is executed when Web content for which a test case is generated by the server device 10 is stored in advance. That is, when a test case is generated for new Web content, it is not executed.
  • the server device 10 executes the content analysis processing 500 by the test case automatic generation unit 60.
  • the test case automatic generation unit 60 acquires the Web content 140 before the update of the sent Web content from the Web content 140 based on the information indicating the sent Web content ( 520).
  • the server device 10 acquires an operation log as a reference in order to generate an operation log of each test case corresponding to the updated Web content, so that the operation log 150 corresponding to the Web content 140 acquired in the sequence 420 is acquired. Is acquired (550).
  • the updated Web content is compared with the Web content 140 before the update, and a difference is extracted (510). Then, a part of the updated Web content that has been changed or added from the Web content 140 before the update is extracted and generated as a Web content (530).
  • the server device 10 assigns a unique identifier to the web content sent from the client device, that is, the updated web content. To do.
  • the test case automatic generation unit 60 of the server device 10 uses the result of comparison between the Web content 140 acquired in the content analysis processing 500 and the Web content 140 and the operation log, and updates the updated Web content. Generate a test case. Further, an operation log for each test case is generated (540). Further, in the sequence 540, the test case automatic generation unit 60 acquires the test case correction script 90 held in the auxiliary storage device 30 (555).
  • test case of the present embodiment is information indicating a value input in the test on each form displayed on the Web browser 260 by the Web content 290.
  • Test cases include values that can be obtained as normal results when entered in each form (normal values), values that can be obtained as abnormal results (abnormal values), boundary values between normal values and abnormal values, or , Values before and after the boundary value are included.
  • the operation log is a script file indicating an operation on each form displayed by the Web content on the Web browser 260 as described above. That is, the operation log of the present embodiment is a script file that is executed in a test when it is created based on a test case.
  • the operation log is generated by a test case and Web content. That is, the test case and operation log hold the same test scenario contents. Therefore, a test case is stored in the auxiliary storage device 40 and the auxiliary storage device 250 in place of the operation log 150 and the operation log 300, and an operation log is generated from the test case when performing a test or an operation reproduction. May be.
  • test case automatic generation unit 60 of the server device 10 adds a test case correction script 90 and information indicating Web content such as an identifier generated in the content analysis processing 500 to the generated test case.
  • the data is transmitted to the client device 200 via the application server unit 70 and the HTTP server unit 80.
  • the server apparatus 10 may send the generated operation log to the client apparatus 200 together with the test case or instead of the test case. That is, when the operation log is sent to the client device 200, the client device 200 may extract a test case included in the sent operation log and modify the extracted test case in a sequence 560 described later.
  • the client device 200 After the client device 200 receives the generated test case, the test case correction script 90, and the information indicating the Web content, the client device 200 causes the test case correction script unit 280 to execute the test case correction script 90.
  • the test case correction script unit 280 uses the Web browser 260 to display a screen for correcting the test case, thereby allowing the tester to confirm and correct the test case sent from the server device 10. (560).
  • the test executor arbitrarily changes the test case sent from the server device 10, whereby the system according to the present embodiment can generate an appropriate test case according to the environment in which the test is performed. .
  • the client apparatus 200 transmits the confirmed and modified test case and information indicating the Web content corresponding to the test case to the server apparatus 10 (570). .
  • the test case automatic generation unit 60 is modified. Generate operation logs from test cases. Then, the generated operation log is stored in the operation log 150 of the auxiliary storage device 40 (590). Then, the updated web content received in the content analysis processing 500 is stored in the web content 140 held in the auxiliary storage device 40 (600).
  • the operation log and the Web content are stored in the auxiliary storage device 40 using the identifier indicating the Web content as a key in sequences 590 and 600.
  • the server apparatus 10 may transmit an operation log generated from the modified test case to the client apparatus 200.
  • the client apparatus 200 further includes an operation log sent from the server apparatus 10 and
  • the updated Web content and an identifier indicating the Web content may be stored in the auxiliary storage device 250.
  • FIG. 10 is an explanatory view showing a screen for inputting the Web content for generating the test case according to the embodiment of the present invention to the client device 200.
  • the screen shown in FIG. 10 includes a Web content designation area 1200, a reference button 1210, an identifier designation area 1220, a generation button 1230, and a cancel button 1240.
  • the tester describes the name of the Web content for automatically generating the test case in the Web content designation area 1200.
  • a folder name is acquired by a reference button 1210.
  • the tester may input the identifier of the Web content before the update in 1220.
  • the tester refers to the identifier 1310 included in the Web content 290 held in the auxiliary storage device 250 as the Web content identifier. This is because the identifier 1310 included in the web content 290 is synchronized with the identifier of the web content 140 held in the auxiliary storage device 40 when the identifier of the web content is sent from the server device 10 such as the processing shown in FIG. This is because.
  • the tester inputs a value in the Web content designation area 1200 or the identifier designation area 1220 and operates the generation button 1230. As a result, the sequence 480 shown in FIG. 9 is executed.
  • the generation button 1230 is operated by clicking or the like.
  • FIG. 11 is a flowchart showing the content analysis processing 500 according to the embodiment of the present invention.
  • FIG. 11 shows the content analysis processing 500 of FIG.
  • test case automatic generation unit 60 provided in the server device 10 determines whether or not the pre-update Web content 140 corresponding to the Web content sent from the client device 200 is stored in the auxiliary storage device 40 (900). . If the pre-update web content 140 is not stored in the auxiliary storage device 40, the web content sent by the client device 200 is a new web content, so the test case automatic generation unit 60 proceeds to step 960. To do.
  • test case automatic generation unit 60 acquires the pre-update Web content 140 held in the auxiliary storage device 40 (910). Further, the operation log 150 corresponding to the version of the Web content 140 before being updated, which is held in the auxiliary storage device 40, is acquired (920).
  • steps 910 and 920 correspond to sequences 520 and 550 shown in FIG.
  • the test case automatic generation unit 60 extracts the difference between the updated web content sent by the client device 200 and the web content 140 acquired in step 910, that is, the web content before the update ( 930). In step 930, the test case automatic generation unit 60 deletes the part of the updated web content that has been added or changed from the web content before the update and the web content before the update, and the updated web content. The parts that are not present are extracted as differences.
  • the test case automatic generation unit 60 acquires a common part between the Web content before update and the Web content after update, and corresponds to the common part based on the operation log 150 acquired in step 920.
  • An operation log is generated (940). This is because if the Web content is common, the corresponding operation log is also common. Note that the test case automatic generation unit 60 stores the generated operation log corresponding to the common part in a temporary storage area or the like provided in the main storage device 20 or the like.
  • the test case automatic generation unit 60 After Step 940, the test case automatic generation unit 60 generates, as the Web content to be added to the common part, the part added or changed from the Web content before the update among the differences extracted in Step 930 (950). . This is to generate Web content that needs to generate a new operation log by updating. The part deleted from the Web content before the update in Steps 940 and 950 is not included in the Web content that needs to generate a new operation log.
  • test case automatic generation unit 60 extracts a form included in the Web content to be added in order to generate an operation log corresponding to the Web content to be added (960).
  • test case automatic generation unit 60 extracts a form from the new Web content sent by the client device 200 in step 960.
  • the test case automatic generation unit 60 extracts a form from the Web content generated in step 950 and added to the common part in step 960.
  • step 960 the test case automatic generation unit 60 can divide each form for generating the operation log. After step 960, the test case automatic generation unit 60 ends the content analysis process 500 (970).
  • step 930 shown in FIG. 11 corresponds to the sequence 510 shown in FIG. 9, and the processes of steps 940 and 950 shown in FIG. 11 correspond to the sequence 530 shown in FIG.
  • FIG. 12A is a flowchart showing a process for generating a test case according to the embodiment of the present invention.
  • FIG. 12A is a flowchart showing the sequence 540 of FIG.
  • the test case automatic generation unit 60 starts the process shown in FIG. 12A after completing the process shown in FIG. 11 (980). Then, the test case automatic generation unit 60 acquires one form among the forms extracted in Step 960 (990).
  • the test case automatic generation unit 60 generates a test case corresponding to one form acquired in step 990 based on the test case definition file 100 (1000). Details of the test case definition file 100 will be described later with reference to FIG.
  • test case automatic generation unit 60 determines whether there is a form that has not been processed in step 1000 among the forms extracted in step 960 (1080). If there is a form for which the process of step 1000 has not been executed, the test case automatic generation unit 60 returns to step 990.
  • step 1080 a test case corresponding to the Web content updated by addition or change is generated.
  • test case automatic generation unit 60 determines whether or not an operation log corresponding to a common part between the pre-update web content and the post-update web content is stored in the temporary storage area of the main storage device 20. Determine. That is, it is determined whether or not it has been generated in step 940 shown in FIG.
  • test case automatic generation unit 60 If it is determined in step 1090 that the operation log corresponding to the common part between the pre-update web content and the post-update web content is not stored in the temporary storage area, all the updated web content is added or Since the Web content has been changed, the test case automatic generation unit 60 generates only an operation log corresponding to the test case generated in Step 1000, and as a result, acquires an operation log corresponding to the updated Web content. (1110).
  • test case automatic generation unit 60 Is acquired from a temporary storage area provided in the main storage device 20 or the like (1100).
  • test case automatic generation unit 60 After step 1100, the test case automatic generation unit 60 generates an operation log corresponding to the test case generated in step 1000. Then, the generated operation log is combined with the operation log corresponding to the common part, that is, added or inserted to generate an operation log corresponding to the updated Web content (1120).
  • the test case automatic generation unit 60 extracts a test case corresponding to the generated operation log, and transmits the extracted test case to the client device 200 (1125).
  • the test case automatic generation unit 60 acquires the test case correction script 90 from the auxiliary storage device 30. Then, the test case correction script 90 and information indicating the Web content are added to the test case and transmitted to the client device 200.
  • step 1125 the process shown in FIG. 12A is terminated (1130).
  • the process shown in FIG. 12A can generate a test case and an operation log corresponding to the updated Web content.
  • FIG. 12B is a flowchart showing processing for generating a test case according to the embodiment of the present invention.
  • FIG. 12B corresponds to step 1000 in FIG. 12A.
  • the test case automatic generation unit 60 starts the process shown in FIG. 12B after Step 990 (1001).
  • the test case automatic generation unit 60 first determines the type of one form acquired in step 990 (1005).
  • the test case automatic generation unit 60 when the form type is a text box, the test case automatic generation unit 60 generates a test case in which a normal value is input in the text box (1010). Further, a test case in which an abnormal value is input in the text box is generated (1040), and a test case in which a boundary value is input in the text box is generated (1070).
  • the test case automatic generation unit 60 when the form type is a radio button, the test case automatic generation unit 60 generates a test case in which a normal value is input to the radio button (1020), and a test case in which an abnormal value is input to the radio button. Is generated (1050).
  • the test case automatic generation unit 60 when the form type is a button, the test case automatic generation unit 60 generates a test case in which a normal value is input to the button (1030), and generates a test case in which an abnormal value is input to the button. (1060).
  • test case automatic generation unit 60 When the test case automatic generation unit 60 generates a test case corresponding to each form, the test case automatic generation unit 60 ends the process illustrated in FIG. 12B (1075), and proceeds to step 1080 illustrated in FIG. 12A.
  • the server device 10 holds the test case definition file 100 for generating a test case corresponding to each form in the auxiliary storage device 30.
  • test cases to be generated are described in advance according to the type of form.
  • the test case automatic generation unit 60 refers to the test case definition file 100 to generate a test case for each form.
  • FIG. 13 is an explanatory diagram showing the test case definition file 100 according to the embodiment of this invention.
  • the test case definition file 100 includes a form 101, a condition 102, and a value 103.
  • the test case definition file 100 is created in advance by a tester or an administrator.
  • the created test case definition file 100 is stored in the server device 10.
  • Form 101 indicates the type of form, for example, a text box, a radio button, a list box, or a button.
  • the condition 102 indicates the type of value that can be input when an operation is performed on each form 101. For example, when the form 101 is a text box, a value that can be input to the text box is one of a normal value, an abnormal value, and a boundary value.
  • the value 103 is a specific value corresponding to each condition 102 of each form 101. For example, in the text box of this embodiment, up to 1024 half-width characters can be input. Therefore, when the form 101 is a text box and the condition 102 is a normal value, the value 103 describes the value of the number of characters of 1023 characters or less.
  • the value 103 stores values of 1024 characters and 1,025 characters. In addition, a value of 1026 characters or more is stored in the value 103 in which the condition 102 is an abnormal value.
  • the radio button of this embodiment outputs an error when no radio button is specified and the radio button indicates “Off”. Therefore, when the form 101 is a radio button and the condition 102 is a normal value, “On” is stored in the value 103, and when the condition 102 is an abnormal value, “Off” is stored in the value 103. Stored.
  • the list box of the present embodiment outputs an error when a value other than a predetermined list value (list # 1, list # 2) is designated. Therefore, when the form 101 is a list box and the condition 102 is a normal value, “list # 1” or “list # 2” is stored in the value 103, and the condition 102 is an abnormal value.
  • a certain value 103 stores character strings other than “list # 1” and “list # 2”.
  • the test case automatic generation unit 60 uses the test case definition file 100 to enumerate values 103 corresponding to each form, thereby generating a test case.
  • FIG. 14 is an explanatory diagram showing a screen 1190 for correcting the test case according to the embodiment of the present invention.
  • FIG. 14 shows a screen 1190 displayed on the Web browser 260 in order to make the tester confirm each test case sent by the server device 10.
  • Screen 1190 is displayed in sequence 560 shown in FIG.
  • the Web browser 260 displays the test conditions generated in the sequence 550 shown in FIG. 9 to the test performer by displaying each condition of each form on the icon 1250 shown in FIG.
  • CASE 1 shown in FIG. 14 is a test case in which a normal value is input into a text box form, a normal value is input into a button form, and then the process ends.
  • CASEn shown in FIG. 14 inputs normal values to the text box form, normal values to the radio button form, normal values to the list box form, and normal values to the button form. After the test case is finished.
  • the tester When there is a test case to be corrected among the test cases, the tester operates the icon 1250 indicating the form of the test case to be corrected to correct the test case. Then, after the test case is corrected, the tester operates the registration button 1260 so that the client apparatus 200 transmits the corrected test case and a request for storing the corrected test case to the server apparatus 10 ( This corresponds to the sequence 570 shown in FIG. Note that the icon 1250 and the registration button 1260 are operated by clicking or the like.
  • FIG. 15 is an explanatory view showing a screen 1280 for correcting the value of the test case according to the embodiment of the present invention.
  • FIG. 15 shows a screen 1280 displayed on the Web browser 260 for the tester to correct the value of each test case sent by the server device 10.
  • the tester When the tester wants to correct the value related to the CASE1 text box form on the screen 1190 shown in FIG. 14, the tester operates the icon 1250 indicating the CASE1 text box form. Thereafter, a screen 1280 shown in FIG. 15 is displayed by the Web browser 260.
  • a screen 1290 for correcting a value for testing the text box is displayed.
  • the tester corrects the value corresponding to each condition and operates the OK button 1300 to determine the content to be corrected.
  • the OK button 1300 is operated by clicking or the like.
  • the screen 1190 and the screen 1280 for correcting the test case are not limited to the display methods of FIGS. 14 and 15, and any method can be used as long as it can be uniquely specified for each test case form and the value can be changed.
  • the display method may be used.
  • FIG. 16 is a flowchart showing processing for storing a test case and an operation log corrected by the client device 200 according to the embodiment of this invention.
  • FIG. 16 shows a process of storing the modified test case and operation log 300 in the server apparatus 10 by the Web browser 260 and the test case modification script unit 280 provided in the client apparatus 200.
  • the process shown in FIG. 16 corresponds to the sequence 580 shown in FIG.
  • the server apparatus 10 When the server apparatus 10 receives the request for storing the test case modified by the client apparatus 200, the server apparatus 10 starts the process shown in FIG. 16 (1150). The server device 10 assigns a unique identifier to the test case received from the client device 200 and the operation log generated from the test case (1160).
  • the server device 10 stores the operation log sent from the client device 200 in the operation log 150 of the auxiliary storage device 40 (1170). Thereafter, the server device 10 ends the process shown in FIG.
  • FIG. 17 is a sequence diagram illustrating processing for reproducing, in the client device 200, the Web content 140 held in the server device 10 according to the embodiment of the present invention and the operation log 150 corresponding to the Web content 140.
  • the client apparatus 200 transmits a request for reproducing the operation of the Web content to the server apparatus 10 (410).
  • the client apparatus 200 transmits a request for reproducing the operation of the Web content and information indicating the Web content 140 corresponding to the requested Web content.
  • Information indicating the Web content 140 is held in advance by the client apparatus 200 by the processing illustrated in FIGS. 4 and 9.
  • the server apparatus 10 sends a request for reproducing an operation of a specific Web content and information indicating the Web content 140 corresponding to the requested Web content via the HTTP server unit 80 and the application server unit 70.
  • the operation recording / operation reproduction script embedding unit 50 acquires the operation reproduction script 130 held in the auxiliary storage device 30 (425).
  • the operation recording / operation reproduction script embedding unit 50 of the server device 10 acquires the Web content 140 held in the auxiliary storage device 40 and the operation log 150 corresponding to the Web content 140 based on the received information. (430, 440). Then, the acquired operation playback script 130, Web content 140, and operation log 150 are transmitted to the client device 200 via the application server unit 70 and the HTTP server unit 80.
  • the operation recording / operation reproduction script embedding unit 50 stores the Web content 140 and the operation log 150 based on the identifier. get.
  • the operation recording / operation reproduction script embedding unit 50 uses a Web version of a version predetermined by an administrator or the like such as the latest version. The content 140 and the operation log 150 are acquired.
  • the client device 200 After the operation playback script 130, the Web content 140, and the operation log 150 are transmitted from the server device 10, the client device 200 stores the transmitted Web content 140 in the Web content 290 and operates the transmitted operation log 150. Store in the log 300. Then, the newly stored Web content 290 is executed by the operation recording / operation reproduction script unit 270 (460). The operation recording / operation reproduction script unit 270 reproduces the operation by executing the newly stored Web content 290 and sequentially executing the newly stored operation log 300 by the operation reproduction script 130 (470).
  • FIG. 18 is a flowchart showing an information acquisition process for reproducing the operation according to the embodiment of the present invention.
  • the process shown in FIG. 18 is the process shown in the sequence 420 of FIG. FIG. 18 shows a process of acquiring the Web content 140 to be reproduced as an operation requested by the client device 200 and the operation log 150 corresponding to the Web content 140 from the auxiliary storage device 40 and transmitting the operation log 150 to the client device 200. .
  • the server device 10 After the request for reproducing the operation of the Web content and the identifier indicating the Web content 140 corresponding to the Web content are transmitted from the client device 200, the server device 10 starts the process shown in FIG. 18 (770). .
  • the operation recording / operation reproduction script embedding unit 50 refers to the auxiliary storage device 40 by the information indicating the Web content 140 transmitted from the client device 200, and corresponds to the Web content 140 and the Web content 140.
  • the operation log 150 is acquired (780, 790).
  • the operation recording / operation reproduction script embedding unit 50 acquires the operation reproduction script 130 held in the auxiliary storage device 30 in order to reproduce the Web content 140 on the client device 200, and the Web content 140 acquired in Step 780. (800). Then, the operation recording / operation reproduction script embedding unit 50 transmits the Web content 140 and the operation log 150 to the client device 200 (810), and ends the processing.
  • steps 780 and 790 correspond to sequences 430 and 440 shown in FIG.
  • FIG. 19 is a flowchart showing processing for reproducing an operation according to the embodiment of the present invention.
  • FIG. 19 shows the processing of the sequence 470 in FIG. FIG. 19 shows processing for reproducing the Web content 140 acquired by the server device 10 and the operation log 150 corresponding to the Web content 140 on the client device 200.
  • the client device 200 executes the Web content 140 sent from the server device 10 by the operation recording / operation playback script unit 270, and displays the screen of the Web content 140 on the Web browser 260 (840). Then, the operation recording / operation replay script unit 270 acquires data indicating one operation from the operation log 150 sent from the server device 10 (850), and the acquired operation is inserted into the Web content 140. It is executed by the operation reproduction script 130 (860).
  • the operation recording / operation reproduction script unit 270 determines whether or not an unexecuted operation log is included in the operation log 150 sent from the server device 10 (870). If an operation log is included, the process returns to step 850. If the unexecuted operation log is not included and all the operation logs 150 are executed, the server device 10 ends the process of reproducing the operation (880).
  • the operation log and the test case are distinguished from each other, but the client device 200 and the server device 10 may hold either the operation log or the test case.
  • the server device 10 may extract a test case from the operation log 300 sent from the client device 200 in the sequence 390 of FIG. 4 and hold the extracted test case. Then, in the sequence 540 of FIG. 9, the test case corresponding to the common part of the Web content before and after the update is extracted, and the test case corresponding to the common part and the test case corresponding to the difference part may be combined. Good.
  • a test case for testing Web content can be automatically generated based on an operation log (script file) used by a past test or the like. Tests can be automatically replayed, reducing test man-hours. Moreover, since the test case is automatically generated based on the test case definition file created in advance, it is possible to prevent the test case from being leaked. As a result, it is possible to improve the quality of Web contents.
  • the present invention can be applied to a system for developing a Web application.

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

 計算機は、WebコンテンツとWebコンテンツを操作するためのテストシナリオとを保持し、更新前の第1のWebコンテンツと更新後の第2のWebコンテンツとの共通部分と差部分とを抽出し、第1のWebコンテンツを操作するための第1のテストシナリオのうち、共通部分に対応するテストシナリオを抽出し、抽出された共通部分に対応するテストシナリオと、抽出された差部分に対応する新たに生成されたテストシナリオとを結合することによって、第2のWebコンテンツを操作するための第2のテストシナリオを生成する。

Description

テストシナリオ生成方法、テストシナリオ生成システム、及び、テストシナリオ生成プログラム
 本発明は、テストシナリオ生成方法に関し、特にWebコンテンツをテストするためのテストシナリオを生成する方法に関する。
 近年、様々なサービスが、Webアプリケーションによって実現されている。Webアプリケーションによって提供されるサービスは、このWebブラウザのみで利用できるという便利さを持つため、B2B(Business to Business)、B2C(Business to Consumer)など、多くのシーンで利用されている。
 この様な背景から、類似のサービスがWebアプリケーションによって数多く提供され、サービス間の競争が激しくなっている。そのため、Webアプリケーションを早期に開発し、いち早く公開することが重要になっており、このため、Webアプリケーションの開発において多くの時間を要するテスト工程を自動的に行うことによって期間を短縮するための技術が求められている。
 このようなテストに関する従来技術には、Webブラウザ又はテストを行うマシンに、テストを自動的に行うソフトウェアをインストールし、さらに、テストの内容が含まれるスクリプトファイルを、プログラミングすることによって最初から作成するという方法がある。さらに、作成されたスクリプトファイルは、ソフトウェアがインストールされたWebブラウザ又はテストを行うマシンによって実行される。
 しかし、この従来技術には、全てのテストの内容が人間の手によって作成されるため、失念等によって、実施する必要のあるテストケースをすべて挙げることができない場合がある。この場合において、テストを十分に実施することなくWebアプリケーションが公開され、問題が発生するという課題がある。また、テストの結果が、Webブラウザ上でテスト実施者が目視できるように表示されず、テキストベースによるログで出力されるといった課題があった。
 さらに、Webアプリケーションのうちの、更に多くのツールは、Webブラウザ上で行われる操作の過程のうち、サーバ側に送られるリクエストをテストしているものである。このため、Webブラウザ上で、最終的にどのように表示されるのかを確認するテストには、Webブラウザ上に表示されるGUIを人の手で操作し、出力画面を目視で確認するという方法が一般的に用いられる。
 また、特許文献1には、Webブラウザ上で表示されるGUIとは異なる、あるOS上で動作するGUIのソフトウェアを自動的に操作し、テストする技術が開示されている。特許文献1に開示される技術によれば、GUI画面を示すファイルを予め書いておき、GUI画面にテストを自動で行えるスクリプトファイルを作成することができる。
 しかし、特許文献1に開示される技術には、OS上で直接動作するGUIのソフトウェアに対して適用できるが、Webブラウザ上で動作するGUIに対しては適用することができないという課題がある。またテスト時にどのような操作が行われているのかを目で確認することができないという課題もある。
 更に、特許文献2には、Webブラウザ上で行った操作を記録及び再生する技術が開示されている。特許文献2に開示される技術によれば、Webブラウザ上にJavaScriptを用いたプログラムを挿入することによって、Webブラウザ上で行った操作を記録及び再生することができる。ただし、WebブラウザのGUIに対するテストを最初から実行する必要があり、テストの結果を目で確認することはできるが、テスト工程を短縮することはできない。
特開2007-323573号公報 特開2008-117093号公報
 本発明が解決しようとする課題は、以下の2点である。
 一つ目の課題は、既に公開されている既存のWebコンテンツを用いることによって、新しいWebコンテンツを開発する際のテスト工程を短縮させることである。従来技術では、既存のWebコンテンツをテストした際に用いた、自動的にテストするためのスクリプトファイルを、新しいWebコンテンツをテストするために、人の手によって再編集していた。このため、スクリプトファイルを作成するためのテスト工程が長期間になるという課題がある。
 二つ目の課題は、Webコンテンツに対するテストの漏れを防ぐことである。テストで実施される観点は三つ(正常、異常、及び、境界値条件)ある。Webコンテンツには数多くの要素(例えば、GUIにおけるフォーム)が使用されており、テスト実施者は、個々の要素に対する正常、異常、及び、境界値条件のうち、一つ、又は少なくとも二つを組み合わせ、Webコンテンツに対するテストケースを生成する。そして、テスト実施者は、生成された個々のテストケースに対応する、スクリプトファイルを生成する。
 このため一般的に公開されるWebコンテンツには、数多くのテストケースが存在するため、これらの一般的に公開されるWebコンテンツから導出されるテストケースには、適切に挙げられないテストケースが存在しやすい。この結果、新たなWebコンテンツ品質が、テスト後においても低いという課題がある。
 本発明の代表的な一形態によると、Webコンテンツと、前記Webコンテンツを操作するためのテストシナリオとを、記憶媒体に保持する計算機における、テストシナリオ生成方法であって、前記計算機が、前記記憶媒体に更新前の第1のWebコンテンツと、更新後の第2のWebコンテンツとの共通部分と差部分とを抽出し、前記計算機が、前記第1のWebコンテンツを操作するための第1の前記テストシナリオのうち、前記共通部分に対応する前記テストシナリオを、前記第1のテストシナリオが格納される記憶媒体から抽出し、前記計算機が、前記抽出された共通部分に対応するテストシナリオと、前記抽出された差部分に対応する新たに生成されたテストシナリオとを結合することによって、前記第2のWebコンテンツを操作するための第2のテストシナリオを生成する。
 本発明の一実施形態によると、既存のWebコンテンツに基づいて作成されたWebコンテンツの開発に要するテスト工数を削減し、かつ、作成されたWebコンテンツの品質を向上させる。
本発明の実施形態のクライアント装置に備わる主記憶装置を示すブロック図である。 本発明の実施形態のクライアント装置の主記憶装置に含まれるプログラムを示すブロック図である。 本発明の実施形態のクライアント装置に備わる補助記憶装置を示すブロック図である。 本発明の実施形態のサーバ装置に備わる主記憶装置を示すブロック図である。 本発明の実施形態のサーバ装置に備わる補助記憶装置を示すブロック図である。 本発明の実施形態のサーバ装置に備わる補助記憶装置を示すブロック図である。 本発明の実施形態の補助記憶装置に保持されるWebコンテンツの例を示す説明図である。 本発明の実施形態の補助記憶装置に保持される操作ログを示す説明図である。 本発明の実施形態のWebブラウザにおいて行われた操作を記録する処理、及び、サーバ装置に記録結果を格納する処理を示すシーケンス図である。 本発明の実施形態の操作記録をするWebコンテンツを取得する処理を示すフローチャートである。 本発明の実施形態のWebコンテンツを実行時に操作を記録する処理を示すフローチャートである。 本発明の実施形態の操作と操作ログとの関係を示す説明図である。 本発明の実施形態のサーバ装置に操作ログを格納する処理を示すフローチャートである。 本発明の実施形態の更新したWebコンテンツに対するテストケースを自動生成する処理を示すシーケンス図である。 本発明の実施形態のテストケースを生成されるWebコンテンツを、クライアント装置に入力するための画面を示す説明図である。 本発明の実施形態のコンテンツ解析処理を示すフローチャートである。 本発明の実施形態のテストケースを生成する処理を示すフローチャートである。 本発明の実施形態のテストケースを生成する処理を示すフローチャートである。 本発明の実施形態のテストケース定義ファイルを示す説明図である。 本発明の実施形態のテストケースを修正するための画面を示す説明図である。 本発明の実施形態のテストケースの値を修正するための画面を示す説明図である。 本発明の実施形態のクライアント装置によって修正されたテストケース及び操作ログを格納する処理を示すフローチャートである。 本発明の実施形態のサーバ装置に保持されるWebコンテンツ及びWebコンテンツに対応する操作ログを、クライアント装置において再生する処理を示すシーケンス図である。 本発明の実施形態の操作を再生するための情報の取得処理を示すフローチャートである。 本発明の実施形態の操作を再生する処理を示すフローチャートである。
 以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
 図1Aは、本発明の実施形態のWeb画面のテストケース自動生成システムの構成を示すブロック図である。
 本発明の実施形態のテストケース自動生成システムは、クライアント装置200、サーバ装置10、及び、ネットワーク190を備える。クライアント装置200は、テスト実施者が使用する装置である。サーバ装置10は、クライアント装置200から送られる要求に従って、Web画面のテストケースを自動生成する。クライアント装置200及びサーバ装置10は、ネットワーク190を介して接続された計算機システムに含まれる。
 クライアント装置200は、通信インタフェース210を介してネットワーク190に接続され、サーバ装置10は、通信インタフェース180を介してネットワーク190に接続される。ネットワーク190は、データを転送可能な通信路であり、TCP/IPを用いたLAN(ローカルエリアネットワーク)、イーサネット、インターネット、又は、無線通信ネットワーク等でもよい。
 (クライアント装置200の構成)
 クライアント装置200は、CPU(中央処理演算装置)220、主記憶装置(メモリ)240、入出力装置230、通信インタフェース210及び補助記憶装置250を備える計算機である。クライアント装置200に備わる各要素は、内部バスによって接続される。
 CPU220は、主記憶装置240に保持されるプログラムを実行する演算装置である。補助記憶装置250は、プログラムの実行に伴って生成されるデータ、又は、プログラムに使用されるデータを保持する。また、入出力装置230は、ユーザインタフェースを提供するキーボード、マウス又は表示装置等の装置である。
 図1Bは、本発明の実施形態のクライアント装置200の主記憶装置240に含まれるプログラムを示すブロック図である。
 主記憶装置240は、Webブラウザ(Webコンテンツ表示部)260、操作記録/操作再生スクリプト部270、及び、テストケース修正スクリプト部280を保持する。CPU220は、主記憶装置240に格納されたWebブラウザ260、操作記録/操作再生スクリプト部270、テストケース修正スクリプト部280のプログラムを実行する演算装置である。
 図1Cは、本発明の実施形態のクライアント装置200に備わる補助記憶装置250を示すブロック図である。
 補助記憶装置250は、前述のWebコンテンツ290及び操作ログ(スクリプトファイル)300を保持する記憶装置である。
 Webブラウザ260は、サーバ装置10から送信され、クライアント装置200によって受信されたコンテンツデータを、表示装置に出力する機能を有する。受信されたコンテンツデータは、補助記憶装置250に保持されるWebコンテンツ290に格納される。
 操作記録/操作再生スクリプト部270は、サーバ装置10から送信され、クライアント装置200によって受信されたコンテンツデータに含まれるスクリプトファイルをテスト実施者が実行する際に、テスト実施者によってWebブラウザ260上で行われた操作を、記録及び再生する機能並びにサーバ装置10から操作ログ300を取得及び記録する機能を有する。なお、本実施形態では、スクリプトファイルとしてJavaスクリプトファイルを適用する。
 テストケース修正スクリプト部280は、サーバ装置10から送信され、クライアント装置200によって受信された後述の操作ログ150を修正する機能を有する。また、テストケース修正スクリプト部280は、テストケース修正スクリプト部280によって修正された操作ログ150を、補助記憶装置250に保持される操作ログ300に格納する機能と、サーバ装置10へ操作ログ300を送信する機能とを有する。
 (サーバ装置10の構成)
 サーバ装置10は、CPU160、主記憶装置20、補助記憶装置30、補助記憶装置40、入出力装置170及び通信インタフェース180を備える計算機である。サーバ装置10が備える各要素は、内部バスによって接続される。CPU160は、主記憶装置20に保持されるプログラムを実行する演算装置である。
 図1Dは、本発明の実施形態のサーバ装置10に備わる主記憶装置20を示すブロック図である。
 主記憶装置20は、操作記録/操作再生スクリプト埋込部50、テストケース自動生成部60、アプリケーションサーバ部70及びHTTPサーバ部80などのプログラムを保持する。また、主記憶装置20は、一時的にデータを記憶できる記憶領域を持つ。
 図1Eは、本発明の実施形態のサーバ装置10に備わる補助記憶装置30を示すブロック図である。
 補助記憶装置30は、Webコンテンツ110、操作記録スクリプト120、操作再生スクリプト130、テストケース修正スクリプト90及びテストケース定義ファイル100を保持する記憶媒体である。
 Webコンテンツ110とは、例えば、HTML(Hyper Text Markup Language)によって記載されるドキュメントファイルである。Webコンテンツ110によって、テスト実施者が操作可能な画面がWebブラウザ260に表示される。
 操作記録スクリプト120とは、例えば、Javaスクリプトによって記載されるドキュメントファイルである。操作記録スクリプト120は、Webブラウザ260上で行われる操作を、クライアント装置200の補助記憶装置250に操作ログ300として格納する機能を有する。また、Webブラウザ260上で行われる操作を、サーバ装置10の補助記憶装置40に保持される操作ログ150に格納する機能を有する。
 操作再生スクリプト130とは、例えば、Javaスクリプトによって記載されるドキュメントファイルである。操作再生スクリプト130は、サーバ装置10の補助記憶装置40が保持する操作ログ150の内容を、クライアント装置200のWebブラウザ260において再生する機能を有する。
 テストケース修正スクリプト90とは、Javaスクリプトによって記載されるドキュメントファイルである。テストケース修正スクリプト90は、クライアント装置200に備わる補助記憶装置250が保持する操作ログ300、又は、サーバ装置10によって送られる操作ログ150を修正する機能を有する。また、修正した操作ログ300又は操作ログ150を、サーバ装置10の操作ログ300へ格納する機能を有する。
 図1Fは、本発明の実施形態のサーバ装置10に備わる補助記憶装置40を示すブロック図である。
 補助記憶装置40は、Webコンテンツ140、及び、操作ログ(スクリプトファイル)150を保持する記憶媒体である。本実施形態の補助記憶装置40は、データベースによってデータを保持する。
 Webコンテンツ140とは、Webブラウザ260における操作を記録されたWebコンテンツを示す。Webコンテンツ140は、補助記憶装置40に文字列情報として格納される。操作ログ150は、Webコンテンツ140に対応する操作を示す情報である。操作ログ150は、実行可能なスクリプトファイルである。
 Webコンテンツ140と操作ログ150とは、各々対応しており、Webコンテンツ140には一意の識別子が付加される。
 補助記憶装置30に保持されるWebコンテンツ110は、原本であり、補助記憶装置40に保持されるWebコンテンツ140と対応する。テスト実施者は、Webコンテンツ110の内容を更新した後、更新後のWebコンテンツを操作記録又はテストする場合がある。このため、補助記憶装置40に保持されるWebコンテンツ140には、クライアント装置200において操作記録又はテストに用いられたWebコンテンツが格納される。
 (Webコンテンツ140及び操作ログ150)
 図2は、本発明の実施形態の補助記憶装置40に保持されるWebコンテンツ140の例を示す説明図である。
 Webコンテンツ140は、識別子1310、URL1320、及び、データ1330を含む。識別子1310は、各Webコンテンツ140に一意に付与された識別子である。
 URL1320は、Webコンテンツ140を示す名称であり、Webコンテンツ140を格納するリソース(サーバ、フォルダなど)を示す文字列を含んでもよい。データ1330は、Webコンテンツ140の内容であり、具体的なスクリプトが格納される。図2に示すデータ1330は、Webコンテンツ140をhtmlによって記載した場合の例である。
 なお、サーバ装置10に備わるWebコンテンツ140とクライアント装置200に備わるWebコンテンツ290とは、同じ内容を含む。
 図3は、本発明の実施形態の補助記憶装置40に保持される操作ログ150を示す説明図である。
 操作ログ150は、識別子1310、イベント1340、及び、データ1350を含む。操作ログ150に含まれる識別子1310は、Webコンテンツ140に含まれる1310に対応する。同じ識別子1310の行は、同じWebコンテンツ140における操作を示す。
 イベント1340は、Webコンテンツ140が実行された際に、Webコンテンツ140に含まれるフォームに行われる操作の内容を示す。データ1350は、イベント1340の対象になるフォーム、又は、入力される値などを含む。例えば、操作ログ150のイベント1340が"onClick"であり、データ1350が"RadioButton"である場合、その操作ログ150は、ラジオボタンをクリックした操作であることを示す。
 ここでフォームとは、例えば、WebコンテンツをHTMLによって作成する場合に、Webコンテンツに含まれる、リストボックス、テキストボックス、又は、ダイアログボックスといった、操作の対象を示す。
 なお、サーバ装置10に備わる操作ログ150とクライアント装置200に備わる操作ログ300とは、同じ内容を含む。
 (アプリケーションサーバ部70及びHTTPサーバ部80)
 HTTPサーバ部80は、ネットワーク190を介してクライアント装置200によって送られたHTTPリクエストを受信する。その後、受信したHTTPリクエストに含まれるクライアント装置200からの要求又はデータを抽出し、抽出された要求又はデータをアプリケーションサーバ部70へ送る。
 また、アプリケーションサーバ部70による処理が完了した後、HTTPサーバ部80は、クライアント装置200から送られたHTTPリクエストに対して、アプリケーションサーバ部70から受信した処理結果が挿入されたHTTPレスポンスを生成し、ネットワーク190を介して、生成されたHTTPレスポンスをクライアント装置200に送る。
 アプリケーションサーバ部70は、クライアント装置200によって送られたHTTPリスクエスト(要求)の内容に従って、操作記録/操作再生スクリプト埋込部50、又は、テストケース自動生成部60に要求又はデータを送り、その結果を受信する。
 クライアント装置200によって送られた要求が、操作記録及び/又は操作再生を行う処理の要求である場合、又は、操作ログ等を格納する要求である場合、アプリケーションサーバ部70は、操作記録/操作再生スクリプト埋込部50へ要求を渡す。
 操作記録/操作再生スクリプト埋込部50は、クライアント装置200から送られた要求が、クライアント装置200においてWebブラウザ260において行われる操作を記録する要求である場合、補助記憶装置30からWebコンテンツ110と操作記録スクリプト120とを取得する。そして、操作記録/操作再生スクリプト埋込部50は、後述の処理を行った後、Webコンテンツ110と操作記録スクリプト120とを、処理の結果としてアプリケーションサーバ部70に送る。
 また、操作記録/操作再生スクリプト埋込部50は、クライアント装置200から送られた要求が、クライアント装置200においてWebブラウザ260上で操作を再生する要求である場合、補助記憶装置30に保持される操作再生スクリプト130、及び、補助記憶装置40に保持されるWebコンテンツ140と操作ログ150とを取得する。そして、操作記録/操作再生スクリプト埋込部50は、後述の処理を行った後、取得された操作再生スクリプト130、Webコンテンツ140及び操作ログ150を、処理の結果として、アプリケーションサーバ部70に送る。
 クライアント装置200から送られた要求が、テストケースを自動的に生成する要求を含む場合、アプリケーションサーバ部70は、テストケース自動生成部60へ要求を送る。テストケース自動生成部60は、アプリケーションサーバ部70から要求を受信すると、補助記憶装置40に保持されるWebコンテンツ140と操作ログ150とを取得する。
 そして、テストケース自動生成部60は、後述の処理を行った後、取得されたWebコンテンツ140と操作ログ150とを、処理の結果としてアプリケーションサーバ部70へ送る。さらに、アプリケーションサーバ部70は、HTTPサーバ部80を介して、クライアント装置200へ取得されたWebコンテンツ140と操作ログ150とを送る。
 本実施形態のアプリケーションサーバ部70及びHTTPサーバ部80は、常に前述のように、クライアント装置200から送信される要求を操作記録/操作再生スクリプト埋込部50又はテストケース自動生成部60に送り、操作記録/操作再生スクリプト埋込部50又はテストケース自動生成部60からの結果をクライアント装置200に送る。
 (テストケース自動生成の処理概要)
 以下に、本実施形態のシステムのテストケース自動生成処理の概要を示す。
 テストケースを自動的に生成するため、本実施形態のシステムは、Webコンテンツ290がクライアント装置200において実行された際に、テスト実施者が行ったテストに関する操作ログ300を記録し、サーバ装置10の補助記憶装置40にあらかじめ保持する。
 そして、クライアント装置200が更新後のWebコンテンツ290のテストケースを生成する要求を、サーバ装置10に送信した際に、本実施形態のサーバ装置10は、あらかじめ保持されていた操作ログ150に基づいて、新たなテストケースを生成し、さらに、クライアント装置200に送る。クライアント装置200は、送られたテストケースを必要に応じて修正し、修正されたテストケースと対応するWebコンテンツ290(Webコンテンツ140)とを登録する要求を、サーバ装置10に送る。
 さらに、クライアント装置200は、操作の自動再生をサーバ装置10に要求する。サーバ装置10は、クライアント装置200からの要求に従って、Webコンテンツ140(Webコンテンツ290)に対応する操作ログ150をクライアント装置200に送信する。クライアント装置200は、サーバ装置10によって送信された操作ログ150に基づいて、Webコンテンツ290を自動再生する。これによって、本実施形態のシステムは、自動的に生成されたテストケースを、実行することができる。
 以下において、操作の記録処理、テストケースの自動生成処理、及び、操作の再生処理を説明する。
 (操作の記録処理)
 以下に、本実施形態のシステムのWebブラウザ260における操作を記録する処理を示す。
 図4は、本発明の実施形態のWebブラウザ260において行われた操作を記録する処理、及び、サーバ装置10に記録結果を格納する処理を示すシーケンス図である。
 テスト実施者は、特定のWebコンテンツのテストケースを生成する場合、まず、WebコンテンツをWebブラウザ260において実行した際の操作を記録する。テスト実施者は、クライアント装置200によって、特定のWebコンテンツと、操作を記録する要求とをサーバ装置10に送る(310)。
 なお、操作を記録されるWebコンテンツが、あらかじめ補助記憶装置30のWebコンテンツ110に格納されている場合、クライアント装置200は、シーケンス310において、操作を記録されるWebコンテンツを示す情報(ファイル名、識別子等)をサーバ装置10に送ってもよい。また、操作を記録されるWebコンテンツが、クライアント装置200の補助記憶装置250に格納されていない場合、シーケンス310において操作を記録されるWebコンテンツを、補助記憶装置250に格納してもよい。
 サーバ装置10は、特定のWebコンテンツ又はWebコンテンツを示す情報と、操作を記録する要求とを、クライアント装置200から、前述の通り、HTTPサーバ部80及びアプリケーションサーバ部70によって受信する。そして、クライアント装置200から送信された要求が、操作を記録する要求であるため、アプリケーションサーバ部70は、受信した要求等を、操作記録/操作再生スクリプト埋込部50に送る。
 その後(320)、操作記録/操作再生スクリプト埋込部50は、送られたWebコンテンツに対応するWebコンテンツ110が補助記憶装置30に保持される場合、クライアント装置200から送られたWebコンテンツ又はWebコンテンツを示す情報に対応するWebコンテンツ110を取得する(330)。
 さらに、サーバ装置10の操作記録/操作再生スクリプト埋込部50は、補助記憶装置30に保持される操作記録スクリプト120を取得する(340)。操作記録/操作再生スクリプト埋込部50は、操作を記録されるWebコンテンツ110と、操作記録スクリプト120とを取得した後、操作記録/操作再生スクリプト埋込部50によって、取得されたWebコンテンツ110に操作記録スクリプト120を付加する。
 さらに操作記録/操作再生スクリプト埋込部50は、クライアント装置200によって送信されたWebコンテンツ、又は、補助記憶装置30から取得されたWebコンテンツ110に一意な識別子を付与し、補助記憶装置40のWebコンテンツ140に格納する(350)。
 なお、シーケンス350において付与される識別子は、同じファイル名を持つWebコンテンツ140に一意に付与されてもよい。すなわち、識別子は、バージョンが異なるが同じ名称のWebコンテンツ140に一意に付与されてもよいし、Webコンテンツ140のバージョン毎に付与されてよい。
 ただし、バージョンが異なるが同じ名称のWebコンテンツ140に一意に識別子を付与する場合、サーバ装置10には、管理者等によって、クライアント装置200に送るWebコンテンツ140のバージョンをあらかじめ設定される。例えば、サーバ装置10には、常に最新のバージョンのWebコンテンツ140を、クライアント装置200に送信するように、あらかじめ設定される。
 シーケンス330及び340によって、サーバ装置10は、操作を記録されるWebコンテンツ140と、操作記録スクリプト120とを、あわせてクライアント装置200に送信することができる。
 サーバ装置10は、シーケンス330、340及び350の後、操作を記録されるWebコンテンツ140と、操作記録スクリプト120と、Webコンテンツ140を一意に示す識別子とを、クライアント装置200に送信する。なお、サーバ装置10は、前述の通り、アプリケーションサーバ部70及びHTTPサーバ部80を介して、操作を記録されるWebコンテンツ140等を、クライアント装置200に送信する。
 クライアント装置200は、サーバ装置10からWebコンテンツ140と、操作記録スクリプト120と、Webコンテンツ140を一意に示す識別子とを受信した後、サーバ装置10から送られたWebコンテンツ140を、受信した識別子とともに、補助記憶装置250のWebコンテンツ290に格納する。
 そしてクライアント装置200は、操作を記録されるWebコンテンツ290を、Webブラウザ260によって実行する(360)。そして操作記録/操作再生スクリプト部270は、テスト実施者がWebコンテンツ290をテストする際に行う操作を、操作記録スクリプト120を実行することによって記録する(370)。クライアント装置200は、シーケンス370において取得された操作ログを、操作ログ300に格納する。
 クライアント装置200は、シーケンス370において取得された操作ログ300と、Webコンテンツ290の識別子と、操作ログ300の格納の要求とを、サーバ装置10に送信する(380)。
 サーバ装置10は、クライアント装置200から操作ログ300と、Webコンテンツ290の識別子と、操作ログ300の格納の要求を、前述の通り、アプリケーションサーバ部70及びHTTPサーバ部80を介して、受信する。その後(390)、操作記録/操作再生スクリプト埋込部50は、受信した操作ログ300を、同じく受信したWebコンテンツ290の識別子に基づいて、補助記憶装置40の操作ログ150に格納する(400)。具体的には、受信したWebコンテンツ290の識別子が示すWebコンテンツ140に対応する操作ログ150に、受信した操作ログ300を格納する。
 その後、サーバ装置10は、処理結果をクライアント装置200に送信する。処理結果には、操作を記録したWebコンテンツ290の識別子と、操作ログ300を格納した旨が含まれる。これによって、補助記憶装置250のWebコンテンツ290及び操作ログ300と、補助記憶装置40のWebコンテンツ140及び操作ログ150とは、同期される。
 図4に示す処理のとおり、更新前のWebコンテンツの操作ログ150をあらかじめ取得することによって、テスト実施者が更新後のWebコンテンツのテストケースを新たに作成する場合、クライアント装置200は、基準となる操作ログ150を取得することができる。
 図5は、本発明の実施形態の操作記録をするWebコンテンツを取得する処理を示すフローチャートである。
 図5は、図4に示すステップ320を示すフローチャートである。図5に示す処理によれば、クライアント装置200から記録を要求されたWebコンテンツ140に、操作記録スクリプト120を、付加することができる。
 図4に示すシーケンス310の後、特定のWebコンテンツ又はWebコンテンツを示す情報と、操作を記録する要求とをクライアント装置200から受信した後、サーバ装置10の操作記録/操作再生スクリプト埋込部50は、図5に示す処理を開始する(610)。操作記録/操作再生スクリプト埋込部50は、クライアント装置200から送られたWebコンテンツ、又は、Webコンテンツを示す情報を用いて、補助記憶装置30に保持されるWebコンテンツ110のうち、クライアント装置200から要求されたWebコンテンツに対応するWebコンテンツ110を取得する(620)。
 ステップ620の後、操作記録/操作再生スクリプト埋込部50は、取得されたWebコンテンツ110に、同じく補助記憶装置30から取得された操作記録スクリプト120を付加する(630)。そして操作記録/操作再生スクリプト埋込部50は、操作を記録されるWebコンテンツ110に、一意な識別子を付与する(640)。そして操作記録/操作再生スクリプト埋込部50は、識別子を付与されたWebコンテンツ110を、補助記憶装置40に保持されるWebコンテンツ140に格納する(650)。
 サーバ装置10は、ステップ650の後、操作を記録されるWebコンテンツ110をクライアント装置200へ送り、処理を終了する(660)。
 図6は、本発明の実施形態のWebコンテンツ290の実行時に操作を記録する処理を示すフローチャートである。
 図6は、図4に示すシーケンス370を示すフローチャートである。ここでは、Webブラウザ260において実行されたWebコンテンツに、テスト実施者が行った操作に対応する操作ログ300を記録する処理を示す。
 図4のシーケンス370において、Webコンテンツ290が実行されると、図6に示す処理が開始される(670)。まず、テスト実施者が、実行されたWebコンテンツ290を操作すると(680)、操作記録/操作再生スクリプト部270が操作記録スクリプト120を実行することによって、操作内容を操作ログ(スクリプトファイル)300に記録する(690)。
 具体的には、操作記録/操作再生スクリプト部270は、操作記録スクリプト120によって、Webコンテンツ290が実行中、Webコンテンツ290が操作されているか否かを判定する。そして、Webコンテンツ290が操作された場合、操作記録/操作再生スクリプト部270は、その操作を操作ログ300に記録する。
 また、操作記録/操作再生スクリプト部270は、実行可能なスクリプトファイルとして操作内容を操作ログ300に記録する。これは、操作記録/操作再生スクリプト部270によって記録された操作ログ300を、クライアント装置200が実行することによって、操作内容を再生できるようにするためである。
 そして、テスト実施者は、Webコンテンツ290への操作が終了したか否かを判定し(700)、操作が終了していない場合、ステップ680に戻る。そして、操作が終了した場合、処理を終了する(710)。
 図7は、本発明の実施形態の操作と操作ログ300との関係を示す説明図である。
 操作記録/操作再生スクリプト部270は、図4に示すシーケンス370において、Webコンテンツ290が実行されたWebブラウザ260にテスト実施者が行う操作を、操作ログ300に記録する。
 図7は、WebコンテンツによってWebブラウザ260に表示される画面を示す。図7に示すWebブラウザ260に表示される画面は、名前領域1281、性別領域1282、職業領域1283、及び、登録領域1284を含む。名前領域1281は、テキストボックスのフォームであり、性別領域1282はラジオボタンのフォームであり、職業領域1283はリストボックスの領域であり、登録領域1284はボタンのフォームである。
 例えば、テスト実施者が、名前領域1281のテキストボックスに「JOHN SMITH」と入力した場合(操作A)、操作記録/操作再生スクリプト部270は、操作ログ300のイベント1340に"changed"を記録し、データ1350に"TextBox#1:JOHN SMITH"を記録する。
 さらに例えば、テスト実施者が、性別領域1282のラジオボタンのうち、"男性"へカーソルを動かし、"男性"を選択した場合(操作B)、操作記録/操作再生スクリプト部270は、イベント1340に"onClick"を記録し、データ1350に"RadioButton"を記録する。また、操作Bにおいて、イベント1340に"changed"を記録し、データ1350に"RadioButton#1:check"を記録する。
 図8は、本発明の実施形態のサーバ装置10に操作ログを格納する処理を示すフローチャートである。
 図8は、図4のシーケンス390に示す処理である。また、クライアント装置200によって送られた操作ログ300を、補助記憶装置40に保持される操作ログ150に格納する処理である。
 サーバ装置10は、クライアント装置200によって操作ログ300と、Webコンテンツ290を示す識別子と、操作ログ300の格納の要求とを受信した後、図8に示す処理を開始する(720)。720の後、サーバ装置10に備わる操作記録/操作再生スクリプト埋込部50は、クライアント装置200から送られた操作ログ300、及び、Webコンテンツ290を示す識別子を取得し(730、740)、取得した識別子に対応するWebコンテンツ140と対応するように、操作ログ300を操作ログ150に格納する。
 (テストケースの自動生成処理)
 (概要)
 テスト実施者は、クライアント装置200に備わるWebブラウザ260を介して、テストケースの自動生成の要求、及び、テストをするWebコンテンツを示す情報(IDなど)をサーバ装置10に送信する。サーバ装置10のHTTPサーバ部80は、テスト実施者から送られた要求及びWebコンテンツを示す情報を受信する。
 テスト実施者から送られた要求が、HTTPサーバ部80から、アプリケーションサーバ部70へ送られ、さらに、アプリケーションサーバ部70からテストケース自動生成部60へ送られた後、テストケース自動生成部60は、補助記憶装置40に保持されるWebコンテンツ140及び操作ログ150を取得する。そして、テストケース自動生成部60は、取得されたWebコンテンツ140及び操作ログ150に基づいて、テストケースを自動的に生成し、さらに、各テストケースに対応するスクリプトファイルを生成する。そして、生成されたスクリプトファイルを、クライアント装置200へ生成したスクリプトファイルを送信する。
 その後テスト実施者は、クライアント装置200のWebブラウザ260を用いて、サーバ装置10から送られた各テストケースに対応するスクリプトファイルを修正する。そして、クライアント装置200は、テスト実施者によって修正されたスクリプトファイル(操作ログ300)をサーバ装置10へ送信すると共に、送信する操作ログ300をサーバ装置10に備わる補助記憶装置40へ格納する要求を送信する。
 サーバ装置10は、クライアント装置200によって送られた補助記憶装置40へのスクリプトファイル(操作ログ300)の登録要求を受け、テストケース自動生成部60によって、スクリプトファイル(操作ログ300)を補助記憶装置40に保持される操作ログ150に格納する。また、テストケース自動生成部60によって、テストケースが自動的に生成されたWebコンテンツ110を、補助記憶装置40に保持されるWebコンテンツ140に格納する。
 図9は、本発明の実施形態の更新したWebコンテンツに対するテストケースを自動生成する処理を示すシーケンス図である。以下に詳細を説明する。
 図9に示す処理は、テスト実施者が、Webコンテンツを更新し、更新されたWebコンテンツの新たなテストケースを生成する場合、又は、新規のWebコンテンツに対応する新たなテストケースを生成する場合などに実施される。
 テスト実施者は、テストケースを生成されるWebコンテンツを選定し、選定したWebコンテンツ及びWebコンテンツを示す情報と、選定したWebコンテンツのテストケースを自動的に生成(自動生成)する要求とを、クライアント装置200に入力する(480)。
 その後、クライアント装置200は、Webコンテンツと、入力されたWebコンテンツを示す情報と、テストケースを自動生成する要求とを、サーバ装置10に送信する(490)。
 なお、シーケンス490においてサーバ装置10に送られる情報のうち、Webコンテンツを示す情報は、Webコンテンツを示すファイル名、URL名、又は、識別子のいずれであってもよい。すなわち、後述するコンテンツ解析処理500において、更新前のWebコンテンツ140のうち最新を常に抽出する場合、Webコンテンツを示す情報は、ファイル名又はURL名であってよい。また、後述するコンテンツ解析処理500において、更新前のWebコンテンツ140のうち特定のバージョンのWebコンテンツ140を抽出する場合、Webコンテンツを示す情報には、識別子を用いてよい。
 サーバ装置10は、クライアント装置200によって送られた、テストケースを自動生成されるWebコンテンツ、Webコンテンツを示す情報、及び、テストケースを自動生成する要求を、前述の通り、HTTPサーバ部80及びアプリケーションサーバ部70を介して、受信する。その後、サーバ装置10のテストケース自動生成部60は、コンテンツ解析処理500を実行する。
 なお、以下に示すシーケンス510、520、530及び550の処理は、サーバ装置10によってテストケースを生成されるWebコンテンツがあらかじめ保持される場合、実行される。すなわち、新規のWebコンテンツにテストケースが生成される場合、実行されない。
 サーバ装置10は、テストケース自動生成部60によってコンテンツ解析処理500を実行する。コンテンツ解析処理500において、テストケース自動生成部60は、送られてきたWebコンテンツを示す情報に基づいて、Webコンテンツ140のうち、送られてきたWebコンテンツの更新前のWebコンテンツ140を取得する(520)。
 サーバ装置10は、更新後のWebコンテンツに対応する各テストケースの操作ログを生成するために、基準となる操作ログを取得するため、シーケンス420において取得されたWebコンテンツ140に対応する操作ログ150を取得する(550)。
 また、更新後のWebコンテンツと、更新前のWebコンテンツ140とを比較し、差分を抽出する(510)。そして、更新後のWebコンテンツのうち、更新前のWebコンテンツ140から変更又は追加された部分を抽出し、Webコンテンツとして生成する(530)。
 さらに、サーバ装置10はコンテンツ解析処理500において、Webコンテンツ140が、バージョンごとに識別子を付与されている場合、クライアント装置から送られてきたWebコンテンツ、すなわち更新後のWebコンテンツに一意な識別子を付与する。
 コンテンツ解析処理500の後、サーバ装置10のテストケース自動生成部60は、コンテンツ解析処理500において取得されたWebコンテンツとWebコンテンツ140との比較の結果及び操作ログを用い、更新後のWebコンテンツに対するテストケースを生成する。また、各テストケースに対する操作ログを生成する(540)。また、テストケース自動生成部60は、シーケンス540において、補助記憶装置30に保持されるテストケース修正スクリプト90を取得する(555)。
 ここで、本実施形態のテストケースとは、Webコンテンツ290によってWebブラウザ260に表示される各フォームに、テストにおいて入力される値を示す情報である。テストケースには、各フォームに入力された場合に正常な結果を得られる値(正常値)、異常な結果を得られる値(異常値)、正常値と異常値との間の境界値、又は、境界値の前後の値などが、含まれる。
 また、操作ログとは、前述のとおり、WebコンテンツがWebブラウザ260に表示する各フォームへの操作を示すスクリプトファイルである。すなわち、本実施形態の操作ログは、テストケースに基づいて作成された場合、テストにおいて実行されるスクリプトファイルになる。
 本実施形態において、操作ログは、テストケース及びWebコンテンツによって生成される。すなわち、テストケースも操作ログも、同じテストシナリオの内容を保持する。このため、補助記憶装置40及び補助記憶装置250には、操作ログ150及び操作ログ300の代わりに、テストケースが格納され、テスト又は操作の再生等を行う際に、テストケースから操作ログが生成されてもよい。
 サーバ装置10のテストケース自動生成部60は、シーケンス540において、生成されたテストケースに、テストケース修正スクリプト90と、コンテンツ解析処理500において生成された識別子などのWebコンテンツを示す情報とを付加し、前述の通り、アプリケーションサーバ部70及びHTTPサーバ部80を介して、クライアント装置200へ送信する。
 なお、シーケンス540においてサーバ装置10は、テストケースとともに、又は、テストケースの代わりに、生成された操作ログをクライアント装置200に送ってもよい。すなわち、操作ログがクライアント装置200に送られる場合、クライアント装置200は、後述のシーケンス560において、送られた操作ログに含まれるテストケースを抽出し、抽出されたテストケースを修正してもよい。
 クライアント装置200が、生成されたテストケースとテストケース修正スクリプト90とWebコンテンツを示す情報とを受信した後、クライアント装置200は、テストケース修正スクリプト部280にテストケース修正スクリプト90を実行させる。
 そして、テストケース修正スクリプト部280は、Webブラウザ260を用いて、テストケースを修正するための画面を表示することによって、テスト実施者に、サーバ装置10から送られたテストケースを確認及び修正させる(560)。このように、サーバ装置10から送られたテストケースをテスト実施者が任意に変更することによって、本実施形態のシステムは、テストを実施する環境に従った適切なテストケースを生成することができる。
 その後クライアント装置200は、修正されたテストケースをサーバ装置10に格納するため、確認及び修正されたテストケースと、テストケースに対応するWebコンテンツを示す情報とをサーバ装置10に送信する(570)。
 サーバ装置10が、前述の通り、HTTPサーバ部80及びアプリケーションサーバ部70を介して、修正されたテストケースをクライアント装置200から受信した後(580)、テストケース自動生成部60は、修正されたテストケースから操作ログを生成する。そして、生成された操作ログを、補助記憶装置40の操作ログ150に格納する(590)。そして、コンテンツ解析処理500において受信した更新後のWebコンテンツを、補助記憶装置40に保持されるWebコンテンツ140に格納する(600)。
 なお、コンテンツ解析処理500においてWebコンテンツを示す識別子が付与されている場合、シーケンス590及び600において、Webコンテンツを示す識別子をキーとして操作ログ及びWebコンテンツを補助記憶装置40へ格納する。
 さらにシーケンス600の後、サーバ装置10は、修正されたテストケースから生成された操作ログをクライアント装置200に送信してもよく、さらに、クライアント装置200は、サーバ装置10から送られた操作ログと、更新後のWebコンテンツと、Webコンテンツを示す識別子とを、補助記憶装置250に格納してよい。
 図10は、本発明の実施形態のテストケースを生成されるWebコンテンツを、クライアント装置200に入力するための画面を示す説明図である。
 図10に示す画面は、Webコンテンツ指定領域1200、参照ボタン1210、識別子指定領域1220、生成ボタン1230、及び、キャンセルボタン1240を含む。テスト実施者は、テストケースを自動生成するWebコンテンツの名称等を、Webコンテンツ指定領域1200に記載する。クライアント装置200に備わるフォルダに、新規又は更新後のWebコンテンツが格納されている場合、参照ボタン1210によって、フォルダ名を取得する。
 また、テストケースが生成されるWebコンテンツが、更新によって生成されたWebコンテンツである場合、テスト実施者は、更新前のWebコンテンツの識別子を1220に入力してよい。テスト実施者は、Webコンテンツの識別子として、補助記憶装置250に保持されるWebコンテンツ290に含まれる識別子1310を参照する。これは、Webコンテンツ290に含まれる識別子1310は、図4に示す処理など、サーバ装置10からWebコンテンツの識別子を送られることによって、補助記憶装置40に保持されるWebコンテンツ140の識別子と同期しているためである。
 テスト実施者は、Webコンテンツ指定領域1200又は識別子指定領域1220に値を入力し、生成ボタン1230を操作する。これによって、図9に示すシーケンス480が実行される。なお、生成ボタン1230は、クリックなどによって操作される。
 図11は、本発明の実施形態のコンテンツ解析処理500を示すフローチャートである。図11は、図9のコンテンツ解析処理500を示す。
 シーケンス490において、新規又は更新後のWebコンテンツと、Webコンテンツを示す情報と、テストケースを自動生成する要求とをクライアント装置200によって送られた後、サーバ装置10は、図11に示す処理を開始する(890)。サーバ装置10に備わるテストケース自動生成部60は、クライアント装置200から送られたWebコンテンツに対応する更新前のWebコンテンツ140が、補助記憶装置40に格納されているか否かを判定する(900)。更新前のWebコンテンツ140が、補助記憶装置40に格納されていない場合、クライアント装置200によって送られたWebコンテンツは、新規のWebコンテンツであるため、テストケース自動生成部60は、ステップ960に移行する。
 更新される前のバージョンのWebコンテンツ140が、補助記憶装置40に格納されている場合、クライアント装置200によって送られたWebコンテンツは、以前にテストを実施しており、操作ログ150が補助記憶装置40に格納されているため、テストケース自動生成部60は、ステップ910に移行する。テストケース自動生成部60は、補助記憶装置40に保持される、更新前のWebコンテンツ140を取得する(910)。また、補助記憶装置40に保持される、更新される前のバージョンのWebコンテンツ140に対応する操作ログ150を取得する(920)。
 なお、ステップ910及び920は、図9に示すシーケンス520及び550に相当する。
 ステップ920の後、テストケース自動生成部60は、クライアント装置200によって送られた更新後のWebコンテンツと、ステップ910において取得されたWebコンテンツ140、すなわち更新前のWebコンテンツとの差分を抽出する(930)。テストケース自動生成部60は、ステップ930において、更新後のWebコンテンツのうち、更新前のWebコンテンツから追加又は変更された部分、及び、更新前のWebコンテンツからは削除され、更新後のWebコンテンツにない部分を、差分として各々抽出する。
 ステップ930の後、テストケース自動生成部60は、更新前のWebコンテンツと更新後のWebコンテンツとの共通部分を取得し、ステップ920において取得された操作ログ150に基づいて、共通部分に対応する操作ログを生成する(940)。これは、Webコンテンツが共通すれば、対応する操作ログも共通するためである。なお、テストケース自動生成部60は、共通部分に対応する生成された操作ログを、主記憶装置20などに備わる一時記憶領域等に格納する。
 ステップ940の後、テストケース自動生成部60は、ステップ930において抽出された差分のうち、更新前のWebコンテンツから追加又は変更された部分を、共通部分に追加するWebコンテンツとして生成する(950)。これは、更新によって新たに操作ログを生成する必要があるWebコンテンツを生成するためである。ステップ940及び950によって、更新前のWebコンテンツから削除された部分は、新たな操作ログを生成する必要があるWebコンテンツに含まれない。
 ステップ900、又は、ステップ950の後、テストケース自動生成部60は、追加するWebコンテンツに対応する操作ログを生成するため、追加するWebコンテンツに含まれるフォームを抽出する(960)。
 具体的には、ステップ900からステップ960へ直接処理が移行した場合、テストケース自動生成部60はステップ960において、クライアント装置200によって送られた新規のWebコンテンツからフォームを抽出する。また、ステップ950からステップ960へ処理が移行した場合、テストケース自動生成部60はステップ960において、ステップ950において生成された、共通部分に追加するWebコンテンツからフォームを抽出する。
 ステップ960の処理によって、テストケース自動生成部60は、操作ログを生成するフォームを、各々分割することができる。ステップ960の後、テストケース自動生成部60は、コンテンツ解析処理500を終了する(970)。
 なお、図11に示すステップ930の処理が、図9に示すシーケンス510に相当し、図11に示すステップ940及び950の処理が、図9に示すシーケンス530に相当する。
 図12Aは、本発明の実施形態のテストケースを生成する処理を示すフローチャートである。
 図12Aは、図9のシーケンス540を示すフローチャートである。
 テストケース自動生成部60は、図11に示す処理を終了すると、図12Aに示す処理を開始する(980)。そして、テストケース自動生成部60は、ステップ960において抽出されたフォームのうち、一つのフォームを取得する(990)。
 そしてテストケース自動生成部60は、テストケース定義ファイル100に基づいて、ステップ990において取得された一つのフォームに対応するテストケースを生成する(1000)。テストケース定義ファイル100の詳細は、図13において後述する。
 ステップ1000の後、テストケース自動生成部60は、ステップ960において抽出されたフォームのうち、ステップ1000の処理が実行されていないフォームがあるか否かを判定する(1080)。ステップ1000の処理が実行されていないフォームがある場合、テストケース自動生成部60は、ステップ990に戻る。
 ステップ1080によって、追加又は変更によって更新されたWebコンテンツに対応するテストケースが生成される。
 ステップ1000の処理が実行されていないフォームがなく、ステップ960において抽出されたフォームがすべて処理された場合、テストケース自動生成部60は、ステップ1090に移行する。テストケース自動生成部60は、ステップ1090において、更新前のWebコンテンツと更新後のWebコンテンツとの共通部分に対応する操作ログが、主記憶装置20に備わる一時記憶領域に格納されているか否かを判定する。すなわち、図11に示すステップ940において生成されたか否かを判定する。
 ステップ1090において、更新前のWebコンテンツと更新後のWebコンテンツとの共通部分に対応する操作ログが、一時記憶領域に格納されていないと判定された場合、更新後のWebコンテンツは、すべて追加又は変更されたWebコンテンツであるため、テストケース自動生成部60は、ステップ1000において生成されたテストケースに対応する操作ログのみを生成し、この結果、更新後のWebコンテンツに対応する操作ログを取得する(1110)。
 ステップ1090において、更新前のWebコンテンツと更新後のWebコンテンツとの共通部分に対応する操作ログが、一時記憶領域に格納されていると判定された場合、テストケース自動生成部60は、共通部分に対応する操作ログを、主記憶装置20等に設けられる一時記憶領域から取得する(1100)。
 ステップ1100の後、テストケース自動生成部60は、ステップ1000において生成されたテストケースに対応する操作ログを生成する。そして、生成された操作ログを、共通部分に対応する操作ログに結合、すなわち、追加又は挿入することによって、更新後のWebコンテンツに対応する操作ログを生成する(1120)。
 ステップ1110又はステップ1120の後、テストケース自動生成部60は、生成された操作ログに対応するテストケースを抽出し、抽出されたテストケースを、クライアント装置200に送信する(1125)。また、テストケース自動生成部60は、ステップ1125において、テストケース修正スクリプト90を補助記憶装置30から取得する。そして、テストケース修正スクリプト90とWebコンテンツを示す情報とを、テストケースに付加し、クライアント装置200に送信する。
 ステップ1125の後、図12Aに示す処理を終了する(1130)。
 図12Aに示す処理によって、更新後のWebコンテンツに対応するテストケース及び操作ログを生成することができる。
 図12Bは、本発明の実施形態のテストケースを生成する処理を示すフローチャートである。図12Bは、図12Aのステップ1000に相当する。
 テストケース自動生成部60は、ステップ990の後、図12Bに示す処理を開始する(1001)。テストケース自動生成部60は、まず、ステップ990において取得された一つのフォームの種類を判定する(1005)。
 例えば、フォームの種類がテキストボックスである場合、テストケース自動生成部60は、テキストボックスに正常値が入力されるテストケースを生成する(1010)。また、テキストボックスに異常値が入力されるテストケースを生成し(1040)、テキストボックスに境界値が入力されるテストケースを生成する(1070)。
 また例えば、フォームの種類がラジオボタンである場合、テストケース自動生成部60は、ラジオボタンに正常値が入力されるテストケースを生成し(1020)、ラジオボタンに異常値が入力されるテストケースを生成する(1050)。
 また例えば、フォームの種類がボタンである場合、テストケース自動生成部60は、ボタンに正常値が入力されるテストケースを生成し(1030)、ボタンに異常値が入力されるテストケースを生成する(1060)。
 テストケース自動生成部60は、各フォームに対応するテストケースを生成すると、図12Bに示す処理を終了し(1075)、図12Aに示すステップ1080に移行する。
 なお、サーバ装置10は、各フォームに対応するテストケースを生成するためのテストケース定義ファイル100を、補助記憶装置30によって保持する。テストケース定義ファイル100には、フォームの種類に従って、生成されるべきテストケースがあらかじめ記載される。図12Bのステップ1000において、テストケース自動生成部60は、テストケース定義ファイル100を参照することによって、各フォームのテストケースを生成する。
 図13は、本発明の実施形態のテストケース定義ファイル100を示す説明図である。
 テストケース定義ファイル100は、フォーム101、条件102、及び、値103を含む。テストケース定義ファイル100は、テスト実施者又は管理者等によって、あらかじめ作成される。そして、作成されたテストケース定義ファイル100は、サーバ装置10に格納される。
 フォーム101は、フォームの種類を示し、例えば、テキストボックス、ラジオボタン、リストボックス、又は、ボタンなどを示す。条件102は、各フォーム101に操作がされた場合、入力されうる値の種類を示す。例えば、フォーム101がテキストボックスである場合、テキストボックスに入力されうる値は、正常値、異常値、又は、境界値のいずれかである。
 値103は、各フォーム101の各条件102に相当する、具体的な値である。例えば、本実施形態のテキストボックスは、半角文字が1024文字までを入力することができる。このため、フォーム101がテキストボックスであり、条件102が正常値である場合、値103には、1023文字以下の文字数の値が記載される。
 また、フォーム101がテキストボックスであり、条件102が境界値である場合、値103には、1024文字及び1025文字の値が格納される。また、条件102が、異常値である値103には、1026文字以上の値が格納される。
 また例えば、本実施形態のラジオボタンは、どのラジオボタンにも指定がなく、ラジオボタンが"Off"を示す場合にエラーを出力する。このため、フォーム101がラジオボタンであり、条件102が正常値である場合、値103には、"On"が格納され、条件102が異常値である場合、値103には、"Off"が格納される。
 また例えば、本実施形態のリストボックスは、あらかじめ定められたリストの値(リスト#1、リスト#2)以外が指定された場合にエラーを出力する。このため、フォーム101がリストボックスであり、条件102が正常値である場合、値103には、"リスト#1"、又は、"リスト#2"が格納され、また、条件102が異常値である値103には、"リスト#1"及び"リスト#2"以外の文字列が格納される。
 テストケース自動生成部60は、テストケース定義ファイル100を用いて、各フォームに対応する値103を列挙することによって、テストケースを生成する。
 図14は、本発明の実施形態のテストケースを修正するための画面1190を示す説明図である。
 図14は、サーバ装置10によって送られた各テストケースをテスト実施者に確認させるため、Webブラウザ260に表示される画面1190を示す。画面1190は、図9に示すシーケンス560において表示される。
 Webブラウザ260は、各々のフォームの各々の条件を、図14に示すアイコン1250に表示することによって、図9に示すシーケンス550において生成されたテストケースを、テスト実施者に示す。
 例えば、図14に示すCASE1は、テキストボックスのフォームに正常値を入力した後、ボタンのフォームに正常値を入力し、その後終了するテストケースである。また、図14に示すCASEnは、テキストボックスのフォームに正常値を入力し、ラジオボタンのフォームに正常値を入力し、リストボックスのフォームに正常値を入力し、ボタンのフォームに正常値を入力した後、終了するテストケースである。
 テスト実施者は、テストケースのうち修正したいテストケースがある場合、修正したいテストケースのフォームを示すアイコン1250を操作し、テストケースを修正する。そして、テストケースを修正後、テスト実施者が登録ボタン1260を操作することによって、クライアント装置200は、修正したテストケースと、修正されたテストケースの格納の要求とをサーバ装置10に送信する(図9に示すシーケンス570に相当)。なお、アイコン1250及び登録ボタン1260は、クリックなどによって操作される。
 図15は、本発明の実施形態のテストケースの値を修正するための画面1280を示す説明図である。
 図15は、サーバ装置10によって送られた各テストケースの値を、テスト実施者が修正するためにWebブラウザ260に表示される画面1280を示す。
 テスト実施者が、図14に示す画面1190において、CASE1のテキストボックスのフォームに関する値を修正したい場合、テスト実施者は、CASE1のテキストボックスのフォームを示すアイコン1250を操作する。その後、図15に示す画面1280が、Webブラウザ260によって表示される。
 画面1280には、Webコンテンツによって表示される画面のうち、図14において操作されたアイコン1250に対応するフォームの領域のみが表示される。そして、その他の領域は、テスト実施者によって選択することができないように、マスク等がされる。
 テスト実施者が、画面1280に表示されるテキストボックスを選択すると、テキストボックスをテストするための値を修正するための画面1290が表示される。テスト実施者は、各条件に対応する値を修正し、OKボタン1300を操作することによって、修正する内容を決定する。OKボタン1300は、クリックなどによって操作される。
 なお、テストケースを修正するための画面1190及び画面1280は、図14及び図15の表示方法に限られず、テストケースのフォーム毎に一意に指定でき、値を変更できる方法であれば、いずれの表示方法でもよい。
 図16は、本発明の実施形態のクライアント装置200によって修正されたテストケース及び操作ログを格納する処理を示すフローチャートである。
 図16は、クライアント装置200に備わるWebブラウザ260とテストケース修正スクリプト部280とによって、修正されたテストケース及び操作ログ300を、サーバ装置10へ格納する処理を示す。図16に示す処理は、図9に示すシーケンス580に相当する。
 サーバ装置10は、クライアント装置200によって修正されたテストケースの格納の要求を受信するると、図16に示す処理を開始する(1150)。サーバ装置10は、クライアント装置200から受信したテストケース、及び、テストケースから生成された操作ログに、一意な識別子を付与する(1160)。
 そしてサーバ装置10は、補助記憶装置40の操作ログ150に、クライアント装置200から送られた操作ログを格納する(1170)。その後サーバ装置10は、図16に示す処理を終了する。
 (操作の再生処理)
 図17は、本発明の実施形態のサーバ装置10に保持されるWebコンテンツ140及びWebコンテンツ140に対応する操作ログ150を、クライアント装置200において再生する処理を示すシーケンス図である。
 テスト実施者が、WebコンテンツをWebブラウザ260において実行する際に、以前に行われた操作を再生する場合、又は、サーバ装置10によって自動的に生成されたテストケースによってテストをする場合、まず、クライアント装置200は、Webコンテンツの操作を再生する要求をサーバ装置10へ送信する(410)。
 クライアント装置200は、シーケンス410において、Webコンテンツの操作を再生する要求と、要求されるWebコンテンツに対応するWebコンテンツ140を示す情報とを送信する。Webコンテンツ140を示す情報は、図4及び図9に示す処理によって、あらかじめクライアント装置200によって保持される。
 サーバ装置10が、特定のWebコンテンツの操作を再生する要求と、要求されるWebコンテンツに対応するWebコンテンツ140を示す情報とを、前述の通り、HTTPサーバ部80及びアプリケーションサーバ部70を介して、受信した後(420)、操作記録/操作再生スクリプト埋込部50は、補助記憶装置30に保持される操作再生スクリプト130を取得する(425)。
 また、サーバ装置10の操作記録/操作再生スクリプト埋込部50は、受信した情報に基づいて、補助記憶装置40に保持されるWebコンテンツ140とそのWebコンテンツ140に対応する操作ログ150とを取得する(430、440)。そして、取得された操作再生スクリプト130とWebコンテンツ140と操作ログ150とを、アプリケーションサーバ部70及びHTTPサーバ部80を介して、クライアント装置200に送信する。
 なお、シーケンス430及び440において、クライアント装置200から送られたWebコンテンツを示す情報が識別子である場合、操作記録/操作再生スクリプト埋込部50は、識別子に基づいてWebコンテンツ140及び操作ログ150を取得する。一方、クライアント装置200から送られたWebコンテンツを示す情報がファイル名等である場合、操作記録/操作再生スクリプト埋込部50は、最新のバージョンなど、管理者等によってあらかじめ定められたバージョンのWebコンテンツ140及び操作ログ150を取得する。
 クライアント装置200は、サーバ装置10から操作再生スクリプト130とWebコンテンツ140と操作ログ150とを送信された後、送信されたWebコンテンツ140をWebコンテンツ290に格納し、送信された操作ログ150を操作ログ300に格納する。そして、新たに格納されたWebコンテンツ290を操作記録/操作再生スクリプト部270によって実行する(460)。操作記録/操作再生スクリプト部270は、新たに格納されたWebコンテンツ290を実行し、新たに格納された操作ログ300を操作再生スクリプト130によって逐次実行することによって、操作を再生する(470)。
 図18は、本発明の実施形態の操作を再生するための情報の取得処理を示すフローチャートである。
 図18に示す処理は、図17のシーケンス420に示す処理である。図18は、クライアント装置200によって要求された、操作を再生する対象となるWebコンテンツ140及びWebコンテンツ140に対応する操作ログ150を補助記憶装置40から取得し、クライアント装置200へ送信する処理を示す。
 Webコンテンツの操作を再生する要求と、そのWebコンテンツに対応するWebコンテンツ140を示す識別子とを、クライアント装置200から送信された後、サーバ装置10は、図18に示す処理を開始する(770)。ステップ770の後、操作記録/操作再生スクリプト埋込部50は、クライアント装置200から送信されたWebコンテンツ140を示す情報によって、補助記憶装置40を参照し、Webコンテンツ140とWebコンテンツ140に対応する操作ログ150とを取得する(780、790)。
 そして操作記録/操作再生スクリプト埋込部50は、Webコンテンツ140をクライアント装置200において再生するため、補助記憶装置30に保持される操作再生スクリプト130を取得し、ステップ780において取得されたWebコンテンツ140に付加する(800)。そして操作記録/操作再生スクリプト埋込部50は、Webコンテンツ140及び操作ログ150を、クライアント装置200に送信し(810)、処理を終了する。
 なお、ステップ780及び790は、図17に示すシーケンス430及び440に相当する。
 図19は、本発明の実施形態の操作を再生する処理を示すフローチャートである。
 図19は、図17のシーケンス470の処理を示す。図19は、サーバ装置10によって取得されたWebコンテンツ140及びWebコンテンツ140に対応する操作ログ150を、クライアント装置200において再生する処理を示す。
 クライアント装置200は、サーバ装置10から送られたWebコンテンツ140を操作記録/操作再生スクリプト部270によって実行し、Webブラウザ260にWebコンテンツ140の画面を表示させる(840)。そして、操作記録/操作再生スクリプト部270は、サーバ装置10から送られた操作ログ150のうち、一つの操作を示すデータを取得し(850)、取得した操作を、Webコンテンツ140に挿入された操作再生スクリプト130によって実行させる(860)。
 さらに、操作記録/操作再生スクリプト部270はステップ860の後、サーバ装置10から送られた操作ログ150に、未実行の操作ログが含まれているか否かを判定し(870)、未実行の操作ログが含まれている場合、ステップ850に戻る。未実行の操作ログが含まれておらず、操作ログ150をすべて実行した場合、サーバ装置10は、操作を再生する処理を終了する(880)。
 なお、前述のとおり本実施形態において、操作ログとテストケースとを区別して記載したが、クライアント装置200及びサーバ装置10は、操作ログとテストケースとのどちらを保持してもよい。
 例えば、サーバ装置10は、図4のシーケンス390において、クライアント装置200から送られた操作ログ300からテストケースを抽出し、抽出されたテストケースを保持してもよい。そして、図9のシーケンス540において、更新前と更新後のWebコンテンツの共通部分に対応するテストケースを抽出し、共通部分に対応するテストケースと差部分に対応するテストケースとを結合させてもよい。
 前述のとおり、本実施形態によれば、Webコンテンツをテストするためのテストケースを、過去のテスト等によって用いられた操作ログ(スクリプトファイル)に基づいて自動的に生成することができ、さらに、自動的にテストを再生できるため、テストのための工数を削減できる。また、あらかじめ作成されたテストケース定義ファイルに基づいて、自動的にテストケースを生成するため、テストケースに漏れが発生することを防ぐことができる。この結果、Webコンテンツの品質向上が望める。
 以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
 本発明は、Webアプリケーションを開発するためのシステムに適用することができる。

Claims (14)

  1.  Webコンテンツと、前記Webコンテンツを操作するためのテストシナリオとを、記憶媒体に保持する計算機における、テストシナリオ生成方法であって、
     前記計算機が、前記記憶媒体に保持される更新前の第1のWebコンテンツと、更新後の第2のWebコンテンツとの共通部分と差部分とを抽出し、
     前記計算機が、前記第1のWebコンテンツを操作するための第1の前記テストシナリオのうち、前記共通部分に対応する前記テストシナリオを、前記第1のテストシナリオが格納される前記記憶媒体から抽出し、
     前記計算機が、前記抽出された共通部分に対応するテストシナリオと、前記抽出された差部分に対応する新たに生成されたテストシナリオとを結合することによって、前記第2のWebコンテンツを操作するための第2のテストシナリオを生成することを特徴とするテストケース生成方法。
  2.  前記方法は、
     前記計算機が、前記第2のWebコンテンツのうち、前記第1のWebコンテンツに追加されたWebコンテンツを、前記差部分に含め、
     前記計算機が、前記第1のWebコンテンツのうち、前記第2のWebコンテンツに含まれていないWebコンテンツを、前記差部分に含めないことを特徴とする請求項1に記載のテストシナリオ生成方法。
  3.  前記方法は、
     前記計算機が、前記第2のWebコンテンツを取得し、
     前記計算機が、前記取得された第2のWebコンテンツに基づいて、前記記憶媒体によって保持されるWebコンテンツのうち、前記第1のWebコンテンツと、前記第1のWebコンテンツを操作するための第1のテストシナリオとを、抽出することを特徴とする請求項1又は2に記載のテストシナリオ生成方法。
  4.  前記方法は、
     前記計算機が、前記第1のWebコンテンツと前記第2のWebコンテンツとの前記共通部分が抽出されるか否かを判定し、
     前記共通部分が抽出されない場合、前記計算機が、前記抽出された差部分に対応するテストシナリオを、前記第2のテストシナリオとして新たに生成し、
     前記共通部分が抽出された場合、前記計算機が、前記抽出された共通部分に対応する前記テストシナリオと、前記差部分に対応する新たに生成されたテストシナリオとを結合することによって、前記第2のテストシナリオを生成することを特徴とする請求項1から3のいずれか一項に記載のテストシナリオ生成方法。
  5.  前記テストシナリオは、少なくとも一つのテストケースを含み、
     前記計算機は、前記Webコンテンツに含まれるフォームに対応する前記テストケースを保持し、
     前記方法は、
     前記計算機が、前記差部分に含まれるフォームに対応する前記テストケースを取得し、
     前記計算機が、前記取得されたテストケースを含む前記テストシナリオを生成することによって、前記差部分に対応するテストシナリオを生成することを特徴とする請求項1から4のいずれか一項に記載のテストシナリオ生成方法。
  6.  前記計算機は、前記Webコンテンツを前記テストシナリオを用いて操作するための指示ファイルを保持し、
     前記方法は、
     前記計算機が、前記操作するための指示ファイルを、前記Webコンテンツに付加し、
     前記計算機が、前記操作するための指示ファイルを付加された第2のWebコンテンツと前記第2のWebコンテンツを操作するためのテストシナリオとを送信することを特徴とする請求項1から5のいずれか一項に記載のテストシナリオ生成方法。
  7.  前記方法は、
     前記計算機が、前記テストシナリオを修正するための画面を表示するためのデータを提供し、
     前記計算機が、前記画面によって修正されたテストシナリオを取得し、
     前記計算機が、前記画面によって修正されたテストシナリオを保持することを特徴とする請求項1から6のいずれか一項に記載のテストシナリオ生成方法。
  8.  前記計算機は、前記テストシナリオを修正するための指示ファイルを保持し、
     前記方法は、
     前記計算機が、前記修正するための指示ファイルと前記テストシナリオとを、前記第2のWebコンテンツに付加し、
     前記計算機が、前記修正するための指示ファイルを付加された第2のWebコンテンツと前記第2のWebコンテンツを操作するためのテストシナリオとを送信することを特徴とする請求項1から7のいずれか一項に記載のテストシナリオ生成方法。
  9.  Webコンテンツと前記Webコンテンツを操作するためのテストシナリオとを保持するサーバを備えるテストシナリオ生成システムであって、
     前記サーバは、
     更新前の第1のWebコンテンツと更新後の第2のWebコンテンツとの共通部分と差部分とを抽出し、
     前記第1のWebコンテンツを操作するための第1の前記テストシナリオのうち、前記共通部分に対応する前記テストシナリオを抽出し、
     前記抽出された共通部分に対応するテストシナリオと、前記抽出された差部分に対応する新たに生成されたテストシナリオとを結合することによって、前記第2のWebコンテンツを操作するための第2のテストシナリオを生成することを特徴とするテストシナリオ生成システム。
  10.  前記サーバは、
     前記第2のWebコンテンツのうち、前記第1のWebコンテンツに追加されたWebコンテンツを、前記差部分に含め、
     前記第1のWebコンテンツのうち、前記第2のWebコンテンツに含まれていないWebコンテンツを、前記差部分に含めないことを特徴とする請求項9に記載のテストシナリオ生成システム。
  11.  前記サーバは、
     前記Webコンテンツを実行するクライアントと接続され、
     前記第2のWebコンテンツを、前記クライアントから取得し、
     前記取得された第2のWebコンテンツに基づいて、前記サーバによって保持されるWebコンテンツのうち、前記第1のWebコンテンツと、前記第1のWebコンテンツを操作するための第1のテストシナリオとを、抽出することを特徴とする請求項9又は10に記載のテストシナリオ生成システム。
  12.  前記サーバは、
     前記第1のWebコンテンツと前記第2のWebコンテンツとの前記共通部分が抽出されるか否かを判定し、
     前記共通部分が抽出されない場合、前記抽出された差部分に対応するテストシナリオを、前記第2のテストシナリオとして新たに生成し、
     前記共通部分が抽出された場合、前記抽出された共通部分に対応する前記テストシナリオと、前記差部分に対応する新たに生成されたテストシナリオとを結合することによって、前記第2のテストシナリオを生成することを特徴とする請求項9から11のいずれか一項に記載のテストシナリオ生成システム。
  13.  前記テストシナリオは、少なくとも一つのテストケースを含み、
     前記サーバは、前記Webコンテンツに含まれるフォームに対応する前記テストケースを保持し、
     前記差部分に含まれるフォームに対応する前記テストケースを取得し、
     前記取得されたテストケースを含む前記テストシナリオを生成することによって、前記差部分に対応するテストシナリオを生成することを特徴とする請求項9から12のいずれか一項に記載のテストシナリオ生成システム。
  14.  Webコンテンツと、前記Webコンテンツを操作するためのテストシナリオとを保持する計算機によって実行されるテストシナリオ生成プログラムであって、
     前記プログラムは、
     前記計算機に、更新前の第1のWebコンテンツと更新後の第2のWebコンテンツとの共通部分と差部分とを抽出させ、
     前記計算機に、前記第1のWebコンテンツを操作するための第1の前記テストシナリオのうち、前記共通部分に対応する前記テストシナリオを抽出させ、
     前記計算機に、前記抽出された共通部分に対応するテストシナリオと、前記抽出された差部分に対応する新たに生成された前記テストシナリオとを結合することによって、前記第2のWebコンテンツを操作するための第2の前記テストシナリオを生成させることを特徴とするテストシナリオ生成プログラム。
PCT/JP2010/062621 2010-07-27 2010-07-27 テストシナリオ生成方法、テストシナリオ生成システム、及び、テストシナリオ生成プログラム WO2012014284A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012526233A JPWO2012014284A1 (ja) 2010-07-27 2010-07-27 テストシナリオ生成方法、テストシナリオ生成システム、及び、テストシナリオ生成プログラム
US13/811,756 US20130191814A1 (en) 2010-07-27 2010-07-27 Test scenario generation method, test scenario generation system, and test scenario generation program
PCT/JP2010/062621 WO2012014284A1 (ja) 2010-07-27 2010-07-27 テストシナリオ生成方法、テストシナリオ生成システム、及び、テストシナリオ生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/062621 WO2012014284A1 (ja) 2010-07-27 2010-07-27 テストシナリオ生成方法、テストシナリオ生成システム、及び、テストシナリオ生成プログラム

Publications (1)

Publication Number Publication Date
WO2012014284A1 true WO2012014284A1 (ja) 2012-02-02

Family

ID=45529531

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/062621 WO2012014284A1 (ja) 2010-07-27 2010-07-27 テストシナリオ生成方法、テストシナリオ生成システム、及び、テストシナリオ生成プログラム

Country Status (3)

Country Link
US (1) US20130191814A1 (ja)
JP (1) JPWO2012014284A1 (ja)
WO (1) WO2012014284A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015035216A (ja) * 2013-08-07 2015-02-19 飛捜股▲ふん▼有限公司 アプリケーションプログラムサーチの方法及びそのシステム
JP2017010180A (ja) * 2015-06-19 2017-01-12 株式会社日立製作所 テスト支援システムおよびテスト支援方法
JP2017207959A (ja) * 2016-05-19 2017-11-24 富士通株式会社 テストケース生成方法、テストケース生成プログラムおよびテストケース生成装置
WO2024176363A1 (ja) * 2023-02-21 2024-08-29 オーティファイ株式会社 テスト支援システム、テスト支援方法及びプログラム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9454464B2 (en) * 2012-08-08 2016-09-27 Cbs Interactive Inc. Application development center testing system
KR20150029184A (ko) * 2013-09-09 2015-03-18 삼성에스디에스 주식회사 애플리케이션을 테스트하는 기법
US9304891B1 (en) * 2013-11-04 2016-04-05 Intuit Inc. Load-test generator
US9237204B1 (en) * 2014-07-30 2016-01-12 Iboss, Inc. Web redirection for caching
US10715687B2 (en) * 2017-05-29 2020-07-14 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method for testing a series of processes of one or more applications
US10409711B2 (en) * 2017-06-12 2019-09-10 International Business Machines Corporation Automatically running tests against WEB APIs based on specifications
US10838850B2 (en) 2017-11-27 2020-11-17 Accenture Global Solutions Limited Robotic regression testing for smart devices
CN109634866A (zh) * 2018-12-14 2019-04-16 泰康保险集团股份有限公司 数据测试方法、装置、介质及电子设备
FR3090928B1 (fr) * 2018-12-21 2021-07-23 Amadeus Sas Systeme de gestion de donnes synchronise et procede
CN109739758B (zh) * 2018-12-28 2022-02-01 北京云测信息技术有限公司 测试用例转换方法和装置
US11354228B1 (en) * 2021-03-09 2022-06-07 Sap Se Automated exploratory testing using machine learning
CN116304399B (zh) * 2023-05-19 2023-08-11 建信金融科技有限责任公司 测试案例的可视化处理方法、装置及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112784A (ja) * 1998-09-30 2000-04-21 Hitachi Software Eng Co Ltd プログラムテスト支援装置及びプログラムテスト支援プログラムを記録した記録媒体
JP2003044318A (ja) * 2001-08-02 2003-02-14 Fujitsu Ltd テスト支援プログラムおよびテスト支援方法
JP2003091431A (ja) * 2001-09-19 2003-03-28 Hitachi Ltd テストシナリオ選択実行システム、方法、およびプログラム
JP2004118403A (ja) * 2002-09-25 2004-04-15 Fujitsu Ltd ソフトウェア機能テストデータ生成プログラムおよびソフトウェア機能テストデータ生成方法
JP2009075921A (ja) * 2007-09-21 2009-04-09 Hitachi Software Eng Co Ltd Webページテスト自動化装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102511037A (zh) * 2010-08-10 2012-06-20 国际商业机器公司 用于自动测试web应用的方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000112784A (ja) * 1998-09-30 2000-04-21 Hitachi Software Eng Co Ltd プログラムテスト支援装置及びプログラムテスト支援プログラムを記録した記録媒体
JP2003044318A (ja) * 2001-08-02 2003-02-14 Fujitsu Ltd テスト支援プログラムおよびテスト支援方法
JP2003091431A (ja) * 2001-09-19 2003-03-28 Hitachi Ltd テストシナリオ選択実行システム、方法、およびプログラム
JP2004118403A (ja) * 2002-09-25 2004-04-15 Fujitsu Ltd ソフトウェア機能テストデータ生成プログラムおよびソフトウェア機能テストデータ生成方法
JP2009075921A (ja) * 2007-09-21 2009-04-09 Hitachi Software Eng Co Ltd Webページテスト自動化装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015035216A (ja) * 2013-08-07 2015-02-19 飛捜股▲ふん▼有限公司 アプリケーションプログラムサーチの方法及びそのシステム
JP2017010180A (ja) * 2015-06-19 2017-01-12 株式会社日立製作所 テスト支援システムおよびテスト支援方法
JP2017207959A (ja) * 2016-05-19 2017-11-24 富士通株式会社 テストケース生成方法、テストケース生成プログラムおよびテストケース生成装置
WO2024176363A1 (ja) * 2023-02-21 2024-08-29 オーティファイ株式会社 テスト支援システム、テスト支援方法及びプログラム

Also Published As

Publication number Publication date
US20130191814A1 (en) 2013-07-25
JPWO2012014284A1 (ja) 2013-09-09

Similar Documents

Publication Publication Date Title
WO2012014284A1 (ja) テストシナリオ生成方法、テストシナリオ生成システム、及び、テストシナリオ生成プログラム
US7334220B2 (en) Data driven test automation of web sites and web services
US9118549B2 (en) Systems and methods for context management
JP4845153B2 (ja) 複数のクライアントを用いた分散環境で更新作業のコンフリクトを回避するシステム、方法、サーバ及びコンピュータプログラム
US8839107B2 (en) Context based script generation
US11635974B2 (en) Providing a different configuration of added functionality for each of the stages of predeployment, deployment, and post deployment using a layer of abstraction
US8301720B1 (en) Method and system to collect and communicate problem context in XML-based distributed applications
US20060265475A9 (en) Testing web services as components
JP2008117093A (ja) ユーザ操作記録・再現方法及び装置
US20080126390A1 (en) Efficient stress testing of a service oriented architecture based application
US20070168971A1 (en) Multi-tiered model-based application testing
JP5794107B2 (ja) 分散型コンピュータシステム、インタラクティブ型クライアント−サーバ・アプリケーションのベリファイ方法、及び製品
US20070073724A1 (en) System and method for automatic or semi-automatic software integration
JP5622647B2 (ja) シナリオ生成装置およびシナリオ生成プログラム
JP4023803B2 (ja) ウェブアプリケーション開発支援装置、データ処理方法及びプログラム
JP2012104108A (ja) 対話的クライアント‐サーバー・アプリケーションのステートレスな分散式並列クロール技法
JP5463717B2 (ja) アプリケーションテスト生成プログラム、アプリケーションテスト生成方法及びアプリケーションテスト装置
US20130198333A1 (en) Method and device for recording and reproducing web operation
US20220229767A1 (en) Test script generation apparatus, test script generation method and program
JP4672532B2 (ja) オペレータ擬似システムおよびオペレータ擬似方法
WO2020088087A1 (zh) 用于应用程序接口api测试的方法和设备
US9374437B2 (en) Schema validation proxy
JP2008293382A (ja) テスト仕様自動生成方式
US20220244975A1 (en) Method and system for generating natural language content from recordings of actions performed to execute workflows in an application
US12001324B2 (en) Operation pattern generation apparatus, operation pattern generation method and program

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: 10855294

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012526233

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13811756

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 10855294

Country of ref document: EP

Kind code of ref document: A1