WO2014137014A1 - Auto-verification method of smart application using terminal automatic execution control - Google Patents

Auto-verification method of smart application using terminal automatic execution control Download PDF

Info

Publication number
WO2014137014A1
WO2014137014A1 PCT/KR2013/001914 KR2013001914W WO2014137014A1 WO 2014137014 A1 WO2014137014 A1 WO 2014137014A1 KR 2013001914 W KR2013001914 W KR 2013001914W WO 2014137014 A1 WO2014137014 A1 WO 2014137014A1
Authority
WO
WIPO (PCT)
Prior art keywords
test
application
terminal
verification
developer
Prior art date
Application number
PCT/KR2013/001914
Other languages
French (fr)
Korean (ko)
Inventor
정호욱
김미희
Original Assignee
(주)인프라웨어테크놀러지
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)인프라웨어테크놀러지 filed Critical (주)인프라웨어테크놀러지
Publication of WO2014137014A1 publication Critical patent/WO2014137014A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44589Program code verification, e.g. Java bytecode verification, proof-carrying code

Definitions

  • the present invention relates to a method for automatically verifying a smart application (eg, an Android application) using a terminal automatic execution control and a computer-readable recording medium recording an application verification program using the same.
  • a smart application eg, an Android application
  • the present invention focuses on the fact that it is very difficult for a developer of an Android application to spend time and time intensively verifying the integrity of an application for various types of Android terminals.
  • the smart app developer's smart application verification technology using the terminal auto-run control that provides the developer with the result of automatically running on a number of Android devices according to the state of the smart application developers upload their Android application and set the test sequence accordingly It is about.
  • the Android platform is a software stack released by Google's Open Handset Alliance (OHA).
  • OAA Google's Open Handset Alliance
  • the Android platform is a software package that includes the Linux kernel, virtual machine (VM), framework, and application (hereinafter referred to as "application”), and provides a software development kit (SDK) for developing Android applications. do.
  • VM virtual machine
  • SDK software development kit
  • This problem is not limited to Android and is common to many smart operating systems. Therefore, in the technical field, there is an urgent need for a technology development that can more efficiently, inexpensively, and with high reliability, perform an operation test on an actual terminal device for a smart application (an application running on a smart terminal operating system).
  • Behavior information dynamic analysis emulator of Android application and behavior information dynamic analysis system including the same (Korea Patent Application No. 10-2011-0094707)
  • An object of the present invention is to prepare a plurality of Android terminals in each remote location to solve the problem that the developer of the Android application is very difficult to spend a lot of money and time to thoroughly verify the integrity of the application for the Android terminal of various models.
  • the developer of the smart application uploads their Android application and sets the test sequence, the smart application verification technology using the terminal automatic execution control that provides the developer with the result of automatically executing the multiple Android terminals accordingly is provided. will be.
  • the method for automatically verifying a smart application using the terminal automatic execution control registers an application while the developer terminal 100 uploads an installation file of a verification target application to the application verification server 300.
  • the application verification server 300 installs the verification target application on the test target terminal 400 and the test target terminal 400 is placed in the test sequence.
  • the sixth step of the application verification server 300 collects the automatic execution result log to configure the entire test results and provide the
  • the developer terminal 100 selects a specific test terminal 400 through the application verification server 300; Installing the verification target application on the selected test terminal 400 by the application verification server 300; A step A of the developer terminal 100 instructing a test of the individual items to the selected test terminal 400 through the application verification server 300; A step B of the selected test terminal 400 executing a test item commanded by the control of the application verification server 300 and providing the execution result to the application verification server 300; A step C of the application verification server 300 reflecting the execution result on the UI screen of the developer terminal 100 and generating a test script for the executed individual test item; Repeating steps A to C; The application verification server 300 collects the test script to generate a test sequence for the entire test item; may be configured to include.
  • the second step in the present invention the portable test terminal 500, the step of downloading and installing the test sequence generation application and the verification target application; A step D of the portable test terminal 500 executing an individual test item in response to a user manipulation on the verification target application; Step E, in which the portable test terminal 500 reflects the execution result of the individual test item on the UI screen; A step F of the portable test terminal 500 generating a test script for the executed individual test item; Repeating steps D to F; Generating, by the portable test terminal 500, the test script by the test sequence generation application to generate a test sequence for the entire test item by collecting the test script; And providing the test sequence to the developer terminal 100 by the portable test terminal 500.
  • the application verification server 300 tests the verification target application by the cooperative operation of the application installation deleting unit 352 of the application verification server 300 and the application executor 410 of the test target terminal 400.
  • An application executor 410 of the test target terminal 400 automatically executing the verification target application while internally generating various change events corresponding to a user's operation with reference to the test sequence;
  • the test target terminal 400 collects the automatic execution result log and verifies the application verification server.
  • Providing to 300; can be configured.
  • the application to be verified in the present invention may be an Android application.
  • the computer-readable recording medium is to record the automatic application verification program for executing the automatic verification method of the smart application using the terminal automatic execution control as described above.
  • the computer-readable recording medium uploads an application installation file to be tested according to the connection of the developer terminal 100, and performs a test among a plurality of test terminals each having an Android-based application executor installed thereon.
  • each user is divided into a plurality of steps in order to manage not to expose his or her application and tasks to other users, and limit the use according to the user's authority.
  • each application is managed separately for each version and the application manager 330 for managing so that the path and package name of the installation file of each application do not overlap;
  • a task manager 340 for instructing tasks while adjusting the order according to priorities while the user's test request is sequentially executed to assign tasks to each of the plurality of selected terminals among the plurality of test terminals;
  • a plurality of selected terminals are managed by platform version, manufacturer, resolution, and performance, and the work progress is checked for each terminal, and the connected state or error of each terminal is checked.
  • the terminal manager 350 is formed to record the smart application automatic verification program using the terminal automatic execution control made.
  • the application developer does not need to purchase a terminal, the terminal purchase cost is reduced, and the terminal is always used for testing without idle time, thereby providing an effect of increasing efficiency.
  • the verification is reduced at the same time in a plurality of test terminals to reduce the verification time, there is no need to test on a plurality of test terminals to provide the effect of reducing the test personnel.
  • FIG. 1 is a diagram showing an entire system in which an automatic verification method of a smart application using a terminal automatic execution control according to the present invention is implemented.
  • FIG. 2 is a view showing a detailed configuration for the interworking of the application verification server and the test terminal in the present invention.
  • FIG. 3 is a view for explaining the detailed configuration of the terminal manager implemented in the application verification server in the present invention.
  • Figure 4 is a flow chart illustrating a method for automatic verification of smart applications using the terminal automatic execution control according to the present invention.
  • FIG. 5 is a flowchart illustrating a first embodiment of a process of a developer setting up a test sequence in the present invention.
  • FIG. 6 is a flow chart illustrating a second embodiment of a process for a developer setting up a test sequence in the present invention.
  • FIG. 7 is a view showing an activity analysis and script generation process for the Android application in the present invention.
  • FIG. 8 is a diagram illustrating tracking of an execution path using activity execution tree information in accordance with the present invention.
  • the entire system 1000 includes a developer terminal 100, a network 200, an application verification server 300, and a plurality of test terminals 400.
  • the developer terminal 100 is a device operated by a person who develops an Android application, and generally includes a personal computer or a laptop computer.
  • the developer terminal 100 requests a verification test for the Android application represented by the APK file 120 to the smart application verification server 300 to verify the Android application.
  • the developer UI 110 is implemented in the developer terminal 100.
  • the screen is formed on the application verification server 300 during the test operation.
  • the application verification server 300 receives a test request for the Android application from the developer terminal 100, and provides a test result for the corresponding Android application to the plurality of test terminals 400.
  • the test terminal 400 is preferably provided in various models for each model in consideration of the background of the present invention.
  • test terminal 400 is illustrated as being directly connected to the app verification server 300 in FIG. 1, the test terminal 400 and the app verification server 300 may be connected through the network 200. .
  • App verification server 300 is configured to include a management UI 310, a user manager 320, an application manager 330, a task manager 340, a terminal manager 350.
  • the test terminal 400 includes an application executor 410 for performing a specific Android application according to a specific test sequence under the control of the application verification server 300.
  • the management UI 310 includes an application registration means 311, a test sequence setting means 312, a log viewer means (313).
  • the user of the developer terminal 100 accesses the application verification server 300 through the network 200, uploads the installation file (APK file) 120 of the Android application to be tested, and requests a test from among the plurality of test terminals 400. Select the terminal you want to.
  • the test sequence is set by specifying the item (test scenario) to be tested for the Android application, and finally, the test result is checked.
  • the application is executed and verified in a plurality of test terminals 400 according to a test environment (application, terminal device specific) and a test method (test sequence) input by the user of the developer terminal 100.
  • the application registration means 311 of the management UI 310 registers the application installation file 120 and specifies the test terminal 400.
  • the test sequence setting unit 312 determines a scenario in which the application is executed and verified in the plurality of test terminals 400 according to a test environment, a test method, and an expected result input by the user.
  • the log viewer means 313 performs a function of providing the test result to the user of the developer terminal 100 through the developer UI 110.
  • the test terminal 400 is provided with an app executor 410 to implement an Android app test.
  • the app executor 410 includes an app installation means 411, an app driving means 412, an app deleting means 413, It comprises an event generating means 414, log collecting means 415.
  • the app executor 410 is a module for executing a specific operation on the test terminal 400 according to a command transmitted from the app verification server 300, and the app executor 410 is also preferably implemented as an Android application.
  • the application executor 410 mainly performs the following functions.
  • the application installation means 411 receives and installs the application installation file 120 from the application verification server 300, the application driving means 412 drives the installed Android application for testing, the application The deleting means 413 deletes the tested Android application.
  • the event generating means 414 collects the system operating environment of the test terminal 400 and responds to various change events (language setting, screen rotation, multi-touch, network setting, memory operation, Internet connection, etc.) correspondingly. ) In the actual terminal operating environment, various events occur as the user manipulates the terminal. In the present invention, since an application test is automatically executed without the user's intervention, the event generating means 414 refers to the test sequence to the user's operation. Internally generate various change events.
  • the log collecting means 415 performs execution log collection. After the test terminal 400 executes various operations according to the test sequence, the log collecting unit 415 collects execution logs in order to check the operation result. This execution log is processed into a test result in the application verification server 300 is provided to the developer terminal 100 is displayed on the developer UI (110).
  • the user manager 320 When the user manager 320 receives a request for using the application verification server 300 from a plurality of developer terminals 100, the user manager 320 appropriately manages Android applications and test tasks provided therefrom so as not to be exposed to other users. As a module, to do this, you manage users in several steps and limit their use according to their permissions.
  • the user manager 320 includes sub-units, such as user management means 321 for managing users in stages and access rights management means 322 for granting access rights of the user.
  • the application manager 330 manages the application installation file 120 uploaded through the application registration unit 311 while requesting a test from the user of the developer terminal 100.
  • a plurality of applications are uploaded from a plurality of developer terminals 100, the application manager 330 manages these applications separately for each version, so that the path and package name of the installation file does not overlap so as not to occupy storage capacity unnecessarily. do.
  • the application manager 330 is provided with a sub configuration of the file management means 331 for managing so that the path and package name of the installation file of the application does not overlap, and the version management means 332 for managing the application separately for each version.
  • the task manager 340 is a module that assigns a test task to each of the plurality of test terminals 400.
  • the verification order management means 341 installed in the job manager 340 sets the job schedule such that the order is adjusted according to the priority while the user's test request is executed sequentially. That is, the task manager 340 assigns the test terminal 400 to each test when one test terminal 400 has a large number of user's test requests.
  • Verification order management means 341 may be a basic consideration of the order and priority of the test request, in addition to determining the order of the associated request, the expected time required for the test, or whether the test is conducted during the day / night, etc. This may be a consideration. Since the test task is input in advance by the task manager 340, the user does not need to wait until the test is completed.
  • the terminal manager 350 is a module connected to the test terminal 400 to perform the control and the result check in order to actually perform the test of the Android application.
  • the test environment setting means 350a and the terminal management means 350b are used. Include.
  • the test environment setting means 350a manages a plurality of test terminals 400 to be tested by classifying them into platform versions, manufacturers, resolutions, and performances.
  • the terminal management unit 350b is configured to check the progress status of the plurality of test terminals 400 for each terminal or to check the connected state or the error of each terminal. At the end of each task, initialize the test environment, such as deleting programs or files, so that the next task is not affected.
  • the app verification server 300 provides a system in which a plurality of users (developers) can verify their own applications using the plurality of test terminals 400 in a shared manner.
  • the application verification system arbitrates between the developer terminal 100 and the test terminal 400. In particular, since only one application can be driven at a time in the test terminal 400, the user's request is sequentially stored in order to efficiently do this. Manage tasks to run.
  • the terminal manager 350 is a module for installing an Android application on a specific test terminal 400 and executing a test according to a test sequence set by an application developer.
  • the test environment manager 351 performs a function of managing an environment for testing an Android application. First, a plurality of test terminals 400 are confirmed in advance so that the app developer can select a test target terminal as described above with reference to the application registration means 311. When the application is tested on a specific test terminal 400 according to the request of the developer, the operation state of the test terminal 400 is checked again, and the software and hardware states are stored and changed to meet the user's test request. .
  • the application installation deleting unit 352 is provided with the application installation file 120 for the current Android application to be tested, and installs the Android application, and after the test is terminated, the following application test is performed by deleting the Android application. Maintain a basic environment for doing so.
  • the environment managed by the terminal manager 350 for the plurality of test terminals 400 may be divided into a hardware state and a software environment. If you test the application several times while changing these two environments, you can check whether the application works in various states.
  • the test management software 353 includes a broadcast receiver managing means 353a, an activity managing means 353b, a content provider managing means 353c, a permission managing means 353d, and an execution log managing means 353e. . That is, the software state of the test terminal 400 managed by the terminal manager 350 is a broadcast receiver list, an activity list, a content provider list, a permission list, and the like.
  • the broadcast receiver managing unit 353a extracts intent information, which is information required for driving the Android application, by analyzing a broadcast receiver from the software code of the Android application.
  • the Android application Since the activity management unit 353b is composed of a number of activities, the Android application operates as the transition between activities occurs, and the activity's name, size, and additional information are analyzed when the transition is made. do.
  • test management software 353 of the application verification server 300 may be configured to perform or the application executor 410 of the test terminal 400 is performed It can also be configured to.
  • the application management module installs the Android application in the dynamic behavior analysis unit, and the screen analysis module analyzes the screen structure and the screen components by receiving the screen information about the corresponding Android application. Based on the screen configuration information for each activity provided by the screen analysis module, the event generation module generates various input events and provides these input events to the dynamic behavior analysis unit. On the other hand, input events generated by the event generation module is delivered to the script generation module to generate a script that can be used later.
  • the screen analysis module may generate and store each activity execution tree information on the basis of the screen component and the input event types that require these input events, and the control unit tracks the execution path based on the activity execution tree information.
  • You can try 8 may be an embodiment illustrating tracking of an execution path using activity execution tree information.
  • the screen analysis module provides a function to track the execution path of the corresponding Android application through the activity tree information stored through the screen analysis.
  • the execution log management unit 353e receives and cleans up the log data provided from the one or more test terminals 400 as a result of the application verification test. Comparing and arranging the log data and the test sequence may determine what results are derived from the individual test terminals 400 for each test operation.
  • the terminal management hardware 354 includes a connection state module 354a, a test state module 354b, a load management module 354c, a network state module 354d, and a call state module 354e. That is, the hardware state of the test terminal 400 to be managed by the terminal manager 350 is about a system connection state, a test progress state, a hardware (CPU, memory, storage) load state, a network state, and a phone call state.
  • the developer terminal 100 receives the display screen by accessing the application verification server 300 and implements it in the developer UI 110 (S11).
  • the application verification server 300 sets up a data transmission and reception line and a plurality of test terminals 400 for the application verification (S12).
  • step S12 the developer terminal 100 performs application registration with the application verification server 300 through the developer UI 110 to verify a specific Android application (S13). That is, the user accesses the system through the developer UI 110 provided by the application verification server 300 and uploads the installation file 120 of the Android application to be tested.
  • the plurality of test terminals 400 provide their status to the application verification server 300 (S14), the application verification server 300 has these terminal status information while the developer terminal 100 is connected Then, the developer UI 110 provides information so that a list of these test terminals 400 can be inquired (S15). That is, the plurality of test terminals 400 provided for the purpose of application verification update their device state to the application verification server 300 through the application executor 410 installed in advance, and such information is provided as it is the developer terminal 100. ) Is used to select a test terminal.
  • test requirements can be considered which of the plurality of test terminals (400) to perform the application verification, and according to which scenario to run the operation test (test sequence).
  • test sequence Preferably, after inquiring the status information of the terminals belonging to the test terminal group 400 from the application verification server 300, the terminal to be tested is selected dually, and information such as a test sequence and a test environment is input.
  • a preferred embodiment of setting test requirements in the present invention is described below with reference to FIGS. 5 and 6.
  • the application verification server 300 specifies the test order according to the test requirements (S17), and selectively performs the application verification test for one or more test terminals 400 selected from the test requirements (S18). .
  • the application verification server 300 receives and collects the result (log data) of the application verification test from these test terminals 400 in sequence (S19), and tests based on the collected information. Providing the verification test execution result according to the requirements to the developer terminal 100 (S20).
  • the application verification server 300 distributes the work for performing the application verification test for one or more test terminals 400 selected from the test requirements set by the developer terminal 100 (S181). That is, the application verification server 300 designates a test order through a task manager 340, a plurality of test requirements input at a similar time by a plurality of users, to the plurality of test terminals 400 by the determined order Perform sequential task allocation for
  • step S181 the application verification server 300 executes an application verification test on the test terminal 400 according to the distributed work order, and performs a verification test on a specific application on the specific test terminal 400.
  • the application verification server 300 executes an application verification test on the test terminal 400 according to the distributed work order, and performs a verification test on a specific application on the specific test terminal 400.
  • the test sequence is preferably script-based, and the app executor 410 installed in the test terminal 400 executes the app according to the test sequence and generates an event therein as necessary in this process to perform an operation.
  • the app executor 410 automatically executing the app according to the test sequence refer to Korean Patent Application No. 10-2012-0101385 of the applicant.
  • the test terminal 400 transmits a test result to the app verification server 300 (S184), and the app verification server 300 restores the state of the test terminal 400 to its original state (S185). ).
  • the test terminal 400 may perform the state recovery process by itself after transmitting the test result.
  • FIG. 5 is a flowchart illustrating a first embodiment of a process in which a developer sets a test sequence in the present invention, and corresponds to a process of setting a test sequence in step S16.
  • the developer terminal 100 selects a specific test terminal 400 through the application verification server 300, installs a verification target application, directly executes a series of tests, and ends the script, the history is scripted.
  • the test sequence is created by saving it as.
  • the developer terminal 100 selects one test terminal 400 from the UI screen 110 provided by the application verification server 300 (S31), and the application verification server 300 corresponds to the corresponding test terminal ( Notify the facts about the selection 400 and install the Android application to be verified (S32).
  • Such individual items may be a touch event for a specific button implemented on a screen of an application under test, a zoom in / out event, a menu setting event provided in the app, and various events for manipulating a specific character operating in the app.
  • the application verification server 300 executes these individual test items for the selected test terminal 400 by the cooperative operation of the terminal manager 350 and the app executor 410 (S34, S35), and the app executor 410
  • the cooperative operation of the log collecting means 415 and the execution log management means (353e) of the terminal manager 350 may collect the test results for the individual test items (S36, 37).
  • the application verification server 300 When performing a test on an individual item, the application verification server 300 generates a test script for the individual test item that was just performed (S38), and the UI screen 110 of the developer terminal 100 reflects the test result.
  • the screen is configured (S39).
  • the developer continuously performs the test as desired for the application to be verified (S40), and each time the individual item is tested, the application verification server 300 generates a test script (S38).
  • the application verification server 300 When the developer completes all the tests, the application verification server 300 generates a test sequence by collecting the test scripts generated in this way (S41).
  • the test sequence generated through this process is composed of a series of test histories executed by the developer while viewing the screen.
  • FIG. 6 is a flowchart illustrating a second embodiment of a process of a developer setting test sequences in the present invention.
  • a test sequence is generated by storing the history as a script.
  • the developer terminal 100 installs a test sequence generation application and a verification target application for the portable test terminal 500 (S51 and 52).
  • the portable test terminal 500 monitors various events occurring in the application to be verified, and generates a test sequence by collecting the monitored results, thereby installing a test sequence generation application.
  • the installation of the test sequence generation application and the verification target application may also be performed by connecting the portable test terminal 500 to the developer terminal 100 and directly transmitting and installing the installation file 120.
  • the developer terminal 100 may upload the installation file 120 to a server device (not shown), and the portable test terminal 500 may download and install these installation files 120 through, for example, a wireless LAN.
  • the developer looks at the UI of the portable test terminal 500 to test various individual items (for example, touch events for various buttons implemented on the application screen, zoom in / zoom out events, menu setting events provided in the application, and operate in the application.
  • various individual items for example, touch events for various buttons implemented on the application screen, zoom in / zoom out events, menu setting events provided in the application, and operate in the application.
  • S53 To directly operate the portable test terminal 500 (S53), and the test result is confirmed by the developer from the UI of the portable test terminal 500 (S54).
  • the test sequence generation application installed in the portable test terminal 500 generates a test sequence for these individual test items (S55).
  • test sequence generation application collects the generated test scripts to generate a test sequence (S57), and provides the test sequence to the developer terminal 100.
  • the invention can also be embodied in the form of computer readable codes on a computer readable recording medium.
  • the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored.
  • Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, which may be implemented in the form of a carrier wave (eg, transmission over the Internet). .
  • the computer readable recording medium can also store and execute computer readable code in a distributed manner over networked computer systems. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the technical field to which the present invention belongs.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present invention relates to a smart application verification technique using a terminal automatic execution control, in order to solve the problem that it is costly and time consuming for a developer of an android application to precisely verify the integrity of an application for various models of android terminals. According to the present invention, a smart application developer uploads a developer's own android application and sets a test sequence in the situation where a plurality of android terminals for respective models are provided in a remote place, and then the developer is provided with the result in which the android application has been automatically executed in the plurality of android terminals. The present invention provides the effect of reducing the costs of purchasing terminals since each application developer does not need to buy terminals, and the effect of increasing efficiency since terminals are used all the time for tests without idle time. Moreover, the present invention provides the effect of reducing the time for verification since the verification is performed simultaneously at multiple test terminals, and the effect of reducing test labor since there is no need to test the multiple test terminals one by one.

Description

단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법Automatic verification method of smart application using terminal automatic execution control
본 발명은 단말 자동실행 제어를 이용하여 스마트 어플(예: 안드로이드 어플)을 자동으로 검증하는 방법과 이를 이용한 어플 자동검증 프로그램을 기록한 컴퓨터로 판독가능한 기록매체에 관한 것이다.The present invention relates to a method for automatically verifying a smart application (eg, an Android application) using a terminal automatic execution control and a computer-readable recording medium recording an application verification program using the same.
더욱 상세하게는, 본 발명은 안드로이드 어플의 개발자가 다양한 모델의 안드로이드 단말에 대해 꼼꼼하게 어플의 무결성을 검증하려면 비용과 시간을 많이 소모하여 매우 곤란하다는 점에 착안하여, 모델별로 복수의 안드로이드 단말을 원격지에 마련해둔 상태에서 스마트 어플의 개발자가 자신의 안드로이드 어플을 업로드하고 테스트 시퀀스를 설정하면 그에 따라 다수의 안드로이드 단말에서 자동적으로 실행시킨 결과를 개발자에게 제공하는 단말 자동실행 제어를 이용한 스마트 어플 검증 기술에 관한 것이다.More specifically, the present invention focuses on the fact that it is very difficult for a developer of an Android application to spend time and time intensively verifying the integrity of an application for various types of Android terminals. In the smart app developer's smart application verification technology using the terminal auto-run control that provides the developer with the result of automatically running on a number of Android devices according to the state of the smart application developers upload their Android application and set the test sequence accordingly It is about.
안드로이드 플랫폼은 Google사가 주도하는 OHA(Open Handset Alliance)에서 공개한 소프트웨어 스택이다. 안드로이드 플랫폼은 리눅스 커널(Linux Kernel), 가상머신(VM), 프레임워크, 어플리케이션(applicatoin, 이하 '어플')을 모두 포함하는 소프트웨어 패키지이며, 안드로이드 어플을 개발하기 위한 소프트웨어 개발키트(SDK)를 제공한다.The Android platform is a software stack released by Google's Open Handset Alliance (OHA). The Android platform is a software package that includes the Linux kernel, virtual machine (VM), framework, and application (hereinafter referred to as "application"), and provides a software development kit (SDK) for developing Android applications. do.
이와 같은 안드로이드는 글로벌 표준 플랫폼으로 제시되었으나 시간이 지남에 따라 버전 업데이트와 다양한 단말이 출시되면서 파편화가 심화되었다. 따라서 안드로이드 어플을 개발하여 테스트하기 위해서는 단말기종별, 안드로이드 버전별, 통신사별로 단말장치를 모두 구비하고 있어야 한다. 또한 이들 단말에 어플을 설치하여 같은 동작을 반복하여 테스트해야 한다. 이러한 작업은 모두 사람의 수작업으로 이루어지며, 결과를 육안으로 확인하기 때문에 테스터가 근무중인 시간에만 검증이 가능하다.Android has been proposed as a global standard platform, but over time, fragmentation has intensified with version updates and various handset releases. Therefore, in order to develop and test Android applications, terminal devices, Android versions, and carriers must be equipped with all terminal devices. You should also install the app on these terminals and test the same operation over and over. All of this is done by hand and the results are visually verified so that the tester can only verify during working hours.
그로 인하여 어플 몇 개를 테스트하기 위해 필요한 단말을 모두 구입하면 지나치게 많은 비용이 소모되며, 이렇게 구입한 단말도 24시간 활용하지 못하고 테스트 기간에만 사용되어 비효율적이다. 이와 같은 비용을 절감하려 안드로이드 에뮬레이터(android emulator)를 활용하여 테스트하면 단말의 빠른 속도를 재현하지 못할 뿐 아니라 멀티터치나 하드웨어 테스트 등은 불가능하며 실제 단말에서 이루어진 것이 아니어서 테스트 신뢰도가 낮다.Therefore, if you purchase all the terminals necessary to test a few applications, too much cost is consumed, and these purchased terminals are not used for 24 hours and are used only during the test period, which is inefficient. In order to reduce such costs, testing using the Android emulator not only reproduces the high speed of the terminal, but also multi-touch or hardware test is impossible, and the test reliability is low because it is not made in the actual terminal.
즉, 종래기술에 따르면 안드로이드 어플을 테스트하려면 모든 단말장치에 대해서 개별적으로 사람의 손으로 작업이 이루어져야 하기 때문에 많은 단말장치와 인력이 필요하고 특히 24시간 테스트도 불가능하다. 또한 단말마다 테스트 시퀀스가 정확히 동일할 수가 없기 때문에 단말별 결과 비교가 어렵고 결과는 육안으로만 확인하기에 미세한 차이는 구분하지 못할 수 있다.That is, according to the prior art, to test the Android application requires a lot of terminal devices and manpower because the work must be done by hand for each terminal device individually, and in particular, it is impossible to test 24 hours. In addition, since the test sequence may not be exactly the same for each terminal, it is difficult to compare the results for each terminal, and the results may not be distinguished because only the naked eye is confirmed.
이러한 문제는 안드로이드에 국한된 것이 아니며 여러 종류의 스마트 운영체제에서 공통적으로 일어나는 사항이다. 따라서, 해당 기술분야에 있어서는 스마트 어플(스마트 단말 운영체제에서 동작하는 어플리케이션)에 대한 실제 단말장치에서의 동작 테스트를 좀더 효과적이고 저렴하면서도 높은 신뢰도로 수행할 수 있는 기술개발이 절실히 요구되고 있다.This problem is not limited to Android and is common to many smart operating systems. Therefore, in the technical field, there is an urgent need for a technology development that can more efficiently, inexpensively, and with high reliability, perform an operation test on an actual terminal device for a smart application (an application running on a smart terminal operating system).
[관련기술문헌][Related Technical Documents]
1. 애플리케이션 검사 가능한 이동통신 단말기 및 그 검사방법(대한민국 특허출원 10-2010-0126419호)1. Mobile communication terminal capable of inspecting the application and its inspection method (Korean Patent Application No. 10-2010-0126419)
2. 단말관리를 위한 서버시스템 및 온라인 서비스(대한민국 특허출원 10-2011-0033879호)2. Server system and online service for terminal management (Korean Patent Application No. 10-2011-0033879)
3. 안드로이드 어플의 행위정보 동적분석 에뮬레이터 및 이를 포함하는 행위정보 동적분석 시스템(대한민국 특허출원 10-2011-0094707호)3. Behavior information dynamic analysis emulator of Android application and behavior information dynamic analysis system including the same (Korea Patent Application No. 10-2011-0094707)
본 발명의 목적은 안드로이드 어플의 개발자가 다양한 모델의 안드로이드 단말에 대해 꼼꼼하게 어플의 무결성을 검증하려면 비용과 시간을 많이 소모하여 매우 곤란하다는 문제점을 해소하기 위하여, 모델별로 복수의 안드로이드 단말을 원격지에 마련해둔 상태에서 스마트 어플의 개발자가 자신의 안드로이드 어플을 업로드하고 테스트 시퀀스를 설정하면 그에 따라 다수의 안드로이드 단말에서 자동적으로 실행시킨 결과를 개발자에게 제공하는 단말 자동실행 제어를 이용한 스마트 어플 검증 기술을 제공하는 것이다.An object of the present invention is to prepare a plurality of Android terminals in each remote location to solve the problem that the developer of the Android application is very difficult to spend a lot of money and time to thoroughly verify the integrity of the application for the Android terminal of various models. When the developer of the smart application uploads their Android application and sets the test sequence, the smart application verification technology using the terminal automatic execution control that provides the developer with the result of automatically executing the multiple Android terminals accordingly is provided. will be.
이러한 과제를 달성하기 위한 본 발명에 따른 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법은, 개발자 단말(100)이 어플 검증 서버(300)에 대해 검증대상 어플의 설치파일을 업로드하면서 어플을 등록하는 제 1 단계; 개발자 단말(100)이 검증대상 어플에 대한 테스트 시퀀스를 설정하여 어플 검증 서버(300)로 제공하는 제 2 단계; 개발자 단말(100)이 어플 검증 서버(300)가 제공하는 테스트 단말 리스트로부터 하나이상의 테스트 대상 단말(400)을 선택하는 제 3 단계; 어플 검증 서버(300)가 테스트 시퀀스에 대응하여 테스트 순서를 지정하고 그 선택된 테스트 대상 단말(400)에 대한 테스트 작업 배분을 수행하는 제 4 단계; 어플 검증 서버(300)와 그 선택된 테스트 대상 단말(400)의 협조 동작에 의하여 어플 검증 서버(300)가 테스트 대상 단말(400)에 검증대상 어플을 설치하고 테스트 대상 단말(400)은 테스트 시퀀스에 따라 검증대상 어플을 자동실행하고 자동실행 결과 로그를 어플 검증 서버(300)로 제공하는 제 5 단계; 어플 검증 서버(300)가 자동실행 결과 로그를 취합하여 전체 테스트 결과를 구성하고 개발자 단말(100)로 전체 테스트 결과를 제공하는 제 6 단계;를 포함하여 구성된다.In order to achieve this problem, the method for automatically verifying a smart application using the terminal automatic execution control according to the present invention registers an application while the developer terminal 100 uploads an installation file of a verification target application to the application verification server 300. A first step of making; A second step of the developer terminal 100 setting the test sequence for the verification target application and providing the test sequence to the application verification server 300; A third step of the developer terminal 100 selecting one or more test target terminals 400 from a test terminal list provided by the application verification server 300; A fourth step in which the application verification server 300 specifies a test order corresponding to the test sequence and performs test work distribution for the selected test target terminal 400; By the cooperative operation of the application verification server 300 and the selected test target terminal 400, the application verification server 300 installs the verification target application on the test target terminal 400 and the test target terminal 400 is placed in the test sequence. A fifth step of automatically executing the verification target application and providing an automatic execution result log to the application verification server 300; The sixth step of the application verification server 300 collects the automatic execution result log to configure the entire test results and provide the entire test results to the developer terminal 100.
본 발명에서 제 2 단계는, 개발자 단말(100)이 어플 검증 서버(300)를 통해 특정의 테스트 단말(400)을 선택하는 단계; 어플 검증 서버(300)가 그 선택된 테스트 단말(400)에 검증대상 어플을 설치하는 단계; 개발자 단말(100)이 어플 검증 서버(300)를 통해 그 선택된 테스트 단말(400)에 대해 개별 항목의 테스트를 명령하는 제 A 단계; 그 선택된 테스트 단말(400)이 어플 검증 서버(300)의 제어에 의해 명령된 테스트 항목을 실행하고 그 실행결과를 어플 검증 서버(300)로 제공하는 제 B 단계; 어플 검증 서버(300)가 실행결과를 개발자 단말(100)의 UI 화면에 반영하고, 그 실행된 개별 테스트 항목에 대한 테스트 스크립트를 생성하는 제 C 단계; 제 A 단계 내지 제 C 단계를 반복 수행하는 단계; 어플 검증 서버(300)가 테스트 스크립트를 취합하여 전체 테스트 항목에 대한 테스트 시퀀스를 생성하는 단계;를 포함하여 구성될 수 있다.The second step in the present invention, the developer terminal 100 selects a specific test terminal 400 through the application verification server 300; Installing the verification target application on the selected test terminal 400 by the application verification server 300; A step A of the developer terminal 100 instructing a test of the individual items to the selected test terminal 400 through the application verification server 300; A step B of the selected test terminal 400 executing a test item commanded by the control of the application verification server 300 and providing the execution result to the application verification server 300; A step C of the application verification server 300 reflecting the execution result on the UI screen of the developer terminal 100 and generating a test script for the executed individual test item; Repeating steps A to C; The application verification server 300 collects the test script to generate a test sequence for the entire test item; may be configured to include.
또한, 본 발명에서 제 2 단계는, 휴대 테스트 단말(500)이 테스트 시퀀스 생성어플과 검증대상 어플을 다운로드하여 설치하는 단계; 휴대 테스트 단말(500)이 검증대상 어플 상의 사용자 조작에 대응하여 개별 테스트 항목을 실행하는 제 D 단계; 휴대 테스트 단말(500)이 개별 테스트 항목의 실행 결과를 UI 화면에 반영하는 제 E 단계; 휴대 테스트 단말(500)이 그 실행된 개별 테스트 항목에 대한 테스트 스크립트를 생성하는 제 F 단계; 제 D 단계 내지 제 F 단계를 반복 수행하는 단계; 테스트 시퀀스 생성어플에 의해 휴대 테스트 단말(500)이 테스트 스크립트를 취합하여 전체 테스트 항목에 대한 테스트 시퀀스를 생성하는 단계; 휴대 테스트 단말(500)이 테스트 시퀀스를 개발자 단말(100)로 제공하는 단계;를 포함하여 구성될 수 있다.In addition, the second step in the present invention, the portable test terminal 500, the step of downloading and installing the test sequence generation application and the verification target application; A step D of the portable test terminal 500 executing an individual test item in response to a user manipulation on the verification target application; Step E, in which the portable test terminal 500 reflects the execution result of the individual test item on the UI screen; A step F of the portable test terminal 500 generating a test script for the executed individual test item; Repeating steps D to F; Generating, by the portable test terminal 500, the test script by the test sequence generation application to generate a test sequence for the entire test item by collecting the test script; And providing the test sequence to the developer terminal 100 by the portable test terminal 500.
이때 제 5 단계는, 어플 검증 서버(300)의 어플 설치삭제부(352)와 테스트 대상 단말(400)의 어플 실행기(410)의 협조 동작에 의하여 어플 검증 서버(300)가 검증대상 어플을 테스트 대상 단말(400)에 설치하는 단계; 테스트 대상 단말(400)의 어플 실행기(410)가 테스트 시퀀스를 참조하여 사용자의 조작에 대응하는 각종 변경 이벤트를 내부적으로 생성하면서 검증대상 어플을 자동실행하는 단계; 테스트 대상 단말(400)의 어플 실행기(410)와 상기 어플 검증 서버(300)의 실행로그 관리수단(353e)의 협조 동작에 의하여 테스트 대상 단말(400)이 자동실행 결과 로그를 수집하여 어플 검증 서버(300)로 제공하는 단계;로 구성될 수 있다. 또한, 본 발명에서 검증대상 어플은 안드로이드 어플일 수 있다.At this time, in the fifth step, the application verification server 300 tests the verification target application by the cooperative operation of the application installation deleting unit 352 of the application verification server 300 and the application executor 410 of the test target terminal 400. Installing in the target terminal 400; An application executor 410 of the test target terminal 400 automatically executing the verification target application while internally generating various change events corresponding to a user's operation with reference to the test sequence; By the cooperative operation of the application executor 410 of the test target terminal 400 and the execution log management means 353e of the application verification server 300, the test target terminal 400 collects the automatic execution result log and verifies the application verification server. Providing to 300; can be configured. In addition, the application to be verified in the present invention may be an Android application.
한편, 본 발명에 따른 컴퓨터로 판독가능한 기록매체는 이상과 같은 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법을 실행하기 위한 어플 자동검증 프로그램을 기록한 것이다.On the other hand, the computer-readable recording medium according to the present invention is to record the automatic application verification program for executing the automatic verification method of the smart application using the terminal automatic execution control as described above.
또한, 본 발명에 따른 컴퓨터로 판독가능한 기록매체는 개발자 단말(100)의 접속에 따라 테스트하려는 어플 설치파일을 업로드하고, 안드로이드 기반의 어플 실행기가 각각 설치된 다수의 테스트 단말 중 테스트를 수행할 복수의 단말을 선택하여 테스트 요청을 수신하고 테스트 결과를 확인하도록 하는 관리 UI(310); 개발자 단말(100)이 복수개로 형성되어 각 사용자가 동시에 접속할 경우 각자의 어플과 작업을 다른 사용자에게 노출하지 않도록 관리하기 위해 각 사용자를 복수의 단계로 나누어 관리하고 사용자 권한에 따라 사용을 제한하는 사용자 관리자(320); 개발자 단말(100)에 의해 업로드된 어플 설치파일을 관리시 각 어플을 버전 별로 따로 관리하고 각 어플의 설치파일의 경로와 패키지명이 중복되지 않도록 관리하는 어플 관리자(330); 다수의 테스트 단말 중 선택된 복수의 단말 각각에 작업을 배정하기 위해 사용자의 테스트 요청이 순차적으로 실행되면서 우선순위에 따라 순서를 조절하면서 작업을 지시하는 작업 관리자(340); 테스트 대상이 되는 다수의 테스트 단말 중 선택된 복수의 단말 각각에 대해 플랫폼 버전, 제조사, 해상도, 성능으로 구분 관리하고, 각 단말별로 작업 진행 상태를 파악하고 각 단말의 접속된 상태나 오류 여부를 체크하기 위해 형성되는 단말 관리자(350);를 구비하여 이루어진 단말 자동실행 제어를 이용한 스마트 어플 자동검증 프로그램을 기록한 것이다.In addition, the computer-readable recording medium according to the present invention uploads an application installation file to be tested according to the connection of the developer terminal 100, and performs a test among a plurality of test terminals each having an Android-based application executor installed thereon. An administrative UI 310 for selecting a terminal to receive a test request and confirm a test result; When the developer terminal 100 is formed in plural and each user accesses at the same time, each user is divided into a plurality of steps in order to manage not to expose his or her application and tasks to other users, and limit the use according to the user's authority. Manager 320; When managing the application installation file uploaded by the developer terminal 100, each application is managed separately for each version and the application manager 330 for managing so that the path and package name of the installation file of each application do not overlap; A task manager 340 for instructing tasks while adjusting the order according to priorities while the user's test request is sequentially executed to assign tasks to each of the plurality of selected terminals among the plurality of test terminals; Among the plurality of test terminals to be tested, a plurality of selected terminals are managed by platform version, manufacturer, resolution, and performance, and the work progress is checked for each terminal, and the connected state or error of each terminal is checked. The terminal manager 350 is formed to record the smart application automatic verification program using the terminal automatic execution control made.
본 발명에 따르면 어플 개발자 개개인이 단말을 구입할 필요가 없어져 단말 구입비용이 축소되며, 단말이 유휴시간 없이 항상 테스트에 사용되어 효율성이 높아지는 효과를 제공한다. 뿐만 아니라, 다수 테스트 단말에서 동시에 검증이 진행되어 검증 시간이 축소되며, 다수의 테스트 단말에서 일일이 테스트할 필요가 없어져 테스트 인력이 축소되는 효과를 제공한다.According to the present invention, the application developer does not need to purchase a terminal, the terminal purchase cost is reduced, and the terminal is always used for testing without idle time, thereby providing an effect of increasing efficiency. In addition, the verification is reduced at the same time in a plurality of test terminals to reduce the verification time, there is no need to test on a plurality of test terminals to provide the effect of reducing the test personnel.
도 1은 본 발명에 따른 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법이 구현되는 전체 시스템을 나타내는 도면.1 is a diagram showing an entire system in which an automatic verification method of a smart application using a terminal automatic execution control according to the present invention is implemented.
도 2는 본 발명에서 어플 검증 서버와 테스트 단말의 연동을 위한 세부구성을 나타내는 도면.2 is a view showing a detailed configuration for the interworking of the application verification server and the test terminal in the present invention.
도 3은 본 발명에서 어플 검증 서버에 구현되는 단말 관리자의 세부구성을 설명하기 위한 도면.3 is a view for explaining the detailed configuration of the terminal manager implemented in the application verification server in the present invention.
도 4은 본 발명에 따른 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법을 나타내는 순서도.Figure 4 is a flow chart illustrating a method for automatic verification of smart applications using the terminal automatic execution control according to the present invention.
도 5는 본 발명에서 개발자가 테스트 시퀀스를 설정하는 과정의 제 1 실시예를 나타내는 순서도.5 is a flowchart illustrating a first embodiment of a process of a developer setting up a test sequence in the present invention.
도 6은 본 발명에서 개발자가 테스트 시퀀스를 설정하는 과정의 제 2 실시예를 나타내는 순서도.6 is a flow chart illustrating a second embodiment of a process for a developer setting up a test sequence in the present invention.
도 7은 본 발명에서 안드로이드 어플에 대한 액티비티 분석 및 스크립트 생성 과정을 나타내는 도면.7 is a view showing an activity analysis and script generation process for the Android application in the present invention.
도 8은 본 발명에 따른 액티비티 실행트리 정보를 이용한 실행 경로에 대한 추적을 나타내는 도면.8 is a diagram illustrating tracking of an execution path using activity execution tree information in accordance with the present invention.
이하에서는 도면을 참조하여 본 발명을 상세하게 설명한다. 본 발명의 기술적 사상은 스마트 운영체제에서 공통적으로 적용될 수 있으나, 본 명세서에서는 편이상 안드로이드를 기준으로 설명한다.Hereinafter, with reference to the drawings will be described in detail the present invention. The technical idea of the present invention may be commonly applied to a smart operating system, but the present specification will be described based on more than one Android.
도 1은 본 발명에 따른 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법이 구현되는 전체 시스템(1000)을 나타내는 도면이다. 도 1을 참조하면, 전체 시스템(1000)은 개발자 단말(100), 네트워크(200), 어플 검증 서버(300), 복수의 테스트 단말(400)로 이루어진다.1 is a diagram illustrating an entire system 1000 in which an automatic verification method of a smart application using the terminal autorun control according to the present invention is implemented. Referring to FIG. 1, the entire system 1000 includes a developer terminal 100, a network 200, an application verification server 300, and a plurality of test terminals 400.
개발자 단말(100)은 안드로이드 어플을 개발한 사람이 조작하는 장치로서 일반적으로는 개인용컴퓨터나 랩탑컴퓨터로 이루어진다. 개발자 단말(100)이 안드로이드 어플에 대한 검증을 위해 스마트 어플 검증 서버(300)로 APK 파일(120)로 표현되는 안드로이드 어플에 대한 검증 테스트를 요청한다. 본 발명에서 개발자 단말(100)에는 개발자 UI(110)가 구현되는데, 바람직하게는 테스트 동작 중에는 어플 검증 서버(300)에서 그 화면을 형성한다.The developer terminal 100 is a device operated by a person who develops an Android application, and generally includes a personal computer or a laptop computer. The developer terminal 100 requests a verification test for the Android application represented by the APK file 120 to the smart application verification server 300 to verify the Android application. In the present invention, the developer UI 110 is implemented in the developer terminal 100. Preferably, the screen is formed on the application verification server 300 during the test operation.
어플 검증 서버(300)는 개발자 단말(100)로부터 안드로이드 어플에 대한 테스트를 요청받고, 다수의 테스트 단말(400)에 대해 해당 안드로이드 어플에 대한 테스트 결과를 제공한다. 테스트 단말(400)은 본 발명의 배경기술을 감안하여 기종별로 모델별로 다양하게 구비되는 것이 바람직하다.The application verification server 300 receives a test request for the Android application from the developer terminal 100, and provides a test result for the corresponding Android application to the plurality of test terminals 400. The test terminal 400 is preferably provided in various models for each model in consideration of the background of the present invention.
한편, 도 1에서는 테스트 단말(400)이 어플 검증 서버(300)에 직접 연결되어 있는 것으로 도시되어 있으나, 테스트 단말(400)과 어플 검증 서버(300)가 네트워크(200)를 통해 연결되더라도 무방하다.Meanwhile, although the test terminal 400 is illustrated as being directly connected to the app verification server 300 in FIG. 1, the test terminal 400 and the app verification server 300 may be connected through the network 200. .
도 2는 본 발명을 위한 어플 검증 서버(300)와 테스트 단말(400)의 연동을 위한 세부구성을 나타내는 도면이다. 어플 검증 서버(300)는 관리 UI(310), 사용자 관리자(320), 어플 관리자(330), 작업 관리자(340), 단말 관리자(350)을 포함하여 구성된다. 또한, 테스트 단말(400)은 어플 검증 서버(300)의 제어에 따라 특정 안드로이드 어플을 특정 테스트 시퀀스에 따라 수행하기 위한 어플 실행기(410)를 포함한다.2 is a diagram illustrating a detailed configuration for interworking the application verification server 300 and the test terminal 400 for the present invention. App verification server 300 is configured to include a management UI 310, a user manager 320, an application manager 330, a task manager 340, a terminal manager 350. In addition, the test terminal 400 includes an application executor 410 for performing a specific Android application according to a specific test sequence under the control of the application verification server 300.
먼저, 관리 UI(310)은 어플 등록수단(311), 테스트 시퀀스 설정수단(312), 로그 뷰어 수단(313)를 포함한다. 개발자 단말(100)의 사용자는 네트워크(200)를 통해 어플 검증 서버(300)에 접속하여 테스트 대상인 안드로이드 어플의 설치파일(APK 파일; 120)을 업로드하고 다수의 테스트 단말(400) 중에서 테스트를 의뢰하려는 단말을 선택한다. 이어서, 당해 안드로이드 어플에 대해 테스트하려는 항목(테스트 시나리오)을 특정하여 테스트 시퀀스를 설정하며, 최종적으로 테스트 결과를 확인한다. 개발자 단말(100)의 사용자가 입력하는 테스트 환경(어플, 단말장치 특정), 테스트 방법(테스트 시퀀스)에 따라 복수의 테스트 단말(400)에서 어플이 실행, 검증되는 방식으로 수행된다.First, the management UI 310 includes an application registration means 311, a test sequence setting means 312, a log viewer means (313). The user of the developer terminal 100 accesses the application verification server 300 through the network 200, uploads the installation file (APK file) 120 of the Android application to be tested, and requests a test from among the plurality of test terminals 400. Select the terminal you want to. Next, the test sequence is set by specifying the item (test scenario) to be tested for the Android application, and finally, the test result is checked. The application is executed and verified in a plurality of test terminals 400 according to a test environment (application, terminal device specific) and a test method (test sequence) input by the user of the developer terminal 100.
이를 위해, 관리 UI(310)의 어플 등록수단(311)은 어플 설치파일(120)을 등록하고 테스트 단말(400)을 특정한다. 그리고, 테스트 시퀀스 설정수단(312)은 사용자가 입력하는 테스트 환경, 테스트 방법, 예상 결과에 따라 다수의 테스트 단말(400)에서 어플이 실행, 검증되는 시나리오를 결정한다. 로그 뷰어 수단(313)는 테스트에 결과를 개발자 단말(100)의 사용자에게 개발자 UI(110)를 통해 제공하는 기능을 수행한다.To this end, the application registration means 311 of the management UI 310 registers the application installation file 120 and specifies the test terminal 400. The test sequence setting unit 312 determines a scenario in which the application is executed and verified in the plurality of test terminals 400 according to a test environment, a test method, and an expected result input by the user. The log viewer means 313 performs a function of providing the test result to the user of the developer terminal 100 through the developer UI 110.
테스트 단말(400)에는 안드로이드 어플을 테스트를 구현하기 위해 어플 실행기(410)가 마련되어 있는데, 어플 실행기(410)는 어플 설치수단(411), 어플 구동수단(412), 어플 삭제수단(413), 이벤트 발생수단(414), 로그 수집수단(415)를 포함하여 이루어진다. 어플 실행기(410)는 어플 검증 서버(300)가 전달하는 명령에 따라 테스트 단말(400) 상에서 특정 동작을 실행하기 위한 모듈로서, 어플 실행기(410) 역시 바람직하게는 안드로이드 어플리케이션으로 구현된다.The test terminal 400 is provided with an app executor 410 to implement an Android app test. The app executor 410 includes an app installation means 411, an app driving means 412, an app deleting means 413, It comprises an event generating means 414, log collecting means 415. The app executor 410 is a module for executing a specific operation on the test terminal 400 according to a command transmitted from the app verification server 300, and the app executor 410 is also preferably implemented as an Android application.
어플 실행기(410)는 주로 다음과 같은 기능을 수행하게 된다.The application executor 410 mainly performs the following functions.
제 1 기능으로서, 어플 설치수단(411)이 어플 설치파일(120)을 어플 검증 서버(300)로부터 제공받아 설치하고, 어플 구동수단(412)이 그 설치된 안드로이드 어플을 테스트를 위해 구동하며, 어플 삭제수단(413)이 테스트 완료된 안드로이드 어플을 삭제한다.As a first function, the application installation means 411 receives and installs the application installation file 120 from the application verification server 300, the application driving means 412 drives the installed Android application for testing, the application The deleting means 413 deletes the tested Android application.
제 2 기능으로서, 이벤트 발생수단(414)이 테스트 단말(400)의 시스템 동작환경을 수집하고, 그에 대응하여 각종 변경 이벤트(언어설정, 화면회전, 멀티터치, 네트워크 설정, 메모리 조작, 인터넷 접속 등)를 생성한다. 실제 단말기 동작 환경에서는 사용자가 단말기를 조작함에 따라 다양한 이벤트가 발생하는데, 본 발명에서는 사용자의 개입 없이 어플 테스트를 자동실행하는 방식이므로, 이벤트 발생수단(414)이 테스트 시퀀스를 참조하여 사용자의 조작에 대응하는 각종 변경 이벤트를 내부적으로 생성한다.As a second function, the event generating means 414 collects the system operating environment of the test terminal 400 and responds to various change events (language setting, screen rotation, multi-touch, network setting, memory operation, Internet connection, etc.) correspondingly. ) In the actual terminal operating environment, various events occur as the user manipulates the terminal. In the present invention, since an application test is automatically executed without the user's intervention, the event generating means 414 refers to the test sequence to the user's operation. Internally generate various change events.
제 3 기능으로서, 로그 수집수단(415)은 실행 로그 수집을 수행한다. 테스트 시퀀스에 따라 테스트 단말(400)이 각종의 동작을 실행한 후에 그에 따른 동작 결과를 확인하기 위해서 로그 수집수단(415)은 실행 로그를 수집한다. 이러한 실행 로그는 어플 검증 서버(300)에서 테스트 결과로 가공되어 개발자 단말(100)로 제공되어 개발자 UI(110)에 표시된다.As a third function, the log collecting means 415 performs execution log collection. After the test terminal 400 executes various operations according to the test sequence, the log collecting unit 415 collects execution logs in order to check the operation result. This execution log is processed into a test result in the application verification server 300 is provided to the developer terminal 100 is displayed on the developer UI (110).
사용자 관리자(320)은 다수의 개발자 단말(100)로부터 어플 검증 서버(300)의 사용 요청이 들어오는 경우에 이들로부터 제공되는 안드로이드 어플과 테스트 작업을 적절하게 구분 관리하여 다른 사용자에게는 노출되지 않도록 관리하는 모듈로서, 이를 위해 사용자를 몇 단계로 나누어 관리하고 사용자의 권한에 따라 사용을 제한한다.When the user manager 320 receives a request for using the application verification server 300 from a plurality of developer terminals 100, the user manager 320 appropriately manages Android applications and test tasks provided therefrom so as not to be exposed to other users. As a module, to do this, you manage users in several steps and limit their use according to their permissions.
따라서 사용자 관리자(320)은 사용자를 단계별로 나누어 관리하는 사용자 관리수단(321), 사용자의 접근 권한을 권리하는 접근권한 관리수단(322)과 같은 하위 수단을 구비한다.Therefore, the user manager 320 includes sub-units, such as user management means 321 for managing users in stages and access rights management means 322 for granting access rights of the user.
어플 관리자(330)는 개발자 단말(100)의 사용자가 테스트 의뢰하면서 어플 등록수단(311)을 통해 업로드한 어플 설치파일(120)을 관리한다. 다수의 개발자 단말(100)로부터 다수의 어플이 업로드되는데, 어플 관리자(330)는 이들 어플을 버전 별로 따로 관리하고, 설치파일의 경로와 패키지명이 중복되지 않도록 관리하여 스토리지 용량을 불필요하게 차지하지 않도록 한다. 이를 위해 어플 관리자(330)는 어플의 설치파일의 경로와 패키지명이 중복되지 않도록 관리하는 파일관리 수단(331), 어플을 버전 별로 별도로 관리하는 버전관리 수단(332)의 하위 구성을 구비한다.The application manager 330 manages the application installation file 120 uploaded through the application registration unit 311 while requesting a test from the user of the developer terminal 100. A plurality of applications are uploaded from a plurality of developer terminals 100, the application manager 330 manages these applications separately for each version, so that the path and package name of the installation file does not overlap so as not to occupy storage capacity unnecessarily. do. To this end, the application manager 330 is provided with a sub configuration of the file management means 331 for managing so that the path and package name of the installation file of the application does not overlap, and the version management means 332 for managing the application separately for each version.
작업 관리자(340)은 다수의 테스트 단말(400) 각각에 대해 테스트 작업을 배정하는 모듈이다. 이를 위해, 작업 관리자(340)에 설치된 검증순서 관리수단(341)은 사용자의 테스트 요청이 순차적으로 실행되면서 우선순위에 따라 순서가 조절되도록 작업 스케쥴을 설정한다. 즉, 작업 관리자(340)은 하나의 테스트 단말(400)에 사용자의 테스트 요청이 많아 대기해야 하는 경우에 테스트 단말(400)을 각 테스트에 배정하는 역할을 한다.The task manager 340 is a module that assigns a test task to each of the plurality of test terminals 400. To this end, the verification order management means 341 installed in the job manager 340 sets the job schedule such that the order is adjusted according to the priority while the user's test request is executed sequentially. That is, the task manager 340 assigns the test terminal 400 to each test when one test terminal 400 has a large number of user's test requests.
검증순서 관리수단(341)은 테스트 요청 순서와 우선순위가 기본 고려사항이 될 수 있는데, 그 외에 관련된 요청을 묶어서 배정하거나 테스트 예상 소요시간 또는 테스트가 진행되는 시간이 주간/야간인지 등도 순서를 결정하는 고려사항이 될 수 있다. 작업 관리자(340)에 의해 테스트 작업은 미리 입력되므로 사용자는 테스트를 마칠 때까지 대기할 필요가 없다.Verification order management means 341 may be a basic consideration of the order and priority of the test request, in addition to determining the order of the associated request, the expected time required for the test, or whether the test is conducted during the day / night, etc. This may be a consideration. Since the test task is input in advance by the task manager 340, the user does not need to wait until the test is completed.
단말 관리자(350)는 안드로이드 어플의 테스트를 실제로 수행하기 위해 테스트 단말(400)과 연결되어 제어 및 결과 체크를 수행하는 모듈로서, 이를 위해 테스트 환경 설정수단(350a)과 단말 관리수단(350b)을 포함한다. 테스트 환경 설정수단(350a)은 테스트 대상이 되는 다수의 테스트 단말(400)에 대해 플랫폼 버전, 제조사, 해상도, 성능 등으로 구분하여 관리한다. 단말 관리수단(350b)은 다수의 테스트 단말(400)을 각 단말별로 작업 진행 상태를 파악하거나, 각 단말의 접속된 상태나 오류 여부를 체크 한기 위해 형성된다. 그리고 매 작업이 끝날 때마다 프로그램이나 파일을 삭제하는 등, 시험 환경을 초기화하여 다음 작업에 영향을 미치지 않도록 한다.The terminal manager 350 is a module connected to the test terminal 400 to perform the control and the result check in order to actually perform the test of the Android application. For this purpose, the test environment setting means 350a and the terminal management means 350b are used. Include. The test environment setting means 350a manages a plurality of test terminals 400 to be tested by classifying them into platform versions, manufacturers, resolutions, and performances. The terminal management unit 350b is configured to check the progress status of the plurality of test terminals 400 for each terminal or to check the connected state or the error of each terminal. At the end of each task, initialize the test environment, such as deleting programs or files, so that the next task is not affected.
이러한 세부구성을 통하여 어플 검증 서버(300)는 다수의 사용자(개발자)가 다수의 테스트 단말(400)을 공유 방식으로 이용하여 자신의 어플을 검증할 수 있는 시스템을 제공한다. 이러한 어플 검증 시스템은 개발자 단말(100)과 테스트 단말(400) 사이를 중재하는데, 특히 테스트 단말(400)에서는 한번에 하나의 어플만 구동할 수 있으므로 이를 효율적으로 하기 위해 사용자의 요청을 저장하여 순차적으로 실행되도록 작업을 관리한다.Through this detailed configuration, the app verification server 300 provides a system in which a plurality of users (developers) can verify their own applications using the plurality of test terminals 400 in a shared manner. The application verification system arbitrates between the developer terminal 100 and the test terminal 400. In particular, since only one application can be driven at a time in the test terminal 400, the user's request is sequentially stored in order to efficiently do this. Manage tasks to run.
한편, 테스트 단말(400)에서 스크립트를 이용하여 특정 안드로이드 어플을 분석하고 자동 실행하는 기술에 대해서는 본 출원인은 2012. 9. 13.자 대한민국 특허출원 10-2012-0101385호로 이미 출원한 바 있으며, 본 명세서에서는 이와 중복되는 부분에 대해서는 위 특허출원을 참조하는 것으로 상세한 설명을 생략한다. 본 발명에서는 주로 다수의 테스트 단말(400)을 관리하고 작업을 배분하는 기술과 관련하여 설명을 제시한다.Meanwhile, the applicant has already applied for the technology of analyzing and automatically executing a specific Android application using a script in the test terminal 400 as Korean Patent Application No. 10-2012-0101385 issued on September 13, 2012. In the specification, the overlapping parts thereof will be omitted by referring to the above patent applications. In the present invention, the description is mainly provided in relation to a technology for managing a plurality of test terminals 400 and distributing tasks.
도 3은 본 발명에서 어플 검증 서버(300)에 구현되는 단말 관리자(350)의 세부구성을 설명하기 위한 도면이다. 단말 관리자(350)는 어플 개발자가 설정한 테스트 시퀀스에 따라 특정의 테스트 단말(400)에 안드로이드 어플을 설치하고 테스트를 실행하기 위한 모듈이며, 이를 위해 테스트 환경 관리부(351), 어플 설치삭제부(352), 테스트관리 소프트웨어(353), 단말관리 하드웨어(354)을 포함하여 이루어진다.3 is a view for explaining the detailed configuration of the terminal manager 350 implemented in the application verification server 300 in the present invention. The terminal manager 350 is a module for installing an Android application on a specific test terminal 400 and executing a test according to a test sequence set by an application developer. For this purpose, the test environment manager 351 and the application installation deleting unit ( 352, test management software 353, and terminal management hardware 354.
테스트 환경 관리부(351)는 안드로이드 어플을 테스트하기 위한 환경을 관리하는 기능을 수행한다. 먼저, 다수의 테스트 단말(400)이 정상적으로 작동하는지 미리 확인하여 앞서 어플 등록수단(311)과 관련하여 전술한 바와 같이 어플 개발자가 테스트 대상 단말을 선택할 수 있도록 한다. 그리고, 개발자의 요청에 따라 특정 테스트 단말(400)에 대해 어플 테스트를 할 때에는 당해 테스트 단말(400)의 동작 상태를 다시한번 확인한 후 사용자의 테스트 요구에 맞도록 소프트웨어 및 하드웨어 상태를 저장 및 변경한다.The test environment manager 351 performs a function of managing an environment for testing an Android application. First, a plurality of test terminals 400 are confirmed in advance so that the app developer can select a test target terminal as described above with reference to the application registration means 311. When the application is tested on a specific test terminal 400 according to the request of the developer, the operation state of the test terminal 400 is checked again, and the software and hardware states are stored and changed to meet the user's test request. .
어플 설치삭제부(352)는 현재 테스트를 수행하려는 안드로이드 어플에 대한 어플 설치파일(120)을 제공받아 안드로이드 어플을 설치하고, 이후 테스트가 종료된 다음에는 안드로이드 어플을 삭제함으로써 다음의 어플 테스트를 수행하기 위한 기본 환경을 유지한다.The application installation deleting unit 352 is provided with the application installation file 120 for the current Android application to be tested, and installs the Android application, and after the test is terminated, the following application test is performed by deleting the Android application. Maintain a basic environment for doing so.
단말 관리자(350)에 의해 다수의 테스트 단말(400)에 대해 관리하는 환경은 하드웨어 상태와 소프트웨어 환경으로 나눌 수 있다. 이 두 가지 환경을 변화시키면서 어플을 여러 번 테스트하면 다양한 상태에서의 어플의 정상동작 여부를 확인할 수 있다.The environment managed by the terminal manager 350 for the plurality of test terminals 400 may be divided into a hardware state and a software environment. If you test the application several times while changing these two environments, you can check whether the application works in various states.
테스트관리 소프트웨어(353)는 브로드캐스트 리시버 관리수단(353a), 액티비티 관리수단(353b), 컨텐츠 프로바이더 관리수단(353c), 퍼미션 관리수단(353d), 실행로그 관리수단(353e)을 구비하여 이루어진다. 즉, 단말 관리자(350)가 관리하는 테스트 단말(400)의 소프트웨어 상태는 브로드캐스트 리시버 리스트, 액티비티 리스트, 컨텐츠 프로바이더 리스트, 퍼미션 리스트 등이다.The test management software 353 includes a broadcast receiver managing means 353a, an activity managing means 353b, a content provider managing means 353c, a permission managing means 353d, and an execution log managing means 353e. . That is, the software state of the test terminal 400 managed by the terminal manager 350 is a broadcast receiver list, an activity list, a content provider list, a permission list, and the like.
이에 대해서는 본 출원인의 대한민국 특허출원 10-2012-0101385호에 상세하게 기술되어 있으며, 본 명세서에서는 간단하게만 언급한다.This is described in detail in Korean Patent Application No. 10-2012-0101385 of the applicant, which is referred to simply herein.
브로드캐스트 리시버 관리수단(353a)은 안드로이드 어플의 소프트웨어 코드로부터 브로드캐스트 리시버(Broadcast Receiver)를 분석함으로써 안드로이드 어플 구동에 필요한 정보인 인텐트 정보를 추출한다.The broadcast receiver managing unit 353a extracts intent information, which is information required for driving the Android application, by analyzing a broadcast receiver from the software code of the Android application.
액티비티 관리수단(353b)은 안드로이드 어플이 다수의 액티비티(Activity)로 구성되어 있으므로, 액티비티 간의 전환이 일어나면서 안드로이드 어플이 작동하는데 그 전환이 이루어지는 시점에 대해 액티비티의 이름, 크기, 부가 정보 등을 분석한다.Since the activity management unit 353b is composed of a number of activities, the Android application operates as the transition between activities occurs, and the activity's name, size, and additional information are analyzed when the transition is made. do.
한편, 안드로이드 어플의 자동 실행을 위해 스크립트를 생성하고 액티비티를 분석하는 과정은 도 7과 같으며, 이러한 액티비티를 이용하여 안드로이드 어플을 자동 실행하는 경로를 추적하는 과정은 도 8과 같다. 도 7과 도 8의 프로세스는 안드로이드 어플을 자동 실행하기 위한 것으로서, 어플 검증 서버(300)의 테스트관리 소프트웨어(353)가 수행하도록 구성할 수도 있고 테스트 단말(400)의 어플 실행기(410)가 수행하도록 구성할 수도 있다. 이들 프로세스의 상세한 내용은 본 출원인의 대한민국 특허출원 10-2012-0101385호를 참조한다.Meanwhile, a process of generating a script and analyzing an activity for automatic execution of an Android application is as shown in FIG. 7, and a process of tracking a path for automatically executing an Android application using this activity is shown in FIG. 8. 7 and 8 are for automatically running the Android application, the test management software 353 of the application verification server 300 may be configured to perform or the application executor 410 of the test terminal 400 is performed It can also be configured to. For details of these processes, see the applicant's Korean Patent Application No. 10-2012-0101385.
도 7은 안드로이드 어플의 자동 실행을 위해 스크립트를 생성하고 액티비티를 분석하는 과정을 나타내는 도면이다. 어플관리 모듈은 동적 행위분석부에 안드로이드 어플을 설치하고, 화면분석 모듈은 해당 안드로이드 어플에 대한 화면정보를 전달받아 화면구조와 화면 구성요소를 분석한다. 화면분석 모듈에 의해 제공되는 각 액티비티에 대한 화면 구성정보를 바탕으로 이벤트 생성모듈은 각종의 입력이벤트를 생성하여 동적 행위분석부에 이들 입력이벤트를 제공한다. 한편, 이벤트 생성모듈에 의해 생성된 입력이벤트들은 스크립트 생성모듈로 전달되어 추후 반복 사용이 가능한 스크립트가 생성되도록 한다.7 is a diagram illustrating a process of generating a script and analyzing an activity for automatic execution of an Android application. The application management module installs the Android application in the dynamic behavior analysis unit, and the screen analysis module analyzes the screen structure and the screen components by receiving the screen information about the corresponding Android application. Based on the screen configuration information for each activity provided by the screen analysis module, the event generation module generates various input events and provides these input events to the dynamic behavior analysis unit. On the other hand, input events generated by the event generation module is delivered to the script generation module to generate a script that can be used later.
또한, 화면분석 모듈은 이들 입력이벤트가 필요한 화면 구성요소 및 입력이벤트 종류를 기초로 각 액티비티 실행트리 정보를 생성하여 저장부에 저장할 수 있으며, 이들 액티비티 실행트리 정보를 바탕으로 제어부는 실행 경로를 추적해 볼 수 있다. 도 8은 액티비티 실행트리 정보를 이용한 실행 경로에 대한 추적을 나타내는 하나의 실시예가 될 수 있다. 즉, 화면분석 모듈은 화면 분석을 통해 저장된 액티비티 트리(Activity Tree) 정보를 통해 해당 안드로이드 어플의 실행 경로가 추적 가능한 기능을 제공한다.In addition, the screen analysis module may generate and store each activity execution tree information on the basis of the screen component and the input event types that require these input events, and the control unit tracks the execution path based on the activity execution tree information. You can try 8 may be an embodiment illustrating tracking of an execution path using activity execution tree information. In other words, the screen analysis module provides a function to track the execution path of the corresponding Android application through the activity tree information stored through the screen analysis.
실행로그 관리수단(353e)은 어플 검증 테스트를 수행한 결과로 하나이상의 테스트 단말(400)로부터 제공되는 로그 데이터를 제공받아 정리한다. 로그 데이터와 테스트 시퀀스를 비교 정리하면 각 테스트 동작에 대해 개별 테스트 단말(400)로부터 어떠한 결과가 도출되었는지 판단할 수 있다.The execution log management unit 353e receives and cleans up the log data provided from the one or more test terminals 400 as a result of the application verification test. Comparing and arranging the log data and the test sequence may determine what results are derived from the individual test terminals 400 for each test operation.
또한, 단말관리 하드웨어(354)는 접속상태 모듈(354a), 테스트 상태모듈(354b), 부하관리 모듈(354c), 네트워크 상태모듈(354d), 통화 상태모듈(354e)을 구비한다. 즉, 단말 관리자(350)가 관리할 테스트 단말(400)의 하드웨어 상태는 시스템 접속상태, 테스트 진행 상태, 하드웨어(CPU, 메모리, 스토리지) 부하 상태, 네트워크 상태, 전화통화 상태에 대한 것이다.In addition, the terminal management hardware 354 includes a connection state module 354a, a test state module 354b, a load management module 354c, a network state module 354d, and a call state module 354e. That is, the hardware state of the test terminal 400 to be managed by the terminal manager 350 is about a system connection state, a test progress state, a hardware (CPU, memory, storage) load state, a network state, and a phone call state.
도 4은 본 발명에 따른 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법을 나타내는 순서도이다. 도 1 내지 도 4를 참조하면, 먼저 개발자 단말(100)은 어플 검증 서버(300)에 접속하여 표시화면을 제공받아 개발자 UI(110)에 구현한다(S11). 또한, 어플 검증 서버(300)는 어플 검증을 위한 다수의 테스트 단말(400)과 데이터 송수신 라인을 설정한다(S12).4 is a flowchart illustrating an automatic verification method of a smart application using the terminal automatic execution control according to the present invention. 1 to 4, first, the developer terminal 100 receives the display screen by accessing the application verification server 300 and implements it in the developer UI 110 (S11). In addition, the application verification server 300 sets up a data transmission and reception line and a plurality of test terminals 400 for the application verification (S12).
단계(S12) 이후, 개발자 단말(100)은 특정 안드로이드 어플을 검증하기 위해 개발자 UI(110)를 통해 어플 검증 서버(300)로의 어플 등록을 수행한다(S13). 즉, 사용자는 어플 검증 서버(300)에서 제공하는 개발자 UI(110)를 통해 시스템에 접속하고, 테스트하려는 안드로이드 어플의 설치파일(120)을 업로드한다.After step S12, the developer terminal 100 performs application registration with the application verification server 300 through the developer UI 110 to verify a specific Android application (S13). That is, the user accesses the system through the developer UI 110 provided by the application verification server 300 and uploads the installation file 120 of the Android application to be tested.
한편, 다수의 테스트 단말(400)은 어플 검증 서버(300)로 자신의 상태를 제공하는데(S14), 어플 검증 서버(300)는 이들 단말 상태 정보를 보유하고 있다가 개발자 단말(100)이 접속하면 개발자 UI(110)를 통해 이들 테스트 단말(400)의 리스트를 조회할 수 있도록 정보를 제공한다(S15). 즉, 어플 검증에 사용될 목적으로 마련된 복수의 테스트 단말(400)은 미리 설치해둔 어플 실행기(410)를 통해 자신의 기기 상태를 어플 검증 서버(300)에 업데이트하고, 이러한 정보는 그대로 개발자 단말(100)로 제공되어 테스트 단말 선택에 활용된다.On the other hand, the plurality of test terminals 400 provide their status to the application verification server 300 (S14), the application verification server 300 has these terminal status information while the developer terminal 100 is connected Then, the developer UI 110 provides information so that a list of these test terminals 400 can be inquired (S15). That is, the plurality of test terminals 400 provided for the purpose of application verification update their device state to the application verification server 300 through the application executor 410 installed in advance, and such information is provided as it is the developer terminal 100. ) Is used to select a test terminal.
단계(S15) 이후, 개발자 단말(100)은 어플 검증 서버(300)로 테스트 요구사항을 설정한다(S16). 이러한 테스트 요구사항으로는 다수의 테스트 단말(400) 중에서 어느 단말(들)에 대해 어플 검증을 수행할 것인지와, 어떠한 시나리오에 따라 작동 테스트를 진행할 것인지(테스트 시퀀스)를 생각할 수 있다. 바람직하게는 테스트 단말 그룹(400)에 속하는 단말들의 상태 정보를 어플 검증 서버(300)에서 조회한 후에 이중에서 테스트할 단말을 선택하고, 테스트 시퀀스와 테스트 환경 등의 정보를 입력하는 것이다. 본 발명에서 테스트 요구사항을 설정하는 바람직한 실시예를 도 5와 도 6을 참조하여 후술한다.After step S15, the developer terminal 100 sets a test requirement to the application verification server 300 (S16). These test requirements can be considered which of the plurality of test terminals (400) to perform the application verification, and according to which scenario to run the operation test (test sequence). Preferably, after inquiring the status information of the terminals belonging to the test terminal group 400 from the application verification server 300, the terminal to be tested is selected dually, and information such as a test sequence and a test environment is input. A preferred embodiment of setting test requirements in the present invention is described below with reference to FIGS. 5 and 6.
그리고 나서, 어플 검증 서버(300)는 테스트 요구사항에 따라 테스트 순서를 지정하고(S17), 테스트 요구사항에서 선택된 하나이상의 테스트 단말(400)에 대해 선별적으로 어플 검증 테스트를 수행한다(S18).Then, the application verification server 300 specifies the test order according to the test requirements (S17), and selectively performs the application verification test for one or more test terminals 400 selected from the test requirements (S18). .
단계(S18) 이후, 어플 검증 서버(300)는 이들 테스트 단말(400)로부터 어플 검증 테스트를 수행한 결과(로그 데이터)를 순차적으로 제공받아 취합하고(S19), 그 취합된 정보에 기초하여 테스트 요구사항에 따른 검증 테스트 수행 결과를 개발자 단말(100)로 제공한다(S20).After step S18, the application verification server 300 receives and collects the result (log data) of the application verification test from these test terminals 400 in sequence (S19), and tests based on the collected information. Providing the verification test execution result according to the requirements to the developer terminal 100 (S20).
이하에서는 어플 검증 테스트를 수행해는 과정(S18)에 대해 기술한다.Hereinafter, a process of performing an application verification test (S18) will be described.
먼저, 어플 검증 서버(300)는 개발자 단말(100)에 의해 설정된 테스트 요구사항에서 선택된 하나이상의 테스트 단말(400)에 대해 어플 검증 테스트 수행을 위한 작업을 배분한다(S181). 즉, 어플 검증 서버(300)는 다수 사용자에 의해 비슷한 시간에 입력된 다수의 테스트 요구 사항을 작업 관리자(340)을 거쳐 테스트 순서를 지정하며, 그 정해진 순서에 의해 다수의 테스트 단말(400)에 대한 순차적인 작업 배분을 수행한다.First, the application verification server 300 distributes the work for performing the application verification test for one or more test terminals 400 selected from the test requirements set by the developer terminal 100 (S181). That is, the application verification server 300 designates a test order through a task manager 340, a plurality of test requirements input at a similar time by a plurality of users, to the plurality of test terminals 400 by the determined order Perform sequential task allocation for
단계(S181) 이후, 어플 검증 서버(300)는 그 배분된 작업순서에 따라 테스트 단말(400)에 대해 어플 검증 테스트를 실행시키는데, 특정 테스트 단말(400)에 대해 특정 어플에 대한 검증 테스트를 수행하려면 먼저 검증대상 어플을 설치하고 테스트 환경을 설정한다(S182). After step S181, the application verification server 300 executes an application verification test on the test terminal 400 according to the distributed work order, and performs a verification test on a specific application on the specific test terminal 400. To first install the verification target application and set the test environment (S182).
그리고 나서, 테스트 시퀀스에 따른 자동 테스트를 수행한다(S183). 테스트 시퀀스는 바람직하게는 스크립트 기반으로 이루어지는데, 테스트 단말(400)에 설치된 어플 실행기(410)는 테스트 시퀀스에 따라 어플을 실행하고 이 과정에서 필요에 따라 이벤트도 내부에서 발생시켜 동작을 수행한다. 어플 실행기(410)가 테스트 시퀀스에 따라 어플을 자동 실행하는 과정에 대한 상세한 내용은 본 출원인의 대한민국 특허출원 10-2012-0101385호를 참조한다.Then, the automatic test according to the test sequence is performed (S183). The test sequence is preferably script-based, and the app executor 410 installed in the test terminal 400 executes the app according to the test sequence and generates an event therein as necessary in this process to perform an operation. For details on the process of the app executor 410 automatically executing the app according to the test sequence, refer to Korean Patent Application No. 10-2012-0101385 of the applicant.
단계(S183) 이후, 테스트 단말(400)은 어플 검증 서버(300)로 테스트 결과를 전송하고(S184), 어플 검증 서버(300)은 테스트 단말(400)의 상태를 원래 상태로 복구시킨다(S185). 이때, 테스트 단말(400)이 테스트 결과를 전송한 후에 자체적으로 상태 복구 프로세스를 수행할 수도 있다.After step S183, the test terminal 400 transmits a test result to the app verification server 300 (S184), and the app verification server 300 restores the state of the test terminal 400 to its original state (S185). ). In this case, the test terminal 400 may perform the state recovery process by itself after transmitting the test result.
도 5는 본 발명에서 개발자가 테스트 시퀀스를 설정하는 과정의 제 1 실시예를 나타내는 순서도로서, 앞서 살펴본 단계(S16)에서 테스트 시퀀스를 설정하는 과정에 대응된다. 도 5의 구현 예는 개발자 단말(100)이 어플 검증 서버(300)를 통해 특정 테스트 단말(400)을 선택하여 검증대상 어플을 설치하고 일련의 테스트를 직접 시행한 후 종료하면, 그 히스토리를 스크립트로 저장하여 테스트 시퀀스를 생성하는 방식이다.FIG. 5 is a flowchart illustrating a first embodiment of a process in which a developer sets a test sequence in the present invention, and corresponds to a process of setting a test sequence in step S16. In the implementation example of FIG. 5, when the developer terminal 100 selects a specific test terminal 400 through the application verification server 300, installs a verification target application, directly executes a series of tests, and ends the script, the history is scripted. The test sequence is created by saving it as.
먼저, 개발자 단말(100)이 어플 검증 서버(300)가 제공하는 UI 화면(110)으로부터 테스트 단말(400)을 하나 선택하고(S31), 어플 검증 서버(300)는 그에 대응하여 해당 테스트 단말(400)에 대해 선택사실을 통지하고 당해 검증대상 안드로이드 어플을 설치한다(S32).First, the developer terminal 100 selects one test terminal 400 from the UI screen 110 provided by the application verification server 300 (S31), and the application verification server 300 corresponds to the corresponding test terminal ( Notify the facts about the selection 400 and install the Android application to be verified (S32).
이어서, 개발자는 UI 화면(110)을 보면서 위 선택된 테스트 단말(400)에 대해 여러가지 개별 항목에 대한 테스트를 명령한다(S33). 이러한 개별 항목으로는 테스트 대상 어플 화면에 구현된 특정 버튼에 대한 터치 이벤트, 줌인/줌아웃 이벤트, 어플에 마련된 메뉴 설정 이벤트, 어플에서 동작하는 특정 캐릭터를 조작하는 각종 이벤트가 될 수 있다.Subsequently, the developer orders a test for various individual items to the selected test terminal 400 while looking at the UI screen 110 (S33). Such individual items may be a touch event for a specific button implemented on a screen of an application under test, a zoom in / out event, a menu setting event provided in the app, and various events for manipulating a specific character operating in the app.
어플 검증 서버(300)는 단말 관리자(350)과 어플 실행기(410)의 협조 동작에 의하여 위 선택된 테스트 단말(400)에 대해 이들 개별 테스트 항목을 실행하도록 하며(S34, S35), 어플 실행기(410)의 로그 수집수단(415)과 단말 관리자(350)의 실행로그 관리수단(353e)의 협조 동작에 의하여 개별 테스트 항목에 대한 테스트 결과를 수집할 수 있다(S36, 37). The application verification server 300 executes these individual test items for the selected test terminal 400 by the cooperative operation of the terminal manager 350 and the app executor 410 (S34, S35), and the app executor 410 By the cooperative operation of the log collecting means 415 and the execution log management means (353e) of the terminal manager 350 may collect the test results for the individual test items (S36, 37).
개별 항목에 대한 테스트를 수행하면, 어플 검증 서버(300)는 방금 수행한 개별 테스트 항목에 대한 테스트 스크립트를 생성하고(S38), 개발자 단말(100)의 UI 화면(110)에는 당해 테스트 결과가 반영된 화면이 구성된다(S39).When performing a test on an individual item, the application verification server 300 generates a test script for the individual test item that was just performed (S38), and the UI screen 110 of the developer terminal 100 reflects the test result. The screen is configured (S39).
개발자는 당해 검증대상 어플에 대해 소망하는 바에 따라 지속적으로 테스트를 수행하며(S40), 개별 항목의 테스트를 수행할 때마다 어플 검증 서버(300)는 테스트 스크립트를 생성한다(S38).The developer continuously performs the test as desired for the application to be verified (S40), and each time the individual item is tested, the application verification server 300 generates a test script (S38).
개발자가 모든 테스트를 완료하면 어플 검증 서버(300)는 이렇게 생성된 테스트 스크립트를 취합하여 테스트 시퀀스를 생성한다(S41). 이러한 과정을 통해 생성된 테스트 시퀀스는 개발자가 직접 화면을 보면서 시행한 일련의 테스트 히스토리를 그대로 따라서 구성한 것이다.When the developer completes all the tests, the application verification server 300 generates a test sequence by collecting the test scripts generated in this way (S41). The test sequence generated through this process is composed of a series of test histories executed by the developer while viewing the screen.
도 6은 본 발명에서 개발자가 테스트 시퀀스를 설정하는 과정의 제 2 실시예를 나타내는 순서도이다. 도 6의 구현 예는 개발자가 자신이 보유하는 휴대 테스트 단말(500)을 직접 조작하면서 테스트를 수행하면, 그 히스토리를 스크립트로 저장하여 테스트 시퀀스를 생성하는 방식이다.6 is a flowchart illustrating a second embodiment of a process of a developer setting test sequences in the present invention. In the implementation example of FIG. 6, when a developer performs a test while directly manipulating the portable test terminal 500 owned by the developer, a test sequence is generated by storing the history as a script.
먼저, 개발자 단말(100)이 휴대 테스트 단말(500)에 대해 테스트 시퀀스 생성어플과 검증대상 어플을 설치한다(S51, 52). 본 구현 예에서는 휴대 테스트 단말(500)이 검증대상 어플에서 일어나는 각종 이벤트를 모니터링하고, 그 모니터링한 결과를 취합하여 테스트 시퀀스를 생성해야 하므로 이를 위하여 테스트 시퀀스 생성어플을 설치하는 것이다.First, the developer terminal 100 installs a test sequence generation application and a verification target application for the portable test terminal 500 (S51 and 52). In this embodiment, the portable test terminal 500 monitors various events occurring in the application to be verified, and generates a test sequence by collecting the monitored results, thereby installing a test sequence generation application.
테스트 시퀀스 생성어플과 검증대상 어플의 설치는 개발자 단말(100)에 휴대 테스트 단말(500)을 연결하고 설치파일(120)을 직접 전송하여 설치하는 방식도 가능하다. 또한, 개발자 단말(100)이 설치파일(120)을 서버장치(미도시)에 업로드하고 휴대 테스트 단말(500)이 이들 설치파일(120)을 예컨대 무선랜을 통해 다운로드하여 설치하는 것도 가능하다. 또한, 테스트 시퀀스 생성어플을 검증대상 어플에 통합하여 하나로 구성하는 것도 가능하다.The installation of the test sequence generation application and the verification target application may also be performed by connecting the portable test terminal 500 to the developer terminal 100 and directly transmitting and installing the installation file 120. In addition, the developer terminal 100 may upload the installation file 120 to a server device (not shown), and the portable test terminal 500 may download and install these installation files 120 through, for example, a wireless LAN. In addition, it is also possible to integrate the test sequence generation application into the verification target application and configure it as one.
이어서, 개발자는 휴대 테스트 단말(500)의 UI를 보면서 여러가지 개별 항목에 대한 테스트(예: 어플 화면에 구현된 각종 버튼에 대한 터치 이벤트, 줌인/줌아웃 이벤트, 어플에 마련된 메뉴 설정 이벤트, 어플에서 동작하는 특정 캐릭터에 대한 조작)를 휴대 테스트 단말(500)에 대해 직접 조작하고(S53), 그 테스트 결과는 휴대 테스트 단말(500)의 UI로부터 개발자가 확인한다(S54).Subsequently, the developer looks at the UI of the portable test terminal 500 to test various individual items (for example, touch events for various buttons implemented on the application screen, zoom in / zoom out events, menu setting events provided in the application, and operate in the application. To directly operate the portable test terminal 500 (S53), and the test result is confirmed by the developer from the UI of the portable test terminal 500 (S54).
휴대 테스트 단말(500)에 설치된 테스트 시퀀스 생성어플은 이들 개별 테스트 항목에 대한 테스트 시퀀스를 생성한다(S55).The test sequence generation application installed in the portable test terminal 500 generates a test sequence for these individual test items (S55).
개발자가 모든 테스트를 완료하면 테스트 시퀀스 생성어플은 이렇게 생성된 테스트 스크립트를 취합하여 테스트 시퀀스를 생성하고(S57), 개발자 단말(100)로 테스트 시퀀스를 제공한다.When the developer completes all the tests, the test sequence generation application collects the generated test scripts to generate a test sequence (S57), and provides the test sequence to the developer terminal 100.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드의 형태로 구현하는 것이 가능하다. 이때, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.The invention can also be embodied in the form of computer readable codes on a computer readable recording medium. At this time, the computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 캐리어웨이브(예: 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산된 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인 프로그램, 코드, 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, which may be implemented in the form of a carrier wave (eg, transmission over the Internet). . The computer readable recording medium can also store and execute computer readable code in a distributed manner over networked computer systems. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the technical field to which the present invention belongs.
특히, 본 명세서에서는 안드로이드 플랫폼을 기준으로 본 발명의 기술적 사상을 설명하였으나, 스마트 단말에 적용될 수 있는 다른 플랫폼, 예컨대 iOS나 타이젠(Tizen) 등의 플랫폼에서도 본 발명은 적용될 수 있다. 본 발명의 권리범위는 특정 플랫폼에 한정되지 않는 것으로 해석된다.In particular, in the present specification, the technical spirit of the present invention has been described with reference to the Android platform, but the present invention may be applied to other platforms that can be applied to a smart terminal, such as iOS or Tizen. It is understood that the scope of the present invention is not limited to a specific platform.

Claims (7)

  1. 개발자 단말(100)이 어플 검증 서버(300)에 대해 검증대상 어플의 설치파일을 업로드하면서 어플을 등록하는 제 1 단계;A first step of the developer terminal 100 registering the app while uploading the installation file of the app to be verified to the app verification server 300;
    상기 개발자 단말(100)이 상기 검증대상 어플에 대한 테스트 시퀀스를 설정하여 상기 어플 검증 서버(300)로 제공하는 제 2 단계;A second step of setting, by the developer terminal 100, a test sequence for the verification target application to the application verification server 300;
    상기 개발자 단말(100)이 상기 어플 검증 서버(300)가 제공하는 테스트 단말 리스트로부터 하나이상의 테스트 대상 단말(400)을 선택하는 제 3 단계;A third step of the developer terminal 100 selecting one or more test target terminals 400 from a test terminal list provided by the application verification server 300;
    상기 어플 검증 서버(300)가 상기 테스트 시퀀스에 대응하여 테스트 순서를 지정하고 상기 선택된 테스트 대상 단말(400)에 대한 테스트 작업 배분을 수행하는 제 4 단계;A fourth step of the application verification server 300 specifying a test order in response to the test sequence and performing test work distribution for the selected test target terminal 400;
    상기 어플 검증 서버(300)와 상기 선택된 테스트 대상 단말(400)의 협조 동작에 의하여 상기 어플 검증 서버(300)가 상기 테스트 대상 단말(400)에 상기 검증대상 어플을 설치하고 상기 테스트 대상 단말(400)은 상기 테스트 시퀀스에 따라 상기 검증대상 어플을 자동실행하고 상기 자동실행 결과 로그를 상기 어플 검증 서버(300)로 제공하는 제 5 단계;By the cooperative operation of the application verification server 300 and the selected test target terminal 400, the app verification server 300 installs the verification target application on the test target terminal 400 and the test target terminal 400. A fifth step of automatically executing the application to be verified according to the test sequence and providing the automatic execution result log to the application verification server 300;
    상기 어플 검증 서버(300)가 상기 자동실행 결과 로그를 취합하여 전체 테스트 결과를 구성하고 상기 개발자 단말(100)로 상기 전체 테스트 결과를 제공하는 제 6 단계;A sixth step in which the application verification server 300 collects the automatic execution result log to form a total test result and provides the full test result to the developer terminal 100;
    를 포함하여 구성되는 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법.Smart verification method of the smart application using the terminal automatic execution control configured to include.
  2. 청구항 1에 있어서, The method according to claim 1,
    상기 제 2 단계는,The second step,
    상기 개발자 단말(100)이 상기 어플 검증 서버(300)를 통해 특정의 테스트 단말(400)을 선택하는 단계;Selecting, by the developer terminal (100), a specific test terminal (400) through the application verification server (300);
    상기 어플 검증 서버(300)가 상기 선택된 테스트 단말(400)에 상기 검증대상 어플을 설치하는 단계;Installing, by the app verification server (300), the app to be verified on the selected test terminal (400);
    상기 개발자 단말(100)이 상기 어플 검증 서버(300)를 통해 상기 선택된 테스트 단말(400)에 대해 개별 항목의 테스트를 명령하는 제 A 단계;A step A of the developer terminal 100 instructing a test of the individual item to the selected test terminal 400 through the application verification server 300;
    상기 선택된 테스트 단말(400)이 상기 어플 검증 서버(300)의 제어에 의해 상기 명령된 테스트 항목을 실행하고 그 실행결과를 상기 어플 검증 서버(300)로 제공하는 제 B 단계;A step B of the selected test terminal 400 executing the commanded test item under the control of the app verification server 300 and providing the execution result to the app verification server 300;
    상기 어플 검증 서버(300)가 상기 실행결과를 상기 개발자 단말(100)의 UI 화면에 반영하고, 상기 실행된 개별 테스트 항목에 대한 테스트 스크립트를 생성하는 제 C 단계;A step C of the application verification server 300 reflecting the execution result on the UI screen of the developer terminal 100 and generating a test script for the executed individual test item;
    상기 제 A 단계 내지 제 C 단계를 반복 수행하는 단계;Repeating steps A to C;
    상기 어플 검증 서버(300)가 상기 테스트 스크립트를 취합하여 전체 테스트 항목에 대한 테스트 시퀀스를 생성하는 단계;Generating, by the application verification server (300), a test sequence for all test items by collecting the test scripts;
    를 포함하여 구성되는 것을 특징으로 하는 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법.Smart verification method of the smart application using the terminal automatic execution control, characterized in that configured to include.
  3. 청구항 1에 있어서, The method according to claim 1,
    상기 제 2 단계는,The second step,
    휴대 테스트 단말(500)이 테스트 시퀀스 생성어플과 상기 검증대상 어플을 다운로드하여 설치하는 단계;Downloading and installing a test sequence generation application and the verification target application by the portable test terminal 500;
    상기 휴대 테스트 단말(500)이 상기 검증대상 어플 상의 사용자 조작에 대응하여 개별 테스트 항목을 실행하는 제 D 단계;A step D of the portable test terminal 500 executing an individual test item in response to a user manipulation on the verification target application;
    상기 휴대 테스트 단말(500)이 상기 개별 테스트 항목의 실행 결과를 UI 화면에 반영하는 제 E 단계;Step E, in which the portable test terminal 500 reflects an execution result of the individual test item on a UI screen;
    상기 휴대 테스트 단말(500)이 상기 실행된 개별 테스트 항목에 대한 테스트 스크립트를 생성하는 제 F 단계;Step F, wherein the portable test terminal 500 generates a test script for the executed individual test item;
    상기 제 D 단계 내지 제 F 단계를 반복 수행하는 단계;Repeating steps D to F;
    상기 테스트 시퀀스 생성어플에 의해 상기 휴대 테스트 단말(500)이 상기 테스트 스크립트를 취합하여 전체 테스트 항목에 대한 테스트 시퀀스를 생성하는 단계;Generating, by the portable test terminal 500, the test script by the test sequence generation application to generate a test sequence for all test items by collecting the test script;
    상기 휴대 테스트 단말(500)이 상기 테스트 시퀀스를 상기 개발자 단말(100)로 제공하는 단계;Providing, by the portable test terminal (500), the test sequence to the developer terminal (100);
    를 포함하여 구성되는 것을 특징으로 하는 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법.Smart verification method of the smart application using the terminal automatic execution control, characterized in that configured to include.
  4. 청구항 1 내지 청구항 3 중의 어느 한 항에 있어서,The method according to any one of claims 1 to 3,
    상기 제 5 단계는,The fifth step,
    상기 어플 검증 서버(300)의 어플 설치삭제부(352)와 상기 테스트 대상 단말(400)의 어플 실행기(410)의 협조 동작에 의하여 상기 어플 검증 서버(300)가 상기 검증대상 어플을 상기 테스트 대상 단말(400)에 설치하는 단계;By the cooperative operation of the application installation deleting unit 352 of the app verification server 300 and the app executor 410 of the test target terminal 400, the app verification server 300 the test target application to the test target Installing in the terminal 400;
    상기 테스트 대상 단말(400)의 어플 실행기(410)가 상기 테스트 시퀀스를 참조하여 사용자의 조작에 대응하는 각종 변경 이벤트를 내부적으로 생성하면서 상기 검증대상 어플을 자동실행하는 단계;An application executor 410 of the test target terminal 400 automatically executing the verification target application while internally generating various change events corresponding to a user's manipulation with reference to the test sequence;
    상기 테스트 대상 단말(400)의 어플 실행기(410)와 상기 상기 어플 검증 서버(300)의 실행로그 관리수단(353e)의 협조 동작에 의하여 상기 테스트 대상 단말(400)이 상기 자동실행 결과 로그를 수집하여 상기 어플 검증 서버(300)로 제공하는 단계;The test target terminal 400 collects the automatic execution result log by the cooperative operation of the application executor 410 of the test target terminal 400 and the execution log management means 353e of the app verification server 300. Providing to the application verification server 300;
    를 포함하여 구성되는 것을 특징으로 하는 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법.Smart verification method of the smart application using the terminal automatic execution control, characterized in that configured to include.
  5. 청구항 1 내지 청구항 3 중의 어느 한 항에 있어서,The method according to any one of claims 1 to 3,
    상기 검증대상 어플은 안드로이드 어플인 것을 특징으로 하는 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법.The verification target application is an automatic verification method of a smart application using the terminal automatic execution control, characterized in that the Android application.
  6. 청구항 1 내지 청구항 3 중의 어느 한 항에 따른 단말 자동실행 제어를 이용한 스마트 어플의 자동검증 방법을 실행하기 위한 어플 자동검증 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.A computer-readable recording medium recording an application automatic verification program for executing an automatic verification method of a smart application using the terminal automatic execution control according to any one of claims 1 to 3.
  7. 개발자 단말(100)의 접속에 따라 테스트하려는 어플 설치파일을 업로드하고, 안드로이드 기반의 어플 실행기가 각각 설치된 다수의 테스트 단말 중 테스트를 수행할 복수의 단말을 선택하여 테스트 요청을 수신하고 테스트 결과를 확인하도록 하는 관리 UI(310);Upload the application installation file to be tested in accordance with the connection of the developer terminal 100, select a plurality of terminals to perform the test from each of the plurality of test terminals each of the Android-based application executor receives the test request and check the test results A management UI 310 to enable;
    상기 개발자 단말(100)이 복수개로 형성되어 각 사용자가 동시에 접속할 경우 각자의 어플과 작업을 다른 사용자에게 노출하지 않도록 관리하기 위해 각 사용자를 복수의 단계로 나누어 관리하고 사용자 권한에 따라 사용을 제한하는 사용자 관리자(320); 상기 개발자 단말(100)에 의해 업로드된 어플 설치파일을 관리시 각 어플을 버전 별로 따로 관리하고 각 어플의 설치파일의 경로와 패키지명이 중복되지 않도록 관리하는 어플 관리자(330);When the developer terminal 100 is formed in plural and each user accesses at the same time, each user is divided into a plurality of steps in order to manage each application and task not to be exposed to other users, and the use is restricted according to user rights. User manager 320; An application manager 330 for managing each application separately for each version when managing the application installation file uploaded by the developer terminal 100 and not allowing the path and package name of the installation file of each application to overlap;
    상기 다수의 테스트 단말 중 선택된 복수의 단말 각각에 작업을 배정하기 위해 사용자의 테스트 요청이 순차적으로 실행되면서 우선순위에 따라 순서를 조절하면서 작업을 지시하는 작업 관리자(340);A task manager 340 for instructing tasks while adjusting the order according to priority while executing a test request of a user sequentially to assign a task to each of a plurality of selected terminals among the plurality of test terminals;
    테스트 대상이 되는 다수의 테스트 단말 중 선택된 복수의 단말 각각에 대해 플랫폼 버전, 제조사, 해상도, 성능으로 구분 관리하고, 각 단말별로 작업 진행 상태를 파악하고 각 단말의 접속된 상태나 오류 여부를 체크하기 위해 형성되는 단말 관리자(350);Among the plurality of test terminals to be tested, each of a plurality of selected terminals is managed by platform version, manufacturer, resolution, and performance. Terminal manager 350 is formed for;
    를 구비하여 이루어진 단말 자동실행 제어를 이용한 스마트 어플 자동검증 프로그램을 기록한 컴퓨터로 판독가능한 기록매체.A computer-readable recording medium recording a smart application automatic verification program using the terminal automatic execution control provided.
PCT/KR2013/001914 2013-03-08 2013-03-09 Auto-verification method of smart application using terminal automatic execution control WO2014137014A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20130025001A KR20140110520A (en) 2013-03-08 2013-03-08 Method for automatic verification for samrt applications by automatic execution control of test terminals, and computer-readable recording medium for the same
KR10-2013-0025001 2013-03-08

Publications (1)

Publication Number Publication Date
WO2014137014A1 true WO2014137014A1 (en) 2014-09-12

Family

ID=51491518

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/001914 WO2014137014A1 (en) 2013-03-08 2013-03-09 Auto-verification method of smart application using terminal automatic execution control

Country Status (2)

Country Link
KR (1) KR20140110520A (en)
WO (1) WO2014137014A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933174A (en) * 2015-07-01 2015-09-23 北京博睿宏远科技发展有限公司 Method for solving model adaption problem of mobile phone APP (Application) on the basis of automatic traversal of control
CN105610644A (en) * 2015-12-25 2016-05-25 浪潮电子信息产业股份有限公司 Method for realizing password-less bidirectional login of networks based on LINUX
CN105656868A (en) * 2014-12-03 2016-06-08 镇江金软计算机科技有限责任公司 Android platform based automatic member registration method
CN105786698A (en) * 2014-12-25 2016-07-20 展讯通信(上海)有限公司 Script-based power consumption automatic test system for mobile terminal
CN106302011A (en) * 2016-08-11 2017-01-04 优酷信息技术(杭州)有限公司 Method of testings based on multiterminal and terminal
CN106537288A (en) * 2016-10-21 2017-03-22 北京小米移动软件有限公司 Application autostart control method and device
CN107957951A (en) * 2017-12-11 2018-04-24 北京奇虎科技有限公司 A kind of method and device of the function of test application program
CN109324962A (en) * 2018-08-17 2019-02-12 中国平安人寿保险股份有限公司 A kind of test method and equipment of the application program based on cloud internet of things technology
CN109344082A (en) * 2018-11-01 2019-02-15 郑州云海信息技术有限公司 A kind of method and system of automatic scratchpad register
CN109783389A (en) * 2019-01-22 2019-05-21 未来电视有限公司 Element control automatic test approach, device and electronic equipment
CN110232022A (en) * 2019-05-21 2019-09-13 深圳壹账通智能科技有限公司 Network environment test method, device and terminal device

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102044068B1 (en) * 2017-09-28 2019-11-12 에스케이 주식회사 IoT Service Application Test Method and System using the Remote Control System for Mobile Terminal
KR101875866B1 (en) 2017-11-06 2018-07-06 주식회사 엠시큐어 Method and server for checking weak point of mobile application
KR102181943B1 (en) * 2020-09-14 2020-11-23 (주)엠티커뮤니케이션 System of monitoring based on gateway
KR102430523B1 (en) * 2020-10-13 2022-08-08 주식회사 투비웨어 Mobile Device verification automation platform system based on web and verification method of the same
KR102481527B1 (en) * 2020-10-22 2022-12-26 주식회사 엔씨소프트 Apparatus and method for test automation service
KR102556999B1 (en) * 2021-03-26 2023-07-19 주식회사 컴투스 Method and system for test automation based on remort control of terminal

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100562226B1 (en) * 2004-10-01 2006-03-22 에스케이 텔레콤주식회사 Method and system for certifying application on wireless internet platform
KR101027971B1 (en) * 2010-12-10 2011-04-13 (주)헬릭스테크 Mobile communication terminal capable of testing application and method thereof
KR20120081873A (en) * 2011-01-12 2012-07-20 에스케이플래닛 주식회사 Method for verifying mobile application and terminal using the same
KR20120102967A (en) * 2011-03-09 2012-09-19 주식회사 케이티 System and method for verifying application
US20120253745A1 (en) * 2011-03-28 2012-10-04 Infosys Technologies Limited System and method for testing performance of mobile application server
KR20130007763A (en) * 2011-07-11 2013-01-21 (주)엔토시스 Remote applications verification system and method thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100562226B1 (en) * 2004-10-01 2006-03-22 에스케이 텔레콤주식회사 Method and system for certifying application on wireless internet platform
KR101027971B1 (en) * 2010-12-10 2011-04-13 (주)헬릭스테크 Mobile communication terminal capable of testing application and method thereof
KR20120081873A (en) * 2011-01-12 2012-07-20 에스케이플래닛 주식회사 Method for verifying mobile application and terminal using the same
KR20120102967A (en) * 2011-03-09 2012-09-19 주식회사 케이티 System and method for verifying application
US20120253745A1 (en) * 2011-03-28 2012-10-04 Infosys Technologies Limited System and method for testing performance of mobile application server
KR20130007763A (en) * 2011-07-11 2013-01-21 (주)엔토시스 Remote applications verification system and method thereof

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105656868A (en) * 2014-12-03 2016-06-08 镇江金软计算机科技有限责任公司 Android platform based automatic member registration method
CN105786698A (en) * 2014-12-25 2016-07-20 展讯通信(上海)有限公司 Script-based power consumption automatic test system for mobile terminal
CN104933174B (en) * 2015-07-01 2018-05-22 北京博睿宏远数据科技股份有限公司 The method that traversal solution cell phone application type adaptation issues are automated based on control
CN104933174A (en) * 2015-07-01 2015-09-23 北京博睿宏远科技发展有限公司 Method for solving model adaption problem of mobile phone APP (Application) on the basis of automatic traversal of control
CN105610644A (en) * 2015-12-25 2016-05-25 浪潮电子信息产业股份有限公司 Method for realizing password-less bidirectional login of networks based on LINUX
CN106302011A (en) * 2016-08-11 2017-01-04 优酷信息技术(杭州)有限公司 Method of testings based on multiterminal and terminal
CN106302011B (en) * 2016-08-11 2020-02-14 优酷信息技术(杭州)有限公司 Multi-terminal-based test method and terminal
WO2018072193A1 (en) * 2016-10-21 2018-04-26 北京小米移动软件有限公司 Method and device for controlling application to start automatically
CN106537288A (en) * 2016-10-21 2017-03-22 北京小米移动软件有限公司 Application autostart control method and device
CN106537288B (en) * 2016-10-21 2018-06-12 北京小米移动软件有限公司 The method and device of self-starting is applied in control
CN107957951A (en) * 2017-12-11 2018-04-24 北京奇虎科技有限公司 A kind of method and device of the function of test application program
CN107957951B (en) * 2017-12-11 2021-09-28 北京奇虎科技有限公司 Method and device for testing functions of application program
CN109324962A (en) * 2018-08-17 2019-02-12 中国平安人寿保险股份有限公司 A kind of test method and equipment of the application program based on cloud internet of things technology
CN109324962B (en) * 2018-08-17 2024-04-26 中国平安人寿保险股份有限公司 Method and equipment for testing application program based on cloud Internet of things technology
CN109344082A (en) * 2018-11-01 2019-02-15 郑州云海信息技术有限公司 A kind of method and system of automatic scratchpad register
CN109783389A (en) * 2019-01-22 2019-05-21 未来电视有限公司 Element control automatic test approach, device and electronic equipment
CN110232022A (en) * 2019-05-21 2019-09-13 深圳壹账通智能科技有限公司 Network environment test method, device and terminal device

Also Published As

Publication number Publication date
KR20140110520A (en) 2014-09-17

Similar Documents

Publication Publication Date Title
WO2014137014A1 (en) Auto-verification method of smart application using terminal automatic execution control
US8819638B2 (en) Application protoyping suite
US20090307763A1 (en) Automated Test Management System and Method
CN110377520B (en) Transaction scenario testing method and device, electronic equipment and readable storage medium
US20120284696A1 (en) Method, Apparatuses and a System for Compilation
CN104765678A (en) Method and device for testing applications on mobile terminal
CN107135390A (en) The automated testing method and system of a kind of TV applications
WO2019035610A1 (en) Game test automation device and method
KR101757149B1 (en) Smart device application autotest method using permission booster
WO2013148265A2 (en) Method and system for testing of mobile web sites
US11604627B2 (en) Systems and methods for on-demand provisioning of robotic process automation environments
CN105607994A (en) Mobile terminal software testing method and system
CN105389263A (en) Method, system and equipment for monitoring application software permissions
CN109308241A (en) Monitor application program launching flow and method, device, terminal device and storage medium
CN107395747B (en) High-expansion method based on STF platform
CN112765028B (en) Android application program testing method and system based on group control mechanism
US20200379742A1 (en) Validation of configurations of factory installations
CN112214405A (en) Software testing method and device, electronic equipment and readable storage medium
KR101123361B1 (en) Sever, method for managing learning environment by network service and computer readable record-medium on which program for executing method thereof
CN112256588A (en) Resource allocation method for application program test, computer readable storage medium and tester
Liu A compatibility testing platform for android multimedia applications
CN112241373A (en) Automatic test method, test device, processor and test system
KR20190036671A (en) IoT Service Application Test Method and System using the Remote Control System for Mobile Terminal
CN115357258B (en) Application deployment method and device, storage medium and electronic device
Göth Testing techniques for mobile device applications

Legal Events

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

Ref document number: 13877100

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 12.02.2016)

122 Ep: pct application non-entry in european phase

Ref document number: 13877100

Country of ref document: EP

Kind code of ref document: A1