This application is based upon, and claims the benefit of priority from, corresponding Japanese Patent Application No. 2019-107001 filed in the Japan Patent Office on Jun. 7, 2019, the entire contents of which are incorporated herein by reference.
The present disclosure relates to a failure detection system that detects failures in a system and a non-transitory computer-readable recording medium storing a failure detection program.
The detection of a failure in a server based on the increase in the central processing unit (CPU) usage of the server has been known. However, in conventional techniques, since a failure in a server cannot be detected with respect to operations through a user interface (UI) of the server, a failure in the server is noticed only by an indication from a user.
A failure detection system according to the present disclosure detects a failure in a system. The failure detection system includes a test executor that automatically executes a test for normality of the system with respect to an operation through a user interface of the system, and a failure reporter that reports the failure according to a result of the test executed by the test executor.
In the failure detection system of the present disclosure, the test may be executed to detect an abnormality in output content in the test.
In the failure detection system of the present disclosure, the test may also be executed to detect an abnormality in time having been occupied by the test.
A non-transitory computer-readable recording medium according to the present disclosure stores a failure detection program for detecting a failure in a system. The failure detection program causes a computer to implement a test executor to automatically execute a test for normality of the system with respect to an operation through a user interface of the system, and a failure reporter to report the failure according to a result of the test executed by the test executor.
Below, an embodiment of the present disclosure will be described using the drawings.
First, the structure of a system according to an embodiment of the present disclosure will be described.
As shown in
The network 20 includes a firewall 21 that controls the communications between the inside of the network 20 and the outside of the network 20, and an image forming apparatus 22. Aside from the image forming apparatus 22, the network 20 may additionally include at least one image forming apparatus having the same structure as the image forming apparatus 22. In the network 20, image forming apparatuses are each a multifunction peripheral (MFP) or a dedicated printer, for instance, and are used by customers of the management company.
The system 10 includes a remote management system 30 that performs remote management of respective image forming apparatuses in the system 10. The remote management system 30 can manage an enormous number, such as several millions, of image forming apparatuses distributed around the world. The remote management system 30 is used by the management company. The remote management system 30 may include one computer, or multiple computers. In the following, the remote management system 30 is assumed to operate on a cloud platform of a public cloud.
Since the remote management system 30 can have many connections with image forming apparatuses over the Internet 11, the capacity of a server constituting the remote management system 30 is expanded responsively along with the increase in number of image forming apparatuses connected with the remote management system 30. Further, the cloud platform, on which the remote management system 30 operates, may be subject to system failure or maintenance and, accordingly, part of the system may go down at times unknown to the remote management system 30.
The system 10 includes a monitoring system 40 that monitors the remote management system 30. The monitoring system 40 is used by the management company. The monitoring system 40 may include one computer, or multiple computers.
The system 10 includes a user interface (UI) test system 50 as a failure detection system that executes a test for the normality of the response of the remote management system 30 to an operation through a UI of the remote management system 30 (the test being hereinafter referred to as “UI test”). The UI test system 50 is used by the management company. The UI test system 50 may include one computer, or multiple computers.
The computer constituting the monitoring system 40 and the computer constituting the UI test system 50 may have at least one part in common.
In the system 10, respective networks, the remote management system 30, the monitoring system 40, and the UI test system 50 are capable of communicating with each other over the Internet 11.
The remote management system 30 shown in
The storage 34 stores a web application program 34a for allowing a user to operate the remote management system 30. The storage 34 can store at least one web application program similar to the web application program 34a. The web application program may be installed in the remote management system 30 during the manufacture of the remote management system 30, or may additionally be installed in the remote management system 30 from an external recording medium such as a compact disc (CD), a digital versatile disc (DVD) or a universal serial bus (USB) memory, or may additionally be installed in the remote management system 30 over a network.
The controller 35 includes, for example, a central processing unit (CPU), a read only memory (ROM) storing programs and various data, and a random access memory (RAM) which is a memory used as a workspace for the CPU of the controller 35. The CPU of the controller 35 executes programs stored in the storage 34 or in the ROM of the controller 35.
The controller 35 executes the web application program 34a to cause a web application 35a for allowing a user to operate the remote management system 30 to serve as a UI. Similarly in terms of a web application program other than the web application program 34a, the controller 35 executes the web application program to cause a web application for allowing a user to operate the remote management system 30 to serve as a UI. For access, each web application of the remote management system 30 is provided with a unique uniform resource locator (URL). A user of the remote management system 30 can operate the remote management system 30 through a web browser on a computer (not shown) and a web application of the remote management system 30 by accessing the web application from the web browser over the internet 11.
The monitoring system 40 shown in
The storage 44 stores a monitoring program 44a for monitoring the remote management system 30 (see
The storage 44 stores contact address information 44b, which contains a contact address for various types of information. The contact address to be contained in the contact address information 44b is, for example, an electronic mail (e-mail) address. The contact address information 44b may contain multiple contact addresses, such as the contact address of the developer of the remote management system 30 and the contact address of a user of the remote management system 30.
The controller 45 includes, for example, a CPU, a ROM storing programs and various data, and a RAM which is a memory used as a workspace for the CPU of the controller 45. The CPU of the controller 45 executes programs stored in the storage 44 or in the ROM of the controller 45.
The controller 45 executes the monitoring program 44a to implement a component monitor 45a that monitors, for instance, the load on each component of the remote management system 30, and a reporter 45b that sends a report to the contact address contained in the contact address information 44b when the result of monitoring by the component monitor 45a fulfills a preset condition.
The UI test system 50 shown in
The storage 54 stores a web browser program 54a for accessing web pages and a UI test program 54b as a failure detection program for executing UI tests. The web browser program 54a and the UI test program 54b may each be installed in the UI test system 50 during the manufacture of the UI test system 50, or may each additionally be installed in the UI test system 50 from an external recording medium such as a CD, a DVD or a USB memory, or may each additionally be installed in the UI test system 50 over a network.
The storage 54 stores a test setting database 54c which includes various settings for the UI tests. The test setting database 54c includes a test scenario table 54d which shows scenarios for UI tests, a test case table 54e which shows test cases each constituting at least part of a scenario, and a parameter table 54f which shows parameters utilized in the UI tests. To each scenario shown in the test scenario table 54d, an identification (ID) (hereinafter referred to as “scenario ID”) is attached to differentiate the scenarios from each other. To each test case shown in the test case table 54e, an ID (hereinafter referred to as “test case ID”) is attached to differentiate the test cases from each other. To each group of parameters shown in the parameter table 54f, an ID (hereinafter referred to as “parameter ID”) is attached to differentiate the groups of parameters from each other. The various data in the test setting database 54c can be set through the operation unit 51 or the communication unit 53.
As shown in
As shown in
In
1. Open the web page screen at the URL of the web application of the remote management system 30.
2. On the screen opened in the above operation 1, click the input frame for the ID of the user (hereinafter referred to as “user ID”) to make the input frame input-enabling.
3. Type the user ID in the input frame that was made input-enabling in the above operation 2.
4. On the screen opened in the above operation 1, click the input frame for the password to make the input frame input-enabling.
5. Type the password in the input frame that was made input-enabling in the above operation 4.
6. On the screen opened in the above operation 1, click the login button.
7. On the screen opened because of the click in the above operation 6, in other words, on the screen after login, check that a correct user ID is displayed in a correct position.
As shown in
The target web application URL, the user ID, and the password are utilized, for example, in the test case with the test case name “login”. The e-mail address is utilized, for example, in the test case with the test case name “create user”. The device serial number is utilized, for example, in the test case with the test case name “restart device”. The device IP address, the group access code, and the device access URL are utilized, for example, in the test case with the test case name “connect device”. The registration group is utilized, for example, in the test case with the test case name “create group”.
As shown in
As shown in
As shown in
The controller 55 executes the web browser program 54a to implement the web browser 55a for accessing web pages.
The controller 55 executes the UI test program 54b to implement a test executor 55b that automatically executes a UI test, and a failure reporter 55c that reports a failure in the remote management system 30 depending on the test result.
Next, the operation of the system 10 will be described.
First, description is made on the operations, which the UI test system 50 takes when executing a UI test.
The controller 55 of the UI test system 50 executes the operations shown in
As shown in
When determining in S61 for the target scenario that the time indicated by the test interval (in minutes) in the test scenario table 54d has not passed by from the time of execution of the previous UI test, the test executor 55b ends the operations shown in
When determining in S61 for the target scenario that the time indicated by the test interval (in minutes) in the test scenario table 54d has passed by from the time of execution of the previous UI test, the test executor 55b then executes the UI test according to the target scenario using the test scenario table 54d, the test case table 54e, and the parameter table 54f (S62). In other words, the test executor 55b accesses the web application of the remote management system 30 over the internet 11 through the web browser 55a, and operates the remote management system 30 through the web application and the web browser 55a as detailed in the target scenario.
After the processing of S62, the test executor 55b stores the start time, the end time, the required time, and the executed scenario ID from the UI test executed in S62 (hereinafter referred to as “current UI test”) in the test result database 54g (S63). The test executor 55b assigns a test result ID to the result of the current UI test.
After the processing of S63, the test executor 55b determines whether the output content in the current UI test is normal based on the normal output content in the test scenario table 54d (S64).
When determining in S64 that the output content in the current UI test is normal, the test executor 55b then stores “pass” as a value for the output content normality in the test result database 54g for the current UI test (S65).
When determining in S64 that the output content in the current UI test is not normal, the test executor 55b then stores “fail” as a value for the output content normality in the test result database 54g for the current UI test (S66).
After both of the processing of S65 and the processing of S66, the test executor 55b determines whether the required time of the current UI test (hereinafter referred to as “current required time”) is normal based on the required time (hereinafter referred to as “past required time”) of a UI test other than the current UI test that is the same as the current UI test in executed scenario ID out of the test results in the test result database 54g, and the current required time (S67). The test executor 55b compares the current required time to the past required time. The test executor 55b then determines that the current required time is normal when the current required time is not significantly longer than the past required time and determines that the current required time is not normal when the current required time is significantly longer than the past required time. A variety of methods may be used as the method for comparing the current required time to the past required time. For example, the test executor 55b may calculate a regression line of the past required time. In that case, if the distance between the calculated regression line and the current required time is less than or equal to a specific threshold, the test executor 55b determines that the current required time is not significantly longer than the past required time. If the distance between the calculated regression line and the current required time exceeds this threshold, the test executor 55b determines that the current required time is significantly longer than the past required time.
When determining in S67 that the current required time is normal, the test executor 55b then stores “pass” as a value for the required time normality in the test result database 54g for the current UI test (S68), and ends the operations shown in
When determining in S67 that the current required time is not normal, the test executor 55b then stores “fail” as a value for the required time normality in the test result database 54g for the current UI test (S69), and ends the operations in
Next, the operations, which the UI test system 50 takes when determining whether to send a message to the monitoring system 40 will be described.
The controller 55 of the UI test system 50 executes the operations shown in
As shown in
When determining in S71 that no new test results exist, the failure reporter 55c ends the operations shown in
When determining in S71 that new test results exist, the failure reporter 55c then determines whether there is a test result, in which the value of the output content normality is “fail,” among the new test results (S72).
When determining in S72 that there is a test result, in which the value of the output content normality is “fail,” among the new test results, the failure reporter 55c then determines whether there is a test result, in which the value of the required time normality is “fail,” among the new test results (S73).
When determining in S72 that there is no test result, in which the value of the output content normality is “fail,” among the new test results, the failure reporter 55c then determines whether there is a test result, in which the value of the required time normality is “fail,” among the new test results (S74).
When determining in S73 that there is a test result, in which the value of the required time normality is “fail,” among the new test results, the failure reporter 55c then sends, to the monitoring system 40, a message that includes information on the scenario ID, under which the output content was abnormal in the UI test, and information on the scenario ID, under which the required time was abnormal in the UI test (S75). In other words, the message sent to the monitoring system 40 in S75 is for reporting under what scenario ID the result of the UI test was an abnormality in output content, and for reporting under what scenario ID the result of the UI test was an abnormality in required time.
When determining in S73 that there is no test result, in which the value of the required time normality is “fail,” among the new test results, the failure reporter 55c then sends, to the monitoring system 40, a message that includes information on the scenario ID, under which the output content was abnormal in the UI test (S76). In other words, the message sent to the monitoring system 40 in S76 is for reporting under what scenario ID the result of the UI test was an abnormality in output content.
When determining in S74 that there is a test result, in which the value of the required time normality is “fail,” among the new test results, the failure reporter 55c then sends, to the monitoring system 40, a message that includes information on the scenario ID, under which the required time was abnormal in the UI test (S77). In other words, the message sent to the monitoring system 40 in S77 is for reporting under what scenario ID the result of the UI test was an abnormality in required time.
When determining in S74 that there is no test result, in which the value of the required time normality is “fail,” among the new test results, and when executing the processing of any of S75, S76 and S77, the failure reporter 55c ends the operations shown in
Next, the operations, which the monitoring system 40 takes when having received a message from the UI test system 50, will be described.
When having received a message from the UI test system 50, the reporter 45b of the monitoring system 40 then executes the operations shown in
As shown in
Next, the reporter 45b sends the e-mail generated in S81 to the contact address contained in the contact address information 44b (S82), then ends the operations shown in
Therefore, the recipient of the e-mail sent in S82 can start investigating the remote management system 30 based on the content included in the e-mail.
As described above, since the UI test system 50 automatically executes a UI test (S62) and reports a failure in the remote management system 30 depending on the result of the UI test (S75, S76 or S77), a failure in the remote management system 30 can be automatically detected with respect to an operation through the web application of the remote management system 30.
In the UI test system 50, the UI test is for detecting an abnormality in output content in the UI test. Owing to such configuration, the UI test system 50 can automatically detect an abnormality in output content of the remote management system 30 with respect to an operation through the web application of the remote management system 30. Therefore, the UI test system 50 can make the developer of the remote management system 30, for example, aware of whether the remote management system 30 is actually responsive to an operation through the web application of the remote management system 30.
In the UI test system 50, the UI test is also for detecting an abnormality in required time of the UI test. Owing to such configuration, the UI test system 50 can automatically detect an abnormality in time required until the output from the remote management system 30 with respect to an operation through the web application of the remote management system 30. Therefore, the UI test system 50 can make the developer of the remote management system 30, for example, aware of whether the response speed of the remote management system 30 is kept normal with respect to an operation through the web application of the remote management system 30, that is to say, whether the operability through the web application of the remote management system 30 is normal.
The UI of the remote management system 30 in the present embodiment is the web application of the remote management system 30. However, the UI of the remote management system 30 may be a UI of the remote management system 30 other than the web application. For example, the UI of the remote management system 30 may be composed of any software application installed on the remote management system 30, such as an image forming apparatus simulator installed on the remote management system 30 in order to simulate the operations from an image forming apparatus to the remote management system 30.
In the present embodiment, the monitoring system 40 and the UI test system 50 are separate systems, but may also be combined into one system.
Number | Date | Country | Kind |
---|---|---|---|
2019-107001 | Jun 2019 | JP | national |