KR20220049334A - Method and system for application test - Google Patents
Method and system for application test Download PDFInfo
- Publication number
- KR20220049334A KR20220049334A KR1020200132849A KR20200132849A KR20220049334A KR 20220049334 A KR20220049334 A KR 20220049334A KR 1020200132849 A KR1020200132849 A KR 1020200132849A KR 20200132849 A KR20200132849 A KR 20200132849A KR 20220049334 A KR20220049334 A KR 20220049334A
- Authority
- KR
- South Korea
- Prior art keywords
- test
- terminal
- application
- script
- terminals
- 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/3696—Methods or tools to render software testable
-
- 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/3676—Test management for coverage analysis
-
- 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/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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/3692—Test management for test results analysis
Abstract
Description
본 개시는 어플리케이션 테스트에 관한 것이다.This disclosure relates to application testing.
개발자는 어플리케이션의 동작에 이상이 있는지 테스트한 후, 어플리케이션을 배포한다. 어플리케이션 배포 후, 추가 기능이 개발되거나 기존 기능이 변경되면, 개발자는 어플리케이션을 다시 테스트한 후, 배포해야 한다. 개발자가 일일이 어플리케이션의 다양한 동작을 수동 테스트할 수 있으나, 시간 및 비용이 많이 필요하다. 셀레늄(selenium) 등과 같이 스크립트를 이용하여 자동으로 어플리케이션을 테스트하는 기술이 있으나, 단말 또는 서버를 각각 테스트하도록 구성되어 있거나, 전체 테스트 과정이 자동화되어 있지 않거나, 신규 서비스에 맞춰 테스트 프로그램을 다시 개발해야 하는 경우도 많이 있다. 한편, 개발자는 어플리케이션이 남긴 로그를 통해 테스트 결과를 확인할 수 있는데, 이를 위해 어플리케이션에 미리 테스트 코드를 넣어 개발해야 한다. 이로 인해 상용 어플리케이션에 테스트 코드와 기능 코드가 섞일 수 있다. After testing whether there is any abnormality in the operation of the application, the developer distributes the application. After application deployment, if additional functions are developed or existing functions are changed, the developer must test the application again before deploying. Developers can manually test various operations of the application, but it requires a lot of time and money. There is a technology that automatically tests an application using a script, such as selenium, but it is configured to test each terminal or server, the entire test process is not automated, or the test program needs to be redeveloped for a new service. There are many cases where On the other hand, the developer can check the test result through the log left by the application. For this, the test code must be developed in advance in the application. This can result in a mix of test and functional code in commercial applications.
특히, 단말간의 전화 발신 및 수신, 주문 요청 및 주문 수신 등 단말간 인터랙션 테스트는 동시적인(simultaneously) 테스트가 필요한 데, 수동 테스트가 쉽지 않고, 자동 테스트를 위해서는 테스트 코드를 어플리케이션에 넣어 개발해야 한다.In particular, inter-terminal interaction tests such as making and receiving calls between terminals, order request and order reception, etc. require simultaneous testing. Manual testing is not easy, and for automatic testing, test codes must be put into the application.
최근 패스트푸드에서 사용자 주문을 받는 키오스크 단말, 호텔에서 어메니티/컨시어지 요청을 받는 컨시어지 단말이 증가하고 있다. 단말을 통한 비대면 서비스가 증가하고, 단말의 종류가 다양화되어, 단말과 서버 사이 인터랙션이나 단말과 단말 사이 인터랙션의 무결성 검증을 빠르게 테스트하는 기술이 필요하다.Recently, kiosk terminals that receive user orders from fast food and concierge terminals that receive amenity/concierge requests from hotels are increasing. As non-face-to-face services through terminals increase and types of terminals are diversified, there is a need for a technology for quickly testing the integrity verification of an interaction between a terminal and a server or between a terminal and a terminal.
해결하고자 하는 과제는, 테스트 관리 서버가 테스트 단말 풀(pool)에서 인터랙션 테스트를 위한 단말 그룹을 선택하고, 단말 그룹으로 어플리케이션의 실행 동작이 정의된 스크립트를 제공한 후, 스크립트에 따라 어플리케이션이 실행된 결과를 획득하는 어플리케이션 테스트 방법을 제공하는 것이다.The task to be solved is that the test management server selects a terminal group for an interaction test from a test terminal pool, provides a script in which the execution operation of the application is defined to the terminal group, and then executes the application according to the script. It is to provide an application test method that obtains the result.
해결하고자 하는 과제는, 테스트를 위해 선택된 단말이 어플리케이션의 실행 동작이 정의된 스크립트에 따라 어플리케이션을 실행하고, 실행 결과를 테스트 관리 서버로 제공하는 어플리케이션 테스트 방법을 제공하는 것이다.An object to be solved is to provide an application test method in which a terminal selected for testing executes an application according to a script in which an execution operation of the application is defined, and provides an execution result to a test management server.
한 실시예에 따른 테스트 관리 서버의 동작 방법으로서, 단말들의 단말 정보를 포함하는 테스트 단말 등록 요청을 수신하는 단계, 상기 단말들의 단말 정보를 테스트 단말 풀(pool)에 저장하는 단계, 적어도 하나의 테스트 어플리케이션과, 상기 테스트 어플리케이션을 통한 인터랙션 실행 동작이 정의된 스크립트들을 포함하는 테스트 요청을 수신하는 단계, 상기 테스트 단말 풀에 저장된 단말 정보를 기초로, 상기 스크립트들 각각에 따라 상기 테스트 어플리케이션을 실행할 수 있는 테스트 단말들을 단말 그룹으로 선택하는 단계, 상기 테스트 단말들로 상기 테스트 어플리케이션과, 상기 스크립트들 중 지정된 스크립트를 전송하는 단계, 그리고 상기 테스트 단말들로부터, 상기 테스트 어플리케이션을 전송된 스크립트에 따라 실행한 실행 결과들을 수신하는 단계를 포함한다.A method of operating a test management server according to an embodiment, comprising: receiving a test terminal registration request including terminal information of terminals; storing terminal information of the terminals in a test terminal pool; at least one test Receiving a test request including an application and scripts in which an interaction execution operation through the test application is defined, based on terminal information stored in the test terminal pool, executing the test application according to each of the scripts Selecting test terminals as a terminal group, transmitting the test application and a specified one of the scripts to the test terminals, and executing the test application from the test terminals according to the transmitted script and receiving results.
상기 테스트 단말들을 단말 그룹으로 선택하는 단계는 각 스크립트가 테스트하는 역할에 따라 상기 테스트 단말 풀에서, 상기 역할을 수행할 테스트 단말을 선택할 수 있다.In the step of selecting the test terminals as a terminal group, a test terminal to perform the role may be selected from the test terminal pool according to a role tested by each script.
상기 스크립트들 중 지정된 스크립트를 전송하는 단계는 각 테스트 단말로 역할에 해당하는 스크립트를 전송할 수 있다.The step of transmitting a specified script among the scripts may transmit a script corresponding to a role to each test terminal.
상기 스크립트들은 상기 테스트 어플리케이션의 통화 기능을 테스트하는 발신측 스크립트와 수신측 스크립트를 포함할 수 있다. 상기 발신측 스크립트는 발신자 역할을 수행하는 테스트 단말로 전송되고, 상기 수신측 스크립트는 수신자 역할을 수행하는 테스트 단말로 전송될 수 있다.The scripts may include a calling-side script and a receiving-side script for testing the call function of the test application. The sender script may be transmitted to a test terminal serving as a sender, and the receiver script may be transmitted to a test terminal serving as a receiver.
상기 실행 결과를 수신하는 단계는 상기 테스트 단말들 중 적어도 일부의 테스트 단말들로 스크립트 실행 명령을 전송하고, 상기 스크립트 실행 명령을 수신한 테스트 단말들로부터, 상기 테스트 어플리케이션을 전송된 스크립트에 따라 실행한 실행 결과를 수신할 수 있다.The receiving of the execution result includes transmitting a script execution command to at least some of the test terminals and executing the test application according to the transmitted script from the test terminals receiving the script execution command. You can receive the execution result.
상기 테스트 단말 등록 요청은 테스트 관리 프로그램을 설치한 단말로부터 수신할 수 있다.The test terminal registration request may be received from a terminal in which the test management program is installed.
상기 단말 정보는 어플리케이션 테스트를 요구되는 소프트웨어 정보 및 하드웨어 정보를 포함할 수 있다.The terminal information may include software information and hardware information required for application testing.
상기 스트립트들은 서버 단말과 클라이언트 단말 사이의 인터랙션 테스트를 위한 서버측 스크립트 및 클라이언트측 스크립트를 포함하거나, 제1 클라이언트 단말과 제2 클라이언트 단말 사이의 인터랙션 테스트를 위한 제1 클라이언트측 스크립트 및 제2 클라이언트측 스크립트를 포함하거나, 서버 단말과 복수의 클라이언트 단말들 사이의 1: N 인터랙션 테스트를 위한 복수의 스크립트들을 포함할 수 있다.The scripts include a server-side script and a client-side script for testing an interaction between a server terminal and a client terminal, or a first client-side script and a second client-side script for testing an interaction between the first client terminal and the second client terminal It may include a script or a plurality of scripts for a 1:N interaction test between the server terminal and a plurality of client terminals.
상기 동작 방법은 상기 실행 결과들을 포함하는 테스트 결과를 상기 테스트 요청에 대한 응답으로 제공하는 단계를 더 포함할 수 있다.The operating method may further include providing a test result including the execution results in response to the test request.
한 실시예에 따른 단말의 동작 방법으로서, 테스트 관리 프로그램을 설치하고, 단말 정보를 포함하는 테스트 단말 등록 요청을 테스트 관리 서버로 전송하는 단계, 상기 테스트 관리 서버로부터 테스트 어플리케이션 및 스크립트를 수신하는 단계, 상기 스크립트에 따라 상기 테스트 어플리케이션을 동작시키고, 상기 테스트 어플리케이션의 실행 결과들을 획득하는 단계, 그리고 상기 테스트 관리 서버로 상기 실행 결과들을 전송하는 단계를 포함한다.A method of operating a terminal according to an embodiment, comprising: installing a test management program, transmitting a test terminal registration request including terminal information to a test management server; receiving a test application and a script from the test management server; operating the test application according to the script, obtaining execution results of the test application, and transmitting the execution results to the test management server.
상기 실행 결과들을 획득하는 단계는 상기 스크립트에 따라 동작한 상기 테스트 어플리케이션의 동작 정보로부터 상기 어플리케이션의 화면을 구성하는 컨트롤의 정보를 확인하고, 상기 컨트롤의 정보를 기초로 상기 테스트 어플리케이션의 실행 결과들을 확인할 수 있다.In the obtaining of the execution results, the information of the control constituting the screen of the application is checked from the operation information of the test application operated according to the script, and the execution results of the test application are checked based on the information of the control. can
실시예에 따르면, 어플리케이션의 인터랙션 기능을 어플리케이션과 별도의 스크립트로 자동 테스트할 수 있어서, 어플리케이션에 독립된 테스트 환경을 구축할 수 있고, 인터랙션 기능을 단말들에서 동시에 확인할 수 있으며, 어플리케이션의 기능이 추가되거나 변경되면, 스크립트를 변경해서 추가되거나 변경된 기능을 테스트할 수 있다.According to an embodiment, since the interaction function of the application can be automatically tested with a script separate from the application, a test environment independent of the application can be built, the interaction function can be checked simultaneously on terminals, and the function of the application is added or If it changes, you can change the script to test the added or changed functionality.
실시예에 따르면, 어플리케이션에 테스트를 위한 코드를 삽입할 필요 없이 어플리케이션을 개발한 후에 테스트를 할 수 있다.According to the embodiment, it is possible to test the application after developing the application without needing to insert a test code into the application.
실시예에 따르면, 단말 화면을 통해 어플리케이션의 실행 결과를 확인할 수 있고, 단말에서의 실행 결과가 기록된 로그파일을 분석할 필요 없이, 단말 화면 정보(UI)로부터 가져온 실행 결과를 통해 테스트 결과를 확인할 수 있다.According to the embodiment, it is possible to check the execution result of the application through the terminal screen, and to check the test result through the execution result obtained from the terminal screen information (UI) without the need to analyze the log file in which the execution result is recorded in the terminal can
실시예에 따르면, 개발자는 테스트 대상인 어플리케이션과, 어플리케이션의 인터랙션 실행 동작이 정의된 스크립트들을 테스트 관리 서버에 등록하면, 테스트 관리 서버에서 선택된 단말이 어플리케이션의 실행 동작이 정의된 스크립트를 실행한 결과를 테스트 관리 서버로부터 획득할 수 있다. 따라서, 실시예에 따르면, 개발자는 단말에 어플리케이션을 설치하고 테스트하는 테스트 환경을 구축할 필요 없고, 복잡한 테스트 과정을 거칠 필요 없이, 어플리케이션의 인터랙션 실행 동작이 정의된 스크립트들을 등록하는 간단한 절차만으로 어플리케이션을 테스트할 수 있다.According to the embodiment, when the developer registers the application to be tested and the scripts in which the interaction execution operation of the application is defined in the test management server, the terminal selected in the test management server executes the script in which the execution operation of the application is defined. It can be obtained from the management server. Therefore, according to the embodiment, the developer does not need to build a test environment to install and test the application in the terminal, and without the need to go through a complicated test process, the application can be implemented with only a simple procedure of registering scripts in which the interaction execution operation of the application is defined. can be tested
도 1은 한 실시예에 따른 테스트 시스템의 구성도이다.
도 2는 한 실시예에 따른 인터랙션 테스트 환경을 설명하는 도면이다.
도 3은 한 실시예에 따른 인터랙션 테스트를 예시적으로 설명하는 도면이다.
도 4는 한 실시예에 따른 테스트 관리 서버가 어플리케이션 테스트하는 방법의 흐름도이다.
도 5는 한 실시예에 따른 테스트 단말이 어플리케이션 테스트하는 방법의 흐름도이다.
도 6은 한 실시예에 따른 테스트 관리 서버의 구성도이다.
도 7은 한 실시예에 따른 테스트 단말의 구성도이다.1 is a configuration diagram of a test system according to an embodiment.
2 is a diagram illustrating an interaction test environment according to an exemplary embodiment.
3 is a diagram exemplarily illustrating an interaction test according to an embodiment.
4 is a flowchart of a method for a test management server to test an application according to an embodiment.
5 is a flowchart of a method for a test terminal to test an application according to an embodiment.
6 is a configuration diagram of a test management server according to an embodiment.
7 is a configuration diagram of a test terminal according to an embodiment.
아래에서는 첨부한 도면을 참고로 하여 본 개시의 실시예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, the embodiments of the present disclosure will be described in detail so that those of ordinary skill in the art to which the present disclosure pertains can easily implement them. However, the present disclosure may be implemented in several different forms and is not limited to the embodiments described herein. And in order to clearly explain the present disclosure in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.
명세서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 네트워크를 구성하는 장치들은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In the specification, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. The devices constituting the network may be implemented by hardware or software or a combination of hardware and software.
명세서에서, 서버 및 단말은 적어도 하나의 프로세서에 의해 동작하는 장치로서, 하나 이상의 프로세서, 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드하는 메모리, 프로그램 및 각종 데이터를 저장하는 스토리지, 통신 인터페이스를 포함할 수 있다. 컴퓨터 프로그램은 메모리에 로드될 때 프로세서로 하여금 본 개시의 다양한 실시예에 따른 방법/동작을 수행하도록 하는 명령어들(instruction)을 포함할 수 있다. 즉, 프로세서는 명령어들을 실행함으로써, 본 개시의 다양한 실시예에 따른 방법/동작들을 수행할 수 있다. 명령어는 기능을 기준으로 묶인 일련의 컴퓨터 판독가능 명령어들로서 컴퓨터 프로그램의 구성 요소이자 프로세서에 의해 실행되는 것을 가리킨다.In the specification, the server and the terminal are devices operated by at least one processor, and may include one or more processors, a memory for loading a computer program executed by the processor, a storage for storing programs and various data, and a communication interface. . A computer program may include instructions that, when loaded into memory, cause a processor to perform methods/operations according to various embodiments of the present disclosure. That is, the processor may perform the method/operations according to various embodiments of the present disclosure by executing the instructions. An instruction refers to a set of computer readable instructions grouped by function, which is a component of a computer program and is executed by a processor.
도 1은 한 실시예에 따른 테스트 시스템의 구성도이고, 도 2는 한 실시예에 따른 인터랙션 테스트 환경을 설명하는 도면이다.1 is a configuration diagram of a test system according to an embodiment, and FIG. 2 is a diagram for explaining an interaction test environment according to an embodiment.
도 1을 참고하면, 테스트 시스템(1)은 테스트 관리 서버(100), 테스트 관리 서버(100)에 테스트 단말로 등록된 복수의 단말들(200a, 200b, …., 200n), 그리고 개발자 단말(300)을 포함할 수 있다. 테스트 단말로 등록된 단말들은 범용 모바일 단말일 수 있고, 특정 서비스를 위해 제작된 전용 단말일 수 있다. Referring to FIG. 1 , the
단말들(200a, 200b, …., 200n)은 테스트 어플리케이션을 설치 및 실행할 수 있는 다양한 타입의 단말일 수 있고, 예를 들면, 모바일 단말, PC 단말, 노트북 단말, 키오스크 단말, 로봇 단말, IoT 단말, 네비게이션 단말 등 다양할 수 있다. 일부 단말들은 서버 기능을 테스트할 수 있는 자원을 가지고 있고, 서버에서 동작하는 서버 테스트 어플리케이션을 테스트할 수 있다고 가정한다. 또한, 일부 단말들은 테스트에 사용되는 단말(예를 들면, 키오스크 단말이나 로봇 단말)의 에뮬레이터를 탑재할 수 있다. 일부 단말들은 테스트 관리 프로그램을 설치하고, 직접 테스트 관리 서버(100)에 연결될 수 있다. 테스트 관리 프로그램을 설치할 수 없어서, 직접 테스트 관리 서버(100)에 연결되기 어려운 일부 단말들(예를 들면, 로봇 단말)은 중계 단말(400)을 통해 테스트 관리 서버(100)에 연결될 수 있다. 중계 단말(400)에 복수의 단말들이 연결될 수 있다. 중계 단말(400)은 테스트 관리 프로그램을 설치할 수 있고, 테스트 단말들이 유무선으로 연결될 수 있는 단말이면 충분하고, 예를 들면, 노트북 단말일 수 있다.The
예를 들면, 단말(200a)은 테스트 관리 프로그램을 설치하고, 테스트 관리 프로그램을 통해 테스트 관리 서버(100)에 연결되고, 단말 정보를 테스트 관리 서버(100)에 전송하여 등록 요청할 수 있다. 테스트 관리 프로그램은 실행된 단말의 정보를 추출해서, 테스트 관리 서버(100)로 전송하고, 등록 요청하는 명령어들을 포함할 수 있다. For example, the
또는, 중계 단말(400)이 테스트 관리 프로그램을 설치하고, 테스트 관리 프로그램을 통해 테스트 관리 서버(100)에 연결되고, 연결된 단말들(200c, 200d, 200e)의 정보를 추출해서, 테스트 관리 서버(100)로 전송하고, 단말들(200c, 200d, 200e)의 등록을 요청할 수 있다. 테스트 관리 서버(100)는 중계 단말(400)과 단말들(200c, 200d, 200e)을 매핑하여 등록할 수 있다. 단말들(200c, 200d, 200e)은 중계 단말(400)의 제어에 따라 어플리케이션을 실행할 수 있다.Alternatively, the
테스트 관리 서버(100)는 테스트에 사용되는 다양한 종류의 단말들(200a, 200b, …., 200n)을 테스트 단말 풀(pool)에 등록하고, 단말 정보를 관리한다. 단말 정보는 테스트 대상인 어플리케이션을 실행하고 테스트할 수 있는지를 판단하는데 요구되는 소프트웨어 정보, 하드웨어 정보, 설정 정보 등을 포함할 수 있다. 예를 들면, 단말 정보는 설치된 운영체제, 운영체제 버전, IP 주소, 전화 번호, 가입된 통신사 정보, 제조사 정보, 카메라, 마이크, 디스플레이 크기, 센서 종류, 프로세서, 메모리 등을 포함할 수 있다. 단말 정보는 단말 타입을 더 포함할 수 있다.The
테스트 관리 서버(100)는 개발자 단말(300)로부터, 테스트 대상인 적어도 하나의 테스트 어플리케이션과, 테스트 어플리케이션의 인터랙션 실행 동작이 정의된 스크립트를 포함하는 테스트 요청을 수신한다. 테스트 대상인 테스트 어플리케이션은 클라이언트 단말에 설치되는 테스트 어플리케이션을 포함할 수 있고, 스크립트는 클라이언트 단말 간의 인터랙션 테스트를 위해 작성된 실행 동작들을 포함할 수 있다. 테스트 대상인 테스트 어플리케이션은 클라이언트 단말에 설치되는 클라이언트 테스트 어플리케이션과, 서버에 설치되는 서버 테스트 어플리케이션을 포함할 수 있다. 이 경우, 스크립트는 클라이언트 단말과 서버 간의 인터랙션 테스트를 위해 작성된 실행 동작들을 포함할 수 있다.The
스크립트는 테스트 어플리케이션의 실행 환경, 테스트 어플리케이션의 테스트 항목, 테스트 절차, 실행 시 기록 정보, 에러 시 기록 정보 등이 정의될 수 있다. 예를 들면, 테스트 어플리케이션의 통화 기능을 테스트하는 스크립트는 발신측 스크립트와 수신측 스크립트를 포함할 수 있다. 발신측 스크립트는 테스트 어플리케이션을 실행해서 지정된 수신자에게 통화 발신하고, 통화 종료 시 실행 결과(예를 들면, 통화 성공 여부)를 기록하도록 정의될 수 있다. 수신측 스크립트는 테스트 어플리케이션을 실행해서 대기하고, 전화가 오면 통화 버튼을 선택(예를 들면, 터치 또는 스와이프)하여 통화 수락하고, 통화 종료 시 실행 결과(예를 들면, 통화 성공 여부)를 기록하도록 정의될 수 있다.In the script, the execution environment of the test application, the test item of the test application, the test procedure, execution record information, error record information, etc. may be defined. For example, a script for testing the call function of the test application may include a calling-side script and a receiving-side script. The caller script may be defined to execute a test application, transmit a call to a designated recipient, and record an execution result (eg, call success or failure) when the call is terminated. The script on the receiving side runs the test application and waits, when a call comes in, selects the call button (for example, by touching or swiping) to accept the call, and when the call ends, the execution result (for example, call success or not) is recorded. can be defined to
테스트 관리 서버(100)는 테스트 요청에 포함된 테스트 어플리케이션 및 스크립트에 식별자를 부여할 수 있다. 테스트 관리 서버(100)는 테스트 요청에 포함된 테스트 어플리케이션의 테스트 스케줄을 설정할 수 있다. The
테스트 관리 서버(100)는 테스트 요청에 포함된 스크립트의 오류를 분석하고, 테스트 요청한 개발자에게 오류 정보를 제공하여 수정할 수 있도록 하거나, 지정된 방식으로 오류를 수정할 수 있다.The
테스트 관리 서버(100)는 테스트 스케줄을 기초로 테스트 시점이 되면, 다음의 동작을 수행할 수 있다.The
테스트 관리 서버(100)는 테스트 대상인 테스트 어플리케이션 및 스크립트를 확인하고, 테스트 단말 풀에 등록된 단말 정보를 기초로, 테스트 어플리케이션 및 스크립트를 실행하여 테스트할 수 있는 단말 그룹을 선택할 수 있다. 예를 들어, 테스트 관리 서버(100)는 테스트 어플리케이션에서 제공하는 일대일 통신 기능을 테스트하는 경우, 발신측 단말과 수신측 단말을 선택할 수 있다. 테스트 관리 서버(100)는 테스트 어플리케이션에서 제공하는 다자간 통신 기능을 테스트하는 경우, 그룹 통화를 위한 복수의 단말들을 선택할 수 있다. The
테스트 관리 서버(100)는 테스트 어플리케이션에서 제공하는 서버와 단말 사이의 통신 기능을 테스트하는 경우, 서버 역할을 하는 단말과 클라이언트 역할을 하는 단말을 선택할 수 있다. 예를 들면, 콜센터에서 사용하는 영상통화단말과 이와 연동하는 웹서버 사이의 테스트인 경우, 웹 브라우저를 실행할 수 있는 단말이 웹서버로 선택되고, 영상통화단말의 기능을 실행할 수 있는 사양의 안드로이드 단말이 선택될 수 있다. 선택된 단말들은 미리 정의된 스크립트를 통해서 테스트 정보를 얻고, 실할 수 있다. 이를 통해, 웹서버에서 각 영상통화단말로 전화를 걸고, 영상통화단말은 전화를 받아 일정시간 대기 후, 종료하는 기능의 테스트가 진행될 수 있고, 테스트를 위해 선택된 단말들은 실행 결과를 테스트 관리 서버(100)로 전송할 수 있다.When testing the communication function between the server and the terminal provided by the test application, the
테스트 관리 서버(100)는 선택된 단말 그룹으로 테스트 어플리케이션 및 스크립트를 전송할 수 있다. 이때, 테스트 관리 서버(100)는 테스트 관리 프로그램을 통해 스크립트를 직접 실행할 수 있는 단말(200a)이라면 스크립트 실행 명령을 전송하고, 스크립트 실행 명령을 수신한 단말(200a)은 스크립트에 따라 테스트 어플리케이션을 동작시키고, 실행 결과를 기록할 수 있다. 또는, 선택된 단말 그룹에서 중계 단말(400)을 통해 테스트에 참여하는 단말(200c)이 있으면, 테스트 관리 서버(100)는, 테스트에 참여하는 단말들이 연결된 중계 단말(400)로, 테스트 어플리케이션 및 스크립트와 함께 외부 제어 요청을 전송할 수 있다. 그러면, 중계 단말(400)이 단말(200c)에 테스트 어플리케이션을 설치하고, 스크립트에 따라 단말(200c)의 테스트 어플리케이션을 동작시키고, 실행 결과를 기록할 수 있다.The
테스트 관리 서버(100)는 선택된 단말 그룹으로부터 실행 결과들을 수신하고, 실행 결과들을 포함하는 테스트 결과를 개발자 단말(300)에게 제공할 수 있다.The
한편, 단말 화면(UI) 정보를 통해 어플리케이션의 실행 결과가 확인될 수 있다. 먼저, UI는 컨트롤의 조합이고, 각 컨트롤은 고유의 이름과 고유 ID를 가지고 있다. 따라서, 테스트 관리 서버(100) 또는 테스트 단말은 다양한 방법으로 단말에서 실행된 화면 정보를 얻을 수 있다. 예를 들면, 안드로이드 단말에 설치된 UIAutomator를 통해, 실행된 어플리케이션의 화면 정보가 획득되고, 컨트롤 존재 여부나 화면변경을 통해 확인될 수 있다. 또는, 셀레늄을 통해, 텍스트 박스 같은 웹 컨트롤의 값이 조회되거나 자바스크립트가 실행될 수 있다. 윈도우의 경우, 고유 ID를 가지는 화면 컨트롤의 핸들을 통해 컨트롤의 내용이 획득될 수 있습니다. On the other hand, the execution result of the application may be confirmed through the terminal screen (UI) information. First, the UI is a collection of controls, and each control has a unique name and unique ID. Accordingly, the
다음에서, 테스트 관리 서버(100)가 어플리케이션 테스트를 위해 단말(200a)과 단말(200b)을 테스트 단말로 선택한 경우를 예로 들어 설명한다.Hereinafter, a case in which the
도 2를 참고하면, 테스트 관리 서버(100)는 개발자 단말(300)로부터, 테스트 요청을 수신하고, 테스트 요청에 포함된 클라이언트 테스트 어플리케이션(10), 서버 테스트 어플리케이션(20), 그리고 클라이언트와 서버 간의 인터랙션 테스트를 위한 실행 동작들이 포함된 스크립트를 저장한다고 가정한다. 이때, 스크립트는 클라이언트 테스트 어플리케이션의 테스트를 위한 클라이언트측 스크립트(11)와 서버 테스트 어플리케이션의 테스트를 위한 서버측 스크립트(21)를 포함할 수 있다. 클라이언트측 스크립트(11)와 서버측 스크립트(21)는, 클라이언트와 서버의 인터랙션을 테스트하기 위해 서로 주고받는 절차를 포함할 수 있다.Referring to FIG. 2 , the
테스트 관리 서버(100)는 테스트 단말 풀에 등록된 단말 정보를 기초로, 단말(200a)과 단말(200b)을 테스트를 위한 클라이언트 단말과 서버 단말로 선택할 수 있다. 단말(200a)과 단말(200b) 각각은 테스트 관리 프로그램(30, 32)을 탑재하고, 테스트 관리 프로그램을 통해 스크립트를 실행하여 어플리케이션을 동작시키고, 어플리케이션의 실행 결과를 기록할 수 있다고 가정한다.The
테스트 관리 서버(100)는 단말(200a)로 클라이언트 테스트 어플리케이션(10)과 클라이언트측 스크립트(11)를 전송하고, 단말(200b)로 서버 테스트 어플리케이션(20)과 서버측 스크립트(21)를 전송할 수 있다. 테스트 관리 서버(100)는 단말(200a)과 단말(200b)로 스크립트 실행 명령을 전송할 수 있다. The
이때, 테스트 관리 서버(100)는 스크립트의 테스트 항목에서 요구되는 단말 정보(예를 들면, 전화 번호나 IP 주소)를 확인하고, 테스트 단말 풀에 저장된 단말 정보에서 선택된 단말(200a, 200b)의 정보를 추출한 후, 단말(200a, 200b)로 전송할 스크립트를 완성할 수 있다. At this time, the
단말(200a)은 클라이언트 테스트 어플리케이션(10)과 클라이언트측 스크립트(11)를 다운로드하고, 스크립트 실행 명령을 수신한 테스트 관리 프로그램(30)이 클라이언트측 스크립트(11)에 따라 클라이언트 테스트 어플리케이션(10)을 동작시킨다.The
단말(200b)은 서버 테스트 어플리케이션(20)과 서버측 스크립트(21)를 저장하고, 스크립트 실행 명령을 수신한 테스트 관리 프로그램(32)이 서버측 스크립트(21)에 따라 서버 테스트 어플리케이션(20)을 동작시킨다.The terminal 200b stores the
테스트 관리 프로그램(30)은 테스트 관리 서버(100)로부터 스크립트 실행 명령을 수신하면, 클라이언트측 스크립트(11)를 실행하여 클라이언트 테스트 어플리케이션(10)을 동작시키고, 어플리케이션의 실행 결과를 테스트 관리 서버(100)로 전송할 수 있다.When the
테스트 관리 프로그램(32)은 테스트 관리 서버(100)로부터 스크립트 실행 명령을 수신하면, 서버측 스크립트(21)를 실행하여 서버 테스트 어플리케이션(20)을 동작시키고, 어플리케이션의 실행 결과를 테스트 관리 서버(100)로 전송할 수 있다.When the
테스트 관리 서버(100)는 단말(200a)과 단말(200b)로부터 실행 결과들을 수신하고, 실행 결과들을 실행 결과 저장소(50)에 저장할 수 있다. 테스트 관리 서버(100)는 개발자 단말(300)에게 테스트 결과 페이지를 제공하고, 테스트 결과 페이지에서 실행 결과 저장소(50)에 저장된 실행 결과를 표시할 수 있다. The
도 3은 한 실시예에 따른 인터랙션 테스트를 예시적으로 설명하는 도면이다.3 is a diagram exemplarily illustrating an interaction test according to an embodiment.
도 3을 참고하면, 단말(200a)은 클라이언트 테스트 어플리케이션(10)과 테스트 관리 프로그램(30)을 탑재하고, 테스트 관리 프로그램(30)이 클라이언트측 스크립트(11)를 실행해서 클라이언트 테스트 어플리케이션(10)를 동작시키는데, 클라이언트 테스트 어플리케이션(10)은 객실 단말에 설치되는 객실 어플리케이션일 수 있다.Referring to FIG. 3 , the terminal 200a is equipped with a
단말(200b)은 서버 테스트 어플리케이션(20)과 테스트 관리 프로그램(32)을 탑재하고, 테스트 관리 프로그램(32)이 서버측 스크립트(21)를 실행해서 서버 테스트 어플리케이션(20)를 동작시키는데, 서버 테스트 어플리케이션(20)은 호텔 프론트 단말이나 호텔 관리 서버에 설치되는 객실 관리 어플리케이션일 수 있다. The terminal 200b is loaded with the
클라이언트 테스트 어플리케이션(10)과 서버 테스트 어플리케이션(20)은 WebRTC(Web Real-Time Communication) 기반으로, 음성 통화, 영상 통화, 또는 채팅 등의 서비스를 제공한다고 가정한다. 이때, 클라이언트 테스트 어플리케이션(10)과 서버 테스트 어플리케이션(20)의 통화 기능을 테스트하는 경우, 서버측 스크립트(21)는 세션이 생성되는 수신자 정보(예를 들면, 1001호)가 기재되어 있고, 서버 테스트 어플리케이션(20)을 실행해서 수신자에게 통화 발신하고, 통화 종료 시 실행 결과(예를 들면, 통화 성공 여부, 착발신 시각, 통화 시간)를 기록하도록 정의될 수 있다. 클라이언트측 스크립트(11)는 클라이언트 테스트 어플리케이션(10)을 실행하고, 전화가 오면 통화 버튼을 선택(예를 들면, 터치 또는 스와이프)하여 통화 수락하고, 일정 시간 후 종료 버튼을 선택하여 통화 종료한 후, 실행 결과(예를 들면, 통화 성공 여부, 착발신 시각, 통화 시간)를 기록하도록 정의될 수 있다.It is assumed that the
테스트 관리 프로그램(32)은 서버측 스크립트(21)에 따라 객실 관리 어플리케이션인 서버 테스트 어플리케이션(20)을 실행하고, 서버 테스트 어플리케이션(20)이 수신자에게 통화 발신하도록 제어하고, 서버 테스트 어플리케이션(20)이 통화 종료 시 실행 결과(예를 들면, 통화 성공 여부, 착발신 시각, 통화 시간)를 기록하도록 제어할 수 있다. 그리고, 테스트 관리 프로그램(32)은 서버 테스트 어플리케이션(20)에 기록된 실행 결과를 획득하여 테스트 관리 서버(100)로 전송할 수 있다.The
테스트 관리 프로그램(30)은 클라이언트측 스크립트(11)에 따라 객실 어플리케이션인 클라이언트 테스트 어플리케이션(20)을 실행하고, 클라이언트 테스트 어플리케이션(20)이 전화가 오면 통화 버튼을 선택하도록 제어하고, 클라이언트 테스트 어플리케이션(20)이 일정 시간 후 종료 버튼을 선택하도록 제어하며, 통화 종료 후 실행 결과를 기록하도록 제어할 수 있다. 테스트 관리 프로그램(30)은 클라이언트 테스트 어플리케이션(20)에 기록된 실행 결과를 획득하여 테스트 관리 서버(100)로 전송할 수 있다.The
한편, 테스트 관리 서버(100)는 복수의 객실 단말들에 탑재된 객실 어플리케이션들과 프론트 단말에 설치되는 객실 관리 어플리케이션의 인터랙션 테스트가 요청되는 경우, 객실 단말들과 프론트 단말에 해당하는 복수의 테스트 단말들을 선택하고, 선택된 복수의 테스트 단말들 중 객실 단말에 해당하는 테스트 단말들로 클라이언트 테스트 어플리케이션과 클라이언트측 스크립트를 전송하고, 프론트 단말에 해당하는 테스트 단말로 서버 테스트 어플리케이션과 서버측 스크립트를 전송할 수 있다. 이때, 각 테스트 단말로 전송되는 스크립트는 테스트 시나리오에 따라 결정된 인터랙션 실행 동작들이 정의될 수 있다.On the other hand, the
도 4는 한 실시예에 따른 테스트 관리 서버가 어플리케이션 테스트하는 방법의 흐름도이다.4 is a flowchart of a method for a test management server to test an application according to an embodiment.
도 4를 참고하면, 테스트 관리 서버(100)는 테스트 단말 등록 요청을 수신한다(S110). 테스트 관리 서버(100)는 테스트 관리 프로그램을 설치한 단말들로부터 자신의 단말 정보를 포함하는 테스트 단말 등록 요청을 수신할 수 있다. 테스트 관리 서버(100)는 테스트 관리 프로그램을 설치한 중계 단말(400)로부터, 연결된 단말 정보를 포함하는 테스트 단말 등록 요청을 수신할 수 있다. 단말 정보는 테스트 대상인 어플리케이션을 실행하고 테스트할 수 있는지를 판단하는데 요구되는 소프트웨어 정보, 하드웨어 정보, 설정 정보 등을 포함할 수 있다. 예를 들면, 단말 정보는 설치된 운영체제, 운영체제 버전, IP 주소, 전화 번호, 가입된 통신사 정보, 제조사 정보, 카메라, 마이크, 디스플레이 크기, 센서 종류, 프로세서, 메모리 등을 포함할 수 있다. Referring to FIG. 4 , the
테스트 관리 서버(100)는 테스트 단말 등록 요청에 포함된 단말 정보를 확인하고, 테스트 단말들을 테스트 단말 풀에 등록한다(S120).The
테스트 관리 서버(100)는 개발자 단말(300)로부터, 적어도 하나의 테스트 어플리케이션과, 테스트 어플리케이션을 통한 인터랙션 실행 동작이 정의된 스크립트들을 포함하는 테스트 요청을 수신한다(S130). 각 스크립트는 단말들 사이의 인터랙션 테스트를 위해 작성된 실행 동작들을 포함할 수 있고, 테스트 어플리케이션의 실행 환경, 테스트 어플리케이션의 테스트 항목, 테스트 절차, 실행 시 기록 정보, 에러 시 기록 정보 등이 정의될 수 있다. 예를 들어, 스트립트들은 서버 단말과 클라이언트 단말 사이의 인터랙션 테스트를 위한 서버측 스크립트 및 클라이언트측 스크립트를 포함할 수 있다. 스트립트들은 제1 클라이언트 단말과 제2 클라이언트 단말 사이의 인터랙션 테스트를 위한 제1 클라이언트측 스크립트 및 제2 클라이언트측 스크립트를 포함할 수 있다. 스트립트들은 서버 단말과 복수의 클라이언트 단말들 사이의 1: N 인터랙션 테스트를 위한 복수의 스크립트들을 포함할 수 있다.The
테스트 관리 서버(100)는 테스트 요청된 테스트 어플리케이션 및 스크립트들을 확인하고, 테스트 단말 풀에 등록된 단말 정보를 기초로, 테스트 어플리케이션 및 스크립트를 실행하여 테스트할 수 있는 단말 그룹을 선택한다(S140). 테스트 관리 서버(100)는 각 스크립트가 테스트하는 역할(예를 들면, 수신 단말, 발신 단말)에 따라 단말을 선택하고, 각 단말의 역할에 해당하는 스크립트를 제공할 수 있다.The
테스트 관리 서버(100)는 선택된 단말 그룹으로 테스트 어플리케이션 및 스크립트들을 전송한다(S150). 테스트 관리 서버(100)는 단말 그룹에 속하는 테스트 단말의 역할에 맞춰 스크립트를 전송할 수 있다.The
테스트 관리 서버(100)는 선택된 단말 그룹 중 적어도 일부의 테스트 단말들로 스크립트 실행 명령을 전송한다(S160). 예를 들면, 서버 단말과 복수의 클라이언트 단말들 간의 1: N 인터랙션 테스트인 경우, 테스트 관리 서버(100)는 클라이언트 단말들에게 순차적으로 스크립트 실행 명령을 전송할 수 있다. 또는 서버 단말과 클라이언트 단말의 인터랙션 테스트이거나, 클라이언트 단말과 클라이언트 단말의 인터랙션 테스트인 경우라면, 테스트 관리 서버(100)는 두 단말들로 스크립트 실행 명령을 전송할 수 있다.The
테스트 관리 서버(100)는 선택된 단말 그룹으로부터 실행 결과들을 수신한다(S170).The
테스트 관리 서버(100)는 실행 결과들을 포함하는 테스트 결과를 개발자 단말(300)에게 제공한다(S180). 테스트 관리 서버(100)는 테스트 결과를 테스트 요청에 대한 응답으로 제공할 수 있다.The
도 5는 한 실시예에 따른 테스트 단말이 어플리케이션 테스트하는 방법의 흐름도이다.5 is a flowchart of a method for a test terminal to test an application according to an embodiment.
도 5를 참고하면, 단말(200a)은 테스트 관리 프로그램을 설치하고, 자신의 단말 정보를 포함하는 테스트 단말 등록 요청을 테스트 관리 서버(100)로 전송한다(S210).Referring to FIG. 5 , the terminal 200a installs a test management program and transmits a test terminal registration request including its own terminal information to the test management server 100 ( S210 ).
단말(200a)은 테스트 관리 서버(100)로부터 테스트 어플리케이션 및 스크립트를 수신한다(S220). 스크립트는 단말들 사이의 인터랙션 테스트를 위해 작성된 실행 동작들을 포함할 수 있고, 테스트 어플리케이션의 실행 환경, 테스트 어플리케이션의 테스트 항목, 테스트 절차, 실행 시 기록 정보, 에러 시 기록 정보 등이 정의될 수 있다.The terminal 200a receives the test application and the script from the test management server 100 (S220). The script may include execution actions written for testing the interaction between terminals, and an execution environment of the test application, a test item of the test application, a test procedure, information recorded during execution, information recorded in case of an error, etc. may be defined.
단말(200a)은 테스트 관리 서버(100)로부터 스크립트 실행 명령을 수신한다(S230).The
단말(200a)은 스크립트에 따라 테스트 어플리케이션을 동작시키고, 테스트 어플리케이션의 실행 결과들을 획득한다(S240). 테스트 어플리케이션의 동작 정보는 메모리에 프로그램 정보로 저장되고, 어플리케이션의 화면(UI)을 구성하는 컨트롤 및 컨트롤 속성을 포함할 수 있다. 따라서, 단말(200a)은 프로그램 정보로 확인한 UI 컨트롤 및 컨트롤 속성을 기초로, 테스트 어플리케이션의 테스트 성공/실패, 결과 텍스트 또는 실행 결과 컨트롤의 유무를 포함하는 실행 결과를 확인할 수 있다. 여기서, UI는 화면을 구성하는 컨트롤의 조합이고, 각 컨트롤은 고유의 이름과 고유 ID을 가지고 있어서, 실행된 컨트롤의 확인이 가능하다.The terminal 200a operates the test application according to the script, and obtains execution results of the test application (S240). The operation information of the test application is stored as program information in the memory, and may include controls and control properties constituting a screen (UI) of the application. Accordingly, the terminal 200a may check the execution result including the test success/failure of the test application, the result text, or the presence or absence of the execution result control, based on the UI control and control properties confirmed by the program information. Here, the UI is a combination of controls composing the screen, and each control has a unique name and unique ID, so that the executed control can be checked.
단말(200a)은 테스트 관리 서버(100)로 실행 결과들을 전송한다(S250).The
단말(200a)은 스크립트에서 테스트 어플리케이션의 이름 또는 패키지 이름을 확인하고, 메모리에서 패키지 이름으로 실행된 프로그램 정보를 가지고 온다. 단말(200a)은 프로그램 정보에서 실행 결과를 확인할 컨트롤의 정보를 확인하고, 컨트롤 정보를 기초로 테스트 성공/실패를 확인할 수 있다. 컨트롤의 정보는 객체명(class name)과 객체 속성 중 컨트롤명(name property)을 포함할 수 있다. 단말(200a)은 테스트 어플리케이션의 테스트 성공/실패, 결과 텍스트 또는 실행 결과 컨트롤의 유무를 포함하는 실행 결과를 테스트 관리 서버(100)로 전송할 수 있다.The
예를 들어, 단말(200a)은, 테스트 기능이 텍스트 출력인 경우, 해당 컨트롤의 텍스트 속성을 확인하여 스크립트에서 입력된 결과와 매칭되는지 확인할 수 있다. 단말(200a)은 테스트 기능이 텍스트 출력이지만 가변적이고, 다른 컨트롤의 입력 값으로 사용되는 경우, 해당 값을 다른 컨트롤에 입력 및 버튼 클릭 등 다른 인터랙션 동작을 한 후, 실행 결과를 확인하여 예상 결과와 맞는지 확인할 수 있다. 단말(200a)은 테스트 기능이 특정 컨트롤 노출인 경우, 검색된 컨트롤 정보의 유무로 실행된 결과를 확인할 수 있다. For example, when the test function is text output, the terminal 200a may check the text property of the corresponding control to determine whether it matches the result input in the script. Although the test function is text output, the terminal 200a is variable, and when it is used as an input value for another control, input the corresponding value to another control and perform other interaction actions such as clicking a button, and then check the execution result to obtain the expected result and You can check if it is correct. When the test function is a specific control exposure, the terminal 200a may check the execution result in the presence or absence of the searched control information.
단말(200a)은, 테스트 기능이 제대로 동작하지 않거나 에러가 발생한 경우, 스크립트에 따라 테스트를 실패로 완료하거나, 다음 테스트 기능으로 넘어갈 수 있다. 예를 들어, 스크립트에 실패에 대한 처리가 없는 경우, 단말(200a)은, 테스트를 모두 실패로 완료할 수 있다. 단말(200a)은, 테스트 기능이 텍스트 출력이고, 스크립트의 결과와 실제 결과가 다른 경우, 화면에서 출력하는 에러 내용을 확인하여 이전 버튼을 클릭하여 해당 화면에 대한 테스트는 건너뛸 수 있다. 단말(200a)은, 입력해야 하는 값이 여러 개이고, 일부 입력 값에 대한 결과만 수신 가능한 경우, 성공 결과와 에러 내용을 모두 저장하고, 다음 테스트로 넘어갈 수 있다. 다음 테스트로 넘어 갈 수 없는 경우, 단말(200a)은, 성공한 값 중 한 개의 값을 다시 입력하여 기능을 실행한 후, 다음 테스트로 넘어가거나, 초기 화면으로 이동 후, 다음 화면 테스트를 진행할 수 있다. 단말(200a)은, 다음 화면 테스트를 진행할 수 없는 경우, 이후 테스트는 모두 실행 실패로 완료할 수 있다. 단말(200a)은, 실패에 대한 대응을 프로그램에서 지원하는 경우, 도움말을 호출하여 특정 컨트롤을 터치하거나 이전화면으로 넘어가는 화면 전환을 한 후, 다른 테스트를 이어갈 수 있다.When the test function does not operate properly or an error occurs, the terminal 200a may complete the test as a failure or move on to the next test function according to a script. For example, if there is no process for failure in the script, the terminal 200a may complete all tests as failures. When the test function is text output and the actual result is different from the script result, the terminal 200a checks the error content output on the screen and clicks the Previous button to skip the test on the corresponding screen. When there are several values to be input and only the results for some input values can be received, the terminal 200a may store both the success result and the error content and proceed to the next test. If it is not possible to move on to the next test, the terminal 200a re-enters one of the successful values to execute the function, then moves on to the next test or moves to the initial screen, and then proceeds with the next screen test. . When the terminal 200a cannot proceed with the next screen test, all subsequent tests may be completed as execution failure. When the program supports response to failure, the terminal 200a may call help, touch a specific control or change a screen to a previous screen, and then continue another test.
도 6은 한 실시예에 따른 테스트 관리 서버의 구성도이다.6 is a configuration diagram of a test management server according to an embodiment.
도 6을 참고하면, 테스트 관리 서버(100)는 컴퓨터 프로그램의 명령어들을 실행하는 프로세서(110), 메모리(120), 저장 장치(130), 통신 인터페이스(140)를 포함할 수 있고, 버스를 통해 연결될 수 있다. 컴퓨터 프로그램은 본 개시의 동작을 실행하도록 기술된 명령어들을 포함한다. 컴퓨터 프로그램은 비일시적-컴퓨터 판독가능 저장매체(non-transitory computer readable storage medium)에 저장될 수 있다.Referring to FIG. 6 , the
프로세서(110)는 테스트 관리 서버(100)의 동작을 제어하는 장치로서, 컴퓨터 프로그램에 포함된 명령들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다. The
메모리(120)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(120)는 본 개시의 동작을 실행하도록 기술된 명령들이 프로세서(110)에 의해 처리되도록 해당 컴퓨터 프로그램을 저장 장치(130)로부터 로드할 수 있다. 메모리(120)는 예를 들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다. 저장 장치(130)는 본 개시의 동작을 실행하는데 요구되는 각종 데이터, 컴퓨터 프로그램 등을 저장할 수 있다. 저장 장치(130)는 컴퓨터 프로그램을 비임시적으로 저장할 수 있다. 저장 장치(130)는 비휘발성 메모리로 구현될 수 있다. 등록된 테스트 단말들의 정보를 저장하는 테스트 단말 풀, 개발자 단말로부터 수신한 테스트 어플리케이션 및 스크립트, 그리고 테스트 단말들로부터 수신한 실행 결과들은 저장 장치(130)의 지정된 장소에 저장될 수 있다.The
통신 인터페이스(140)는 유/무선 통신 모듈일 수 있다.The
본 개시의 동작을 실행하는 명령어들을 포함하는 컴퓨터 프로그램은 컴퓨팅 장치가 읽을 수 있는 매체에 저장되고, 컴퓨팅 장치가 읽을 수 있는 매체는 이동형 기록 매체이거나 고정식 기록 매체일 수 있다. 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 다른 컴퓨팅 장치에 설치되어 실행될 수 있다.A computer program including instructions for executing an operation of the present disclosure is stored in a medium readable by a computing device, and the medium readable by the computing device may be a removable recording medium or a fixed recording medium. The computer program may be transmitted to another computing device through a network, such as the Internet, and installed and executed in the other computing device.
프로세서(110)는 메모리(120)에 로드된 컴퓨터 프로그램의 명령어들을 실행하는데, 컴퓨터 프로그램은 본 개시의 동작을 실행하도록 기술된 명령어들을 포함한다.The
프로세서(110)는 테스트 단말 등록 요청을 수신하고, 테스트 단말 등록 요청에 포함된 단말 정보를 확인하고, 테스트 단말들을 테스트 단말 풀에 등록할 수 있다. 프로세서(110)는 적어도 하나의 테스트 어플리케이션과, 테스트 어플리케이션을 통한 인터랙션 실행 동작이 정의된 스크립트들을 포함하는 테스트 요청을 수신하고, 테스트 요청된 테스트 어플리케이션 및 스크립트들을 확인한 후, 테스트 단말 풀에 등록된 단말 정보를 기초로, 테스트 어플리케이션 및 스크립트들을 실행하여 테스트할 수 있는 단말 그룹을 선택할 수 있다. 프로세서(110)는 선택된 단말 그룹으로 테스트 어플리케이션 및 스크립트들을 전송하고, 선택된 단말 그룹 중 적어도 일부의 테스트 단말들로 스크립트 실행 명령을 전송할 수 있다. 프로세서(110)는 선택된 단말 그룹으로부터 실행 결과들을 수신하고, 실행 결과들을 포함하는 테스트 결과를 테스트 요청한 개발자에게 제공할 수 있다.The
테스트 관리 서버(100)에 설치되는 컴퓨터 프로그램은 다음과 같은 명령어들을 포함할 수 있고, 비일시적-컴퓨터 판독가능 저장매체(non-transitory computer readable storage medium)에 저장될 수 있다. The computer program installed in the
컴퓨터 프로그램은 테스트 단말 등록 요청을 수신하는 명령어, 테스트 단말 등록 요청에 포함된 단말 정보를 확인하는 명령어, 테스트 단말들을 테스트 단말 풀에 등록하는 명령어를 포함할 수 있다. 컴퓨터 프로그램은 적어도 하나의 테스트 어플리케이션과, 테스트 어플리케이션을 통한 인터랙션 실행 동작이 정의된 스크립트들을 포함하는 테스트 요청을 수신하는 명령어, 테스트 요청된 테스트 어플리케이션 및 스크립트들을 확인하는 명령어, 테스트 단말 풀에 등록된 단말 정보를 기초로, 테스트 어플리케이션 및 스크립트들을 실행하여 테스트할 수 있는 단말 그룹을 선택하는 명령어, 선택된 단말 그룹으로 테스트 어플리케이션 및 스크립트들을 전송하는 명령어, 선택된 단말 그룹 중 적어도 일부의 테스트 단말들로 스크립트 실행 명령을 전송하는 명령어를 포함할 수 있다. 컴퓨터 프로그램은 선택된 단말 그룹으로부터 실행 결과들을 수신하는 명령어, 실행 결과들을 포함하는 테스트 결과를 테스트 요청한 개발자에게 제공하는 명령어를 포함할 수 있다.The computer program may include a command for receiving a test terminal registration request, a command for checking terminal information included in the test terminal registration request, and a command for registering test terminals in a test terminal pool. The computer program includes at least one test application, a command for receiving a test request including scripts in which an interaction execution operation through the test application is defined, a command for checking the requested test application and scripts, and a terminal registered in the test terminal pool Based on the information, a command to select a terminal group that can be tested by executing the test application and scripts, a command to transmit the test application and scripts to the selected terminal group, and a script execution command to at least some test terminals of the selected terminal group may include a command to transmit The computer program may include a command for receiving execution results from the selected terminal group and a command for providing a test result including the execution results to the developer who requested the test.
도 7은 한 실시예에 따른 테스트 단말의 구성도이다.7 is a configuration diagram of a test terminal according to an embodiment.
도 7을 참고하면, 테스트 단말(200) 역시, 컴퓨터 프로그램의 명령어들을 실행하는 프로세서(210), 메모리(220), 저장 장치(230), 통신 인터페이스(240), 그리고 디스플레이(250)를 포함할 수 있고, 버스를 통해 연결될 수 있다. 컴퓨터 프로그램은 본 개시의 동작을 실행하도록 기술된 명령어들을 포함하고, 테스트 관리 프로그램과 각종 테스트 어플리케이션 및 스크립트를 포함할 수 있다. 컴퓨터 프로그램은 비일시적-컴퓨터 판독가능 저장매체(non-transitory computer readable storage medium)에 저장될 수 있다. Referring to FIG. 7 , the
테스트 어플리케이션은 서비스 제공을 위해 동작하도록 기술된 명령어들을 포함한다. 테스트 어플리케이션은 테스트 관리 프로그램에 의해 제어될 수 있다.The test application includes instructions that are described to operate in order to provide a service. The test application may be controlled by the test management program.
테스트 관리 프로그램은 단말 정보를 수집하는 명령어, 그리고 단말 정보를 포함하는 테스트 단말 등록 요청을 테스트 관리 서버로 전송하는 명령어를 포함할 수 있다. 테스트 관리 프로그램은 테스트 어플리케이션 및 스크립트를 수신하고 테스트 어플리케이션을 설치하는 명령어, 스크립트 실행 명령을 수신하는 명령어, 스크립트에 따라 테스트 어플리케이션을 동작시키는 명령어, 그리고 테스트 어플리케이션의 실행 결과들을 획득하는 명령어, 그리고, 테스트 관리 서버로 실행 결과들을 전송하는 명령어를 포함할 수 있다.The test management program may include a command for collecting terminal information and a command for transmitting a test terminal registration request including the terminal information to the test management server. The test management program includes a command for receiving a test application and script and installing the test application, a command for receiving a script execution command, a command for operating the test application according to the script, a command for obtaining execution results of the test application, and a test It may include a command to transmit execution results to the management server.
구체적으로, 테스트 관리 프로그램은 테스트 관리 서버(100)에 의해 선택된 단말에 설치되고, 프로세서가 본 개시의 동작을 실행하도록 기술된 명령어들(instructions)을 포함한다. 테스트 관리 프로그램은 비일시적-컴퓨터 판독가능 저장매체(non-transitory computer readable storage medium)에 저장될 수 있다. 예를 들면, 도 2의 테스트 관리 프로그램(30)은 단말(200a)의 프로세서에 의해 실행되고, 스크립트에 따라 테스트 어플리케이션을 동작시키고, 테스트 어플리케이션의 실행 결과들을 획득한 후, 테스트 관리 서버(100)로 실행 결과들을 전송하는 명령어들을 포함한다. Specifically, the test management program is installed in the terminal selected by the
프로세서에 의해 실행되는 테스트 관리 프로그램은 다음과 같이 동작할 수 있다.The test management program executed by the processor may operate as follows.
테스트 관리 프로그램은 테스트 어플리케이션에서, 스크립트에 명시된 위치의 버튼을 클릭하거나 입력창에 입력값을 입력한다. 이후, 테스트 관리 프로그램은 단말의 화면에 출력된 결과를 읽는다. The test management program clicks a button at the location specified in the script in the test application or enters an input value in the input window. Thereafter, the test management program reads the result output on the screen of the terminal.
구체적으로, 테스트 관리 프로그램은 스크립트에서 테스트 어플리케이션의 이름 또는 패키지 이름을 가지고 오고, 메모리에서 패키지 이름으로 실행된 프로그램 정보를 가지고 온다. 프로그램 정보는 프로세서가 테스트 어플리케이션을 실행하여 메모리에 존재하는 정보로서, UI 컨트롤 및 컨트롤 속성을 포함할 수 있다. Specifically, the test management program brings the name of the test application or package name from the script, and brings the executed program information as the package name from memory. The program information is information that exists in a memory when the processor executes a test application, and may include UI controls and control properties.
테스트 관리 프로그램은 프로그램 정보에서 실행 결과를 확인할 컨트롤의 정보를 가지고 온다. 컨트롤의 정보는 객체명(class name)과 객체 속성 중 컨트롤명(name property)을 포함할 수 있다. 테스트 관리 프로그램은 컨트롤명으로 컨트롤 정보를 가지고 올 수 있는 경우, 프로그램 정보에서 해당 이름으로 컨트롤 정보를 가지고 온다. 컨트롤의 속성은 이름을 나타내는 이름(name) 속성과 화면으로 출력되는 텍스트(text) 속성을 가지고 있다. 한편, 테스트 관리 프로그램은 객체명으로 컨트롤 정보를 가지고 올 수 없는 경우, 컨트롤의 객체명(class name)으로 컨트롤 목록을 모두 확인하고, 컨트롤 목록의 객체 속성 중 컨트롤명(name property)을 모두 확인하여 컨트롤 정보를 가지고 올 수 있다.The test management program brings the information of the control to check the execution result from the program information. Control information may include an object name (class name) and a control name (name property) among object properties. If the test management program can bring the control information by the control name, it brings the control information to the corresponding name from the program information. The properties of the control have a name property indicating the name and a text property to be displayed on the screen. On the other hand, if the test management program cannot bring control information by object name, it checks all the control lists by the class name of the control, and checks all the control names among the object properties of the control list. You can bring control information.
테스트 관리 프로그램은 컨트롤 정보를 기초로 테스트 성공/실패를 확인할 수 있다. 예를 들어, 테스트 관리 프로그램은, 테스트 기능이 텍스트 출력인 경우, 해당 컨트롤의 텍스트 속성을 확인하여 스크립트에서 입력된 결과와 매칭되는지 확인할 수 있다. 테스트 관리 프로그램은, 테스트 기능이 테스트 출력이지만 가변적이고, 다른 컨트롤의 입력 값으로 사용되는 경우, 해당 값을 다른 컨트롤에 입력 및 버튼 클릭 등 다른 인터랙션 동작을 한 후, 실행 결과를 확인하여 예상 결과와 맞는지 확인할 수 있다. 테스트 관리 프로그램은, 테스트 기능이 특정 컨트롤 노출인 경우, 검색된 컨트롤 정보의 유무로 실행된 결과를 확인할 수 있다.The test management program can check the test success/failure based on the control information. For example, if the test function is a text output, the test management program may check the text property of the corresponding control to see if it matches the result input in the script. In the test management program, if the test function is a test output but variable, and is used as an input value of another control, the value is input to another control and other interaction actions such as clicking a button are performed, then the execution result is checked and the expected result is You can check if it is correct. The test management program may check the execution result in the presence or absence of the retrieved control information when the test function is a specific control exposure.
테스트 기능이 제대로 동작하지 않거나 에러가 발생한 경우, 테스트 관리 프로그램은 스크립트에 따라 테스트를 실패로 완료하거나, 다음 테스트 기능으로 넘어갈 수 있다. 예를 들어, 스크립트에 실패에 대한 처리가 없는 경우, 테스트 관리 프로그램은 테스트를 모두 실패로 완료할 수 있다. 테스트 관리 프로그램은, 테스트 결과가 텍스트 출력이고, 스크립트의 결과와 실제 결과가 다른 경우, 화면에서 출력하는 에러 내용을 확인하여 이전 버튼을 클릭하여 해당 화면에 대한 테스트는 건너뛸 수 있다. 테스트 관리 프로그램은, 입력해야 하는 값이 여러 개이고, 일부 입력 값에 대한 결과만 수신 가능한 경우, 성공 결과와 에러 내용을 모두 저장하고, 다음 테스트로 넘어갈 수 있다. 다음 테스트로 넘어 갈 수 없는 경우, 테스트 관리 프로그램은, 성공한 값 중 한 개의 값을 다시 입력하여 기능을 실행한 후, 다음 테스트로 넘어가거나, 초기 화면으로 이동 후, 다음 화면 테스트를 진행할 수 있다. 테스트 관리 프로그램은, 다음 화면 테스트를 진행할 수 없는 경우, 이후 테스트는 모두 실행 실패로 완료할 수 있다. 테스트 관리 프로그램은 실패에 대한 대응을 프로그램에서 지원하는 경우, 도움말을 호출하여 특정 컨트롤을 터치하거나 이전화면으로 넘어가는 화면 전환을 한후, 다른 테스트를 이어갈 수 있다.If the test function does not work properly or an error occurs, the test management program may either complete the test as a failure or move on to the next test function according to the script. For example, if there is no handling for failure in the script, the test management program may complete the tests as all failures. In the test management program, if the test result is text output and the script result and the actual result are different, check the error content displayed on the screen and click the Previous button to skip the test on the screen. In the test management program, when there are several values to be input and only the results for some input values can be received, the test management program can store both the success result and the error content and move on to the next test. If it is impossible to move on to the next test, the test management program may execute a function by re-entering one of the successful values, then move on to the next test or move to the initial screen, and then proceed with the next screen test. If the test management program cannot proceed with the next screen test, all subsequent tests may be completed as execution failure. If the program supports the response to failure, the test management program can call help, touch a specific control or change the screen to the previous screen, and then continue other tests.
테스트 관리 프로그램은 테스트 어플리케이션의 테스트 성공/실패, 결과 텍스트 또는 실행 결과 컨트롤의 유무를 포함하는 실행 결과를 테스트 관리 서버(100)로 전송할 수 있다.The test management program may transmit an execution result including test success/failure of the test application, result text, or presence or absence of an execution result control to the
또는, 테스트 관리 서버(100)가, 테스트 단말로부터 스크립트에 따라 실행된테스트 어플리케이션의 실행 결과를 읽어서, 테스트 어플리케이션의 성공/실패, 결과 텍스트 또는 실행 결과 컨트롤의 유무를 확인할 수 있다.Alternatively, the
이와 같이, 실시예에 따르면, 어플리케이션의 인터랙션 기능을 어플리케이션과 별도의 스크립트로 자동 테스트할 수 있어서, 어플리케이션에 독립된 테스트 환경을 구축할 수 있고, 인터랙션 기능을 단말들에서 동시에 확인할 수 있으며, 어플리케이션의 기능이 추가되거나 변경되면, 스크립트를 변경해서 추가되거나 변경된 기능을 테스트할 수 있다.As described above, according to the embodiment, the interaction function of the application can be automatically tested with a script separate from the application, so that a test environment independent of the application can be built, the interaction function can be simultaneously checked on terminals, and the function of the application When this is added or changed, you can change the script to test the added or changed functionality.
실시예에 따르면, 단말 화면 정보를 실행 결과로 기록하기 때문에, 개발자는 단말에서의 실행 결과가 기록된 로그파일을 분석할 필요 없이, 단말 화면 정보가 기록된 실행 결과를 통해 직관적으로 테스트 결과를 확인할 수 있다.According to the embodiment, since the terminal screen information is recorded as the execution result, the developer can intuitively check the test result through the execution result in which the terminal screen information is recorded, without the need to analyze the log file in which the execution result is recorded in the terminal. can
실시예에 따르면, 개발자는 테스트 대상인 어플리케이션과, 어플리케이션의 인터랙션 실행 동작이 정의된 스크립트들을 테스트 관리 서버에 등록하면, 테스트 관리 서버에서 선택된 단말이 어플리케이션의 실행 동작이 정의된 스크립트를 실행한 결과를 테스트 관리 서버로부터 획득할 수 있다. 따라서, 실시예에 따르면, 개발자는 단말에 어플리케이션을 설치하고 테스트하는 테스트 환경을 구축할 필요 없고, 복잡한 테스트 과정을 거칠 필요 없이, 어플리케이션의 인터랙션 실행 동작이 정의된 스크립트들을 등록하는 간단한 절차만으로 어플리케이션을 테스트할 수 있다.According to an embodiment, when the developer registers the test target application and the scripts in which the interaction execution operation of the application is defined in the test management server, the terminal selected in the test management server executes the script in which the execution operation of the application is defined. It can be obtained from the management server. Therefore, according to the embodiment, the developer does not need to build a test environment to install and test the application in the terminal, and without the need to go through a complicated test process, the application can be implemented with only a simple procedure of registering the scripts in which the interaction execution operation of the application is defined. can be tested
이상에서 설명한 본 개시의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 개시의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiments of the present disclosure described above are not implemented only through apparatus and methods, and may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present disclosure or a recording medium in which the program is recorded.
이상에서 본 개시의 실시예에 대하여 상세하게 설명하였지만 본 개시의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 개시의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 개시의 권리범위에 속하는 것이다.Although the embodiment of the present disclosure has been described in detail above, the scope of the present disclosure is not limited thereto, and various modifications and improved forms of the present disclosure are also provided by those skilled in the art using the basic concept of the present disclosure as defined in the following claims. is within the scope of the right.
Claims (11)
단말들의 단말 정보를 포함하는 테스트 단말 등록 요청을 수신하는 단계,
상기 단말들의 단말 정보를 테스트 단말 풀(pool)에 저장하는 단계,
적어도 하나의 테스트 어플리케이션과, 상기 테스트 어플리케이션을 통한 인터랙션 실행 동작이 정의된 스크립트들을 포함하는 테스트 요청을 수신하는 단계,
상기 테스트 단말 풀에 저장된 단말 정보를 기초로, 상기 스크립트들 각각에 따라 상기 테스트 어플리케이션을 실행할 수 있는 테스트 단말들을 단말 그룹으로 선택하는 단계,
상기 테스트 단말들로 상기 테스트 어플리케이션과, 상기 스크립트들 중 지정된 스크립트를 전송하는 단계, 그리고
상기 테스트 단말들로부터, 상기 테스트 어플리케이션을 전송된 스크립트에 따라 실행한 실행 결과들을 수신하는 단계
를 포함하는 동작 방법.As a method of operating a test management server,
Receiving a test terminal registration request including terminal information of terminals;
storing the terminal information of the terminals in a test terminal pool;
Receiving a test request including at least one test application and scripts in which an interaction execution operation through the test application is defined;
selecting, as a terminal group, test terminals capable of executing the test application according to each of the scripts based on terminal information stored in the test terminal pool;
transmitting the test application and a specified one of the scripts to the test terminals; and
Receiving execution results of executing the test application according to the transmitted script from the test terminals
operation method comprising
상기 테스트 단말들을 단말 그룹으로 선택하는 단계는
각 스크립트가 테스트하는 역할에 따라 상기 테스트 단말 풀에서, 상기 역할을 수행할 테스트 단말을 선택하는, 동작 방법.In claim 1,
The step of selecting the test terminals as a terminal group is
An operation method of selecting a test terminal to perform the role from the test terminal pool according to a role tested by each script.
상기 스크립트들 중 지정된 스크립트를 전송하는 단계는
각 테스트 단말로 역할에 해당하는 스크립트를 전송하는 동작 방법.In claim 2,
The step of transmitting a specified script among the scripts is
The operation method of sending the script corresponding to the role to each test terminal.
상기 스크립트들은 상기 테스트 어플리케이션의 통화 기능을 테스트하는 발신측 스크립트와 수신측 스크립트를 포함하고,
상기 발신측 스크립트는 발신자 역할을 수행하는 테스트 단말로 전송되고,
상기 수신측 스크립트는 수신자 역할을 수행하는 테스트 단말로 전송되는, 동작 방법.In claim 2,
The scripts include a calling-side script and a receiving-side script for testing the call function of the test application,
The sender script is transmitted to a test terminal serving as a sender,
The receiving-side script is transmitted to a test terminal serving as a receiver, the operating method.
상기 실행 결과를 수신하는 단계는
상기 테스트 단말들 중 적어도 일부의 테스트 단말들로 스크립트 실행 명령을 전송하고, 상기 스크립트 실행 명령을 수신한 테스트 단말들로부터, 상기 테스트 어플리케이션을 전송된 스크립트에 따라 실행한 실행 결과를 수신하는, 동작 방법.In claim 1,
Receiving the execution result is
Transmitting a script execution command to at least some of the test terminals, and receiving an execution result of executing the test application according to the transmitted script from the test terminals receiving the script execution command .
상기 테스트 단말 등록 요청은
테스트 관리 프로그램을 설치한 단말로부터 수신하는, 동작 방법.In claim 1,
The test terminal registration request is
Receiving from a terminal in which the test management program is installed, an operating method.
상기 단말 정보는
어플리케이션 테스트를 요구되는 소프트웨어 정보 및 하드웨어 정보를 포함하는, 동작 방법.In claim 1,
The terminal information is
A method of operation, comprising software information and hardware information required for application testing.
상기 스트립트들은
서버 단말과 클라이언트 단말 사이의 인터랙션 테스트를 위한 서버측 스크립트 및 클라이언트측 스크립트를 포함하거나,
제1 클라이언트 단말과 제2 클라이언트 단말 사이의 인터랙션 테스트를 위한 제1 클라이언트측 스크립트 및 제2 클라이언트측 스크립트를 포함하거나,
서버 단말과 복수의 클라이언트 단말들 사이의 1: N 인터랙션 테스트를 위한 복수의 스크립트들을 포함하는, 동작 방법.In claim 1,
The scripts are
Includes a server-side script and a client-side script for testing the interaction between the server terminal and the client terminal, or
a first client-side script and a second client-side script for testing an interaction between the first client terminal and the second client terminal, or
A method of operation comprising a plurality of scripts for a 1:N interaction test between a server terminal and a plurality of client terminals.
상기 실행 결과들을 포함하는 테스트 결과를 상기 테스트 요청에 대한 응답으로 제공하는 단계
를 더 포함하는 동작 방법.In claim 1,
providing a test result including the execution results in response to the test request;
An operation method further comprising a.
테스트 관리 프로그램을 설치하고, 단말 정보를 포함하는 테스트 단말 등록 요청을 테스트 관리 서버로 전송하는 단계,
상기 테스트 관리 서버로부터 테스트 어플리케이션 및 스크립트를 수신하는 단계,
상기 스크립트에 따라 상기 테스트 어플리케이션을 동작시키고, 상기 테스트 어플리케이션의 실행 결과들을 획득하는 단계, 그리고
상기 테스트 관리 서버로 상기 실행 결과들을 전송하는 단계
를 포함하는, 동작 방법.As a method of operating a terminal,
Installing a test management program and transmitting a test terminal registration request including terminal information to the test management server;
receiving test applications and scripts from the test management server;
operating the test application according to the script and obtaining execution results of the test application; and
transmitting the execution results to the test management server
Including, a method of operation.
상기 실행 결과들을 획득하는 단계는
상기 스크립트에 따라 동작한 상기 테스트 어플리케이션의 동작 정보로부터 상기 어플리케이션의 화면을 구성하는 컨트롤의 정보를 확인하고, 상기 컨트롤의 정보를 기초로 상기 테스트 어플리케이션의 실행 결과들을 확인하는, 동작 방법.In claim 10,
The step of obtaining the execution results is
An operation method of confirming information of a control constituting a screen of the application from operation information of the test application operated according to the script, and confirming execution results of the test application based on the information of the control.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200132849A KR20220049334A (en) | 2020-10-14 | 2020-10-14 | Method and system for application test |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200132849A KR20220049334A (en) | 2020-10-14 | 2020-10-14 | Method and system for application test |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20220049334A true KR20220049334A (en) | 2022-04-21 |
Family
ID=81437350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200132849A KR20220049334A (en) | 2020-10-14 | 2020-10-14 | Method and system for application test |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20220049334A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102620693B1 (en) * | 2023-01-27 | 2024-01-04 | 쿠팡 주식회사 | Electronic apparatus for providing configuration for application testing and method thereof |
-
2020
- 2020-10-14 KR KR1020200132849A patent/KR20220049334A/en unknown
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102620693B1 (en) * | 2023-01-27 | 2024-01-04 | 쿠팡 주식회사 | Electronic apparatus for providing configuration for application testing and method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595329B (en) | Application testing method and device and computer storage medium | |
US11467816B1 (en) | Method and system of running an application | |
CN109344065B (en) | Remote debugging method, debugging server and target machine | |
US20120284696A1 (en) | Method, Apparatuses and a System for Compilation | |
CN106325847B (en) | Method and device for acquiring application program function based on iOS platform | |
CN110013672B (en) | Method, device, apparatus and computer-readable storage medium for automated testing of machine-run games | |
CN103634592A (en) | Automatic test method and system for intelligent televisions | |
CN110119350B (en) | Software development kit testing method, device and equipment and computer storage medium | |
US20150331784A1 (en) | System and method for controlling test script execution by smartphone | |
CN113312064B (en) | Method and device for installing and configuring physical machine and computer readable medium | |
CN113672441A (en) | Method and device for testing intelligent equipment | |
KR102352265B1 (en) | System and method for providing web application development platform | |
CN112231206A (en) | Script editing method for application program test, computer readable storage medium and test platform | |
CN109032705B (en) | Application program execution method and device, electronic equipment and readable storage medium | |
CN112911283B (en) | Smart television testing method and device | |
KR20220049334A (en) | Method and system for application test | |
JP2016071398A (en) | Test execution device, test execution method, and computer program | |
CN110825370B (en) | Mobile terminal application development method, device and system | |
CN112732265A (en) | Data processing method and related device | |
JP7230951B2 (en) | Mobile terminal, information processing system, control method, and program | |
CN115237481A (en) | Method, device and equipment for driving external equipment and storage medium | |
CN116521251A (en) | Service management method, device, computer equipment and storage medium | |
KR101418390B1 (en) | system for remotely debugging an application programming and controlling method therefor | |
US20230308533A1 (en) | Streaming method and system for mobile electronic device diagnostics | |
JP2016071397A (en) | Test execution device, test execution method, and computer program |