Application program migration support system and application program migration support method

The application program migration support system automates the detection and highlighting of differences in screen layouts and operations, addressing the inefficiencies and inaccuracies of manual visual checks during application program updates.

JP2024175720APending Publication Date: 2024-12-19HITACHI LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023093638
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-06-07
Publication Date
2024-12-19

AI Technical Summary

Technical Problem

Existing methods for verifying application program updates between systems with different screen configurations are time-consuming and prone to accuracy issues due to manual visual checks, especially when screen designs change.

Method used

An application program migration support system and method that analyzes and compares the configurations of current and new systems, using tools to automate the detection of differences in screen layouts and operations, employing screen analysis, operation definition acquisition, and character recognition to highlight discrepancies.

Benefits of technology

Automatically detects and highlights changes in screen designs and operations, reducing the time and improving accuracy in verifying application program updates, even when screen configurations differ between systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2024175720000001_ABST
    Figure 2024175720000001_ABST
Patent Text Reader

Abstract

To appropriately verify an updated application program even when content such as a screen configuration is changed from a current system.SOLUTION: An application program migration support system comprises: a picture analysis unit which acquires configuration information of execution pictures of a current application and an updated application to analyze it; a picture operation definition acquisition unit which acquires operation definition describing an operation to an interface by each application; a picture automatic operation unit which executes the operation in the picture analyzed according to the operation definition; a capture image acquisition unit which acquires a capture image of an operation result executed by the picture automatic operation unit; and a comparison processing unit which recognizes a text from the capture image of the picture acquired by the capture image acquisition unit, compares the execution picture of the current application with the execution picture of the updated application, and detects a changed part.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an application program migration support system and an application program migration support method. [Background technology]

[0002] Control devices that control and monitor factory equipment and various social infrastructures are configured by installing application programs on computers. In this case, the application programs are updated as needed to add new functions, etc.

[0003] When developing a new system to update such application programs from the current system to a new system, it is necessary to confirm that the new system will be correctly controlled. Specifically, a comparison test is carried out to confirm whether the same operations as in the current system are carried out on the new system and whether the same data is output in both systems. Here, whether the same data is output in both systems is confirmed visually by the person who carries out the test.

[0004] Such visual inspections are time-consuming and there are concerns about the accuracy of the work, so automation is desirable. Patent document 1 describes a technology that, when verifying screen input operations of old and new systems, automatically determines whether the results are the same by comparing the execution screens of the new and old systems at the same coordinate positions on the screen. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] JP 2017-215764 A Summary of the Invention [Problem to be solved by the invention]

[0006] If the screen configuration is exactly the same between the current system and the new system, the technology described in Patent Document 1 can be applied to detect whether the display of the same coordinate positions on both systems is the same, thereby automatically verifying the new system. However, in reality, when a new system is created, the screen configuration and design displayed are often changed, and there are cases where it is not possible to deal with the issue by simply comparing the display at the same coordinate position.

[0007] In view of the above, an object of the present invention is to provide an application program migration support system and an application program migration support method that can properly verify an application program even if the contents such as the screen configuration are changed from the current system. [Means for solving the problem]

[0008] In order to solve the above problems, for example, the configurations described in the claims are adopted. The present application includes multiple means for solving the above problems. One example is an application program migration support system that supports migration from a current system that runs on a first application program to a new system that runs on a second application program different from the first application program. The application program migration support system is configured to include a screen analysis unit that acquires and analyzes configuration information of the execution screens of the first application program and the second application program, a screen operation definition acquisition unit that acquires operation definitions that describe operations by the first application program and the second application program, a screen automatic operation unit that executes operations within the screen analyzed by the screen analysis unit in accordance with the operation definition acquired by the screen operation definition acquisition unit, a capture image acquisition unit that acquires a capture image of the result of the operation executed by the screen automatic operation unit, and a comparison processing unit that recognizes text from the capture image of the screen acquired by the capture image acquisition unit, and compares the execution screen of the first application program and the execution screen of the second application program to detect changes. Effect of the Invention

[0009] According to the present invention, even if the screen design or the like is changed between the current system and the new system, the changed parts and contents can be automatically detected. Problems, configurations and effects other than those described above will become apparent from the following description of the embodiments. [Brief description of the drawings]

[0010] [Figure 1] 1 is a diagram showing a schematic configuration of an application program migration support system according to an embodiment of the present invention; [Diagram 2] 1 is a block diagram showing an example of a device configuration of an application program migration support system according to an embodiment of the present invention; [Diagram 3]4 is a flowchart showing an example of a process flow of the application program migration support system according to an embodiment of the present invention. [Figure 4] FIG. 11 is a diagram showing an example of a screen operation definition according to an embodiment of the present invention. [Diagram 5] FIG. 11 is a diagram showing an example of an automatic operation based on an operation definition according to an embodiment of the present invention. [Figure 6] FIG. 2 is a diagram showing an example of a character information extraction process (information before extraction) according to an embodiment of the present invention. [Figure 7] FIG. 4 is a diagram showing an example (extracted result) of a character information extraction process according to an embodiment of the present invention. [Figure 8] 11A to 11C are diagrams illustrating an example of a screen transition of an automatic operation according to an embodiment of the present invention. [Figure 9] FIG. 11 is a diagram showing an example of a table aggregation process according to an embodiment of the present invention. [Figure 10] FIG. 13 is a diagram showing an example of a result screen (an example in which a prefix match is detected) according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] An application program migration support system and an application program migration support method according to one embodiment of the present invention (hereinafter referred to as "this embodiment") will be described below with reference to the accompanying drawings.

[0012] [Overview of the application program migration support system] FIG. 1 is a configuration diagram showing an overview of the processing performed in the application program migration support system of this embodiment. In the system of this example, a current application screen 11 displayed on a terminal by executing a first application program, which is a current system, and a new application screen 12 displayed on a terminal by executing a second application program, which is a new system, are analyzed and compared by a comparison tool 110a. In the following description, the first application program is referred to as a current application, and the second application program is referred to as a new application. The comparison tool 110a is a program implemented in a computer device that functions as the application program migration support system 100 (FIG. 2) of this example.

[0013] The comparison tool 110a analyzes the current application and the new application to detect the difference between the execution screens of both applications. To perform this analysis, the comparison tool 110a acquires system settings D11 related to the screen display of the current application and the new application, a screen item list D12, and the like. For example, the system settings D11 have information on the type of control (text box, etc.), the form of the displayed image, and the label position. Also, the screen item list D12 has information on the screen display name, screen item attributes, and sub-attributes. These system settings D11 and screen item list D12 are information that configure the display elements of the screen.

[0014] The display unit 103 (FIG. 2) of the application program migration support system 100 displays an execution screen 20 of the new application according to these display names and attributes. The execution screen 20 shown in FIG. 1 shows an example in which buttons 21 to 24, a select box 25, a radio button 26, a text box 27, and a table 28 are displayed. Moreover, the screen item list D12 shown in FIG. 1 shows a list of the screen configuration of a select box 25, a text box 27, and a table 28.

[0015] Furthermore, in the analysis by the comparison tool 110a, information on the display coordinate position of each display element on the execution screen 20 is acquired as the screen analysis result D13. For example, as the screen analysis result D13, the X coordinate position and the Y coordinate position (horizontal and vertical coordinate positions) indicating the positions of each of the display names "AAA", "BBB", and "CCC" on the screen 20 are acquired.

[0016] Then, after analyzing the current application and the new application, the comparison tool 110a detects the differences between the execution screens of both applications, i.e., the current application screen 11 and the new application screen 12. The detected differences may be displayed in a list or the like, but may also be highlighted on the screen 20 displayed by the display unit 103, where the differences are detected. An example of such a highlighting display will be described in detail later.

[0017] [Configuration of application program migration support system] FIG. 2 shows an example of the configuration of a computer device that functions as the application program migration support system 100. The application program migration support system (computer device) 100 shown in FIG. 2 includes a CPU (Central Processing Unit) 101, an interface unit 102, a display unit 103, an input unit 104, a memory 110, and a storage 120, which are connected via a bus line to enable data transfer.

[0018] The CPU 101 executes an application program transfer support process by executing a program stored in the memory 110 or the storage 120. By executing this application program transfer support process, various functional units required for executing the application program transfer support process are configured in the memory 110. For example, the memory 110 includes a screen analysis section 111, a screen operation definition acquisition section 112, an automatic screen operation section 113, a capture image acquisition section 114, and a comparison processing section 115. The processes performed by each of these functional sections 111 to 115 will be described later.

[0019] The storage 120 stores program data of an existing application 121, program data of a new application 122, etc. The storage 120 also stores data necessary for executing the comparison tool 110a, such as data necessary for image analysis, text recognition, etc.

[0020] The interface unit 102 acquires data such as an existing application 121 and a new application 122 from outside via a predetermined network. The display unit 103 displays the execution screens of the current application 121 and the new application 122, as well as the execution results of the comparison tool 110a. The application program migration support system 100 may output the result data to the outside via the interface unit 102 or the like, and the terminal side that receives the output data may perform output processing such as displaying the result. The input unit 104 is an input device such as a keyboard or a mouse, and receives input when an operator executes a comparison task using the comparison tool 110a.

[0021] [Processing flow executed by the application program migration support system] FIG. 3 is a flowchart showing the flow of the process executed by the application program migration support system 100 of this embodiment. First, the screen analysis unit 111 of the application program migration support system 100 executes an image analysis process to acquire screen components, which are configuration information of display elements of the execution screens of the current application and the new application, from the program data of each application (step S11).

[0022] Then, through this acquisition process, the screen analysis unit 111 acquires, for example, data of system settings D11 and data of screen item list D12, which are components of the screen shown in Fig. 1. The screen analysis unit 111 also executes a screen analysis process of the configuration information of the acquired execution screen, and performs a display coordinate position acquisition process to acquire the display coordinate position of each component on the screen (step S12). In the process of step S12, the screen analysis unit 111 acquires the X and Y coordinate positions of each component on the screen, such as the screen analysis result D13 shown in Fig. 1.

[0023] Next, screen operation definition acquisition unit 112 performs a screen operation definition acquisition process to acquire screen operation definitions, which are operation definitions describing operations on interfaces by each application program, from the current application and the new application (step S13). FIG. 4 shows an example of a screen operation definition. In the example of FIG. 4, the screen operation definition has items of ID, operation, screen display name, control type, screen operation attribute, value, screenshot ID, and comparison screenshot ID.

[0024] The operation indicates the operation content performed on the display element of the corresponding part, such as pressing a URL, displaying a screen, taking a capture, inputting search conditions, etc. The screen display name indicates the display name displayed in the corresponding location. The control type indicates the type of input such as characters, URL selection, button operation, etc. at the corresponding location. The screen display attributes indicate attributes such as a select box, a radio button, and a text box. The value indicates a value or character to be automatically input into the corresponding field.

[0025] The screenshot ID indicates the ID of the screenshot assigned to the corresponding part. The comparison screenshot ID indicates the ID of the screenshot to be compared with the corresponding part. That is, the screenshot ID and the comparison screenshot ID are IDs used when comparing the current application with the new application. Note that, here, an image obtained by extracting a portion corresponding to the screen configuration information from a captured image is called a screenshot.

[0026] Returning to the explanation of Figure 3, after the screen operation definition acquisition process in step S13, the automatic screen operation unit 113 performs automatic screen operation processing on the execution screens of the current application and the new application in accordance with a predetermined procedure and in accordance with the operation definition acquired in the screen operation definition acquisition process (step S14). Here, the automatic screen operation process may be configured to perform operations completely automatically according to a predetermined procedure, but some operations may be manually input by an operator. Then, the application program migration support system 100 generates an execution screen for the current application as a result of the automatic operation and an execution screen for the new application. When automatic screen operation section 113 generates the execution screens of the current application and the new application, capture image acquisition section 114 performs a capture image acquisition process to obtain a capture image of each execution screen (step S15).

[0027] When the capture image acquisition unit 114 acquires a capture image, the comparison processing unit 115 acquires a screenshot of the display coordinate position of each component from the capture image, and performs recognition processing of text information such as characters in the screenshot. Here, the comparison processing unit 115 employs a character (text) recognition technology called optical character recognition (OCR) to extract text such as letters and numbers in the image. Then, the comparison processing unit 115 compares character information (text information) recognized for the same operation content between the screenshot obtained from the execution screen of the current application and the screenshot obtained from the execution screen of the new application screen (step S16).

[0028] If the comparison in step S16 shows that there are differences in text information such as letters and numbers, the comparison processing unit 115 performs a highlighting process on the different parts (step S17). The highlighting process is, for example, a process of applying a specific color to the corresponding parts. Then, the comparison processing unit 115 performs a screen combining process to combine the highlighted portion with the execution screen (step S18). Also, the display unit 103 of the application program transition support system 100 performs an output process (display process) of the screen combined in step S18 (step S19).

[0029] [Examples of operation definitions and automatic operations] 5 shows an example of a screen generated based on the operation definition D14 (a part of the operation definition shown in FIG. 4) of the components of the display screen, and an example of automatic operation of the screen. The values ​​of the operation definition D14 here are input by the automatic operation of the automatic screen operation unit 113. On the screen generated here, buttons 21 to 24, a select box 25, a radio button 26, a text box 27, and a table 28 are displayed. Here, by the automatic operation of the automatic screen operation unit 113, for example, a process of inputting "test" into the text box 27 is performed. The position of the text box 27 can be determined from the coordinate position obtained by the analysis process in step S12.

[0030] [Comparison of text information] 6 and 7 show an example of a process for extracting character information (text information) from an execution screen and a process for comparing the extracted character information. The upper side of FIG. 6 shows an execution screen 210 after the automatic operation by the current application, and the lower side of FIG. 6 shows an execution screen 220 after the automatic operation by the new application.

[0031] Although the components 211-218 of the execution screen 210 of the current application and the components 221-228 of the execution screen 220 after the automatic operation of the new application are basically the same components, the layouts of the two screens are different. Therefore, the results of the automatic operation of the current application and the automatic operation of the new application depend on each application. Therefore, table 218 showing the operation results of execution screen 210 for the current application and table 228 showing the operation results of execution screen 220 for the new application should have the same numerical values, but the numerical values ​​may differ if there is an error in the new application.

[0032] Here, the comparison processing unit 115 recognizes the character information contained in each of the components 211-218 of the execution screen 210 of the current application and the character information contained in each of the components 221-228 of the execution screen 220 after automatic operation of the new application as text using character recognition processing, and compares them.

[0033] FIG. 7 shows list information D15 of the character recognition results and comparison results for the current application and the new application. List information D15 shown in FIG. 7 indicates the item, expected value (value of current application), type, output result (value of new application), result, and confirmation date. 7, the comparison processing unit 115 compares each of the components 211-218 of the execution screen 210 of the current application with each of the components 221-228 of the execution screen 220 after the automatic operation of the new application, treating the same components as items in one line. The expected value is character information (text information) obtained by image recognition from screenshots of the components of the current application, and the output result is character information obtained by image recognition from screenshots of the components of the new application.

[0034] The result column indicates whether the expected value matches the output result. That is, a column containing "OK" indicates that the characters in the components match, and a column containing "NG" indicates that the characters in the components do not match. The confirmation date column indicates the date and time when the confirmation process was performed. By displaying such a list of comparison results, the operator can easily determine the changes in the new app. This eliminates the need for the operator to visually check each item displayed on the screen, making it easier to check the application program when updating it in a short amount of time.

[0035] [Example of the screen and highlighting generated during automated operation] Fig. 8 shows an example of the transition of screens when an automatic operation is performed by the automatic screen operation unit 113, and a highlight display that is displayed as a result. The screens during each automatic operation shown in Fig. 8 are displayed on the display unit 103. Also, the storage 120 may store each screen and display it later so that the operator can verify it.

[0036] In the example of Fig. 8, a list of operations is first displayed on the top left screen M11, and one item is selected from the list of operations to form the top center screen M12. This screen M12 is a screen for performing specific controls, and on screen M12, components 221 to 228 such as buttons, text boxes, and tables are displayed. Here, as shown in the bottom left screen M13, the number "6" is automatically selected in the selection box 225, OFF is automatically entered into the radio button 226, and "test" is automatically entered into the text box 227.

[0037] The result of executing a new application based on the input operations shown on this screen M13 is displayed as a screen M14 on the right of the lower row. When this screen M14 is displayed, the current application screen and the new application screen are compared, and the differences are highlighted. That is, in screen M14, background color change areas 225a, 226a, and 227a are provided in the areas of select box 225, radio button 226, and text box 227, respectively, to make them stand out more than other areas.

[0038] This allows the operator to easily determine which parts of the screen have been changed by the new app from the highlighted display. Note that changing the background color is just one example of highlighting, and the color of the display area itself may be changed. Alternatively, other relevant areas may be highlighted to make them stand out more than the surrounding areas.

[0039] [Example of displaying all tables together] FIG. 9 shows an example in which, when a table obtained by automatic operation is too large and the display result must be displayed on multiple screens, all of the multiple screens are combined and displayed on a single screen. That is, it is assumed that as a result of execution by automatic screen operation section 113, screen M21 shown in the upper left part of FIG. 9, screen M22 shown in the middle left part, and screen M23 shown in the lower left part are obtained. These screens M21, M22, and M23 differ in the display range of tables 228a, 228b, and 228c. That is, screen M21 displays the upper 1 / 3 of table 228a, screen M22 displays the central 1 / 3 of table 228b, and screen M23 displays the lower 1 / 3 of table 228c. These three displays can be changed by operating the scroll button on the screen to change the display range and select one of the display forms.

[0040] Here, as a result of automatic operation by automatic screen operation section 113, the three display ranges of screens M21, M22, and M23 are combined and displayed as shown in table 228d of screen M24. In other words, automatic screen operation section 113 combines tables 228a, 228b, and 228c vertically and displays them as table 228d. When displaying the screen M24 showing the results after this automatic operation, the differences from the current app are highlighted, similar to the example described in FIG. This makes it easy to see whether there are any differences between the current app and the new app in all areas, even if the results of the automatic operations are not all displayed on one screen. Although FIG. 9 shows an example in which a plurality of displays in the vertical direction of the screen are combined into one display, a plurality of displays in the horizontal direction of the screen may also be combined into one display.

[0041] [Example when only some characters are displayed] FIG. 10 shows an example of a case where only a part of the displayed characters matches when the comparison results are displayed in a list as described with reference to FIG. The character string displayed on a button, etc., may only display a portion of the character string that should be displayed due to the display size constraints of the button. For example, as shown in Figure 10, assume that the expected value extracted from the character string in a button on the display screen of the current application is "ABC Co., Ltd.", and the output result extracted from the character string in the same button on the display screen of the new application is "ABC Manufacturing Co., Ltd."

[0042] In this case, the expected value "ABC Co., Ltd." and the output result "ABC Manufacturing Co., Ltd." match at the beginning, and it is possible that the expected value "ABC Co., Ltd." only displays the first part of "ABC Manufacturing Co., Ltd." Therefore, in such a case, a warning "WARN" is displayed in the result column to prompt the operator to check.

[0043] This allows for proper confirmation even if the number of display characters has changed between the current app and the new app due to changes in the display layout, etc. In the example of Fig. 10, the result is a warning, but in the case of such a forward match, the result may be considered as an "OK" match.

[0044] [Variations] It should be noted that the embodiment examples described so far have been described in detail in order to explain the present invention in an easily understandable manner, and are not necessarily limited to those having all of the configurations described. For example, the display forms of the screens shown in the drawings are merely examples, and the present invention is not limited to these display forms. In addition, in the configuration diagram of the application program migration support system 100 shown in Figure 2, only control lines and information lines that are considered necessary for explanation are shown, and not all control lines and information lines in the product are necessarily shown. In reality, it can be considered that almost all components are connected to each other. Furthermore, the flow of processing shown in the flowchart in FIG. 3 is also one example, and as long as the processing results are the same, the order of some of the processing may be changed or multiple processing may be executed simultaneously.

[0045] In addition, the fact that the application program migration support system 100 is configured as a computer device in which a program (a program that executes the application program migration support method) as an analysis tool is implemented as shown in FIG. 2 is also one example, and the application program migration support system 100 may be realized in other configurations. For example, a part or the whole of the application program migration support system 100 may be realized by dedicated hardware such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). Furthermore, a portion of the configuration of the application program migration support system 100 may be placed in another processing device, such as a server connected via a network, so that data can be exchanged between a plurality of processing devices.

[0046] Furthermore, the program for executing the application program migration support method may be stored in a storage device within the computer, or may be stored in a recording medium such as an external memory, an IC card, an SD card, or an optical disk, and then transferred. [Explanation of symbols]

[0047] 100... application program migration support system, 101... CPU, 102... interface unit, 103... display unit, 104... input unit, 110... memory, 110a... comparison tool, 111... screen analysis unit, 112... screen operation definition acquisition unit, 113... screen automatic operation unit, 114... capture image acquisition unit, 115... comparison processing unit, 120... storage, 121... current application, 122... new application

Claims

1. An application program migration support system that supports migration from an existing system that runs on a first application program to a new system that runs on a second application program different from the first application program, a screen analysis unit that acquires and analyzes configuration information of an execution screen of the first application program and the second application program; a screen operation definition acquisition unit that acquires an operation definition describing operations by the first application program and the second application program; an automatic screen operation unit that executes an operation within the screen analyzed by the screen analysis unit in accordance with the operation definition acquired by the screen operation definition acquisition unit; a capture image acquisition unit for acquiring a capture image of a result of an operation performed by the automatic screen operation unit; a comparison processing unit that recognizes text from the captured image of the screen acquired by the capture image acquisition unit, and compares the execution screen of the first application program with the execution screen of the second application program to detect and output changes. Application program migration support system.

2. Furthermore, the comparison processing unit highlights the changed portion on the execution screen of the second application program as a screen output based on the comparison result.

2. The application program migration support system according to claim 1.

3. The highlighting of the change is a process of changing the display color of the change or the background of the change.

3. The application program migration support system according to claim 2.

4. The comparison processing unit combines at least a part of the plurality of screens to form one screen as a screen to be output based on the comparison result.

3. The application program migration support system according to claim 2.

5. The comparison processing unit compares text displayed by the same process or operation in two execution screens based on the configuration information analyzed by the screen analysis unit, and outputs whether or not they match.

2. The application program migration support system according to claim 1.

6. The comparison processing unit determines that the text displayed on one screen matches the first half of the text displayed on the other screen, and outputs a corresponding determination result.

6. The application program migration support system according to claim 5.

7. The screen analysis unit obtains display coordinates of a displayed element.

6. The application program migration support system according to claim 5.

8. The configuration information acquired by the screen analysis unit includes a screen display name.

2. The application program migration support system according to claim 1.

9. The configuration information acquired by the screen analysis unit through analysis is at least one of a button, a text box, a select box, a check box, a radio button, a label, a link, and a display on the screen.

2. The application program migration support system according to claim 1.

10. An application program migration support method for supporting migration from an existing system that runs on a first application program to a new system that runs on a second application program different from the first application program, a screen analysis process for acquiring and analyzing configuration information of an execution screen of the first application program and the second application program; a screen operation definition acquisition process for acquiring an operation definition describing operations by the first application program and the second application program; an automatic screen operation process for executing an operation within the screen analyzed by the screen analysis process in accordance with the operation definition acquired by the screen operation definition acquisition process; A capture image acquisition process for acquiring a capture image of an operation result executed in the automatic screen operation process; a comparison process of recognizing text from a captured image of a screen acquired by the capture image acquisition process, and comparing the execution screen of the first application program with the execution screen of an interface of the second application program to detect changes. A method for supporting application program migration.

Citation Information

Patent Citations

  • Information processing apparatus, information processing method, and program

    JP2017215764A