KR20100056338A - Gui test automatic system for improving reusability of test script and method thereof - Google Patents
Gui test automatic system for improving reusability of test script and method thereof Download PDFInfo
- Publication number
- KR20100056338A KR20100056338A KR1020090012572A KR20090012572A KR20100056338A KR 20100056338 A KR20100056338 A KR 20100056338A KR 1020090012572 A KR1020090012572 A KR 1020090012572A KR 20090012572 A KR20090012572 A KR 20090012572A KR 20100056338 A KR20100056338 A KR 20100056338A
- Authority
- KR
- South Korea
- Prior art keywords
- test
- information
- database
- script
- gui
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
본 발명에 따른 실시예는 테스트 자동화 시스템에 관한 것으로서, 보다 구체적으로 키보드와 같은 외부 입력을 받아들이는 인터페이스와 상태를 표시하는 그래픽 사용자 인터페이스(GUI)를 구비한 단말기들을 테스트하기 위한 스크립트를 작성할 경우에 이를 보다 용이하게 수정할 수 있게 하는 GUI 자동화 테스트 시스템 및 그 방법에 관한 것이다. An embodiment according to the present invention relates to a test automation system, and more particularly, when writing a script for testing terminals having an interface for accepting external input such as a keyboard and a graphical user interface (GUI) displaying a status. The present invention relates to a GUI automated test system and a method for making the modification easier.
최근 각종 유무선 멀티미디어 기기들(예컨대, 휴대폰, PMP, 디지털 TV, 네이게이션 등)은 보다 다양한 기능을 추구할 수 있는 방향으로 진화하고 있기 때문에 기기들에 포함된 기능 또한 복잡하고 다양하게 구비되고 있다. 또한, 멀티미디어 기기의 보급 확대로 인해 멀티미디어 기기의 기능 또한 방대해지고 있으며 제품 개발 주기도 급속하게 빨라지고 있다.Recently, various wired / wireless multimedia devices (eg, mobile phones, PMPs, digital TVs, navigation, etc.) have evolved in the direction of pursuing more various functions, and thus the functions included in the devices are also complicated and diverse. In addition, due to the expansion of multimedia devices, the functions of multimedia devices are also enormous, and the product development cycle is rapidly speeding up.
이러한 멀티미디어 기기를 출시하기 이전에 제품의 각 기능들이 제대로 동작하는지 등에 대한 테스트 과정을 출시 이전에 여러 차례 거치는 것이 일반적인 업무이다. 하지만, 이러한 기기들의 기능이 많아질수록 수작업을 통해 화면을 테스트 하게 되면 테스트에 드는 비용과 시간이 기하급수적으로 증가하는 문제점이 발생하게 된다.Before launching such a multimedia device, it is common to conduct a test process several times before the release of each product's functions. However, as more of these devices become more functional, testing the screen by hand causes the problem of exponentially increasing the cost and time required for the test.
이러한 문제점을 극복하기 위하여 업계에서는 테스트 자동화 시스템을 도입하고 있다. 이러한 시스템은 테스트가 제품의 상태를 변화하기 위한 입력과 그 결과인 상태를 여러 가지 판단 기준을 통해서 가부를 판단한다는 점에 착안하여, 수행 절차 및 판단을 소프트웨어와 하드웨어로 구성된 테스트 자동화 솔루션이 대신 해주는 것이다. 이렇게 함으로써 반복적인 테스트 작업을 보다 효율적으로 진행할 수 있다.To overcome this problem, the industry is introducing test automation systems. This system focuses on the fact that the test determines whether the input to change the state of the product and the resultant state through various criteria, and the test automation solution composed of software and hardware replaces the performance procedure and judgment. will be. This can make repetitive test work more efficient.
이러한 테스트 자동화 시스템은 소프트웨어 작성 언어와 유사한 형식의 언어로 테스트 수행 절차와 판단 기준을 기술한 스크립트를 이용하여 테스트를 수행하게 되는데, 상기 스크립트를 작성하는데에는 수작업으로 테스트를 수행하는 것만큼이나 많은 인력과 시간을 필요로 한다. 도 1은 GUI 테스트에 사용되는 스크립트의 일 예를 예시한 것인데, 단말기가 많은 화면을 포함하는 경우에는 단말기의 화면들을 테스트하기 위한 스크립트의 양도 방대해질 수 있다.Such a test automation system performs a test using a script that describes a test execution procedure and a criterion in a language similar to a software writing language. It takes time. 1 illustrates an example of a script used for a GUI test. When the terminal includes a large number of screens, the amount of script for testing the screens of the terminal may be extensive.
테스트 자동화를 좀더 많이 보급시키기 위해서는 많은 리소스를 투입하여 작성한 테스트 스크립트를 보다 많은 제품의 테스트에 사용할 수 있어야 한다. 제품의 모델이나 버전의 일부가 변경되는 경우에는, GUI의 크기나 배치, 색깔 등의 일부가 바뀌는 것이 일반적이다. 그러나 테스트 스크립트에 화면 정보나 영역 정보를 직접적으로 기술하게 되면 이러한 작은 변경에도 불구하고 스크립트를 전면적으로 재작성해야 하는 불편함이 있다. 즉, 변경되는 정보가 스크립트 상에 직접 입력되 어 있기 때문에 이를 수정하기 위해서는 스크립트에 해당 정보를 직접 변경시켜주어야 하고, 이는 결국 스크립트를 새로이 작성하는 것과 동일한 비용과 시간이 소비된다.To make test automation more prevalent, test scripts written with lots of resources should be available for testing more products. When part of the model or version of the product is changed, it is common to change part of the size, layout, color, etc. of the GUI. However, if screen information or area information is directly described in a test script, it is inconvenient to completely rewrite the script despite these small changes. That is, since the information to be changed is entered directly on the script, to modify it, the information must be changed directly on the script, which is the same cost and time as writing a new script.
따라서, 본 발명은 상기의 문제점을 해결하고자 안출된 것으로서, 본 발명에 따른 실시예의 목적은 화면 구성 요소의 일부분만이 변경되는 경우에 테스트 스크립트를 용이하게 수정할 수 있도록 하는 GUI 테스트 자동화 시스템 및 그 방법을 제공하는 것이다.Accordingly, the present invention has been made to solve the above problems, and an object of the embodiment according to the present invention is a GUI test automation system and method for easily modifying a test script when only a part of a screen component is changed. To provide.
또한, 본 발명에 따른 실시예의 목적은 화면 구성 요소의 일부분만이 변경되는 경우에 종래의 테스트 스크립트를 기초로 하는 데이터베이스를 수정함으로써 데트스 스크립트의 재활용도를 증가시킬 수 있다.In addition, an object of the embodiment according to the present invention can increase the reuse of the death script by modifying a database based on a conventional test script when only a part of the screen element is changed.
상기의 기술적 과제를 해결하기 위한 GUI 테스트 자동화 시스템은, 동적 데이터 및 정적 데이터를 포함하는 GUI 테스트용 스크립트를 생성하기 위한 스크립트 생성 장치; 상기 스크립트 생성 장치에서 생성된 상기 GUI 테스트용 스크립트에 기초하여 단말기의 GUI 테스트를 수행하기 위한 테스트 장치를 포함하고, 상기 GUI 테스트용 스크립트에 포함된 상기 정적 데이터는 논리적으로 표준화된 ID 정보를 포함할 수 있다.GUI test automation system for solving the above technical problem, the script generation device for generating a script for the GUI test including dynamic data and static data; And a test device for performing a GUI test of the terminal based on the GUI test script generated by the script generation device, wherein the static data included in the GUI test script includes logically standardized ID information. Can be.
상기 GUI 테스트 자동화 시스템은, 상기 논리적으로 표준화된 ID 정보에 대응하는 실제 정보가 포함된 데이터 베이스를 더 포함하고, 상기 실제 정보는 이미지 정보, 문자열 정보, 및 영역 정보 중에서 적어도 하나를 포함할 수 있다.The GUI test automation system may further include a database including real information corresponding to the logically standardized ID information, and the real information may include at least one of image information, character string information, and area information. .
상기 논리적으로 표준화된 ID 정보는 상기 데이터베이스에 저장된 상기 실 제 정보와 링크될 수 있다. The logically standardized ID information may be linked with the real information stored in the database.
상기 GUI 테스트 자동화 시스템은, 상기 데이터 베이스를 업데이트하기 위한 업데이트부; 및 상기 업데이트부의 활성화 여부를 제어하기 위한 모드 설정부를 더 포함할 수 있다.The GUI test automation system includes: an update unit for updating the database; And a mode setting unit for controlling whether the update unit is activated.
상기 모드 설정부에 의해 상기 업데이트부가 활성화될 때, 상기 테스트 장치의 테스트 결과에 기초하여 상기 데이터 베이스에 저장된 상기 실제 정보를 업데이트할 수 있다.When the update unit is activated by the mode setting unit, the actual information stored in the database may be updated based on a test result of the test apparatus.
상기의 기술적 과제를 해결하기 위한 GUI 테스트 자동화 방법은, GUI 테스트용 스크립트에 포함된 정적 데이터를 논리적으로 표준화된 ID 정보로서 구현하는 단계; 상기 논리적으로 표준화된 ID 정보에 대응하는 실제 정보를 데이터 베이스에 저장하는 단계; 상기 GUI 테스트용 스크립트에 기초하여 단말기의 화면을 테스트하는 단계; 및 테스트 결과에 기초하여 상기 데이터 베이스를 업데이트하는 단계를 포함할 수 있다. GUI test automation method for solving the above technical problem, the step of implementing the static data included in the GUI test script as logically standardized ID information; Storing actual information corresponding to the logically standardized ID information in a database; Testing a screen of the terminal based on the GUI test script; And updating the database based on a test result.
상기 GUI 자동화 테스트 방법은, 상기 데이터 베이스의 업데이트 활성화 여부에 대한 동작 모드를 판단할 수 있다.The GUI automation test method may determine an operation mode of whether to activate the update of the database.
상기 데이터 베이스를 업데이트하는 단계는, 상기 단말기에 포함된 각 화면의 데이터와 상기 데이터 베이스에 저장된 실제 정보가 일치하는지를 판단하는 단계; 및 판단 결과 일치하지 아니한 데이터가 발생하면, 상기 데이터 베이스에서 상기 일치하지 아니한 데이터에 상응하는 상기 실제 정보를 업데이트하는 단계를 포함할 수 있다.The updating of the database may include determining whether data of each screen included in the terminal and actual information stored in the database match; And when the mismatched data is generated as a result of the determination, updating the actual information corresponding to the mismatched data in the database.
논리적으로 표준화된 ID 정보와 상기 데이터베이스에 저장된 상기 실제 정보를 링크시키는 단계를 더 포함할 수 있다.Linking the logically standardized ID information with the actual information stored in the database.
본 발명의 실시예에 따른 GUI 테스트 자동화 시스템 및 그 방법은, 테스트 대상 단말기의 모델 변경에 따른 스크립트 수정에 필요한 시간과 비용을 효율적으로 감소시킬 수 있다.GUI test automation system and method according to an embodiment of the present invention, it is possible to efficiently reduce the time and cost required to modify the script according to the model change of the test target terminal.
또한, 본 발명의 실시예에 따른 GUI 테스트 자동화 시스템 및 그 방법은, 스크립트에서의 정적 데이터에 대응하는 실제 정보를 분리하여 저장함으로써, 스크립트의 작성 또는 유지의 효율성을 극대화할 수 있다.In addition, the GUI test automation system and method according to an embodiment of the present invention can maximize the efficiency of script creation or maintenance by separating and storing the actual information corresponding to the static data in the script.
특정한 구조적 내지 기능적 설명들은 단지 본 발명의 개념에 따른 실시 예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 개념에 따른 실시 예들은 다양한 형태로 실시될 수 있으며 본 명세서 또는 출원에 설명된 실시 예들에 한정되는 것으로 해석되어서는 아니된다.Specific structural to functional descriptions are merely illustrated for the purpose of describing embodiments in accordance with the concepts of the present invention, and embodiments according to the concepts of the present invention may be embodied in various forms and described in the specification or the application. It should not be construed as limited to
본 발명의 개념에 따른 실시 예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시 예들을 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Embodiments in accordance with the concepts of the present invention can make various changes and have various forms, so that specific embodiments are illustrated in the drawings and described in detail in this specification or application. It should be understood, however, that it is not intended to limit the embodiments according to the concepts of the present invention to specific forms of disclosure, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the present invention.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first and / or second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another, for example, without departing from the scope of rights in accordance with the inventive concept, and the first component may be called a second component and similarly The second component may also be referred to as the first component.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between. Other expressions describing the relationship between components, such as "between" and "immediately between," or "neighboring to," and "directly neighboring to" should be interpreted as well.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. As used herein, the terms "comprise" or "having" are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof that is described, and that one or more other features or numbers are present. It should be understood that it does not exclude in advance the possibility of the presence or addition of steps, actions, components, parts or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and are not construed in ideal or excessively formal meanings unless expressly defined herein. Do not.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 2는 본 발명의 실시예에 따른 GUI 테스트 자동화 시스템(menu test automatic system, 1)의 개략적인 블록도이다.2 is a schematic block diagram of a menu test
본 발명의 실시예에 따른 GUI 테스트 자동화 시스템(1)은, 스크립트 생성 장치(10), 테스트 장치(20)를 포함할 수 있다.The GUI
상기 스크립트 생성 장치(script generating device, 10)는 단말기의 GUI 테스트를 수행하기 위한 스크립트를 생성할 수 있다. 본 발명의 실시예에 따른 스크립트는, 컴퓨터 프로세서가 아닌 다른 프로그램에 의해 번역되거나 수행될 수 있는 프로그램 또는 명령어들의 나열을 포함할 수 있다. 일반적으로 상기 스크립트는 컴파일이 필요한 C 또는 C++과 같은 언어들에 비해 이해하기 쉬우며 빠른 속도로 작성할 수가 있어서 매우 제한된 능력을 갖는 프로그램이나 컴파일된 기존의 프로그램과 연결하여 재사용할 수 있는 프로그램을 만드는데 적당할 수 있다. The
또한, 본 발명의 실시예에 따른 단말기는 다수의 화면들을 구비한 임의의 장 치들을 모두 포함할 수 있으며, 예컨대 휴대폰(cellular phone), 휴대용 멀티미디어 플레이어(PMP; portable multimedia player), 디지털 오디오 플레이어(digital audio player), 디지털 텔레비전(digital television), 영상 촬영 장치(예컨대, 디지털 카메라 등) 등을 예시할 수 있다.In addition, the terminal according to the embodiment of the present invention may include any device having a plurality of screens, for example, a cellular phone, a portable multimedia player (PMP), a digital audio player ( A digital audio player, a digital television, an image photographing apparatus (for example, a digital camera, etc.) can be illustrated.
상기 스크립트는, 상기 단말기에 포함된 각 화면 간의 이동 정보를 포함하는 동적 데이터(dynamic data)와 상기 단말기에 포함된 각 화면의 정보를 포함하는 정적 데이터(static data)를 포함할 수 있다. 예컨대, 상기 동적 데이터는 현재의 화면으로부터 상위 화면 또는 하위 화면 등으로 이동하기 위해서 어떠한 키(또는 버튼)를 수행해야하는지에 대한 정보가 포함될 수 있다. 또한, 상기 정적 데이터는 각 화면의 이미지 정보, 영역 정보, 문자열 정보, 사운드 정보 등이 포함될 수 있다. 상기 스크립트는 도 3a 및 도 3b에서 예시하기로 한다.The script may include dynamic data including movement information between each screen included in the terminal and static data including information of each screen included in the terminal. For example, the dynamic data may include information about which key (or button) to perform in order to move from the current screen to the upper screen or the lower screen. In addition, the static data may include image information, area information, character string information, sound information, etc. of each screen. The script will be illustrated in FIGS. 3A and 3B.
또한, 본 발명의 실시예에 따른 GUI 테스트 자동화 시스템(1)은 데이터 베이스(database, 30)를 더 포함할 수 있다. 이때, 상기 스크립트에 포함된 정적 데이터는 논리적으로 표준화된 ID 정보로서 구현될 수 있으며, 상기 논리적으로 표준화된 ID 정보에 대응하는 실제 정보는 상기 데이터베이스(30)에 저장될 수 있다. 상기 데이터베이스(30)에 저장된 상기 실제 정보는, 이미지 정보(image information), 문자열 정보(string information), 영역 정보(area information), 또는 사운드 정보(sound information) 등을 포함할 수 있다. 또한, 상기 논리적으로 표준화된 상기 ID 정보와 상기 데이터베이스(30)에 저장된 상기 실제 정보는 서로 링크될 수 있다. 상기 예시한 ID 정보 및 실제 정보에 대해서는 도 3b 내지 도 3d에서 상술하기로 한다.In addition, the GUI
또한, 테스트 장치(test device, 20)는 상기 스크립트 생성 장치(10)에서 생성된 스크립트에 기초하여 상기 단말기의 화면 테스트를 수행할 수 있다. In addition, the
실시예에 따라, 상기 테스트 과정은 각 화면에 상응하는 인증 화면과 실제 디스플레이되는 화면이 일치하는지 여부를 확인하는 단계를 포함할 수 있으며, 확인 결과 일치하는 것으로 판명되는 경우에 해당 화면의 테스트가 합격(또는 패스)으로 처리될 수 있다. 유사하게, 확인 결과 각 화면에 상응하는 인증 화면과 실제로 디스플레이되는 화면이 일치하지 않는 경우에는 해당 화면의 테스트가 불합격(또는 패일)으로 처리될 수 있다. According to an embodiment, the test process may include checking whether an authentication screen corresponding to each screen and an actual displayed screen match each other, and if the verification result matches, the test of the screen passes. (Or pass). Similarly, if the verification screen corresponding to each screen and the screen actually displayed do not match, the test of the screen may be treated as fail (or fail).
실시예에 따라, 상기 테스트 과정은 소정의 텍스트가 지정 위치에서 정확하게 디스플레이되는지를 확인하는 단계, 각 영역에 지정된 컬러가 일치하는지를 확인하는 단계, 해당 화면에 삽입된 사운드가 올바르게 출력되는지를 확인하는 단계 등을 더 포함할 수 있다.According to an embodiment, the test process may include checking whether predetermined text is displayed at a specific location, checking whether colors specified in each area match, and checking whether sound inserted in a corresponding screen is output correctly. And the like may be further included.
도 3a 및 도 3b는 각각 종래의 GUI 테스트용 스크립트와 본 발명의 실시예에 따른 GUI 테스트용 스크립트를 예시한 것이다. 3A and 3B illustrate a conventional GUI test script and a GUI test script according to an embodiment of the present invention, respectively.
도 1 내지 도 3a, 및 도 3b를 참조하면, 종래의 GUI 테스트용 스크립트는 인증 화면과 실제 화면을 비교하기 위한 정보로서 실제의 영역 정보와 실제 데이터를 직접 스크립트 상에 기술하였다. 즉, 특정 화면에서 디스플레이되는 화면의 특정 위치(예컨대, '좌0 우10 상20 하10')에 특정 이미지(예컨대, "Menu.bmp")가 제대로 디스플레이되는지를 확인하기 위해 실제의 영역 정보와 실제의 이미지 정보가 상기 스크립트에 직접 기술된다.1 to 3A and 3B, the conventional GUI test script has described real area information and real data directly on the script as information for comparing the authentication screen with the real screen. That is, in order to check whether a specific image (eg, "Menu.bmp") is correctly displayed at a specific position (for example, left 0, right 10, top 20, bottom 10) of the screen displayed on a specific screen, Actual image information is described directly in the script.
하지만, 도 3b에 도시된 바와 같이, 본 발명의 실시예에 따른 GUI 테스트용 스크립트는 상기 정적 데이터로서 논리적으로 표준화된 ID 정보를 포함할 수 있다. 예컨대, 특정 이미지의 영역 정보로서 논리적으로 표준화된 ID 정보를 포함할 수 있으며, 특정 이미지(또는 문자열)로서도 상기 ID 정보를 포함할 수 있다. However, as shown in FIG. 3B, the GUI test script according to the embodiment of the present invention may include ID information logically standardized as the static data. For example, it may include ID information logically normalized as area information of a specific image, and may also include the ID information as a specific image (or a character string).
즉, 테스트를 수행하기 위한 이미지의 영역이 AREA_L, AREA_R, AREA_T, 및 AREA_B 등의 ID 정보로 표시되고, 이미지 부분도 실제의 이미지 데이터가 아닌 ID 정보로 표시될 수 있다. 상기 논리적으로 표준화된 ID 정보는 상기 데이터 베이스(30)에 저장된 실제 정보와 링크될 수 있으며, 따라서 필요시에 상기 데이터 베이스(30)에 저장된 실제 정보를 수정함으로써 스크립트의 수정 또는 업데이트를 보하 효율적으로 수행할 수 있다. That is, the area of the image for performing the test may be displayed as ID information such as AREA_L, AREA_R, AREA_T, and AREA_B, and the image portion may be displayed as ID information instead of actual image data. The logically standardized ID information can be linked with the actual information stored in the
도 3c 및 도 3d는 본 발명의 실시예에 따른 데이터 베이스(30)에 저장된 실제 정보를 예시적으로 나타낸 것이다. 상기한 바와 같이, 상기 데이터 베이스(30)에 저장된 실제 데이터 정보는 스크립트에 기재된 ID 정보와 링크될 수 있으며, 상기 데이터 베이스(30)는 임의의 소프트웨어에서 구현될 수 있다.3C and 3D exemplarily illustrate actual information stored in the
예컨대, 도 3c에 도시된 바와 같이, 본 발명의 실시예에 따른 데이터 베이스(30)에는 메뉴(ID_Menu)의 이미지의 영역(AREA_L 내지 AREA_B)에 상응하는 실제 정보가 기록될 수 있다. 따라서, 상기 데이터 베이스(30)에 저장된 실제 정보 데이터를 일부 수정함으로써 스크립트에 기재된 ID 정보를 수정하는 것과 같은 효과를 얻을 수 있으며, 이는 스크립트 자체를 모두 수정해야하는 불편함을 해소하여 주기 때문에 시간적 또는 비용적으로 상당히 효율적이다.For example, as shown in FIG. 3C, actual information corresponding to the areas AREA_L to AREA_B of the image of the menu ID_Menu may be recorded in the
예컨대, 단말기의 버전이 변경되어 "메뉴(ID_Menu)" 이미지가 화면에서 약간 이동하는 경우, 설계자 또는 테스트 수행자는 상기 데이터 베이스(30)에 접근하여 해당 영역 정보만을 수정함으로써 스크립트 전체에서 메뉴 부분을 수정하는 것과 같은 효과를 얻을 수 있다. For example, if the version of the terminal is changed so that the "ID (Menu)" image is slightly moved on the screen, the designer or test performer accesses the
또한, 도 3d에 도시된 바와 같이, 상기 데이터 베이스(30)에는 메뉴(ID_Menu)의 이미지에 상응하는 실제 정보가 기록될 수 있다. 따라서, 특정 이미지를 변경하고자 하는 경우에 상기 데이터 베이스(30)에 접근하여 해당하는 이미지 파일만을 변경함으로써, 스크립트에 기재된 모든 이미지 정보를 수정하는 것과 동일한 효과를 얻을 수 있다. In addition, as shown in FIG. 3D, actual information corresponding to the image of the menu ID_Menu may be recorded in the
상기한 바와 같이, 단말기에 구비된 다양한 화면들에서 일부의 변경이 가해지는 경우에 정적 데이터를 기반으로 하는 ID 정보와 실제 정보를 분리하여 저장함으로써, 설계자 또는 테스트 수행자가 용이하고 신속하게 스크립트를 수정할 수 있도록 한다. As described above, when some changes are made in various screens provided in the terminal, ID information based on static data and actual information are separated and stored so that a designer or a tester can easily and quickly modify a script. To help.
실시예에 따라, 테스트 수행 과정을 통해서 자동으로 상기 데이터 베이스(30)에 저장된 실제 정보를 업데이트할 수도 있다. 예컨대, 테스트를 수행하면서 특정 화면에서의 테스트가 불합격(또는 패일)으로 판정되는 경우에 단말기의 환경에 맞추어 상기 데이터 베이스(30)를 업데이트하도록 본 발명의 실시예에 따른 GUI 테스트 자동화 시스템(1)이 구현될 수 있다.According to an exemplary embodiment, actual information stored in the
이를 위해, 본 발명의 실시예에 따른 GUI 테스트 자동화 시스템(1)은 상기 데이터 베이스를 업데이트하기 위한 업데이트부(40), 및 상기 업데이트부(40)의 활성화 여부를 제어하기 위한 모드 설정부(50)를 더 포함할 수 있다.To this end, the GUI
상기 모드 설정부(50)는, 상기 데이터 베이스(30)의 정보를 기반으로 하여 테스트를 진행하되 불일치 판단시 테스트 결과만을 출력할 뿐 상기 데이터 베이스(30)를 수정하지 않도록 하는 모드(예컨대, 제1 모드) 및 상기 데이터 베이스(30)의 정보를 기반으로 하여 테스트를 진행하되 불일치 판단시 상기 데이터 베이스(30)를 업데이트하도록 상기 업데이트부(40)를 활성화하는 모드(예컨대, 제2 모드) 중에서 어느 하나의 모드로 동작하도록 제어할 수 있다. The
도 4는 모드 설정부(50)에서 제어할 수 있는 두 가지 모드에 대한 개념을 설명하기 위한 개략도이다. 4 is a schematic diagram illustrating a concept of two modes that can be controlled by the
도 1 내지 도 4를 참조하면, 상기 모드 설정부(50)는 상기 업데이트부(40)의 활성화 여부를 제어할 수 있다. 예컨대, 상기 업데이트부(40)를 활성화하고자 하는 경우에 상기 모드 설정부(50)는 활성화 제어 신호(EN)를 출력할 수 있고 상기 업데이트부(40)는 상기 모드 설정부(50)에서 출력된 상기 활성화 제어 신호(EN)에 응답하여 활성화될 수 있다. 1 to 4, the
유사하게, 상기 업데이트부(40)를 비활성화하고자 하는 경우에 상기 모드 설정부(50)는 비활성화 제어 신호(DISEN)를 출력할 수 있고 상기 업데이트부(40)는 상기 모드 설정부(50)에서 출력된 상기 비활성화 제어 신호(EN)에 응답하여 비활성화될 수 있다. Similarly, when the user wants to deactivate the
상기 테스트 장치(20)가 상기 제2 모드로 동작하는 경우에 상기 테스트 결과 가 불일치하는 것으로 판명되면 상기 데이터 베이스(30)를 업데이트할 수 있기 때문에 동적 정보와 정적 정보가 상호 데이터 전송 관계를 갖는 것으로 예시하였지만, 상기 테스트 장치(20)가 상기 제1 모드로 동작하는 경우 상기 테스트 장치(20)는 상기 데이터 베이스(30)에 저장된 데이터를 참조만 하므로 일 방향의 데이터 전송 관계를 갖는 것으로 예시하였다.When the
도 5a 및 도 5b는 각각 제1 모드와 제2 모드로 동작할 경우에 GUI 테스트 자동화 방법을 설명하기 위한 순서도이다.5A and 5B are flowcharts for describing a GUI test automation method when operating in a first mode and a second mode, respectively.
도 5a는 본 발명의 실시예에 따른 GUI 테스트 자동화 장치(1)가 상기 제1 모드로 동작할 경우의 GUI 테스트 자동화 방법에 대한 순서도이다. 도 1 내지 도 5a를 참조하면, 상기 스크립트 생성 장치(10)는 스크립트에 포함된 정적 데이터를 논리적으로 표준화된 ID 정보로서 구현할 수 있다(S510). 다음으로, 상기 논리적으로 표준화된 ID 정보에 대응하는 실제 정보가 상기 데이터 베이스(30)에 저장될 수 있다(S520). 5A is a flowchart of a GUI test automation method when the GUI
데이터의 분리 저장이 완료된 이후에, 상기 테스트 장치(20)는 상기 단말기의 화면을 테스트할 수 있다(S530). 상기 테스트 장치(20)는 상기 단말기의 화면과 상기 데이터 베이스(30)에 저장된 인증 화면과 일치하는지를 판단하고, 일치하지 않는 데이터의 존재 여부를 판단할 수 있다(S540). 판단 결과, 불일치하는 데이터가 존재하는 경우에 상기 테스트 장치는 불합격(또는 패일) 데이터에 대한 정보를 출력할 수 있다(S550).After the separate storage of the data is completed, the
도 5b는 본 발명의 실시예에 따른 GUI 테스트 자동화 장치(1)가 상기 제2 모 드로 동작할 경우의 GUI 테스트 자동화 방법에 대한 순서도이다. 도 1 내지 도 5b를 참조하면, 상기 스크립트 생성 장치(10)는 스크립트에 포함된 정적 데이터를 논리적으로 표준화된 ID 정보로서 구현할 수 있다(S610). 다음으로, 상기 논리적으로 표준화된 ID 정보에 대응하는 실제 정보가 상기 데이터 베이스(30)에 저장될 수 있다(S620).5B is a flowchart illustrating a GUI test automation method when the GUI
데이터의 분리 저장이 완료된 이후에, 상기 테스트 장치(20)는 상기 단말기의 화면을 테스트할 수 있다(S630). 상기 테스트 장치(20)는 상기 단말기의 화면과 상기 데이터 베이스(30)에 저장된 인증 화면과 일치하는지를 판단하고, 일치하지 않는 데이터의 존재 여부를 판단할 수 있다(S640). 판단 결과, 불일치하는 데이터가 존재하는 경우에, 상기 업데이트부(40)는 상기 데이터 베이스(30)를 상기 단말기의 환경에 맞도록 업데이트할 수 있다(S650). After the separate storage of the data is completed, the
도 6은 본 발명의 실시예에 따른 GUI 테스트 자동화 시스템(1)이 상기 제2 모드로 수행하여 상기 데이터 베이스(30)를 업데이트하는 방법을 설명하기 위한 개략도이다.6 is a schematic diagram illustrating a method of updating the
도 1 내지 도 6을 참조하면, 상기 모드 설정부(50)에 의해 상기 업데이트부(40)의 활성화 여부가 제어될 수 있고, 도 6은 두 가지 모드 중에서 상기 데이터 베이스(30)를 자동으로 업데이트할 수 있는 제2 모드에 대한 설명이다.1 to 6, whether the
도 6에서는 메뉴 화면을 테스트하는 것으로 예시하였으며, 상기 메뉴 화면에는 이미지 정보(또는 문자열 정보)로서 'menu'만을 포함하는 것으로 예시한다. 도 6에 도시된 바와 같이, 본래의 메뉴 화면에 표시되는 이미지는 (10,100,5,10)의 영 역에 위치하고, 단말기 GUI의 버전 변경 등으로 인해 상기 이미지의 위치가 하단부로 약간 이동한 것으로 예시한다.In FIG. 6, a menu screen is tested, and the menu screen includes only 'menu' as image information (or string information). As shown in FIG. 6, the image displayed on the original menu screen is located in the region of (10,100,5,10), and the position of the image is slightly moved to the lower portion due to the version change of the terminal GUI. do.
따라서, 상기 테스트 장치(20)에 의해서 상기 메뉴 화면의 테스트 결과는 불일치(또는 패일)로 판단될 수 있으며, 상기 업데이트부(40)는 단말기의 영역 정보에 맞추어 상기 데이터 베이스(30)의 영역 정보를 업데이트할 수 있다(예컨대, 도 6에 도시된 바와 같이, (10,100,5,10)을 (10,100,20,25)로). 또한, 도 6에서는 영역 정보가 업데이트되는 것을 예시하였지만, 본 발명에 따른 실시예는 이에 한정되지 않고 이미지 업데이트, 문자열 업데이트, 또는 사운드 업데이트 등의 구성을 모두 포함할 수 있다. Accordingly, the test result of the menu screen may be determined by the
이러한 스크립트 기반의 자동화 테스트 툴을 이용하여 그래픽 사용자 인터페시스(GUI)를 포함하는 테스트 대상 시스템을 테스트하고자 하는 경우에, 본 발명의 실시예에 따른 GUI 테스트 자동화 방법이 적용될 수 있다. When a test target system including a graphical user interface (GUI) is to be tested using such a script-based automated test tool, a GUI test automation method according to an embodiment of the present invention may be applied.
본 발명의 실시예에 따른 GUI 테스트 자동화 방법은 컴퓨터로 리드할 수 있는 기록 매체에 컴퓨터가 리드할 수 있는 코드로서 구현될 수 있다. 컴퓨터가 리드할 수 있는 기록 매체는 컴퓨터 시스템에 의하여 리드될 수 있는 데이터가 저장될 수 있는 모든 종류의 기록 장치를 포함할 수 있다.The GUI test automation method according to an embodiment of the present invention may be implemented as computer-readable code on a computer-readable recording medium. The computer-readable recording medium may include all kinds of recording devices in which data that can be read by a computer system can be stored.
예컨대, 컴퓨터가 리드할 수 있는 기록 매체에는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등을 예시할 수 있으며, 또한, 본 발명의 실시예에 따른 GUI 테스트 자동화 방법을 수행하기 위한 프로그램 코드는 캐리어 웨이브(예컨대, 인터넷을 통한 전송)의 형태로 전송될 수도 있다.For example, a computer-readable recording medium may include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and a GUI test automation method according to an embodiment of the present invention. Program code for performing may be transmitted in the form of a carrier wave (eg, transmission over the Internet).
또한, 컴퓨터가 리드할 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터가 리드할 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명의 실시예에 따른 GUI 테스트 자동화 방법을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 세크먼트들을 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. In addition, functional programs, codes, and segments for implementing a GUI test automation method according to an embodiment of the present invention can be easily inferred by programmers in the technical field to which the present invention belongs.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 것을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다. Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
본 발명의 상세한 설명에서 제공되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다. BRIEF DESCRIPTION OF THE DRAWINGS In order to better understand the drawings provided in the detailed description of the invention, a brief description of each drawing is provided.
도 1은 GUI 자동화 테스트를 위한 스크립트의 일 예를 기술하기 위한 예시도.1 is an exemplary diagram for describing an example of a script for a GUI automation test.
도 2는 본 발명의 실시예에 따른 GUI 자동화 테스트 시스템.2 is a GUI automated test system according to an embodiment of the present invention.
도 3a 및 도 3b는 종래의 GUI 테스트용 스크립트와 본 발명의 실시예에 따른 GUI 테스트용 스크립트를 비교한 예시도.Figure 3a and Figure 3b is an exemplary view comparing the GUI test script with the conventional GUI test script according to an embodiment of the present invention.
도 3c 및 도 3d는 본 발명의 실시예에 따른 데이터 베이스에 저장된 실제 정보의 예시도.3C and 3D illustrate exemplary information stored in a database according to an embodiment of the present invention.
도 4는 본 발명의 실시예에 따른 동작 모드들을 설명하기 위한 예시도.4 is an exemplary diagram for describing operation modes according to an exemplary embodiment of the present invention.
도 5a 및 도 5b는 동작 모드들에 따른 GUI 테스트 자동화 방법을 설명하기 위한 순서도.5A and 5B are flowcharts for describing a GUI test automation method according to operation modes.
도 6은 본 발명의 실시예에 따른 데이터 베이스의 업데이트를 설명하기 위한 예시도.6 is an exemplary diagram for explaining an update of a database according to an embodiment of the present invention.
Claims (9)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20080115273 | 2008-11-19 | ||
KR1020080115273 | 2008-11-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100056338A true KR20100056338A (en) | 2010-05-27 |
KR101505438B1 KR101505438B1 (en) | 2015-03-25 |
Family
ID=42280509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090012572A KR101505438B1 (en) | 2008-11-19 | 2009-02-16 | GUI test automatic system for improving reusability of test script and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101505438B1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013017054A1 (en) * | 2011-07-29 | 2013-02-07 | 华为终端有限公司 | Method and apparatus for automatically generating case scripts |
KR101495021B1 (en) * | 2010-10-04 | 2015-02-24 | 에스케이플래닛 주식회사 | Apparatus and method for inputting row of character |
CN106502882A (en) * | 2016-09-23 | 2017-03-15 | 卡斯柯信号有限公司 | It is applied to the test script method for designing of urban rail software automated testing |
CN110727599A (en) * | 2019-10-17 | 2020-01-24 | 青岛海信宽带多媒体技术有限公司 | Test environment configuration and updating method |
CN113077735A (en) * | 2020-01-06 | 2021-07-06 | 广州汽车集团股份有限公司 | Method, device and system for testing vehicle-mounted display equipment |
KR20230080105A (en) * | 2021-11-29 | 2023-06-07 | 주식회사 앱테스트에이아이 | System And Method For Autonomous Mobile Game Compatibility Testing |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001306358A (en) * | 2000-04-27 | 2001-11-02 | Ricoh Co Ltd | Test device of gui program, method for testing gui program and recording medium to be used for the same method |
JP2002259161A (en) * | 2001-03-02 | 2002-09-13 | Hitachi Ltd | Device for automatically generating test script |
JP2003263385A (en) | 2002-03-11 | 2003-09-19 | Kochi Systems:Kk | High speed www server system and high speed display method |
JP2007102654A (en) | 2005-10-07 | 2007-04-19 | Hitachi Software Eng Co Ltd | Test script processing program |
-
2009
- 2009-02-16 KR KR1020090012572A patent/KR101505438B1/en active IP Right Grant
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101495021B1 (en) * | 2010-10-04 | 2015-02-24 | 에스케이플래닛 주식회사 | Apparatus and method for inputting row of character |
WO2013017054A1 (en) * | 2011-07-29 | 2013-02-07 | 华为终端有限公司 | Method and apparatus for automatically generating case scripts |
CN106502882A (en) * | 2016-09-23 | 2017-03-15 | 卡斯柯信号有限公司 | It is applied to the test script method for designing of urban rail software automated testing |
CN106502882B (en) * | 2016-09-23 | 2019-02-01 | 卡斯柯信号有限公司 | Test script design method suitable for urban rail software automated testing |
CN110727599A (en) * | 2019-10-17 | 2020-01-24 | 青岛海信宽带多媒体技术有限公司 | Test environment configuration and updating method |
CN110727599B (en) * | 2019-10-17 | 2023-08-04 | 青岛海信宽带多媒体技术有限公司 | Test environment configuration and updating method |
CN113077735A (en) * | 2020-01-06 | 2021-07-06 | 广州汽车集团股份有限公司 | Method, device and system for testing vehicle-mounted display equipment |
CN113077735B (en) * | 2020-01-06 | 2023-11-17 | 广州汽车集团股份有限公司 | Test method, device and system of vehicle-mounted display equipment |
KR20230080105A (en) * | 2021-11-29 | 2023-06-07 | 주식회사 앱테스트에이아이 | System And Method For Autonomous Mobile Game Compatibility Testing |
Also Published As
Publication number | Publication date |
---|---|
KR101505438B1 (en) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Leotta et al. | Pesto: Automated migration of DOM‐based Web tests towards the visual approach | |
US9772932B2 (en) | Application test across platforms | |
US20100325492A1 (en) | Identification Of Elements Of Currently-Executing Component Script | |
US11422783B2 (en) | Auto-deployment of applications | |
KR20100056338A (en) | Gui test automatic system for improving reusability of test script and method thereof | |
CN113505082B (en) | Application program testing method and device | |
CN115658529A (en) | Automatic testing method for user page and related equipment | |
CN106484389B (en) | Action stream segment management | |
CN114257624A (en) | Configuration method, device and equipment of Internet of things equipment and storage medium | |
US10303331B2 (en) | Live mobile application visual editor demo | |
JP5677924B2 (en) | Test automation system | |
CN112860587B (en) | UI automatic test method and device | |
KR20090000199A (en) | Web server application framework, web application processing method using the framework and computer readable medium processing the method | |
JP4602312B2 (en) | Device setting device, device setting method, information acquisition device, information acquisition method, recording medium, and program | |
US20160246465A1 (en) | Duplicating a task sequence from a graphical user interface interaction for a development application in view of trace data | |
CN108241488A (en) | A kind of system and method for generating APP interfaces | |
KR20220022383A (en) | Method and system for multimedia device | |
KR101987183B1 (en) | Apparatus, method and server for app development supporting front-end development using app development utility | |
WO2007097014A1 (en) | Operation confirming method for information system, its operation confirming program, recording medium, and operation confirming system | |
JP2019192134A (en) | Information processing device, processing method therefor and program | |
JP7506339B2 (en) | Information processing system, control method thereof, and program | |
CN113590224B (en) | Method and device for detecting server, electronic equipment and storage medium | |
US8887075B2 (en) | System and method for device skinning | |
JP7319516B2 (en) | Program, information processing device, and control method thereof | |
Oliver | Why We Need New Software Testing Technologies |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
FPAY | Annual fee payment |
Payment date: 20180110 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20190131 Year of fee payment: 5 |