KR20180076020A - Apparatus and method for application test automation - Google Patents
Apparatus and method for application test automation Download PDFInfo
- Publication number
- KR20180076020A KR20180076020A KR1020160180071A KR20160180071A KR20180076020A KR 20180076020 A KR20180076020 A KR 20180076020A KR 1020160180071 A KR1020160180071 A KR 1020160180071A KR 20160180071 A KR20160180071 A KR 20160180071A KR 20180076020 A KR20180076020 A KR 20180076020A
- Authority
- KR
- South Korea
- Prior art keywords
- application
- test
- log data
- text file
- screen
- Prior art date
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 146
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000004048 modification Effects 0.000 claims description 8
- 238000012986 modification Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 238000013480 data collection Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
본 발명은 애플리케이션 테스트 자동화 장치 및 방법에 관한 것으로, 보다 상세하게는 텍스트 파일(text file)을 통해, 사용자 단말에서 실행되는 애플리케이션의 상태를 확인하고, 확인된 상태에 따라서 테스트를 위한 동작 명령을 사용자 단말에 전송함으로써 애플리케이션에 대한 테스트를 자동화할 수 있는 방법 및 장치에 관한 것이다.The present invention relates to an application test automation apparatus and method, and more particularly, to an application test automation apparatus and method, in which a status of an application executed in a user terminal is checked through a text file, To a method and apparatus that can automate testing of an application by sending it to a terminal.
최근에는 휴대폰 또는 태블릿 등의 사용자 단말에 다양한 애플리케이션들이 설치되어 실행된다. 애플리케이션의 배포자의 입장에서는 애플리케이션을 배포하기 전에 애플리케이션이 정상적으로 동작하는지 여부를 정확하게 판단하는 것이 사용자의 만족도를 높이고 신뢰를 얻을 수 있다는 점에서 중요하다.Recently, various applications are installed and executed in a user terminal such as a mobile phone or a tablet. From the perspective of the application's distributor, it is important to accurately determine whether the application is running properly before distributing the application, in order to increase user satisfaction and gain trust.
애플리케이션에 대한 테스트는, 테스트 대상인 애플리케이션의 현재 상태를 확인하고, 확인된 상태에 따른 동작 명령을 전송하는 방식으로 수행될 수 있다.The test for the application can be performed in such a manner that the current state of the application to be tested is confirmed, and the operation command according to the confirmed state is transmitted.
애플리케이션의 현재 상태를 확인하는 방법으로는 기존에 i) 애플리케이션에 의해 출력되는 화면의 이미지를 생성하여 미리 저장된 이미지와 매칭하는 방식 또는 ii) 애플리케이션에 의해 출력되는 화면에 포함된 객체의 고유값을 검색하는 방식이 사용되었는데, 이러한 방식들은 각각 다음과 같은 문제를 가지고 있었다.As a method of confirming the current state of the application, there are a method of generating an image of a screen output by an application and matching with a previously stored image, or ii) a method of searching an original value of an object included in a screen outputted by an application Each of these methods had the following problems.
우선, 전자의 경우 정확도가 떨어지는 문제가 있으며, 특히 화면 이미지에 그라데이션이 포함되는 경우에는 정확도가 급격히 낮아진다. 또한, 후자의 경우 화면에 포함된 객체의 고유값을 추출하기 위해서는 애플리케이션의 제작 방법에 대응되는 추출 모듈이 필요하므로, 표준화 할 수 없다는 문제점이 있다.First, there is a problem that the accuracy of the former is inferior, especially when the gradation is included in the screen image, the accuracy is drastically lowered. Further, in the latter case, in order to extract the eigenvalues of the objects included in the screen, an extracting module corresponding to a method of producing an application is required, so that there is a problem that it can not be standardized.
관련하여 선행기술 문헌인 미국공개특허 제2016/0274983호 “OPERATION VERIFYING APPARATUS, OPERATION VERIFYING METHOD AND OPERATION VERIFYING SYSTEM”에서는, 포털 사이트 등의 제품을 테스트 함에 있어서 기 설정된 장치에서 수행된 동작 시퀀스의 내용을 나타내는 로그를 수집하는 내용과, 로그에 기록된 동작과 관련한 기능을 식별하여 식별된 기능에 대한 테스트 프로그램을 구성하는 내용이 개시되어 있다.Related reference is made to US Patent Application Publication No. 2016/0274983 entitled " OPERATION VERIFYING APPARATUS, OPERATION VERIFYING METHOD AND OPERATION VERIFYING SYSTEM ", which discloses the contents of an operation sequence performed in a predetermined device in testing a product such as a portal site Contents for collecting a log, and functions for identifying a function associated with an operation recorded in the log, and constructing a test program for the identified function are disclosed.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.On the other hand, the background art described above is technical information acquired by the inventor for the derivation of the present invention or obtained in the derivation process of the present invention, and can not necessarily be a known technology disclosed to the general public before the application of the present invention .
본 발명의 일 실시예는 애플리케이션 테스트 자동화 장치 및 방법을 제공하는 데 목적이 있다.One embodiment of the present invention is directed to an apparatus and method for automating application testing.
본 발명의 일 실시예는 테스트 과정을 자동화함으로써 필요한 인력 리소스를 최소화 할 수 있는 애플리케이션 테스트 자동화 장치 및 방법을 제공하는 데 목적이 있다.It is an object of the present invention to provide an apparatus and method for automating an application test that can minimize labor resources required by automating a test procedure.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따르면, 애플리케이션 테스트 자동화 방법으로서, 사용자 단말에서 실행 중인 애플리케이션의 상태에 대한 정보가 기록된 텍스트 파일에 접근하여, 상기 애플리케이션의 상태를 확인하는 단계, 상기 텍스트 파일을 초기화하는 단계 및 상기 확인된 상태에 따라 상기 사용자 단말에 상기 애플리케이션의 정상 동작 여부를 테스트하기 위한 동작 명령을 전송하는 단계를 포함할 수 있다.According to a first aspect of the present invention there is provided a method of automating application testing, comprising: accessing a text file in which information on the status of an application running on a user terminal is recorded, Checking the status of the text file, initializing the text file, and transmitting an operation command to the user terminal to test whether the application operates normally according to the checked status.
본 발명의 제 2 측면에 따르면, 애플리케이션 테스트 자동화 방법을 수행하기 위한 컴퓨터 프로그램으로서, 애플리케이션 테스트 자동화 방법은 사용자 단말에서 실행 중인 애플리케이션의 상태에 대한 정보가 기록된 텍스트 파일에 접근하여, 상기 애플리케이션의 상태를 확인하는 단계, 상기 텍스트 파일을 초기화하는 단계 및 상기 확인된 상태에 따라 상기 사용자 단말에 상기 애플리케이션의 정상 동작 여부를 테스트하기 위한 동작 명령을 전송하는 단계를 포함할 수 있다.According to a second aspect of the present invention there is provided a computer program for performing an application test automation method, the method comprising: accessing a text file in which information about the status of an application running on a user terminal is recorded, , Initializing the text file, and transmitting an operation command for testing the normal operation of the application to the user terminal according to the confirmed status.
본 발명의 제 3 측면에 따르면, 애플리케이션 테스트 자동화 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체로서, 애플리케이션 테스트 자동화 방법은 사용자 단말에서 실행 중인 애플리케이션의 상태에 대한 정보가 기록된 텍스트 파일에 접근하여, 상기 애플리케이션의 상태를 확인하는 단계, 상기 텍스트 파일을 초기화하는 단계 및 상기 확인된 상태에 따라 상기 사용자 단말에 상기 애플리케이션의 정상 동작 여부를 테스트하기 위한 동작 명령을 전송하는 단계를 포함할 수 있다.According to a third aspect of the present invention, there is provided a computer-readable recording medium having recorded thereon a program for performing an application test automation method, the method comprising: accessing a text file in which information on the status of an application running on a user terminal is recorded; And transmitting an operation command for testing whether the application is operating normally to the user terminal according to the confirmed status, the method comprising the steps of: confirming the status of the application, initializing the text file, .
본 발명의 제 4 측면에 따르면, 애플리케이션 테스트 자동화 장치로서, 사용자 단말에서 실행 중인 애플리케이션의 상태에 대한 정보가 기록된 텍스트 파일에 접근하여, 상기 애플리케이션의 상태를 확인하고, 상기 텍스트 파일을 초기화하는 애플리케이션 상태 확인부 및 상기 확인된 상태에 따라 상기 사용자 단말에 상기 애플리케이션의 정상 동작 여부를 테스트하기 위한 동작 명령을 전송하는 자동화 스크립트 모듈을 포함할 수 있다.According to a fourth aspect of the present invention there is provided an apparatus for automatically testing an application, comprising: a user terminal accessing a text file in which information on the status of an application running on the user terminal is recorded, And an automatic script module for transmitting an operation command for testing whether the application is normally operated to the user terminal according to the checked state and the checked state.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 본 발명의 일 실시예는 애플리케이션 테스트 자동화 장치 및 방법을 제시할 수 있다.According to any one of the above-mentioned objects of the present invention, an embodiment of the present invention can provide an apparatus and method for automating application test.
또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 텍스트 파일을 통해 애플리케이션의 상태를 확인하고, 확인된 상태에 따른 동작 명령을 수행함으로써 애플리케이션 테스트의 자동화를 구현하고, 따라서 인력 리소스를 최소화 할 수 있는 효과를 기대할 수 있다.Further, according to any one of the tasks of the present invention, it is possible to implement an application test automation by checking the status of an application through a text file and performing an operation command according to the confirmed status, The effect can be expected.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtained by the present invention are not limited to the above-mentioned effects, and other effects not mentioned can be clearly understood by those skilled in the art from the following description will be.
도 1은 본 발명의 일 실시예에 따른 애플리케이션 테스트 자동화 장치를 설명하기 위한 블록도이다.
도 2 내지 도 5는 본 발명의 실시예들에 따른 애플리케이션 테스트 자동화 방법을 설명하기 위한 순서도들이다.
도 6 내지 도 9는 본 발명의 일 실시예에 따른 애플리케이션 테스트 자동화 방법을 수행하는 과정에서, 사용자 단말에 표시되는 UI 화면 및 텍스트 파일에 기록되는 로그 데이터를 도시한 도면들이다.1 is a block diagram illustrating an application test automation apparatus according to an embodiment of the present invention.
2 to 5 are flowcharts for explaining an application test automation method according to embodiments of the present invention.
FIGS. 6 to 9 are views showing a UI screen displayed on a user terminal and log data recorded in a text file in the process of performing an application test automation method according to an embodiment of the present invention.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 애플리케이션 테스트 자동화 장치를 설명하기 위한 블록도이다.1 is a block diagram illustrating an application test automation apparatus according to an embodiment of the present invention.
애플리케이션 테스트 자동화 장치(100)는 사용자 단말에서 실행되는 애플리케이션이 정상적으로 동작하는지 여부를 테스트한다. 이때, 사용자 단말이란 휴대폰 및 태블릿 등의 전자 장치를 의미한다.The application
애플리케이션 테스트 자동화 장치(100)는 애플리케이션의 테스트를 수행하기 위한 프로그램이 설치된 컴퓨터 등의 전자 장치일 수 있으며, 애플리케이션 테스트 자동화 장치(100)는 사용자 단말과 유선 또는 무선으로 연결되어 사용자 단말에서 실행되는 애플리케이션의 정상 동작 여부를 테스트할 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(web browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop)등을 포함할 수 있다.The application
또는, 애플리케이션 테스트 자동화 장치(100)는 서버-클라이언트 시스템으로 구현될 수도 있다. 즉, 서버와 통신하는 전자 단말기에 사용자와의 인터랙션을 위한 클라이언트가 설치되고, 애플리케이션의 테스트를 실제로 담당하는 프로그램은 서버에 설치되는 시스템의 형태일 수도 있다.Alternatively, the application
도 1을 참조하면, 본 발명의 일 실시예에 따른 애플리케이션 테스트 자동화 장치(100)는, 사용자 인터페이스부(110), 애플리케이션 상태 확인부(120), 자동화 스크립트 모듈(130) 및 테스트 케이스 관리부(140)를 포함할 수 있다.1, an application
사용자 인터페이스부(110)는 화면을 표시하고, 사용자로부터 입력을 수신할 수 있다. 예를 들어, 사용자 인터페이스부(110)는 화면을 표시하는 LCD 등의 디스플레이를 포함하고, 입력을 수신하기 위한 키보드, 마우스 및 터치스크린 등을 포함할 수 있다.The
본 발명의 일 실시예에 따르면, 사용자 인터페이스부(110)는 로그 데이터 수집을 통해 확인한 테스트 케이스(test case)들을 보여주고, 사용자로부터 테스트 케이스의 경로 설정을 위한 중간 목표 및 최종 목표를 수신할 수 있으며, 선택된 경로에 대응되는 순서도를 화면에 표시할 수도 있다. 자세한 내용은 후술하기로 한다.According to an embodiment of the present invention, the
한편, 본 발명의 일 실시예에 따른 애플리케이션 테스트 자동화 장치(100)는 애플리케이션 상태 확인부(120)를 포함할 수 있다. 애플리케이션 상태 확인부(120)는 텍스트 파일(text file)에 접근하여, 사용자 단말에서 실행되는 애플리케이션의 상태를 확인할 수 있다.Meanwhile, the application
텍스트 파일은 사용자 단말에서 실행 중인 애플리케이션의 상태에 대한 정보를 포함할 수 있다. 구체적으로, 텍스트 파일은 애플리케이션에 의해 사용자 단말에서 출력 중인 화면에서 가능한 입력에 대한 정보를 포함할 수 있다.The text file may contain information about the status of the application running on the user terminal. Specifically, the text file may contain information about possible inputs on the screen being output by the application at the user terminal.
텍스트 파일은 테스트 대상이 되는 사용자 단말 내에 저장되고, 테스트 수행 장치(100)의 애플리케이션 상태 확인부(120)는 사용자 단말에 저장된 텍스트 파일에 접근하여 정보를 획득할 수 있다. 또는, 사용자 단말이 텍스트 파일을 생성하여 테스트 수행 장치(100)에 전송하거나, 텍스트 파일은 테스트 수행 장치(100)의 메모리(미도시)에 저장되고 사용자 단말이 텍스트 파일에 접근하여 로그 데이터를 기록하는 방식으로 구현될 수도 있다.The text file is stored in the user terminal to be tested, and the application
본 발명의 일 실시예에 따르면, 텍스트 파일에는 애플리케이션의 로그 데이터(log data)가 기록될 수 있다. 애플리케이션의 로그 데이터는 애플리케이션에 의해 출력 중인 화면에 대한 정보 및 출력 중인 화면에 포함된 입력 객체에 대한 정보를 포함할 수 있다. 예를 들어, 로그 데이터에는 애플리케이션에 의해 출력 중인 화면을 식별하기 위한 정보가 포함될 수 있으며, 또한 출력 중인 화면에 포함된 입력 버튼 또는 입력창을 식별하기 위한 정보가 포함될 수 있다. 로그 데이터의 구체적인 예는 아래에서 도 6 내지 도 9를 참조하여 설명하기로 한다.According to an embodiment of the present invention, log data of an application may be recorded in a text file. The log data of the application may include information on the screen being output by the application and information on the input object included in the output screen. For example, the log data may include information for identifying a screen being output by an application, and information for identifying an input button or an input window included in a screen being output may be included. A specific example of the log data will be described below with reference to Figs. 6 to 9.
본 발명의 일 실시예에 따르면, 애플리케이션의 로그 데이터는 애플리케이션에 대한 입력이 발생할 때마다 텍스트 파일에 기록될 수 있다. 즉, 애플리케이션에 의해 사용자 단말에 출력 중인 화면에서 가능한 적어도 하나의 입력 중 어느 하나가 수행되면, 수행된 입력에 대응되는 로그 데이터가 텍스트 파일에 기록될 수 있다.According to one embodiment of the present invention, the log data of the application may be written to a text file whenever an input to the application occurs. That is, when any one of at least one input possible on the screen being output to the user terminal is performed by the application, the log data corresponding to the executed input may be recorded in the text file.
애플리케이션 상태 확인부(120)는 텍스트 파일에 접근하여 애플리케이션에 의해 사용자 단말에서 출력 중인 화면에서 가능한 입력에 대한 정보를 확인할 수 있다. 예를 들어, 애플리케이션 상태 확인부(120)는 텍스트 파일에 기록된 애플리케이션의 로그 데이터를 수집하고, 수집된 로그 데이터에 기초하여 애플리케이션에 의해 출력 중인 화면에 포함된 입력 객체를 확인할 수 있다.The application
애플리케이션 상태 확인부(120)는 텍스트 파일에 접근하여 애플리케이션의 상태를 확인한 후에는, 텍스트 파일을 초기화 할 수 있다. 예를 들어, 애플리케이션 상태 확인부(120)는 텍스트 파일로부터 애플리케이션의 로그 데이터를 수집한 후에는, 텍스트 파일에서 로그 데이터를 삭제할 수 있다.After the application
이와 같이, 애플리케이션 상태 확인부(120)는 텍스트 파일에 접근하여 애플리케이션의 상태를 확인한 후에는 바로 텍스트 파일을 초기화 함으로써, 이후에 텍스트 파일에 기록되는 로그 데이터는 새로운 입력에 대응되는 것임을 쉽게 파악할 수 있다.As described above, the application
한편, 자동화 스크립트 모듈(130)는 애플리케이션 상태 확인부(120)에서 확인한 애플리케이션의 상태에 따라 사용자 단말에 애플리케이션의 정상 동작 여부를 테스트하기 위한 동작 명령을 전송할 수 있다. 즉, 자동화 스크립트 모듈(130)은 다양한 애플리케이션의 상태에 대응되는 동작 명령을 미리 설정해 놓고, 확인된 상태에 대응되는 동작 명령을 사용자 단말에 전송할 수 있다. Meanwhile, the
일 실시예에 따라, 애플리케이션 상태 확인부(120)가 애플리케이션에 의해 출력 중인 화면에 포함된 입력 객체를 확인한 경우라면, 자동화 스크립트 모듈(130)은 애플리케이션에 의해 출력 중인 화면에 포함된 입력 객체에 입력을 수행하라는 명령을 사용자 단말에 전송할 수 있다. 예를 들어, 애플리케이션에 의해 출력 중인 화면에 입력 버튼이 포함되어 있다면, 자동화 스크립트 모듈(130)는 입력 버튼을 누르라는 명령을 사용자 단말에 전송할 수 있다. 또는, 애플리케이션에 의해 출력 중인 화면에 입력창이 포함되어 있다면, 자동화 스크립트 모듈(130)은 미리 설정된 값을 입력창에 입력하라는 명령을 사용자 단말에 전송할 수도 있다.According to one embodiment, if the application
한편, 테스트 케이스 관리부(140)는 애플리케이션에 대한 테스트 케이스(test case)들을 관리할 수 있다. 구체적으로, 로그 데이터 수집을 통한 애플리케이션의 테스트가 수 차례 반복하여 수행된 후에, 테스트 케이스 관리부(140)는 수집된 로그 데이터에 기초하여 애플리케이션에 대해서 수행 가능한 테스트 케이스들을 확인하고, 확인된 테스트 케이스들을 트리(tree) 구조로 나타낼 수 있다. 반복적인 로그 데이터 수집을 통해서 테스트 케이스 관리부(140)는 가능한 모든 테스트 케이스를 확인하고, 트리 구조로 나타낼 수 있다.Meanwhile, the test
테스트 케이스들을 트리 구조로 나타낸 후에는, 사용자 인터페이스를 통해 사용자로부터 트리 구조의 어느 하나의 노드(node)를 중간 목표로 하고, 다른 하나의 노드를 최종 목표로 하는 테스트 요청을 수신할 수 있다. 테스트 케이스 관리부(140)는 테스트 요청에 포함된 중간 목표 및 최종 목표에 기초하여 트리 구조상의 경로(path)를 설정하고, 설정된 경로에 따라 애플리케이션에 대한 테스트를 수행할 수 있다.After expressing the test cases in a tree structure, a test request can be received from the user through the user interface, in which one of the nodes in the tree structure is the intermediate target and the other node is the final target. The test
테스트를 위한 경로를 설정하는 방법을 좀 더 자세히 설명하면 다음과 같다. 테스트 케이스 관리부(140)는 테스트 요청에 포함된 중간 목표 및 최종 목표를 포함하는 경로들 중에서 어느 하나의 경로를 미리 설정된 기준에 따라 선택할 수 있다. 예를 들어, 테스트 케이스 관리부(140)는 경로들 중에서 점수가 가장 높은 경로를 선택할 수 있으며, 이때 각 경로의 점수는 미리 정해진 기준에 따라 산정될 수 있다. 예를 들어, 경로의 거리가 짧을수록 높은 점수를 가지도록 기준을 정할 수도 있고, 이외에도 다양한 방법으로 기준을 정할 수 있다.A more detailed description of how to set up a path for testing is given below. The test
테스트 케이스 관리부(140)는 어느 하나의 경로를 선택했으면, 선택된 경로를 사용자 인터페이스부(110)의 화면에 표시할 수 있다. 예를 들어, 테스트 케이스 관리부(140)는 선택된 경로를 순서도의 형태로 변환하여 화면에 표시할 수도 있다.The test
사용자는 사용자 인터페이스부(110)를 통해 경로에 대응되는 순서도를 확인하고, 경로를 수정할지 여부를 결정할 수 있다. 사용자가 수정이 필요 없다고 판단하여 선택된 경로에 따라 테스트를 수행하도록 요청하면, 테스트 케이스 관리부(140)는 선택된 경로에 따라서 애플리케이션의 테스트를 수행한다. 하지만, 사용자가 순서도를 수정한다면 테스트 케이스 관리부(140)는 수정된 순서도에 대응되는 경로를 최종적으로 선택하고, 선택될 경로에 따라 애플리케이션의 테스트를 수행한다.The user can confirm the flowchart corresponding to the path through the
이와 같이, 본 발명의 일 실시예에 따른 애플리케이션 테스트 자동화 장치(100)를 이용하여 사용자 단말에서 실행되는 애플리케이션에 대한 테스트를 자동으로 수행함으로써 애플리케이션의 테스트에 필요한 인력 리소스를 최소화할 수 있고, 테스트의 정확도를 높임으로써 사용자의 편의성 및 신뢰도를 향상시킬 수 있다.As described above, by automatically performing the test on the application executed in the user terminal by using the application
또한, 다양한 테스트 케이스들을 구조화함으로써 사용자가 요청하는 목표에 따른 경로를 적절하게 설정할 수 있고, 따라서 효율적인 테스트 수행이 가능하도록 하는 장점이 있다.In addition, by structuring the various test cases, it is possible to appropriately set the path according to the target requested by the user, thereby making it possible to perform an efficient test.
이하에서는 상술한 바와 같은 애플리케이션 테스트 자동화 장치(100)를 이용한 애플리케이션 테스트 자동화 방법을 설명한다. 도 2 내지 도 5는 본 발명의 실시예들에 따른 애플리케이션 테스트 자동화 방법을 설명하기 위한 순서도들이다.Hereinafter, an application test automation method using the above-described application
도 2 내지 도 5에 도시된 실시예들에 따른 애플리케이션 테스트 자동화 방법은 도 1에 도시된 애플리케이션 테스트 자동화 장치(100)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1에 도시된 애플리케이션 테스트 자동화 장치(100)에 관하여 이상에서 기술한 내용은 도 2 내지 도 5에 도시된 실시예들에 따른 애플리케이션 테스트 자동화 방법에도 적용될 수 있다.The application test automation method according to the embodiments shown in FIGS. 2 to 5 includes the steps of time-series processing in the application
도 2는 본 발명의 일 실시예에 따른 애플리케이션 테스트 자동화 방법을 간략하게 나타낸 순서도이고, 도 3은 본 발명의 일 실시예에 따른 애플리케이션 테스트 자동화 방법을 좀 더 자세히 나타낸 순서도이다.FIG. 2 is a flowchart briefly showing an application test automation method according to an embodiment of the present invention. FIG. 3 is a flowchart illustrating a method of automating application test according to an embodiment of the present invention in more detail.
도 2를 참조하면, 201 단계에서 애플리케이션 테스트 자동화 장치(100)는 사용자 단말에서 실행 중인 애플리케이션의 상태에 대한 정보가 기록된 텍스트 파일에 접근하여, 애플리케이션의 상태를 확인한다. 202 단계에서 애플리케이션 테스트 자동화 장치(100)는 텍스트 파일을 초기화한다. 203 단계에서 애플리케이션 테스트 자동화 장치(100)는 확인된 상태에 따라 사용자 단말에 애플리케이션의 테스트를 위한 동작 명령을 전송한다.Referring to FIG. 2, in
도 3을 참조하면, 301 단계에서 애플리케이션 테스트 자동화 장치(100)는 텍스트 파일에 기록된 애플리케이션의 로그 데이터를 수집한다. 302 단계에서 애플리케이션 자동화 장치(100)는 수집된 로그 데이터에 기초하여, 애플리케이션에 의해 사용자 단말에 출력 중이 화면에 포함된 입력 객체를 확인한다. 303 단계에서 애플리케이션 자동화 장치(100)는 텍스트 파일에서 로그 데이터를 삭제한다. 304 단계에서 애플리케이션 자동화 장치(100)는 애플리케이션에 의해 출력 중인 화면에 포함된 입력 객체에 입력을 수행하라는 명령을 사용자 단말에 전송한다.Referring to FIG. 3, in
한편, 도 4는 본 발명의 일 실시예에 따라 로그 데이터의 수집 및 테스트 수행을 수 차례 반복한 결과에 기초하여 테스트 케이스들을 관리하는 방법을 설명하기 위한 순서도이다. 즉, 도 4의 단계들은 도 3의 단계들을 수행한 후에 이어서 수행되는 것으로 이해할 수 있다.4 is a flowchart illustrating a method of managing test cases based on a result of repeatedly collecting and testing log data according to an embodiment of the present invention. In other words, it can be understood that the steps of FIG. 4 are performed after the steps of FIG. 3 are performed.
도 4를 참조하면, 401 단계에서 애플리케이션 테스트 자동화 장치(100)는 수집된 로그 데이터에 기초하여 애플리케이션에 대해서 수행 가능한 테스트 케이스들을 확인한다. 402 단계에서 애플리케이션 테스트 자동화 장치(100)는 확인된 테스트 케이스들을 트리 구조로 나타낸다. 403 단계에서 애플리케이션 테스트 자동화 장치(100)는 트리 구조상의 노드들 중에서 중간 목표 및 최종 목표를 선택하는 테스트 요청을 수신한다. 404 단계에서 애플리케이션 테스트 자동화 장치(100)는 중간 목표 및 최종 목표에 기초하여 트리 구조상의 경로를 설정한다. 405 단계에서 애플리케이션 테스트 자동화 장치(100)는 설정된 경로에 따라 애플리케이션에 대한 테스트를 수행한다.Referring to FIG. 4, in
한편, 도 5는 도 4의 404 단계, 즉 중간 목표 및 최종 목표에 기초하여 트리 구조상의 경로를 설정하는 단계를 세부적으로 나타낸 순서도이다.FIG. 5 is a detailed flowchart showing a step of setting a path on a tree structure based on
도 5를 참조하면, 501 단계에서 애플리케이션 테스트 자동화 장치(100)는 중간 목표 및 최종 목표를 포함하는 경로들 중에서 어느 하나의 경로를 미리 설정된 기준에 따라 선택한다. 502 단계에서 애플리케이션 테스트 자동화 장치(100)는 선택된 경로를 화면에 표시한다. 503 단계에서 애플리케이션 테스트 자동화 장치(100)는 경로에 대한 수정 요청이 있는지를 판단한다. 판단 결과, 수정 요청이 있다면 505 단계로 진행하여 애플리케이션 테스트 자동화 장치(100)는 선택된 경로를 수정하여 테스트 경로로 설정한다. 하지만, 수정 요청이 없다면, 504 단계로 진행하여 애플리케이션 자동화 장치(100)는 선택된 경로를 테스트 경로로 설정하다.Referring to FIG. 5, in
이와 같이, 본 발명의 일 실시예에 따른 애플리케이션 테스트 자동화 방법에 따르면, 다양한 테스트 케이스들을 구조화함으로써 사용자가 요청하는 목표에 따른 경로를 적절하게 설정할 수 있고, 따라서 효율적인 테스트 수행이 가능하도록 하는 장점이 있다.As described above, according to the method for automating application test according to the embodiment of the present invention, various test cases are structured to suitably set a path according to a target requested by a user, thereby enabling efficient test execution .
도 6 내지 도 9는 본 발명의 일 실시예에 따른 애플리케이션 테스트 자동화 방법을 수행하는 과정에서, 사용자 단말에 표시되는 UI 화면 및 텍스트 파일에 기록되는 로그 데이터를 도시한 도면들이다.FIGS. 6 to 9 are views showing a UI screen displayed on a user terminal and log data recorded in a text file in the process of performing an application test automation method according to an embodiment of the present invention.
도 6을 참조하면, 애플리케이션에 의해 사용자 단말에 출력되는 UI 화면(610)에는 시작 버튼(611)이 포함되어 있다. 그리고, 애플리케이션의 상태, 즉 애플리케이션에 의해 출력 중인 UI 화면(610)에 대응되는 로그 데이터(621)가 텍스트 파일(620)에 기록되어 있다.Referring to FIG. 6, a
본 발명의 일 실시예에 따르면, 로그 데이터는 카테고리(category), 명칭(name), 타입(type), 및 xy 좌표값을 포함하는 데이터 구조를 갖는다. 다만, 로그 데이터는 경우에 따라서 위의 4가지 구성 중 일부만을 포함하거나 일부 구정이 다른 데이터 구조를 가질 수도 있다.According to one embodiment of the present invention, the log data has a data structure including a category, a name, a type, and an xy coordinate value. However, the log data may include only some of the above four cases or some data structures may have different data structures.
로그 데이터(621)로부터 애플리케이션의 상태를 확인하는 예를 설명하면 다음과 같다. 도 6의 로그 데이터(621)에 따르면, “01.Start”라는 명칭의 UI 화면(610)이 애플리케이션에 의해 사용자 단말에 표시되고, UI 화면(610)에는 ‘터치’ 방식의 시작 버튼(611, “StartButton”)이 가로축 0.5 지점 및 세로축 0.125 지점이 교차하는 위치에 포함되어 있음을 확인할 수 있다. An example of checking the state of the application from the
애플리케이션 테스트 자동화 장치(100)는 텍스트 파일(620)에 접근하여 로그 데이터(621)를 수집하고, 수집된 로그 데이터(621)를 위와 같이 해석함으로써 애플리케이션의 상태를 확인할 수 있다. 즉, 애플리케이션 테스트 자동화 장치(100)는 도 6의 로그 데이터(621)에 기초하여 현재 애플리케이션이 실행 중인 사용자 단말에는 ‘시작 버튼(611)을 포함하는 UI 화면(610)이 표시’되고 있음을 확인할 수 있다. 따라서, 애플리케이션 테스트 자동화 장치(100)는 애플리케이션의 정상 동작 여부를 테스트하기 위해, 시작 버튼(611)을 누르라는 명령을 사용자 단말에 전송할 수 있다. 이와 같이, 확인된 애플리케이션의 상태에 따라서 동작 명령을 전송하는 프로세스는, 미리 다양한 애플리케이션의 상태에 대응되는 동작을 지정해 놓음으로써 자동화 스크립트로 구현될 수 있다.The application
애플리케이션 테스트 자동화 장치(100)는 텍스트 파일(620)에 접근하여 로그 데이터(621)를 수집한 후에는 로그 데이터(621)를 삭제하여 텍스트 파일(620)을 초기화한다.The application
한편, 애플리케이션 테스트 자동화 장치(100)의 명령에 따라 사용자 단말이 시작 버튼(611)을 누르면, 애플리케이션의 상태는 도 7과 같이 변경된다. 도 7을 참조하면, 애플리케이션에 의해 사용자 단말에 출력되는 UI 화면(710)에는 결과 버튼(711) 및 입력창(712)이 포함되어 있다. 이에 따라, 이전에 초기화된 텍스트 파일(720)에는 애플리케이션에 의해 출력 중인 UI 화면(710)에 대응되는 새로운 로그 데이터(721)가 기록된다.On the other hand, when the user terminal presses the
로그 데이터(721)로부터 애플리케이션의 상태를 확인하는 예를 설명하면 다음과 같다. 도 7의 로그 데이터(721)에 따르면, “02.Content”라는 명칭의 UI 화면(710)이 애플리케이션에 의해 사용자 단말에 표시되고, UI 화면(710)에는 ‘터치’ 방식의 입력창(712, “InputValue”)이 가로축 0.5 지점 및 세로축 0.5 지점이 교차하는 위치에 포함되어 있음을 확인할 수 있다.An example of checking the status of the application from the
한편, 도 7의 UI 화면(710)에는 결과 버튼(711)도 포함되어 있기는 하지만 결과 버튼(711)은 로그 데이터(721)에는 포함되지 않았다. 왜냐하면, 결과 버튼(711)는 입력창(712)에 값이 입력된 후에야 허용되는 입력 객체이기 때문이다. 다시 말해, 입력창(712)에 아무런 값이 입력되지 않은 상태에서는 결과 버튼(711)를 누르더라도 상태 변화가 일어나지 않는다.On the other hand, although the
애플리케이션 테스트 자동화 장치(100)는 텍스트 파일(720)에 접근하여 로그 데이터(721)를 수집하고, 수집된 로그 데이터(721)에 기초하여 현재 애플리케이션이 실행 중인 사용자 단말에는 ‘입력창(712)을 포함하는 UI 화면(710)이 표시’되고 있음을 확인할 수 있다. 따라서, 애플리케이션 테스트 자동화 장치(100)는 미리 설정된 임의의 값을 입력창(712)에 입력하도록 하는 명령을 사용자 단말에 전송할 수 있다. 이러한 명령을 전송하는 동작은 앞서 설명한 바와 같이 자동화 스크립트로 구현될 수 있다.The application
애플리케이션 테스트 자동화 장치(100)는 텍스트 파일(720)에 접근하여 로그 데이터(721)를 수집한 후에는 로그 데이터(721)를 삭제하여 텍스트 파일(720)을 초기화한다.The application
한편, 애플리케이션 테스트 자동화 장치(100)의 명령에 따라 사용자 단말이 입력창(712)에 임의의 값(135)을 입력하면, 애플리케이션의 상태는 도 8과 같이 변경된다. 도 8을 참조하면, 애플리케이션에 의해 사용자 단말에 출력되는 UI 화면(810)에는 결과 버튼(811) 및 입력창(812)이 포함되어 있고, 입력창(812)에는 임의의 값인 “135”가 입력되어 있다. 이에 따라, 이전에 초기화된 텍스트 파일(820)에는 애플리케이션에 의해 출력 중인 UI 화면(810)에 대응되는 새로운 로그 데이터(821)가 기록된다.On the other hand, when the user terminal inputs an
로그 데이터(821)로부터 애플리케이션의 상태를 확인하는 예를 설명하면 다음과 같다. 도 8의 로그 데이터(821)에 따르면, UI 화면(810)에는 “135”라는 ‘텍스트’가 입력된 입력창(812)이 포함되고, 또한 ‘터치’ 방식의 결과 버튼(811, “ResultButton”)이 가로축 0.5 지점 및 세로축 0.125 지점이 교차하는 위치에 포함되어 있음을 확인할 수 있다.An example of checking the state of the application from the
애플리케이션 테스트 자동화 장치(100)는 텍스트 파일(820)에 접근하여 로그 데이터(821)를 수집하고, 수집된 로그 데이터(821)에 기초하여 현재 애플리케이션이 실행 중인 사용자 단말에는 ‘결과 버튼(811)을 포함하는 UI 화면(810)이 표시’되고 있음을 확인할 수 있다. 따라서, 애플리케이션 테스트 자동화 장치(100)는 결과 버튼(811)을 누르라는 명령을 사용자 단말에 전송할 수 있다. 이러한 명령을 전송하는 동작은 앞서 설명한 바와 같이 자동화 스크립트로 구현될 수 있다.The application
애플리케이션 테스트 자동화 장치(100)는 텍스트 파일(820)에 접근하여 로그 데이터(821)를 수집한 후에는 로그 데이터(821)를 삭제하여 텍스트 파일(820)을 초기화한다.The application
한편, 애플리케이션 테스트 자동화 장치(100)의 명령에 따라 사용자 단말이 결과 버튼(811)을 누르면, 애플리케이션의 상태는 도 9와 같이 변경된다. 도 9를 참조하면, 애플리케이션에 의해 사용자 단말에 출력되는 UI 화면(910)에는 종료 버튼(911) 및 결과창(912)이 포함되어 있다. 이에 따라, 이전에 초기화된 텍스트 파일(920)에는 애플리케이션에 의해 출력 중인 UI 화면(910)에 대응되는 새로운 로그 데이터(921)가 기록된다.On the other hand, when the user terminal presses the
로그 데이터(921)로부터 애플리케이션의 상태를 확인하는 예를 설명하면 다음과 같다. 도 9의 로그 데이터(921)에 따르면, “03.End”라는 명칭의 UI 화면(910)이 애플리케이션에 의해 사용자 단말에 표시되고, UI 화면(910)에는 “270”이라는 결과값에 해당되는 ‘텍스트’가 기재된 결과창(912)이 포함되고, 또한 ‘터치’ 방식의 종료 버튼(911, “EndButton”)이 가로축 0.5 지점 및 세로축 0.125 지점이 교차하는 위치에 포함되어 있음을 확인할 수 있다.An example of checking the state of the application from the
애플리케이션 테스트 자동화 장치(100)는 텍스트 파일(920)에 접근하여 로그 데이터(921)를 수집하고, 수집된 로그 데이터(921)에 기초하여 현재 애플리케이션이 실행 중인 사용자 단말에는 ‘종료 버튼(911) 및 “270”의 결과값이 기재된 입력창(912)을 포함하는 UI 화면(910)이 표시’되고 있음을 확인할 수 있다. 따라서, 애플리케이션 테스트 자동화 장치(100)는 종료 버튼(911)을 누르라는 명령을 사용자 단말에 전송할 수 있다. 이러한 명령을 전송하는 동작은 앞서 설명한 바와 같이 자동화 스크립트로 구현될 수 있다.The application
애플리케이션 테스트 자동화 장치(100)는 텍스트 파일(920)에 접근하여 로그 데이터(921)를 수집한 후에는 로그 데이터(921)를 삭제하여 텍스트 파일(920)을 초기화한다.The application
본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.The term " part " used in the present embodiment means a hardware component such as software or a field programmable gate array (FPGA) or an ASIC, and 'part' performs certain roles. However, 'part' is not meant to be limited to software or hardware. &Quot; to " may be configured to reside on an addressable storage medium and may be configured to play one or more processors. Thus, by way of example, 'parts' may refer to components such as software components, object-oriented software components, class components and task components, and processes, functions, , Subroutines, segments of program patent code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.The functions provided within the components and components may be combined with a smaller number of components and components or separated from additional components and components.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다In addition, the components and components may be implemented to play back one or more CPUs in a device or a secure multimedia card
도 2 내지 도 9를 통해 설명된 실시예들에 따른 애플리케이션 테스트 자동화 방법은 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. The method for automating application testing according to the embodiments described with reference to FIGS. 2-9 may also be implemented in the form of a recording medium including instructions executable by a computer, such as program modules, being executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.
또한 본 발명의 일 실시예에 따르는 애플리케이션 테스트 자동화 방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다. Also, an application test automation method according to an embodiment of the present invention may be implemented as a computer program (or a computer program product) including instructions executable by a computer. A computer program includes programmable machine instructions that are processed by a processor and can be implemented in a high-level programming language, an object-oriented programming language, an assembly language, or a machine language . The computer program may also be recorded on a computer readable recording medium of a type (e.g., memory, hard disk, magnetic / optical medium or solid-state drive).
따라서 본 발명의 일 실시예에 따르는 애플리케이션 테스트 자동화 방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다. Thus, an application test automation method according to an embodiment of the present invention can be implemented by a computer program as described above being executed by a computing device. The computing device may include a processor, a memory, a storage device, a high-speed interface connected to the memory and a high-speed expansion port, and a low-speed interface connected to the low-speed bus and the storage device. Each of these components is connected to each other using a variety of buses and can be mounted on a common motherboard or mounted in any other suitable manner.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다. Where the processor may process instructions within the computing device, such as to display graphical information to provide a graphical user interface (GUI) on an external input, output device, such as a display connected to a high speed interface And commands stored in memory or storage devices. As another example, multiple processors and / or multiple busses may be used with multiple memory and memory types as appropriate. The processor may also be implemented as a chipset comprised of chips comprising multiple independent analog and / or digital processors.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다. The memory also stores information within the computing device. In one example, the memory may comprise volatile memory units or a collection thereof. In another example, the memory may be comprised of non-volatile memory units or a collection thereof. The memory may also be another type of computer readable medium such as, for example, a magnetic or optical disk.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다. And the storage device can provide a large amount of storage space to the computing device. The storage device may be a computer readable medium or a configuration including such a medium and may include, for example, devices in a SAN (Storage Area Network) or other configurations, and may be a floppy disk device, a hard disk device, Or a tape device, flash memory, or other similar semiconductor memory device or device array.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.
100: 애플리케이션 테스트 장치 110: 사용자 인터페이스부
120: 애플리케이션 상태 확인부 130: 자동화 스크립트 모듈
140: 테스트 케이스 관리부100: Application test apparatus 110: User interface unit
120: Application state checking unit 130: Automation script module
140: Test Case Manager
Claims (16)
사용자 단말에서 실행 중인 애플리케이션의 상태에 대한 정보가 기록된 텍스트 파일에 접근하여, 상기 애플리케이션의 상태를 확인하는 단계;
상기 텍스트 파일을 초기화하는 단계; 및
상기 확인된 상태에 따라 상기 사용자 단말에 상기 애플리케이션의 정상 동작 여부를 테스트하기 위한 동작 명령을 전송하는 단계를 포함하는 방법.In an application test automation method,
Accessing a text file in which information on the status of an application running in a user terminal is recorded, and confirming the status of the application;
Initializing the text file; And
And transmitting an operation command for testing the normal operation of the application to the user terminal according to the confirmed status.
상기 애플리케이션의 상태를 확인하는 단계는,
상기 텍스트 파일에 기록된 상기 애플리케이션의 로그 데이터(log data)를 수집하는 단계; 및
상기 수집된 로그 데이터에 기초하여 상기 애플리케이션에 의해 출력 중인 화면에 포함된 입력 객체를 확인하는 단계를 포함하는 것을 특징으로 하는 방법.The method according to claim 1,
Wherein the step of verifying the status of the application comprises:
Collecting log data of the application recorded in the text file; And
And checking an input object included in a screen being output by the application based on the collected log data.
상기 로그 데이터는 상기 애플리케이션에 대한 입력이 발생할 때마다 상기 텍스트 파일에 기록되는 것을 특징으로 하는 방법.3. The method of claim 2,
Wherein the log data is recorded in the text file whenever an input to the application occurs.
상기 동작 명령을 전송하는 단계는,
상기 애플리케이션에 의해 출력 중인 화면에 포함된 입력 객체에 입력을 수행하라는 명령을 전송하는 것을 특징으로 하는 방법.3. The method of claim 2,
Wherein the transmitting the operation command comprises:
And transmits an instruction to perform an input to an input object included in a screen being output by the application.
상기 수집된 로그 데이터에 기초하여 상기 애플리케이션에 대해서 수행 가능한 테스트 케이스(test case)들을 확인하는 단계;
상기 확인된 테스트 케이스들을 트리(tree) 구조로 나타내는 단계;
상기 트리 구조상의 노드들 중에서 중간 목표 및 최종 목표를 선택하는 테스트 요청을 수신하는 단계;
상기 중간 목표 및 최종 목표에 기초하여 상기 트리 구조상의 경로(path)를 설정하는 단계; 및
상기 설정된 경로에 따라 상기 애플리케이션에 대한 테스트를 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.3. The method of claim 2,
Identifying test cases that can be performed on the application based on the collected log data;
Representing the identified test cases in a tree structure;
Receiving a test request to select an intermediate target and an end target among the nodes on the tree structure;
Setting a path on the tree structure based on the intermediate goal and the final goal; And
And performing a test for the application according to the set path.
상기 경로를 설정하는 단계는,
상기 중간 목표 및 최종 목표를 포함하는 경로들 중에서 어느 하나의 경로를 미리 설정된 기준에 따라 선택하는 단계;
상기 선택된 경로를 화면에 표시하는 단계; 및
상기 선택된 경로에 대한 수정 요청을 수신하면, 상기 요청에 따라 상기 선택된 경로를 수정하는 단계를 포함하는 것을 특징으로 하는 방법.6. The method of claim 5,
The step of setting the path includes:
Selecting one of the paths including the intermediate target and the final target according to a preset reference;
Displaying the selected path on a screen; And
And modifying the selected path in response to the request, upon receiving a modification request for the selected path.
사용자 단말에서 실행 중인 애플리케이션의 상태에 대한 정보가 기록된 텍스트 파일에 접근하여, 상기 애플리케이션의 상태를 확인하고, 상기 텍스트 파일을 초기화하는 애플리케이션 상태 확인부; 및
상기 확인된 상태에 따라 상기 사용자 단말에 상기 애플리케이션의 정상 동작 여부를 테스트하기 위한 동작 명령을 전송하는 자동화 스크립트 모듈을 포함하는 장치.In an application test automation apparatus,
An application status verifying unit for accessing a text file in which information on the status of an application being executed in the user terminal is recorded, confirming the status of the application and initializing the text file; And
And transmits an operation command for testing whether the application is normally operated to the user terminal according to the checked status.
상기 애플리케이션 상태 확인부는,
상기 애플리케이션에 의해 상기 사용자 단말에서 출력 중인 화면에서 가능한 입력에 대한 정보를 확인하는 것을 특징으로 하는 장치.10. The method of claim 9,
Wherein the application state checking unit comprises:
Wherein the application verifies information about possible inputs on a screen being output by the user terminal.
상기 애플리케이션 상태 확인부는,
상기 텍스트 파일에 기록된 상기 애플리케이션의 로그 데이터(log data)를 수집하고, 상기 수집된 로그 데이터에 기초하여 상기 애플리케이션에 의해 출력 중인 화면에 포함된 입력 객체를 확인하는 것을 특징으로 하는 장치.11. The method of claim 10,
Wherein the application state checking unit comprises:
Collects log data of the application recorded in the text file, and confirms an input object included in a screen being output by the application based on the collected log data.
상기 로그 데이터는 상기 애플리케이션에 대한 입력이 발생할 때마다 상기 텍스트 파일에 기록되는 것을 특징으로 하는 장치.12. The method of claim 11,
Wherein the log data is recorded in the text file whenever an input to the application occurs.
상기 자동화 스크립트 모듈은,
상기 애플리케이션에 의해 출력 중인 화면에 포함된 입력 객체에 입력을 수행하라는 명령을 전송하는 것을 특징으로 하는 장치.12. The method of claim 11,
The automation script module includes:
And transmits an instruction to perform an input to an input object included in a screen being output by the application.
상기 애플리케이션 상태 확인부는,
상기 로그 데이터를 수집하면, 상기 텍스트 파일에서 상기 로그 데이터를 삭제하는 것을 특징으로 하는 장치.12. The method of claim 11,
Wherein the application state checking unit comprises:
And when the log data is collected, deletes the log data from the text file.
화면을 표시하고 사용자로부터 입력을 수신하기 위한 사용자 인터페이스부; 및
상기 애플리케이션에 대한 테스트 케이스(test case)들을 관리하기 위한 테스트 케이스 관리부를 더 포함하며,
상기 테스트 케이스 관리부는 상기 수집된 로그 데이터에 기초하여 상기 애플리케이션에 대해서 수행 가능한 테스트 케이스들을 확인하고, 상기 확인된 테스트 케이스들을 트리(tree) 구조로 나타내고,
상기 사용자 인터페이스부에서 상기 트리 구조상의 노드들 중에서 중간 목표 및 최종 목표를 선택하는 테스트 요청을 수신하면,
상기 테스트 케이스 관리부는 상기 중간 목표 및 상기 최종 목표에 기초하여 상기 트리 구조상의 경로(path)를 설정하고, 상기 설정된 경로에 따라 상기 애플리케이션에 대한 테스트를 수행하는 것을 특징으로 하는 장치.12. The method of claim 11,
A user interface unit for displaying a screen and receiving input from a user; And
Further comprising a test case management unit for managing test cases for the application,
Wherein the test case management unit identifies test cases that can be performed on the application based on the collected log data, represents the confirmed test cases in a tree structure,
Upon receiving a test request from the user interface unit to select an intermediate target and a final target among the nodes on the tree structure,
Wherein the test case management unit sets a path on the tree structure based on the intermediate target and the final target, and performs a test on the application according to the set path.
상기 테스트 케이스 관리부는 상기 중간 목표 및 최종 목표를 포함하는 경로들 중에서 어느 하나의 경로를 미리 설정된 기준에 따라 선택하고,
상기 사용자 인터페이스부는 상기 선택된 경로를 화면에 표시하고,
상기 사용자 인터페이스부를 통해 상기 선택된 경로에 대한 수정 요청을 수신하면, 상기 테스트 케이스 관리부는 상기 요청에 따라 상기 선택된 경로를 수정하는 것을 특징으로 하는 장치.16. The method of claim 15,
Wherein the test case management unit selects one of the paths including the intermediate target and the final target according to a preset reference,
The user interface unit displays the selected route on the screen,
Wherein the test case management unit, when receiving a modification request for the selected path through the user interface unit, modifies the selected path according to the request.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160180071A KR102635847B1 (en) | 2016-12-27 | 2016-12-27 | Apparatus and method for application test automation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160180071A KR102635847B1 (en) | 2016-12-27 | 2016-12-27 | Apparatus and method for application test automation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180076020A true KR20180076020A (en) | 2018-07-05 |
KR102635847B1 KR102635847B1 (en) | 2024-02-08 |
Family
ID=62920304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160180071A KR102635847B1 (en) | 2016-12-27 | 2016-12-27 | Apparatus and method for application test automation |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102635847B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782515A (en) * | 2020-06-23 | 2020-10-16 | 深圳市华宇讯科技有限公司 | Web application state detection method and device, server and storage medium |
CN112115039A (en) * | 2019-06-21 | 2020-12-22 | 百度在线网络技术(北京)有限公司 | Test case generation method, device and equipment |
CN113190439A (en) * | 2021-04-22 | 2021-07-30 | 北京百度网讯科技有限公司 | Test case execution method and device and electronic equipment |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990065780A (en) * | 1998-01-16 | 1999-08-05 | 구본준 | Software testing system |
KR20010046893A (en) * | 1999-11-16 | 2001-06-15 | 윤종용 | Method for testing computer system with power management automatically |
US20050273490A1 (en) * | 2004-05-21 | 2005-12-08 | Sandeep Shrivastava | Hierarchical debug |
JP2010250583A (en) * | 2009-04-16 | 2010-11-04 | Fujitsu Ltd | Program and method for generating application test, and application test device |
JP2011164785A (en) * | 2010-02-05 | 2011-08-25 | Nomura Research Institute Ltd | Device, method and program for verifying operation |
US20140172512A1 (en) * | 2012-12-14 | 2014-06-19 | International Business Machines Corporation | Efficiently generating test cases |
-
2016
- 2016-12-27 KR KR1020160180071A patent/KR102635847B1/en active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19990065780A (en) * | 1998-01-16 | 1999-08-05 | 구본준 | Software testing system |
KR20010046893A (en) * | 1999-11-16 | 2001-06-15 | 윤종용 | Method for testing computer system with power management automatically |
US20050273490A1 (en) * | 2004-05-21 | 2005-12-08 | Sandeep Shrivastava | Hierarchical debug |
JP2010250583A (en) * | 2009-04-16 | 2010-11-04 | Fujitsu Ltd | Program and method for generating application test, and application test device |
JP2011164785A (en) * | 2010-02-05 | 2011-08-25 | Nomura Research Institute Ltd | Device, method and program for verifying operation |
US20140172512A1 (en) * | 2012-12-14 | 2014-06-19 | International Business Machines Corporation | Efficiently generating test cases |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115039A (en) * | 2019-06-21 | 2020-12-22 | 百度在线网络技术(北京)有限公司 | Test case generation method, device and equipment |
CN112115039B (en) * | 2019-06-21 | 2023-09-19 | 百度在线网络技术(北京)有限公司 | Test case generation method, device and equipment |
CN111782515A (en) * | 2020-06-23 | 2020-10-16 | 深圳市华宇讯科技有限公司 | Web application state detection method and device, server and storage medium |
CN113190439A (en) * | 2021-04-22 | 2021-07-30 | 北京百度网讯科技有限公司 | Test case execution method and device and electronic equipment |
CN113190439B (en) * | 2021-04-22 | 2024-03-22 | 北京百度网讯科技有限公司 | Execution method and device of test case and electronic equipment |
Also Published As
Publication number | Publication date |
---|---|
KR102635847B1 (en) | 2024-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10387292B2 (en) | Determining application test results using screenshot metadata | |
US10866788B2 (en) | System and method for automated generation of integration elements modeling process flow for an integration process with a swagger API | |
WO2020233053A1 (en) | Method, apparatus, device, and storage medium for making test page script | |
WO2019196274A1 (en) | Web page testing method and apparatus, electronic device, and medium | |
KR102565360B1 (en) | Method and device for testing map service | |
US20190303269A1 (en) | Methods and systems for testing visual aspects of a web page | |
US20210333984A1 (en) | Method and apparatus for generating customized visualization component | |
CN110795148A (en) | Method and device for generating layout file and electronic equipment | |
US20210073108A1 (en) | Virtualized device-based test system and method thereof | |
US11245601B2 (en) | Automated integrated test system and method thereof | |
CN109684188B (en) | Test method and device | |
CN111209202A (en) | Terminal application testing method and device | |
CN111708599B (en) | Configuration diagram display method, device, equipment and storage medium | |
CN111045653B (en) | System generation method and device, computer readable medium and electronic equipment | |
US11422783B2 (en) | Auto-deployment of applications | |
CN113014445B (en) | Operation and maintenance method, device and platform for server and electronic equipment | |
US20200050534A1 (en) | System error detection | |
US20220012167A1 (en) | Machine Learning Based Test Coverage In A Production Environment | |
US9658933B2 (en) | Automatically modifying a test for a program on multiple electronic devices | |
KR20180076020A (en) | Apparatus and method for application test automation | |
CN112835579A (en) | Method and device for determining interface code, electronic equipment and storage medium | |
JP2023107749A (en) | Browser-based robotic process automation (RPA) robot design interface | |
US10997357B2 (en) | User interface navigation management | |
CN114868109B (en) | Automatic anchor point determination and target graphic element identification in user interface automation | |
US20160292067A1 (en) | System and method for keyword based testing of custom components |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |