KR101199479B1 - Simulating method and apparatus for automatic test of application - Google Patents

Simulating method and apparatus for automatic test of application Download PDF

Info

Publication number
KR101199479B1
KR101199479B1 KR1020080131786A KR20080131786A KR101199479B1 KR 101199479 B1 KR101199479 B1 KR 101199479B1 KR 1020080131786 A KR1020080131786 A KR 1020080131786A KR 20080131786 A KR20080131786 A KR 20080131786A KR 101199479 B1 KR101199479 B1 KR 101199479B1
Authority
KR
South Korea
Prior art keywords
event
application
test scenario
target system
simulator
Prior art date
Application number
KR1020080131786A
Other languages
Korean (ko)
Other versions
KR20100073192A (en
Inventor
이재호
김선자
김도형
류철
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020080131786A priority Critical patent/KR101199479B1/en
Publication of KR20100073192A publication Critical patent/KR20100073192A/en
Application granted granted Critical
Publication of KR101199479B1 publication Critical patent/KR101199479B1/en

Links

Images

Classifications

    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

Landscapes

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

Abstract

응용 테스트 자동화를 위한 시뮬레이션 방법 및 장치가 개시된다. 본 발명은 시뮬레이션을 위한 테스트 시나리오를 선택하는 단계와 테스트 시나리오와 동일한 환경으로 세팅하는 단계와 테스트 시나리오를 재생하는 시스템 사양을 고려하여 상기 테스트 시나리오의 이벤트 발생시간을 조정하는 단계를 포함한다.Disclosed are a simulation method and apparatus for automated application test. The present invention includes selecting a test scenario for simulation, setting the same environment as the test scenario, and adjusting an event occurrence time of the test scenario in consideration of a system specification for reproducing the test scenario.

본 발명에 의하면, 시스템에서 수작업을 통하여 입력 이벤트를 발생시켜서 소프트웨어의 동작을 확인하는 비효율적이고 반복적인 테스트 방법을 따르지 않고, 시뮬레이션을 실시하는 시스템의 시스템 사양을 고려한 다양한 이벤트 조합과 입력 순서를 가진 시나리오를 이용하여 응용 간 스위칭이 빈번히 일어나는 멀티태스킹 환경의 소프트웨어들에 대한 통합 테스트가 가능하다. According to the present invention, a scenario having various event combinations and input sequences in consideration of the system specification of a system for performing a simulation, rather than following an inefficient and repetitive test method of generating input events through a system by hand and confirming the operation of the software. This enables integrated testing of software in a multitasking environment where switching between applications occurs frequently.

멀티 태스킹, 시뮬레이션, 이벤트, 동기화 Multitasking, simulation, event, synchronization

Description

응용 테스트 자동화를 위한 시뮬레이션 방법 및 장치{Simulating method and apparatus for automatic test of application}Simulating method and apparatus for automatic test of application

본 발명은 응용 테스트 자동화를 위한 시뮬레이션 방법 및 장치에 관한 것으로서, 상세하게는 시뮬레이션을 실시하는 시스템의 사양을 고려하여 이벤트 발생시간을 조절하여 시나리오 생성시와 동일한 조건에서 시뮬레이션이 가능하도록 하는 시뮬레이션 방법 및 장치에 관한 것이다. The present invention relates to a simulation method and apparatus for application test automation, and in detail, a simulation method for enabling simulation under the same conditions as when a scenario is generated by adjusting an event occurrence time in consideration of a specification of a system for performing a simulation; Relates to a device.

본 발명은 지식경제부 및 정보통신연구진흥원의 IT신성장동력핵심기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2008-S-022-01, 과제명: 기능 확장형 초고속 랜더러 개발].The present invention is derived from the research conducted as part of the IT new growth engine core technology development project of the Ministry of Knowledge Economy and the Ministry of Information and Communication Research and Development. [Task management number: 2008-S-022-01, Task name: Development of a function-extended ultrafast renderer] .

휴대폰과 같은 모바일 디바이스를 시장에 출시하기 전에 여러 개발업체로부터 개발된 응용프로그램들이 동작 오류가 없는지 통합 테스트를 실시한다. 일반적인 테스트 방법은 응용에서 제공하는 그래픽사용자인터페이스(GUI)에 대해 입력이벤트를 발생시키고, 입력된 이벤트에 대한 응용의 반응을 화면 출력결과를 통해 사람이 직접 확인하는 방식으로 이루어진다. 이러한 수작업에 의한 소프트웨어 점검 은 많은 시간이 소요될 뿐 아니라, 테스트의 정확성 및 다양한 사용자 시나리오(user case)에 대한 오류를 찾는데 비효율적이므로 체계화된 자동화 테스트가 필요하다. Before bringing a mobile device such as a cell phone to the market, integrated tests are conducted to ensure that applications developed by various developers are free of operational errors. The general test method is to generate an input event for the graphical user interface (GUI) provided by the application, and to directly check the application response to the input event through the screen output result. This manual software check is not only time consuming, but also requires systematic automated testing because it is inefficient in finding test accuracy and finding errors for various user scenarios.

자동화 테스트를 위해서는 테스트시나리오 생성과정과 생성된 테스트 시나리오를 재생하는 과정이 요구된다. 시나리오의 생성과정에서는 테스트 항목별로 시뮬레이터 혹은 타겟 시스템을 이용하여 테스트하고자 하는 응용에 입력이벤트를 발생시키고 그 결과값을 확인함과 동시에 발생시킨 이벤트와 결과값을 저장한다. 시나리오를 재생하는 과정에서는 저장된 이벤트를 자동으로 시뮬레이터 또는 타겟 시스템에 주입시키면서 주입된 이벤트에 대한 응용 실행의 결과값을 이전에 저장된 결과값과 비교하는 방식으로 이루어진다. Automated testing requires the creation of test scenarios and replay of the generated test scenarios. In the scenario generation process, input events are generated for the application to be tested by using a simulator or a target system for each test item, and the result values are stored and the generated event and result values are stored. In the scenario replay, the stored event is automatically injected into the simulator or the target system, and the result of the application execution for the injected event is compared with the previously stored result.

한편, 멀티태스킹을 지원하는 제품에서는 여러 개의 응용이 동시에 실행되므로 응용간의 화면 스위칭이 빈번이 발생되어 화면의 최상단에 위치하며 포어그라운드로 수행중인 응용만이 사용자의 입력을 받을 수 있다. 이때, 자동으로 주입되는 이벤트들은 정확하게 테스트하고자 하는 응용에 전달시켜야 한다. 특히, 타겟 시스템에서 시나리오를 생성하고, 시뮬레이터에서 시나리오를 재생하거나, 역으로 시뮬레이터에서 시나리오를 생성하고 타겟 시스템에서 시나리오를 재생하는 경우에 서로간의 컴퓨팅파워 차이로 응용의 수행 속도 및 화면 스위칭에 따른 이벤트 주입시간을 보정해야 한다. On the other hand, in a product that supports multitasking, multiple applications are executed at the same time, so screen switching between applications occurs frequently, and only the application running in the foreground can receive user input. At this time, the events injected automatically should be delivered to the application to be tested accurately. In particular, when the scenario is generated in the target system, the scenario is played in the simulator, or the scenario is generated in the simulator, and the scenario is played in the target system, the performance of the application and the screen switching are different depending on the computing power difference. Injection time should be corrected.

종래의 자동화 테스트 관련 기술은 응용이 순차적으로 실행되고 수행중인 단일응용이 화면전체를 점유하는 환경에서 각 응용에 대한 함수단위기능 혹은 응용프 로그램 인터페이스(API)를 검증하기 위해 외부도구에서 타겟 시스템쪽으로 이벤트를 보내고, 타겟 시스템에서 해당 이벤트에 대한 동작수행 후 결과값을 외부도구로 반환한다. 최종적으로, 외부도구에서는 반환된 결과값과 미리 정의된 결과값을 비교하는 동기화 방식을 갖는다. 그러나, 이러한 방식은 비동기방식의 테스트(사용자 인터렉션이 필요한 GUI응용 테스트)나 응용간 빈번한 화면스위칭이 발생하는 멀티태스킹 환경에서 자동화 테스트 방법을 구현하는데 부적합한 구조이다.Conventional automated test-related techniques use target systems in external tools to verify function-level functions or application interfaces (APIs) for each application in an environment in which applications are executed sequentially and a single application occupies the entire screen. Event is sent to the target system, and the result is returned to the external tool after the action is executed on the target system. Finally, the external tool has a synchronization method that compares the returned result with a predefined result. However, this method is not suitable for implementing an automated test method in an asynchronous test (a GUI application test requiring user interaction) or a multitasking environment where frequent screen switching between applications occurs.

상기 문제점을 해결하기 위하여 본 발명은, 시뮬레이터에서 생성된 시나리오를 타겟 시스템에서 재생시키거나, 역으로 타겟 시스템에서 생성된 시나리오를 시뮬레이터에서 재생할 때 시뮬레이터와 타겟 시스템 간의 컴퓨팅파워에 의해 발생되는 응용의 수행시간과 화면 스위칭 시간의 차이를 보정하여 자동으로 주입되는 이벤트들을 해당 응용에 정확하게 전달시켜 멀티태스킹 환경에서 응용의 통합테스트를 자동화하기 위한 시뮬레이션 방법 및 장치를 제공한다.In order to solve the above problems, the present invention is to perform the application generated by the computing power between the simulator and the target system when playing back the scenario generated in the simulator in the target system or vice versa in the simulator. It provides a simulation method and apparatus to automate integration testing of applications in a multitasking environment by correcting the difference between time and screen switching time, and automatically delivering events that are automatically injected to the application.

상기 목적을 달성하기 위하여 본 발명의 일 측면은, 시뮬레이션을 위한 테스트 시나리오를 선택하는 단계와 테스트 시나리오와 동일한 환경으로 세팅하는 단계와 테스트 시나리오를 재생하는 시스템 사양을 고려하여 상기 테스트 시나리오의 이벤트 발생시간을 조정하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, an aspect of the present invention provides an event occurrence time of the test scenario in consideration of selecting a test scenario for simulation, setting to the same environment as the test scenario, and a system specification for reproducing the test scenario. It characterized in that it comprises a step of adjusting.

또한, 테스트 시나리오에 따라 상기 이벤트를 주입하는 과정에서 현재 포어그라운드로 실행중인 응용 ID와 상기 이벤트를 발생시킨 응용 ID가 동일한 경우에만 상기 이벤트를 주입하는 것을 특징으로 한다.In addition, in the process of injecting the event according to a test scenario, the event is injected only when the application ID currently running in the foreground and the application ID generating the event are the same.

또한, 테스트 시나리오 생성과정에서 저장된 상기 이벤트에 대한 결과값과 상기 테스트 시나리오에 따른 상기 이벤트 주입에 대한 결과값을 실시간으로 비교하는 것을 특징으로 한다.In addition, the result value for the event stored in the test scenario generation process and the result value for the event injection according to the test scenario is characterized in that it is compared in real time.

또한, 이벤트의 주입은 이벤트 재생기가 디바이스 또는 가상 디바이스에 이벤트를 전달하는 것에 의해 구현하는 것을 특징으로 한다.In addition, the injection of events is characterized in that the event regenerator is implemented by delivering the event to a device or virtual device.

또한, 현재 포어그라운드로 실행중인 응용 ID는 윈도우 관리자를 통해 검사하는 것을 특징으로 한다.In addition, the application ID currently running in the foreground may be checked through the window manager.

또한, 테스트 시나리오 생성과정에서 저장되는 정보는 이벤트 발생시간, 이벤트 종류, 이벤트 값, 응용 ID, 응용의 상태정보인 것을 특징으로 한다.In addition, the information stored in the test scenario generation process is characterized in that the event occurrence time, event type, event value, application ID, application status information.

또한, 응용 ID를 이용하여 관심있는 이벤트만 발생하도록 하는 것을 특징으로 한다.In addition, it is characterized in that only the event of interest occurs using the application ID.

또한, 응용에 의해 발생되는 이벤트들은 가상 디바이스 또는 디바이스에 전달되고 , 상기 전달된 이벤트들은 이벤트 감시 데몬에 의해 인식되어 이벤트 저장기에 의해 저장되는 것을 특징으로 한다.In addition, the events generated by the application is delivered to the virtual device or device, characterized in that the delivered events are recognized by the event monitoring daemon and stored by the event store.

상기 목적을 달성하기 위하여 본 발명의 다른 측면은, 테스트 시나리오를 생성하는 시뮬레이터와 생성된 테스트 시나리오를 재생하는 타겟 시스템을 구비하고, 타겟시스템에서 상기 테스트 시나리오를 재생할 때, 상기 타겟시스템의 사양을 고려하여 상기 테스트 시나리오의 이벤트 발생시간을 조정하는 것을 특징으로 한다.In order to achieve the above object, another aspect of the present invention includes a simulator for generating a test scenario and a target system for reproducing the generated test scenario, and when reproducing the test scenario in the target system, the specification of the target system is considered. By adjusting the event occurrence time of the test scenario.

또한, 테스트 시나리오에 따라 상기 이벤트를 주입하는 과정에서 현재 포어그라운드로 실행중인 응용 ID와 상기 이벤트를 발생시킨 응용 ID가 동일한 경우에만 상기 이벤트를 주입하는 것을 특징으로 한다.In addition, in the process of injecting the event according to a test scenario, the event is injected only when the application ID currently running in the foreground and the application ID generating the event are the same.

또한, 타겟시스템에서 상기 테스트 시나리오를 재생하기 전에 먼저 상기 테스트 시나리오와 동일한 환경으로 세팅하는 것을 특징으로 한다.In addition, before reproducing the test scenario in the target system, it is characterized in that the first setting to the same environment as the test scenario.

또한, 시뮬레이터는 상기 타겟 시스템의 파일 시스템 및 디바이스에 대응하여 가상파일 시스템 및 가상 디바이스를 구비하는 것을 특징으로 한다.The simulator may include a virtual file system and a virtual device corresponding to the file system and the device of the target system.

또한, 시뮬레이터와 상기 타겟 시스템은 시리얼 또는 네트워크로 연결되어 상호간에 데이터를 교환하는 것을 특징으로 한다.In addition, the simulator and the target system is characterized in that the data exchange between each other is connected via a serial or network.

또한, 시뮬레이터와 상기 타겟 시스템은 이벤트 관리자를 구비하고, 시뮬레이터는 상기 이벤트 관리자를 통해 상기 테스트 시나리오를 생성하고, 타겟 시스템은 상기 이벤트 관리자를 통해 상기 테스트 시나리오를 재생하는 것을 특징으로 한다.The simulator and the target system may include an event manager, the simulator may generate the test scenario through the event manager, and the target system may reproduce the test scenario through the event manager.

또한, 시뮬레이터는 상기 테스트 시나리오를 생성할 때 이벤트 발생시간, 이벤트 종류, 이벤트 값, 응용 ID, 응용의 상태정보를 저장하는 것을 특징으로 한다.In addition, the simulator stores an event occurrence time, an event type, an event value, an application ID, and application state information when generating the test scenario.

또한, 시뮬레이터에서 상기 테스트 시나리오를 생성할 때 저장된 상기 이벤트에 대한 결과값과 상기 타겟 시스템에서 상기 테스트 시나리오에 따른 상기 이벤트 주입에 대한 결과값을 실시간으로 비교하는 것을 특징으로 한다.In addition, when the test scenario is generated in the simulator, the result value for the stored event and the result value for the event injection according to the test scenario in the target system may be compared in real time.

또한, 시뮬레이터 및 상기 타겟 시스템은 상기 현재 포어그라운드로 실행중인 응용 ID를 저장하거나 검출하는 윈도우 관리자를 포함하는 것을 특징으로 한다.In addition, the simulator and the target system is characterized in that it comprises a window manager for storing or detecting the application ID running in the foreground.

본 발명에 의하면, 시스템에서 수작업을 통하여 입력 이벤트를 발생시켜서 소프트웨어의 동작을 확인하는 비효율적이고 반복적인 테스트 방법을 따르지 않고, 시뮬레이션을 실시하는 시스템의 시스템 사양을 고려한 다양한 이벤트 조합과 입력 순서를 가진 시나리오를 이용하여 응용 간 스위칭이 빈번히 일어나는 멀티태스킹 환경의 소프트웨어들에 대한 통합 테스트가 가능하다. According to the present invention, a scenario having various event combinations and input sequences in consideration of the system specification of a system for performing a simulation, rather than following an inefficient and repetitive test method of generating input events through a system by hand and confirming the operation of the software. This enables integrated testing of software in a multitasking environment where switching between applications occurs frequently.

이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intentions or customs of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

도 1은 본 발명에 의한 시뮬레이션 장치의 시스템의 구조를 도시한 것이다. 도 1을 참조하면, 본 발명에 의한 시뮬레이션 장치는 시뮬레이터(110)와 타켓 시스템(120)을 포함한다. 시뮬레이터(110)와 타겟 시스템(120)은 시리얼 또는 네트워크 로 연결되어 상호 데이터를 교환할 수 있다. 시뮬레이터(110)는 타겟 시스템(120)의 파일시스템(123)과 디바이스(126)에 대응하여 가상파일시스템(113)과 가상디바이스(116)를 갖는다. 또한, 시뮬레이터(110)와 타겟 시스템(120)의 파일시스템(123)과 가상파일시스템(113)을 이루는 소프트웨어 스택과 동작방식은 동일하며, 동작과정에서 발생되는 이벤트는 저장 및 재생이 가능하도록 이벤트 관리자(115, 125)를 통해 테스트 시나리오를 생성하고, 생생된 시나리오를 재생할 수 있다. 시뮬레이터(110)와 타겟 시스템(120)에서 응용이 실행될 때 응용의 시작 및 종료에 대한 응용의 상태정보를 이벤트 감시 데몬(114, 124)에게 알림으로써 관심있는 이벤트를 이벤트 관리자(115, 125)를 통해 저장할 수 있다. 만약, 특정 응용 ID를 이벤트 감시데몬(114, 124)에 미리 등록 시켜두면 해당 응용에 대해 발생한 이벤트만 이벤트 관리자(115, 125)를 통해 저장하는 것도 가능하다. 윈도우 관리자(112, 122)는 실행 중인 응용들 사용하는 윈도우창 들을 응용의 실행 상태에 따라 관리하는 기능을 갖는다. 1 shows the structure of a system of a simulation apparatus according to the present invention. Referring to FIG. 1, the simulation apparatus according to the present invention includes a simulator 110 and a target system 120. The simulator 110 and the target system 120 may be connected via serial or network to exchange data with each other. The simulator 110 has a virtual file system 113 and a virtual device 116 corresponding to the file system 123 and the device 126 of the target system 120. In addition, the software stack constituting the file system 123 and the virtual file system 113 of the simulator 110, the target system 120 and the virtual file system 113 is the same operation, the events generated during the operation is to be stored and replayed events The managers 115 and 125 may generate test scenarios and play back the generated scenarios. When the application is executed on the simulator 110 and the target system 120, the event monitoring daemons 114 and 124 inform the event monitoring daemons 114 and 124 of the application status information about the start and end of the application. Can be stored through. If a specific application ID is registered in advance in the event monitoring daemons 114 and 124, only events generated for the corresponding application may be stored through the event managers 115 and 125. The window managers 112 and 122 have a function of managing window windows used by running applications according to the execution state of the application.

도 2 는 멀티태스킹환경에서 응용들이 실행될 때, 응용 상태에 따라 윈도우 스택상의 위치를 도시한 것이다. 도 2를 참조하면, 응용A(210)는 포어그라운드로 실행 중이며, 사용자로부터 입력 이벤트를 받을 수 있는 상태이다. 응용B(220)는 화면 스위칭에 의해 백그라운드로 실행중인 상태를 나타내며, 포어그라운드로 실행중인 응용 A(210)에 의해 가려지지 않은 부분에 대해서는 화면 업데이트가 이루어질 수 있으나 사용자로부터 입력 이벤트를 받을 수 없는 상태이다. 응용C(230)는 실행되고 있으나, 화면에 출력을 하지 않는 상태로서 사용자로부터 입력 이벤트를 받을 수 없는 상태이다. 이러한 상황에서는 응용 A(210)에 대해서만 사용자로부터 입력을 받을 수 있으므로, 시나리오 생성과정에서 사용자 입력을 저장하거나 시나리오 재생과정에서 사용자 입력테스트가 가능하다. 만약, 멀티태스킹 환경에서 응용간에 화면 전환이 빈번히 발생한다면 자동으로 주입되는 이벤트들은, 원래 이벤트가 발생했던 응용들이 포어그라운드로 실행될 때 전달되어야 한다. 2 illustrates the location on the window stack according to the application state when applications are executed in a multitasking environment. Referring to FIG. 2, the application A 210 is running in the foreground and can receive an input event from the user. The application B 220 indicates a state running in the background by screen switching, and the screen update may be performed on the portion not covered by the application A 210 running in the foreground, but the user may not receive an input event from the user. It is a state. The application C 230 is running, but does not output to the screen and cannot receive an input event from the user. In this situation, since the user can receive input from the application A 210 only, the user input may be stored in the scenario generation process or the user input test may be performed during the scenario reproduction process. If screen switching occurs frequently between applications in a multitasking environment, events that are automatically injected should be delivered when the applications that originally triggered the event run in the foreground.

도 3 은 타겟 시스템 또는 시뮬레이터에서 시나리오를 생성하거나 재생하기 위해 필요한 모듈과 모듈간 인터페이스를 도시한 것이다. 또한 도 5는 본 발명에 의한 자동화 테스트를 위해 이벤트를 저장하여 시나리오를 만드는 과정을 도시한 것이다. 도 3 및 도 5를 참조하면, 테스트시나리오를 생성하는 시점에 초기환경 및 테스트 대상이 되는 응용 ID를 설정한다(500, 510 단계). 이는 시나리오 재생과정에서 이벤트를 자동으로 주입하기 전에 테스트 환경을 초기화하고 테스트대상이 되는 응용들만 선택하여 재생시킬 때 필요한 정보이다. 이벤트 발생에 의해 새로운 응용이 시작될 때(520, 530단계), 윈도우 관리자(330)는 해당 응용이 포어그라운드로 실행중임을 인식한다(540, 550단계). 응용에 발생되는 이벤트들은 가상 디바이스 또는 디바이스(320)에 전달되고, 이들은 이벤트 감시데몬(310)에 의해 인식되어 이벤트 관리자(340)의 이벤트저장기(341)에 의해 저장된다(560단계). 시나리오 생성이 완료될 때까지 520단계부터 560단계까지의 과정이 반복된다(570단계). 3 illustrates a module-to-module interface required for creating or playing back a scenario in a target system or simulator. In addition, Figure 5 illustrates the process of creating a scenario by storing the event for the automated test according to the present invention. 3 and 5, an initial environment and an application ID which is a test target are set at the time of generating the test scenario (steps 500 and 510). This is the information needed to initialize the test environment and select and play back only the applications to be tested before automatically injecting events during scenario playback. When a new application is started due to an event (steps 520 and 530), the window manager 330 recognizes that the application is running in the foreground (steps 540 and 550). Events occurring in the application are delivered to the virtual device or device 320, and they are recognized by the event monitoring daemon 310 and stored by the event store 341 of the event manager 340 (step 560). The process from step 520 to step 560 is repeated until the scenario generation is completed (step 570).

도 4는 시나리오 생성과정에서 저장되는 정보의 구조를 도시한 것이다. 도 4를 참조하면, 각 필드에는 이벤트 발생시간(410), 이벤트 타입(440), 이벤트 값(450) 뿐만 아니라 응용 ID(420)와 응용의 상태 정보(430)가 저장된다. 옵션 필 드(460)는 특정 응용이 실행되는 과정에서 응용이 출력하는 결과값을 저장한다. 이 결과값은 시나리오 재생과정에서 자동으로 주입된 이벤트에 의해 실행된 결과값과 비교하는데 사용된다. 이벤트 발생시간은 시나리오 재생과정에서 이벤트 발생간격을 일정한 비율로 단축시키거나 연장시키는데 사용된다. 도 4에 표시된 정보들은 기본적인 정보를 표현하고 있는 것이며, 이벤트를 발생하는 응용 ID 구분 및 자동화 테스트를 위한 외부도구를 지원하기 위해 다른 정보들을 추가 정의하여 사용할 수 있다.4 illustrates a structure of information stored in a scenario generation process. Referring to FIG. 4, each field stores an application occurrence time 410, an event type 440, an event value 450, as well as an application ID 420 and application state information 430. The option field 460 stores the output value of the application while the specific application is executed. This result is used to compare with the result executed by the event that is automatically injected during scenario playback. The event occurrence time is used to shorten or extend the event occurrence interval at a predetermined rate during scenario playback. The information shown in FIG. 4 represents basic information, and other information may be additionally defined and used to support an external tool for application ID identification and automated test that generates an event.

도 6은 자동화 테스트를 위해 생성된 시나리오에 도 4의 구조로 저장된 정보들을 자동으로 주입하여 시나리오를 재생하는 과정을 도시한 것이다. 도 3및 도 6을 참조하면, 테스트시스템(시뮬레이터 또는 타겟 시스템)에 이벤트를 주입시키기 위해 이벤트관리자(340)의 이벤트재생기(342)가 시리얼 또는 이더넷을 통해 연결된다(600 단계). 재생하고자하는 테스트 시나리오를 선택하고(610단계), 시나리오를 생성했을 시점의 환경으로 세팅한다(620단계). 이때 이벤트 발생시간과 시나리오를 재생하는 시스템 사양을 고려하여 이벤트의 발생간격을 조정하거나 테스트하고자 하는 응용들을 설정할 수 있다(630단계). 자동으로 이벤트가 주입되는 과정에서 이벤트 재생기(342)가 디바이스 또는 가상디바이스(320)로 이벤트를 전달하기 전에 윈도우 관리자(330)를 통해 현재 포어그라운드로 실행중인 응용 ID를 구해 이벤트를 발생했던 응용 ID와 동일한지 여부를 검사한다(640, 650, 660단계). 검사 결과, 응용 ID가 일치할 경우에만 이벤트를 디바이스 또는 가상디바이스(320)로 전달하여 처리한다(670단계). 이벤트 자동 주입과정에서 빠른 화면 스위칭으로 인한 테스트 동기화를 보다 정확하게 달성하기 위해 시나리오 생성과정에서 저장해둔 옵션필드의 결과값이 존재하는 경우, 이를 이용하여 시나리오를 재생하면서 발생되는 결과값과 실시간으로 비교하면서 자동화 테스트가 진행된다. 만약, 모든 테스트 시나리오 재생과정이 끝나는 동안 결과값이 완전히 일치하면 테스트가 성공적으로 이루어진 것을 의미한다. 만약, 테스트 시나리오 재생과정에서 결과값이 일치하지 않으면 소프트웨어의 논리적 동작에 문제가 있음을 의미한다. 위의 과정을 이벤트가 주입 완료될 때까지 반복한다(680단계).FIG. 6 illustrates a process of reproducing a scenario by automatically injecting information stored in the structure of FIG. 4 into a scenario generated for an automated test. 3 and 6, an event player 342 of the event manager 340 is connected through serial or Ethernet (step 600) to inject an event into a test system (simulator or target system). The test scenario to be reproduced is selected (step 610), and the environment is set when the scenario is created (step 620). At this time, in consideration of the event occurrence time and the system specification for reproducing the scenario, the application to adjust or test the occurrence interval of the event may be set (step 630). In the process of automatically injecting the event, before the event player 342 delivers the event to the device or the virtual device 320, the application ID that has generated the event by obtaining the application ID currently running in the foreground through the window manager 330. Check whether it is equal to (step 640, 650, 660). As a result of the inspection, the event is delivered to the device or the virtual device 320 only when the application ID matches (step 670). In the event auto-injection process, if the result value of the option field saved in the scenario creation process exists in order to achieve more accurate test synchronization due to the fast screen switching, it is used to compare the result value generated while playing the scenario in real time. An automated test is in progress. If the test results are completely matched during the replay of all test scenarios, the test is successful. If the results do not match during test scenario playback, it means that there is a problem with the logical operation of the software. The above process is repeated until the event is completed (step 680).

이상과 같이 본 발명의 이해를 위하여 그 실시예를 기술하였으나, 당업자라면 알 수 있듯이, 본 발명은 본 명세서에서 기술된 특정 실시예에 한정되는 것이 아니라, 본 발명의 범주를 벗어나지 않는 범위 내에서 다양하게 변형, 변경 및 대체될 수 있다. 예를 들어, 문자 대신 기타 LCD 등 디스플레이에 의해 표시될 수 있는 그림, 영상 등에도 본 발명의 기술이 적용될 수 있다. 따라서, 본 발명의 진정한 사상 및 범주에 속하는 모든 변형 및 변경을 특허청구범위에 의하여 모두 포괄하고자 한다.Although the embodiments have been described for the understanding of the present invention as described above, it will be understood by those skilled in the art, the present invention is not limited to the specific embodiments described herein, but variously without departing from the scope of the present invention. May be modified, changed and replaced. For example, the technique of the present invention may be applied to a picture, an image, etc., which may be displayed by a display such as an LCD instead of a character. Therefore, it is intended that the present invention cover all modifications and variations that fall within the true spirit and scope of the present invention.

도 1은 본 발명에 의한 시뮬레이션 장치의 시스템의 구조를 도시한 것이다.1 shows the structure of a system of a simulation apparatus according to the present invention.

도 2 는 멀티태스킹환경에서 응용들이 실행될 때, 응용 상태에 따라 윈도우 스택상의 위치를 도시한 것이다.2 illustrates the location on the window stack according to the application state when applications are executed in a multitasking environment.

도 3 은 타겟 시스템 또는 시뮬레이터에서 시나리오를 생성하거나 재생하기 위해 필요한 모듈과 모듈간 인터페이스를 도시한 것이다. 3 illustrates a module-to-module interface required for creating or playing back a scenario in a target system or simulator.

도 4는 시나리오 생성과정에서 저장되는 정보의 구조를 도시한 것이다.4 illustrates a structure of information stored in a scenario generation process.

도 5는 본 발명에 의한 자동화 테스트를 위해 이벤트를 저장하여 시나리오를 만드는 과정을 도시한 것이다.5 illustrates a process of creating a scenario by storing an event for an automated test according to the present invention.

도 6은 자동화 테스트를 위해 생성된 시나리오에 도 4의 구조로 저장된 정보들을 자동으로 주입하여 시나리오를 재생하는 과정을 도시한 것이다.FIG. 6 illustrates a process of reproducing a scenario by automatically injecting information stored in the structure of FIG. 4 into a scenario generated for an automated test.

Claims (18)

시뮬레이터와 타겟 시스템을 구비하는 시뮬레이션 장치의 시뮬레이션 방법에 있어서,In the simulation method of the simulation apparatus provided with a simulator and a target system, 상기 시뮬레이션 장치의 상기 시뮬레이터가 시뮬레이션을 위한 테스트 시나리오를 선택하는 단계;Selecting, by the simulator of the simulation device, a test scenario for simulation; 상기 시뮬레이션 장치의 상기 타겟시스템이 상기 테스트 시나리오와 동일한 환경으로 세팅하는 단계; 및Setting the target system of the simulation apparatus to the same environment as the test scenario; And 상기 테스트 시나리오를 재생하는 시스템 사양을 고려하여 상기 테스트 시나리오의 이벤트 발생시간을 조정하는 단계를 포함하고,Adjusting an event occurrence time of the test scenario in consideration of a system specification for playing the test scenario; 상기 테스트 시나리오의 생성과정에서 저장되는 정보는 이벤트 발생시간, 이벤트 종류, 이벤트 값, 응용 ID, 응용의 상태정보인 것을 특징으로 하는 시뮬레이션 방법.Information stored in the process of generating the test scenario is a simulation method, characterized in that the event occurrence time, event type, event value, application ID, application status information. 제 1 항에 있어서,The method of claim 1, 상기 테스트 시나리오에 따라 상기 이벤트를 주입하는 과정에서 현재 포어그라운드로 실행중인 응용 ID와 상기 이벤트를 발생시킨 응용 ID가 동일한 경우에만 상기 이벤트를 주입하는 것을 특징으로 하는 시뮬레이션 방법.And injecting the event only when the application ID currently running in the foreground and the application ID generating the event are the same in the process of injecting the event according to the test scenario. 제 2 항에 있어서,The method of claim 2, 상기 테스트 시나리오 생성과정에서 저장된 상기 이벤트에 대한 결과값과 상기 테스트 시나리오에 따른 상기 이벤트 주입에 대한 결과값을 실시간으로 비교하는 것을 특징으로 하는 시뮬레이션 방법. And a result value for the event injection stored in the test scenario generation process and a result value for the event injection according to the test scenario in real time. 제 2 항에 있어서,The method of claim 2, 상기 이벤트의 주입은 이벤트 재생기가 상기 타겟 시스템에 장착된 디바이스 또는 가상 디바이스에 이벤트를 전달하는 것에 의해 구현하는 것을 특징으로 하는 시뮬레이션 방법.And the injection of the event is implemented by an event player delivering the event to a device or a virtual device mounted to the target system. 제 2 항에 있어서,The method of claim 2, 상기 현재 포어그라운드로 실행중인 응용 ID는 윈도우 관리자를 통해 검사하는 것을 특징으로 하는 시뮬레이션 방법.The application ID currently running in the foreground, characterized in that for checking through a window manager. 삭제delete 제 1 항에 있어서,The method of claim 1, 상기 응용 ID를 이용하여 관심있는 이벤트만 발생하도록 하는 것을 특징으로 하는 시뮬레이션 방법.Simulation method, characterized in that to generate only the event of interest using the application ID. 제 1 항에 있어서,The method of claim 1, 상기 응용에 의해 발생되는 이벤트들은 가상 디바이스 또는 디바이스에 전달되고, 상기 전달된 이벤트들은 이벤트 감시 데몬에 의해 인식되어 이벤트 저장기에 의해 저장되는 것을 특징으로 하는 시뮬레이션 방법. The events generated by the application are delivered to a virtual device or device, the delivered events are recognized by the event monitoring daemon and stored by the event store. 테스트 시나리오를 생성하는 시뮬레이터와 Simulator to generate test scenarios 상기 생성된 테스트 시나리오를 재생하는 타겟 시스템을 구비하고,And a target system for reproducing the generated test scenarios, 상기 타겟시스템에서 상기 테스트 시나리오를 재생할 때, 상기 타겟시스템의 사양을 고려하여 상기 테스트 시나리오의 이벤트 발생시간을 조정하고,When reproducing the test scenario in the target system, adjusting the event occurrence time of the test scenario in consideration of the specification of the target system, 상기 시뮬레이터는 상기 테스트 시나리오를 생성할 때 이벤트 발생시간, 이벤트 종류, 이벤트 값, 응용 ID, 응용의 상태정보를 저장하는 것을 특징으로 하는 시뮬레이션 장치.The simulator may be configured to store an event occurrence time, an event type, an event value, an application ID, and application state information when generating the test scenario. 제 9 항에 있어서,The method of claim 9, 상기 테스트 시나리오에 따라 상기 이벤트를 주입하는 과정에서 현재 포어그라운드로 실행중인 응용 ID와 상기 이벤트를 발생시킨 응용 ID가 동일한 경우에만 상기 이벤트를 주입하는 것을 특징으로 하는 시뮬레이션 장치.And injecting the event only when the application ID currently running in the foreground and the application ID generating the event are the same in the process of injecting the event according to the test scenario. 제 9항에 있어서,10. The method of claim 9, 상기 타겟시스템은 상기 테스트 시나리오를 재생하기 전에 먼저 상기 테스트 시나리오와 동일한 환경으로 세팅하는 것을 특징으로 하는 시뮬레이션 장치.And the target system first sets the same environment as the test scenario before reproducing the test scenario. 제 9 항에 있어서,The method of claim 9, 상기 시뮬레이터는 상기 타겟 시스템의 파일 시스템 및 디바이스에 대응하여 가상파일 시스템 및 가상 디바이스를 구비하는 것을 특징으로 하는 시뮬레이션 장치.The simulator comprises a virtual file system and a virtual device corresponding to the file system and the device of the target system. 제 9 항에 있어서,The method of claim 9, 상기 시뮬레이터와 상기 타겟 시스템은 시리얼 또는 네트워크로 연결되어 상호간에 데이터를 교환하는 것을 특징으로 하는 시뮬레이션 장치.The simulator and the target system is connected to the serial or network is a simulation device, characterized in that for exchanging data between each other. 제 9 항에 있어서,The method of claim 9, 상기 시뮬레이터와 상기 타겟 시스템은 이벤트 관리자를 구비하고,The simulator and the target system have an event manager, 상기 시뮬레이터는 상기 이벤트 관리자를 통해 상기 테스트 시나리오를 생성하고,The simulator generates the test scenario through the event manager, 상기 타겟 시스템은 상기 이벤트 관리자를 통해 상기 테스트 시나리오를 재생하는 것을 특징으로 하는 시뮬레이션 장치.And the target system reproduces the test scenario through the event manager. 삭제delete 제 9 항에 있어서,The method of claim 9, 상기 시뮬레이터에서 상기 테스트 시나리오를 생성할 때 저장된 상기 이벤트에 대한 결과값과 상기 타겟 시스템에서 상기 테스트 시나리오에 따른 상기 이벤트 주입에 대한 결과값을 실시간으로 비교하는 것을 특징으로 하는 시뮬레이션 장치. And a result value for the event injection according to the test scenario in the target system when the test scenario is generated in the simulator in real time. 제 10 항에 있어서,11. The method of claim 10, 상기 시뮬레이터 및 상기 타겟 시스템은 상기 현재 포어그라운드로 실행중인 응용 ID를 저장하거나 검출하는 윈도우 관리자를 포함하는 것을 특징으로 하는 시뮬레이션 장치.The simulator and the target system includes a window manager for storing or detecting the application ID currently running in the foreground. 제1항 내지 제5항, 제7항, 제8항 중 어느 한 항에 기재된 방법을 실행시킬 수 있는 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program capable of executing the method according to any one of claims 1 to 5, 7 and 8.
KR1020080131786A 2008-12-22 2008-12-22 Simulating method and apparatus for automatic test of application KR101199479B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080131786A KR101199479B1 (en) 2008-12-22 2008-12-22 Simulating method and apparatus for automatic test of application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080131786A KR101199479B1 (en) 2008-12-22 2008-12-22 Simulating method and apparatus for automatic test of application

Publications (2)

Publication Number Publication Date
KR20100073192A KR20100073192A (en) 2010-07-01
KR101199479B1 true KR101199479B1 (en) 2012-11-09

Family

ID=42636184

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080131786A KR101199479B1 (en) 2008-12-22 2008-12-22 Simulating method and apparatus for automatic test of application

Country Status (1)

Country Link
KR (1) KR101199479B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006001A (en) 2001-06-20 2003-01-10 Hitachi Ltd Test device of job processing software
JP2003067439A (en) 2001-08-30 2003-03-07 Matsushita Electric Ind Co Ltd Method for system simulation
JP2007334812A (en) 2006-06-19 2007-12-27 Nec Electronics Corp Simulator and simulation method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003006001A (en) 2001-06-20 2003-01-10 Hitachi Ltd Test device of job processing software
JP2003067439A (en) 2001-08-30 2003-03-07 Matsushita Electric Ind Co Ltd Method for system simulation
JP2007334812A (en) 2006-06-19 2007-12-27 Nec Electronics Corp Simulator and simulation method

Also Published As

Publication number Publication date
KR20100073192A (en) 2010-07-01

Similar Documents

Publication Publication Date Title
US9465718B2 (en) Filter generation for load testing managed environments
US8627296B1 (en) Unified unit and integration test with automatic mock creation
CN107391333B (en) OSD disk fault testing method and system
US10037254B2 (en) Device, method and program for performing system testing
US10162742B2 (en) System and method for end to end performance response time measurement based on graphic recognition
KR100985749B1 (en) Automatic-testing system and method for embedded system software and test scenario composing method
KR20140053542A (en) Automatic testing apparatus for embedded software, automatic testing method thereof and test scenario composing method
CN112260885B (en) Industrial control protocol automatic test method, system, device and readable storage medium
CN102999419A (en) Android test incident record and playback methods and device
KR101460860B1 (en) GUI Test apparatus using test scenario model based on states and the method thereof
US8997048B1 (en) Method and apparatus for profiling a virtual machine
US9852048B2 (en) Simulating process variable changes during process runtime
US8863095B2 (en) Recording and playback of system interactions in different system environments
US20140282426A1 (en) Divide and conquer approach to scenario timeline activity attribution
KR101199479B1 (en) Simulating method and apparatus for automatic test of application
CN110806981A (en) Application program testing method, device, equipment and storage medium
CN116665752B (en) UFS steady-state performance test method and device, readable storage medium and electronic equipment
CN116431518B (en) Multi-level and multi-mode software fault injection method based on simulation platform
CN115729557B (en) Script processing method and device
US8898636B1 (en) Method and apparatus for testing an application running in a virtual machine
Dev UI Test Automation in Symbian Camera Software Development
CN116521555A (en) Recording method, playback method, device and computing equipment for test cases
CN117076285A (en) Test method and device
CN117573550A (en) Test method and device for automatically detecting multi-tenant system string library
CN109840204A (en) A kind of application test systems and method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150817

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161028

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181022

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191115

Year of fee payment: 8