KR102173137B1 - Method for providing remote test service for mobile application - Google Patents

Method for providing remote test service for mobile application Download PDF

Info

Publication number
KR102173137B1
KR102173137B1 KR1020200072493A KR20200072493A KR102173137B1 KR 102173137 B1 KR102173137 B1 KR 102173137B1 KR 1020200072493 A KR1020200072493 A KR 1020200072493A KR 20200072493 A KR20200072493 A KR 20200072493A KR 102173137 B1 KR102173137 B1 KR 102173137B1
Authority
KR
South Korea
Prior art keywords
test
terminal
client
remote
time
Prior art date
Application number
KR1020200072493A
Other languages
Korean (ko)
Inventor
송중식
Original Assignee
주식회사 바른소프트
송중식
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 바른소프트, 송중식 filed Critical 주식회사 바른소프트
Priority to KR1020200072493A priority Critical patent/KR102173137B1/en
Application granted granted Critical
Publication of KR102173137B1 publication Critical patent/KR102173137B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis

Abstract

Provided is a method for providing a remote test service of a mobile application, which comprises the steps of: displaying an execution screen of a previously stored test application program, when connecting from a client; receiving the selection of information on a model of at least one test terminal and an operating system (OS) from the client; receiving the setting of the time to execute the test application program in the at least one test terminal from the client; and controlling the test application program to be executed in the at least one test terminal at the set time.

Description

모바일 애플리케이션의 원격 테스트 서비스 제공 방법{METHOD FOR PROVIDING REMOTE TEST SERVICE FOR MOBILE APPLICATION}How to provide remote test service for mobile applications {METHOD FOR PROVIDING REMOTE TEST SERVICE FOR MOBILE APPLICATION}

본 발명은 모바일 애플리케이션의 원격 테스트 서비스 제공 방법에 관한 것으로, 서로 다른 기종 및 OS를 가지는 테스트 단말을 이용하여 모바일 애플리케이션을 테스트할 수 있는 플랫폼을 제공한다.The present invention relates to a method for providing a remote test service for a mobile application, and provides a platform for testing a mobile application using test terminals having different models and OSs.

소프트웨어 개발에서 소프트웨어 테스팅은 전체 소프트웨어 개발 비용의 과반수를 차지하는 많은 비용이 요구되는 작업이다. 소프트웨어 테스팅에 요구되는 높은 비용은 소프트웨어 테스팅이 소프트웨어 개발 프로세스에서 매우 큰 비중을 차지하는 작업인 것을 나타낸다. 테스팅은 시스템의 요구사항을 바탕으로 테스트 케이스를 생성하여 소프트웨어에 내재되어 있는 결함을 발견하는 활동인데, 테스팅을 효과적으로 수행하기 위해서는 첫 번째로 테스트 계획을 잘 세우고, 충실한 테스트 케이스를 생성하여야 한다. 즉 테스트 수행 목표, 수행 대상, 수행 방식, 수행 환경, 절차 등에 대한 명확한 계획과 이러한 계획을 충실하게 이행할 수 있는 테스트 케이스가 개발되어야 한다. 두 번째로, 작성한 테스트 계획에 맞게 테스트가 잘 수행되고 있는지 모니터링하여야 한다. 테스팅과 관련된 많은 연구에서 테스트 자동화 방법을 제시하지만 대부분은 테스트 케이스 생성에서 테스트 실행까지의 자동화 방법에 초점이 맞춰져 있다In software development, software testing is a costly task that accounts for a majority of the total software development cost. The high cost required for software testing indicates that software testing is a very large part of the software development process. Testing is the activity of discovering defects inherent in software by creating test cases based on system requirements. In order to perform testing effectively, first, a good test plan must be established and faithful test cases must be generated. In other words, a clear plan for the test target, target, method, environment, procedure, etc., and test cases that can faithfully implement these plans must be developed. Second, you need to monitor whether the test is performing well according to the test plan you have written. Many studies related to testing suggest test automation methods, but most of them focus on the automation method from test case generation to test execution.

이때, 앱 테스트 및 모니터링을 하는 구성이 연구 및 개발되었는데, 이와 관련하여, 선행기술인 한국공개특허 제2015-0019684호(2015년02월25일 공개) 및 한국공개특허 제2019-0120983호(2019년10월25일 공개)에는, 테스트 단말에서 애플리케이션의 실행을 테스트하기 위하여, 복수의 전자 단말과 통신하도록 구성되는 데이터처리부, 사용자 단말과 통신하도록 구성되며, 복수의 전자 단말 각각의 단말정보를 저장하도록 구성되는 매니지먼트부를 포함하고, 데이터처리부는, 테스트 단말인 복수의 전자 단말 중에서 사용이 요청된 전자 단말의 단말모드에 기초하여 테스트 단말 상에서 애플리케이션을 테스트하도록 하는 구성과, 앱 테스트를 위한 단말과 통신하는 통신부 및 앱 테스트 중인 단말로부터 테스트 관련 정보를 수신하고, 수신된 정보를 미리 설정된 구동 조건으로 필터링하여 앱의 구동 상황을 제공하는 제어부를 포함하고, 제어부는, 앱의 실행에 따른 활동 내역을 나타내는 실행상태, 단말의 운영 체제버전, 단말의 단말종류 및 단말의 접속지역에 대한 정보 중 적어도 하나의 조건을 필터링을 위한 구동 조건으로 설정하는 구성이 개시된다.At this time, a configuration for testing and monitoring the app was researched and developed. In this regard, Korean Patent Publication No. 2015-0019684 (published on February 25, 2015) and Korean Patent Publication No. 2019-0120983 (published on February 25, 2015), which are prior art. October 25), in order to test the execution of the application on the test terminal, a data processing unit configured to communicate with a plurality of electronic terminals, a data processing unit configured to communicate with a user terminal, and to store terminal information of each of the plurality of electronic terminals. Including a management unit configured, the data processing unit is a configuration for testing an application on the test terminal based on the terminal mode of the electronic terminal requested to be used among a plurality of electronic terminals that are test terminals, and communicating with the terminal for app testing It includes a control unit that receives test-related information from the communication unit and the terminal under test of the app, filters the received information according to a preset driving condition to provide a driving situation of the app, and the control unit displays activity details according to the execution of the app. Disclosed is a configuration in which at least one condition of information on a state, an operating system version of a terminal, a terminal type of a terminal, and information about a terminal access area is set as a driving condition for filtering.

다만, 상술한 구성을 이용한다고 할지라도 테스트 모니터링 자체를 원격에서 자동으로 진행하는 방법은 개시되어 있지 않다. 테스트 모니터링의 자동화를 위해서는 테스트 활동을 관찰할 수 있어야 하는데, 사용자의 개입 없이 테스트 활동을 관찰하기 위해서는 테스트 활동에서 생성되는 여러 산출물을 테스트 모니터링 시스템에서 처리할 수 있어야 한다. 그렇지만 일반적으로 테스트 활동의 산출물들은 컴퓨터에서 읽어 들여 처리할 수 있는 형태가 아니었기 때문에 테스트 활동에 참여하는 테스터나 개발자들이 수작업으로 입력한 테스트 활동의 진행 정보를 바탕으로 테스트 모니터링 작업이 수행되고 있다. 이에, 테스트 모니터링 자동화를 위한 테스트 모니터링 자동화 플랫폼의 연구 및 개발이 요구된다.However, even if the above-described configuration is used, a method of automatically performing test monitoring itself remotely is not disclosed. In order to automate test monitoring, it is necessary to be able to observe the test activity. In order to observe the test activity without user intervention, the test monitoring system must be able to process various outputs generated from the test activity. However, in general, the outputs of the test activities are not in a form that can be read and processed by a computer, so test monitoring is performed based on the progress information of the test activities manually inputted by testers or developers participating in the test activities. Accordingly, research and development of a test monitoring automation platform for test monitoring automation is required.

본 발명의 일 실시예는, 클라이언트 및 서버 구조에서 서버는 적어도 하나의 클라이언트로 애플리케이션 테스트 응용 프로그램을 전송하여 설치하도록 하고, 클라이언트가 서버로 접속시 원격테스트 실행화면을 표시하고, 테스트 단말의 각 기종별로 안드로이드 또는 iOS 버전을 선택하도록 하며, 테스트 시간을 설정하거나 테스트 예약을 설정하면 설정된 시간에 테스트를 진행하되, 테스트가 진행중인 테스트 단말은 클라이언트 화면에 색상으로 표시함으로써 외부에서 직관적으로 테스트 중인 테스트 단말을 파악할 수 있도록 하고, 사용이 종료되는 경우 테스트 진행 후 결과보고서를 사용자에게 전달함과 동시에 사용시간에 따른 과금을 함으로써 원격에서 테스트 모니터링 자동화를 위한 테스트 모니터링 자동화 플랫폼을 제공할 수 있는, 모바일 애플리케이션의 원격 테스트 서비스 제공 방법을 제공할 수 있다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.According to an embodiment of the present invention, in a client and server structure, the server transmits and installs an application test application to at least one client, displays a remote test execution screen when the client connects to the server, and displays each model of the test terminal. You can select the Android or iOS version for each, and if you set a test time or set a test reservation, the test is performed at the set time, but the test terminal in which the test is in progress is displayed in color on the client screen to intuitively control the test terminal being tested from the outside. Remote of mobile application, which can provide a test monitoring automation platform for test monitoring automation remotely by providing a test monitoring automation platform for test monitoring automation by delivering the result report to the user after the test progress and charging according to the use time when the use is terminated. A method of providing test services can be provided. However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는, 클라이언트에서 접속하는 경우 기 저장된 테스트 응용프로그램의 실행화면을 표시하도록 하는 단계, 클라이언트로부터 적어도 하나의 테스트 단말의 기종 및 OS(Operating System) 정보를 선택받는 단계, 클라이언트로부터 적어도 하나의 테스트 단말에서 테스트 응용프로그램이 실행될 시간을 설정받는 단계 및 설정된 시간에 적어도 하나의 테스트 단말에서 테스트 응용프로그램이 실행되도록 제어하는 단계를 포함한다.As a technical means for achieving the above-described technical problem, an embodiment of the present invention provides a step of displaying an execution screen of a pre-stored test application program when connected from a client, the model and OS of at least one test terminal from the client. (Operating System) includes the step of receiving selection of information, receiving setting a time to execute a test application program in at least one test terminal from a client, and controlling the test application program to be executed in at least one test terminal at a set time. .

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 클라이언트 및 서버 구조에서 서버는 적어도 하나의 클라이언트로 애플리케이션 테스트 응용 프로그램을 전송하여 설치하도록 하고, 클라이언트가 서버로 접속시 원격테스트 실행화면을 표시하고, 테스트 단말의 각 기종별로 안드로이드 또는 iOS 버전을 선택하도록 하며, 테스트 시간을 설정하거나 테스트 예약을 설정하면 설정된 시간에 테스트를 진행하되, 테스트가 진행중인 테스트 단말은 클라이언트 화면에 색상으로 표시함으로써 외부에서 직관적으로 테스트 중인 테스트 단말을 파악할 수 있도록 하고, 사용이 종료되는 경우 테스트 진행 후 결과보고서를 사용자에게 전달함과 동시에 사용시간에 따른 과금을 함으로써 원격에서 테스트 모니터링 자동화를 위한 테스트 모니터링 자동화 플랫폼을 제공할 수 있다.According to any one of the problem solving means of the present invention described above, in the client and server structure, the server transmits and installs an application test application to at least one client, and displays a remote test execution screen when the client connects to the server. , Select the Android or iOS version for each model of the test terminal.If you set the test time or test reservation, the test is performed at the set time, but the test terminal in which the test is in progress is displayed in color on the client screen, so it is intuitive from the outside The test monitoring automation platform can be provided for test monitoring automation remotely by allowing the user to identify the test terminal under test, and by delivering the result report to the user after the test is completed and charging according to the usage time when the use is terminated. have.

도 1은 본 발명의 일 실시예에 따른 모바일 애플리케이션의 원격 테스트 서비스 제공 시스템을 설명하기 위한 도면이다.
도 2는 도 1의 시스템에 포함된 원격 테스트 서비스 제공 서버를 설명하기 위한 블록 구성도이다.
도 3 및 도 4는 본 발명의 일 실시예에 따른 모바일 애플리케이션의 원격 테스트 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 모바일 애플리케이션의 원격 테스트 서비스 제공 방법을 설명하기 위한 동작 흐름도이다.
1 is a diagram illustrating a system for providing a remote test service for a mobile application according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating a remote test service providing server included in the system of FIG. 1.
3 and 4 are diagrams for explaining an embodiment in which a remote test service of a mobile application is implemented according to an embodiment of the present invention.
5 is a flowchart illustrating a method of providing a remote test service for a mobile application 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 so that those of ordinary skill in the art can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and similar reference numerals are assigned to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Throughout the specification, when a part is said to be "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element interposed therebetween. . In addition, when a part "includes" a certain component, it means that other components may be further included, and one or more other features, not excluding other components, unless specifically stated to the contrary. It is to be understood that it does not preclude the presence or addition of any number, step, action, component, part, or combination thereof.

명세서 전체에서 사용되는 정도의 용어 "약", "실질적으로" 등은 언급된 의미에 고유한 제조 및 물질 허용오차가 제시될 때 그 수치에서 또는 그 수치에 근접한 의미로 사용되고, 본 발명의 이해를 돕기 위해 정확하거나 절대적인 수치가 언급된 개시 내용을 비양심적인 침해자가 부당하게 이용하는 것을 방지하기 위해 사용된다. 본 발명의 명세서 전체에서 사용되는 정도의 용어 "~(하는) 단계" 또는 "~의 단계"는 "~ 를 위한 단계"를 의미하지 않는다. The terms "about", "substantially" and the like, as used throughout the specification, are used in or close to the numerical value when manufacturing and material tolerances specific to the stated meaning are presented, and are used in the sense of the present invention. To assist, accurate or absolute figures are used to prevent unfair use of the stated disclosure by unscrupulous infringers. As used throughout the specification of the present invention, the term "step (to)" or "step of" does not mean "step for".

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다. 한편, '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, '~부'는 어드레싱 할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체 지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.In the present specification, the term "unit" includes a unit realized by hardware, a unit realized by software, and a unit realized using both. Further, one unit may be realized using two or more hardware, or two or more units may be realized using one hardware. Meanwhile,'~ unit' is not meant to be limited to software or hardware, and'~ unit' may be configured to be in an addressable storage medium or configured to reproduce one or more processors. Thus, as an example,'~ unit' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and procedures. , Subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables. The components and functions provided in the'~ units' may be combined into a smaller number of elements and'~ units', or may be further divided into additional elements and'~ units'. In addition, components and'~ units' may be implemented to play one or more CPUs in a device or a security multimedia card.

본 명세서에 있어서 단말, 장치 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말, 장치 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말, 장치 또는 디바이스에서 수행될 수도 있다. In this specification, some of the operations or functions described as being performed by the terminal, device, or device may be performed instead in a server connected to the terminal, device, or device. Likewise, some of the operations or functions described as being performed by the server may also be performed by a terminal, device, or device connected to the server.

본 명세서에서 있어서, 단말과 매핑(Mapping) 또는 매칭(Matching)으로 기술된 동작이나 기능 중 일부는, 단말의 식별 정보(Identifying Data)인 단말기의 고유번호나 개인의 식별정보를 매핑 또는 매칭한다는 의미로 해석될 수 있다.In this specification, some of the operations or functions described as mapping or matching with the terminal means mapping or matching the unique number of the terminal or the identification information of the individual, which is the identification information of the terminal. Can be interpreted as.

이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 모바일 애플리케이션의 원격 테스트 서비스 제공 시스템을 설명하기 위한 도면이다. 도 1을 참조하면, 모바일 애플리케이션의 원격 테스트 서비스 제공 시스템(1)은, 적어도 하나의 클라이언트(100), 원격 테스트 서비스 제공 서버(300), 적어도 하나의 테스트 단말(400), 적어도 하나의 사용자 단말(500)을 포함할 수 있다. 다만, 이러한 도 1의 모바일 애플리케이션의 원격 테스트 서비스 제공 시스템(1)은, 본 발명의 일 실시예에 불과하므로, 도 1을 통하여 본 발명이 한정 해석되는 것은 아니다.1 is a diagram illustrating a system for providing a remote test service for a mobile application according to an embodiment of the present invention. Referring to FIG. 1, a system 1 for providing a remote test service of a mobile application includes at least one client 100, a remote test service providing server 300, at least one test terminal 400, and at least one user terminal. It may include 500. However, since the remote test service providing system 1 of the mobile application of FIG. 1 is only an embodiment of the present invention, the present invention is not limitedly interpreted through FIG. 1.

이때, 도 1의 각 구성요소들은 일반적으로 네트워크(network, 200)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 적어도 하나의 클라이언트(100)는 네트워크(200)를 통하여 원격 테스트 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 원격 테스트 서비스 제공 서버(300)는, 네트워크(200)를 통하여 적어도 하나의 클라이언트(100), 적어도 하나의 테스트 단말(400), 적어도 하나의 사용자 단말(500)과 연결될 수 있다. 또한, 적어도 하나의 테스트 단말(400)은, 네트워크(200)를 통하여 원격 테스트 서비스 제공 서버(300)와 연결될 수 있다. 그리고, 적어도 하나의 사용자 단말(500)은, 네트워크(200)를 통하여 적어도 하나의 클라이언트(100), 원격 테스트 서비스 제공 서버(300) 및 적어도 하나의 테스트 단말(400)과 연결될 수 있다. In this case, each component of FIG. 1 is generally connected through a network 200. For example, as shown in FIG. 1, at least one client 100 may be connected to a remote test service providing server 300 through a network 200. In addition, the remote test service providing server 300 may be connected to at least one client 100, at least one test terminal 400, and at least one user terminal 500 through the network 200. In addition, at least one test terminal 400 may be connected to the remote test service providing server 300 through the network 200. In addition, at least one user terminal 500 may be connected to at least one client 100, a remote test service providing server 300, and at least one test terminal 400 through the network 200.

여기서, 네트워크는, 복수의 단말 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예에는 근거리 통신망(LAN: Local Area Network), 광역 통신망(WAN: Wide Area Network), 인터넷(WWW: World Wide Web), 유무선 데이터 통신망, 전화망, 유무선 텔레비전 통신망 등을 포함한다. 무선 데이터 통신망의 일례에는 3G, 4G, 5G, 3GPP(3rd Generation Partnership Project), 5GPP(5th Generation Partnership Project), LTE(Long Term Evolution), WIMAX(World Interoperability for Microwave Access), 와이파이(Wi-Fi), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), 블루투스(Bluetooth) 네트워크, NFC(Near-Field Communication) 네트워크, 위성 방송 네트워크, 아날로그 방송 네트워크, DMB(Digital Multimedia Broadcasting) 네트워크 등이 포함되나 이에 한정되지는 않는다.Here, the network refers to a connection structure in which information exchange is possible between respective nodes such as a plurality of terminals and servers, and examples of such networks include a local area network (LAN) and a wide area communication network (WAN: Wide Area Network), Internet (WWW: World Wide Web), wired/wireless data communication network, telephone network, wired/wireless television communication network, etc. Examples of wireless data networks include 3G, 4G, 5G, 3GPP (3rd Generation Partnership Project), 5GPP (5th Generation Partnership Project), LTE (Long Term Evolution), WIMAX (World Interoperability for Microwave Access), and Wi-Fi. , Internet, LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), RF(Radio Frequency), Bluetooth(Bluetooth) network, NFC( Near-Field Communication) network, satellite broadcasting network, analog broadcasting network, DMB (Digital Multimedia Broadcasting) network, etc. are included, but are not limited thereto.

하기에서, 적어도 하나의 라는 용어는 단수 및 복수를 포함하는 용어로 정의되고, 적어도 하나의 라는 용어가 존재하지 않더라도 각 구성요소가 단수 또는 복수로 존재할 수 있고, 단수 또는 복수를 의미할 수 있음은 자명하다 할 것이다. 또한, 각 구성요소가 단수 또는 복수로 구비되는 것은, 실시예에 따라 변경가능하다 할 것이다.In the following, the term “at least one” is defined as a term including the singular number and the plural number, and even if the term “at least one” does not exist, each component may exist in the singular or plural, and may mean the singular or plural. It will be self-evident. In addition, it will be possible to change according to the embodiment that each component is provided in a singular or plural.

적어도 하나의 클라이언트(100)는, 모바일 애플리케이션의 원격 테스트 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 모바일 애플리케이션의 테스트를 요청하는 개발사 또는 프로그래머의 단말일 수 있다. 이때, 적어도 하나의 클라이언트(100)는, 서버-클라이언트 구조의 클라이언트이며, 개발사는 애플리케이션을 개발했으나 개발할 테스트 단말(400)을 찾지 못하거나 찾을 수 없거나 또는 별도의 테스트가 더 필요할 때 원격 테스트 서비스 제공 서버(300)로 테스트 단말(400)의 원격 연결을 요청하는 단말일 수 있다. 그리고, 적어도 하나의 클라이언트(100)는, 테스트할 테스트 단말(400)의 기종 및 OS 정보를 선택하고 개발된 모바일 애플리케이션을 온라인으로 진행하는 단말일 수 있다. 또한, 적어도 하나의 클라이언트(100)는, 테스트 단말(400)에서 테스트되는 경과를 원격지에서 모니터링하는 단말일 수 있고, 사용이 종료된 경우 사용시간만큼의 금액을 원격 테스트 서비스 제공 서버(300)로 지불하는 단말일 수 있다. 그리고, 적어도 하나의 클라이언트(100)는, 테스트 결과를 원격 테스트 서비스 제공 서버(300)로부터 로그 형식 또는 테스트 결과 보고 형식으로 수신하는 단말일 수 있다. 또한, 적어도 하나의 클라이언트(100)는, 테스트할 기종이나 단말이 더 필요하거나 누락된 경우 베타테스터 연결을 신청하고, 베타테스터를 선정하여 테스트한 결과를 수집하는 단말일 수 있다.The at least one client 100 may be a terminal of a developer or programmer requesting a test of a mobile application using a web page, an app page, a program, or an application related to a remote test service of the mobile application. At this time, at least one client 100 is a server-client structured client, and the developer has developed an application, but provides a remote test service when the test terminal 400 to be developed cannot be found or cannot be found, or additional tests are required. It may be a terminal that requests a remote connection of the test terminal 400 to the server 300. In addition, the at least one client 100 may be a terminal that selects the model and OS information of the test terminal 400 to be tested and runs the developed mobile application online. In addition, the at least one client 100 may be a terminal that monitors the progress of the test in the test terminal 400 at a remote location, and when the use is terminated, the amount of the use time is transferred to the remote test service providing server 300 It may be a payment terminal. Further, the at least one client 100 may be a terminal that receives the test result from the remote test service providing server 300 in a log format or a test result report format. In addition, the at least one client 100 may be a terminal that applies for connection to a beta tester, selects a beta tester, and collects test results when a model or terminal to be tested is required or omitted.

여기서, 적어도 하나의 클라이언트(100)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 클라이언트(100)는, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 클라이언트(100)는, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.Here, the at least one client 100 may be implemented as a computer that can access a remote server or terminal through a network. Here, the computer may include, for example, a navigation system, a notebook equipped with a web browser, a desktop, a laptop, and the like. At this time, at least one client 100 may be implemented as a terminal capable of accessing a remote server or terminal through a network. At least one client 100, for example, as a wireless communication device that is guaranteed portability and mobility, navigation, PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (W-Code Division Multiple Access), Wibro (Wireless Broadband Internet) It may include all types of handheld-based wireless communication devices such as terminals, smartphones, smart pads, and tablet PCs.

원격 테스트 서비스 제공 서버(300)는, 모바일 애플리케이션의 원격 테스트 서비스 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 제공하는 서버일 수 있다. 그리고, 원격 테스트 서비스 제공 서버(300)는, 개인 또는 중소개발사에서 테스트할 단말의 기종 및 OS 종류가 부족하여 테스트를 의뢰하는 경우, 온라인 테스트를 진행할 수 있도록 플랫폼을 제공하는 서버일 수 있다. 이를 위하여, 원격 테스트 서비스 제공 서버(300)는, 적어도 하나의 테스트 단말(400)의 기종 및 OS 정보를 적어도 하나의 테스트 단말(400)의 식별부호 또는 식별코드와 매핑하여 저장하는 서버일 수 있고, 클라이언트(100)에서 테스트 요청을 하는 경우 테스트를 원하는 기종 및 OS 정보를 수신하거나 또는 전부 선택되는 경우는 모든 테스트 단말(400)에서 클라이언트(100)의 모바일 애플리케이션이 구동되도록 테스트를 진행할 수 있게 하는 서버일 수 있다. 그리고, 원격 테스트 서비스 제공 서버(300)는, 클라이언트(100)에서 각 테스트 단말(400)의 테스트 진행 상황, 경과 시간, 테스트 완료 여부, 진행 여부 등을 파악할 수 있도록 UI/UX를 제공하는 서버일 수 있고, 진행이 완료되는 경우 예약을 설정할 수 있도록 하는 서버일 수 있다. 또한, 원격 테스트 서비스 제공 서버(300)는, 선택된 또는 모든 테스트 단말(400)에서 테스트가 완료된 경우, 사용시간에 기반하여 요금을 과금하는 서버일 수 있다. 이때, 원격 테스트 서비스 제공 서버(300)는, 사용된 테스트 단말(400)의 기종, OS, 사용시간에 개별적으로 과금을 하는 서버일 수도 있다. 그리고, 원격 테스트 서비스 제공 서버(300)는, 테스트 결과를 클라이언트(100)로 전송하는 서버일 수 있다. 만약, 클라이언트(100)에서 베타테스터 연결을 요청하는 경우, 테스트된 테스트 단말(400)의 기종이나 OS가 아닌 기종이나 OS를 가지는 베타테스터를 선정하여 테스트를 진행하도록 하는 서버일 수 있다.The remote test service providing server 300 may be a server that provides a remote test service web page, an app page, a program, or an application of a mobile application. In addition, the remote test service providing server 300 may be a server that provides a platform so that an online test can be performed when an individual or a small and medium developer requests a test because the type of terminal to be tested and the OS type are insufficient. To this end, the remote test service providing server 300 may be a server that maps and stores model and OS information of at least one test terminal 400 with an identification code or an identification code of at least one test terminal 400, and , When a test request is made by the client 100, the device type and OS information to be tested are received, or when all are selected, the test can be performed so that the mobile application of the client 100 is driven in all test terminals 400. It could be a server. In addition, the remote test service providing server 300 is a server that provides UI/UX so that the client 100 can check the test progress status, elapsed time, test completion, progress, etc. of each test terminal 400 It may be a server that allows you to set a reservation when the process is completed. In addition, the remote test service providing server 300 may be a server that charges a fee based on a usage time when the test is completed in selected or all test terminals 400. In this case, the remote test service providing server 300 may be a server that individually charges for the model, OS, and usage time of the used test terminal 400. In addition, the remote test service providing server 300 may be a server that transmits the test result to the client 100. If the client 100 requests a beta tester connection, it may be a server that selects a beta tester having a model or OS other than the model or OS of the tested test terminal 400 and performs the test.

여기서, 원격 테스트 서비스 제공 서버(300)는, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다.Here, the remote test service providing server 300 may be implemented as a computer capable of accessing a remote server or terminal through a network. Here, the computer may include, for example, a navigation system, a notebook equipped with a web browser, a desktop, a laptop, and the like.

적어도 하나의 테스트 단말(400)은, 모바일 애플리케이션의 원격 테스트 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 클라이언트(100)의 모바일 애플리케이션을 구동하는 단말일 수 있다. 이때, 적어도 하나의 테스트 단말(400)은 테스트 시나리오에 대응하도록 구동하면서 그 과정을 로그로 원격 테스트 서비스 제공 서버(300)로 전송할 수 있고, 오류가 발생하는 지점을 기준으로 화면을 동영상으로 생성할 수 있도록 화면을 원격 테스트 서비스 제공 서버(300)와 공유하는 단말일 수 있다. 그리고, 적어도 하나의 테스트 단말(400)은, 모바일 애플리케이션의 구동 여부를 원격 테스트 서비스 제공 서버(300)와 공유하며 클라이언트(100)에서 어느 테스트 단말(400)이 구동중인지 또는 가동이 가능한 유휴상태인지, 구동중이라면 경과시간은 몇 시간인지 등을 원격 테스트 서비스 제공 서버(300)와 공유하는 단말일 수 있고, 이에 기반하여 원격 테스트 서비스 제공 서버(300)에서 사용요금을 계산하도록 기준값을 제공하는 단말일 수 있다.The at least one test terminal 400 may be a terminal that drives a mobile application of the client 100 by using a web page, an app page, a program, or an application related to a remote test service of the mobile application. At this time, the at least one test terminal 400 may transmit the process as a log to the remote test service providing server 300 while driving to correspond to the test scenario, and generate a screen as a video based on the point where an error occurs. It may be a terminal that shares the screen with the remote test service providing server 300 so that it can be performed. In addition, the at least one test terminal 400 shares whether or not the mobile application is running with the remote test service providing server 300, and which test terminal 400 is running or in an idle state in which operation is possible in the client 100. , If it is running, the elapsed time may be a terminal that shares the elapsed time with the remote test service providing server 300, and based on this, a terminal providing a reference value to calculate the usage fee in the remote test service providing server 300 Can be

여기서, 적어도 하나의 테스트 단말(400)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 테스트 단말(400)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 테스트 단말(400)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.Here, at least one test terminal 400 may be implemented as a computer that can access a remote server or terminal through a network. Here, the computer may include, for example, a navigation system, a notebook equipped with a web browser, a desktop, a laptop, and the like. In this case, the at least one test terminal 400 may be implemented as a terminal capable of accessing a remote server or terminal through a network. At least one test terminal 400, for example, as a wireless communication device that is guaranteed portability and mobility, navigation, PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) ) It may include all kinds of handheld-based wireless communication devices such as terminals, smart phones, smart pads, and tablet PCs.

적어도 하나의 사용자 단말(500)은, 모바일 애플리케이션의 원격 테스트 서비스 관련 웹 페이지, 앱 페이지, 프로그램 또는 애플리케이션을 이용하여 원격 테스트 서비스 제공 서버(300)로부터 베타테스터 요청을 수신하고 승낙 또는 거절을 전송하는 일반인의 단말일 수 있다. 이때, 사용자 단말(500)에서 베타테스터를 승낙한 경우, 사용자 단말(500)의 유휴시간, 예를 들어 새벽 시간에 원격 테스트 서비스 제공 서버(300)와 연결되어 강제 웨이크업 및 테스트를 진행할 수 있고 그 결과는 테스트 단말(400)과 동일하게 원격 테스트 서비스 제공 서버(300)와 공유하는 단말일 수 있다. 사용자 단말(500)은, 테스팅이 종료되는 경우 테스트를 위하여 설치되었던 테스트 응용프로그램을 자동으로 삭제 및 이와 관련된 데이터들을 모두 삭제하도록 원격 테스트 서비스 제공 서버(300)에 의해 제어되는 단말일 수 있다.At least one user terminal 500 receives a beta tester request from the remote test service providing server 300 using a web page, app page, program, or application related to the remote test service of the mobile application and transmits acceptance or rejection. It may be a terminal of the general public. At this time, when the user terminal 500 accepts the beta tester, it is connected to the remote test service providing server 300 at idle time of the user terminal 500, for example, early morning time, and forcibly wake-up and test can be performed. The result may be a terminal shared with the remote test service providing server 300 in the same manner as the test terminal 400. The user terminal 500 may be a terminal controlled by the remote test service providing server 300 to automatically delete a test application program installed for testing and delete all related data when testing is terminated.

여기서, 적어도 하나의 사용자 단말(500)은, 네트워크를 통하여 원격지의 서버나 단말에 접속할 수 있는 컴퓨터로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 네비게이션, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(Desktop), 랩톱(Laptop) 등을 포함할 수 있다. 이때, 적어도 하나의 사용자 단말(500)은, 네트워크를 통해 원격지의 서버나 단말에 접속할 수 있는 단말로 구현될 수 있다. 적어도 하나의 사용자 단말(500)은, 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, 네비게이션, PCS(Personal Communication System), GSM(Global System for Mobile communications), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) 단말, 스마트폰(Smartphone), 스마트 패드(Smartpad), 타블렛 PC(Tablet PC) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다.Here, the at least one user terminal 500 may be implemented as a computer that can access a remote server or terminal through a network. Here, the computer may include, for example, a navigation system, a notebook equipped with a web browser, a desktop, a laptop, and the like. In this case, the at least one user terminal 500 may be implemented as a terminal capable of accessing a remote server or terminal through a network. At least one user terminal 500, for example, as a wireless communication device that is guaranteed portability and mobility, navigation, PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet) ) It may include all kinds of handheld-based wireless communication devices such as terminals, smart phones, smart pads, and tablet PCs.

도 2는 도 1의 시스템에 포함된 원격 테스트 서비스 제공 서버를 설명하기 위한 블록 구성도이고, 도 3 및 도 4는 본 발명의 일 실시예에 따른 모바일 애플리케이션의 원격 테스트 서비스가 구현된 일 실시예를 설명하기 위한 도면이다.FIG. 2 is a block diagram illustrating a remote test service providing server included in the system of FIG. 1, and FIGS. 3 and 4 are an embodiment of implementing a remote test service of a mobile application according to an embodiment of the present invention. It is a figure for explaining.

도 2를 참조하면, 원격 테스트 서비스 제공 서버(300)는, 표시부(310), 선택부(320), 설정부(330), 제어부(340), 출력부(350), 설치부(360), 과금부(370), 시간알람부(380) 및 누락알람부(390)를 포함할 수 있다.Referring to FIG. 2, the remote test service providing server 300 includes a display unit 310, a selection unit 320, a setting unit 330, a control unit 340, an output unit 350, an installation unit 360, A billing unit 370, a time alarm unit 380, and an omission alarm unit 390 may be included.

본 발명의 일 실시예에 따른 원격 테스트 서비스 제공 서버(300)나 연동되어 동작하는 다른 서버(미도시)가 적어도 하나의 클라이언트(100), 적어도 하나의 테스트 단말(400), 및 적어도 하나의 사용자 단말(500)로 모바일 애플리케이션의 원격 테스트 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 전송하는 경우, 적어도 하나의 클라이언트(100), 적어도 하나의 테스트 단말(400), 및 적어도 하나의 사용자 단말(500)은, 모바일 애플리케이션의 원격 테스트 서비스 애플리케이션, 프로그램, 앱 페이지, 웹 페이지 등을 설치하거나 열 수 있다. 또한, 웹 브라우저에서 실행되는 스크립트를 이용하여 서비스 프로그램이 적어도 하나의 클라이언트(100), 적어도 하나의 테스트 단말(400), 및 적어도 하나의 사용자 단말(500)에서 구동될 수도 있다. 여기서, 웹 브라우저는 웹(WWW: World Wide Web) 서비스를 이용할 수 있게 하는 프로그램으로 HTML(Hyper Text Mark-up Language)로 서술된 하이퍼 텍스트를 받아서 보여주는 프로그램을 의미하며, 예를 들어 넷스케이프(Netscape), 익스플로러(Explorer), 크롬(Chrome) 등을 포함한다. 또한, 애플리케이션은 단말 상의 응용 프로그램(Application)을 의미하며, 예를 들어, 모바일 단말(스마트폰)에서 실행되는 앱(App)을 포함한다.The remote test service providing server 300 according to an embodiment of the present invention or another server (not shown) operating in conjunction with at least one client 100, at least one test terminal 400, and at least one user When transmitting a remote test service application, program, app page, web page, etc. of a mobile application to the terminal 500, at least one client 100, at least one test terminal 400, and at least one user terminal ( 500) may install or open a remote test service application, program, app page, web page, etc. of the mobile application. In addition, a service program may be driven in at least one client 100, at least one test terminal 400, and at least one user terminal 500 by using a script executed in a web browser. Here, the web browser is a program that allows you to use the Web (WWW: World Wide Web) service, which means a program that receives and displays hypertext described in HTML (Hyper Text Mark-up Language). For example, Netscape , Explorer, Chrome, etc. In addition, the application refers to an application program on the terminal, and includes, for example, an app running on a mobile terminal (smartphone).

도 2를 참조하면, 표시부(310)는, 클라이언트(100)에서 접속하는 경우 기 저장된 테스트 응용프로그램의 실행화면을 표시하도록 한다. 예를 들어, 개인이나 앱 개발자가 직원들의 핸드폰 몇 대 또는 본인들이 보유한 핸드폰을 이용하여 기본적인 테스트를 진행할 수도 있고 프리테스트도 진행하지만, 다양한 환경의 하드웨어/소프트웨어에서 구동되면서 발생할 수 있는 오류를 잡아내줘야 하는 프로젝트가 존재할 수 있는데, 이때 한 번의 테스트를 위하여 몇 십 내지 몇 백 대의 핸드폰을 구비할 수도 없고, 각 대기업에서 일 년에 출시되는 신제품만해도 20종이 넘으며 한 대당 백 만원대를 호가하는 구매비용을 영세한 개발사나 개인 개발자들이 부담하기에는 현실적으로 매우 어렵다. 이에 따라, 표시부(310)는 클라이언트(100)에서 모바일 애플리케이션의 테스트를 의뢰하는 경우, 테스트 응용프로그램을 설치 및 구동하도록 하고 실행시키면서 자신이 직접 사지 않아도 다양한 종류의 기종 및 OS를 가지는 핸드폰에서 자신이 개발한 애플리케이션을 테스트할 수 있도록 한다.Referring to FIG. 2, the display unit 310 displays an execution screen of a previously stored test application program when connected from the client 100. For example, an individual or an app developer may perform basic tests or pretests using a few mobile phones of employees or their own, but it is necessary to catch errors that may occur while running on hardware/software in various environments. There may be a project to do, but at this time, it is not possible to have a few dozen or hundreds of mobile phones for one test, and each large company has more than 20 new products released a year, and the purchase cost is a price of 1 million won per unit. In reality, it is very difficult for small developers or individual developers to bear. Accordingly, when the client 100 requests a test of the mobile application, the display unit 310 installs and runs the test application and executes the test application. Allows you to test the developed application.

선택부(320)는, 클라이언트(100)로부터 적어도 하나의 테스트 단말(400)의 기종 및 OS(Operating System) 정보를 선택받을 수 있다. 선택부(320)는, 클라이언트(100)로부터 적어도 하나의 테스트 단말(400)의 기종 및 OS(Operating System) 정보를 선택받을 때, XY 좌표 또는 XYZ 좌표에 대응하는 셀에 위치한 적어도 하나의 테스트 단말(400)의 식별부호와 XY 좌표 또는 XYZ 좌표를 매핑하여 저장할 수 있고, 클라이언트(100)의 화면 상에 XY 좌표 또는 XYZ 좌표에 대응하는 셀 내에 적어도 하나의 테스트 단말(400)의 기종 및 OS 정보를 선택받을 수 있다. 예를 들어, 1 열에는 S 사의 2018년도 출시모델, 2 열에는 S 사의 2019년도 출시모델, 3 열에는 2020년도 출시모델과 같이 행렬을 이루면서 테스터가 어떠한 기종 및 OS를 선택할지를 시각화해주는 것이다. 이때, 클라이언트-서버-테스트 단말 간 연결이 되지만, 클라이언트(100)에서 직관적으로 자신이 원하는 테스트를 실행하도록 각 테스트 단말(400)을 행렬로 이루어진, 또는 3차원으로 이루어진 공간에서 선택할 수 있도록 한다. 예를 들어, 해당 기종의 아이콘과 그 위에 OS 및 사양 등이 간략하게 기재되어 있는 방식으로 직접 해당 테스트 단말(400)을 보는 것과 같은 효과를 제공할 수도 있다.The selection unit 320 may receive a selection of a model and operating system (OS) information of at least one test terminal 400 from the client 100. The selection unit 320, when receiving the model and operating system (OS) information of the at least one test terminal 400 from the client 100, at least one test terminal located in the cell corresponding to the XY coordinates or XYZ coordinates The identification code of 400 and XY coordinates or XYZ coordinates can be mapped and stored, and model and OS information of at least one test terminal 400 in a cell corresponding to XY coordinates or XYZ coordinates on the screen of the client 100 You can choose For example, in column 1, S company's 2018 release model, S company's 2019 release model in column 2, and column 3 are 2020 release models, to visualize which model and OS the tester will select. At this time, the connection between the client-server-test terminals is established, but each test terminal 400 can be selected in a space consisting of a matrix or three dimensions so that the client 100 intuitively executes a desired test. For example, it is possible to provide the same effect as directly viewing the test terminal 400 in a manner in which the icon of the corresponding model and the OS and specifications are briefly described thereon.

이때, 선택부(320)는 클라이언트(100)에서 테스트하고자 하는 특정 테스트 단말(400)만을 선택받을 수도 있고, 존재하는 모든 테스트 단말(400)에서 테스트되도록 할 수도 있다. 이때, 선택부(320)는 클라이언트(100)에서 클라우드 테스팅이 진행될 수 있도록 가상 환경에서 풍부한 자원을 바탕으로 테스트 환경 구축과 수행을 자동화할 수도 있다. 클라우드 기반 네트워크에서의 테스트 관리 방법을 이용하는 경우, 테스트 API를 사용해 테스트 도구를 정의하거나 선택할 수 있도록 제공할 수도 있다. 구성된 테스트 도구는 테스트 관리 시스템에 의해서 할당된 개별 클라우드 가상 환경에 구축되고, 사용자가 제공받은 클라우드 환경에서 테스트 활동을 관리할 수 있도록 제공할 수도 있다. D-클라우드를 이용하는 경우, 테스터(클라이언트, 개발자)의 의도가 반영된 테스트 시나리오, 환경 설정 스크립트, 테스트 데이터 등의 파일을 D-클라우드에 입력하면, 유칼립투스라는 클라우드 시스템 제어기로부터 입력받은 조건에 적합한 분산 시스템 테스트 환경을 구축하고 테스트까지 수행한 결과를 테스터에게 제공할 수도 있다. 이는 모두 클라우드 기반의 TaaS(Testing as a Service) 환경을 구성해 편의성을 제공할 수 있다.In this case, the selection unit 320 may select only a specific test terminal 400 to be tested by the client 100 or may be tested by all the test terminals 400 that exist. In this case, the selection unit 320 may automate the construction and execution of a test environment based on abundant resources in a virtual environment so that cloud testing can be performed in the client 100. When using the test management method in a cloud-based network, test tools can be defined or provided for selection using the test API. The configured test tool is built in an individual cloud virtual environment allocated by the test management system, and may be provided so that the user can manage test activities in the provided cloud environment. In the case of using D-Cloud, if you input files such as test scenarios, environment setting scripts, and test data that reflect the intention of the tester (client, developer) into D-Cloud, a distributed system suitable for the conditions received from the cloud system controller called Eucalyptus You can also build a test environment and provide the tester with the results of performing tests. All of these can provide convenience by configuring a cloud-based TaaS (Testing as a Service) environment.

이때, 회귀 테스트처럼 반복적인 테스트가 요구되는 경우에는 같은 테스트 환경이라도 테스트 요청이 들어오는 매 시점에 새롭게 테스트 환경이 구축된다는 점에서 클라우드라는 접근성의 장점은 살리면서 확장성과 재사용성의 문제를 해결하고자 지속 테스팅 플랫폼을 이용할 수도 있다. 지속 테스팅에서는 DevOps의 IaC 기술을 이용할 수 있고, 테스트 기반시설 구축과 수행을 코드로 작성하고 동작시킬 수 있다. CAP(Cloud Acceleration Program) 프레임워크를 이용하는 경우, CI(Continuous Integration), CT(Continuous Testing), CD(Continuous Delivery/Deployment)의 자동화를 위한 방법으로 오픈 소스 응용 프로그램들을 이용하여 파이프라인의 조화(Orchestration) 방법을 적용할 수도 있다.At this time, in the case that repetitive testing is required, such as regression testing, a new test environment is constructed at every time a test request is received even in the same test environment, so continuous testing to solve the problem of scalability and reusability while taking advantage of the accessibility of cloud. You can also use the platform. In continuous testing, DevOps' IaC technology can be used, and test infrastructure construction and execution can be written and operated in code. When using the CAP (Cloud Acceleration Program) framework, it is a method for automation of CI (Continuous Integration), CT (Continuous Testing), and CD (Continuous Delivery/Deployment). ) Method can also be applied.

CIDD(Continuous Integration, Deployment and Delivery automation)를 이용하여 AWS 클라우드 기반 환경에서 Jenkins CI 서버와 Sonar 테스트 도구, Maven 등의 일부 프로그램을 이용한 CI, CT, CD 자동화 방법을 이용할 수도 있다. CAP과 CIDD 연구는 클라우드 테스팅과 마찬가지로 가상 환경을 기반으로 하고 있어 자원 관리에 효율적이며, 또한 환경 구축과 테스트 및 배포 수행을 코드로 자동화하는 IaC 기술을 사용해 환경 관리의 효율성을 가진다. 일반적인 클라우드와 지속 테스팅에서의 전문성을 줄이고 사용자 개입을 최소화하기 환경 구축 코드를 템플릿으로 대체, 제공하는 방법도 이용할 수 있는데, 클라우드 환경 구축을 간소화하고자 CDL(Component Description Language)과 TDL(Template Design Language)을 이용해 템플릿을 정의하고, 사용자(테스터, 사용자 단말(500)의 사용자가 아님)는 해당 템플릿 코드에 필요한 설정 값을 채워 넣어 클라우드 환경을 제공받을 수도 있다. 그리고 ARGON(An infRastructure modelinG tool for clOud provisioNing)을 이용하여 기반시설의 구조를 추상 모델로 정의해 두고, 사용자로부터 필요한 환경 요소와 관계 설정을 입력받아 스크립트 코드를 생성하고 이를 실행해 클라우드 환경으로 제공할 수도 있다. 한편, 리더 선택 알고리즘을 이용하여, 고장 감내 환경을 모사하기 위하여 도커(Docker)로 컴퓨터 노드를 모사하고 노드들 간의 상호 동작을 도커 환경에서 실행해 보면서 리더 선택 알고리즘이 정확하게 동작하는지 확인하는 방법을 이용할 수도 있다. 물론, 상술한 알고리즘이나 방법 이외에도 다양한 방법이 및 알고리즘이 이용될 수 있음은 자명하다 할 것이며 나열된 것들로 한정되지 않고 열거되지 않은 이유로 배제되지 않는다.You can also use CI, CT, and CD automation methods using some programs such as Jenkins CI server, Sonar test tool, and Maven in an AWS cloud-based environment using CIDD (Continuous Integration, Deployment and Delivery automation). Like cloud testing, CAP and CIDD studies are based on virtual environments, so they are efficient in resource management, and also have the efficiency of environment management by using IaC technology that automates environment construction, testing, and deployment with code. In order to reduce the expertise in general cloud and continuous testing and minimize user intervention, a method of replacing and providing the environment building code with a template can also be used. To simplify cloud environment deployment, CDL (Component Description Language) and TDL (Template Design Language) A template may be defined using, and a user (a tester, who is not a user of the user terminal 500) may receive a cloud environment by filling in a required setting value in the corresponding template code. In addition, the structure of the infrastructure is defined as an abstract model using ARGON (An infRastructure modeling tool for clOud provisioNing), and a script code is generated by receiving required environmental elements and relationship settings from the user, and then provided to the cloud environment. May be. Meanwhile, in order to simulate the fault tolerance environment using the reader selection algorithm, a method of verifying whether the reader selection algorithm is operating correctly by simulating a computer node with a Docker and executing the interaction between nodes in a docker environment is used. May be. Of course, it will be apparent that various methods and algorithms may be used in addition to the above-described algorithms and methods, and are not limited to those listed and are not excluded for reasons not listed.

설정부(330)는, 클라이언트(100)로부터 적어도 하나의 테스트 단말(400)에서 테스트 응용프로그램이 실행될 시간을 설정받을 수 있다. 설정부(330)에서 클라이언트(100)로부터 적어도 하나의 테스트 단말(400)에서 테스트 응용프로그램이 실행될 시간을 설정받을 때, 적어도 하나의 테스트 단말(400)이 현재 테스트중인 경우 테스트 응용프로그램이 실행될 시간을 예약받을 수 있다.The setting unit 330 may receive a time set by the client 100 to execute a test application program in at least one test terminal 400. When the setting unit 330 sets the time to execute the test application program in at least one test terminal 400 from the client 100, the time when the test application program is executed when at least one test terminal 400 is currently being tested You can make a reservation.

이때, 테스트 모니터링을 수행하기 위해서는 테스트 계획에 비추어 실제 테스트 수행 과정 및 내용이 일치하는지 판단할 수 있어야 한다. 사용자(테스터)가 보다 쉽게 테스트 모니터링을 수행하기 위해 자동으로 테스트 모니터링을 수행해 주는 도구를 이용할 수 있다. 예를 들어, RQM(Rational Quality Manager)은 웹 기반의 협업 도구로서 소프트웨어 개발 라이프사이클 동안 광범위한 테스트 계획, 테스트 생성 및 테스트 산출물 관리 기능을 제공한다. 사용자가 입력한 테스트 계획을 기반으로 테스트 프로젝트의 모든 단계에서 테스트를 수행하는 팀의 활동을 지원한다. 이때, RQM은 사용자가 직접 테스트 프로젝트를 생성하고 처음 테스트를 수행할 때 테스트의 시작, 종료 조건, 테스트 케이스, 리소스 등을 모두 수동으로 입력하는 과정, 및 테스트 결과 또한 사용자가 입력해야 과정이 요구될 수 있다. 한편, NEXCORE Test Manager는 소프트웨어 프로젝트 전략에 맞게 테스트를 계획, 설계, 수행할 수 있는 환경을 제공한다. 또한 테스트 수행 과정에서 발생한 결함을 개발자에게 할당하고, 결함의 원인을 분석 및 진척 사항을 상시 모니터링 할 수 있는 환경을 제공한다. 이 도구는 테스터가 도구에 테스트 시나리오와 케이스를 등록하고, 테스트 관리자가 등록된 테스트 케이스를 수행할 담당 테스터에게 할당한다. 또한 테스터는 테스트 수행 결과를 직접 기록해야하고 결함을 발견하여 등록해야 하는 과정이 전제될 수 있다.At this time, in order to perform test monitoring, it must be possible to determine whether the actual test execution process and contents match in light of the test plan. To make it easier for users (testers) to perform test monitoring, a tool that automatically performs test monitoring can be used. For example, Rational Quality Manager (RQM) is a web-based collaboration tool that provides extensive test planning, test creation, and test deliverable management capabilities throughout the software development lifecycle. Based on the test plan entered by the user, it supports the activities of the team performing tests at all stages of the test project. At this time, RQM is a process of manually inputting all of the start and end conditions, test cases, resources, etc. when the user creates a test project and performs the test for the first time, and the test result must also be input by the user. I can. Meanwhile, NEXCORE Test Manager provides an environment in which tests can be planned, designed, and executed according to the software project strategy. In addition, it provides an environment for allocating defects that occurred in the process of performing tests to developers, analyzing the causes of defects, and monitoring progress at all times. In this tool, the tester registers test scenarios and cases in the tool, and the test manager allocates it to a tester in charge of performing the registered test cases. In addition, the tester must directly record the test results, and it may be premised on the process of finding and registering defects.

설정부(330)는 클라이언트(100)가 문서 형태의 테스트 계획을 수동으로 입력받지 않고, 사용자가 UI를 통해 테스트 계획을 작성하면 XML 형태의 테스트 계획으로 저장되어 컴퓨터가 자동으로 읽어 들이도록 설정할 수 있다. 즉, 상술한 두 가지 방법과 같이 테스터가 클라이언트(100)를 통하여 수동으로 설정을 해줄 수도 있지만, 읽어들인 테스트 계획의 정보를 이용하여 테스트 스케줄 정의, 테스트 리소스 할당 및 테스트 진행 상태 모니터링을 준비할 수 있다. 또한 자동으로 테스트 결과의 로그 정보를 분석하여 진척도 파악 및 테스트 성능 분석을 수행할 수 있도록 설정할 수 있다. 이에 따라, 클라이언트(100)는 사용시간만 설정하거나 예약할 수 있고, 그 결과는 리포트 형식으로 제공받거나 버그 리포트를 로그로 받을 수도 있다.The setting unit 330 can be set so that the client 100 does not manually input the test plan in the form of a document, and when the user creates a test plan through the UI, it is saved as an XML test plan and automatically read by the computer. have. That is, the tester may manually set the settings through the client 100 as in the two methods described above, but the test schedule definition, test resource allocation, and test progress monitoring can be prepared using the read test plan information. have. In addition, it can be set to automatically analyze the log information of the test result to determine the progress and to perform the test performance analysis. Accordingly, the client 100 may set or reserve only the use time, and the result may be provided in a report format or a bug report may be received as a log.

자동화 기반의 테스트 모니터링 프레임워크를 구축하기 위해서는 무엇보다도 테스트 활동의 여러 산출물들을 사용자의 개입 없이 모니터링 시스템이 산출물들을 처리할 수 있어야 한다. 테스트 계획은 대부분 자연어로 기술되어 컴퓨터가 테스트 계획의 정보를 자동으로 인식할 수 없다. 또한 테스트 진행 상황에 대한 정보도 대부분 테스터가 입력한 정보에 의존할 수밖에 없었지만, 이런 상황에서는 정확한 테스트 모니터링이 수행된다는 것을 보장하기 어렵다. 우선, 테스터가 작성한 테스트 계획은 자연어 형태로 기술되어 컴퓨터가 읽어 들일 수 없어서 테스트 모니터링 과정에 필요한 테스트 계획 정보는 사용자가 일일이 입력해야 하기 때문에, 테스트 계획 기술 언어를 구축하기 위해서 첫 번째로, 정형화되어있는 테스트 계획 관련 표준문서를 분석하여 테스트 계획 문서의 항목을 도출하는 작업부터 시작할 수 있다. 추출된 정보에는 테스트 목적, 실제 적용되는 테스트 범위, 테스트 전략, 테스트 대상, 테스트 스케줄, 테스트 리소스, 테스트 프로세스 등의 내용이 포함될 수 있다. 또한 도출된 항목에 기술되어야 하는 정보를 파악하여, 테스트를 수행하는 데 필요한 정보를 추출할 수 있다. 사용자는 UI를 통해 테스트 계획의 항목들을 채우면 시스템은 XML로 표현된 테스트 계획을 생성할 수 있다. XML 형태로 생성된 테스트 계획은 컴퓨터가 인식할 수 있어서 테스트 모니터링 프레임워크를 구축하는데 필요한 정보를 자동으로 추출할 수 있다.In order to build an automation-based test monitoring framework, above all, the monitoring system must be able to process the outputs of various test activities without user intervention. Test plans are mostly written in natural language, so computers cannot automatically recognize the information in the test plan. In addition, most of the information on the test progress was forced to rely on the information entered by the tester, but it is difficult to ensure that accurate test monitoring is performed in this situation. First of all, the test plan created by the tester is described in natural language and cannot be read by the computer, so the user must manually input the test plan information necessary for the test monitoring process. In order to establish the test plan description language, first, it is formalized. You can start by analyzing the standard documents related to the test plan to derive the items of the test plan document. The extracted information may include the purpose of the test, the scope of the test that is actually applied, the test strategy, the test target, the test schedule, the test resource, and the test process. In addition, by grasping the information to be described in the derived item, the information required to perform the test can be extracted. When the user fills in the items of the test plan through the UI, the system can generate the test plan expressed in XML. The test plan created in XML format can be recognized by a computer, so information necessary to build a test monitoring framework can be automatically extracted.

두 번째로 테스트 모니터링을 위한 기능을 도출하는 작업을 수행한다. 테스트 모니터링 활동은 테스트 계획에 비추어 실제 테스트 수행 과정과 내용을 관찰하는 과정이다. 의미 있는 테스트 모니터링 프레임워크를 구축하기 위해서는 사용자가 필요로 하는 테스트 모니터링 기능을 파악하여야 한다. 이를 위해, 테스트 모니터링의 기능을 파악하기 위하여 기 존재하는 테스트 모니터링 도구뿐만 아니라 TMMI(Test Maturity Model Integration)를 분석할 수 있다. 도출가능한 기능은 예를 들어, 테스트 진행 상황 모니터링, 테스트 환경 자원 제공 및 사용에 대한 모니터링, 이해관계자의 참여에 대한 모니터링, 테스트 단계 진척도 모니터링, 테스트 시작/종료 시점 확인, 테스트 성능 기록을 포함할 수 있으나 나열된 것들로 한정되지 않고 열거되지 않은 이유로 배제되지 않는다. Second, it performs the task of deriving the function for test monitoring. Test monitoring activity is the process of observing the actual test execution process and contents in the light of the test plan. In order to build a meaningful test monitoring framework, it is necessary to grasp the test monitoring function required by the user. To this end, TMMI (Test Maturity Model Integration) as well as existing test monitoring tools can be analyzed to understand the function of test monitoring. Derivable functions may include, for example, monitoring the progress of the test, monitoring the provision and use of test environment resources, monitoring the participation of stakeholders, monitoring the progress of the test phase, checking the start/end of the test, and recording the test performance. However, it is not limited to those listed and is not excluded for reasons not listed.

테스트 진행 상황 모니터링은, 테스트 스케줄 관점에서 테스트 진행 상황을 모니터링하기 위해 필요하다. 테스트 계획에 기술된 스케줄 대비 실제 수행된 스케줄을 비교하여 진행 상황을 파악할 수 있다. 테스트 환경 자원 제공 및 사용에 대한 모니터링은, 제공된 테스트 환경 및 자원 관점에서 테스트 계획에서 제공하기로 하였던 테스트 환경 및 자원이 올바르게 제공되고 사용되는지 확인하기 위한 기능일 수 있다. 이해관계자의 참여에 대한 모니터링은, 테스트에 참여하는 이해관계자에 대한 정보를 나타낸다. 이를 통해 테스트 계획에 기술된 테스트 참여자가 실제 테스트 수행에 참여하는지 확인할 수 있다. 테스트 단계 진척도 모니터링은 현재 진행 중인 테스트의 단계를 나타낸다. 테스트 계획에 기술된 테스트 단계 중 현재 진행 중인 테스트 단계가 어느 단계에 위치하는지 확인이 가능하다. 테스트 시작/종료 시점 확인은, 수행하는 테스트의 시작 시점과 종료 시점을 나타내는 기능으로, 테스트 계획에 기술된 테스트 스케줄에 따라 테스터에게 테스트 수행 시작 시점과 종료 시점을 알려줄 수 있다. 테스트 성능 기록은, 수행중인 테스트에 대해 어느 정도의 테스트 케이스를 커버했는지, 성공 및 실패한 테스트 케이스에 대한 정보 등을 나타내어 테스트 성능을 확인할 수 있다.Monitoring the test progress is necessary to monitor the test progress in terms of the test schedule. You can check the progress by comparing the actual executed schedule with the schedule described in the test plan. Monitoring of the provision and use of test environment resources may be a function to ensure that the test environment and resources that were intended to be provided in the test plan are provided and used correctly in terms of the provided test environment and resources. Monitoring of stakeholder engagement reveals information about stakeholders participating in the test. This allows you to verify that the test participants described in the test plan participate in the actual test execution. Test stage progress monitoring represents the stage of the test currently in progress. Among the test steps described in the test plan, it is possible to check where the currently ongoing test step is located. The test start/end time check is a function that indicates the start time and end time of the test being performed, and can inform the tester of the test execution start time and end time according to the test schedule described in the test plan. The test performance record indicates how many test cases have been covered for the test being performed, information on success and failure test cases, and the like, so that test performance can be checked.

세 번째로, 테스트 모니터링을 위한 정보를 추출하는 과정을 진행한다. 테스트 모니터링의 기능들을 수행하기 위해 필요한 정보는 테스트 계획, 테스트 케이스, 테스트 결과 등으로부터 얻을 수 있다. 테스트 계획으로부터 테스트 범위의 항목들을 통해 테스트 타겟에 대한 정보를 도출하여 수행되는 테스트 대상이 무엇인지, 사용자가 올바른 테스트 대상을 테스트하고 있는지 확인이 가능하다. 테스트 아이템의 테스트 요구사항을 통해 사용자가 테스트 계획에 기술된 요구사항을 현재 수행하는 테스트에서 만족하는지 확인할 수 있다. 테스트 전략 항목들을 통해 테스트 접근 및 테스트 커버범위에 대한 정보를 파악하여 어떤 테스트 방법이 적용되고, 수행하는 테스트에 대한 커버리지 측정에 대한 정보를 확인할 수 있다. 스케줄 항목을 통해 테스트를 언제부터 언제까지 수행하는지에 대한 정보를 확인할 수 있으며 어떤 이해관계자 및 조직이 테스트에 참여하는지 나타낼 수 있다. 환경 항목은 테스트를 수행할 때 제공되는 환경 및 리소스를 나타내고 있으며 이를 통해 사용자는 테스트 계획에 기술된 테스트 환경에 따라 테스트를 수행하고 있는지, 리소스가 올바르게 제공되고 있는지 확인할 수 있다. 테스트 케이스의 생성된 테스트 케이스 목록 정보 및 개수 정보와 테스트 결과의 통과, 실패, 미결 정보를 통해 테스트 단계 진척도와 테스트 성능을 파악할 수 있다.Third, the process of extracting information for test monitoring is performed. Information necessary to perform the functions of test monitoring can be obtained from test plans, test cases, and test results. By deriving information on the test target from the test plan through the items of the test range, it is possible to check what the test target is being performed and whether the user is testing the correct test target. Through the test requirements of the test item, the user can check whether the requirements described in the test plan are satisfied by the test currently being performed. Through the test strategy items, information on test access and test coverage can be identified, and information on which test method is applied and coverage measurement for the test being performed can be checked. Through the schedule item, you can check information about when to perform the test, and indicate which stakeholders and organizations are participating in the test. The environment item indicates the environment and resources provided when performing the test, and through this, the user can check whether the test is being performed according to the test environment described in the test plan, and whether the resource is provided correctly. The progress of the test stage and test performance can be grasped through the test case list information and the number of test cases generated and the pass, failure, and pending information of the test result.

제어부(340)는, 설정된 시간에 적어도 하나의 테스트 단말(400)에서 테스트 응용프로그램이 실행되도록 제어할 수 있다. 설정부(330)에서 테스트 단말(400)의 테스트 계획에 따라 테스트가 진행될 소스를 자동으로 설정했으면, 제어부(340)는 테스트 시나리오에 따라 테스트 단말(400)을 테스트하는 과정을 진행할 수 있다. 상술한 항목에 대응하는 UI/UX를 클라이언트(100)에서 입력 또는 업로드하는 경우, 제어부(340)는, XML 형태의 테스트 계획으로 저장하고, XML로 저장된 테스트 계획을 파싱(Parsing)하여 테스트 대상, 요구사항, 테스트 커버리지, 테스트 스케줄, 테스터, 테스트 환경 및 리소스 등의 정보를 읽어들인다. The controller 340 may control the test application program to be executed in at least one test terminal 400 at a set time. If the setting unit 330 automatically sets the source to be tested according to the test plan of the test terminal 400, the controller 340 may proceed with a process of testing the test terminal 400 according to the test scenario. When the UI/UX corresponding to the above-described item is input or uploaded by the client 100, the control unit 340 stores the test plan in an XML format and parses the test plan stored in XML to be a test target, Information such as requirements, test coverage, test schedule, tester, test environment and resources are read.

이를 통해 제어부(340)는 테스트 환경 자원 제공 및 사용에 대한 모니터링, 이해관계자의 참여에 대한 모니터링, 테스트 시작/종료 시점 확인이 가능하다. 다음으로 제어부(340)는 클라이언트(100)의 사용자인 테스터에 의해 개발된 테스트 케이스에 대한 정보를 읽어 들인다. 계속해서, 테스터 또는 개발자가 준비된 테스트 케이스를 이용하여 테스트를 수행하게 되면 테스트 실행 환경은 테스트 결과 파일을 생성하게 된다. 테스트 케이스에 대한 정보로부터 적용하는 테스트 케이스 목록과 테스트 케이스의 총 개수, 테스트 결과 파일로부터 성공, 실패, 미결 등 테스트 수행 결과 정보를 획득하게 되면 테스트 단계 진척도, 진행 상황, 성능 등의 분석을 수행할 수 있게 된다.Through this, the control unit 340 can monitor the provision and use of test environment resources, monitor the participation of stakeholders, and check the start/end timing of the test. Next, the controller 340 reads information on a test case developed by a tester that is a user of the client 100. Subsequently, when a tester or developer performs a test using the prepared test case, the test execution environment generates a test result file. When the test result information such as success, failure, pending, etc. is acquired from the test case list and the total number of test cases applied from the test case information, the test step progress, progress, performance, etc. can be analyzed. You will be able to.

출력부(350)는, 제어부(340)에서 설정된 시간에 적어도 하나의 테스트 단말(400)에서 테스트 응용프로그램이 실행되도록 제어한 후, 적어도 하나의 테스트 단말(400)에서 테스트 응용프로그램이 실행중인 경우 적색 및 테스트 응용프로그램이 종료되거나 미사용중인 경우 녹색으로 클라이언트(100)에서 표시되도록 제어할수 있다. 이 외에도, 출력부(350)는 테스트 성능 분석 결과를 사용자에게 시각적으로 제공할 수도 있다. 우선, 제어부(340)에서 테스트 계획으로부터 테스트 스케줄 정보를 획득하고, 테스트 계획에서 특정 테스터의 정보로부터 그 테스터에게 할당된 테스트 작업을 파악한 후, 스케줄을 테스트할 작업의 개수로 나누면 작업당 할당된 시간을 도출할 수 있어서 출력부(350)는 이 정보를 더 도출할 수 있다. 그리고, 출력부(350)는, 테스트 케이스 정보로부터 테스트 케이스 목록 정보를 획득하여 클라이언트(100)의 화면을 통하여 출력할 수 있도록 하고, 테스트 케이스 목록 정보로부터 해당되는 테스터에게 할당된 테스트 케이스 목록과 개수를 파악하고, 테스트 케이스 개수를 작업당 할당 시간에 투영하며, 테스트 결과 파일로부터 성공으로 판정된 테스트 케이스 개수 정보를 획득한 후 클라이언트(100)로 전송해줄 수 있다. 테스트 성능 점수도 제공할 수 있는데, 완료된 테스트 케이스의 수를 전체 테스트 케이스의 수로 나눈 후 100을 곱하면 백분율로 제공할 수 있다.The output unit 350 controls the test application program to be executed in at least one test terminal 400 at a time set by the control unit 340, and then the test application program is being executed in at least one test terminal 400 When the red and test application programs are terminated or not in use, it may be controlled to be displayed in green on the client 100. In addition to this, the output unit 350 may visually provide the test performance analysis result to the user. First, the control unit 340 acquires test schedule information from the test plan, identifies the test task assigned to the tester from the information of a specific tester in the test plan, and divides the schedule by the number of tasks to be tested. As can be derived, the output unit 350 can further derive this information. In addition, the output unit 350 obtains test case list information from the test case information and outputs it through the screen of the client 100, and the test case list and number allocated to the corresponding tester from the test case list information Is identified, the number of test cases is projected to the allocated time per job, information on the number of test cases determined to be successful is obtained from the test result file, and then transmitted to the client 100. Test performance scores can also be provided, which can be provided as a percentage by dividing the number of completed test cases by the total number of test cases and multiplying by 100.

설치부(360)는, 표시부(310)에서 클라이언트(100)에서 접속하는 경우 기 저장된 테스트 응용프로그램의 실행화면을 표시하도록 한 후, 클라이언트(100)와 연동된 적어도 하나의 테스트 단말(400)을 등록받고 등록된 적어도 하나의 테스트 단말(400)에 테스트 응용프로그램을 설치하도록 제어할 수 있다.The installation unit 360 allows the display unit 310 to display an execution screen of a previously stored test application when the client 100 accesses it, and then displays at least one test terminal 400 interlocked with the client 100. It is possible to control to install a test application program on at least one registered and registered test terminal 400.

과금부(370)는, 제어부(340)에서 설정된 시간에 적어도 하나의 테스트 단말(400)에서 테스트 응용프로그램이 실행되도록 제어한 후, 클라이언트(100)에서 적어도 하나의 테스트 단말(400)의 테스트를 종료하거나 적어도 하나의 테스트 단말(400)의 테스트가 모두 종료된 경우, 사용시간에 대응하는 비용을 클라이언트(100)로 과금할 수 있다. 이때, 각 테스트 단말(400) 당 사용시간에 따른 비용이 다를 수도 있고, 정액제와 같이 모든 테스트 단말(400)을 사용하는 비용을 과금할 수도 있으나, 이는 과금 정책상의 문제이므로 실시예에 따라 변경가능한 것으로 정의한다. 여기서, 네트워킹 자원 및 컴퓨팅 자원을 사용한 사용량에 따라 가능할 수도 있고 다양한 방법으로 과금이 될 수 있음은 자명하다 할 것이다.The billing unit 370 controls the test application to be executed in at least one test terminal 400 at a time set by the control unit 340, and then performs a test of the at least one test terminal 400 in the client 100. When finished or when the tests of at least one test terminal 400 are all finished, a cost corresponding to the use time may be charged to the client 100. At this time, the cost of each test terminal 400 may be different depending on the usage time, and the cost of using all the test terminals 400 may be charged, such as a flat rate, but this is a problem with the charging policy, so it can be changed according to the embodiment. It is defined as Here, it will be apparent that it may be possible depending on the amount of use of networking resources and computing resources, and that billing may be performed in various ways.

시간알람부(380)는, 제어부(340)에서 설정된 시간에 적어도 하나의 테스트 단말(400)에서 테스트 응용프로그램이 실행되도록 제어한 후, 적어도 하나의 테스트 단말(400)의 테스트 사용시간 또는 종료예정시간을 클라이언트(100)의 화면에서 모니터링되도록 출력할 수 있다.The time alarm unit 380 controls the test application program to be executed in at least one test terminal 400 at a time set by the control unit 340, and then the test use time or end of the at least one test terminal 400 The time may be output to be monitored on the screen of the client 100.

누락알림부(390)는, 선택부(320)에서 클라이언트(100)로부터 적어도 하나의 테스트 단말(400)의 기종 및 OS(Operating System) 정보를 선택받은 후, 기 저장된 기종 및 OS 정보 리스트와 선택된 기종 및 OS 정보를 비교하여 누락 목록을 추출한 후 클라이언트(100)로 전송할 수 있고, 누락 목록에 대응하는 기종 및 OS 정보를 가진 적어도 하나의 사용자 단말(500)을 추출하고, 추출된 적어도 하나의 사용자 단말(500)로 베타테스터 요청 이벤트를 전송할 수 있다. 예를 들어, 블록체인에서 채굴을 하여 양 당사자 간의 트랜잭션을 돕는 경우(블록을 분기시키고 생성하여 연결) 채굴자에게 그 보상으로 비트코인을 주는 것과 같이, 베타테스터로 자원하여 등록한 노드, 즉 사용자 단말(500)로 이와 같은 보상을 주는 시스템을 부가할 수 있다. 각 사용자 단말(500)은 블록체인과 같이 네트워크로 연결되어 각 노드를 이루고 있으며, 프라이빗 블록체인으로 등록된 사람을 한정하기로 한다. 왜냐하면 테스트를 진행한다는 것은 아직 공개가 되지 않은 기술(앱)이기 때문에, 신뢰관계를 가지는 사람들로만 등록을 제한하는 프라이빗 블록체인을 구성할 수 있다. 이때, 사용자 단말(500)의 사용자들은 대부분 일반인이므로 테스트를 진행하는 과정도 모르고 할 줄도 모른다. 이에 따라, 사용자 단말(100)은 자신의 단말에 엑세스할 수 있는 권한만을 설정하고, 자신의 단말을 이용한 댓가로 리워드를 얻는 방식(비트코인을 받는 방식)을 이용할 수 있다.The omission notification unit 390 receives the model and OS (Operating System) information of the at least one test terminal 400 from the client 100 in the selection unit 320, and then the previously stored model and OS information list and the selected After comparing the model and OS information, the missing list can be extracted and transmitted to the client 100, extracting at least one user terminal 500 having the model and OS information corresponding to the missing list, and the extracted at least one user A beta tester request event may be transmitted to the terminal 500. For example, when mining on the blockchain to help transactions between both parties (branching and creating blocks and connecting), a node registered by volunteering as a beta tester, i.e., a user terminal, such as giving bitcoin as a reward to the miner. With 500, you can add such a reward system. Each user terminal 500 is connected to a network like a block chain to form each node, and a person registered with a private block chain is limited. Because testing is a technology (app) that has not yet been disclosed, you can configure a private blockchain that restricts registration to only those who have a trust relationship. At this time, since most of the users of the user terminal 500 are ordinary people, they do not know how to proceed with the test. Accordingly, the user terminal 100 can set only the authority to access its own terminal and use a method of obtaining a reward in return for using the own terminal (a method of receiving bitcoins).

이때, 베타테스터로 선정된 사용자 단말(500)로는 기본적으로 본 발명의 테스트 응용프로그램이 설치되어 있다는 것을 전제한다. 이때, 사용자 단말(500)은 자신이 폰을 사용하지 않는 시간, 예를 들어, 새벽 시간에 테스트 응용프로그램을 통하여 상술한 자동 테스트가 진행되도록 허용한다. 즉, 사용자 단말(500)은 핸드폰 자원만을 빌려주는 것이고 인간에 의한 작업은 수행되지 않는다. 이때, 사용자 단말(500)은 자신의 자원이 충분히(Fully) 가용가능한 시간, 예를 들어, 패턴을 파악하여 사용자가 수면하여 사용하지 않는 시간을 추출하도록 하고, 이때 누락알림부(390)는 테스트가 진행되도록 설정할 수 있다. 상술한 바와 같이 원격에서 온라인으로 테스트 계획에 따른 테스트를 진행하도록 하고, 그 결과를 자동으로 수집한 후 테스트한 시나리오 및 프로그램 등은 완전히 사용자 단말(500) 상에서 삭제되도록 한다. 이때, 사용자 단말(500)은 클라이언트(100)의 테스터와 동일인일 수도 있다. 예를 들어, 동종업계에 있는 사용자들끼리 서로의 핸드폰을 테스트를 위한 핸드폰으로 공유하고 이를 블록체인으로 관리할 수도 있다. 또는, 신제품 매장에 전시된 핸드폰이 사용자 단말(500)이 될 수도 있다. 전시된 핸드폰들은 낮에 고객들에게 전시된 후 저녁에 대리점이 문을 닫은 후에는 완전히 가용가능한 상태이기 때문이다.At this time, it is assumed that the test application program of the present invention is basically installed as the user terminal 500 selected as the beta tester. At this time, the user terminal 500 allows the above-described automatic test to proceed through the test application program at a time when the user does not use the phone, for example, at dawn. That is, the user terminal 500 only lends mobile phone resources and does not perform a human operation. At this time, the user terminal 500 detects the time when its resources are fully available, for example, a pattern, and extracts the time that the user sleeps and does not use, and at this time, the omission notification unit 390 is tested Can be set to proceed. As described above, the test according to the test plan is performed online from a remote location, and after automatically collecting the result, the tested scenario and program are completely deleted from the user terminal 500. In this case, the user terminal 500 may be the same person as the tester of the client 100. For example, users in the same industry can share each other's mobile phones as test phones and manage them with a blockchain. Alternatively, a mobile phone displayed in a new product store may be the user terminal 500. This is because the cell phones on display are fully available after being displayed to customers during the day and after the agency closes in the evening.

이에 따라, 누락알림부(390)는 적어도 하나의 사용자 단말(500)에서 요청 이벤트에 승인 이벤트로 응답한 경우 테스트 응용프로그램을 전송하여 설치하도록 제어하고, 적어도 하나의 사용자 단말(500)에서 테스트 응용프로그램을 실행하는 경우, 실행 상황을 클라이언트(100)로 전송할 수 있다. 이때, 테스트 응용프로그램을 온라인 원격지에서 자동으로 수행하는 과정은 상술한 바와 같으므로 동일한 내용을 중복하여 설명하지는 않는다. 다만, 테스트가 완료된 후 캐시나 메모리에까지 남아있는 데이터들을 완전히 삭제시키기 위한 과정과 리워드를 사용자 단말(500)로 지급하는 과정이 더 부가될 수 있다. Accordingly, when the at least one user terminal 500 responds to the request event as an approval event, the omission notification unit 390 controls to transmit and install a test application, and at least one user terminal 500 When executing a program, the execution situation may be transmitted to the client 100. At this time, the process of automatically executing the test application program from an online remote location is the same as described above, and thus the same contents are not repeated. However, after the test is completed, a process for completely deleting data remaining in the cache or memory and a process of paying the reward to the user terminal 500 may be further added.

누락알림부(390)는 스마트 컨트랙트를 이용하여 사용자 단말(500)과 본 발명의 일 실시예에 따른 서버(300) 간 계약을 체결할 수 있다. 사용자 단말(500)에서 테스트를 진행한 후 그 결과를 얻은 후에는 사용자 단말(500)에서 제공한 기종, OS, 사용시간 등에 따라 기 설정된 사용요금을 수수료를 제외하고 사용자 단말(500)로 제공하는 계약일 수 있다. 스마트 컨트랙트는 스스로 이행이 되는 자동화된 약정(Automated Self-Enforced Agreements)으로 계약의 성립과 이행이라는 두 과정을 블록체인 기술에 의해 하나로 합친 개념이다. 스마트 컨트랙트의 기술적 개념은 거래기록이 분산되어 저장되고 탈중앙화하여 공유되며, 복제된 원장이 작동 및 보관됨과 동시에 다시 그 원장에 자산의 이전을 지시하는 사건에 따라 자동으로 실행하는 프로그램의 일종(Event-Driven Program)이다. 스마트 컨트랙트는 법적으로 ① 2 명 이상의 당사자가 있어야 하고, ② 일방 당사자로부터 다른 당사자로의 자산이전과 관련되고, ③ 그 이행(Implementation)이 자동으로 이루어지며, 일단 계약이 개시(Initiated)된 이후에는 인간의 개입이 요구되지 않는 계약개념이다. 이러한 면에서 살펴보면 계약법적 요소로서의 스마트 컨트랙트는 알고리즘 계약의 일종인데, 알고리즘 계약에서는 일방 당사자 또는 쌍방 모두가 알고리즘을 이용하여 계약의 체결 여부 및 조건을 결정하기로 약속한다. The omission notification unit 390 may conclude a contract between the user terminal 500 and the server 300 according to an embodiment of the present invention using a smart contract. After the test is performed on the user terminal 500 and the result is obtained, a pre-set usage fee is provided to the user terminal 500, excluding fees, according to the model, OS, and usage time provided by the user terminal 500. It can be a contract. Smart contracts are Automated Self-Enforced Agreements, a concept that combines the two processes of contract establishment and execution into one by blockchain technology. The technical concept of smart contracts is that transaction records are distributed and stored, decentralized, and shared, and the duplicated ledger is operated and stored, and at the same time, it is a kind of program that automatically executes according to an event that directs the transfer of assets to the ledger. -Driven Program). A smart contract legally requires ① two or more parties, ② related to the transfer of assets from one party to the other, and ③ the implementation is automatic, and once the contract is initiated, It is a contract concept that does not require human intervention. In this respect, a smart contract as an element of contract law is a kind of algorithmic contract, and in an algorithmic contract, one party or both parties promises to use an algorithm to determine whether or not to conclude the contract and conditions.

스마트 컨트랙트는 인간의 개입 없이 자동으로 실행되므로 당사자의 신뢰를 중시하지 않는다. 따라서 계약의 가장 큰 약점이라 할 수 있는 계약의 불이행 문제가 상대방의 신용에 의존하는 것이 아니라 프로그래밍된 조건의 성취 여부에 따라 결정되는 소위 조건부 계약(Conditional Nature)의 일종이다. 따라서 스마트 컨트랙트에서는 조건 성취 여부를 해석, 판단, 평가하는 것이 법적으로 중요한 쟁점이 되고, 조건의 설정은 상술한 바와 같이 제3자 관계에 근거하여 설정할 수 있다. 스마트 컨트랙트의 트랜잭션(Transaction)은, ① 프로그래밍 코드 작성, ② 코드 서명, ③ 블록체인 저장, ④ 거래실행 순으로 이루어진다. 여기서 실행되는 프로그램 코드와 그 결과는 트랜잭션에 포함되어 체인으로 연결된 블록(Block)에 데이터베이스 형태로 저장되어 모든 참여자가 거래정보를 공유하게 되며, 거래내역과 계약내용은 추가나 변경 없이 분산원장(Distributed Ledger)에 상호 독립적으로 보관된다. 여기서 참여자들은 공개키 암호화 방식으로 만들어진 지갑 주소(Wallet address)를 블록체인과 연동하여 계약을 체결하고 전자서명을 하게 된다. 스마트 컨트랙트 트랜잭션은 계약의 수행을 네트워크상에서 실행하거나 입증이 쉽고 편리하도록 만들어진 컴퓨터 프로토콜(Protocol)이므로, 리워드 정산이 누락되거나 정산이 지연되는 사태를 막을 수 있고, 사용자로부터 더 다양한 자원의 테스트 단말을 얻을 수 있게 된다.Since smart contracts are automatically executed without human intervention, they do not value the trust of the parties. Therefore, the problem of contract default, the biggest weakness of the contract, is a kind of so-called conditional nature that is determined not by the credit of the other party, but by the achievement of the programmed conditions. Therefore, in smart contracts, interpreting, judging, and evaluating whether conditions are fulfilled becomes a legally important issue, and conditions can be set based on third-party relationships as described above. Transactions of smart contracts consist of ① writing programming code, ② signing code, ③ storing the block chain, and ④ executing the transaction. The program code executed here and its results are included in the transaction and stored in the form of a database in a block connected by a chain, so that all participants share transaction information, and the transaction details and contract details are distributed without any addition or change. ) Are stored independently of each other. Here, participants sign a contract by linking a wallet address created with public key cryptography with a blockchain and sign an electronic signature. Smart contract transaction is a computer protocol that is designed to make it easy and convenient to execute or verify the execution of a contract on the network, so it can prevent the occurrence of omission of reward settlement or delay in settlement, and obtain test terminals with more diverse resources from users. You will be able to.

이하, 상술한 도 2의 원격 테스트 서비스 제공 서버의 구성에 따른 동작 과정을 도 3 및 도 4를 예로 들어 상세히 설명하기로 한다. 다만, 실시예는 본 발명의 다양한 실시예 중 어느 하나일 뿐, 이에 한정되지 않음은 자명하다 할 것이다.Hereinafter, the operation process according to the configuration of the remote test service providing server of FIG. 2 will be described in detail with reference to FIGS. 3 and 4 as examples. However, it will be apparent that the embodiment is only any one of various embodiments of the present invention, and is not limited thereto.

도 3을 참조하면, (a) 원격 테스트 서비스 제공 서버(300)는 클라이언트(100)로부터 테스트 요청을 수신하고, 테스트할 기종, OS 등을 선택할 수 있도록 리스트로 제공할 수 있다. 그리고, (b) 클라이언트(100)에서 선택적으로 테스트 단말(400)을 선택하거나 또는 모두 선택하는 경우 선택된 테스트 단말(400)을 웨이크업시켜 클라이언트(100)의 모바일 애플리케이션의 테스트를 진행한다. 그리고, (c) 테스트 경과시간이나 테스트 여부 등은 클라이언트(100)에서 실시간으로 원격지에서 원격 테스트 서비스 제공 서버(300)를 통하여 모니터링할 수 있으며, 테스트 단말(400)에서 오류가 나는 경우 원격 테스트 서비스 제공 서버(300)는 그 시점을 전후로 화면을 녹화한 동영상을 클라이언트(100)로 제공할 수도 있다. (d) 또, 원격 테스트 서비스 제공 서버(300)는 클라이언트(100)에서 현재 테스트 중인 테스트 단말(400)로 테스트 예약설정을 하도록 시간설정 기능을 제공할 수 있다.Referring to FIG. 3, (a) the remote test service providing server 300 may receive a test request from the client 100 and provide a list to select a model and OS to be tested. In addition, (b) when the client 100 selectively selects the test terminal 400 or all of them are selected, the selected test terminal 400 wakes up to perform a test of the mobile application of the client 100. And, (c) the elapsed test time or whether or not the test can be monitored in real time from the client 100 through the remote test service providing server 300, and if an error occurs in the test terminal 400, the remote test service The providing server 300 may provide a video recorded on the screen before and after the point in time to the client 100. (d) In addition, the remote test service providing server 300 may provide a time setting function to set a test reservation from the client 100 to the test terminal 400 currently being tested.

한편, 원격 테스트 서비스 제공 서버(300)는 테스트 단말(400)이 모든 기종을 커버할 수는 없으므로, 테스트 단말(400)이 갖추지 못한 사양을 가지는 사용자 단말(500)로 베타테스터를 신청할 것인지 클라이언트(100)로 물어볼 수 있다. 이때, 클라이언트(100)가 베타테스터를 신청하는 경우, 원격 테스트 서비스 제공 서버(300)는 표본 채집과 같이 테스트 단말(400)에서 커버하지 못하는 기종이나 사양 또는 OS를 가지는 사용자 단말(500)을 추출한 후 사용자 단말(500)로 베타테스터 수락 여부를 수신한다. 그리고, 원격 테스트 서비스 제공 서버(300)는 (b) 승인을 보내온 사용자 단말(500)로 테스트 응용프로그램을 통하여 모바일 애플리케이션의 테스트 시나리오가 구동되도록 원격에서 제어하며, (c) 그 결과를 실시간 또는 주기적으로 수집하여 성능 시험 결과 리포트에 포함시킬 수 있도록 한다. On the other hand, since the remote test service providing server 300 cannot cover all models, the test terminal 400 may apply for a beta tester to the user terminal 500 having specifications that the test terminal 400 does not have. You can ask 100). At this time, when the client 100 applies for a beta tester, the remote test service providing server 300 extracts a user terminal 500 having a model or specification or OS that the test terminal 400 does not cover, such as sample collection. After that, the user terminal 500 receives whether or not to accept the beta tester. And, the remote test service providing server 300 (b) remotely controls the test scenario of the mobile application to be driven through the test application to the user terminal 500 that has sent the approval, (c) the result is real-time or periodic. It can be collected and included in the performance test result report.

이와 같은 도 2 내지 도 4의 모바일 애플리케이션의 원격 테스트 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1을 통해 모바일 애플리케이션의 원격 테스트 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.The matters not described for the method of providing the remote test service of the mobile application of FIGS. 2 to 4 are the same as or easily from the description of the method of providing the remote test service of the mobile application through FIG. Since it can be inferred, the following description will be omitted.

도 5는 본 발명의 일 실시예에 따른 도 1의 모바일 애플리케이션의 원격 테스트 서비스 제공 시스템에 포함된 각 구성들 상호 간에 데이터가 송수신되는 과정을 나타낸 도면이다. 이하, 도 5를 통해 각 구성들 상호간에 데이터가 송수신되는 과정의 일 예를 설명할 것이나, 이와 같은 실시예로 본원이 한정 해석되는 것은 아니며, 앞서 설명한 다양한 실시예들에 따라 도 5에 도시된 데이터가 송수신되는 과정이 변경될 수 있음은 기술분야에 속하는 당업자에게 자명하다.5 is a diagram illustrating a process of transmitting and receiving data between components included in the system for providing a remote test service of the mobile application of FIG. 1 according to an embodiment of the present invention. Hereinafter, an example of a process in which data is transmitted/received between each component will be described with reference to FIG. 5, but the present application is not limitedly interpreted as such an embodiment, and is illustrated in FIG. 5 according to various embodiments described above. It is apparent to those skilled in the art that the process of transmitting and receiving data may be changed.

도 5를 참조하면, 원격 테스트 서비스 제공 서버는, 클라이언트에서 접속하는 경우 기 저장된 테스트 응용프로그램의 실행화면을 표시한다(S5100).Referring to FIG. 5, the remote test service providing server displays an execution screen of a previously stored test application program when connected from a client (S5100).

그리고, 원격 테스트 서비스 제공 서버는, 클라이언트로부터 적어도 하나의 테스트 단말의 기종 및 OS(Operating System) 정보를 선택받고(S5200), 클라이언트로부터 적어도 하나의 테스트 단말에서 테스트 응용프로그램이 실행될 시간을 설정받는다(S5300).In addition, the remote test service providing server receives the model and OS (Operating System) information of at least one test terminal from the client (S5200), and sets the time to execute the test application program in the at least one test terminal from the client ( S5300).

또, 원격 테스트 서비스 제공 서버는, 설정된 시간에 적어도 하나의 테스트 단말에서 테스트 응용프로그램이 실행되도록 제어한다(S5400).In addition, the remote test service providing server controls the test application program to be executed in at least one test terminal at a set time (S5400).

상술한 단계들(S5100~S5400)간의 순서는 예시일 뿐, 이에 한정되지 않는다. 즉, 상술한 단계들(S5100~S5400)간의 순서는 상호 변동될 수 있으며, 이중 일부 단계들은 동시에 실행되거나 삭제될 수도 있다.The order between the above-described steps S5100 to S5400 is only an example and is not limited thereto. That is, the order of the above-described steps (S5100 to S5400) may be mutually changed, and some of the steps may be executed or deleted at the same time.

이와 같은 도 5의 모바일 애플리케이션의 원격 테스트 서비스 제공 방법에 대해서 설명되지 아니한 사항은 앞서 도 1 내지 도 4를 통해 모바일 애플리케이션의 원격 테스트 서비스 제공 방법에 대하여 설명된 내용과 동일하거나 설명된 내용으로부터 용이하게 유추 가능하므로 이하 설명을 생략하도록 한다.The matters not described with respect to the method of providing the remote test service of the mobile application of FIG. 5 are the same as or easily from the description of the method of providing the remote test service of the mobile application through FIGS. 1 to 4 above. Since it can be inferred, the following description will be omitted.

도 5를 통해 설명된 일 실시예에 따른 모바일 애플리케이션의 원격 테스트 서비스 제공 방법은, 컴퓨터에 의해 실행되는 애플리케이션이나 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. The method for providing a remote test service for a mobile application according to the exemplary embodiment described with reference to FIG. 5 may be implemented in the form of a recording medium including instructions executable by a computer such as an application executed by a computer or a program module. have. 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. Further, the computer-readable medium may include all computer storage 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.

전술한 본 발명의 일 실시예에 따른 모바일 애플리케이션의 원격 테스트 서비스 제공 방법은, 단말기에 기본적으로 설치된 애플리케이션(이는 단말기에 기본적으로 탑재된 플랫폼이나 운영체제 등에 포함된 프로그램을 포함할 수 있음)에 의해 실행될 수 있고, 사용자가 애플리케이션 스토어 서버, 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버를 통해 마스터 단말기에 직접 설치한 애플리케이션(즉, 프로그램)에 의해 실행될 수도 있다. 이러한 의미에서, 전술한 본 발명의 일 실시예에 따른 모바일 애플리케이션의 원격 테스트 서비스 제공 방법은 단말기에 기본적으로 설치되거나 사용자에 의해 직접 설치된 애플리케이션(즉, 프로그램)으로 구현되고 단말기에 등의 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.The method for providing a remote test service for a mobile application according to an embodiment of the present invention described above is to be executed by an application basically installed in a terminal (this may include a program included in a platform or an operating system basically installed in the terminal). Alternatively, it may be executed by an application (that is, a program) directly installed on the master terminal by a user through an application providing server such as an application store server, an application, or a web server related to the service. In this sense, the method for providing a remote test service for a mobile application according to an embodiment of the present invention described above is implemented as an application (i.e., a program) installed basically in a terminal or directly installed by a user, and read by a computer such as a terminal. It can be recorded on a recordable medium.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The above description of the present invention is for illustrative purposes only, and those of ordinary skill in the art to which the present invention pertains will be able to understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not limiting. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be interpreted as being included in the scope of the present invention. do.

Claims (10)

원격 테스트 서비스 제공 서버에서 실행되는 원격 테스트 서비스 제공 방법에 있어서,
클라이언트에서 접속하는 경우 기 저장된 테스트 응용프로그램의 실행화면을 표시하도록 하는 단계;
상기 클라이언트로부터 적어도 하나의 테스트 단말의 기종 및 OS(Operating System) 정보를 선택받는 단계;
기 저장된 기종 및 OS 정보 리스트와 상기 선택된 기종 및 OS 정보를 비교하여 누락 목록을 추출한 후 상기 클라이언트로 전송하는 단계;
상기 누락 목록에 대응하는 기종 및 OS 정보를 가진 적어도 하나의 사용자 단말을 추출하는 단계;
상기 추출된 적어도 하나의 사용자 단말로 베타테스터 요청 이벤트를 전송하는 단계;
상기 적어도 하나의 사용자 단말에서 상기 베타테스터 요청 이벤트에 승인 이벤트로 응답한 경우 상기 테스트 응용프로그램을 전송하여 설치하도록 제어하는 단계;
상기 적어도 하나의 사용자 단말에서 상기 사용자 단말의 유휴 시간에 상기 테스트 응용프로그램을 실행하는 경우, 실행 상황을 상기 클라이언트로 전송하는 단계;
상기 클라이언트로부터 상기 적어도 하나의 테스트 단말에서 상기 테스트 응용프로그램이 실행될 시간 및 사용자가 UI를 통해 테스트 계획을 작성하면 XML 형태의 테스트 계획으로 저장되어 자동으로 읽어 들이도록 설정받는 단계; 및
상기 설정된 시간에 상기 적어도 하나의 테스트 단말에서 상기 테스트 응용프로그램이 실행되도록 제어하는 단계를 포함하며,
상기 적어도 하나의 테스트 단말은,
테스트 시나리오에 대응하도록 구동하면서 구동 과정을 로그로 상기 원격 테스트 서비스 제공 서버로 전송하고, 오류가 발생하는 지점을 기준으로 화면을 동영상으로 생성할 수 있도록 화면을 상기 원격 테스트 서비스 제공 서버와 공유하며,
상기 적어도 하나의 사용자 단말에서 상기 사용자 단말의 유휴 시간에 상기 테스트 응용프로그램을 실행하는 경우, 실행 상황을 상기 클라이언트로 전송하는 단계는,
상기 사용자 단말의 유휴 시간에 상기 원격 테스트 서비스 제공 서버와 연결되어 강제 웨이크업 및 테스트 응용프로그램을 실행하며,
상기 설정된 시간에 상기 적어도 하나의 테스트 단말에서 상기 테스트 응용프로그램이 실행되도록 제어하는 단계는,
상기 XML 형태의 테스트 계획을 파싱하여 테스트 대상, 요구사항, 테스트 커버리지, 테스트 스케줄, 테스터, 테스터 환경 및 리소스를 포함하는 정보를 읽어들이고, 상기 읽어들인 정보를 통해 테스트 환경 자원 제공 및 사용에 대한 모니터링, 이해관계자의 참여에 대한 모니터링 및 테스트 시작/종료 시점 확인을 제공하는 것을 특징으로 하는 모바일 애플리케이션의 원격 테스트 서비스 제공 방법.
In the remote test service providing method executed in the remote test service providing server,
Displaying an execution screen of a previously stored test application program when accessing from a client;
Receiving a model of at least one test terminal and OS (Operating System) information selected from the client;
Comparing a previously stored model and OS information list with the selected model and OS information, extracting a missing list, and transmitting the missing list to the client;
Extracting at least one user terminal having model and OS information corresponding to the missing list;
Transmitting a beta tester request event to the extracted at least one user terminal;
Controlling to transmit and install the test application when the at least one user terminal responds to the beta tester request event as an approval event;
When the at least one user terminal executes the test application program during an idle time of the user terminal, transmitting an execution status to the client;
Receiving from the client at the at least one test terminal a time when the test application is to be executed and when a user creates a test plan through a UI, it is stored as an XML test plan and is automatically read; And
And controlling the test application to be executed in the at least one test terminal at the set time,
The at least one test terminal,
While driving to respond to a test scenario, the driving process is transmitted as a log to the remote test service providing server, and a screen is shared with the remote test service providing server so that a screen can be generated as a video based on an error point,
When executing the test application program in the at least one user terminal during an idle time of the user terminal, transmitting an execution status to the client,
It is connected to the remote test service providing server at idle time of the user terminal to execute a forced wake-up and test application,
Controlling to run the test application program in the at least one test terminal at the set time,
By parsing the test plan in the XML format, information including test targets, requirements, test coverage, test schedule, tester, tester environment and resources are read, and test environment resource provision and use is monitored through the read information. , A method of providing a remote test service of a mobile application, characterized in that it provides monitoring of stakeholder participation and confirmation of test start/end points.
제 1 항에 있어서,
상기 설정된 시간에 상기 적어도 하나의 테스트 단말에서 상기 테스트 응용프로그램이 실행되도록 제어하는 단계 이후에,
상기 적어도 하나의 테스트 단말에서 상기 테스트 응용프로그램이 실행중인 경우 적색 및 상기 테스트 응용프로그램이 종료되거나 미사용중인 경우 녹색으로 상기 클라이언트에서 표시되도록 제어하는 단계;
를 더 포함하는 것인, 모바일 애플리케이션의 원격 테스트 서비스 제공 방법.
The method of claim 1,
After controlling to execute the test application program in the at least one test terminal at the set time,
Controlling the at least one test terminal to display red when the test application is running and green when the test application is terminated or not being used by the client;
The method of providing a remote test service of a mobile application further comprising.
제 1 항에 있어서,
상기 클라이언트로부터 적어도 하나의 테스트 단말의 기종 및 OS(Operating System) 정보를 선택받는 단계는,
XY 좌표 또는 XYZ 좌표에 대응하는 셀에 위치한 적어도 하나의 테스트 단말의 식별부호와 상기 XY 좌표 또는 XYZ 좌표를 매핑하여 저장하는 단계;
상기 클라이언트의 화면 상에 XY 좌표 또는 XYZ 좌표에 대응하는 셀 내에 상기 적어도 하나의 테스트 단말의 기종 및 OS 정보를 선택받는 단계;
를 수행하여 실행되는 것인, 모바일 애플리케이션의 원격 테스트 서비스 제공 방법.
The method of claim 1,
The step of receiving selection of a model and OS (Operating System) information of at least one test terminal from the client,
Mapping and storing an identification code of at least one test terminal located in a cell corresponding to XY coordinates or XYZ coordinates and the XY coordinates or XYZ coordinates;
Receiving model and OS information of the at least one test terminal in a cell corresponding to XY coordinates or XYZ coordinates on the screen of the client;
That is to be executed by performing, a method for providing a remote test service of a mobile application.
제 1 항에 있어서,
상기 클라이언트로부터 상기 적어도 하나의 테스트 단말에서 상기 테스트 응용프로그램이 실행될 시간을 설정받는 단계는,
상기 적어도 하나의 테스트 단말이 현재 테스트중인 경우 상기 테스트 응용프로그램이 실행될 시간을 예약받는 단계;
를 포함하는 것인, 모바일 애플리케이션의 원격 테스트 서비스 제공 방법.
The method of claim 1,
The step of receiving setting a time for executing the test application program in the at least one test terminal from the client,
Receiving a reservation time for executing the test application program when the at least one test terminal is currently being tested;
That includes, a method for providing a remote test service of a mobile application.
제 1 항에 있어서,
상기 클라이언트에서 접속하는 경우 기 저장된 테스트 응용프로그램의 실행화면을 표시하도록 하는 단계 이후에,
상기 클라이언트와 연동된 적어도 하나의 테스트 단말을 등록받고 상기 등록된 적어도 하나의 테스트 단말에 상기 테스트 응용프로그램을 설치하도록 제어하는 단계;
를 더 포함하는 것인, 모바일 애플리케이션의 원격 테스트 서비스 제공 방법.
The method of claim 1,
After the step of displaying an execution screen of a previously stored test application when accessing from the client,
Registering at least one test terminal linked with the client and controlling to install the test application program in the registered at least one test terminal;
The method of providing a remote test service of a mobile application further comprising.
제 1 항에 있어서,
상기 설정된 시간에 상기 적어도 하나의 테스트 단말에서 상기 테스트 응용프로그램이 실행되도록 제어하는 단계 이후에,
상기 클라이언트에서 상기 적어도 하나의 테스트 단말의 테스트를 종료하거나 상기 적어도 하나의 테스트 단말의 테스트가 모두 종료된 경우, 사용시간에 대응하는 비용을 상기 클라이언트로 과금하는 단계;
를 더 포함하는 것인, 모바일 애플리케이션의 원격 테스트 서비스 제공 방법.
The method of claim 1,
After controlling to execute the test application program in the at least one test terminal at the set time,
When the client ends the test of the at least one test terminal or when the tests of the at least one test terminal are all finished, charging a cost corresponding to the use time to the client;
The method of providing a remote test service of a mobile application further comprising.
제 1 항에 있어서,
상기 설정된 시간에 상기 적어도 하나의 테스트 단말에서 상기 테스트 응용프로그램이 실행되도록 제어하는 단계 이후에,
상기 적어도 하나의 테스트 단말의 테스트 사용시간 또는 종료예정시간을 상기 클라이언트의 화면에서 모니터링되도록 출력하는 단계;
를 더 포함하는 것인, 모바일 애플리케이션의 원격 테스트 서비스 제공 방법.
The method of claim 1,
After controlling to execute the test application program in the at least one test terminal at the set time,
Outputting a test use time or an end scheduled time of the at least one test terminal to be monitored on a screen of the client;
The method of providing a remote test service of a mobile application further comprising.
삭제delete 삭제delete 삭제delete
KR1020200072493A 2020-06-15 2020-06-15 Method for providing remote test service for mobile application KR102173137B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200072493A KR102173137B1 (en) 2020-06-15 2020-06-15 Method for providing remote test service for mobile application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200072493A KR102173137B1 (en) 2020-06-15 2020-06-15 Method for providing remote test service for mobile application

Publications (1)

Publication Number Publication Date
KR102173137B1 true KR102173137B1 (en) 2020-11-03

Family

ID=73197850

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200072493A KR102173137B1 (en) 2020-06-15 2020-06-15 Method for providing remote test service for mobile application

Country Status (1)

Country Link
KR (1) KR102173137B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114996117A (en) * 2022-03-28 2022-09-02 湖南智擎科技有限公司 Client GPU application evaluation system and method for SaaS mode
WO2024048827A1 (en) * 2022-09-02 2024-03-07 쿠팡 주식회사 Electronic apparatus and application test management method therefor

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013008146A (en) * 2011-06-23 2013-01-10 Renesas Electronics Corp Simple body program operation test device, method and program
KR20130007763A (en) * 2011-07-11 2013-01-21 (주)엔토시스 Remote applications verification system and method thereof
WO2019173100A1 (en) * 2018-03-08 2019-09-12 Sauce Labs Inc. Automated application testing system
KR20190120983A (en) * 2018-04-17 2019-10-25 어니컴 주식회사 Apparatus and method for testinig appalication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013008146A (en) * 2011-06-23 2013-01-10 Renesas Electronics Corp Simple body program operation test device, method and program
KR20130007763A (en) * 2011-07-11 2013-01-21 (주)엔토시스 Remote applications verification system and method thereof
WO2019173100A1 (en) * 2018-03-08 2019-09-12 Sauce Labs Inc. Automated application testing system
KR20190120983A (en) * 2018-04-17 2019-10-25 어니컴 주식회사 Apparatus and method for testinig appalication

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
블로그, ‘AWS Device Farm-실제 기기로 모바일 앱 테스트 하기’, 2015.07.* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114996117A (en) * 2022-03-28 2022-09-02 湖南智擎科技有限公司 Client GPU application evaluation system and method for SaaS mode
CN114996117B (en) * 2022-03-28 2024-02-06 湖南智擎科技有限公司 Client GPU application evaluation system and method for SaaS mode
WO2024048827A1 (en) * 2022-09-02 2024-03-07 쿠팡 주식회사 Electronic apparatus and application test management method therefor

Similar Documents

Publication Publication Date Title
Dang et al. Aiops: real-world challenges and research innovations
CN105324756B (en) Cloud service Performance tuning and reference test method and system
CN105359102B (en) Advanced customer support service-advanced support cloud portal
US7139999B2 (en) Development architecture framework
US6662357B1 (en) Managing information in an integrated development architecture framework
US6370573B1 (en) System, method and article of manufacture for managing an environment of a development architecture framework
US6405364B1 (en) Building techniques in a development architecture framework
US9491072B2 (en) Cloud services load testing and analysis
US6324647B1 (en) System, method and article of manufacture for security management in a development architecture framework
US7403901B1 (en) Error and load summary reporting in a health care solution environment
US8819638B2 (en) Application protoyping suite
US6701345B1 (en) Providing a notification when a plurality of users are altering similar data in a health care solution environment
CN105577475B (en) Automated performance testing system and method
KR102173137B1 (en) Method for providing remote test service for mobile application
CN105308577A (en) Cloud services load testing and analysis
CN112465448B (en) Cross-organization workflow operation method and system based on blockchain
Alonso et al. Cloud modernization assessment framework: Analyzing the impact of a potential migration to Cloud
CN112711526A (en) UI test method, device, equipment and storage medium
CN107733735A (en) Script recording system and method
CN111966585A (en) Test task execution method, device, equipment and system
Marques et al. Evaluation of Asana, Odoo, and ProjectLibre Project Management Tools using the OSSpal Methodology.
CN114816591A (en) Service interface processing method and device, computer equipment and storage medium
Dey et al. Serverless Computing: Architectural Paradigms, Challenges, and Future Directions in Cloud Technology
CN113392002A (en) Test system construction method, device, equipment and storage medium
CN105955718A (en) Software customization method and system

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant