WO2022145499A1 - User interface autonomous test system and method - Google Patents

User interface autonomous test system and method Download PDF

Info

Publication number
WO2022145499A1
WO2022145499A1 PCT/KR2020/019220 KR2020019220W WO2022145499A1 WO 2022145499 A1 WO2022145499 A1 WO 2022145499A1 KR 2020019220 W KR2020019220 W KR 2020019220W WO 2022145499 A1 WO2022145499 A1 WO 2022145499A1
Authority
WO
WIPO (PCT)
Prior art keywords
test
information
intent
test operation
screen
Prior art date
Application number
PCT/KR2020/019220
Other languages
French (fr)
Korean (ko)
Inventor
황재준
박현진
이주현
Original Assignee
주식회사 앱테스트에이아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 앱테스트에이아이 filed Critical 주식회사 앱테스트에이아이
Priority to PCT/KR2020/019220 priority Critical patent/WO2022145499A1/en
Publication of WO2022145499A1 publication Critical patent/WO2022145499A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • the present invention relates to a system and method capable of automatically testing a web site or an application for errors in a user interface without human intervention.
  • the present invention provides a system and method capable of automatically testing an application or a web site for errors in a user interface without human intervention.
  • the user interface autonomous test system is a system for testing errors on the user interface of an application or website, and obtains a screen shot of the screen of the application or website, and UI configuration and text from the screen shot a test motion recognition unit for recognizing a layout based on the recognition information and converting the layout into a test motion; and an error recognizer configured to receive the test action, select a test scenario corresponding to the test action, and perform a test action according to the test scenario, and check the test result to recognize an error, It includes an external system linkage that verifies whether the test operation is accurately reflected in the external system.
  • the test action recognition unit includes a test action manager, and the layout includes UI element objects such as buttons and test input boxes (EditText) as a common header between screens of a single application or website. .
  • UI element objects such as buttons and test input boxes (EditText) as a common header between screens of a single application or website.
  • test operation manager may store a layout of a corresponding screen and a necessary test operation in the table.
  • test action recognition unit may recognize the layout by combining the UI element object and text recognition information of the screen and the hierarchical structure information (UI Hierarchy) of the UI elements of the screen sent by the operating system.
  • UI Hierarchy hierarchical structure information
  • test action recognition unit may further include a UI element object detection unit that learns and stores parameters of a model capable of recognizing UI element objects through machine learning in advance, and detects the UI element objects based on the parameters.
  • test action generation unit may further include an intent/object detection unit that classifies and stores an intent (intent/intent) and an entity of the screen based on information obtained through the UI element object or text information.
  • test action generating unit may further include a test persona storage that stores previously set information on the virtual person.
  • test action generating unit further includes an intent/object matching unit that retrieves data of a matching type from among information set for virtual person information from the test persona storage according to a context obtained through the UI element object or text recognition information. can do.
  • test persona storage may store at least one virtual person having e-mail, mobile phone number, and credit card information usable for an actual test.
  • test issue recognizer may detect whether an error has occurred in a system log or a message on the screen.
  • the external system linkage unit performs an operation in the test target system, such as sending a mail or inputting a SNS comment, but the result can detect an error by verifying whether the functions reflected in the external system are correctly performed.
  • the user interface autonomous test method is a method of testing an error on a user interface of an application or website, wherein the test operation generating unit is set based on the intent in advance according to the classification of the application or website. calling a test scenario; recognizing a layout through a screen shot of the application or website by a test motion recognition unit; detecting, by the test action generating unit, a list of testable actions based on layout information: selecting the test action based on the test scenario and possible test list; generating test data by the test operation generating unit; and performing, by the test operation generating unit, a test operation on the screen of the application or website.
  • the test operation recognition unit includes a test operation manager, and the layout is grouped into a common part (header, footer) and a variable part (body) common between screens of a single application or website, and the test operation
  • the manager may manage whether the test is in progress in the form of a table listing test operations.
  • the test operation manager may store a layout of a corresponding screen and a necessary test operation in the table.
  • test action recognition unit recognizes the layout by combining the UI element object (Element or Widget) and text recognition information of the screen and the hierarchical structure information (UI Hierarchy) of the UI elements of the screen sent by the operating system.
  • UI element object Element or Widget
  • UI Hierarchy hierarchical structure information
  • test action recognition unit may further include a UI element object detection unit that learns and stores parameters of a model capable of recognizing UI element objects through machine learning, and detects the UI element objects based on the parameters. .
  • test action generation unit further includes an intent/entity detection unit that divides and stores the screen intent (Intent) and the entity (Entity) based on information obtained through the UI element object or text information.
  • intent/entity detection unit that divides and stores the screen intent (Intent) and the entity (Entity) based on information obtained through the UI element object or text information.
  • test action generating unit may further include a test persona storage that stores previously set information on the virtual person.
  • test action generating unit further includes an intent/object matching unit that retrieves data of a matching type from among information set for virtual person information from the test persona storage according to a context obtained through the UI element object or text recognition information. can do.
  • test persona storage may store at least one virtual person having e-mail, mobile phone number, and credit card information usable for an actual test.
  • an external service integrator may further include an external service integrator that accesses the external system and checks whether the test operation actually occurs.
  • the user interface autonomous test system and method recognizes UI element objects and texts that require testing based on a screenshot image, recognizes the layout of the screen by combining UI layer information provided by the operating system, and provides a list of necessary test actions. can figure out
  • the set test scenario is abstracted based on the intent (intent/intent) in advance, and the test scenario is recognized in real time to match the intent of the screen, but text,
  • specific data such as numbers are required to be entered, the main functions of the application or website can be tested automatically without human intervention by allowing the information to be entered automatically using the information of the test persona set in advance.
  • the screen is managed as a test action list (table) that is abstracted into intents and objects, even when there is a small design change or content change, the screen is recognized as the same screen and duplicate tests are prevented, so more functions at the same time than the random test can be tested.
  • FIG. 1 is a block diagram of a user interface autonomous test system according to an embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating a test operation of a user interface autonomous test system according to an embodiment of the present invention.
  • FIG. 3 is a view for explaining the detailed configuration and operation of a test operation recognition unit of the user interface autonomous test system according to an embodiment of the present invention on an exemplary home screen.
  • FIG. 4 illustrates a UI layer information adapter of a user interface autonomous test system according to an embodiment of the present invention on an exemplary home screen.
  • FIG. 5 illustrates an example of recognizing a UI layout by a UI layer information adapter of a user interface autonomous test system according to an embodiment of the present invention on an exemplary home screen.
  • 6A to 6C are diagrams for explaining the detailed configuration and operation of a test operation management unit of a user interface autonomous test system according to an embodiment of the present invention on an exemplary credit card information input screen.
  • FIG. 7 is a flowchart illustrating an operation of a test operation manager of a user interface autonomous test system according to an embodiment of the present invention on an exemplary home screen.
  • FIG. 8 illustrates a test action table of a test action manager of a user interface autonomous test system according to an embodiment of the present invention on an exemplary home screen.
  • FIG. 9 illustrates a test operation table of a test operation manager of a user interface autonomous test system according to an embodiment of the present invention in an exemplary credit card information input screen.
  • FIG. 10 is a flowchart illustrating an operation of determining a next test operation as a test proceeds in the user interface autonomous test system according to an embodiment of the present invention.
  • 11A to 11C illustrate an operation of retrieving information of an exemplary persona used in the user interface autonomous test system according to an embodiment of the present invention from the persona storage.
  • FIG 12 illustrates information stored by the intent/object recognition unit used in the user interface autonomous test system according to an embodiment of the present invention.
  • 13A and 13B are diagrams illustrating a process in which the intent/object matching unit calls up persona information in the user interface autonomous test system according to an embodiment of the present invention.
  • FIG. 14 is an example illustrating a test scenario stored in a graph structure of intents in the user interface autonomous test system according to an embodiment of the present invention.
  • 15 is an example of a user interface autonomous test system implemented in a single desktop or server according to an embodiment of the present invention.
  • 16 is an example of cloud-based implementation of the user interface autonomous test system according to an embodiment of the present invention.
  • test action manager 12 issue detection unit
  • test operation generation unit 131 test operation generation unit 131; Intent/object recognition unit
  • test scenario storage unit 14 External Service Integration Department
  • FIG. 1 is a block diagram of a user interface autonomous test system according to an embodiment of the present invention.
  • the user interface autonomous test system 10 includes a test action recognizer 11 , an issue detector 12 , and a test action generator (Test Action Generator, 13), may include an external service integrator (External Service Integrator, 14).
  • the testable action recognizer (11) may determine testable actions for an application or website as a test target. To this end, the test action recognition unit 11 determines a necessary test action on the current screen by combining the user interface (UI) element object, text, and UI layer information for the current screen. Specifically, the test action recognition unit 11 includes a UI element object detection unit (UI Element Detector, 111), a text recognition unit (Text Recognizer, 112), a UI hierarchy information adapter (UI Hierarchy Information Adapter, 113), a UI layout recognition unit 114 and a test operation manager 115 .
  • UI element object detection unit UI Element Detector
  • text recognition unit Text Recognizer
  • UI hierarchy information adapter UI Hierarchy Information Adapter
  • the UI element object detection unit 111 may recognize UI elements to be tested by performing object detection from a screen shot of a currently displayed screen.
  • the UI element object detection unit 111 may perform machine learning, particularly deep learning, and accuracy may be increased according to learning.
  • the UI element object detection unit 111 may learn the screen shot image of the application or website collected in advance, calculate and store model parameters for object detection, and use the learned model parameter for the test target screen. Based on the UI element object type (Class) and location (Bounding Box) can be recognized.
  • the text recognition unit 112 may recognize and extract text from a screen shot of the current screen.
  • the text recognition unit 112 may use an optical character recognition (OCR) technique for text extraction.
  • OCR optical character recognition
  • the text recognition unit 112 can extract all texts displaying information from the current screen, and as will be described later, the test motion recognition unit 11 utilizes the information of the text to obtain a corresponding area.
  • the value and type of data to be input can be inferred.
  • the UI layer information adapter 113 may extract layout information of the corresponding screen from UI layer information provided by the operating system.
  • This UI layer information is that the operating system collects and provides the ID value or text value given to the UI element by the application or website developer to control each UI element while programming the UI, and the explanatory data entered for the visually impaired. Yes, it comes in different formats depending on the Android, iOS) and development platform (Web, App).
  • the UI layer information adapter 113 is provided to convert UI layer information that comes in a different form for each development platform into an internally standardized form. Through this, when the automatic user interface test system according to the present invention is applied to a third operating system or development platform, it is possible to add only an adapter without changing the remaining components.
  • FIG. 5 shows that the layout information received from the UI layer information and the configuration of the screenshot are very different in this case. Therefore, in the present invention, the UI layout can be recognized by directly recognizing the screenshot image without relying on the UI layer information provided by the operating system to obtain information and text information of the UI element object.
  • the UI layout recognition unit 114 combines the UI element object detected by the UI element object detection unit 111, the text extracted from the text recognition unit 112, and the layer information identified from the UI layer information adapter 113, The layout of the screen being displayed can be determined. In addition, the UI layout recognition unit 114 divides the layout of the corresponding screen into a common part (header, footer) and a variable part (body) area shared by screens of the same application or website, and suppresses repeated testing of the common part. . In addition, the same unit of information for the variable body (for example, if it is a birthday), the year, month, and day are divided into one group, and the test action of entering the birthday is uniformly consistent for the year, month, and day 3 UI element objects. It is guaranteed to be performed through input of test data.
  • the test operation manager 115 calculates the necessary test operation in a table form based on information on the type (Class), text (Value), and location (Bounding Box) of each UI element included in the layout input by the UI layout recognition unit 114 . It is possible to organize into a list of , and record and manage which test data is generated and the test is performed by the test operation generating unit 13, which will be described later.
  • the test action manager abstracts and manages the screen as a test action standard to prevent duplicate tests of the same test action on the same screen.
  • the text values of UI elements are changed every time the initial screen is accessed as the products to be sold are changed, so that they are recognized as a different screen and the product in the same location is selected (e.g., click) ) can be repeated indefinitely.
  • the text action manager After configuring the test action table for each screen, the text action manager compares the previously recorded test action table in consideration of the type of each UI element to prevent duplicate creation and management of the test action table for the same screen. For example, when UI components of the same type are arranged in the form of a list or grid, the text information of each UI element is excluded and only the arrangement type is compared to determine whether it is the same screen. Due to the present test operation manager 114 , the user interface autonomous test system 10 according to an embodiment of the present invention can perform a test without omitting or repeating a test operation.
  • the Issue Detector 12 may detect errors or performance problems by monitoring log records, CPU, memory, network status, etc. of the device under test. For example, when an error display appears on the screen or when an application dies log (Log) is detected, the issue detection unit 12 reports screen information where an error occurs, input data used at that time, and error log and message information to the developer.
  • Log application dies log
  • the test action generator 13 receives the test action list of the corresponding screen from the test action recognition unit 11 described above, and generates input data required to test the screen in an appropriate format. to provide.
  • the test action generation unit 13 may include an intent/object recognition unit 131 , an intent/object matching unit 132 , a test persona storage 133 , and a test scenario storage 134 .
  • the intent/entity recognizer may recognize texts recognized from the screenshot of the corresponding screen as intents and entities again.
  • Intent and entity are technical terms commonly used when modeling conversational systems such as chatbots.
  • intent is a unit of conversation in which words come and go or the speaker's intention to convey through conversation. can be explained, and the entity can be described as a specific requirement among the user's intentions. For example, in the sentence "Please select a credit card type", the intent is "Please select” and the entity is "credit card type”.
  • the intent/object recognition unit 131 may be based on a natural language processing (NLP) technology.
  • NLP natural language processing
  • Example when there is an option selection UI element (Radio) of 'A card', 'B card', and 'C card' on the screen, if the text at the nearest position is 'Select payment method', the intent/object recognition unit The 131 may recognize 'select credit card' as an intent, and recognize 'A card', 'B card', and 'C card' as entities.
  • Radio UI element
  • the intent/object matching unit 132 may convert the test actions of the corresponding screen into intents and objects and store them in the test action table. If the intent/object matching unit 132 is used, a test target screen can be defined based on an abstracted intent instead of a specific terminology system used by each application or website. Through this, it is possible to test while recognizing whether the defined test scenario and the current test screen match in real time based on the intent, so you can have a generalized test scenario designed based on intent without writing each test scenario for each application or website. You can test applications or websites of the same category.
  • the test action generating unit 13 selects the highest priority intent based on the test action table managed based on the intent of the intent/object matching unit 132 and performs an action for executing it. You can choose. For example, when a purchase scenario through bank transfer is in progress, there are two intents: 'Select credit card' and 'Input bank account number' on a single test screen. , the test action generation unit 13 selects the 'Deposit bank account input' intent instead of the 'Payment method selection' intent, and generates data related to this intent.
  • the Test Persona Repository 133 may set and store information of a virtual person having the same conditions as ordinary people.
  • the test persona storage 133 virtually creates a 28-year-old person with the name 'John Doe', and includes information such as job, email, address, mobile phone number, credit card information, chatting app, and SNS can be preset.
  • information on e-mail and mobile phone numbers can be used to authenticate the user in a specific application or website, and credit card information is frequently required for testing of a purchase process of a paid item or testing for online shopping.
  • test persona storage 133 actually uses e-mail, mobile phone number and/or credit card information when creating/storing virtual person information in advance. It is desirable to set it as possible. Most modern applications or websites do not operate alone, but are utilized in connection with various external systems. Therefore, in order to test this linkage, there must be an external system account, and the test operation result must be connected to the system and checked.
  • the test persona of the present invention is different from the existing methods in that it has not only data for testing the corresponding system, but also information and settings for testing this external system linkage.
  • the test scenario storage 134 may store a scenario to be tested through the user interface autonomous test system 10 according to an embodiment of the present invention, that is, a test path.
  • the test scenario may be set according to the classification of the application or website. For example, all online shopping applications use the test scenario as a series of actions (intents) to search for and select an item from the main home screen, enter personal information and address to receive delivery, and proceed with payment through a credit card. configurable.
  • the classification of the test target application or website can be obtained by scraping this site information if the application has already been published in the App Store, or can be specified by the developer directly before the start of the test, and can be inferred through the intent information recognized in the initial screen. may be
  • the external service integrator 14 is configured to verify whether the operation is normally performed in the external system when the test operation of the user interface autonomous test system 10 according to the embodiment of the present invention occurs in the external system. do. For example, when there is a 'post' button on the screen on social media (e.g. Facebook), after performing this test action, check whether a new post is made on the initial screen of the SNS owned by the test persona, and if there is no posting, an error can report.
  • social media e.g. Facebook
  • the user interface autonomous test system 10 combines UI configuration, text recognition, and UI layer information based on a screen shot for an application or website for testing, and provides layout and You can understand the test behavior.
  • the test is conducted according to the predefined test scenario based on the intent, but if data input such as text rather than a simple click or touch is required, it can be entered using the information of the test persona.
  • each test path and test progress is organized into an abstract test action table from which the screen design or content information is removed, so that the test can be performed accurately and quickly while minimizing duplicate tests.
  • the test method using the user interface autonomous test system 10 includes device setup (S1), application installation (S2), general-purpose test scenario call (S3), and application screenshots. It may include steps of recognition (S4), operation selection (S5), test data generation (S6), test operation execution (S7), and test operation result verification (S8).
  • S1 device setup
  • S2 application installation
  • S3 general-purpose test scenario call
  • S3 application screenshots. It may include steps of recognition (S4), operation selection (S5), test data generation (S6), test operation execution (S7), and test operation result verification (S8).
  • S4 steps of recognition
  • S5 operation selection
  • S6 test data generation
  • S7 test operation execution
  • test operation result verification S8
  • a test environment of the test device may be configured. Specifically, an operation such as selecting an operating system version of the system 10 test device and installing an application that may conflict with a corresponding application or needs to be installed first may be performed in advance. For example, if you want to test the bank app, first install the anti-virus app, which is an essential app, and then install the Facebook app with the account the test persona has and log in to prepare for the Facebook integration test in the bank app.
  • an application to be tested may be installed on the test device.
  • this step it is also possible to receive the installation file before application distribution from the developer of the company requesting the test and install it on the test device. It is also possible for general users to download and install the installation file by accessing the App Store where they download applications from their smartphones or tablets.
  • the App Store where they download applications from their smartphones or tablets.
  • test scenario loading from among the test scenarios stored in the test scenario storage 134, an appropriate one for the corresponding application or website may be selected and loaded.
  • a test scenario suitable for the classification can be easily selected. If necessary, it is possible to set an appropriate test scenario by receiving the details of the application from the developer, and it is also possible to call the scenario after inferring the classification from the intent of the initial screen after running the application.
  • a screen shot may be acquired and recognized step by step according to the test scenario.
  • the screenshot may be transmitted to the test motion recognition unit 11 together with UI layer information of the corresponding screen.
  • the operation selection (S5) step will be described with reference to FIG. 3 .
  • the shopping application illustrated in FIG. 3 it is a screen composed of a simple content selection (Click) test operation.
  • the UI element object detection unit 111 detects the UI configuration based on the existing deep learning from the screenshot of the home screen, and the text recognition unit 112 may also recognize the text of each area from the screenshot.
  • the UI layer information adapter 113 creates a screen layout using UI layer information provided by the operating system. The three screen information is divided into a common part (Header, Footer) and a variable part (Body) after being integrated by the UI layout recognition unit 114 .
  • the test action generation unit 13 may retrieve information suitable for the test action from the test persona storage 133 .
  • the test operation generating unit 13 may generate input data according to the test scenario by retrieving information corresponding thereto from the storage.
  • test operation generation unit 13 may perform operations, such as inputting data or clicking on the screen, by transferring the operations to the operating system.
  • the message or system log of the application or website is verified before or after the test operation is performed to detect whether an error has occurred and a report to be delivered to the developer is stored.
  • an external system such as sending an email or inputting an SNS comment
  • it can be verified by accessing the external system through the external service integrator 14 as described above.
  • FIGS. 6A to 6C are diagrams for explaining the detailed configuration and operation of the test motion recognition unit of the user interface autonomous test system according to the embodiment of the present invention on the personal information input screen, unlike the relatively simple example of the shopping mall home screen of FIG. 3 . .
  • the UI layout recognition unit 114 forms a layout as shown in FIG. 6A by combining the authorized UI element object, text, and UI hierarchical structure, and the layout After first grouping each of the components into a common part (Header, Footer) and a variable part (Body), the UI components in the variable part can be grouped again as an information integrity unit. In this example, the variable part was again divided into four groups: Card Number, Name on Card, Expiration date, and Operation button (Add your Card).
  • the intent/object recognition unit 131 based on the UI configuration detected by the UI element object detection unit 111 and the text recognized by the text recognition unit 112 , in advance Based on the learned deep learning-based machine learning parameters, the intent and object of the corresponding area can be recognized. For example, when four text input UI elements (EditText) are on the same horizontal line as shown in FIG. 6B, the intent/ The entity recognition unit recognizes the definition and format of an entity called a card number consisting of an intent of inputting a credit card number and four input values.
  • a card number consisting of an intent of inputting a credit card number and four input values.
  • the test action generating unit 13 may query and call information of an actually inputable card from the test persona storage 133 as shown in FIG. 13A, and each UI element of the test action table as shown in 13B Allocate the card number to be input to so that the test is performed.
  • test operation manager in the user interface autonomous test system according to an embodiment of the present invention will be described in detail.
  • FIG. 7 is a flowchart illustrating an operation of a test operation manager of a user interface autonomous test system according to an embodiment of the present invention on an exemplary home screen
  • FIG. 8 is a user interface autonomy according to an embodiment of the present invention on an exemplary home screen It shows the test action table of the test action manager of the test system.
  • the test operation manager 115 extracts a test operation table using information of the type (Class) and displayed value (Value) of the UI element object as shown in FIG. 12 ( 200 ), and the table By comparing the information with the previously tested test action table, it is determined whether actions have already been tested on the screen ( 202 ). In this case, a separate test session storage 201 may be provided.
  • the test operation manager 115 may determine whether or not the test is in progress with reference to the test session storage 201 .
  • the test action manager 115 may record that the screen has been tested (Yes) in the test action table as shown in FIG. 8 , and specific test action details ( For example, a touch, a horizontal scroll, a vertical scroll) may be recorded together ( 203 ).
  • specific test action details For example, a touch, a horizontal scroll, a vertical scroll
  • the test action manager 115 records that it has not been tested (No) in the test action table as shown in FIG. can do. (204).
  • the test operation manager 115 organizes the test progress in the form of a table as shown in FIG. 8 or 9 when testing each screen according to the test scenario, and after recognizing each screen, it is created and stored in the past. It is possible to prevent repeated tests from being performed by comparing the existing tables and integrating them if they are the same.
  • FIG. 8 illustrates a test operation table of the test operation manager of the user interface autonomous test system according to an embodiment of the present invention in an exemplary personal information input screen.
  • the test operation table when a card input is accompanied, it is also possible to display that a card number is input in addition to an existing touch operation.
  • FIG. 10 is a flowchart illustrating a process of determining a next test operation as a test proceeds in the user interface autonomous test system according to an embodiment of the present invention.
  • the test operation manager 115 may check whether there is an untested intent on the corresponding screen ( S71 ). If there is (Yes), the test operation manager 115 may check whether there is a scenario being tested (S72). Also, if the scenario exists (Yes), it is checked whether there is an intent matching the scenario (S73), and if there is (Yes), the operation of selecting an intent according to the test scenario is continuously performed.
  • the information indicating that the test scenario is in progress is reset (Reset) and the next intent to be tested based on the location information in the screen of each intent to decide For example, if the payment scenario in the shopping mall has progressed to credit card input and no possible intent is found in the payment scenario such as payment or delivery address modification on the next screen, the payment scenario cannot be continued, so you can initialize all the scenario progress. Guaranteed to go through the payment scenario all over again.
  • 11A to 11C illustrate an operation of retrieving information of an exemplary persona used in the user interface autonomous test system according to an embodiment of the present invention from the persona storage.
  • test persona storage 133 for example, a virtual person named 'John Doe' may be stored, and the person has a job, email, address, mobile phone number, credit card information, chatting. Information such as apps and SNS may be set.
  • the test persona storage 133 may store at least one such virtual person, preferably a plurality, and appropriate virtual person information may be utilized according to a required test scenario.
  • an RDF repository (RDF Repository, 133a) and an RDF inference engine (RDF Inference Engine, 133b) may be connected in the background.
  • RDF Resource Description Framework
  • the RDF repository (RDF Repository, 133a) refers to a repository that collects and stores virtual person data and external ontology for testers written by itself, and the RDF inference engine (RDF Inference Engine, 133b) performs final testing of RDF.
  • the reasoning engine plays the role of information inference to create a new relationship by integrating external and internal data, and uses synonyms or language mapping information to generate more information than input data and relationships through data transformation.
  • the reasoning engine plays the role of information inference to create a new relationship by integrating external and internal data, and uses synonyms or language mapping information to generate more information than input data and relationships through data transformation.
  • the test persona storage 133 stores data converted from the RFD inference engine 133b in the form of a table. Accordingly, data required according to the test scenario may be provided to the test operation generating unit 13 in the form of a corresponding table.
  • the intent/object recognition unit stores information of persona used in the user interface autonomous test system according to an embodiment of the present invention.
  • the intent/object recognition unit 131 may classify intents/objects based on the UI configuration or OCR information identified from the screenshot, and may organize them as a table. Also, since the corresponding table may be shared with the test operation manager 115, whether an intent is tested through the corresponding table may also be recorded.
  • 13A and 13B are diagrams illustrating a process in which the intent/object matching unit calls up persona information in the user interface autonomous test system according to an embodiment of the present invention.
  • the intent/object matching unit 132 may communicate with the test persona storage 133 and retrieve persona data that meets a required format.
  • the test persona storage 133 for example, in the case of a card number, it may be composed of a combination of 16 numbers of the card number and 3 digits of cvv, but in order to fit the input format of various applications, each one-digit block, 4 It may be stored in various forms such as a digit block, a 2-digit block, a 5-digit block, and the like, and the intent/object matching unit 132 retrieves data in a form suitable for the application.
  • FIG. 14 is an example illustrating an intent-based test scenario managed by the user interface autonomous test system according to an embodiment of the present invention in a graph structure.
  • test Scenario A general-purpose test scenario independent of an application can be defined by managing the sequence of intents required to switch to the next screen.
  • a test scenario is determined and executed by recognizing the intent of the screen to be tested in real time during testing.
  • 15 is an implementation example of a user interface autonomous test system according to an embodiment of the present invention.
  • 16 is another implementation example of a user interface autonomous test system according to an embodiment of the present invention.
  • the user interface system 10 may be provided in the form of a separately provided and combined device in the test device.
  • the user interface system 10 may include a configuration of CPU, GPU, storage, and memory, and may include an I/O device interface for connection with a test device.
  • logic and all data referenced by the logic may be stored in the storage, but the logic necessary for the operation may be loaded back into the memory.
  • operations such as object detection, OCR, and object recognition may be processed by the GPU, but in some cases, the CPU may be responsible for most of the logic including this.
  • the user interface autonomous test system may be implemented in the form of a cloud.
  • test device As shown in FIG. 16 , there is a test device to install an application at the bottom of the configuration, but it is possible to substitute an emulator or a VM instead of an actual device.
  • each agent that is directly connected to the device through the device connector and performs a test is called a testbot.
  • the testbot installs the application, collects the screen shot of the application, accessibility information, etc., sends it to the AI TestBot Engine, and then decides the AI TestBot Engine and then executes the test action.
  • the testbot controller can allocate a testbot and monitor the test execution.
  • the AI TestBot Engine can receive the screen shot information and log information of the application sent by each testbot, determine the next test action, and perform all actions to detect errors.
  • the present invention provides a system and method capable of automatically testing a web site or an application for errors in a user interface without human intervention.

Abstract

Disclosed are a system and method for automatically testing a user interface error of a website or application without intervention of a person. For example, disclosed is a user interface system for testing an error of a user interface of an application or website, the system comprising: a testable action recognizer for obtaining a screenshot of a screen of the application or website, and managing a layout and test action, on the basis of a UI configuration and text recognition information from the screenshot; and a test action generator for receiving the layout, selecting a test scenario corresponding to the layout, and performing a test action according to the test scenario, wherein the testable action recognizer manages progressing of a test for each layout of each screen, according to the test scenario.

Description

유저 인터페이스 자율 테스트 시스템 및 방법User Interface Autonomous Testing Systems and Methods
본 발명은 웹 사이트 또는 어플리케이션에 대해 유저 인터페이스의 에러 여부를 사람의 개입 없이 자동으로 테스트할 수 있는 시스템 및 방법에 관한 것이다.The present invention relates to a system and method capable of automatically testing a web site or an application for errors in a user interface without human intervention.
IT 서비스를 제공하는 회사들은 모바일 어플리케이션 또는 웹 사이트로 플랫폼(platform)을 서비스하면서 출시 전 또는 기능 업데이트 하기 전에 해당 플랫폼이 포함하고 있는 기능들이 정상적으로 작동하는지 여부를 테스트하고 있다.Companies that provide IT services are testing whether the functions included in the platform are operating normally while servicing the platform as a mobile application or website, before release or before updating functions.
종전에는 다수의 사람들이 다양한 시나리오에 따라 개발 버전의 플랫폼을 사용하면서 테스트 작업을 직접 수행하였다. 그러나 IT 분야의 경쟁이 치열해지면서 플랫폼이 포함해야 하는 기능의 종류와 수는 대폭 증가하는데 반해 출시 또는 업데이트에 걸리는 기간은 단축시켜야 했기 때문에 플랫폼에 대한 테스트 작업에 소요되는 인력, 시간 및 비용이 대폭 증가되는 문제가 발생하였다.In the past, a large number of people directly performed tests using the development version of the platform according to various scenarios. However, as the IT field becomes more competitive, the number and types of features that a platform must include has increased significantly, while the time it takes to launch or update has to be shortened. Therefore, the manpower, time, and cost required for testing the platform is greatly reduced. An increasing problem occurred.
이에 따라, IT 회사들은 외부에 위탁하여 사람이 일일이 테스트하도록 하거나, 테스트 프로그램을 별도로 개발하여 자동 테스트를 진행하기도 하였다. 그러나 사람이 테스트하는 것은 숙련도에 따라 정확도, 시간에 편차가 발생할 뿐만 아니라 플랫폼의 기능 및 적용 환경이 복잡해짐에 따라 비용이 기하급수로 증가하는 문제가 있다. 테스트 프로그램을 개발하는 방법은 플랫폼의 변경이 발생할 때마다 테스트 프로그램을 수정해줘야 하기 때문에 개발 기간이 늘어날 뿐만 아니라 테스트 프로그램 자체의 오류나 구현 미흡으로 오류가 아닌 현상을 오류로 보고하는 경우가 많아 실용성이 떨어지는 문제가 있다. Accordingly, IT companies have entrusted external testing to test them individually, or developed a separate test program to perform automatic testing. However, there is a problem that human testing not only causes deviations in accuracy and time depending on the skill level, but also increases the cost exponentially as the function and application environment of the platform become more complex. In the method of developing a test program, since the test program must be modified whenever a platform change occurs, the development period not only increases, but also reports non-error as an error due to errors or insufficient implementation of the test program itself, which makes it impractical. there is a problem.
본 발명은 어플리케이션에 또는 웹 사이트에 대해 유저 인터페이스의 에러 여부를 사람의 개입 없이 자동으로 테스트할 수 있는 시스템 및 방법을 제공한다.The present invention provides a system and method capable of automatically testing an application or a web site for errors in a user interface without human intervention.
본 발명에 따른 유저 인터페이스 자율 테스트 시스템은, 어플리케이션 또는 웹 사이트의 유저 인터페이스에 대한 오류를 테스트하는 시스템에 있어서, 상기 어플리케이션 또는 웹 사이트의 화면에 대해 스크린샷을 획득하고, 스크린샷으로부터 UI 구성 및 텍스트 인식 정보를 토대로 레이아웃을 인식하고, 레이아웃을 테스트 동작으로 전환하는 테스트 동작 인식부; 및 상기 테스트 동작을 전달받고 테스트 동작에 해당되는 테스트 시나리오를 선택하고, 상기 테스트 시나리오에 따라 테스트 동작을 수행하는 테스트 동작 생성부를 포함하고, 테스트 결과를 확인하여 오류를 인식하는 오류 인식기를 포함하여, 외부 시스템에 테스트 동작이 외부 시스템에 정확하게 반영되었는지 검증하는 외부 시스템 연계부를 포함한다. The user interface autonomous test system according to the present invention is a system for testing errors on the user interface of an application or website, and obtains a screen shot of the screen of the application or website, and UI configuration and text from the screen shot a test motion recognition unit for recognizing a layout based on the recognition information and converting the layout into a test motion; and an error recognizer configured to receive the test action, select a test scenario corresponding to the test action, and perform a test action according to the test scenario, and check the test result to recognize an error, It includes an external system linkage that verifies whether the test operation is accurately reflected in the external system.
여기서, 상기 테스트 동작 인식부는 테스트 동작 매니저를 포함하고, 상기 레이아웃은 버튼, 테스트 입력 상자(EditText)와 같은 UI 요소 객체(UI Element Object)들을 단일 어플리케이션 또는 웹 사이트의 화면 간에 공통되는 공통부(header, Footer)와 가변부(Body)로 그룹핑하고 상기 테스트 동작 매니저는 상기 테스트 진행 여부를 테스트 동작들을 나열한 테이블 형태로 관리할 수 있다.Here, the test action recognition unit includes a test action manager, and the layout includes UI element objects such as buttons and test input boxes (EditText) as a common header between screens of a single application or website. .
그리고 상기 테스트 동작 매니저는 상기 테이블에 해당 화면의 레이아웃과 필요한 테스트 동작도 함께 저장할 수 있다.In addition, the test operation manager may store a layout of a corresponding screen and a necessary test operation in the table.
또한, 상기 테스트 동작 인식부는 상기 화면의 UI 요소 객체 및 텍스트 인식 정보와 운영체제가 보내주는 화면의 UI 요소들에 대한 계층 구조 정보((UI Hierarchy)를 조합하여 상기 레이아웃을 인식할 수 있다.In addition, the test action recognition unit may recognize the layout by combining the UI element object and text recognition information of the screen and the hierarchical structure information (UI Hierarchy) of the UI elements of the screen sent by the operating system.
또한, 상기 테스트 동작 인식부는 사전에 머신 러닝을 통해 UI 요소 객체를 인식할 수 있는 모델의 파라미터를 학습하여 저장하고, 상기 파라미터에 기반하여 상기 UI 요소 객체를 검출하는 UI 요소 객체 검출부를 더 포함할 수 있다.In addition, the test action recognition unit may further include a UI element object detection unit that learns and stores parameters of a model capable of recognizing UI element objects through machine learning in advance, and detects the UI element objects based on the parameters. can
또한, 상기 테스트 동작 생성부는 상기 UI 요소 객체 또는 텍스트 정보를 통해 획득한 정보를 기반으로 화면의 인텐트(의도/Intent)와 개체(Entity)로 구분하여 저장하는 인텐트/개체 검출부를 더 포함할 수 있다.In addition, the test action generation unit may further include an intent/object detection unit that classifies and stores an intent (intent/intent) and an entity of the screen based on information obtained through the UI element object or text information. can
또한, 상기 테스트 동작 생성부는 사전에 설정된 가상 인물의 정보를 미리 저장하는 테스트 페르소나 저장소를 더 포함할 수 있다.In addition, the test action generating unit may further include a test persona storage that stores previously set information on the virtual person.
또한, 상기 테스트 동작 생성부는 상기 UI 요소 객체 또는 텍스트 인식 정보를 통해 획득한 문맥에 따라 상기 테스트 페르소나 저장소로부터 가상 인물 정보에 대해서 설정된 정보 중 부합하는 형태의 데이터를 불러오는 인텐트/개체 매칭부를 더 포함할 수 있다.In addition, the test action generating unit further includes an intent/object matching unit that retrieves data of a matching type from among information set for virtual person information from the test persona storage according to a context obtained through the UI element object or text recognition information. can do.
또한, 상기 테스트 페르소나 저장소는 실제 테스트에 사용 가능한 이메일, 휴대전화 번호 및 신용카드 정보 등을 갖는 적어도 하나의 가상 인물을 저장할 수 있다.Also, the test persona storage may store at least one virtual person having e-mail, mobile phone number, and credit card information usable for an actual test.
또한 상기 테스트 이슈 인식기는 시스템의 로그(Log)나 화면의 메시지에서 오류가 발생했는지를 검출할 수 있다. Also, the test issue recognizer may detect whether an error has occurred in a system log or a message on the screen.
또한 상기 외부 시스템 연계부는 메일 발송, SNS 댓글 입력과 같이 테스트 대상 시스템에서 동작을 수행하나 결과는 외부 시스템에 반영되는 기능들이 정확히 수행했는지를 검증하여 오류를 검출할 수 있다. In addition, the external system linkage unit performs an operation in the test target system, such as sending a mail or inputting a SNS comment, but the result can detect an error by verifying whether the functions reflected in the external system are correctly performed.
더불어, 본 발명에 따른 유저 인터페이스 자율 테스트 방법은, 어플리케이션 또는 웹 사이트의 유저 인터페이스에 대한 오류를 테스트하는 방법에 있어서, 테스트 동작 생성부가 상기 어플리케이션 또는 웹 사이트의 분류에 따라 미리 인텐트를 기준으로 설정된 테스트 시나리오를 불러오는 단계; 테스트 동작 인식부가 상기 어플리케이션 또는 웹 사이트의 스크린샷을 통해 레이아웃을 인식하는 단계; 상기 테스트 동작 생성부가 레이아웃 정보를 기반으로 테스트 가능한 동작 목록을 검출하는 단계: 상기 테스트 시나리오 및 가능한 테스트 목록 기반으로 상기 테스트 동작을 선택하는 단계; 상기 테스트 동작 생성부가 테스트 데이터를 생성하는 단계; 및 상기 테스트 동작 생성부가 상기 어플리케이션 또는 웹 사이트의 화면에 대해 테스트 동작을 수행하는 단계를 포함할 수 있다.In addition, the user interface autonomous test method according to the present invention is a method of testing an error on a user interface of an application or website, wherein the test operation generating unit is set based on the intent in advance according to the classification of the application or website. calling a test scenario; recognizing a layout through a screen shot of the application or website by a test motion recognition unit; detecting, by the test action generating unit, a list of testable actions based on layout information: selecting the test action based on the test scenario and possible test list; generating test data by the test operation generating unit; and performing, by the test operation generating unit, a test operation on the screen of the application or website.
여기서, 상기 테스트 동작 인식부는 테스트 동작 매니저를 포함하고, 상기 레이아웃은 상기 레이아웃은 단일 어플리케이션 또는 웹 사이트의 화면 간에 공통되는 공통부(header, Footer)와 가변부(Body)로 그룹핑되며, 상기 테스트 동작 매니저는 상기 테스트 진행 여부를 테스트 동작들을 나열한 테이블 형태로 관리할 수 있다. 그리고 상기 테스트 동작 매니저는 상기 테이블에 해당 화면의 레이아웃과 필요한 테스트 동작도 함께 저장할 수 있다.Here, the test operation recognition unit includes a test operation manager, and the layout is grouped into a common part (header, footer) and a variable part (body) common between screens of a single application or website, and the test operation The manager may manage whether the test is in progress in the form of a table listing test operations. In addition, the test operation manager may store a layout of a corresponding screen and a necessary test operation in the table.
또한, 상기 테스트 동작 인식부는 상기 화면의 UI 요소 객체(Element 또는 Widget) 및 텍스트 인식 정보와 운영체제가 보내주는 화면의 UI 요소들에 대한 계층 구조 정보((UI Hierarchy)를 조합하여 상기 레이아웃을 인식할 수 있다.In addition, the test action recognition unit recognizes the layout by combining the UI element object (Element or Widget) and text recognition information of the screen and the hierarchical structure information (UI Hierarchy) of the UI elements of the screen sent by the operating system. can
또한, 상기 테스트 동작 인식부는 머신 러닝을 통해 UI 요소 객체를 인식할 수 있는 모델의 파라미터를 학습하여 저장하고, 상기 파라미터에 기반하여 상기 UI 요소 객체를 검출하는 UI 요소 객체 검출부를 더 포함할 수 있다.In addition, the test action recognition unit may further include a UI element object detection unit that learns and stores parameters of a model capable of recognizing UI element objects through machine learning, and detects the UI element objects based on the parameters. .
또한, 상기 테스트 동작 생성부는 상기 UI 요소 객체 또는 텍스트 정보를 통해 획득한 정보를 기반으로 화면의 의도(Intent)와 개체(Entity)로 구분하여 저장하는 의도(Intent)/개체(Entity) 검출부를 더 포함할 수 있다.In addition, the test action generation unit further includes an intent/entity detection unit that divides and stores the screen intent (Intent) and the entity (Entity) based on information obtained through the UI element object or text information. may include
또한, 상기 테스트 동작 생성부는 사전에 설정된 가상 인물의 정보를 미리 저장하는 테스트 페르소나 저장소를 더 포함할 수 있다.In addition, the test action generating unit may further include a test persona storage that stores previously set information on the virtual person.
또한, 상기 테스트 동작 생성부는 상기 UI 요소 객체 또는 텍스트 인식 정보를 통해 획득한 문맥에 따라 상기 테스트 페르소나 저장소로부터 가상 인물 정보에 대해서 설정된 정보 중 부합하는 형태의 데이터를 불러오는 인텐트/개체 매칭부를 더 포함할 수 있다.In addition, the test action generating unit further includes an intent/object matching unit that retrieves data of a matching type from among information set for virtual person information from the test persona storage according to a context obtained through the UI element object or text recognition information. can do.
또한, 상기 테스트 페르소나 저장소는 실제 테스트에 사용 가능한 이메일, 휴대전화 번호 및 신용카드 정보 등을 갖는 적어도 하나의 가상 인물을 저장할 수 있다.Also, the test persona storage may store at least one virtual person having e-mail, mobile phone number, and credit card information usable for an actual test.
또한, 상기 유저 테스트 동작이 메일 발송과 같이 외부 시스템에 영향을 주는 경우 외부 시스템에 접근하여 테스트 동작이 실제로 발생했는지를 확인하는 외부 서비스 통합부를 더 포함할 수 있다.In addition, when the user test operation affects an external system, such as sending a mail, an external service integrator may further include an external service integrator that accesses the external system and checks whether the test operation actually occurs.
본 발명에 의한 유저 인터페이스 자율 테스트 시스템 및 방법은 스크린샷 이미지를 기준으로 테스트가 필요한 UI 요소 객체 및 텍스트를 인식하고 운영체제가 제공하는 UI 계층 정보를 조합하여 화면의 레이아웃을 인식하고 필요한 테스트 동작목록을 파악할 수 있다. 또한, 쇼핑, 뉴스, 메신저와 같은 어플리케이션 또는 웹 사이트의 분류에 따라 미리 인텐트(의도/Intent) 기반으로 추상화하여 설정된 테스트 시나리오를 실시간에 화면의 인텐트를 인식하여 부합하는 테스트를 진행하되 텍스트, 숫자 등의 구체적인 데이터 입력이 필요한 경우 미리 설정한 테스트 페르소나의 정보를 이용하여 자동으로 입력하도록 하도록 함으로써 사람의 개입없이 어플리케이션 또는 웹사이트이 주요한 기능을 자동으로 테스트할 수 있다. 또한 적절한 시나리오가 설정되어 있는 않은 경우에도 화면에서 테스트해야 하는 인텐트와 입력해야 하는 개체 정보를 인식하여 부합되는 테스트 페르소나의 정보를 입력할 수 있으므로 일반적인 임의(Random) 테스트 보다 더 효과적인 탐색 테스트를 수행할 수 있다. 화면을 인텐트와 객체로 추상화한 테스트 동작 목록(테이블)로 관리하므로 작은 디자인 변경이나 콘텐트 변경이 있을 때도 동일 화면으로 인식하여 중복 테스트를 방지하므로 임의 테스트(Random) 테스트 보다 동일한 시간에 더 많은 기능을 테스트할 수 있다.The user interface autonomous test system and method according to the present invention recognizes UI element objects and texts that require testing based on a screenshot image, recognizes the layout of the screen by combining UI layer information provided by the operating system, and provides a list of necessary test actions. can figure out In addition, according to the classification of applications or websites such as shopping, news, messenger, etc., the set test scenario is abstracted based on the intent (intent/intent) in advance, and the test scenario is recognized in real time to match the intent of the screen, but text, When specific data such as numbers are required to be entered, the main functions of the application or website can be tested automatically without human intervention by allowing the information to be entered automatically using the information of the test persona set in advance. In addition, even if an appropriate scenario is not established, it can recognize the intent to be tested and the object information to be entered on the screen and input the information of the corresponding test persona, so it performs more effective exploration tests than general random tests. can do. Since the screen is managed as a test action list (table) that is abstracted into intents and objects, even when there is a small design change or content change, the screen is recognized as the same screen and duplicate tests are prevented, so more functions at the same time than the random test can be tested.
도 1은 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 구성도이다.1 is a block diagram of a user interface autonomous test system according to an embodiment of the present invention.
도 2는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 테스트 동작을 설명한 플로우차트이다.2 is a flowchart illustrating a test operation of a user interface autonomous test system according to an embodiment of the present invention.
도 3은 예시적인 홈 화면에서 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 테스트 동작 인식부의 세부 구성 및 동작을 설명한 도면이다.3 is a view for explaining the detailed configuration and operation of a test operation recognition unit of the user interface autonomous test system according to an embodiment of the present invention on an exemplary home screen.
도 4는 예시적인 홈 화면에서 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 UI 계층 정보 어댑터를 도시한 것이다.4 illustrates a UI layer information adapter of a user interface autonomous test system according to an embodiment of the present invention on an exemplary home screen.
도 5는 예시적인 홈 화면에서 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 UI 계층 정보 어댑터에서 UI 레이아웃을 인식한 예시를 도시한 것이다.5 illustrates an example of recognizing a UI layout by a UI layer information adapter of a user interface autonomous test system according to an embodiment of the present invention on an exemplary home screen.
도 6a 내지 도 6c는 예시적인 신용카드 정보 입력 화면에서 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 테스트 동작 관리부의 세부 구성 및 동작을 설명한 도면이다.6A to 6C are diagrams for explaining the detailed configuration and operation of a test operation management unit of a user interface autonomous test system according to an embodiment of the present invention on an exemplary credit card information input screen.
도 7은 예시적인 홈 화면에서 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 테스트 동작 매니저의 동작을 설명한 플로우차트이다.7 is a flowchart illustrating an operation of a test operation manager of a user interface autonomous test system according to an embodiment of the present invention on an exemplary home screen.
도 8은 예시적인 홈 화면에서 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 테스트 동작 매니저의 테스트 동작 테이블을 도시한 것이다.8 illustrates a test action table of a test action manager of a user interface autonomous test system according to an embodiment of the present invention on an exemplary home screen.
도 9는 예시적인 신용카드 정보 입력 화면에서 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 테스트 동작 매니저의 테스트 동작 테이블을 도시한 것이다.9 illustrates a test operation table of a test operation manager of a user interface autonomous test system according to an embodiment of the present invention in an exemplary credit card information input screen.
도 10은 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템에서 테스트가 진행됨에 따라 다음 테스트 동작을 결정하는 동작을 도시한 플로우차트이다.10 is a flowchart illustrating an operation of determining a next test operation as a test proceeds in the user interface autonomous test system according to an embodiment of the present invention.
도 11a 내지 도 11c는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템에서 사용되는 예시적인 페르소나의 정보를 페르소나 저장소에서 불러오는 동작을 도시한 것이다.11A to 11C illustrate an operation of retrieving information of an exemplary persona used in the user interface autonomous test system according to an embodiment of the present invention from the persona storage.
도 12는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템에서 사용되는 인텐트/개체 인식부에서 저장하는 정보를 도시한 것이다.12 illustrates information stored by the intent/object recognition unit used in the user interface autonomous test system according to an embodiment of the present invention.
도 13a 및 도 13b는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템에서 페르소나의 정보를 인텐트/개체 매칭부가 불러오는 과정을 도시한 것이다.13A and 13B are diagrams illustrating a process in which the intent/object matching unit calls up persona information in the user interface autonomous test system according to an embodiment of the present invention.
도 14는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템에서 인텐트의 그래프 구조로 저장하고 있는 테스트 시나리오를 도시한 예시이다.14 is an example illustrating a test scenario stored in a graph structure of intents in the user interface autonomous test system according to an embodiment of the present invention.
도 15는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 단일 데스크탑이나 서버에서 구현한 예이다.15 is an example of a user interface autonomous test system implemented in a single desktop or server according to an embodiment of the present invention.
도 16은 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템을 클라우드 기반으로 구현한 예이다.16 is an example of cloud-based implementation of the user interface autonomous test system according to an embodiment of the present invention.
[주요 도면 부호의 설명][Explanation of major reference signs]
10; 유저 인터페이스 자율 테스트 시스템 11; 테스트 동작 인식부10; User Interface Autonomous Test System 11; test motion recognition unit
111; UI 요소 객체 검출부 112; 텍스트 인식부111; UI element object detection unit 112; text recognition unit
113; UI 계층 정보 어댑터 114; UI 레이아웃 인식부113; UI layer information adapter 114; UI Layout Recognition Unit
115; 테스트 동작 매니저 12; 이슈 검출부115; test action manager 12; issue detection unit
13; 테스트 동작 생성부 131; 인텐트/개체 인식부13; test operation generation unit 131; Intent/object recognition unit
132; 인텐트/개체 매칭부 133; 테스트 페르소나 저장부132; intent/object matching unit 133; test persona repository
134; 테스트 시나리오 저장부 14; 외부 서비스 통합부134; test scenario storage unit 14; External Service Integration Department
본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 자가 용이하게 실시할 수 있을 정도로 본 발명의 바람직한 실시예를 도면을 참조하여 상세하게 설명하면 다음과 같다.A preferred embodiment of the present invention will be described in detail with reference to the drawings to the extent that a person of ordinary skill in the art to which the present invention pertains can easily carry out the present invention.
이하에서는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템(10)을 설명하도록 한다.Hereinafter, the user interface autonomous test system 10 according to an embodiment of the present invention will be described.
도 1은 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 구성도이다.1 is a block diagram of a user interface autonomous test system according to an embodiment of the present invention.
먼저, 도 1을 참조하면, 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템(10)은 테스트 동작 인식부(Testable Action recognizer, 11), 이슈 감지부(Issue Detector, 12), 테스트 동작 생성부(Test Action Generator, 13), 외부 서비스 통합부(External Service Integrator, 14)를 포함할 수 있다.First, referring to FIG. 1 , the user interface autonomous test system 10 according to an embodiment of the present invention includes a test action recognizer 11 , an issue detector 12 , and a test action generator (Test Action Generator, 13), may include an external service integrator (External Service Integrator, 14).
테스트 동작 인식부(Testable Action recognizer, 11)는 테스트 대상이 되는 어플리케이션이나 웹 사이트를 대상으로 테스트 가능한 동작들을 결정할 수 있다. 이를 위해, 테스트 동작 인식부(11)는 현재 화면에 대해 유저 인터페이스(UI) 요소 객체, 텍스트 및 UI 계층 정보를 조합하여, 현재 화면에서 필요한 테스트 동작을 결정하게 된다. 구체적으로, 테스트 동작 인식부(11)는 UI 요소 객체 검출부(UI Element Detector, 111), 텍스트 인식부(Text Recognizer, 112), UI 계층 정보 어댑터(UI Hierarchy Information Adapter, 113), UI 레이아웃 인식부(114) 및 테스트 동작 매니저(115)를 포함할 수 있다.The testable action recognizer (11) may determine testable actions for an application or website as a test target. To this end, the test action recognition unit 11 determines a necessary test action on the current screen by combining the user interface (UI) element object, text, and UI layer information for the current screen. Specifically, the test action recognition unit 11 includes a UI element object detection unit (UI Element Detector, 111), a text recognition unit (Text Recognizer, 112), a UI hierarchy information adapter (UI Hierarchy Information Adapter, 113), a UI layout recognition unit 114 and a test operation manager 115 .
UI 요소 객체 검출부(111)는 현재 표시되는 화면의 스크린 샷으로부터 객체 검출(Object detection)을 수행하여 테스트해야 하는 UI 요소들을 인식할 수 있다. 특히, UI 요소 객체 검출부(111)는 머신 러닝, 특히 딥 러닝을 수행할 수 있으며, 학습에 따라 정확도가 높아질 수 있다. 이를 위해, UI 요소 객체 검출부(111)는 사전에 수집된 어플리케이션 또는 웹 사이트의 스크린샷 이미지를 학습하여 객체 검출을 위한 모델 파라미터들을 계산하여 저장할 수 있고, 테스트 대상 화면에 대해 이 학습된 모델 파라미터를 토대로 UI 요소 객체의 종류(Class)와 위치(Bounding Box)를 인식할 수 있다.The UI element object detection unit 111 may recognize UI elements to be tested by performing object detection from a screen shot of a currently displayed screen. In particular, the UI element object detection unit 111 may perform machine learning, particularly deep learning, and accuracy may be increased according to learning. To this end, the UI element object detection unit 111 may learn the screen shot image of the application or website collected in advance, calculate and store model parameters for object detection, and use the learned model parameter for the test target screen. Based on the UI element object type (Class) and location (Bounding Box) can be recognized.
텍스트 인식부(112)는 현재 화면의 스크린 샷으로부터 텍스트를 인식하고 추출할 수 있다. 특히, 텍스트 인식부(112)는 텍스트 추출을 위해 광학식 문자 판독(optical character recognition, OCR) 기법을 이용할 수 있다. OCR을 통하면, 텍스트 인식부(112)는 현재 화면으로부터 정보를 표시하고 있는 텍스트를 모두 추출할 수 있고, 후술할 바와 같이 테스트 동작 인식부(11)에서 이 텍스트의 정보를 활용하여, 해당 영역에 입력할 데이터의 값과 형태(Type)를 유추할 수 있다.The text recognition unit 112 may recognize and extract text from a screen shot of the current screen. In particular, the text recognition unit 112 may use an optical character recognition (OCR) technique for text extraction. Through OCR, the text recognition unit 112 can extract all texts displaying information from the current screen, and as will be described later, the test motion recognition unit 11 utilizes the information of the text to obtain a corresponding area. The value and type of data to be input can be inferred.
UI 계층 정보 어댑터(113)는 운영체제가 제공하는 UI 계층 정보로부터 해당 화면의 레이아웃 정보를 추출할 수 있다. 이 UI 계층 정보는 어플리케이션 또는 웹 사이트 개발자가 UI를 프로그래밍하면서 각 UI 요소들을 컨트롤하기 위해 UI 요소에 부여한 ID 값이나 텍스트 값 그리고 시각 장애인을 위해 입력한 설명 데이터를 운영체제가 수집하여 제공하는 것으로 운영체제(예. Android, iOS), 개발 플랫폼(Web, App) 등에 따라 다른 형식으로 들어온다. 본 발명에서는 UI 계층 정보 어댑터(113)를 두어서 개발 플랫폼 마다 다른 형태로 들어오는 UI 계층 정보를 내부적으로 표준화한 형태로 전환한다. 이를 통해 본 발명에 따른 유저 인터페이스 자동 테스트 시스템을 제 3의 운영체제 또는 개발 플랫폼에 적용할 때 나머지 구성요소의 변경 없이 어댑터 추가만으로 추가가 가능하다. 그러나 이 정보는 개발자가 미리 입력해둔 정보들을 수집해서 보내주는 것이고 백그라운드에서 운영체제가 수행하는 작업이므로 정보의 누락이나 불일치가 자주 발생한다. 예를 들어 개발자가 이미지에 대한 설명 데이터나 텍스트를 설정하지 않았다면 빈 데이터가 들어오게 되고, 화면의 스크린 샷이 찍힌 시간과 운영체제가 UI 계층 정보를 제공한 시점이 다르면 두 정보 사이의 정합성이 맞지 않게 된다. 도 5는 이 사례로 UI 계층 정보에서 받은 레이아웃 정보와 스크린샷의 구성이 아주 상이하다. 따라서 본 발명에서는 운영체제가 주는 UI 계층정보에만 의지하지 않고 스크린샷 이미지를 직접 인식하여 UI 요소 객체의 정보와 텍스트 정보를 얻어와 UI 레이아웃을 인식할 수 있다.The UI layer information adapter 113 may extract layout information of the corresponding screen from UI layer information provided by the operating system. This UI layer information is that the operating system collects and provides the ID value or text value given to the UI element by the application or website developer to control each UI element while programming the UI, and the explanatory data entered for the visually impaired. Yes, it comes in different formats depending on the Android, iOS) and development platform (Web, App). In the present invention, the UI layer information adapter 113 is provided to convert UI layer information that comes in a different form for each development platform into an internally standardized form. Through this, when the automatic user interface test system according to the present invention is applied to a third operating system or development platform, it is possible to add only an adapter without changing the remaining components. However, since this information collects and sends the information entered by the developer in advance, and the operating system performs in the background, omission or inconsistency of information frequently occurs. For example, if the developer does not set explanatory data or text for the image, blank data will come in. If the time when the screen shot is taken and the time when the operating system provides UI layer information are different, the consistency between the two information may not match. do. FIG. 5 shows that the layout information received from the UI layer information and the configuration of the screenshot are very different in this case. Therefore, in the present invention, the UI layout can be recognized by directly recognizing the screenshot image without relying on the UI layer information provided by the operating system to obtain information and text information of the UI element object.
UI 레이아웃 인식부(114)는 UI 요소 객체 검출부(111)에서 검출된 UI 요소 객체, 텍스트 인식부(112)에서 추출된 텍스트 및 UI 계층 정보 어댑터(113)으로부터 파악된 계층 정보를 조합하여, 현재 표시되고 있는 화면의 레이아웃을 판단할 수 있다. 또한, UI 레이아웃 인식부(114)는 해당 화면의 레이아웃을 동일 어플리케이션 또는 웹 사이트의 화면들이 공유하는 공통부(header, Footer)와 가변부(Body) 영역으로 구분하여 공통부가 중복 테스트되는 것을 억제한다. 뿐만 아니라 가변부(Body)에 대해서도 동일한 정보 단위 예를 들어 생일이라면 년, 월, 일을 하나의 그룹으로 구분하여 생일 입력이라는 테스트 동작이 년, 월, 일 3개 UI 요소 객체에 대해서 일괄로 일관성 있는 테스트 데이터 입력을 통해 수행되도록 보장한다. The UI layout recognition unit 114 combines the UI element object detected by the UI element object detection unit 111, the text extracted from the text recognition unit 112, and the layer information identified from the UI layer information adapter 113, The layout of the screen being displayed can be determined. In addition, the UI layout recognition unit 114 divides the layout of the corresponding screen into a common part (header, footer) and a variable part (body) area shared by screens of the same application or website, and suppresses repeated testing of the common part. . In addition, the same unit of information for the variable body (for example, if it is a birthday), the year, month, and day are divided into one group, and the test action of entering the birthday is uniformly consistent for the year, month, and day 3 UI element objects. It is guaranteed to be performed through input of test data.
테스트 동작 매니저(115)는 UI 레이아웃 인식부(114)에서 입력된 레이아웃에 포함된 UI 요소별 종류(Class), 텍스트(Value), 위치(Bounding Box)정보를 기초로, 필요한 테스트 동작을 테이블 형태의 목록으로 정리하고, 후술할 테스트 동작 생성부(13)에서 어떤 테스트 데이터가 생성되어 테스트를 수행했는지를 기록 관리할 수 있다. 테스트 동작 매니저는 화면을 테스트 동작 기준으로 추상화하여 관리함으로서 동일한 화면의 동일한 테스트 동작이 중복 테스트되는 것을 방지할 수 있다. 예를 들어 쇼핑몰 초기 화면의 경우 판매하는 상품이 변경됨에 따라 초기 화면에 접근할 때마다 UI 요소들의 텍스트 값이 변경되어 다른 화면으로 인식되어 동일한 위치의 상품을 선택(예를 들어, 클릭(Click))하는 테스트가 무한 반복될 수 있다. 텍스트 동작 매니저는 매 화면마다 테스트 액션 테이블을 구성한 후 각 UI 요소의 종류를 감안하여 기존에 기록되어 있는 테스트 동작 테이블을 비교하여 동일한 화면에 대한 테스트 동작 테이블이 중복 생성 관리되는 것을 막는다. 예를 들어 동일한 유형의 UI 구성 요소가 목록(List) 또는 격자(Grid) 형태로 배치되어 있는 경우에는 각 UI 요소의 텍스트 정보는 제외하고 배치 형태만으로 비교를 하여 동일한 화면인지를 판정하게 된다. 본 테스트 동작 매니저(114)로 인해 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템(10)은 테스트 동작을 누락하거나 반복하지 않고 테스트를 진행할 수 있다. The test operation manager 115 calculates the necessary test operation in a table form based on information on the type (Class), text (Value), and location (Bounding Box) of each UI element included in the layout input by the UI layout recognition unit 114 . It is possible to organize into a list of , and record and manage which test data is generated and the test is performed by the test operation generating unit 13, which will be described later. The test action manager abstracts and manages the screen as a test action standard to prevent duplicate tests of the same test action on the same screen. For example, in the case of the initial screen of a shopping mall, the text values of UI elements are changed every time the initial screen is accessed as the products to be sold are changed, so that they are recognized as a different screen and the product in the same location is selected (e.g., click) ) can be repeated indefinitely. After configuring the test action table for each screen, the text action manager compares the previously recorded test action table in consideration of the type of each UI element to prevent duplicate creation and management of the test action table for the same screen. For example, when UI components of the same type are arranged in the form of a list or grid, the text information of each UI element is excluded and only the arrangement type is compared to determine whether it is the same screen. Due to the present test operation manager 114 , the user interface autonomous test system 10 according to an embodiment of the present invention can perform a test without omitting or repeating a test operation.
이슈 감지부(Issue Detector, 12)는 테스트가 진행되는 디바이스의 로그(Log) 기록, CPU, 메모리, 네트워크 상태 등을 모니터링하여 오류나 성능 문제점을 감지할 수 있다. 예를 들어 화면에 에러 표시가 나타나거나 어플리케이션이 죽는 로그(Log)를 감지하면 이슈 감지부(12)는 개발자에게 에러가 발생한 화면 정보와 그 때 사용한 입력 데이터 그리고 에러 로그 및 메시지 정보를 리포트한다.The Issue Detector 12 may detect errors or performance problems by monitoring log records, CPU, memory, network status, etc. of the device under test. For example, when an error display appears on the screen or when an application dies log (Log) is detected, the issue detection unit 12 reports screen information where an error occurs, input data used at that time, and error log and message information to the developer.
테스트 동작 생성부(Test Action Generator, 13)는 앞서 설명한 테스트 동작 인식부(11)로부터 해당 화면의 테스트 동작 목록을 전달받고, 해당 화면을 테스트하기 필요한 입력 데이터를 적절한 형태(Format)에 맞게 생성하여 제공한다. 이를 위해, 테스트 동작 생성부(13)는 인텐트/개체 인식부(131), 인텐트/개체 매칭부(132), 테스트 페르소나 저장소(133), 테스트 시나리오 저장소(134)를 포함할 수 있다.The test action generator 13 receives the test action list of the corresponding screen from the test action recognition unit 11 described above, and generates input data required to test the screen in an appropriate format. to provide. To this end, the test action generation unit 13 may include an intent/object recognition unit 131 , an intent/object matching unit 132 , a test persona storage 133 , and a test scenario storage 134 .
먼저, 인텐트/개체 인식부(Intent/Entity recognizer, 131)는 해당 화면의 스크린샷으로부터 인식되는 텍스트들을 다시 인텐트와 개체로 인식할 수 있다. 인텐트와 개체는 일반적으로 챗봇(Chatbot)과 같은 대화 시스템을 모델링 할 때 사용하는 기술 용어로 일반적으로 인텐트(Intent)는 말이 한번 오고 가는 대화의 단위 또는 대화를 통해서 전달하려고 하는 화자의 의도로 설명할 수 있고, 개체(Entity)는 사용자의 의도 중 구체적인 요구사항으로 설명할 수 있다. 예를 들어 신용카드 종류를 선택하세요라는 문장에서 인텐트는 선택하세요이고 개체는 신용카드 종류"이다. 인텐트/개체 인식부(131)는 NLP(Natural language processing) 기술에 기반할 수 있다. 예를 들어, 해당 화면에 'A 카드', 'B 카드', 'C 카드'라는 옵션 선택 UI 요소(Radio)가 있을 때 가장 가까운 위치에 있는 텍스트가 '결제 수단 선택'이라면 인텐트/개체 인식부(131)는 인텐트로서 '결제 수단 선택(Select credit card)'을 인식하고, 개체로서 'A 카드', 'B 카드', 'C 카드'를 인식할 수 있다.First, the intent/entity recognizer (Intent/Entity recognizer, 131) may recognize texts recognized from the screenshot of the corresponding screen as intents and entities again. Intent and entity are technical terms commonly used when modeling conversational systems such as chatbots. In general, intent is a unit of conversation in which words come and go or the speaker's intention to convey through conversation. can be explained, and the entity can be described as a specific requirement among the user's intentions. For example, in the sentence "Please select a credit card type", the intent is "Please select" and the entity is "credit card type". The intent/object recognition unit 131 may be based on a natural language processing (NLP) technology. Example For example, when there is an option selection UI element (Radio) of 'A card', 'B card', and 'C card' on the screen, if the text at the nearest position is 'Select payment method', the intent/object recognition unit The 131 may recognize 'select credit card' as an intent, and recognize 'A card', 'B card', and 'C card' as entities.
인텐트/개체 매칭부(132)는 해당 화면의 테스트 동작들을 인텐트와 개체로 전환하여 테스트 동작 테이블에 저장할 수 있다. 인텐트/개체 매칭부(132)를 사용하면 각 어플리케이션 또는 웹 사이트가 사용하는 특정 용어 체계 대신 추상화된 인텐트를 기준으로 테스트 대상 화면을 정의할 수 있다. 이를 통해 정의된 테스트 시나리오와 현재 테스트 화면이 부합하는지 실시간으로 인텐트 기준으로 인식하면서 테스트를 할 수 있으므로 어플리케이션이나 웹 사이트 단위로 테스트 시나리오를 각각 작성하지않고도 인텐트 기반으로 설계된 일반화된 테스트 시나리오를 가지고 동일한 분류의 어플리케이션이나 웹 사이트를 테스트할 수 있다.The intent/object matching unit 132 may convert the test actions of the corresponding screen into intents and objects and store them in the test action table. If the intent/object matching unit 132 is used, a test target screen can be defined based on an abstracted intent instead of a specific terminology system used by each application or website. Through this, it is possible to test while recognizing whether the defined test scenario and the current test screen match in real time based on the intent, so you can have a generalized test scenario designed based on intent without writing each test scenario for each application or website. You can test applications or websites of the same category.
한편, 테스트 동작 생성부(13)는 인텐트/개체 매칭부(132)의 인턴트 기준으로 관리되는 테스트 동작 테이블에 근거하여, 가장 우선 순위가 높은 인텐트를 선택하고, 이를 실행하기 위한 동작을 선택할 수 있다. 예를 들어, 계좌이체를 통한 물품 구매 시나리오가 진행중일 경우 단일 테스트 화면에 '결제 수단 선택(Select credit card)'과 '입금 은행 계좌 입력(input bank account number)'의 2개의 인텐트가 있는 경우, 테스트 동작 생성부(13)는 '결제 수단 선택' 인텐트 대신 '입금 은행 계좌 입력' 인텐트가 선택하고 이 인텐트와 관련된 데이터를 생성한다. On the other hand, the test action generating unit 13 selects the highest priority intent based on the test action table managed based on the intent of the intent/object matching unit 132 and performs an action for executing it. You can choose. For example, when a purchase scenario through bank transfer is in progress, there are two intents: 'Select credit card' and 'Input bank account number' on a single test screen. , the test action generation unit 13 selects the 'Deposit bank account input' intent instead of the 'Payment method selection' intent, and generates data related to this intent.
테스트 페르소나 저장소(Tester Persona Repository, 133)는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템(10)이 동작할 때, 일반인들과 같은 조건을 갖는 가상 인물의 정보를 설정하고 저장할 수 있다. 예를 들어, 테스트 페르소나 저장소(133)는 'John Doe'라는 이름을 가진 28세의 사람을 가상으로 생성하고, 직업, 이메일, 주소, 휴대전화 번호, 신용카드 정보, 채팅앱, SNS 등의 정보를 미리 설정해 놓을 수 있다. 특히, 이메일, 휴대전화 번호의 정보는 특정 어플리케이션이나 웹 사이트에서 본인을 인증하는데 사용될 수 있고, 신용카드 정보는 유료 아이템의 구매 과정의 테스트나, 온라인 쇼핑에 대한 테스트에서 요구되는 빈도가 높다. 따라서, 테스트 중 입력 데이터로 인한 오류가 발생되는 것을 방지하기 위해, 테스트 페르소나 저장소(133)는 사전에 가상 인물의 정보를 생성/저장할 때, 이메일, 휴대전화 번호 및/또는 신용카드 정보를 실제 사용가능한 것으로 설정하는 것이 바람직하다. 현대의 대부분의 어플리케이션 또는 웹 사이트는 단독으로 동작하지 않고 여러 외부 시스템과 연계되어 활용되고 있다. 따라서 이런 연계를 테스트하기 위해서는 외부 시스템 계정이 있어야 하고 그 테스트 동작 결과를 해당 시스템에 접속하여 확인할 수 있어야 한다. 본 발명의 테스트 페르소나는 해당 시스템을 테스트하기 위한 데이터뿐만 아니라 이런 외부 시스템 연계를 테스트할 수 있는 정보와 설정을 모두가지고 있는 점이 기존 방법들과 다른 점이다. When the user interface autonomous test system 10 according to the embodiment of the present invention operates, the Test Persona Repository 133 may set and store information of a virtual person having the same conditions as ordinary people. For example, the test persona storage 133 virtually creates a 28-year-old person with the name 'John Doe', and includes information such as job, email, address, mobile phone number, credit card information, chatting app, and SNS can be preset. In particular, information on e-mail and mobile phone numbers can be used to authenticate the user in a specific application or website, and credit card information is frequently required for testing of a purchase process of a paid item or testing for online shopping. Therefore, in order to prevent errors due to input data during testing, the test persona storage 133 actually uses e-mail, mobile phone number and/or credit card information when creating/storing virtual person information in advance. It is desirable to set it as possible. Most modern applications or websites do not operate alone, but are utilized in connection with various external systems. Therefore, in order to test this linkage, there must be an external system account, and the test operation result must be connected to the system and checked. The test persona of the present invention is different from the existing methods in that it has not only data for testing the corresponding system, but also information and settings for testing this external system linkage.
테스트 시나리오 저장소(134)는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템(10)을 통해 테스트를 진행할 시나리오, 즉 테스트 경로를 저장할 수 있다. 테스트 시나리오는 어플리케이션이나 웹 사이트의 분류에 따라 설정될 수 있다. 예를 들어, 모든 온라인 쇼핑 어플리케이션은 주요 홈 화면으로부터 물건을 검색, 선택하고, 배송 받을 인적 정보 및 주소를 입력하고, 신용 카드를 통해 결제를 진행하는 일련의 동작(인텐트)들로 테스트 시나리오를 구성할 수 있다. 테스트 대상 어플리케이션 또는 웹 사이트의 분류는 어플리케이션이 앱스토어에 이미 게시된 경우에는 이 사이트 정보를 스크랩하여 가져올 수도 있고 테스트 시작전에 개발자가 직접 지정할 수도 있으며, 초기화면에서 인식되는 인텐트 정보를 통해서 유추할 수도 있다. The test scenario storage 134 may store a scenario to be tested through the user interface autonomous test system 10 according to an embodiment of the present invention, that is, a test path. The test scenario may be set according to the classification of the application or website. For example, all online shopping applications use the test scenario as a series of actions (intents) to search for and select an item from the main home screen, enter personal information and address to receive delivery, and proceed with payment through a credit card. configurable. The classification of the test target application or website can be obtained by scraping this site information if the application has already been published in the App Store, or can be specified by the developer directly before the start of the test, and can be inferred through the intent information recognized in the initial screen. may be
외부 서비스 통합부(External Service Integrator, 14)는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템(10)의 테스트 동작이 외부 시스템에서 발생하는 경우 외부 시스템에서 동작이 정상적으로 수행되었는지를 검증할 수 있도록 한다. 예를 들어 화면에 SNS(예. 페이스북)에 '게시하기'라는 버튼이 있을 때 이 테스트 동작을 수행한 후에 테스트 페르소나 소유의 SNS 초기화면에 신규 게시가 생겼는지를 확인하여 게시가 되지 않았을 때는 오류를 리포트 할 수 있다. The external service integrator 14 is configured to verify whether the operation is normally performed in the external system when the test operation of the user interface autonomous test system 10 according to the embodiment of the present invention occurs in the external system. do. For example, when there is a 'post' button on the screen on social media (e.g. Facebook), after performing this test action, check whether a new post is made on the initial screen of the SNS owned by the test persona, and if there is no posting, an error can report.
상기와 같이, 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템(10)은 테스트를 하기 위한 어플리케이션이나 웹 사이트에 대해, 스크린샷을 기준으로 UI 구성, 텍스트 인식, UI 계층 정보를 조합하여 레이아웃 및 테스트 동작을 파악할 수 있다. 그리고 어플리케이션 또는 웹 사이트의 분류에 따라 인텐트(Intent) 기준으로 미리 정의된 테스트 시나리오에 따라 테스트를 진행하되 단순 클릭, 터치가 아닌 텍스트 등의 데이터 입력이 필요한 경우 테스트 페르소나의 정보를 이용하여 입력할 수 있다. 또한 각 테스트 경로 및 테스트 진행 여부는 화면의 디자인이나 콘텐트 정보가 제거된 추상화된 테스트 동작 테이블로 정리함으로써, 중복 테스트를 최소화하면서 테스트가 정확하고 빠르게 이루어지도록 할 수 있다.As described above, the user interface autonomous test system 10 according to an embodiment of the present invention combines UI configuration, text recognition, and UI layer information based on a screen shot for an application or website for testing, and provides layout and You can understand the test behavior. In addition, according to the classification of the application or website, the test is conducted according to the predefined test scenario based on the intent, but if data input such as text rather than a simple click or touch is required, it can be entered using the information of the test persona. can In addition, each test path and test progress is organized into an abstract test action table from which the screen design or content information is removed, so that the test can be performed accurately and quickly while minimizing duplicate tests.
이하에서는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템(10)을 이용한 테스트 방법을 단계적으로 설명하도록 한다.Hereinafter, a test method using the user interface autonomous test system 10 according to an embodiment of the present invention will be described in stages.
도 2는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템에 따른 테스트 동작을 설명한 플로우차트이다. 도 2를 참조하면, 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템(10)을 이용한 테스트 방법은 디바이스 셋업(S1), 어플리케이션 설치(S2), 범용 테스트 시나리오 불러오기(S3), 어플리케이션 스크린샷 인식(S4), 동작 선택(S5), 테스트 데이터 생성(S6), 테스트 동작 실행(S7), 테스트 동작 결과 검증(S8)의 단계를 포함할 수 있다. 이하에서는 도 2의 각 단계들을 도 3 내지 도 15를 함께 참조하여 설명하도록 한다.2 is a flowchart illustrating a test operation according to a user interface autonomous test system according to an embodiment of the present invention. Referring to FIG. 2 , the test method using the user interface autonomous test system 10 according to the embodiment of the present invention includes device setup (S1), application installation (S2), general-purpose test scenario call (S3), and application screenshots. It may include steps of recognition (S4), operation selection (S5), test data generation (S6), test operation execution (S7), and test operation result verification (S8). Hereinafter, each step of FIG. 2 will be described with reference to FIGS. 3 to 15 together.
먼저, 디바이스 셋업(S1) 단계에서, 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템(10)의 동작을 위해, 테스트 디바이스의 테스트 환경이 구성될 수 있다. 구체적으로, 시스템(10) 테스트 디바이스의 운영 체재 버전을 선택하고 해당 어플리케이션과 충돌 가능성이 있거나 먼저 설치되어야 하는 어플리케이션을 설치하는 등의 동작을 사전에 진행할 수 있다. 예를 들어 은행 앱을 테스트하고자 한다면 필수 앱인 백신 앱을 먼저 설치하고 테스트 페르소나가 보유하고 있는 계정으로 페이스북 앱을 설치하고 로그인 시켜서 은행 앱에서 페이스북 연동 테스트가 정상적으로 이루어질 수 있도록 준비한다.First, in the device setup (S1) step, for the operation of the user interface autonomous test system 10 according to the embodiment of the present invention, a test environment of the test device may be configured. Specifically, an operation such as selecting an operating system version of the system 10 test device and installing an application that may conflict with a corresponding application or needs to be installed first may be performed in advance. For example, if you want to test the bank app, first install the anti-virus app, which is an essential app, and then install the Facebook app with the account the test persona has and log in to prepare for the Facebook integration test in the bank app.
어플리케이션 설치(S2) 단계에서, 테스트 디바이스에 테스트하고자 하는 어플리케이션이 설치될 수 있다. 본 단계에서 테스트를 요청하는 업체의 개발자로부터 어플리케이션 배포 전의 설치 파일을 받아 테스트 디바이스에 설치할 수도 있다. 또한 일반 사용자들이 스마트폰이나 태블릿에서 어플리케이션을 다운받는 앱스토어에 접속하여 설치 파일을 다운로드 받아 설치하는 것도 가능하다. 웹 사이트의 경우에는 액티브엑스(ActiveX)와 같이 웹 사이트에서 사용하고 프로그램이나 공인인증서 등의 웹사이트 구동에 필요한 데이터 파일 설치를 수행한다. In the application installation (S2) step, an application to be tested may be installed on the test device. In this step, it is also possible to receive the installation file before application distribution from the developer of the company requesting the test and install it on the test device. It is also possible for general users to download and install the installation file by accessing the App Store where they download applications from their smartphones or tablets. In the case of a website, it is used on the website like ActiveX, and data files necessary to run the website, such as programs and public certificates, are installed.
범용 테스트 시나리오 불러오기(S3) 단계에서 테스트 시나리오 저장소(134)에 저장된 테스트 시나리오 중 해당 어플리케이션 또는 웹 사이트에 적절한 것을 선택하고 불러올 수 있다. 상술한 것과 같이, 어플리케이션의 분류가 이미 앱스토어에 게시되어 있는 경우 해당 분류에 적합한 테스트 시나리오가 용이하게 선택될 수 있다. 필요할 경우 개발자로부터 어플리케이션의 세부 내용을 전달받아 적합한 테스트 시나리오를 설정하는 것도 가능하며 어플리케이션 구동 후 초기 화면의 인텐트로부터 분류를 유추한 후 시나리오를 불러오는 것도 가능하다.In the general-purpose test scenario loading (S3) step, from among the test scenarios stored in the test scenario storage 134, an appropriate one for the corresponding application or website may be selected and loaded. As described above, when the classification of the application has already been published in the App Store, a test scenario suitable for the classification can be easily selected. If necessary, it is possible to set an appropriate test scenario by receiving the details of the application from the developer, and it is also possible to call the scenario after inferring the classification from the intent of the initial screen after running the application.
어플리케이션 스크린샷 인식(S4) 단계에서 각 어플리케이션이나 웹 사이트의 실행 시 처음에 표시되는 홈 화면부터 시작하여, 테스트 시나리오에 따라 단계적으로 화면의 스크린샷을 획득하고 인식할 수 있다. 본 단계에서 스크린샷은 해당 화면의 UI 계층 정보와 함께 테스트 동작 인식부(11)에 전달될 수 있다.In the step of recognizing an application screenshot (S4), starting from the home screen initially displayed when each application or website is executed, a screen shot may be acquired and recognized step by step according to the test scenario. In this step, the screenshot may be transmitted to the test motion recognition unit 11 together with UI layer information of the corresponding screen.
동작 선택(S5) 단계는 도 3을 참조하여 설명하도록 한다. 도 3에 예시된 쇼핑 어플리케이션의 경우는 단순 콘텐트 선택(Click) 테스트 동작으로 이루어진 화면이다. 상술한 것처럼, UI 요소 객체 검출부(111)는 홈 화면의 스크린샷으로부터 기존 딥 러닝을 기반으로 UI 구성을 검출하고, 텍스트 인식부(112)는 역시 스크린샷으로부터 각 영역들의 텍스트를 인식할 수 있다. 마지막으로 UI 계층 정보 어댑터(113)는 운영체제가 제공하는 UI 계층정보를 이용하여 화면의 레이아웃을 생성한다. 이 3개의 화면 정보는 UI 레이아웃 인식부(114)에 의해서 통합된 후 공통부(Header, Footer)와 가변부(Body)로 구분된다.The operation selection (S5) step will be described with reference to FIG. 3 . In the case of the shopping application illustrated in FIG. 3 , it is a screen composed of a simple content selection (Click) test operation. As described above, the UI element object detection unit 111 detects the UI configuration based on the existing deep learning from the screenshot of the home screen, and the text recognition unit 112 may also recognize the text of each area from the screenshot. . Finally, the UI layer information adapter 113 creates a screen layout using UI layer information provided by the operating system. The three screen information is divided into a common part (Header, Footer) and a variable part (Body) after being integrated by the UI layout recognition unit 114 .
테스트 데이터 생성(S6) 단계에서, 테스트 동작 생성부(13)는 테스트 페르소나 저장소(133)로부터 테스트 동작에 적합한 정보를 불러올 수 있다. 상술한 것처럼, 어플리케이션이나 웹 사이트의 특성상 특정 운영 체재 또는 실제 동작하는 이메일, 휴대 전화 번호, 신용카드 정보를 요구하는 경우가 있다. 따라서, 테스트 동작 생성부(13)는 이에 부합하는 정보를 저장소로부터 불러와서, 테스트 시나리오에 따른 입력 데이터를 생성할 수 있다. In the test data generation (S6) step, the test action generation unit 13 may retrieve information suitable for the test action from the test persona storage 133 . As described above, due to the characteristics of an application or web site, there are cases in which a specific operating system or actually operating e-mail, mobile phone number, and credit card information are requested. Accordingly, the test operation generating unit 13 may generate input data according to the test scenario by retrieving information corresponding thereto from the storage.
테스트 동작 실행(S7) 단계에서, 테스트 동작 생성부(13)는 화면에 데이터를 입력하거나, 클릭하는 등의 동작들을 운영체제에 전달하여 수행할 수 있다. In the test operation execution (S7) step, the test operation generation unit 13 may perform operations, such as inputting data or clicking on the screen, by transferring the operations to the operating system.
마지막으로, 테스트 동작 결과 검증(S8) 단계에서, 테스트 동작을 수행하기 전 또는 한 후에 어플리케이션 또는 웹 사이트의 메시지나 시스템 로그를 검증하여 에러 발생 여부를 감지하고 개발자에게 전달할 리포트를 저장한다. 이메일 전송, SNS 댓글 입력 등과 같이 테스트 동작 수행 결과를 외부 시스템에서 확인해야 하는 경우에는 상술한 바와 같이 외부 서비스 통합부(14)를 통해 외부 시스템에 접속하여 검증할 수 있다. Finally, in the step of verifying the test operation result (S8), the message or system log of the application or website is verified before or after the test operation is performed to detect whether an error has occurred and a report to be delivered to the developer is stored. When it is necessary to check the test operation execution result in an external system, such as sending an email or inputting an SNS comment, it can be verified by accessing the external system through the external service integrator 14 as described above.
한편, 도 6a 내지 도 6c는 비교적 단순했던 도3의 쇼핑몰 홈 화면 예시와 달리 개인 정보 입력 화면에서 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 테스트 동작 인식부의 세부 구성 및 동작을 설명한 도면이다. 도 6a 를 참조하면, 앞서 설명한 것과 같이, 테스트가 진행됨에 따라 또한, UI 레이아웃 인식부(114)는 인가 받은 UI 요소 개체, 텍스트 및 UI 계층 구조를 조합하여 도 6a와 같이 레이아웃을 형성하고, 레이아웃의 각 구성들을 공통부(Header, Footer)과 가변부(Body)로 1차 그룹핑 한 후 가변부 안의 UI 구성요소들을 다시 정보 완결성 단위로 그룹핑을 할 수 있다. 이 예시에서는 가변부가 다시 카드번호(Card Number), 이름(Name on Card), 유효기간(Expiration date), 동작 버튼(Add your Card)의 4개 그룹으로 구분되었다. Meanwhile, FIGS. 6A to 6C are diagrams for explaining the detailed configuration and operation of the test motion recognition unit of the user interface autonomous test system according to the embodiment of the present invention on the personal information input screen, unlike the relatively simple example of the shopping mall home screen of FIG. 3 . . Referring to FIG. 6A , as described above, as the test progresses, the UI layout recognition unit 114 forms a layout as shown in FIG. 6A by combining the authorized UI element object, text, and UI hierarchical structure, and the layout After first grouping each of the components into a common part (Header, Footer) and a variable part (Body), the UI components in the variable part can be grouped again as an information integrity unit. In this example, the variable part was again divided into four groups: Card Number, Name on Card, Expiration date, and Operation button (Add your Card).
이 때, 인텐트/개체 인식부(131)는 도 6b에 도시된 것과 같이, UI 요소 객체 검출부(111)로부터 검출된 UI 구성과 텍스트 인식부(112)에서 인식된 텍스트에 기초하여, 사전에 학습된 딥러닝 기반의 머신러닝 파라미터에 의거하여 해당 영역의 인텐트와 개체를 인식할 수 있다. 예를 들어, 도 6b와 같이 4개의 텍스트 입력 UI 요소(EditText)가 동일한 수평선 상에 있을 때 이들과 가장 가까이에 있는 텍스트 정보 카드번호(Card Number), Enter your Credit Card Number를 감안하여 인텐트/개체 인식부는 신용카드번호입력이라는 인텐트와 4개의 입력 값으로 이루어진 카드 번호라는 개체의 정의와 형식(Format)을 인식하게 된다. At this time, the intent/object recognition unit 131 , as shown in FIG. 6B , based on the UI configuration detected by the UI element object detection unit 111 and the text recognized by the text recognition unit 112 , in advance Based on the learned deep learning-based machine learning parameters, the intent and object of the corresponding area can be recognized. For example, when four text input UI elements (EditText) are on the same horizontal line as shown in FIG. 6B, the intent/ The entity recognition unit recognizes the definition and format of an entity called a card number consisting of an intent of inputting a credit card number and four input values.
이를 이용하여 테스트 동작 생성부(13)는 테스트 페르소나 저장부(133)로부터, 도 13의 a와 같이 실제 입력 가능한 카드의 정보를 질의하여 불러올 수 있으며, 13b와 같이 테스트 동작 테이블의 각 UI 요소들에 입력할 카드 번호를 할당하여 테스트가 수행되도록 한다.Using this, the test action generating unit 13 may query and call information of an actually inputable card from the test persona storage 133 as shown in FIG. 13A, and each UI element of the test action table as shown in 13B Allocate the card number to be input to so that the test is performed.
이하에서는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템 중, 테스트동작 매니저의 동작을 상세히 설명하도록 한다. Hereinafter, the operation of the test operation manager in the user interface autonomous test system according to an embodiment of the present invention will be described in detail.
도 7은 예시적인 홈 화면에서 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 테스트 동작 매니저의 동작을 설명한 플로우차트이고, 도 8은 예시적인 홈 화면에서 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 테스트 동작 매니저의 테스트 동작 테이블을 도시한 것이다. 테스트 동작의 실행에서, 테스트 동작 매니저(115)는 도 12에 도시된 것처럼, UI 요소 객체의 종류(Class)와 표시된 값(Value) 정보를 이용하여 테스트 동작 테이블을 추출하고(200), 이 테이블 정보를 기존에 테스트되었던 테스트 동작 테이블과 비교해서 해당 화면에서 이미 테스트된 동작들의 여부를 판단한다(202). 이 때, 별도의 테스트 세션 저장소(201)가 구비되어 있을 수 있으며, 이 경우 테스트 동작 매니저(115)는 테스트 진행 유무를 테스트 세션 저장소(201)를 참조하여 판단할 수 있다. 또한, 해당 화면이 테스트된 것인 경우(Yes), 테스트 동작 매니저(115)는 도 8과 같이, 테스트 동작 테이블에 대해 해당 화면이 테스트되었음(Yes)을 기록할 수 있고, 구체적인 테스트 동작 내용(예를 들어, 터치, 횡방향 스크롤, 종방향 스크롤)을 함께 기록할 수 있다(203). 반면, 해당 화면이 테스트되지 않은 것인 경우(No), 테스트 동작 매니저(115)는 도 8과 같이 테스트 동작 테이블에서 테스트되지 않았음(No)을 기록하여 테스트 동작 생성부(13)에서 활용하도록 할 수 있다. (204). 7 is a flowchart illustrating an operation of a test operation manager of a user interface autonomous test system according to an embodiment of the present invention on an exemplary home screen, and FIG. 8 is a user interface autonomy according to an embodiment of the present invention on an exemplary home screen It shows the test action table of the test action manager of the test system. In the execution of the test operation, the test operation manager 115 extracts a test operation table using information of the type (Class) and displayed value (Value) of the UI element object as shown in FIG. 12 ( 200 ), and the table By comparing the information with the previously tested test action table, it is determined whether actions have already been tested on the screen ( 202 ). In this case, a separate test session storage 201 may be provided. In this case, the test operation manager 115 may determine whether or not the test is in progress with reference to the test session storage 201 . In addition, when the screen is tested (Yes), the test action manager 115 may record that the screen has been tested (Yes) in the test action table as shown in FIG. 8 , and specific test action details ( For example, a touch, a horizontal scroll, a vertical scroll) may be recorded together ( 203 ). On the other hand, if the corresponding screen is not tested (No), the test action manager 115 records that it has not been tested (No) in the test action table as shown in FIG. can do. (204).
이와 같이 하여, 테스트 동작 매니저(115)는 테스트 시나리오에 따라 각 화면의 테스트를 진행함에 있어서 테스트 진행 유무를 도 8 또는 도 9와 같은 테이블 형태로 정리하고 매 화면 인식이 끝난 후에 기존에 생성 저장되어 있는 테이블과 비교하여 동일할 경우에는 통합하도록 함으로써 반복적인 테스트가 수행되는 것을 방지할 수 있다.In this way, the test operation manager 115 organizes the test progress in the form of a table as shown in FIG. 8 or 9 when testing each screen according to the test scenario, and after recognizing each screen, it is created and stored in the past. It is possible to prevent repeated tests from being performed by comparing the existing tables and integrating them if they are the same.
한편, 도 8은 예시적인 개인 정보 입력 화면에서 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 테스트 동작 매니저의 테스트 동작 테이블을 도시한 것이다. 도 8에서 보듯이 테스트 동작 테이블은 카드 입력이 수반되는 경우, 기존 터치 등의 동작 외에 카드 번호를 입력한 것임을 함께 표시하는 것도 가능하다.Meanwhile, FIG. 8 illustrates a test operation table of the test operation manager of the user interface autonomous test system according to an embodiment of the present invention in an exemplary personal information input screen. As shown in FIG. 8 , in the test operation table, when a card input is accompanied, it is also possible to display that a card number is input in addition to an existing touch operation.
한편, 도 10은 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템에서 테스트가 진행됨에 따라 다음 테스트 동작을 결정하는 과정을 도시한 플로우차트이다. 도 10에 도시된 것과 같이 매 테스트할 인텐트를 결정할 때 테스트 동작 매니저(115)는 해당 화면에서 테스트되지 않은 인텐트가 있는지 여부를 확인할 수 있다(S71). 만약 존재한다면(Yes), 테스트 동작 매니저(115)는 테스트되고 있는 시나리오가 있는지 여부를 확인할 수 있다(S72). 또한, 시나리오가 존재한다면(Yes), 시나리오와 부합하는 인텐트가 있는지 확인(S73)하고, 있는 경우(Yes) 테스트 시나리오에 따라 인텐트를 선택하는 동작을 계속 수행하도록 한다. 다만, 시나리오와 부합하는 인텐트가 없다면, 미리 설정된 테스트 시나리오를 진행할 방법이 없으므로 테스트 시나리오를 진행 중이라는 정보를 초기화(Reset)하고 각 인텐트의 화면 안에서의 위치 정보를 기반으로 다음 테스트할 인텐트를 결정한다. 예를 들어 쇼핑몰에서 결제 시나리오가 신용카드 입력까지 진행된 상태에서 다음 화면에 결제, 배송지 수정 등의 결제 시나리오에서 가능한 인텐트가 발견되지 않은 경우에는 결제 시나리오를 계속 진행할 수 없으므로 시나리오 진행 현황을 모두 초기화하여 결제 시나리오를 처음부터 다시 진행하도록 보장한다. Meanwhile, FIG. 10 is a flowchart illustrating a process of determining a next test operation as a test proceeds in the user interface autonomous test system according to an embodiment of the present invention. As illustrated in FIG. 10 , when determining each intent to be tested, the test operation manager 115 may check whether there is an untested intent on the corresponding screen ( S71 ). If there is (Yes), the test operation manager 115 may check whether there is a scenario being tested (S72). Also, if the scenario exists (Yes), it is checked whether there is an intent matching the scenario (S73), and if there is (Yes), the operation of selecting an intent according to the test scenario is continuously performed. However, if there is no intent that matches the scenario, there is no way to proceed with the preset test scenario, so the information indicating that the test scenario is in progress is reset (Reset) and the next intent to be tested based on the location information in the screen of each intent to decide For example, if the payment scenario in the shopping mall has progressed to credit card input and no possible intent is found in the payment scenario such as payment or delivery address modification on the next screen, the payment scenario cannot be continued, so you can initialize all the scenario progress. Guaranteed to go through the payment scenario all over again.
한편, 테스트되지 않은 인텐트 중에서 테스트 중인 시나리오가 없는 경우, 해당 인텐트로 시작하는 테스트되지 않은 시나리오가 있는지 여부를 확인(S74)할 수 있다. 존재하는 경우(Yes), 해당 인텐트로 시작되는 시나리오를 시작한다. 예를 들어 결제 시나리오가 수행되지 않은 상태에서 화면에 장바구니추가와 같은 인텐트가 발견되면 장바구니 추가를 다음 테스트 동작으로 선택하고 결제 시나리오 테스트가 시작되었음을 표시한다. 적절한 시나리오가 존재하지 않는 경우(No), 역시 화면 내 위치에 기반하여 다른 인텐트를 선택할 수 있다.Meanwhile, if there is no scenario being tested among the untested intents, it may be checked whether there is an untested scenario starting with the corresponding intent ( S74 ). If it exists (Yes), start the scenario started with that intent. For example, if an intent such as add to cart is found on the screen while the payment scenario has not been performed, select add to cart as the next test action and indicate that the testing of the payment scenario has started. If an appropriate scenario does not exist (No), another intent may be selected based on the location in the screen as well.
한편, 화면 상에 테스트되지 않은 인텐트가 존재하지 않는 경우, 화면 내의 인텐트들로 수행되는 다른 테스트 경로가 있는지 확인하고(S75), 존재한다면(Yes), 해당 인텐트를 다시 선택할 수 있다. 반면, 다른 테스트 경로가 없는 경우(No), 홈 화면인지 확인하고(S76), 홈 화면이 아닌 경우(No) 재시작 하여 홈화면을 돌아가서 테스트를 진행하도록 하고 홈 화면인 경우(Yes)에는 모든 하위 경로에 대한 테스트가 완료된 것이므로 테스트를 종료하게 된다.On the other hand, when there is no untested intent on the screen, it is checked whether there is another test path performed with intents in the screen (S75), and if there is (Yes), the corresponding intent can be selected again. On the other hand, if there is no other test path (No), check if it is the home screen (S76), and if it is not the home screen (No), restart and return to the home screen to proceed with the test. As the test for the path is completed, the test ends.
이하에서는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템 중, 테스트 페르소나 저장소에 저장된 데이터의 예시와 페르소나 데이터를 효율적으로 확장하는 방법을 설명하도록 한다.Hereinafter, an example of data stored in a test persona storage and a method of efficiently expanding persona data among the user interface autonomous test system according to an embodiment of the present invention will be described.
도 11a 내지 도 11c는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템에서 사용되는 예시적인 페르소나의 정보를 페르소나 저장소에서 불러오는 동작을 도시한 것이다.11A to 11C illustrate an operation of retrieving information of an exemplary persona used in the user interface autonomous test system according to an embodiment of the present invention from the persona storage.
도 11a에서 보듯이, 테스트 페르소나 저장소(133)에는 예를 들어 'John Doe'라는 이름의 가상 인물이 저장되어 있을 수 있고, 해당 인물에는 직업, 이메일, 주소, 휴대전화 번호, 신용카드 정보, 채팅앱, SNS 등과 같은 정보가 설정될 수 있다. 또한, 테스트 페르소나 저장소(133)에는 이러한 가상 인물들이 적어도 1명 이상, 바람직하게는 다수로 저장될 수 있으며, 필요한 테스트 시나리오에 따라 적절한 가상 인물의 정보가 활용될 수 있다.As shown in FIG. 11A , in the test persona storage 133, for example, a virtual person named 'John Doe' may be stored, and the person has a job, email, address, mobile phone number, credit card information, chatting. Information such as apps and SNS may be set. In addition, the test persona storage 133 may store at least one such virtual person, preferably a plurality, and appropriate virtual person information may be utilized according to a required test scenario.
도 11b에서 보듯이, 테스트 페르소나 저장소(133)에는 RDF 저장소(RDF Repository, 133a) 및 RDF 추론엔진(RDF Inference Engine, 133b)이 백그라운드에 연결되어 있을 수 있다. 여기서, RDF(Resource Description Framework)는 <주어, 서술어(관계), 목적어>와 같은 3개의 쌍(tuple)으로 정보를 관리하는 방법으로 유사한 정보 관리 방법으로 대체 가능하다. RDF 저장소(RDF Repository, 133a)는 자체적으로 작성한 테스터에 대한 가상 인물 데이터와 외부의 온톨로지(Ontology)를 수집해서 보관하는 저장소를 의미하며, RDF 추론엔진(RDF Inference Engine, 133b)는 RDF를 최종 테스트에 필요한 <Key, Value> 즉 <Name, 'John Doe'>와 같은 형식의 데이터로 변환하는 역할을 수행할 수 있다. 이 과정에서 추론 엔진은 외부 데이터와 내부 데이터를 통합하여 새로운 관계를 생성해내는 정보 추론의 역할과 유의어나 언어 매핑 정보를 이용해서 데이터 변환을 통해 입력된 데이터 및 관계보다 더 많은 정보를 생성해 낼 수 있다. 예를 들어 <'John Doe', 'Company Name', 'Facebook'> 이라는 내부 정보와 <'Facebook', 'address', 'S California Avenue, Palo Alto'>라는 외부 인터넷에서 수집한 정보를 결합하여 <'John Doe', 'Company Address', 'S California Avenue, Palo Alto'>와 같은 정보를 생성할 수 있다. 11B , in the test persona repository 133 , an RDF repository (RDF Repository, 133a) and an RDF inference engine (RDF Inference Engine, 133b) may be connected in the background. Here, RDF (Resource Description Framework) is a method of managing information in three tuples such as <subject, predicate (relationship), object>, and can be replaced with a similar information management method. The RDF repository (RDF Repository, 133a) refers to a repository that collects and stores virtual person data and external ontology for testers written by itself, and the RDF inference engine (RDF Inference Engine, 133b) performs final testing of RDF. It can perform the role of converting data of the format such as <Key, Value> that is required for <Name, 'John Doe'>. In this process, the reasoning engine plays the role of information inference to create a new relationship by integrating external and internal data, and uses synonyms or language mapping information to generate more information than input data and relationships through data transformation. can For example, by combining internal information of <'John Doe', 'Company Name', 'Facebook'> with information collected from the external Internet of <'Facebook', 'address', 'S California Avenue, Palo Alto'>, You can create information such as <'John Doe', 'Company Address', 'S California Avenue, Palo Alto'>.
도 11c에서 보듯이, 테스트 페르소나 저장소(133)는 RFD 추론 엔진(133b)로부터 변환된 데이터를 일종의 테이블의 형태로 저장하게 된다. 따라서, 테스트 시나리오에 따라 필요한 데이터가 해당 테이블의 형태로 테스트 동작 생성부(13)에 제공될 수 있다.As shown in FIG. 11C , the test persona storage 133 stores data converted from the RFD inference engine 133b in the form of a table. Accordingly, data required according to the test scenario may be provided to the test operation generating unit 13 in the form of a corresponding table.
이하에서는 인텐트/개체 인식부의 저장 테이블을 예시적으로 설명하도록 한다.Hereinafter, the storage table of the intent/object recognition unit will be described as an example.
도 12는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템에서 사용되는 페르소나의 정보를 인텐트/개체 인식부에서 저장하는 테이블을 도시한 것이다.12 illustrates a table in which the intent/object recognition unit stores information of persona used in the user interface autonomous test system according to an embodiment of the present invention.
도 12에 도시된 것처럼, 인텐트/개체 인식부(131)에는 스크린샷으로부터 파악된 UI 구성 또는 OCR 정보를 토대로, 인텐트/개체를 구분할 수 있으며, 테이블로서 정리할 수 있다. 또한, 해당 테이블은 테스트 동작 매니저(115)와 공유될 수도 있어서, 해당 테이블을 통해 인텐트가 테스트되었는지 여부도 함께 기록될 수 있다.As shown in FIG. 12 , the intent/object recognition unit 131 may classify intents/objects based on the UI configuration or OCR information identified from the screenshot, and may organize them as a table. Also, since the corresponding table may be shared with the test operation manager 115, whether an intent is tested through the corresponding table may also be recorded.
이하에서는 페르소나의 정보를 인텐트/개체 매칭부가 불러오는 과정을 설명하도록 한다.Hereinafter, the process of calling the persona information by the intent/object matching unit will be described.
도 13a 및 도 13b는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템에서 페르소나의 정보를 인텐트/개체 매칭부가 불러오는 과정을 도시한 것이다.13A and 13B are diagrams illustrating a process in which the intent/object matching unit calls up persona information in the user interface autonomous test system according to an embodiment of the present invention.
도 13a에서 보듯이, 테스트 시나리오에 따라, 인텐트/개체 매칭부(132)는 테스트 페르소나 저장소(133)와 통신하고, 필요한 형식에 맞는 페르소나의 데이터를 불러올 수 있다. 이 때, 테스트 페르소나 저장소(133)에는 예를 들어 카드 번호의 경우, 카드번호 16개의 숫자와 cvv 3자리 숫자의 조합으로 구성될 수 있으나, 다양한 어플리케이션의 입력 포맷에 맞도록 각각 1자리 블록, 4자리 블록, 2자리 블록, 5자리 블록 등 다양한 형태로서 저장되어 있을 수 있으며, 인텐트/개체 매칭부(132)는 어플리케이션에 맞는 형태의 데이터를 불러오게 된다.As shown in FIG. 13A , according to a test scenario, the intent/object matching unit 132 may communicate with the test persona storage 133 and retrieve persona data that meets a required format. At this time, in the test persona storage 133, for example, in the case of a card number, it may be composed of a combination of 16 numbers of the card number and 3 digits of cvv, but in order to fit the input format of various applications, each one-digit block, 4 It may be stored in various forms such as a digit block, a 2-digit block, a 5-digit block, and the like, and the intent/object matching unit 132 retrieves data in a form suitable for the application.
이하에서는 예시적인 테스트 시나리오 관리 방법을 설명하도록 한다.Hereinafter, an exemplary test scenario management method will be described.
도 14는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템에서 관리하고 있는 인텐트 기반의 테스트 시나리오를 그래프 구조로 도시한 예시이다. 14 is an example illustrating an intent-based test scenario managed by the user interface autonomous test system according to an embodiment of the present invention in a graph structure.
도 14를 참조하면, 최초 '홈(home)' 화면에서부터 결제 테스트가 완료되는 'review the order' 화면까지 다양한 경로가 있음을 파악할 수 있다. 예를 들어 신용카드로 결제하는 경우에 필요한 테스트 동작은 순차적으로 'View content' -> 'Place an order' -> 'Enter credit card' -> 'Place an Order'이다. 테스트 시나리오 다음 화면으로 전환되기 위해 필요한 인텐트의 연속으로 관리하여 어플리케이션에 독립된 범용의 테스트 시나리오를 정의할 수 있다. 범용 테스트 시나리오는 테스트 중에 실시간에 테스트 대상 화면의 인텐트를 인식하여 부합하는 테스트 시나리오가 결정되고 실행되므로 사람이 개입하여 각 어플리케이션 별로 테스트 시나리오를 작성하지 않아도 자동으로 테스트가 수행될 수 있다. Referring to FIG. 14 , it can be understood that there are various paths from the initial 'home' screen to the 'review the order' screen where the payment test is completed. For example, in case of payment by credit card, the necessary test actions are sequentially 'View content' -> 'Place an order' -> 'Enter credit card' -> 'Place an Order'. Test Scenario A general-purpose test scenario independent of an application can be defined by managing the sequence of intents required to switch to the next screen. In a general-purpose test scenario, a test scenario is determined and executed by recognizing the intent of the screen to be tested in real time during testing.
이하에서는 본 발명의 실시예에 따른 유저 인터페이스 시스템의 구현예를 설명하도록 한다.Hereinafter, an implementation example of a user interface system according to an embodiment of the present invention will be described.
도 15는 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 일 구현 예이다. 도 16은 본 발명의 실시예에 따른 유저 인터페이스 자율 테스트 시스템의 다른 구현 예이다.15 is an implementation example of a user interface autonomous test system according to an embodiment of the present invention. 16 is another implementation example of a user interface autonomous test system according to an embodiment of the present invention.
도 15에서 보듯이, 테스트 디바이스에 별도로 구비되어 결합된 디바이스의 형태로 유저 인터페이스 시스템(10)이 구비될 수 있다. 이 경우, 유저 인터페이스 시스템(10)은 CPU, GPU, 스토리지, 메모리의 구성을 포함할 수 있고, 테스트 디바이스와 연결되기 위한 I/O 디바이스 인터페이스를 포함할 수 있다.As shown in FIG. 15 , the user interface system 10 may be provided in the form of a separately provided and combined device in the test device. In this case, the user interface system 10 may include a configuration of CPU, GPU, storage, and memory, and may include an I/O device interface for connection with a test device.
여기서, 로직과 로직이 참고하는 모든 데이터는 스토리지에 저장되어 있을 수 있고, 다만 연산에 필요한 로직들은 다시 메모리에 올라갈 수 있다. 또한, 객체 검출이나, OCR, 개체 인식 등의 연산은 GPU에서 처리될 수 있으나, 경우에 따라 CPU에서 이를 포함한 대부분의 로직을 담당할 수 있다.Here, the logic and all data referenced by the logic may be stored in the storage, but the logic necessary for the operation may be loaded back into the memory. In addition, operations such as object detection, OCR, and object recognition may be processed by the GPU, but in some cases, the CPU may be responsible for most of the logic including this.
한편, 도 16에서 보듯이, 유저 인터페이스 자율 테스트 시스템은 클라우드 형태로 구현될 수도 있다.Meanwhile, as shown in FIG. 16 , the user interface autonomous test system may be implemented in the form of a cloud.
도 16에서 보듯이, 구성의 가장 하부에는 어플리케이션 설치할 테스트 디바이스가 존재하나, 실제 디바이스 대신 에뮬레이터(emulator)나 VM으로 대체하는 것도 가능하다. As shown in FIG. 16 , there is a test device to install an application at the bottom of the configuration, but it is possible to substitute an emulator or a VM instead of an actual device.
또한, 클라우드 형태의 구현에서는 디바이스 커넥터를 통해 디바이스에 직접연결되어 테스트를 수행하는 각 에이전트를 테스트봇(Testbot)이라고 부른다. 테스트봇은 어플리케이션을 설치하고 어플리케이션의 스크린 샷, 접근성 정보 등을 수집하여 AI 테스트봇 엔진(TestBot Engine)에게 보낸 후 AI 테스트봇 엔진이 결정한 다음 테스트 동작을 실행하는 역할을 할 수 있다. 또한, 테스트봇 컨트롤러는 사용자의 테스트 요청이 들어오면 테스트봇 컨트롤러가 테스트봇을 할당하고 테스트 수행을 모티터링할 수 있다.In addition, in the cloud-type implementation, each agent that is directly connected to the device through the device connector and performs a test is called a testbot. The testbot installs the application, collects the screen shot of the application, accessibility information, etc., sends it to the AI TestBot Engine, and then decides the AI TestBot Engine and then executes the test action. In addition, when a user's test request is received, the testbot controller can allocate a testbot and monitor the test execution.
또한, 클라우드 형태에서는 여러 사용자가 디바이스를 공유하므로 보통 동일한 기종이 여러 서버에 분산해서 배치되어 있고, 디바이스 팜 매니저(Device Farm Manager)는 사용자 요청이 왔을 때 해당 디바이스가 연결된 테스트봇 컨트롤러 중에서 가장 부하가 적은 것을 선택해서 테스트 작업을 할당할 수 있다. 이 때, 사용자는 자신이 사용하고 있는 디바이스가 실제로 어디에 연결되어 있는지는 관계없이 기종을 선택하고 테스트를 요청하면 된다.In addition, in the cloud form, multiple users share a device, so the same type is usually distributed and deployed on multiple servers. You can select fewer and assign test tasks to them. In this case, the user can select a model and request a test regardless of where the device he is using is actually connected.
한편, AI 테스트봇 엔진(AI TestBot Engine)은 각 테스트봇이 보내주는 어플리케이션의 스크린 샷 정보, 로그 정보들을 받아서 다음 테스트 동작을 결정하고 오류를 검출하는 모든 동작을 수행할 수 있다.On the other hand, the AI TestBot Engine can receive the screen shot information and log information of the application sent by each testbot, determine the next test action, and perform all actions to detect errors.
이상에서 설명한 것은 본 발명에 의한 유저 인터페이스 자율 테스트 시스템 및 방법을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.What has been described above is only one embodiment for implementing the user interface autonomous test system and method according to the present invention, and the present invention is not limited to the above embodiment, and as claimed in the claims below, the present invention Without departing from the gist of the present invention, it will be said that the technical spirit of the present invention exists to the extent that various modifications can be made by anyone with ordinary knowledge in the field to which the invention belongs.
본 발명은 웹 사이트 또는 어플리케이션에 대해 유저 인터페이스의 에러 여부를 사람의 개입 없이 자동으로 테스트할 수 있는 시스템 및 방법을 제공한다.The present invention provides a system and method capable of automatically testing a web site or an application for errors in a user interface without human intervention.

Claims (20)

  1. 어플리케이션 또는 웹 사이트의 유저 인터페이스에 대한 오류를 테스트하는 시스템에 있어서,In the system for testing errors on the user interface of the application or website,
    상기 어플리케이션 또는 웹 사이트의 화면에 대해 스크린샷을 획득하고, 스크린샷으로부터 UI 구성 및 텍스트 인식 정보를 토대로 레이아웃을 인식하고, 테스트 동작으로 전환하여 관리하는 테스트 동작 인식부; 및a test operation recognition unit that acquires a screenshot of the screen of the application or website, recognizes a layout based on UI configuration and text recognition information from the screenshot, and converts it into a test operation and manages; and
    상기 테스트 동작을 전달받고 상기 테스트 동작의 인텐트에 해당되는 테스트 시나리오를 선택하고, 상기 테스트 시나리오에 따라 테스트 동작을 수행하는 테스트 동작 생성부를 포함하고,and a test action generator configured to receive the test action, select a test scenario corresponding to an intent of the test action, and perform a test action according to the test scenario;
    상기 테스트 동작 인식부는 상기 테스트 시나리오에 따라 각 화면의 레이아웃별로 테스트 진행 여부를 관리하는 시스템.The test operation recognition unit manages whether or not a test is performed according to the layout of each screen according to the test scenario.
  2. 제 1 항에 있어서,The method of claim 1,
    상기 테스트 동작 인식부는 테스트 동작 관리자를 포함하고,The test action recognition unit includes a test action manager,
    상기 레이아웃은 어플리케이션 또는 웹 사이트의 화면들이 공유하는 공통부(Header, Footer)와 가변부(Body)로 그룹핑되며,The layout is grouped into a common part (Header, Footer) and a variable part (Body) shared by screens of an application or website,
    상기 테스트 동작 매니저는 상기 테스트 진행 여부를 테이블을 통해 관리하는 시스템.The test operation manager manages whether the test is in progress through a table.
  3. 제 2 항에 있어서,3. The method of claim 2,
    상기 테스트 동작 매니저는 상기 테이블에 해당 레이아웃을 테스트 동작으로 전환하여 함께 저장하는 시스템.The test operation manager converts a corresponding layout into a test operation in the table and stores it together.
  4. 제 1 항에 있어서,The method of claim 1,
    상기 테스트 동작 인식부는 The test motion recognition unit
    상기 UI 구성 및 텍스트 인식 정보와 운영체제가 제공하는 UI 계층정보를 조합하여 상기 레이아웃을 인식하는 시스템.A system for recognizing the layout by combining the UI configuration and text recognition information with UI layer information provided by an operating system.
  5. 제 1 항에 있어서,The method of claim 1,
    상기 테스트 동작 인식부는 머신 러닝을 통해 UI 요소 객체를 인식하는 모델 파라미터를 학습하여 저장하고 상기 파라미터에 기반하여 상기 UI 요소 객체를 검출하는 UI 요소 객체 검출부를 더 포함하는 시스템.The test operation recognition unit further comprises a UI element object detection unit for learning and storing a model parameter for recognizing a UI element object through machine learning, and detecting the UI element object based on the parameter.
  6. 제 1 항에 있어서,The method of claim 1,
    상기 테스트 동작 생성부는 The test operation generating unit
    상기 UI 구성 또는 텍스트 인식 정보를 통해 획득한 텍스트를 인텐트와 개체로 구분하여 저장하는 인텐트/개체 검출부를 더 포함하는 시스템.The system further comprising an intent/object detection unit for storing the text acquired through the UI configuration or text recognition information by dividing the text into intents and objects.
  7. 제 1 항에 있어서,The method of claim 1,
    상기 테스트 동작 생성부는The test operation generating unit
    사전에 설정된 가상 인물의 정보를 미리 저장하는 테스트 페르소나 저장소를 더 포함하는 시스템.The system further comprising a test persona repository for pre-stored information of the preset virtual person.
  8. 제 7 항에 있어서,8. The method of claim 7,
    상기 테스트 동작 생성부는The test operation generating unit
    상기 UI 구성 또는 텍스트 인식 정보를 통해 획득한 텍스트에 따라, 상기 테스트 페르소나 저장소로부터 부합하는 형태의 데이터가 설정된 가상 인물의 정보를 불러오는 인텐트/개체 매칭부를 더 포함하는 시스템.The system further comprising an intent/object matching unit for retrieving information of a virtual person in which data in a matching format is set from the test persona storage according to the text acquired through the UI configuration or text recognition information.
  9. 제 7 항에 있어서,8. The method of claim 7,
    상기 테스트 페르소나 저장소는The test persona repository is
    실제 테스트에 사용 가능한 이메일, 휴대전화 번호 및 신용카드 정보를 갖는 적어도 하나의 가상 인물을 저장하는 시스템.A system for storing at least one virtual person with email, mobile phone number and credit card information usable for real-world testing.
  10. 제 1 항에 있어서,The method of claim 1,
    상기 유저 인터페이스 테스트 동작의 결과를 테스트 페르소나 계정 정보를 이용하여 외부 서비스에 접속하여 검증하고 오류를 탐지하는 시스템.A system for verifying the result of the user interface test operation by accessing an external service using the test persona account information and detecting an error.
  11. 어플리케이션 또는 웹 사이트의 유저 인터페이스에 대한 오류를 테스트하는 방법에 있어서,A method of testing an error for a user interface of an application or website, the method comprising:
    테스트 동작 생성부가 상기 어플리케이션 또는 웹 사이트에 대해 테스트 시나리오를 불러오는 단계;calling a test scenario for the application or web site by the test operation generating unit;
    테스트 동작 인식부가 상기 어플리케이션 또는 웹 사이트의 스크린샷을 통해 레이아웃을 인식하는 단계;recognizing a layout through a screen shot of the application or website by a test motion recognition unit;
    상기 테스트 동작 생성부가 상기 테스트 시나리오 및 레이아웃에 따라 상기 테스트 동작을 선택하는 단계;selecting, by the test operation generation unit, the test operation according to the test scenario and layout;
    상기 테스트 동작 생성부가 테스트 데이터를 생성하는 단계; 및generating test data by the test operation generating unit; and
    상기 테스트 동작 생성부가 상기 어플리케이션 또는 웹 사이트의 화면에 대해 테스트 동작을 수행하는 단계를 포함하는 방법.and performing, by the test operation generating unit, a test operation on the screen of the application or website.
  12. 제 11 항에 있어서,12. The method of claim 11,
    상기 테스트 동작 인식부는 테스트 동작 매니저를 포함하고,The test action recognition unit includes a test action manager,
    상기 레이아웃은 공통부(Header, Footer), 가변부(Body)로 그룹핑되며,The layout is grouped into a common part (Header, Footer) and a variable part (Body),
    상기 테스트 동작 매니저는 상기 테스트 진행 여부를 테이블을 통해 관리하는 방법.The test operation manager manages whether the test is in progress through a table.
  13. 제 12 항에 있어서,13. The method of claim 12,
    상기 테스트 동작 매니저는 상기 테이블에 해당 레이아웃과 테스트 동작, 인텐트를 함께 저장하고 이 추상화된 테스트 동작 정보를 기반으로 화면의 디자인이나 값에 변경이 있을 때도 중복 테스트를 방지하는 방법.The test action manager stores the corresponding layout, test action, and intent together in the table, and prevents duplicate testing even when there is a change in the design or value of the screen based on this abstract test action information.
  14. 제 11 항에 있어서,12. The method of claim 11,
    상기 테스트 동작 인식부는 The test motion recognition unit
    상기 UI 요소 객체 및 텍스트 인식 정보와 운영체제가 제공하는 UI 계층정보를 조합하여 상기 레이아웃 및 테스트 동작을 인식하는 방법.A method of recognizing the layout and test operation by combining the UI element object and text recognition information with UI layer information provided by an operating system.
  15. 제 11 항에 있어서,12. The method of claim 11,
    상기 테스트 동작 인식부는The test motion recognition unit
    머신 러닝을 통해 UI 요소 객체를 인식하는 모델 파라미터를 학습하여 저장하고 상기 파라미터에 기반하여 상기 UI 요소 객체를 검출하는 UI 요소 객체 검출부를 더 포함하는 시스템.The system further comprising a UI element object detection unit for learning and storing a model parameter for recognizing a UI element object through machine learning, and detecting the UI element object based on the parameter.
  16. 제 11 항에 있어서,12. The method of claim 11,
    상기 테스트 동작 생성부는 The test operation generating unit
    상기 UI 구성 또는 텍스트 인식 정보를 통해 획득한 텍스트를 인텐트와 개체로 구분하여 저장하는 인텐트/개체 검출부를 더 포함하는 방법.The method further comprising an intent/object detection unit for storing the text acquired through the UI configuration or text recognition information by dividing the text into an intent and an object.
  17. 제 11 항에 있어서,12. The method of claim 11,
    상기 테스트 동작 생성부는The test operation generating unit
    사전에 설정된 가상 인물의 정보를 미리 저장하는 테스트 페르소나 저장소를 더 포함하는 방법.A method further comprising a test persona repository for pre-storing information of a preset virtual person.
  18. 제 17 항에 있어서,18. The method of claim 17,
    상기 테스트 동작 생성부는The test operation generating unit
    상기 UI 구성 또는 텍스트 인식 정보를 통해 획득한 텍스트에 따라, 상기 테스트 페르소나 저장소로부터 부합하는 형태의 데이터가 설정된 가상 인물의 정보를 불러오는 인텐트/개체 매칭부를 더 포함하는 방법.The method further comprising an intent/object matching unit for retrieving information of a virtual person in which data in a matching form is set from the test persona storage according to the text acquired through the UI configuration or text recognition information.
  19. 제 17 항에 있어서,18. The method of claim 17,
    상기 테스트 페르소나 저장소는The test persona repository is
    실제 테스트에 사용 가능한 이메일, 휴대전화 번호 및 신용카드 정보를 갖는 적어도 하나의 가상 인물을 저장하는 방법.A method of storing at least one fictitious person with email, mobile phone number and credit card information usable for real-world testing.
  20. 제 11 항에 있어서,12. The method of claim 11,
    상기 유저 인터페이스 테스트 동작의 결과를 테스트 페르소나 계정 정보를 이용하여 외부 서비스에 접속하여 검증하고 오류를 탐지하는 방법.A method of verifying a result of the user interface test operation by accessing an external service using test persona account information and detecting an error.
PCT/KR2020/019220 2020-12-28 2020-12-28 User interface autonomous test system and method WO2022145499A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2020/019220 WO2022145499A1 (en) 2020-12-28 2020-12-28 User interface autonomous test system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2020/019220 WO2022145499A1 (en) 2020-12-28 2020-12-28 User interface autonomous test system and method

Publications (1)

Publication Number Publication Date
WO2022145499A1 true WO2022145499A1 (en) 2022-07-07

Family

ID=82260828

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2020/019220 WO2022145499A1 (en) 2020-12-28 2020-12-28 User interface autonomous test system and method

Country Status (1)

Country Link
WO (1) WO2022145499A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011164785A (en) * 2010-02-05 2011-08-25 Nomura Research Institute Ltd Device, method and program for verifying operation
US20150081598A1 (en) * 2013-09-17 2015-03-19 Xamarin Inc. Generating application models based on discovery based machine learning
KR20150051790A (en) * 2013-11-05 2015-05-13 경북대학교 산학협력단 Test scenario generating device and application testing system comprising the same, and test scenario generating method
KR20150069455A (en) * 2013-12-13 2015-06-23 경북대학교 산학협력단 Test scenario generating device, allication testing system comprising the same, test scenario generating method, and recordable meduim thereof
CN110837460A (en) * 2018-08-16 2020-02-25 阿里巴巴集团控股有限公司 Page evaluation method, model construction method and equipment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011164785A (en) * 2010-02-05 2011-08-25 Nomura Research Institute Ltd Device, method and program for verifying operation
US20150081598A1 (en) * 2013-09-17 2015-03-19 Xamarin Inc. Generating application models based on discovery based machine learning
KR20150051790A (en) * 2013-11-05 2015-05-13 경북대학교 산학협력단 Test scenario generating device and application testing system comprising the same, and test scenario generating method
KR20150069455A (en) * 2013-12-13 2015-06-23 경북대학교 산학협력단 Test scenario generating device, allication testing system comprising the same, test scenario generating method, and recordable meduim thereof
CN110837460A (en) * 2018-08-16 2020-02-25 阿里巴巴集团控股有限公司 Page evaluation method, model construction method and equipment

Similar Documents

Publication Publication Date Title
KR102343477B1 (en) System And Method For User Interface Autonomous Testing
CN107861870B (en) Interface test and test data generation method, device, terminal and storage medium
US10237295B2 (en) Automated event ID field analysis on heterogeneous logs
US9594797B2 (en) Data quality assessment
Barbour et al. An empirical study of faults in late propagation clone genealogies
US8719784B2 (en) Assigning runtime artifacts to software components
CN111722839A (en) Code generation method and device, electronic equipment and storage medium
CN108845940A (en) A kind of enterprise information system automated function test method and system
US11720825B2 (en) Framework for multi-tenant data science experiments at-scale
US20180267888A1 (en) Automatic regression identification
CN111881042A (en) Automatic test script generation method and device and electronic equipment
CN112650670A (en) Application testing method, device, system, electronic equipment and storage medium
WO2023272862A1 (en) Risk control recognition method and apparatus based on network behavior data, and electronic device and medium
WO2023151397A1 (en) Application program deployment method and apparatus, device, and medium
WO2022145499A1 (en) User interface autonomous test system and method
CN112650673A (en) Method and device for creating test case in transaction tracking system and electronic equipment
CN107678975A (en) A kind of software fault detection method and device
WO2022140650A2 (en) Systems and methods for building and deploying machine learning applications
CN112948264A (en) Test task execution method, device, system, storage medium and electronic device
KR20230086790A (en) Provides application error data for use in third-party library development systems
CN114115885A (en) Content verification method, device and storage medium
CN111767218A (en) Automatic testing method, equipment and storage medium for continuous integration
CN114981775B (en) Cloud-based API metadata management method and system for integrated API management
CN109814911A (en) Method, apparatus, computer equipment and storage medium for Manage Scripts program
CN116594914B (en) Method, device, equipment and storage medium for generating test data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20968050

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20968050

Country of ref document: EP

Kind code of ref document: A1