Terminal device, information processing device, information processing system, and information processing method

The information processing system addresses the challenge of setting performance targets in load testing by dynamically adjusting load levels and storing successful execution results, optimizing application performance through automated load testing.

JP7732249B2Active Publication Date: 2025-09-02RICOH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2021114207
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-07-09
Publication Date
2025-09-02
Estimated Expiration
2041-07-09

AI Technical Summary

Technical Problem

Conventional techniques fail to automatically set performance targets for applications through load testing, which are crucial for optimizing application performance without excessive load.

Method used

An information processing system that includes a display control unit, operation reception unit, and communication unit to execute load tests, increasing load at a predetermined rate, and a storage unit to store performance target values based on successful execution results.

Benefits of technology

Automatically sets performance targets for applications, enabling efficient load testing and optimizing application performance by determining the maximum number of parallel processes that can be executed without exceeding system limits.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007732249000001
    Figure 0007732249000001
  • Figure 0007732249000002
    Figure 0007732249000002
  • Figure 0007732249000003
    Figure 0007732249000003
Patent Text Reader

Abstract

To automatically set a performance target value of an application.SOLUTION: An information processing system including an information processing apparatus which performs a load test of an application in response to a request from a terminal device comprises: the terminal device including a display control unit for displaying an execution screen of the load test, an operation accepting unit which accepts an execution request for the load test issued by user's operation on the execution screen, a control unit for increasing a load of a processing flow for the load test generated on the basis of the application, at a predetermined rate, and a communication unit for transmitting information about the load and an execution request for the processing flow to the information processing apparatus; a processing unit which accepts the information about the load and the execution request from the terminal device and gives the load to perform the processing flow; and a storage unit in which information about the load at the time of a successful execution result of the load test is stored as a performance target value.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a terminal device, an information processing device, an information processing system, and an information processing method. [Background technology]

[0002] In recent years, services that combine multiple functions, such as scanning and printing using devices such as image forming devices and email delivery, have become popular. For example, a service that performs predetermined processing on an image file generated by scanning, and then prints or emails it, is known. Applications that realize such functions require functional testing and load testing for multiple parameters. Patent Document 1 (JP-A-2005-102666) discloses a conventional technique for automatically setting parameters for load testing of an application. Summary of the Invention [Problem to be solved by the invention]

[0003] However, conventional techniques have not been able to automatically set performance targets for applications through load testing. Performance targets are information about the application performance that can be achieved without excessive load.

[0004] In view of the above-mentioned problems, an embodiment of the present invention aims to automatically set a performance target value for an application. [Means for solving the problem]

[0005] In order to solve the above-mentioned problems, the present invention provides an information processing system having an information processing device that executes a load test of an application in response to a request from a terminal device, the information processing system including: a display control unit that displays an execution screen of the load test; an operation reception unit that receives a request to execute the load test from a user on the execution screen; a control unit that increases the load of a process flow for the load test created based on the application at a predetermined rate; and a communication unit that transmits information related to the load and an execution request for the process flow to the information processing device. the control unit increases the number of processes that can be executed in parallel at a predetermined rate as the load. The load test system includes: the terminal device; a processing unit that receives information about the load and the execution request from the terminal device, applies the load, and executes the processing flow; and a storage unit that stores information about the load as a performance target value when the execution result of the load test is successful. the processing unit executes the number of process flows that can be executed in parallel in response to the execution request, and the storage unit stores the maximum number of process flows that can be executed in parallel when the execution result is successful, and the storage unit stores the maximum number of process flows that can be executed in parallel for each operation of a component that corresponds to each process in the process flow. The information processing device is characterized by having: [Effects of the Invention]

[0006] According to an embodiment of the present invention, performance targets for an application can be automatically set. [Brief explanation of the drawings]

[0007] [Figure 1] 1 is a diagram showing an example of a schematic diagram of an information processing system according to a first embodiment of the present invention. [Figure 2] FIG. 2 is a diagram illustrating an example of a hardware configuration of a server and a terminal device according to an embodiment of the present invention. [Figure 3] FIG. 1 is a diagram illustrating an example of a hardware configuration of an image forming apparatus according to an embodiment of the present invention. [Figure 4] FIG. 1 is a diagram showing an example of a functional block configuration diagram of an information processing system according to an embodiment of the present invention. [Figure 5] FIG. 10 is a sequence diagram illustrating an example of a load test process when an application according to an embodiment of the present invention is a target of the load test. [Figure 6] FIG. 10 is a diagram illustrating an example of an execution screen for a load test according to an embodiment of the present invention. [Figure 7] FIG. 10 is a diagram showing an example of a load test execution result screen (failure) according to the embodiment of the present invention. [Figure 8] FIG. 10 is a diagram illustrating an example of result information of a load test according to an embodiment of the present invention. [Figure 9] FIG. 10 is a diagram showing an example of an execution result screen (success) of a load test according to an embodiment of the present invention. [Figure 10] FIG. 10 is a sequence diagram illustrating an example of a process of controlling a load during operation by using an application as a load test target according to an embodiment of the present invention. [Figure 11] FIG. 10 is a diagram illustrating an example of a notification screen for notifying a user of a high load state according to an embodiment of the present invention. [Figure 12] FIG. 10 is a sequence diagram illustrating an example of a load test process when the operation of a component is the target of the load test according to an embodiment of the present invention. [Figure 13] FIG. 10 is a diagram showing an example of result information of a load test targeting the operation of a component according to an embodiment of the present invention. [Figure 14] FIG. 10 is a sequence diagram illustrating an example of a process of controlling a load during operation by subjecting an operation of a component to a load test according to an embodiment of the present invention. [Figure 15] FIG. 10 is a sequence diagram illustrating an example of a process for generating a test case on the server side according to an embodiment of the present invention. [Figure 16] FIG. 10 is a diagram illustrating an example of application information according to an embodiment of the present invention. [Figure 17] FIG. 10 is a diagram illustrating an example of a combination of parameter settings according to the embodiment of the present invention. [Figure 18] FIG. 10 is a diagram illustrating an example of component information according to an embodiment of the present invention. [Figure 19] FIG. 10 is a diagram illustrating an example of selective parameter setting according to an embodiment of the present invention. [Figure 20] FIG. 10 is a diagram showing an example of text input type parameter setting according to the embodiment of the present invention. [Figure 21]FIG. 10 is a diagram showing an example of result information of an automatic test according to an embodiment of the present invention. [Figure 22] FIG. 10 is a diagram showing an example of a schematic diagram of an information processing system according to a second embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0008] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of a terminal device, an information processing device, an information processing system, and an information processing method according to the present invention will be described in detail with reference to the accompanying drawings.

[0009] [First embodiment] <System Overview> 1 is a diagram showing an example of a schematic diagram of an information processing system according to a first embodiment of the present invention. The information processing system 1 includes a device 5, a terminal device 3, and a server 2, and each device can communicate via a communication network 4.

[0010] The server 2 is implemented by one or more information processing devices and provides various services via a communication network 4, each of which is implemented by a series of processes that combine one or more processes among a plurality of processes that respectively implement various functions. Applications are created to execute the series of processes and registered in the information processing system 1. Examples of functions include printing, scanning, faxing, email delivery, OCR (Optical Character Recognition), and file processing (data format conversion, processing, compression, decompression, barcoding, saving or uploading files to cloud storage, etc.). Here, a "series of processes" can also be expressed as a "processing flow" or a "job." Furthermore, a component is implemented by a program, module, etc. that executes a process to realize a specific function, and is defined, for example, by a class, function, etc. Furthermore, the process executed by a component is called an operation.

[0011] The devices 5 are, for example, image forming devices 9 such as MFPs (Multifunction Peripherals), PCs (Personal Computers), projectors, electronic whiteboards, digital cameras, etc. A user can use the devices 5 to utilize various applications and services provided by the information processing system 1. Note that, hereinafter, when multiple devices 5 are to be distinguished from one another, they will be referred to with suffixes such as "device 5a" and "device 5b."

[0012] The terminal device 3 is, for example, a desktop PC, a notebook PC, a smartphone, a tablet terminal, etc. used by a user. The user can use the terminal device 3 to utilize various services provided by the information processing system 1. In the following, when distinguishing between multiple terminal devices 3, they will be referred to using subscripts such as "terminal device 3a," "terminal device 3a," etc.

[0013] 1 is an example, and other configurations may be used. The information processing system 1 according to this embodiment includes various devices that input and / or output electronic data, and these devices use various services provided by the server 2.

[0014] <Hardware configuration example (server 2 and terminal device 3)> Fig. 2 is a diagram showing an example of the hardware configuration of the server 2 and the terminal device 3 according to an embodiment of the present invention. As shown in Fig. 2, the server 2 and the terminal device 3 are constructed by a computer, and include a CPU 501, a ROM 502, a RAM 503, a hard disk (HD) 504, a hard disk drive (HDD) controller 505, a display 506, an external device connection interface (I / F) 508, a network I / F 509, a bus line 510, a keyboard 511, a pointing device 512, a digital versatile disk rewritable (DVD-RW) drive 514, and a media I / F 516.

[0015] Of these, the CPU 501 controls the overall operation of the server 2 and the terminal device 3. The ROM 502 stores programs, such as an IPL, used to drive the CPU 501. The RAM 503 is used as a work area for the CPU 501. The HD 504 stores various data, such as programs. The HDD controller 505 controls the reading and writing of various data from and to the HD 504 under the control of the CPU 501. The display 506 displays various information, such as a cursor, menus, windows, characters, or images. The external device connection I / F 508 is an interface for connecting various external devices. In this case, external devices include, for example, USB (Universal Serial Bus) memories and printers. The network I / F 509 is an interface for data communication using the network N2. The bus line 510 is an address bus, a data bus, or the like, for electrically connecting the components, such as the CPU 501, shown in FIG. 2.

[0016] The keyboard 511 is a type of input means having multiple keys used to input characters, numbers, various instructions, etc. The pointing device 512 is a type of input means for selecting and executing various instructions, selecting a processing target, moving a cursor, etc. The DVD-RW drive 514 controls reading and writing of various data from a DVD-RW 513, which is an example of a removable recording medium. The DVD-RW drive 514 is not limited to a DVD-RW, and may be a DVD-R or the like. The media I / F 516 controls reading and writing (storing) of data from a recording medium 515, such as a flash memory.

[0017] <Hardware configuration example (image forming device 9)> 3 is a diagram showing an example of the hardware configuration of an image forming apparatus 9, which is an example of a device 5 according to an embodiment of the present invention. As shown in FIG. 3, the image forming apparatus 9 (MFP, Multifunction Peripheral / Product / Printer) includes a controller 910, a short-range communication circuit 920, an engine control unit 930, an operation panel 940, and a network I / F 950.

[0018] Of these, the controller 910 has a CPU 901, which is the main part of the computer, a system memory (MEM-P) 902, a north bridge (NB) 903, a south bridge (SB) 904, an ASIC (Application Specific Integrated Circuit) 906, a local memory (MEM-C) 907, an HDD controller 908, and an HD 909, and is configured such that the NB 903 and the ASIC 906 are connected by an AGP (Accelerated Graphics Port) bus 921.

[0019] Of these, the CPU 901 is a control unit that performs overall control of the image forming apparatus 9. The NB 903 is a bridge that connects the CPU 901 with the MEM-P 902, the SB 904, and the AGP bus 921, and includes a memory controller that controls reading and writing to the MEM-P 902, a PCI (Peripheral Component Interconnect) master, and an AGP target.

[0020] The MEM-P 902 comprises a ROM 902a, which is memory for storing programs and data that realize the functions of the controller 910, and a RAM 902b, which is used for expanding the programs and data and as a drawing memory during memory printing. The programs stored in the RAM 902b may be provided by being recorded in an installable or executable file format on a computer-readable recording medium such as a CD-ROM, CD-R, or DVD.

[0021] The SB 904 is a bridge for connecting the NB 903 with PCI devices and peripheral devices. The ASIC 906 is an integrated circuit (IC) for image processing applications that has hardware elements for image processing and functions as a bridge connecting the AGP bus 921, PCI bus 922, HDD 908, and MEM-C 907. The ASIC 906 includes a PCI target and AGP master, an arbiter (ARB) that forms the core of the ASIC 906, a memory controller that controls the MEM-C 907, multiple direct memory access controllers (DMACs) that perform image data rotation using hardware logic, and a PCI unit that transfers data between the scanner unit 931 and printer unit 932 via the PCI bus 922. A USB (Universal Serial Bus) interface or an IEEE 1394 (Institute of Electrical and Electronics Engineers) interface may also be connected to the ASIC 906.

[0022] <About the function> 4 is a diagram showing an example of a configuration diagram of functional blocks of the information processing system 1 according to an embodiment of the present invention. Each functional block is a function or means realized by, for example, the CPUs 501 and 901 executing instructions contained in one or more programs installed in the server 2, the terminal device 3, and the device 5.

[0023] The device 20 has an operation reception unit 22, a display control unit 23, a second communication unit 24, and a control unit 25 that function via a browser 21. The device 20 is, for example, a device 5 such as an image forming apparatus 9 having an operation panel 940, or a terminal device 3 such as a PC having a display 506, a keyboard 511, a pointing device 512, etc. The device 20 may also be an electronic device that performs functions such as scanning and printing that are possessed by the image forming apparatus 9.

[0024] The operation receiving unit 22 receives user inputs relating to operations such as setting applications (hereinafter sometimes abbreviated as apps) and services in the information processing system 1, and executing load tests.

[0025] The display control unit 23 displays screen information received from the screen configuration unit 31 of the Web service processing unit 30 on the operation panel 940 or the display 506 which is the display screen of the device 20 .

[0026] The second communication unit 24 sends and receives data with the server 2 via the first communication unit 33, and, for example, sends a request to obtain app settings or a request to execute a processing flow to the Web service processing unit 30, and receives the processing results for the request from the Web service processing unit 30.

[0027] The control unit 25 controls the number of process flows that can be executed in parallel (the value of C) in a load test of an application. This value may also be called the number of process flows that can be executed in parallel.

[0028] The Web service processing unit 30 has a screen configuration unit 31 and an application execution unit 32, and performs processing for allowing a user to use various services using the browser 21 of the device 20 or to execute a load test.

[0029] In response to a request from the browser 21, the screen configuration unit 31 creates application screen information based on the application setting information, and transmits the application setting information and the application screen information to the browser 21.

[0030] In response to a request from the browser 21, the application execution unit 32 transmits an application execution request to the input / output service processing unit 50. In addition, in response to a request from the browser 21, the application execution unit 32 transmits a component information acquisition request to the processing unit 52.

[0031] The portal service unit 40 includes a UI providing unit 41 and an application registration unit 42, and performs processing for a user to register an application using the browser 21 of the terminal device 3 or the like.

[0032] In response to a request from the browser 21, the UI providing unit 41 returns portal screen information stored in the portal screen information DB 82. Here, the portal is a website where applications can be registered using the browser 21. The portal screen information is information that defines various screens such as the portal's top screen (portal top screen) and an application registration screen. The portal screen information is information that defines various screens in the browser 21, such as HTML, XML, CSS, and JavaScript (trademark). As a result, the portal top screen and the application registration screen are displayed by the browser 21 of the terminal device 3 or the like. Therefore, the user of the terminal device 3 or the like can perform an application registration operation on the application registration screen.

[0033] In response to a request from the UI providing unit 41, the application registration unit 42 requests the application management unit 51 to register an application. That is, when an application registration operation is performed on the application registration screen, the application registration unit 42 requests the application management unit 51 to register the application.

[0034] The input / output service processing unit 50 includes an application management unit 51 , a processing unit 52 , and a storage unit 53 , and performs processing related to the services provided by the information processing system 1 .

[0035] In response to a request, the application management unit 51 acquires application setting information stored in the application information DB 80. In addition, in response to a request to execute an application, the application management unit 51 performs load control by managing the request to execute a process flow in a queue, and transmits the request to execute a process flow to the processing unit 52. In addition, the application management unit 51 stores result information of a load test of an application in the load test result information DB 81. A load test is performed to check whether an application operates normally, for example, when a new application is registered or when the settings of a registered application are modified.

[0036] In response to a request, the processing unit 52 performs load control by acquiring component information, executing a processing flow, and managing processing flow execution requests on a queue. The processing unit 52 also stores result information of a load test in which operation processing of a component is executed in the load test result information DB 81.

[0037] The storage unit 53 registers (saves, stores) the result information of the load test, including the value of C, which is the number of process flows that can be executed in parallel, in the load test result information DB 81.

[0038] The component unit 60 manages components such as an OCR 61, a mail sending 62, a file download 63, and a barcode attachment 64.

[0039] The OCR 61 is a component that executes OCR (Optical Character Recognition), and is a component that executes a function of recognizing and acquiring character data included in image data.

[0040] The mail sending component 62 is a component that executes the function of sending an e-mail to a specified address.

[0041] The file DL 63 is a component that executes a function of downloading (DL) and acquiring a file stored in a cloud storage or the like.

[0042] The barcode assignment component 64 is a component that executes the function of assigning a barcode to a specified file.

[0043] The application data management unit 70 has a UI provision unit 71 and an application data registration unit 72, and performs processing that allows a user to use a browser 21 of a terminal device 3 or the like to register application data such as document files and image files used in an application.

[0044] The UI providing unit 71 performs the same processing as that performed by the UI providing unit 41 of the portal service unit, and returns portal screen information for registering application data in response to a request from the browser 21. Therefore, a user of the terminal device 3 or the like can perform an application data registration operation on the application data registration screen.

[0045] In response to a request from the UI providing unit 71, the application data registration unit 72 requests the application management unit 51 of the input / output service processing unit 50 to register application data. That is, when an operation to register application data is performed on the application data registration screen, the application data registration unit 72 requests the application management unit 51 to register application data.

[0046] The application information DB 80 is a database (DB) for storing application processing information, which is information relating to application processing, application setting information, which is information relating to application settings, and data used in the application.

[0047] The load test result information DB 81 is a database (DB) for storing information about the test results of load tests related to the operation of applications and components.

[0048] The portal screen information DB 82 is a database (DB) for storing information about the screens of the portal website for registering applications and data used in the applications.

[0049] <Application load testing process> 5 is a sequence diagram showing an example of a load test process when an application according to an embodiment of the present invention is the target of the load test. Each step will be described below.

[0050] Step S100: The user operates the browser 21 of the device 20, which is an apparatus 5 such as the image forming apparatus 9 or a terminal device 3 such as a PC, to execute a load test. The display control unit 23 displays a load test execution screen 200 shown in FIG. 6 on the screen of the device 20. As shown in FIG. 6, a load test execution button 201 is displayed on the load test execution screen 200. Returning to FIG. 5, the explanation will be made. The operation acceptance unit 22 accepts the user pressing the load test execution button 201. The applications to be executed include "Scan to Email," which sends image data scanned by the image forming apparatus 9 via email, and "Print My Cloud Storage," which prints an electronic document stored in cloud storage.

[0051] Step S101: The second communication unit 24 of the browser 21 of the device 20 transmits a request to acquire app settings to the screen composition unit 31 of the Web service processing unit 30. Alternatively, the second communication unit 24 may transmit the request to acquire app settings to the first communication unit 33, and the first communication unit 33 may transmit the received request to the screen composition unit 31. Hereinafter, in the communication between the device 20 and the Web service processing unit 30, a description of the processing via the first communication unit 33 will be omitted, but the processing may be executed via the first communication unit 33.

[0052] Step S102: The screen composition unit 31 transmits a request to acquire the application settings to the application management unit 51 of the input / output service processing unit 50.

[0053] Step S103: The application management unit 51 acquires application setting information from the application information DB 80.

[0054] Step S104 : The application management unit 51 transmits the application setting information to the screen composition unit 31 .

[0055] Step S105: The screen configuration unit 31 creates application screen information based on the received application setting information.

[0056] Step S106: The screen configuration unit 31 transmits the application screen information and the application setting information to the second communication unit 24 of the browser 21 of the device 20. The display control unit 23 displays the application screen on the screen of the device 20 using the received application screen information.

[0057] Step S107: The second communication unit 24 transmits the component information acquisition request to the application execution unit 32 of the Web service processing unit 30.

[0058] Step S108: The application executing unit 32 transmits a component information acquisition request to the processing unit 52 of the input / output service processing unit 50.

[0059] Step S109: The processing unit 52 acquires the component information from the component unit 60.

[0060] Step S110: The processing unit 52 transmits the obtained result to the application executing unit 32.

[0061] Step S111 : The application executing unit 32 transmits the received acquisition result to the second communication unit 24 of the browser 21 of the device 20 .

[0062] Step S112: The device 20 generates a test case based on the application setting information and component information received from the Web service processing unit 30. The method for generating a test case will be described later.

[0063] Step S113: The device 20 initializes the load settings. For example, the initial value C of the number of process flows to be executed in parallel (simultaneously, in parallel) is set to 1, the maximum value Cmax of C is set to 64, the time T for executing a load test on any C is set to 600 seconds, and the total execution time Tall of the load test is set to 4200 seconds. Here, the values ​​of Cmax, T, and Tall may be determined based on the performance of the platform on which the application is executed, or may be specified by the application developer. The value of C is doubled each time loop process (1) is executed, and loop process (1) is terminated when C exceeds the value of Cmax or the total execution time of the load test exceeds Tall. Within loop process (1), steps S114 to S118 are executed as loop process (2), repeatedly executing C process flows simultaneously for time T.

[0064] Step S114: The second communication unit 24 of the device 20 transmits to the application execution unit 32 of the Web service processing unit 30 execution requests for the C process flows.

[0065] Step S115: The application executing unit 32 transmits the received request to execute the process flow to the processing unit 52 of the input / output service processing unit 50.

[0066] Step S116: The processing unit 52 executes the processing flow based on the received processing flow execution request. The processing unit 52 requests the component unit 60 to execute the processing flow depending on the application to be executed. For example, if the application to be executed is "Scan to Email," the processing unit 52 sends a request to execute email transmission 62 to the component unit 60. Alternatively, if the application to be executed is "Print My Cloud Storage," the processing unit 52 sends a request to execute file DL 63. Also, depending on the application, for example, in the case of "Scan to Email," the second communication unit 24 of the device 20 sends the image file scanned by the image forming apparatus 9 to the first communication unit 33 of the server 2. Alternatively, in the case of "Print My Cloud Storage," the first communication unit 33 of the server 2 sends the downloaded file to the second communication unit 24 of the device 20.

[0067] Step S117: The processing unit 52 transmits the processing result to the application execution unit 32 of the Web service processing unit 30. Here, the processing result includes information indicating whether the processing was successful (OK) or unsuccessful (NG).

[0068] Step S118: The application executing unit 32 transmits the processing result to the second communication unit 24 of the device 20.

[0069] Step S119: The device 20 checks the received processing results, and if any one of the processing results is a failure (NG), ends the loop processing (1) and proceeds to the processing of step S121.

[0070] Step S120: The device 20 doubles the value of C and executes the loop process (2) (repeated steps S114 to S118).

[0071] Step S121: If C exceeds the value of Cmax, or if the total execution time of the load test exceeds Tall, or if there is even one failure in the processing results, the device 20 ends the loop process (1) and terminates the load test. Furthermore, the current value of C is divided by 2.

[0072] Step S122: If the value of C is smaller than 1, the device 20 reports a failure of the load test. The display control unit 23 of the device 20 displays an execution result screen 202 shown in FIG. 7 on the screen of the device 20 as a result of the load test. The execution result screen 210 displays a message 211 saying "Test Failed." The execution result screen 210 also displays information about the executed load test, such as "Test Case Name" 212, "Execution Time" 213, "App ID" 214, "App Name" 215, "Value of C" 216, and "Parameter Information" 217. Here, "App ID" 214 and "App Name" 215 are the ID and name of the application executed in the load test. "ID" is an abbreviation for "Identification" and is indicated by a preset number, symbol, or the like to identify an application.

[0073] Returning to FIG.

[0074] Step S123: If the value of C is equal to or greater than 1, the device 20 executes the processes of steps S123 to S126. The second communication unit 24 of the device 20 transmits (reports) the value of C to the application management unit 51 of the input / output service processing unit 50. Here, the second communication unit 24 may transmit information such as the ID and name of the application executed in the load test together with the value of C.

[0075] Step S124: The application management unit 51 stores the received value of C in the storage unit 53. Fig. 8 is a diagram showing an example of result information of a load test according to an embodiment of the present invention. In the load test result information 220 shown in Fig. 8, two sets of information are registered regarding "App ID" 221, which is the ID of the application, "App Name" 222, which is the name of the application, and "Value of C" 223.

[0076] Returning to FIG.

[0077] Step S125: The application management unit 51 transmits a success notification to the device 20 notifying that the registration of the value of C has been successful (OK).

[0078] Step S126: The display control unit 23 of the device 20 displays an execution result screen 230 shown in FIG. 9 on the screen of the device 20 to report that the load test was successful. The execution result screen 230 displays a message 231 saying "Test Success!". The execution result screen 230 also displays information about the executed load test, such as "Test Case Name" 232, "Execution Time" 233, "App ID" 234, "App Name" 235, "Value of C" 236, and "Parameter Information" 237. Here, "App ID" 234 and "App Name" 235 are the ID and name of the application executed in the load test. Furthermore, when C×2≦Cmax (the value obtained by doubling C is equal to or less than Cmax), the processing result when the load test fails (NG) (when the value of C is twice the final value) may be displayed.

[0079] Through the above process, the information processing system 1 can execute a load test by gradually increasing the number of process flows (the value of C) executed in parallel (in parallel, simultaneously) (by gradually increasing the load). The performance target value of the application in the load test is automatically set as the number of concurrently executing process flows (the value of C) at the time when the load test is successfully executed. Therefore, the application developer or the like does not need to set the performance target value in the load test. The value of C can be increased by multiplying it by a predetermined value greater than 1, by adding a predetermined value, or by increasing the value of C at a predetermined rate (or rule or method).

[0080] <Load control processing during operation with applications as the load target> 10 is a sequence diagram showing an example of a process for load control during operation of an application according to an embodiment of the present invention, with the application being the target of a load test. Here, the device 20 is an image forming apparatus 9 (MFP), which executes an application for printing after adding a barcode to a scanned image file. Each step will be described below.

[0081] Step S130: The operation accepting unit 22 of the browser 21 of the device 20 accepts an operation by the user to request the display of an application screen.

[0082] Step S131: The second communication unit 24 of the browser 21 of the device 20 transmits a display request for an application screen to the screen composition unit 31 of the Web service processing unit 30. Alternatively, the second communication unit 24 may transmit the display request for the application screen to the first communication unit 33, and the first communication unit 33 may transmit the received display request to the screen composition unit 31. Hereinafter, in the communication between the device 20 and the Web service processing unit 30, a description of the processing via the first communication unit 33 will be omitted, but the processing may be executed via the first communication unit 33.

[0083] Step S132: The screen composition unit 31 transmits an acquisition request for the application settings to the application management unit 51 of the input / output service processing unit 50.

[0084] Step S133: The application management unit 51 acquires application setting information from the application information DB 80.

[0085] Step S 134 : The application management unit 51 transmits the application setting information to the screen composition unit 31 .

[0086] Step S135: The screen configuration unit 31 creates application screen information based on the received application setting information.

[0087] Step S136 : The screen configuration unit 31 transmits the application screen information and the application setting information to the second communication unit 24 of the browser 21 of the device 20 .

[0088] Step S137: The display control unit 23 displays the screen of the application on the screen of the device 20 using the received application screen information.

[0089] Step S138: The operation accepting unit 22 accepts an operation by the user to execute the application.

[0090] Step S139: The device 20 (image forming apparatus 9) executes the scan process.

[0091] Step S140: The second communication unit 24 transmits an execution request for the application to the application execution unit 32 of the Web service processing unit 30.

[0092] Step S141: The application executing unit 32 transmits an application execution request to the application managing unit 51 of the input / output service processing unit 50.

[0093] Step S142: The application management unit 51 adds the process flow execution request R to a queue prepared for each application. The queue stores execution requests for process flows that are currently being executed or waiting to start execution in the order in which they were requested.

[0094] Step S143: If the position of execution request R in the queue is greater than the number C of process flows that can be executed in parallel (farther from the head of the queue), the application management unit 51 sends a notification to the application execution unit 32 notifying that the load is high. In this case, the number of execution requests stored in the queue ahead of execution request R is C or more. Here, the number C of process flows that can be executed in parallel is the value C of the corresponding application registered in the load test result information DB 81 in step S124 of FIG. It is also assumed that the value C corresponding to the application executed in this sequence has been registered.

[0095] Step S144: The application executing unit 32 transmits a notification to the device 20 informing that the device 20 is in a high load state.

[0096] Step S145: The display control unit 23 displays a notification screen on the screen of the device 20 to notify that a high load state has occurred. FIG. 11 is a diagram showing an example of a notification screen for notifying that a high load state has occurred according to an embodiment of the present invention. The notification screen 240 in FIG. 11 displays a message 241 stating, "Processing is taking a long time. Please wait a while or try again later."

[0097] Returning to FIG.

[0098] Step S146: The application management unit 51 waits without executing the process flow until the position of the execution request R in the queue is smaller than C (closer to the top of the queue), that is, until the number of process flows that are being executed or waiting to start execution is smaller than C.

[0099] Step S147: When the application management unit 51 detects that the position of the execution request R in the queue is smaller than C (closer to the top of the queue), the application management unit 51 transmits an execution request for the process flow to the processing unit 52. In this case, it means that there is still room before the upper limit of the number of parallel jobs can be executed.

[0100] Step S148: The processing unit 52 executes a processing flow. Here, the processing flow to be executed is a process of adding a barcode to the image data scanned in step S139. Here, in order to transmit the image data from the device 20 (image forming apparatus 9) to the server 2, the second communication unit 24 transmits the image data to the first communication unit 33. The processing unit 52 transmits a request to the component unit 60 to execute barcode addition 64.

[0101] Step S149: After the execution of the process flow is completed, the processing unit 52 transmits the processing result to the application management unit 51. Here, it is assumed that the execution of the process flow is successful (OK), and the content of the processing result is success (OK).

[0102] Step S150: After receiving the processing result, the application management unit 51 removes the execution request R from the queue, which makes room in the queue for the next processing flow to be executed.

[0103] Step S151: The application management unit 51 transmits the received processing result to the application execution unit 32.

[0104] Step S152 : The application executing unit 32 transmits the received processing result to the second communication unit 24 of the device 20 .

[0105] Step S153: The device 20 (image forming apparatus 9) executes the process flow to print the image file to which the barcode has been added.

[0106] Through the above process, the information processing system 1 can refer to (link) and use the number C of process flows that can be executed in parallel, which is the tolerable load limit obtained as a result of the load test, when executing an application or process flow. This allows the information processing system 1 to dynamically control the load during operation by queuing and managing process execution requests so that the load limit is not exceeded. Furthermore, if the server 2 that manages the application or process flow and the server 2 that executes each component (such as the OCR 61) of the component unit 60 are separate devices, the loads on each are independent. Therefore, for example, even if the processing of a certain component becomes highly loaded, the load control processing will not be affected by the high load.

[0107] <Component load test process> Fig. 12 is a sequence diagram showing an example of load test processing when the load test targets the operations of a component according to an embodiment of the present invention. While Fig. 5 describes the load test processing of an application, the load test can also target the operations of a component instead of the application. In this case, the upper load limit is measured for the operations of the component. Furthermore, the test cases used in the load test are not combinations of parameters for the processing flow, but combinations of parameters for the operations of the components that make up the flow. A method for creating test cases will be described separately later.

[0108] Below, when explaining an example of load test processing when the operation of a component is the target of the load test, we will only explain the differences from the sequence diagram of the load test processing of the application shown in Figure 5 (difference (1) from Figure 5, difference (2) from Figure 5).

[0109] Difference (1) from FIG. 5: The target of the load test is not an application but the operation of a component, so the processing of steps S101 to S106 shown in FIG. 5 is not executed.

[0110] 5 (2): Because the number of concurrently executing process flows (the value of C) is linked to the operation of a component rather than an application, the process of registering the value of C is executed by the processing unit 52 rather than the application management unit 51. Therefore, the processes of steps S123 to S125 shown in FIG. 5 become the following steps S123' to S125'.

[0111] Step S123′: The second communication unit 24 of the device 20 transmits (reports) the value of C to the processing unit 52 of the input / output service processing unit 50. Here, the second communication unit 24 may transmit information such as the ID and name of the application executed in the load test together with the value of C.

[0112] Step S124': The processing unit 52 stores the received value of C in the storage unit 53. Fig. 13 is a diagram showing an example of result information of a load test targeting the operation of a component according to an embodiment of the present invention. In the load test result information 250 shown in Fig. 13, two sets of information are registered regarding "Component Name" 251, which is the name of the component, "Operation Name" 252, which is the name of the operation of the component, and "Value of C" 253.

[0113] Returning to FIG.

[0114] Step S125': The processing unit 52 transmits a success notification to the device 20 notifying that the registration of the value of C has been successful (OK).

[0115] Through the above processing, the information processing system 1 can gradually increase the number of processing flows executed in parallel to execute a load test even when the load test targets the operations of components. Furthermore, the information processing system 1 can automatically set the performance target value of the application in the load test.

[0116] <Component load control processing during operation> Fig. 14 is a sequence diagram showing an example of a process for controlling the load during operation by using the operation of a component as the load test target according to an embodiment of the present invention. Fig. 10 describes the process for controlling the load during operation by using an application as the load test target, but here, the target of the load test can be the operation of a component instead of an application.

[0117] In the following, an example of load test processing when component operations are the load test target will be described, focusing only on the differences from the sequence diagram of the load test processing for an application shown in Fig. 10. The difference from the processing shown in Fig. 10 is that in step S141, application execution unit 32 transfers (sends) an application execution request to processing unit 52, not to application management unit 51. In the sequence diagram of Fig. 14, steps S141 to S143 and steps S146 to S151 in Fig. 10 become steps S141' to S143' and steps S146' to S151' below.

[0118] Step S141′: The application executing unit 32 transmits an execution request for the application to the processing unit 52 of the input / output service processing unit 50.

[0119] Step S142': The processing unit 52 adds the process flow execution request R to a queue prepared for each operation. The queue stores execution requests for process flows that are currently being executed or waiting to start execution in the order in which they were requested.

[0120] Step S143': If the position of execution request R in the queue is greater than the number C of process flows that can be executed in parallel (farther from the head of the queue), processing unit 52 sends a notification to application execution unit 32 notifying that the load is high. In this case, the number of execution requests stored in the queue ahead of execution request R is C or more. Here, the number C of process flows that can be executed in parallel is the value C of the operation of the corresponding component shown in FIG. 13 that was registered in load test result information DB 81 in step S124'.

[0121] Step S146': The processing unit 52 waits without executing the processing flow until the position of the execution request R in the queue is smaller than C (closer to the top of the queue), i.e., until the number of processing flows currently being executed or waiting to start execution is smaller than C. Here, among the processing flows, operations that do not depend on the results of the operation in a high-load state may be executed without waiting for the high-load state of other operations to be resolved. For example, assume a case in which an application is executed that performs OCR processing on a scanned document and uploads it to Cloud Drive. Here, as shown in FIG. 13, the number of processing flows that can be executed in parallel for the OCR processing and Cloud Drive operations (value C) is 16 and 4, respectively. If four or more processing flows of this application are already being executed in parallel, a high-load state is notified, and the next processing flow is put on hold. However, since the OCR processing does not depend on the results of the upload to Cloud Drive, only the OCR processing, which has sufficient load, may be executed. However, if the OCR processing is being executed in parallel at 16 or more times, the entire processing flow of the application is put on hold, including the OCR processing. If the processing flow of this application is executed at less than four times in parallel, the entire processing flow of the application can be executed.

[0122] Step S147': Here, since the processing unit 52 is executing the processing flow, this step is not executed.

[0123] Step S148': The processing unit 52 executes the processing flow.

[0124] Step S149': After the execution of the process flow is completed, the processing unit 52 transmits the processing result to the application management unit 51. Here, it is assumed that the execution of the process flow is successful (OK), and the content of the processing result is successful (OK).

[0125] Step S150': After receiving the processing result, the processing unit 52 removes the execution request R from the queue, which makes room in the queue for the next processing flow to be executed.

[0126] Step S151′: The processing unit 52 transmits the received processing result to the application executing unit 32.

[0127] Through the above process, even when the load test targets the operation of a component, the information processing system 1 can refer to (link) and use the number C of process flows that can be executed in parallel obtained as a result of the load test when executing an application or process flow. This enables the information processing system 1 to dynamically control the load during operation by queuing and managing process execution requests so as not to exceed the load upper limit.

[0128] <How to generate test cases> A method for generating (creating) test cases executed in processes such as step S112 in FIG. 5 will now be described. In a load test, test cases (combinations of process flow parameters) are generated from application parameter settings, and all of these test cases are executed as a process flow for load testing. If the number of parameter combinations is small, all possible combinations are generated. If the number is enormous, the number is reduced using a test case selection method such as the all-pairs method (pairwise method). Whether to generate all possible combinations or reduce the number is determined by setting a threshold for the number of test cases to be generated, or by setting a threshold for the test time by predicting the total test time from the time required to execute the process flow. Furthermore, test cases may be generated by the device 20 as in processes such as step S112 in FIG. 5, or the server 2 may generate the test cases and send the generated test cases to the device 20.

[0129] 15 is a sequence diagram showing an example of a process for generating test cases on the server side according to an embodiment of the present invention. Each step will be described below.

[0130] Step S160: The user operates the browser 21 of the device 20, which is the equipment 5 such as the image forming apparatus 9 or the terminal device 3 such as a PC, to execute a load test.

[0131] Step S161: The second communication unit 24 of the browser 21 of the device 20 transmits a test case generation request to the screen composition unit 31 of the Web service processing unit 30.

[0132] Step S162: The screen composition unit 31 sends a test case generation request to the application management unit 51 of the input / output service processing unit 50.

[0133] Step S163: The application management unit 51 acquires application setting information from the application information DB 80.

[0134] Step S164: The application management unit 51 generates a test case.

[0135] Step S 165 : The application management unit 51 transmits the test case to the screen composition unit 31 .

[0136] Step S166: The screen composition unit 31 transmits the test case to the second communication unit 24 of the browser 21 of the device 20.

[0137] As for the subsequent processing, for example, by executing the processing from step S113 onwards in FIG. 5, it is possible to execute a load test using the test cases generated by the server 2.

[0138] Next, a method for generating test cases will be described using an example of an application (referred to as application A) that performs OCR on a scanned document and divides the generated PDF file into pages. FIG. 16 is a diagram showing an example of application information for application A. In application information 260 shown in FIG. 16, the language is set to English (language: "English") as a default parameter (defaultParameters) setting 261. Furthermore, there are two setting items, a division page range (divisionPageRange) 263 and a division page number (divisionPageNumbers) 267, as a user input parameter (userInputParameters) setting. The setting item for division page range 263 has an input type (inputType) of select 264, and is set so that the user can select from two options, each page (Each Page) 265 and a specified page (Specified Page). The setting item for the division page number 267 has an input type (inputType) of text input (text) 268, and the text entered by the user is set. Here, the maximum value (max) 269 and minimum value (min) 270 of the number of divided pages 267 are set to 100 and 0, respectively.

[0139] To generate test cases for this application information 260, parameter combinations for the default parameter setting 261, the divided page range 263, and the number of divided pages 267 are determined. The default parameter setting 261 is fixed to the set value (English), the divided page range 263 uses both options, and the number of divided pages 267 uses two values: the maximum value (=10) and the minimum value (=0). The number of combinations of these parameters is 1 (default parameter setting 261) × 2 (divided page range 263) × 2 (number of divided pages 267) = 4. FIG. 17 shows combinations 271 to 274 of these four types of parameter settings. As shown in FIG. 17, the default parameter setting 261 is English in all combinations. Furthermore, with respect to the divided page range 263, combinations 271 and 272 are for each page, and combinations 273 and 274 are for a specified page. Furthermore, with regard to the number of divided pages 267, the combinations 271 and 273 have the minimum value (0), and the combinations 272 and 274 have the maximum value (100).

[0140] Fig. 18 is a diagram showing an example of component information according to an embodiment of the present invention. Fig. 18 shows the setting values ​​of component information, not the settings in the application information shown in Fig. 16, in which output size (outputSize) 281 is set to "A4" as the default value of OCR component 280, and division page number (divisionPageNumbers) 283 is set to "2" as the default value of PDF component 282. When generating test cases, such default values ​​of component information are also referenced and included in the parameter combinations.

[0141] Fig. 19 is a diagram showing an example of selection-type parameter setting according to an embodiment of the present invention. Fig. 19 shows a setting for selecting from three languages: English 285, French 286, and German 287, as an example different from the selection type (select) 264 shown in Fig. 16. In such a case, the test case includes three types of combinations.

[0142] Fig. 20 is a diagram showing an example of parameter setting for a text input type according to an embodiment of the present invention. In Fig. 20, as an example different from the text input type (text) 268 shown in Fig. 16, text entered by a user is set for a file name (filename) 290. As in the example shown in Fig. 16, a maximum value (max = 100) 291 and a minimum value (min = 0) 292 are set. Here, when setting a character string for the file name 290, a random character string with a number of characters between the maximum and minimum values ​​is generated and set as the parameter value in the test case.

[0143] FIG. 21 is a diagram showing an example of result information of an automatic test according to an embodiment of the present invention. Result information 295 shown in FIG. 21 includes an application ID 296, a test implementation date 297, and a test result 298. The application ID 296 is an ID that identifies the application that executed the automatic test. The test implementation date 297 is the date on which the automatic test was executed. The test result 298 is the result of the automatic test, and displays "OK" if the test was successful, "NG" if the test failed, or "Not executed" if the automatic test was not executed for some reason or is scheduled to be executed. Only applications for which the test result 298 is "OK" can be registered in the information processing system 1.

[0144] [Second embodiment] Fig. 22 is a diagram showing an example of a schematic diagram of an information processing system 1 according to a second embodiment of the present invention. The difference in configuration from the information processing system 1 according to the first embodiment shown in Fig. 1 is that in the second embodiment, only the image forming apparatus 9 (MFP) is connected to the server 2 via the communication network 4. Therefore, the device 20 in the functional block configuration diagram shown in Fig. 4 and the sequence diagrams shown in Figs. 5, 10, 12, and 14 is limited to the image forming apparatus 9.

[0145] Although several forms for carrying out the present invention have been described above, the present invention is not limited to these embodiments, and various modifications and substitutions can be made within the scope that does not deviate from the gist of the present invention.

[0146] For example, the example of the functional block configuration diagram in FIG. 4 is divided according to main functions to facilitate understanding of the processing by the information processing system 1. The method of dividing the processing units and their names do not limit the present invention. The processing of the information processing system 1 can be divided into even more processing units depending on the processing content. Also, it can be divided so that one processing unit includes even more processes.

[0147] Furthermore, each function of the above-described embodiments can be realized by one or more processing circuits. Here, the term "processing circuit" in this specification includes a processor programmed to perform each function by software, such as a processor implemented by an electronic circuit, as well as devices such as an ASIC (Application Specific Integrated Circuit), a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), and conventional circuit modules designed to perform each of the above-described functions.

[0148] Additionally, the described devices represent only one of several computing environments for implementing the embodiments disclosed herein. In one embodiment, information processing system 1 includes multiple computing devices, such as a server cluster, configured to communicate with each other via any type of communication link, including a network, shared memory, etc., and to perform the processes disclosed herein.

[0149] The first communication unit 33 and the second communication unit 24 may also be simply referred to as communication units. [Explanation of symbols]

[0150] 1. Information Processing Systems 2 Server 3 Terminal Devices 4. Communication Network 5 Equipment 9. Image forming device 20 devices 21 Browser 22 Operation reception section 23 Display control unit 24 Second Communications Department 30 Web service processing unit 30 31 Screen configuration section 32 Application execution unit 33 First Communications Department 40 Portal Services Department 41 UI provision department 42 App Registration Section 50 Input / output service processing unit 51 App Management Department 52 Processing section 53 Memory section 60 Component Section 61 OCR 62 Send Email 63 File Download 64 Barcode assignment 70 Application Data Management Department 71 UI provision department 72 Application data registration section 80 App Information DB 81 Load test result information DB 82 Portal screen information DB [Prior art documents] [Patent documents]

[0151] [Patent Document 1] Japanese Patent Application Laid-Open No. 2006-031178

Claims

1. An information processing system having an information processing device that executes a load test of an application in response to a request from a terminal device, a display control unit that displays an execution screen of the load test; an operation reception unit that receives a request to execute the load test from a user on the execution screen; a control unit that increases the load of a process flow for load testing created based on the application at a predetermined rate; a communication unit that transmits information about the load and a request to execute the process flow to the information processing device; and the control unit increases the number of processes that can be executed in parallel at a predetermined rate as the load; the terminal device; a processing unit that receives information about the load and the execution request from the terminal device, and applies the load to execute the processing flow; a storage unit that stores information about the load when the execution result of the load test is successful as a performance target value; and the processing unit executes the parallel executable number of the process flows in parallel based on the execution request; the storage unit stores the maximum number of parallel executable processes when the execution result is successful; the storage unit stores a maximum number of operations that can be executed in parallel for each operation of a component corresponding to each process included in the process flow; the information processing device; An information processing system having the above.

2. 2. The information processing system according to claim 1, wherein the processing unit performs load control using the number of parallel executable operations corresponding to the operations of the component stored in the memory unit so that the number of operations executed in parallel during execution of the application does not exceed the number of parallel executable operations.

3. An information processing device that executes a load test of an application in response to a request from a terminal device, a processing unit that receives information about a load and an execution request from the terminal device, and applies the load to execute a processing flow; a storage unit that stores information about the load when the execution result of the load test is successful as a performance target value; and the processing unit executes the requested number of process flows in parallel based on the execution request; the storage unit stores the maximum number of parallel executable processes when the execution result is successful; the storage unit stores a maximum number of operations that can be executed in parallel for each operation of a component corresponding to each process included in the process flow; Information processing device.

4. A terminal device that requests an information processing device to perform a load test on an application, a display control unit that displays an execution screen of the load test; an operation reception unit that receives a request to execute the load test from a user on the execution screen; a control unit that increases the load of a process flow for load testing created based on the application at a predetermined rate; a communication unit that transmits information about the load and a request to execute the process flow to the information processing device; and the control unit increases the number of processes that can be executed in parallel at a predetermined rate as the load; the communication unit transmits the maximum number of parallel executables to the information processing device when the parallel execution of the process flow is successful, so that the information processing device stores the maximum number of parallel executables; the communication unit transmits the maximum number of operations that can be executed in parallel to the information processing device so that the information processing device stores the maximum number of operations that can be executed in parallel for each of the operations of the components corresponding to each process included in the processing flow; Terminal device.

5. 1. An information processing method executed by an information processing system having an information processing device that executes a load test of an application in response to a request from a terminal device, comprising: displaying an execution screen of the load test; receiving a request to execute the load test from a user on the execution screen; increasing the load of a process flow for load testing created based on the application at a predetermined rate; transmitting information about the load and a request to execute the process flow to the information processing device; increasing the number of processes that can be executed in parallel at a predetermined rate as the load; receiving information about the load and the execution request from the terminal device, and applying the load to execute the processing flow; storing information about the load when the execution result of the load test is successful as a performance target value; executing the parallel executable number of the process flows in parallel based on the execution request; storing the maximum number of parallel executable programs when the execution result is successful; storing the maximum number of operations that can be executed in parallel for each operation of a component corresponding to each process included in the process flow; An information processing method comprising:

6. 1. An information processing method executed by a terminal device that requests an information processing device to perform a load test on an application, comprising: displaying an execution screen of the load test; receiving a request to execute the load test from a user on the execution screen; increasing the load of a process flow for load testing created based on the application at a predetermined rate; transmitting information about the load and a request to execute the process flow to the information processing device; increasing the number of processes that can be executed in parallel at a predetermined rate as the load; transmitting the maximum number of parallel executable processes to the information processing device when the parallel execution of the process flow is successful, so that the information processing device can store the maximum number of parallel executable processes; transmitting the maximum number of operations that can be executed in parallel to the information processing device so that the information processing device can store the maximum number of operations that can be executed in parallel for each process of a component that corresponds to each process included in the process flow; An information processing method comprising:

Citation Information

Patent Citations

  • Developing device

    JP1991001178A

  • Program, analytical method, and information processor

    JP2014038578A

  • System, information processing method, information processing device, program

    JP2018067144A

  • Information processing apparatus, information processing program, information processing system, and information processing method

    JP2018156591A