KR101199479B1 - Simulating method and apparatus for automatic test of application - Google Patents
Simulating method and apparatus for automatic test of application Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods 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
본 발명은 응용 테스트 자동화를 위한 시뮬레이션 방법 및 장치에 관한 것으로서, 상세하게는 시뮬레이션을 실시하는 시스템의 사양을 고려하여 이벤트 발생시간을 조절하여 시나리오 생성시와 동일한 조건에서 시뮬레이션이 가능하도록 하는 시뮬레이션 방법 및 장치에 관한 것이다. 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
도 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
도 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 (
도 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
도 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
이상과 같이 본 발명의 이해를 위하여 그 실시예를 기술하였으나, 당업자라면 알 수 있듯이, 본 발명은 본 명세서에서 기술된 특정 실시예에 한정되는 것이 아니라, 본 발명의 범주를 벗어나지 않는 범위 내에서 다양하게 변형, 변경 및 대체될 수 있다. 예를 들어, 문자 대신 기타 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)
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)
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 |
-
2008
- 2008-12-22 KR KR1020080131786A patent/KR101199479B1/en active IP Right Grant
Patent Citations (3)
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 |