Electronic device for testing user interface, and operating method thereof
By employing multiple rendering services to compare user interfaces rendered with different system library versions without saving screenshots, and using JSON format for test cases, the method addresses the inefficiencies of existing user interface testing methods, enhancing memory efficiency and testing convenience.
Patent Information
- Application Number
- PCT/KR2024/095129
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-18
- Filing Date
- 2024-02-14
- Publication Date
- 2025-06-26
AI Technical Summary
Existing methods for testing user interfaces require saving screenshot images before and after system library modifications, which consumes excessive memory and is inefficient.
The method involves using multiple rendering services to test user interfaces without saving screenshot images, by generating and comparing user interfaces rendered with different system library versions, and utilizing JSON format for creating test cases to simplify the testing process.
This approach reduces memory usage and simplifies the testing process by allowing service providers to easily identify and test test cases, thereby improving the efficiency and reliability of user interface testing.
Smart Images

Figure KR2024095129_26062025_PF_FP_ABST
Abstract
Description
Electronic device for testing user interface and method of operation thereof
[0001] The present invention relates to an electronic device for testing a user interface (UI) and a method of operating the same. More specifically, the present invention relates to an electronic device for testing whether a rendered user interface changes when a system library related to the execution of an application or web page is modified, and a method of operating the same.
[0002] As internet use becomes more widespread, the e-commerce market is expanding. Particularly, with the spread of infectious diseases, the proportion of people visiting offline stores to purchase products is decreasing, while the proportion of people purchasing products through e-commerce using computers or smartphones is rapidly increasing.
[0003] As the e-commerce market expands, e-commerce service providers are adopting a strategy of regularly updating their webpages and applications to continuously improve the user experience. For example, they can optimize webpages and applications for use on various devices, design intuitive and user-friendly interfaces to enhance the user purchasing experience, and offer a variety of payment methods and convenient shipping options to facilitate user payment and receipt of products. These updates may result in changes to the user interface on webpages and applications, in accordance with the e-commerce service updates.
[0004] Meanwhile, in addition to the cases described above, updates may be considered to prevent customer churn and improve service reliability by optimizing page loading speeds to ensure a smooth shopping experience for users. Furthermore, as users update their mobile device software, new versions of the SDK (Software Development Kit) may be introduced, necessitating modifications to system libraries. In such updates, it is crucial to ensure that the user interface on webpages and applications remains unchanged. This is because frequent user interface changes, even when intended to improve user experience, can degrade the user experience.
[0005] Therefore, e-commerce service providers need to verify whether system library modifications affect the rendering results before implementing scheduled service updates. Typically, this involves saving screenshots of the rendered user interface before and after code modifications and comparing the two images before and after the system library modifications. However, storing screenshots of the rendered user interface before and after system library modifications for various user interfaces provided by the service can require excessive memory usage.
[0006] In this regard, reference may be made to prior literature such as KR 10-2470852 B1 and KR 10-2023-0055995 A.
[0007] The present invention has been proposed to solve the above-described problem, and aims to save memory required for testing a user interface by enabling testing of a user interface without having to store screenshot images of the user interface before and after system library modification using multiple rendering services.
[0008] In addition, the present invention aims to enable service providers to more easily identify and test test cases by creating test cases in JSON format when creating test cases for testing a user interface.
[0009] The technical problems to be achieved in the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned can be clearly understood by a person having ordinary skill in the technical field to which the present invention belongs from the description below.
[0010] A method for testing a user interface in an electronic device according to one embodiment of the present invention is characterized by including: receiving a plurality of test cases for testing a user interface related to a service; extracting a first test case from the plurality of test cases; generating a first user interface for the first test case using a first rendering service; generating a second user interface for the first test case using a second rendering service; and confirming a test result based on the first user interface and the second user interface.
[0011] In one embodiment, after the step of receiving the plurality of test cases, the method further comprises the step of converting each of the plurality of test cases into a file in JSON code format.
[0012] In one embodiment, each of the plurality of test cases includes a parameter relating to a user interface to be tested, wherein the parameter relating to the user interface includes at least one of a shape, a size, a color, content, and a position of the user interface.
[0013] In one embodiment, the step of verifying the test result based on the first user interface and the second user interface is characterized by including the step of comparing a pixel value at a first location in the first user interface and a pixel value at the first location in the second user interface.
[0014] In one embodiment, the method further comprises a step of outputting the test result, and when the test result determines that the first user interface and the second user interface are the same, an image corresponding to the first user interface is output as the test result.
[0015] In one embodiment, the method further comprises a step of outputting the test result, and when the test result determines that the first user interface and the second user interface are different, an image indicating different parts between the first user interface and the second user interface is output as the test result.
[0016] In one embodiment, the method further includes a step of outputting the test result, and when the test result determines that the first user interface and the second user interface are different, the first user interface and the second user interface are output as the test result, and a changed part is highlighted and displayed on the first user interface and the second user interface.
[0017] In one embodiment, the first rendering service is characterized in that a first system library of a version prior to the update is applied, and the second rendering service is characterized in that a second system library of a version after the update is applied.
[0018] In one embodiment, the method further comprises the steps of modifying the second system library to a third system library if the test result indicates a change in the user interface that is not intended by the provider of the service; and applying the third system library to the second rendering service.
[0019] In one embodiment, the method further comprises the steps of modifying the second system library to a fourth system library if the test result indicates a change in the user interface intended by the provider of the service; and applying the fourth system library to the first rendering service.
[0020] In one embodiment, the method further comprises: extracting a second test case from among the plurality of test cases when there is no change in the user interface as a result of the test; checking a third user interface for the second test case generated by the first rendering service and a fourth user interface for the second test case generated by the second rendering service; and checking a test result based on the third user interface and the fourth user interface.
[0021] In one embodiment, each of the plurality of test cases includes information about a user input regarding a user interface to be tested, wherein the user input regarding the user interface includes at least one of a button click, a drag and drop, a text input, a scroll, and a mouse hover of the user regarding the user interface.
[0022] In one embodiment, the step of confirming the test result based on the first user interface and the second user interface is characterized by including the step of providing the user interface changes in which the test result is visually expressed in the form of a video or animation.
[0023] A non-transitory recording medium according to one embodiment of the present invention is characterized by being a computer-readable non-transitory recording medium having recorded thereon a program for executing the user interface test method described above on a computer.
[0024] An electronic device for performing a user interface testing method according to one embodiment of the present invention comprises: a transceiver for transmitting and receiving information with another device; and a processor for receiving a plurality of test cases for testing a user interface related to a service, extracting a first test case from the plurality of test cases, generating a first user interface for the first test case using a first rendering service, generating a second user interface for the first test case using a second rendering service, and confirming a test result based on the first user interface and the second user interface.
[0025] The present invention has a technical effect in that it enables efficient and economical use of resources by eliminating the memory burden caused by saving screenshot images in a conventional method of testing a user interface.
[0026] In addition, the present invention has a technical effect in that it can improve the convenience of service providers by making it easier to understand and create test scenarios by utilizing test cases in JSON code format.
[0027] These effects can be usefully utilized by e-commerce service providers when modifying and updating system libraries to provide stable and efficient services and improve user experience.
[0028] The effects that can be obtained through the present invention are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by a person having ordinary skill in the technical field to which the present invention belongs from the description below.
[0029] FIG. 1 is a schematic diagram illustrating the configuration of a system for testing a user interface according to various embodiments.
[0030] FIG. 2 is a flowchart illustrating the operation of an electronic device performing a user interface testing method according to one embodiment of the present invention.
[0031] FIG. 3 is a diagram illustrating an example of a user interface rendered by a rendering service according to one embodiment of the present invention.
[0032] FIG. 4 is a diagram illustrating an example of a user interface test result according to one embodiment of the present invention.
[0033] FIG. 5 is a drawing schematically illustrating each component of an electronic device according to one embodiment of the present invention.
[0034] In describing the embodiments, descriptions of technical details that are well known in the technical field to which the present invention pertains and are not directly related to the present invention will be omitted. This is to avoid obscuring the gist of the present invention by omitting unnecessary explanations and to convey the gist more clearly.
[0035] For the same reason, some components in the attached drawings are exaggerated, omitted, or schematically depicted. Furthermore, the dimensions of each component do not entirely reflect its actual size. Identical or corresponding components in each drawing are assigned the same reference numbers.
[0036] The advantages and features of the present invention, and the methods for achieving them, will become clearer with reference to the embodiments described in detail below together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various different forms. These embodiments are provided only to ensure that the disclosure of the present invention is complete and to fully inform those skilled in the art of the scope of the invention, and the present invention is defined only by the scope of the claims. Like reference numerals designate like elements throughout the specification.
[0037] At this time, it will be understood that each block of the processing flowchart drawings and combinations of the flowchart drawings can be performed by computer program instructions. These computer program instructions can be loaded into a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing equipment, so that the instructions executed by the processor of the computer or other programmable data processing equipment create a means for performing the functions described in the flowchart block(s). These computer program instructions can also be stored in a computer-available or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement the functions in a specific manner, so that the instructions stored in the computer-available or computer-readable memory can produce an article of manufacture that includes a command means for performing the functions described in the flowchart block(s). The computer program instructions can also be loaded onto a computer or other programmable data processing equipment, so that a series of operation steps are performed on the computer or other programmable data processing equipment to create a computer-executable process, so that the instructions that execute the computer or other programmable data processing equipment can provide steps for performing the functions described in the flowchart block(s).
[0038] Additionally, each block may represent a module, segment, or portion of code that contains one or more executable instructions for performing a specific logical function(s). It should also be noted that in some alternative implementation examples, the functions described in the blocks may occur out of order. For example, two blocks depicted in succession may actually be executed substantially concurrently, or the blocks may sometimes be executed in reverse order, depending on their respective functions.
[0039] Here, the term '~ unit' used in this embodiment means a software or hardware component such as an FPGA or ASIC, and the '~ unit' performs certain roles. However, the '~ unit' is not limited to software or hardware. The '~ unit' may be configured to be on an addressable storage medium and may be configured to regenerate one or more processors. Thus, as an example, the '~ unit' includes components such as software components, object-oriented software components, class components, and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functions provided within the components and '~ units' may be combined into a smaller number of components and '~ units' or further separated into additional components and '~ units'. In addition, the components and '~ units' may be implemented to regenerate one or more CPUs within a device or a secure multimedia card.
[0040] The expression “at least one of a, b and c” described throughout the specification may encompass ‘a alone’, ‘b alone’, ‘c alone’, ‘a and b’, ‘a and c’, ‘b and c’, or ‘all of a, b and c’.
[0041] The "terminal" mentioned below may be implemented as a computer or portable terminal that can connect to a server or other terminal via a network. Here, the computer includes, for example, a notebook, desktop, laptop, etc. equipped with a web browser, and the portable terminal may include, for example, a wireless communication device that guarantees portability and mobility, and may include all types of handheld-based wireless communication devices such as communication-based terminals such as IMT (International Mobile Telecommunication), CDMA (Code Division Multiple Access), W-CDMA (W-Code Division Multiple Access), LTE (Long Term Evolution), smartphones, tablet PCs, etc.
[0042] Below, with reference to the attached drawings, embodiments of the present disclosure are described in detail so that those skilled in the art can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein.
[0043] Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings.
[0044] FIG. 1 is a schematic diagram illustrating the configuration of a system for testing a user interface according to various embodiments.
[0045] Referring to FIG. 1, a user interface test system according to various embodiments of the present invention may include an electronic device (100), a user interface test case (110), and a rendering service (120). Meanwhile, the system illustrated in FIG. 1 only illustrates components related to embodiments of the present invention. Therefore, those skilled in the art will appreciate that, in addition to the components illustrated in FIG. 1, other general-purpose components may be included.
[0046] An electronic device (100) according to various embodiments is a device that configures and provides various information. In one embodiment, the electronic device (100) can check whether the user interface is properly rendered for a system library that an e-commerce service provider wants to test for configuring a webpage or application, and output the result. In addition, the electronic device (100) can perform wired or wireless communication with other devices that constitute a user interface test system and can be a device that includes a memory. For example, the electronic device (100) can be a cloud device. In other words, the user interface testing method according to embodiments of the present disclosure can also be implemented on a logical device of a cloud device.
[0047] In one embodiment, the user interface test case (110) may include user interfaces to be tested using a user interface testing method according to various embodiments of the present invention. In one embodiment, the user interface test case (110) may include information regarding various user interface objects related to the development of program code for providing a web page or application.
[0048] In one embodiment, the rendering service (120) may include multiple rendering services (120a, 120b). The rendering service (120) may be a device having computing capabilities that exists separately from the electronic device (100), or may be included within the electronic device (100). In one embodiment, each of the multiple rendering services (120a, 120b) may operate to render a user interface for cases provided as a user interface test case (110) based on different system libraries (121a, 121b). The system libraries (121a, 121b) may correspond to different versions of compilers for the same code. Alternatively, the system libraries (121a, 121b) may correspond to different codes. In addition, the rendering service (120) may provide the results rendered by the multiple rendering services (120a, 120b) to the electronic device (100).
[0049] Various modules may be provided for operations according to embodiments of the present disclosure. The modules may include computer codes or one or more commands implemented to enable a physical device (e.g., an electronic device (100)) implementing a user interface testing method according to embodiments of the present disclosure to perform a specified operation. In other words, a physical device implementing a user interface testing method according to embodiments of the present disclosure may store a plurality of modules in a memory in the form of computer codes, and when the plurality of modules stored in the memory are executed, the plurality of modules may cause the physical device to perform specified operations corresponding to the plurality of modules.
[0050] The method by which the electronic device (100) tests the user interface will be described in detail below with reference to FIG. 2.
[0051] FIG. 2 is a flowchart illustrating the operation of an electronic device performing a user interface testing method according to one embodiment of the present invention.
[0052] Referring to FIG. 2, in step S210, the electronic device (100) may receive a plurality of test cases (110) for testing a user interface related to a service. In one embodiment, the plurality of test cases (110) may include parameters related to various user interfaces related to the development of program code for an e-commerce service provider to provide a webpage or application. For example, the parameters related to the user interface may include at least one of the appearance, size, color, content, and position of the user interface.
[0053] The parameters related to the shape of the user interface are parameters for specifying the shape of the user interface object displayed on the screen of a web page or application, and may have any values representing the shape, including fill, tint, and outline. In addition, the parameters related to the size of the user interface are parameters for specifying the size of the user interface object displayed on the screen of a web page or application, and may have any values representing the size, including small, medium, and large, and may also have as values the height and width of the user interface object displayed. In addition, the parameters related to the color of the user interface are parameters for specifying the color of the user interface object displayed on the screen of a web page or application, and may have any values representing the color for displaying the user interface, including red, orange, and black. In addition, the parameters related to the content of the user interface are parameters for specifying the content displayed on the user interface object on the screen of a web page or application, and may have as values the contents of the text and font to be displayed. Additionally, parameters regarding the position of the user interface may be expressed as coordinates of the start point where the user interface is displayed, coordinates of the end point, and coordinates of the bottom.
[0054] In one embodiment, a plurality of test cases (110) for testing the user interface may be implemented in a programming or scripting language such as C, C++, Java, or an assembler. The test cases (110) implemented in such a programming or scripting language are used to verify that, when there is a modification to the code of a web page or application for providing an e-commerce service, all user interfaces are displayed in the same manner as before or as intended according to the modified code. Accordingly, an e-commerce service provider may specify possible values for each parameter related to the user interface in order to test all user interfaces related to the service, thereby generating a plurality of test cases (110) that include combinations of all possible values for the parameters related to each user interface.
[0055] In one embodiment, each of the plurality of test cases (110) can be converted into a file in JSON code format. The JSON code format is a lightweight data exchange format that is highly readable and can effectively express data. Since JSON is expressed in a text format, it is easy for an e-commerce service provider to understand the user interface that they want to implement through the JSON code written in a specific JSON file. In addition, since it is easy to modify the JSON code, it is simple to add new test cases or update existing test cases as needed. In addition, since each of the plurality of test cases (110) is converted into a separate JSON code format, it is easier to select only the desired test cases and perform user interface testing.
[0056] For example, if you want to test a user interface that displays the text "Get a free gift when you purchase over 100,000 won worth of Company A products", a parameter related to the content in a test case (110) implemented in a programming or scripting language is set to have the value "Get a free gift when you purchase over 100,000 won worth of Company A products", and a program code is configured that includes test cases for all possible test cases that include this. In this case, since user interface testing is performed for all possible test cases, it is necessary to understand how the entire code is structured in order to check the results for a specific test case you want, making the process complicated. On the other hand, if it is configured with JSON code, the test case can be configured with the JSON code below.
[0057] "type": "RDS_TEXT""data": {"text": "Free gift when purchasing Company A products worth 100,000 won or more","textColor": "#637381","size": 16}
[0058] An e-commerce service provider can easily understand from the JSON code above that the test case displays the text "Free gift with purchase of Company A products worth 100,000 won or more" in the color #637381 and size 16. In this way, using JSON code allows an e-commerce service provider to easily understand the expected behavior of the user interface through JSON code and to more systematically configure the desired test scenario. Therefore, a test case in JSON code format can contribute to effectively supporting user interface testing in an e-commerce service. In step S220, the electronic device (100) can extract a first test case from among a plurality of test cases (110) for testing the user interface related to the service.
[0059] In one embodiment, the first test case may be configured as a test case that uses only some of the parameters related to the user interface with changed values according to the purpose of the modified code among the plurality of test cases (110), and the remaining parameters have fixed values. For example, if there is a modification to the code related to displaying the color of a specific button among various user interfaces provided by the service, a test case may be configured to set only the parameter related to the button color to have a changed value, and use fixed values for the other parameters. In this way, when a test case is configured to have only some of the parameters related to the user interface with changed values according to the purpose of the modified code, there is an advantage in that the time required for testing can be efficiently reduced because testing does not need to be performed on the entire user interface.
[0060] In one embodiment, when a plurality of test cases are converted into JSON code format as described above and each test case exists in the form of a separate file, the electronic device (100) can extract a JSON code file containing content regarding a user interface to be tested from among the files regarding the plurality of test cases. In addition, as described above, since the service provider can easily understand and modify the user interface to be confirmed through JSON code, it is also possible to configure the first test case by selecting a portion of the JSON code file and modifying the code content into content regarding the user interface to be tested by the service provider. For example, when there is a modification in the code related to displaying the color of a specific text among various user interfaces provided by the service, the desired test case can be easily extracted by changing the parameter (textColor) value related to the color of the corresponding text in the JSON code.
[0061] In step S230, the electronic device (100) may generate a first user interface for the first test case using a first rendering service (120a) among the rendering services (120). In addition, in step S240, the electronic device (100) may generate a second user interface for the first test case using a second rendering service (120b) among the rendering services (120).
[0062] In one embodiment, the electronic device (100) may transmit a command for performing rendering based on the first test case extracted in step S220 to the first rendering service (120a) and the second rendering service (120b) within the rendering service (120). Thereafter, the first rendering service (120a) and the second rendering service (120b) may generate a user interface as a rendering result based on the system library corresponding to each rendering service based on the code for the first test case.
[0063] In one embodiment, the first rendering service (120a) may correspond to a first system library associated with code prior to an e-commerce service provider updating the code for a webpage or application provided to an e-commerce service user. That is, the first rendering service (120a) may render a user interface for a test case that the service provider wishes to test based on the code prior to the update of the webpage or application. Similarly, the second rendering service (120b) may correspond to a second system library associated with code after the e-commerce service provider updates the code for a webpage or application. That is, the second rendering service (120b) may render a user interface for a test case that the service provider wishes to test based on the code after the update of the webpage or application. Alternatively, the first rendering service (120a) may correspond to a first system library for compiling code using a compiler version prior to the update, and the second rendering service (120b) may correspond to a second system library for compiling code using a compiler version after the update. The present invention is not limited to the above-described embodiments, and system libraries for various versions of code or compilers for which user interfaces are to be compared may correspond to the rendering service.
[0064] When an e-commerce service provider updates a webpage or application for the purpose of changing the user interface, the second user interface rendered by the second rendering service must reflect the changes intended by the user compared to the first user interface rendered by the first rendering service. On the other hand, when an e-commerce service provider updates a webpage or application for a purpose other than changing the user interface, the first user interface rendered by the first rendering service and the second user interface rendered by the second rendering service are preferably identical. Therefore, the e-commerce service provider can verify whether the update of the webpage or application is appropriate by comparing the first user interface and the second user interface. To this end, the first rendering service and the second rendering service may provide the rendering results for the first test case to the electronic device (100) in the form of an image file.
[0065] In step S250, the electronic device (100) can check the test results based on the first user interface and the second user interface.
[0066] In one embodiment, the electronic device (100) can perform a test by comparing pixel values at the same location on the first user interface and the second user interface. If there is a change between the first user interface and the second user interface, the corresponding portion will have different pixel values on the first user interface and the second user interface. If there is no change between the first user interface and the second user interface, the corresponding portion will have the same pixel value on the first user interface and the second user interface. Accordingly, the e-commerce service provider can confirm that there is no change in the user interface based on the comparison result of the pixel values at the same location on the first user interface and the second user interface, or, if there is a change, determine whether the change is a change intended by the service provider.
[0067] Alternatively, the electronic device (100) may output whether there is a change in the user interface based on the result of comparing pixel values at the same location on the first user interface and the second user interface. For example, if the goal is to ensure that there is no change in the user interface before and after a change in the system library, it may be cumbersome for the service provider to directly check the comparison results of the first user interface and the second user interface for numerous user interface test cases. Therefore, the electronic device (100) may check the comparison results of the first user interface and the second user interface and output the result regarding whether there is a change in the user interface. Alternatively, if there is a change only for some test cases, the comparison result may be output along with the corresponding test case. In this way, by having the electronic device (100) automatically determine the test results, the service provider can reduce the hassle of having to directly check whether there is a change based on the provided image.
[0068] In one embodiment, the electronic device (100) may provide test results. For example, the electronic device (100) may visually output the test results on a display of a device coupled with the electronic device (100).
[0069] In one embodiment, the electronic device (100) may output an image as a test result based on a value obtained by subtracting a pixel value at a corresponding location on the second user interface from a pixel value at each location on the first user interface. If the first user interface and the second user interface are the same, the two user interfaces have the same pixel value at all locations, and thus the output test result will be a black image having a pixel value of 0 at all locations. On the other hand, if the first user interface and the second user interface have different parts, the pixel values of the two user interfaces at the corresponding locations will be different, and thus the output test result will be an image having a pixel value other than 0 at the corresponding location.
[0070] In one embodiment, if the electronic device (100) determines that the first user interface and the second user interface are identical, the electronic device (100) may output an image corresponding to the first user interface as a test result. Furthermore, in one embodiment, if the electronic device (100) determines that the first user interface and the second user interface are different, the electronic device (100) may output the first user interface or the second user interface as a test result and simultaneously highlight and display the changed portion. This allows the service provider to clearly visualize the differences between the user interfaces, allowing the service provider to quickly identify the changed portion.
[0071] In one embodiment, if the test results show changes in the first and second user interfaces, and the changes are changes to the user interface that the service provider did not intend, this indicates an error in the system library that constitutes the webpage or application. Therefore, the service provider can correct the incorrect system library based on the test results and perform user interface testing based on the modified third system library. To this end, the modified third rendering service can be applied to the second rendering service. Through this code modification and rendering service replacement process, the service provider can resolve issues caused by unintended changes and maintain an accurate user interface based on the latest code.
[0072] In one embodiment, if the test results show that there are changes in the first and second user interfaces, and the changes are changes to the user interface intended by the service provider, this means that the system library constituting the webpage or application has been appropriately modified. In this case, the updated system library serves as a reference, and if the service provider subsequently updates the system library constituting the webpage or application again, the updated fourth system library can be applied to the first rendering service corresponding to the system library before the update, thereby testing the user interface based on the system library after the second update based on the system library after the first update. Through this, the service provider can verify the correct operation of the user interface according to multiple system library updates. In addition, by applying the rendering service when the system library is changed, the user interface can be tested without having to store a separate image file using the two rendering services.
[0073] If the purpose of the update is to maintain the user interface unchanged, if the test results show that there are no changes in the first and second user interfaces, it means that the system library has been appropriately modified for the corresponding user interface test case. However, since various user interfaces can be configured when configuring a web page or application, it is necessary to confirm that the user interface is maintained unchanged for other test cases. Therefore, in one embodiment, if the test results show that there are no changes between the first and second user interfaces, a second test case different from the first test case can be extracted from the plurality of test cases (110), and a user interface test for the corresponding test case can be performed. In this case, since the test must be performed on the same system libraries as before, the first rendering service and the second rendering service are maintained as is, and only the first test case is changed to the second test case and the test is performed.
[0074] As described above, an e-commerce service provider can verify whether the user interface provided on a webpage or application for providing a service has been appropriately maintained or modified by comparing the rendered user interfaces for various test cases based on two rendering services. In other words, the user interface testing method according to the present invention has the advantage of being able to verify whether the user interface has been modified based on the image provided by the rendering service, without the need to store snapshots of the rendered results through a separate test device.
[0075] FIG. 3 is a diagram illustrating an example of a user interface rendered by a rendering service according to one embodiment of the present invention.
[0076] Referring to FIG. 3, a first user interface (310) rendered by a first rendering service and a second user interface (320) rendered by a second rendering service are illustrated. The first rendering service and the second rendering service are services for rendering a user interface based on a system library for providing a web page or application related to an e-commerce service, and the first rendering service renders a user interface based on the system library before updating, and the second rendering service renders a user interface based on the code after updating.
[0077] When the code for providing a web page or application is updated for the purpose of modifying a user login screen, user interface testing can be performed based on test cases related to the user interface for the login screen. In this example, the user interface (310) represents a login screen rendered based on the system library before the update, and it can be seen that the shape of the object displayed in the button (311) for login in the user interface (310) has a fill shape. Meanwhile, the user interface (320) represents a login screen rendered based on the system library after the update, and it can be seen that the shape of the object displayed in the button (321) for login in the user interface (320) has a hatched shape. The service provider can check the changed portion by comparing the user interface (320) with the user interface (310), check whether the changed portion has been properly changed as intended, and if the change is not as intended, the system library can be modified so that the user interface is properly modified.
[0078] Additionally, if the system library for providing a webpage or application is updated to reflect other changes without modifying the user interface, the service provider can conduct tests on the user interface on various screens, including the login screen. In this case, if there are changes to the user interface (310) and user interface (320) related to the login screen, as illustrated in FIG. 3, the service provider can determine that the part of the system library that displays the login button on the login screen has been incorrectly modified, and can appropriately modify the system library based on this.
[0079] FIG. 4 is a diagram illustrating an example of a user interface test result according to one embodiment of the present invention.
[0080] Referring to FIG. 4, the electronic device (100) compares the rendered user interface (310) and user interface (320) based on the example illustrated in FIG. 3, thereby illustrating a user interface test result screen (410, 420).
[0081] If there is a change in the user interface as a result of the test, the electronic device (100) can output a user interface test result screen (410) in a form that highlights and displays the change (411) in the reference user interface (310). In addition, although not illustrated in FIG. 4, it is also possible to highlight and display the change in the user interface (320) corresponding to the system library after the update.
[0082] In another example, if there is a change in the user interface as a result of the test, the electronic device (100) may output an image showing the change (421) to the user interface test result screen (420). As described above, the user interface test result may be based on a value obtained by subtracting pixel values at corresponding locations of the user interface (310) and the user interface (320), and accordingly, it may be confirmed that only locations where the user interfaces rendered by the two rendering services have different pixel values are displayed in a color other than black on the user interface test result screen (420).
[0083] In this way, the service provider can easily check changes in the user interface based on the user interface test result screen (410, 420), and based on this, can modify the system library if necessary to provide an appropriate user interface.
[0084] A user interface testing method according to one embodiment of the present invention can test whether a user interface appropriately changes in response to a user input regarding the user interface. To this end, each of a plurality of test cases (110) for testing the user interface can include information regarding the user input regarding the user interface to be tested. For example, the test cases can include information related to the user's button clicks, drag and drop, text input, scrolling, and mouse hovering regarding the user interface, and can test the user interface that responds to the corresponding user input. Based on the test cases including information regarding the user's input regarding the user interface, the user interfaces rendered by the first rendering service and the second rendering service can be confirmed, and the test can be performed by comparing the rendered user interfaces. As described above, the comparison of the user interfaces can be based on checking the difference in pixel values at the same location on the user interface.
[0085] In one embodiment, for user interface testing involving user input to a user interface, the test results may be provided in the form of a video or animation of the user interface changes, since the test requires examining a series of changes in the user interface rather than the user interface at a specific point in time. For example, the test results may be provided as a video or animation consisting of a series of images showing the difference in pixel values for each frame, or a video or animation consisting of a series of images highlighting the changed portions of the user interface based on a reference user interface for each frame.
[0086] FIG. 5 is a drawing schematically illustrating each component of an electronic device according to one embodiment of the present invention.
[0087] Referring to FIG. 5, the electronic device (500) may include a transceiver (510), a processor (520), and a memory (530). Only components related to the present embodiments are illustrated in the electronic device (500) illustrated in FIG. 5. Therefore, it will be apparent to those skilled in the art that the electronic device (500) may further include general components other than the components illustrated in FIG. 5. Since the electronic device (500) of FIG. 5 may be included in the electronic device (100) of FIG. 1, descriptions of the same content as in FIGS. 1 to 4 will be omitted.
[0088] The transceiver (510) can communicate with other devices. Accordingly, the electronic device (500) can transmit and receive information with other devices via the transceiver. For example, the electronic device (500) can communicate with a user terminal (110) via the transceiver or with other devices (e.g., the server of FIG. 2).
[0089] Here, communication, i.e., transmission and reception of data, can be performed wired or wirelessly. To this end, the transceiver (510) may include a wired communication module that connects to the Internet, etc., via a LAN (Local Area Network), a mobile communication module that connects to a mobile communication network via a mobile communication base station and transmits and receives data, a short-range communication module that uses a WLAN (Wireless Local Area Network) series communication method such as Wi-Fi or a WPAN (Wireless Personal Area Network) series communication method such as Bluetooth or Zigbee, a satellite communication module that uses a GNSS (Global Navigation Satellite System) such as a GPS (Global Positioning System), or a combination thereof.
[0090] The processor (520) controls the overall operation of the electronic device (500). To this end, the processor (520) may perform calculations and processing of various types of information and control the operation of components of the electronic device (500). For example, the processor (520) may execute user interface testing programs or applications. The processor (520) may be implemented as a computer or similar device based on hardware, software, or a combination thereof. In terms of hardware, the processor (520) may be implemented in the form of an electronic circuit that processes electrical signals to perform control functions, and in terms of software, the processor (520) may be implemented in the form of a program that drives the hardware processor (520). Meanwhile, unless otherwise specified in the above description, the operation of the electronic device may be interpreted as being performed under the control of the processor (520). That is, when modules implemented in the system for testing the user interface described above are executed, the modules may be interpreted as controlling the processor (520) to perform the above-described operations of the electronic device.
[0091] The memory (530) can store various types of information. The memory (530) can store data temporarily or semi-permanently. For example, the memory (530) of the electronic device (500) can store an operating system (OS) for operating the electronic device (500), data for hosting a website, a program for generating Braille, or data related to an application (e.g., a web application). Furthermore, the memory (530) can store modules in the form of computer code, as described above.
[0092] Examples of memory (530) may include a hard disk drive (HDD), a solid state drive (SSD), flash memory, read-only memory (ROM), random access memory (RAM), etc. Such memory (530) may be provided as a built-in type or a detachable type.
[0093] In summary, the various embodiments may be implemented through various means. For example, the various embodiments may be implemented through hardware, firmware, software, or a combination thereof.
[0094] In the case of hardware implementation, the methods according to various embodiments may be implemented by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, microcontrollers, microprocessors, etc.
[0095] When implemented via firmware or software, the methods according to various embodiments may be implemented in the form of modules, procedures, or functions that perform the functions or operations described above. For example, software code may be stored in memory and executed by a processor. The memory may be located within or outside the processor and may exchange data with the processor via various known means.
[0096] The electronic device according to the above-described embodiments may include a processor, a memory for storing and executing program data, permanent storage such as a disk drive, a communication port for communicating with an external device, a user interface device such as a touch panel, a key, a button, etc. The methods implemented as software modules or algorithms may be stored on a computer-readable recording medium as computer-readable codes or program instructions executable on the processor. Here, the computer-readable recording medium includes a magnetic storage medium (e.g., read-only memory (ROM), random-access memory (RAM), floppy disk, hard disk, etc.) and an optical reading medium (e.g., CD-ROM, DVD: Digital Versatile Disc)). The computer-readable recording medium may be distributed to computer systems connected to a network, so that the computer-readable code may be stored and executed in a distributed manner. The medium may be readable by a computer, stored in a memory, and executed by a processor.
[0097] The present embodiment may be represented by functional block configurations and various processing steps. These functional blocks may be implemented by various hardware and / or software configurations that perform specific functions. For example, the embodiment may employ direct circuit configurations such as memory, processing, logic, look-up tables, etc., which may perform various functions under the control of one or more microprocessors or other control devices. Similarly, the present embodiment may be implemented in a programming or scripting language such as C, C++, Java, assembler, etc., including various algorithms implemented as a combination of data structures, processes, routines, or other programming configurations. Functional aspects may be implemented as algorithms that execute on one or more processors. Furthermore, the present embodiment may employ conventional techniques for electronic configuration, signal processing, and / or data processing. Terms like "mechanism," "element," "means," and "composition" can be used broadly and are not limited to mechanical or physical components. These terms can also encompass a series of software routines, such as those associated with a processor.
[0098] The above-described embodiments are merely examples, and other embodiments may be implemented within the scope of the claims set forth below.
Claims
1. A method for testing user interface in an electronic device, A step of receiving a plurality of test cases for testing a user interface related to a service; A step of extracting a first test case from among the above plurality of test cases; A step of generating a first user interface for the first test case using a first rendering service; A step of generating a second user interface for the first test case using a second rendering service; and A step of checking the test results based on the first user interface and the second user interface A method for testing user interface, comprising:
2. In paragraph 1, After the step of receiving the above multiple test cases, A user interface testing method further comprising the step of converting each of the above plurality of test cases into a file in JSON code format.
3. In paragraph 1, Each of the above multiple test cases includes parameters regarding the user interface to be tested, A method for testing a user interface, wherein the parameters relating to the user interface include at least one of shape, size, color, content and position of the user interface.
4. In paragraph 1, The step of checking the test results based on the first user interface and the second user interface is as follows: A method for testing a user interface, comprising the step of comparing a pixel value at a first location in the first user interface and a pixel value at the first location in the second user interface.
5. In paragraph 1, Further comprising a step of outputting the test results, A user interface test method, wherein, if the first user interface and the second user interface are determined to be the same as a result of the test, an image corresponding to the first user interface is output as the test result.
6. In paragraph 1, Further comprising a step of outputting the test results, A user interface test method, wherein, if the test result determines that the first user interface and the second user interface are different, an image indicating different parts between the first user interface and the second user interface is output as the test result.
7. In paragraph 1, Further comprising a step of outputting the test results, If the test result determines that the first user interface and the second user interface are different, output the first user interface and the second user interface as the test result, A user interface testing method, wherein changed parts are highlighted and displayed on the first user interface and the second user interface.
8. In paragraph 1, The above first rendering service applies the first system library of the version before the update, A method for testing a user interface, wherein the second rendering service applies a second system library of a later version.
9. In paragraph 8, If the above test results show any changes in the user interface that are not intended by the provider of the above service, A step of modifying the above second system library into a third system library; and Step of applying the third system library to the above second rendering service A method for testing user interface, comprising:
10. In paragraph 8, If the above test results indicate a change in the user interface intended by the provider of the above service, A step of modifying the above second system library into a fourth system library; and Step of applying the 4th system library to the above 1st rendering service A method for testing user interface, comprising:
11. In paragraph 8, If the above test results show no changes to the user interface, A step of extracting a second test case from among the above plurality of test cases; A step of verifying a third user interface for the second test case generated by the first rendering service, and a fourth user interface for the second test case generated by the second rendering service; and Step of checking the test results based on the third user interface and the fourth user interface A method for testing user interface, comprising:
12. In paragraph 1, Each of the above multiple test cases contains information about user input regarding the user interface to be tested, A method for testing a user interface, wherein the user's input to the user interface comprises at least one of a button click, a drag and drop, a text input, a scroll, and a mouse hover on the user interface.
13. In paragraph 12, The step of checking the test results based on the first user interface and the second user interface is as follows: A user interface testing method, comprising the step of providing a user interface change visually expressed as a result of the test in the form of a video or animation.
14. A computer-readable, non-transitory storage medium having recorded thereon a program for executing the method of paragraph 1 on a computer.
15. An electronic device for performing a user interface test method, A transceiver for transmitting and receiving information with other devices; and A processor that receives a plurality of test cases for testing a user interface related to a service, extracts a first test case from the plurality of test cases, generates a first user interface for the first test case using a first rendering service, generates a second user interface for the first test case using a second rendering service, and verifies a test result based on the first user interface and the second user interface. An electronic device comprising:
Citation Information
Patent Citations
an User Interface Auto Test System
KR1020070018187A
Application Graphic User Interface Test Automation System and Method Thereof
KR1020120121950A
Method for performing test using test case and apparatus for the same
KR1020180099241A
Method and apparatus for matching of medical images, computer-readable storage medium and computer program
KR102622680B1
Generating space models and geometry models using a machine learning system with multi-platform interfaces
US11392727B2