KR20100042825A - Method and system for performing automatic test in embedded platform - Google Patents

Method and system for performing automatic test in embedded platform Download PDF

Info

Publication number
KR20100042825A
KR20100042825A KR1020080101992A KR20080101992A KR20100042825A KR 20100042825 A KR20100042825 A KR 20100042825A KR 1020080101992 A KR1020080101992 A KR 1020080101992A KR 20080101992 A KR20080101992 A KR 20080101992A KR 20100042825 A KR20100042825 A KR 20100042825A
Authority
KR
South Korea
Prior art keywords
event
embedded platform
state
test
file
Prior art date
Application number
KR1020080101992A
Other languages
Korean (ko)
Other versions
KR100992622B1 (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 KR1020080101992A priority Critical patent/KR100992622B1/en
Publication of KR20100042825A publication Critical patent/KR20100042825A/en
Application granted granted Critical
Publication of KR100992622B1 publication Critical patent/KR100992622B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for 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/3696Methods or tools to render software testable

Landscapes

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

Abstract

PURPOSE: A method and a system for performing an automatic test in an embedded platform are provided to stabilize a test and reduce a test cost by using the storage and recovery of an embedded platform state. CONSTITUTION: An RTOS(Real Time Operating System)(200) processes an event inputted in a PC emulator or a hardware device based on priority. An embedded platform(300) provides an API(Application Programming Interface) by which an application program can be executed. An event monitor(400) stores the previous state of the embedded platform and performs a test. When performing a reproduction test, the event monitor performs the test by recovering the embedded platform into the previous state.

Description

임베디드 플랫폼에서 테스트 자동화 방법 및 시스템{Method and system for performing automatic test in embedded platform}Method and system for performing automatic test in embedded platform

본 발명은 임베디드 플랫폼을 이용하는 시스템에서 테스트 자동화 방법에 관한 것으로, 특히 임베디드 플랫폼을 이용하여 개발하는 응용프로그램을 자동으로 테스트하여 응용프로그램의 오류를 최소화시킬 수 있도록 도와주는 테스트 자동화 방법 및 시스템에 관한 것이다.The present invention relates to a test automation method in a system using an embedded platform, and more particularly to a test automation method and system that helps to minimize the error of the application by automatically testing the application developed using the embedded platform. .

임베디드 시스템(embedded system)은 시스템을 동작시키는 소프트웨어를 하드웨어에 내장하여 특수한 기능만을 가진 시스템을 말하며, 개인용 컴퓨터와는 달리 특정한 요구사항을 가지고 있으며, 미리 정의된 작업(task)만을 수행한다. 즉, PC가 하드디스크와 같은 대용량 저장장치에 운영체제를 내장하고 있는 것과 달리 임베디드 시스템은 OS와 응용프로그램들이 ROM(flash)에 이미지 형태로 저장되어 있다가 부팅과 동시에 RAM 디스크를 만든 후, RAM 디스크 상에 OS와 응용프로그램들이 구동되는 시스템이다. An embedded system refers to a system having only special functions by embedding software for operating the system in hardware. Unlike an personal computer, an embedded system has specific requirements and performs only predefined tasks. In other words, unlike PCs that have built-in operating systems in mass storage devices, such as hard disks, embedded systems store operating systems and applications in the form of images in ROM (flash) and then create RAM disks at boot-up. A system on which the OS and applications run.

이처럼, 임베디드 시스템은 응용프로그램과 아주 밀접하게 관련이 되어 있고, 시스템의 변화에 따라 크게 달라진다. 또한 응용프로그램의 오류를 찾아내는 테스트 작업도 빈번히 발생하는데, 프로그램의 업데이트가 용이하지 않아 처음부터 안정적으로 프로그램을 개발하지 않는다면 추후 큰 비용 증가로 이어지며, 또한 신뢰성을 회복하기 매우 힘들어질 수도 있다.As such, embedded systems are closely related to the application and vary greatly as the system changes. In addition, the test work to find the error of the application frequently occurs. If the program is not easy to update, if the program is not developed reliably from the beginning, it may lead to a large cost increase later, and it may be very difficult to restore the reliability.

따라서 임베디드 시스템은 개발 초기부터 매우 신중하게 프로그램이 개발되어야 하지만 테스트가 용이하지 않아 많은 테스트가 이루어지지 않으며, 개발 후 많은 테스트 인력이 투입되지만 시간이나 비용의 문제로 인하여 충분한 테스트가 이루어지지 않는 경우가 많다.Therefore, embedded system needs to be developed very carefully from the beginning of development, but it is not easy to test, so many tests are not carried out, and many test personnel are invested after development, but there are not enough tests due to time or cost problems. many.

일반적인 테스트 방법은 코드자체가 무결한지 테스트하기 위한 유닛 테스트(unit test) 기반의 화이트 박스 테스트(white box test) 방법과, 프로그램의 개발 내용을 이해하지 않고 스펙과 결과물만을 비교하는 블랙 박스 테스트(black box test) 방법이 있다.Common test methods include unit box-based white box tests to test the integrity of the code itself, and black box tests that compare specifications and results without understanding the development of the program. box test).

화이트 박스 테스트는 개발자가 개발 과정에서 테스트 코드를 프로그램에 주입하여 개발 중 코드가 안정적인지 지속적으로 테스트하는 방법을 말하며, 블랙 박스 테스트는 결과물을 인수받은 테스터가 입력값과 그 출력물을 비교함으로써 오류가 있는지 없는지 비교하는 방법이다.White box testing is a way for a developer to inject test code into a program during development to continuously test whether the code is stable during development. In a black box test, a tester who accepts a result compares an input with its output, It's a way to compare whether or not it is.

임베디드 시스템에서는 주로 전문 테스터가 만들어놓은 테스트 시나리오에 따라 반복적인 블랙 박스 테스트를 수행하며, 응용프로그램의 수나 복잡도에 따라 매우 많은 양의 테스트 시나리오를 갖게 된다. 이에 따라, 테스트 인력의 수나 시간이 기하급수적으로 증가하게 된다. 이를 해결하기 위해 테스트 자동화 방법이 이용된다. Embedded systems often perform repetitive black box tests based on test scenarios created by professional testers, and have very large test scenarios depending on the number and complexity of applications. As a result, the number or time of test personnel increases exponentially. Test automation methods are used to solve this problem.

테스트 자동화란 사용자가 직접 키(key) 입력이나 폴더 개폐 같이 수동으로 입력하여 테스트하던 방식을 자동화하여 한번 입력된 동작을 반복적으로 테스트 할 수 있도록 도와주는 방법이다. 이때 입력된 동작도 편집이 가능하며 동작 이외의 명령을 수행하여 임베디드 플랫폼이 여러 가지 명령을 수행하도록 명령을 내릴 수도 있다.Test automation is a method that helps users repeatedly test the input operation by automating the test method by manually inputting a key such as a key input or folder opening and closing. At this time, the input operation can be edited, and the embedded platform can be executed by executing commands other than the operation.

그러나 테스트 자동화 방법을 이용하는 경우는 임베디드 시스템의 상태는 적용하지 않고 단지 입력 이벤트만을 일정하게 입력시켜 테스트 하는 방식으로 이루어지고 있기 때문에 임베디드 시스템의 상태에 따라 서로 다른 동작을 보일 수 있어 정확한 정보의 검출이 이루어지지 못하고 있다. However, in the case of using the test automation method, since the state of the embedded system is not applied but only the input event is constantly input, the test can be performed differently according to the state of the embedded system. It's not working.

또한 종래의 테스트 진행 결과는 테스터가 직접 임베디드 시스템을 테스트하면서, 테스터가 직접 눈으로 확인하여 오류가 발생한 시점을 파악하고, 그 오류의 원인 등을 생각해서 디버깅을 수행하고 있는데, 이에 따라 오류 발생에 따른 정확한 정보를 검출할 수 없으며, 또한 테스터의 능력에 따라 테스터 결과가 달라지는 결과가 초래되어 디버깅 효율이 저하되는 문제가 있다.In addition, the test results of the conventional test, while the tester directly tests the embedded system, the tester checks with the eyes directly to determine when the error occurred, and the debugging is performed in consideration of the cause of the error. It is not possible to detect the accurate information according to the test results, and also the result of the tester results are different, there is a problem that the debugging efficiency is lowered.

따라서 본 발명은 상기와 같은 문제점을 해결하기 위해 안출한 것으로서, 임베디드 플랫폼 하에서 만들어진 결과물의 자동화 테스트 시에 임베디드 플랫폼 상태의 저장 및 복구를 통해 좀 더 안정적이면서 테스팅에 필요한 시간과 인력을 줄여 비용을 절감할 수 있는 임베디드 플랫폼에서 테스트 자동화 방법 및 시스템을 제공하는데 그 목적이 있다.Accordingly, the present invention has been made to solve the above problems, and by reducing the time and manpower required for testing while reducing the cost and manpower required for the test by automated storage and recovery of the state of the embedded platform in the automated test of the result made on the embedded platform The purpose is to provide a test automation method and system in an embedded platform.

본 발명의 다른 목적은 임베디드 플랫폼에 평가 시스템을 내장하여 테스트 후에 남은 결과 및 테스트 내용을 정확한 기록으로 남겨 개발자와 테스터간의 의사소통이 명확해 지며, 테스트를 원격에서 진행하는 경우에도 복잡한 테스트를 원활하게 해줄 수 있도록 하는 임베디드 플랫폼에서 테스트 자동화 방법 및 시스템을 제공하는데 있다.Another object of the present invention is to embed the evaluation system in the embedded platform to leave accurate results after the test and the test content to the communication between the developer and the tester becomes clear, even when the test is carried out remotely, the complex test smoothly To provide a test automation method and system in an embedded platform that can be used.

본 발명의 또 다른 목적은 임베디드 플랫폼이 가지고 있는 시스템 독립적인 특징을 이용하여 임베디드 시스템을 PC 상에서 에뮬레이션하여 테스트를 진행하고 그 테스트 시나리오를 임베디드 시스템에서도 동일하게 테스트 할 수 있어 문제의 재현 및 해결에 도움을 줄 수 있는 임베디드 플랫폼에서 테스트 자동화 방법 및 시스템을 제공하는데 있다.Another object of the present invention is to emulate the embedded system on the PC using the system-independent features of the embedded platform to test and test the same test scenarios in the embedded system to help reproduce and solve the problem. To provide a test automation method and system in an embedded platform that can provide a solution.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 임베디드 플랫폼에서 테스트 자동화 방법의 특징은 (A) 임베디드 플랫폼의 상태를 수집하고 분석하여 추후 로드가 가능한 상태로 저장하는 단계와, (B) 임베디드 플랫폼의 테스트를 진행하는 단계와, (C) 상기 저장된 임베디드 플랫폼의 이전 상태로 임베디드 플랫폼을 복구하는 단계와, (D) 상기 임베디드 플랫폼이 이전 상태로 복구된 상태에서 상기 (B) 내지 (C) 단계를 반복하여 재현 테스트(반복 테스트)를 수행하는 단계를 포함하는데 있다.Features of the test automation method in the embedded platform according to the present invention for achieving the above object is (A) collecting and analyzing the state of the embedded platform to store in a state that can be loaded later, (B) of the embedded platform Performing a test; (C) restoring an embedded platform to a previous state of the stored embedded platform; and (D) performing steps (B) to (C) with the embedded platform restored to a previous state. And repeatedly performing a reproducing test (repeating test).

바람직하게 상기 재현 테스트의 수행이 완료되면, 테스트 결과를 미리 저장 된 자동 평가식에 기반하는 허용치와 비교하여 허용치 평가를 수행하는 단계와, 상기 평가를 통해 테스트 결과가 상기 허용치를 벗어나는 모든 값에 대하여 미리 규격화된 출력값을 출력하는 단계를 더 포함하는 것을 특징으로 한다.Preferably, when the reproduction test is completed, performing a tolerance evaluation by comparing the test result with a tolerance value based on a pre-stored automatic evaluation equation, and for all values whose test results deviate from the tolerance value through the evaluation. And outputting a pre-standardized output value.

바람직하게 상기 (A) 단계는 이벤트 모니터를 통해 임베디드 플랫폼의 상태 저장 요청이 수신되면, 현재의 임베디드 플랫폼의 상태를 수집하고 분석하는 단계와, 상기 분석된 상태 정보를 전송이 가능한 형태로 변경되어 요청한 이벤트 모니터로 전송하는 단계와, 상기 전송된 임베디드 플랫폼의 상태 정보를 수신하여 상태 정보를 분석하고 추후 로드가 가능한 상태로 상태파일 DB에 저장하는 단계를 포함하는 것을 특징으로 한다.Preferably, in step (A), when the state storage request of the embedded platform is received through an event monitor, collecting and analyzing the state of the current embedded platform, and changing the requested state information into a form capable of transmitting the requested state. And transmitting the event information to the event monitor, analyzing the state information of the embedded platform, and storing the state information in a state file DB for later loading.

바람직하게 상기 (B) 단계는 실제 하드웨어(H/W) 디바이스 또는 PC용 에뮬레이터 내의 키 입력부를 통해 입력되는 이벤트가 키 이벤트인 경우는 키 로그 형식에 맞추어 문자열을 생성하고, 키 이벤트가 아닌 경우는 일반 로그 형태로 생성하여 이벤트파일 DB에 기록함으로써 이벤트 로그 작성을 수행하는 단계와, 상기 이벤트파일 DB에 기록된 이벤트 또는 형식에 맞추어 작성된 이벤트 로그를 재생하여 이벤트를 해석하고, 해석된 이벤트는 임베디드 플랫폼으로 전달하는 이벤트 재생 단계와, 상기 전달받은 이벤트를 분석하고, 분석된 이벤트를 이벤트 큐에 푸시(push)하여 H/W 디바이스가 동작한 것과 동일한 이벤트 처리를 수행하는 이벤트 수행 단계를 포함하는 것을 특징으로 한다.Preferably, the step (B) generates a character string according to the key log format when the event input through the key input unit in the real hardware (H / W) device or the PC emulator is a key event. Create event log by generating in general log form and record in event file DB, interpret event by playing event log written according to event or format recorded in event file DB, and interpreted event is embedded platform And an event playing step of analyzing the received event and pushing the analyzed event to an event queue to perform the same event processing as that of the H / W device. It is done.

바람직하게 상기 (C) 단계는 상기 저장된 이전의 임베디드 플랫폼의 상태를 이벤트 모니터로 로드하여 메모리에 적재하는 단계와, 상기 적재된 메모리에서 파 일이 분석되고 임베디드 플랫폼으로의 전송이 가능한 상태로 가공하는 단계와, 상기 가공된 데이터를 임베디드 플랫폼에서 전송받는 단계와, 상기 전송받은 데이터를 분석한 후 임베디드 플랫폼의 상태를 복구하고, 완료 메시지를 이벤트 모니터 쪽으로 전달하는 단계를 포함하는 것을 특징으로 한다.Preferably, the step (C) includes loading the stored state of the previously embedded platform into an event monitor and loading it into a memory, and processing the file from the loaded memory into a state where a file is analyzed and transmitted to the embedded platform. And receiving the processed data from the embedded platform, recovering the state of the embedded platform after analyzing the received data, and delivering a completion message to the event monitor.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 임베디드 플랫폼에서 테스트 자동화 시스템의 특징은 하드웨어 디바이스 또는 PC 에뮬레이터에서 입력된 이벤트를 우선순위에 기반하여 처리하는 RTOS(Real Time Operating System)와, 응용 프로그램이 실행될 수 있는 응용 프로그램 인터페이스를 제공하는 임베디드 플랫폼과, 상기 임베디드 플랫폼의 이전 상태를 저장하고 테스트를 수행하면서 재현 테스트(반복 테스트)의 수행 시에 상기 저장된 이전 상태로 상기 임베디드 플랫폼을 복구하여 실행시키는 이벤트 모니터를 포함하는데 있다.Features of the test automation system in the embedded platform according to the present invention for achieving the above object is a Real Time Operating System (RTOS) for processing the events input from the hardware device or PC emulator based on the priority and the application program An embedded platform providing an executable application program interface, and an event for restoring and executing the embedded platform to the stored previous state when performing a reproducing test (repeating test) while storing and performing a previous state of the embedded platform It includes a monitor.

바람직하게 상기 임베디드 플랫폼은 응용 프로그램이 실행될 수 있는 응용 프로그램 인터페이스를 제공하는 응용 프로그램 API 모듈과, 임베디드 플랫폼의 테스트 결과를 출력하는 테스트 윈도우 관리모듈과, 상기 RTOS를 통해 전달된 이벤트를 처리하는 이벤트 관리모듈과, 상기 이벤트 모니터로부터 요청된 임베디드 플랫폼의 상태 정보를 수집하고 분석하여, 분석된 정보를 전송이 가능한 형태로 변경하여 상기 이벤트 모니터로 전송하는 상태 관리모듈과, 자동 평가식을 내장시켜 테스트 결과를 기반으로 내부에서 허용치에 대한 값을 매번 평가하고, 이벤트 또는 특정 입력에 따라 평가를 수행하여 문제 발생시 그 내용을 이벤트 모니터로 전달하는 이벤트 평가모듈을 포함하는 것을 특징으로 한다.Preferably, the embedded platform includes an application API module for providing an application program interface for executing an application program, a test window management module for outputting a test result of the embedded platform, and event management for processing an event transmitted through the RTOS. A module, a status management module for collecting and analyzing the status information of the embedded platform requested from the event monitor, converting the analyzed information into a form that can be transmitted, and transmitting the result to the event monitor; It is characterized in that it comprises an event evaluation module for evaluating the value of the allowable value internally based on each time, and performing the evaluation according to an event or a specific input and transmitting the content to the event monitor when a problem occurs.

바람직하게 상기 이벤트 모니터는 임베디드 플랫폼의 상태를 테스트 수행에 기반하여 저장 및 복구하는 상태 처리부와, 입력되는 이벤트를 상기 임베디드 플랫폼 상에서 임베디드 플랫폼을 테스팅하기 위한 이벤트 처리부를 포함하는 것을 특징으로 한다.Preferably, the event monitor includes a state processor for storing and restoring a state of an embedded platform based on a test performance, and an event processor for testing an embedded platform on an embedded event.

바람직하게 상기 상태 처리부는 재현 테스트의 수행 시에 상태파일 DB에 미리 저장된 이전 임베디드 플랫폼의 상태 정보를 로드하고 파일을 분석하여 상기 임베디드 플랫폼으로 전송하는 상태 재생부와, 임베디드 플랫폼에서 수신된 임베디드 플랫폼의 상태 정보를 수신하여 상태 정보를 분석하고 추후 로드가 가능한 상태로 상태파일 DB에 저장하는 상태 기록부를 포함하는 것을 특징으로 한다.Preferably, the state processing unit loads state information of a previous embedded platform previously stored in a state file DB in a state file DB, analyzes a file, and transmits the state information to the embedded platform, and the embedded platform received from the embedded platform. Receiving the status information, and analyzes the status information, characterized in that it comprises a status recorder for storing in the state file DB in a state that can be loaded later.

바람직하게 상기 이벤트 처리부는 입력되는 이벤트를 판별하여 키(key) 로그 형식 또는 일반 로그 형태로 변경하는 이벤트 재생부와, 상기 이벤트 재생부에서 변경된 이벤트를 이벤트 모니터의 윈도우에 출력하고 이벤트파일 DB에 저장하는 이벤트 기록부와, 이벤트 재생을 위해 상기 이벤트파일 DB에 저장된 이벤트를 이벤트 적재부로 로드하여 이벤트를 분석하고, 분석된 이벤트를 임베디드 플랫폼으로 전송하는 이벤트 송신부를 포함하는 것을 특징으로 한다.Preferably, the event processing unit determines an event to be input and changes it to a key log form or a general log form, and outputs the event changed in the event reproducing unit to a window of an event monitor and stores it in an event file DB. And an event transmitter configured to load an event stored in the event file DB into an event loader to analyze an event and transmit the analyzed event to an embedded platform.

이상에서 설명한 바와 같은 본 발명에 따른 임베디드 플랫폼에서 테스트 자동화 방법 및 시스템은 다음과 같은 효과가 있다.Test automation method and system in the embedded platform according to the present invention as described above has the following effects.

첫째, 임베디드 플랫폼 상에서 수동으로 진행하던 테스트를 자동으로 테스트 할 수 있도록 지원하여 반복적인 테스트를 쉽고 빠르고 정확하게 수행하여 테스트 가 불편한 임베디드 시스템을 안정화할 수 있는 효과가 있다.First, it is possible to stabilize the embedded system, which is inconvenient to test, by repeatedly and quickly performing accurate tests by supporting the automatic test of the manual test on the embedded platform.

둘째, 기존의 테스트 자동화 시스템과는 차별적으로 임베디드 플랫폼의 상태를 저장하고 복구하는 기능을 이용하여 재현 테스트(반복 테스트)시에도 동일한 임베디드 플랫폼의 상태에서 테스트 할 수 있으므로 보다 정확히 이벤트에 대한 테스팅이 가능한 효과가 있다.Second, unlike the existing test automation system, by using the function of saving and restoring the state of the embedded platform, it can be tested in the state of the same embedded platform even during the reproducible test (repeated test), which enables more accurate testing of events. It works.

셋째, 임베디드 플랫폼에 평가식을 내장하여 많은 종류의 테스트를 진행하는 경우에 눈에 보이는 GUI나 동작 자체의 오동작뿐만 아니라 잘못된 인자를 사용하는 것까지 평가를 내려 그 오동작 여부를 미리 정확히 파악할 수 있는 효과가 있다.Third, in the case of conducting many kinds of tests by embedding evaluation expressions in the embedded platform, it is possible to evaluate not only the malfunction of the GUI or the operation itself but also the use of the wrong factor so that the malfunction can be accurately identified in advance. There is.

본 발명의 다른 목적, 특성 및 이점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments with reference to the accompanying drawings.

본 발명에 따른 임베디드 플랫폼에서 테스트 자동화 방법 및 시스템의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 설명하면 다음과 같다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록하며 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.A preferred embodiment of the test automation method and system in the embedded platform according to the present invention will be described with reference to the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be embodied in various forms, and only the present embodiments are intended to complete the disclosure of the present invention and to those skilled in the art to fully understand the scope of the invention. It is provided to inform you.

도 1 은 본 발명의 실시예에 따른 임베디드 플랫폼에서 테스트 자동화 시스템을 구성을 나타낸 블록도이다.1 is a block diagram showing the configuration of a test automation system in an embedded platform according to an embodiment of the present invention.

도 1과 같이, 테스트 자동화 시스템은 하드웨어(H/W) 디바이스 또는 PC 에뮬레이터(100)와, 상기 H/W 디바이스 또는 PC 에뮬레이터(100)에서 입력된 이벤트를 우선순위가 높은 전위에서 실시간 다중 프로그래밍하며, 우선순위가 낮은 후위에서는 일괄 처리하는 RTOS(Real Time Operating System)(200)와, 응용 프로그램이 실행될 수 있는 응용 프로그램 인터페이스를 제공하는 임베디드 플랫폼(300)과, 상기 임베디드 플랫폼(300)의 이전 상태를 저장하고 테스트를 수행하면서 재현 테스트의 수행 시에 상기 저장된 이전 상태로 상기 임베디드 플랫폼을 복구하여 실행시키는 이벤트 모니터(400)를 포함한다.As shown in FIG. 1, a test automation system real-time multiple programming of a hardware (H / W) device or PC emulator 100 and an event input from the H / W device or PC emulator 100 at a high priority potential. In the lower priority, the RTOS (Real Time Operating System) 200 for batch processing, the embedded platform 300 for providing an application program interface for executing an application, and the previous state of the embedded platform 300 And an event monitor 400 for restoring and executing the embedded platform to the stored previous state when performing a reproducing test while storing and performing a test.

이때, 상기 임베디드 플랫폼(300)은 응용 프로그램이 실행될 수 있는 응용 프로그램 인터페이스를 제공하는 응용 프로그램 API 모듈(310)과, 임베디드 플랫폼의 테스트 결과를 출력하는 테스트 윈도우 관리모듈(330)과, 상기 RTOS를 통해 전달된 이벤트를 처리하는 이벤트 관리모듈(320)과, 이벤트 모니터(400)로부터 요청된 임베디드 플랫폼의 상태 정보를 수집하고 분석하여, 분석된 정보를 전송이 가능한 형태로 변경하여 이벤트 모니터(400)로 전송하는 상태 관리모듈(340)과, 자동 평가식을 내장시켜 테스트 결과를 기반으로 내부에서 허용치에 대한 값을 매번 평가하고, 이벤트 또는 특정 입력에 따라 평가를 수행하여 문제 발생시 그 내용을 이벤트 모니터로 전달하는 이벤트 평가모듈(350)을 포함한다.  In this case, the embedded platform 300 includes an application API module 310 for providing an application program interface for executing an application program, a test window management module 330 for outputting a test result of the embedded platform, and the RTOS. The event management module 320 for processing the event delivered through the event monitor 400 collects and analyzes the status information of the embedded platform requested from the event monitor 400, and changes the analyzed information into a form that can be transmitted to the event monitor 400. Built-in automatic evaluation formula and state management module 340 to transmit to the internal evaluation based on the test results each time the value for the allowable value, and performs the evaluation according to the event or a specific input to monitor the contents of the event when a problem occurs It includes an event evaluation module 350 to deliver.

이때 상기 자동 평가식은 임베디드 플랫폼의 각종 함수나 UI 컴포넌트들이 가지고 있는 특성에 따라 예측하는 동작의 범위를 포함하고, 이 범위를 초과하거나 미달할 때 메시지를 출력하여 오동작이 어느 시점에서 시작했는지 알려줄 수 있는 수단이다.In this case, the automatic evaluation formula includes a range of operations to be predicted according to the characteristics of various functions or UI components of the embedded platform, and outputs a message when the range is exceeded or falls short of this range to indicate at which point the malfunction began. Means.

그리고 상기 이벤트 모니터(400)는 임베디드 플랫폼(300)의 상태를 테스트 수행에 기반하여 저장 및 복구하는 상태 처리부(410)와, 상기 입력되는 이벤트를 상기 임베디드 플랫폼(300) 상에서 임베디드 플랫폼을 테스팅하기 위한 이벤트 처리부(430)를 포함한다.In addition, the event monitor 400 stores and restores the state of the embedded platform 300 based on the test performance, and the input event for testing the embedded platform on the embedded platform 300. It includes an event processor 430.

이때, 상기 상태 처리부(410)는 재현 테스트의 수행 시에 상태파일 DB(420)에 미리 저장된 이전 임베디드 플랫폼(300)의 상태 정보를 로드하고 파일을 분석하여 상기 임베디드 플랫폼으로 전송하는 상태 재생부(412)와, 임베디드 플랫폼(300)에서 수신된 임베디드 플랫폼의 상태 정보를 수신하여 상태 정보를 분석하고 추후 로드가 가능한 상태로 상태파일 DB(420)에 저장하는 상태 기록부(414)를 포함한다.At this time, the state processing unit 410 loads the state information of the previous embedded platform 300 stored in the state file DB 420 in advance when performing the reproduction test, and analyzes the file and transmits the state information to the embedded platform ( 412 and a state recorder 414 which receives the state information of the embedded platform received from the embedded platform 300, analyzes the state information, and stores the state information in the state file DB 420 in a state where it can be loaded later.

또한 상기 이벤트 처리부(430)는 입력되는 이벤트를 판별하여 키(key) 로그 형식 또는 일반 로그 형태로 변경하는 이벤트 재생부(434)와, 상기 이벤트 재생부에서 변경된 이벤트를 이벤트 모니터의 윈도우에 출력하고 이벤트파일 DB에 저장하는 이벤트 기록부(438)와, 이벤트 재생을 위해 상기 이벤트파일 DB(440)에 저장된 이벤트를 이벤트 적재부(432)로 로드하여 이벤트를 분석하고, 분석된 이벤트를 임베디드 플랫폼으로 전송하는 이벤트 송신부(436)를 포함한다. In addition, the event processing unit 430 determines an event to be input and changes it to a key log form or a general log form, and an event reproducing unit 434 and outputs the event changed in the event reproducing unit to a window of an event monitor. An event recorder 438 storing the event file DB and an event stored in the event file DB 440 for loading the event into the event loader 432 to analyze the event and transmit the analyzed event to the embedded platform. And an event transmitter 436.

이와 같이 구성된 본 발명에 따른 임베디드 플랫폼에서 테스트 자동화 시스템의 동작을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.The operation of the test automation system in the embedded platform according to the present invention configured as described above will be described in detail with reference to the accompanying drawings.

도 2 내지 도 7 은 본 발명의 실시예에 따른 임베디드 플랫폼에서 테스트 자동화 방법을 설명하기 위한 흐름도이다.2 to 7 are flowcharts illustrating a test automation method in an embedded platform according to an exemplary embodiment of the present invention.

도 2를 참조하여 설명하면, 임베디드 플랫폼을 테스트하기 전에 먼저 이벤트 모니터(400)는 임베디드 플랫폼(300)의 상태를 수집하고 분석하여 추후 로드가 가능한 상태로 저장한다(S100).Referring to FIG. 2, before testing the embedded platform, the event monitor 400 first collects and analyzes the state of the embedded platform 300 and stores the state in a state that can be loaded later (S100).

이때, 도 3을 참조하여 임베디드 플랫폼 상태를 저장하는 과정을 상세히 살펴보면, 먼저 이벤트 모니터(400)는 임베디드 플랫폼(300)에 상태 저장을 요청하면(S110), 임베디드 플랫폼(300)은 상태관리모듈(340)을 통해 요청 명령을 시리얼이나 기타 통신 수단으로 수신하고(S120) 현재의 임베디드 플랫폼의 상태를 수집하고 분석한다(S130). 이때, 임베디드 플랫폼(300)의 상태는 스테이트 머신의 콜스텍과 각종 환경변수 및 DB에 좌우되며, 이 모든 기능은 임베디드 플랫폼에 기록되어 있다. At this time, referring to Figure 3, the process of storing the embedded platform state in detail, first, when the event monitor 400 requests the state storage to the embedded platform 300 (S110), the embedded platform 300 is a state management module ( In step 340, the request command is received through serial or other communication means (S120), and the state of the current embedded platform is collected and analyzed (S130). At this time, the state of the embedded platform 300 depends on the call stack of the state machine, various environment variables and the DB, all of these functions are recorded in the embedded platform.

상기 임베디드 플랫폼(300)은 상기 상태관리모듈(340)에서 분석된 상태 정보를 전송이 가능한 형태로 변경하여 요청한 이벤트 모니터(400)로 송신한다(S140).The embedded platform 300 changes the state information analyzed by the state management module 340 into a form that can be transmitted and transmits it to the requested event monitor 400 (S140).

상기 이벤트 모니터(400)는 전송된 임베디드 플랫폼의 상태 정보를 수신하여(S150) 상태 기록부(414)를 통해 상태 정보를 분석하고 파일저장이 유용한 상태로 변경한다(S160). 그리고 상기 상태 기록부(414)에서 분석된 상태 정보는 추후 로드가 가능한 상태로 상태파일 DB(420)에 저장된다(S170).The event monitor 400 receives the transmitted state information of the embedded platform (S150), analyzes the state information through the state recorder 414, and changes the state to a useful file storage state (S160). The state information analyzed by the state recorder 414 is stored in the state file DB 420 in a state where it can be loaded later (S170).

이처럼, 임베디드 플랫폼(300)의 상태 정보의 저장이 완료되면(S100), 이후 임베디드 플랫폼의 테스트를 진행한다(S1000).As such, when the storage of the state information of the embedded platform 300 is completed (S100), the test of the embedded platform is then performed (S1000).

1. 이벤트 로그 작성.1. Log the event.

상기 임베디드 플랫폼의 테스트의 진행(S110)으로 먼저, 이벤트 로그 작성을 수행한다(S200). 도 4를 참조하여 이벤트 로그 작성하는 과정을 상세히 살펴보면, In step S110 of testing the embedded platform, event log writing is performed (S200). Looking at the process of creating an event log with reference to Figure 4,

실제 하드웨어(H/W) 디바이스 또는 PC용 에뮬레이터(100) 내의 키 입력부를 통해 키가 눌리면, 이에 상응하는 입력 신호가 RTOS(Real Time Operating System)(200)에 전달되고, 이어 상기 RTOS(200)는 전달된 입력 신호에 따른 이벤트를 우선순위에 기반하여 임베디드 플랫폼(300)으로 전달한다. 이때 상기 H/W 디바이스에서는 시리얼을 통해 이벤트를 수신하고, PC용 에뮬레이터는 윈도우 이벤트를 통해 이벤트를 수신하게 된다.When a key is pressed through the key input unit in the real hardware (H / W) device or the PC emulator 100, a corresponding input signal is transmitted to the Real Time Operating System (RTOS) 200, and then the RTOS 200 Transmits an event according to the transmitted input signal to the embedded platform 300 based on the priority. In this case, the H / W device receives the event through the serial, and the PC emulator receives the event through the window event.

이처럼 상기 임베디드 플랫폼(300)은 전달된 이벤트를 이벤트 관리모듈(320)을 통해 이벤트 처리가 시작되는데, 이때 처리된 이벤트는 시리얼 장치 또는 다른 통신수단을 통해 ASCⅡ 문자열로 변환하여 이벤트 모니터(400)로 전달한다(S210). As such, the embedded platform 300 starts event processing through the event management module 320, and the processed event is converted into an ASCII string through a serial device or other communication means to the event monitor 400. Transfer (S210).

이에 상기 이벤트 모니터(400)는 이벤트 처리부(430)를 통해 ASCⅡ 문자열로 변환되어 전달된 이벤트를 재생시켜 입력되는 이벤트가 키(key) 이벤트인지를 판별한다(S220).Accordingly, the event monitor 400 reproduces the event converted into an ASCII character string through the event processing unit 430 and determines whether the input event is a key event (S220).

상기 판별결과(S220), 입력된 이벤트가 키 이벤트인 경우는 키 로그 형식에 맞추어 어떤 키가 어떤 상태로 눌렸는지 문자열을 생성하고(S240), 상기 판별결과, 키 이벤트가 아닌 경우는 일반 로그 형태로 생성한다(S230).In the determination result (S220), if the input event is a key event, a string is generated in which state was pressed according to the key log format (S240). To generate (S230).

그리고 이렇게 생성된 키 이벤트와 일반 로그는 이벤트 기록부(438)를 통해 이벤트파일 DB(440)에 기록함으로써 이벤트 로그 작성을 수행한다(S250).The generated key event and the general log are recorded in the event file DB 440 through the event recorder 438 to perform event log creation (S250).

2. 이벤트 재생.2. Play the event.

이어 상기 임베디드 플랫폼의 테스트의 진행(S1000)으로 이벤트를 재생한다(S300). 도 5를 참조하여 이벤트 재생 과정을 상세히 살펴보면, Subsequently, the event is reproduced as the test of the embedded platform (S1000). Looking at the event playback process in detail with reference to Figure 5,

이벤트 재생이 진행되면, 먼저 이벤트파일 DB(440)에 이미 기록된 이벤트 또는 형식에 맞추어 작성된 이벤트 로그를 메모리로 로드한다(S310). 그리고 이벤트 재생부(434)를 통해 입력된 이벤트를 재생하여 키 이벤트인지 아니면, 명령인지, 그밖에 내용인지 분석한다(S320).When the event playback proceeds, first, an event log written according to an event or format already recorded in the event file DB 440 is loaded into the memory (S310). The event inputted through the event reproducing unit 434 is reproduced to analyze whether it is a key event, a command, or other contents (S320).

상기 분석결과(S320), 분석된 이벤트가 명령코드이면 내부적인 명령처리를 수행한다(S340). 내부적인 명령처리의 일실시예로는 특정라인으로 점프한다거나, 시간을 대기하는 등의 명령 동작 등을 말한다. 또한 상기 분석결과(S320), 분석된 이벤트가 키 이벤트이면 키 이벤트를 해석한다(S330).If the analyzed result (S320), the analyzed event is a command code is performed internal command processing (S340). One embodiment of the internal command processing refers to a command operation such as jumping to a specific line or waiting for time. In addition, the analysis result (S320), if the analyzed event is a key event, the key event is interpreted (S330).

그리고 명령 처리 또는 해석된 이벤트는 이벤트 송신부(436)를 통해 임베디드 플랫폼(300)으로 전달된다(S350).In addition, the command processed or interpreted event is transmitted to the embedded platform 300 through the event transmitter 436 (S350).

2. 이벤트 수행.2. Perform the event.

이어 상기 임베디드 플랫폼의 테스트의 진행(S1000)으로 이벤트를 수행한다(S300). 도 6을 참조하여 이벤트 수행 과정을 상세히 살펴보면, Subsequently, an event is performed as the progress of the test of the embedded platform (S1000). Looking at the event execution process in detail with reference to Figure 6,

상기 임베디드 플랫폼(300)은 이벤트 모니터(400)를 통해 수신받고(S410), 상기 수신받은 이벤트를 분석한다(S420).The embedded platform 300 is received through the event monitor 400 (S410), and analyzes the received event (S420).

그리고 분석된 이벤트가 명령인지 키 이벤트인지를 판별하고(S430), 상기 판별된 이벤트가 명령이면 내부적인 명령처리를 수행하고(S440), 상기 판별된 이벤트가 키 이벤트이면 해당 이벤트를 이벤트 큐에 푸시(push)하여 H/W 디바이스가 동작한 것과 동일한 이벤트 처리를 수행한다(S450). Then, it is determined whether the analyzed event is a command or a key event (S430). If the determined event is a command, internal command processing is performed (S440). If the determined event is a key event, the corresponding event is pushed to an event queue. In operation S450, the same event processing as that of the H / W device is operated is performed.

이어 수신받은 이벤트 처리가 끝나면 처리 작업에 대한 결과를 다시 이벤트 로 만들어 전달하고 수행 작업을 종료 처리한다(S460).Subsequently, when the received event processing is finished, a result of the processing task is delivered as an event again and the processing performed is terminated (S460).

이처럼 수신된 이벤트에 다른 임베디드 플랫폼의 테스트의 진행(S1000) 과정이 종료되면, 상태파일 DB에 저장된 임베디드 플랫폼의 이전 상태로 임베디드 플랫폼을 복구한다. When the process of the test of the other embedded platform (S1000) is ended in the received event as described above, the embedded platform is restored to the previous state of the embedded platform stored in the state file DB.

이때, 도 7을 참조하여 임베디드 플랫폼 상태를 저장하는 과정을 상세히 살펴보면, 먼저 상기 이벤트 모니터(400)는 상태파일 DB(420)에 저장된 이전의 임베디드 플랫폼의 상태를 로드하고 메모리에 적재한다(S510). In this case, referring to FIG. 7, the process of storing the embedded platform state is described in detail. First, the event monitor 400 loads the state of the previous embedded platform stored in the state file DB 420 and loads the state in the memory (S510). .

그리고 적재된 메모리에서 파일을 분석하고 전송이 가능한 상태로 가공한다(S520). 이렇게 가공된 데이터를 임베디드 플랫폼(300)으로 전송하고(S530), 상기 임베디드 플랫폼(300)은 시리얼이나 기타 전송매체를 통해 수신한다(S540).The file is analyzed in the loaded memory and processed in a state in which transmission is possible (S520). The processed data is transmitted to the embedded platform 300 (S530), and the embedded platform 300 is received through a serial or other transmission medium (S540).

이어 상기 임베디드 플랫폼(300)은 수신된 데이터를 분석한 후 임베디드 플랫폼의 상태를 복구하고(S550), 상태 정보의 복구가 완료되면, 완료 메시지를 이벤트 모니터(400) 쪽으로 전달한다(S560). Subsequently, the embedded platform 300 recovers the state of the embedded platform after analyzing the received data (S550). When the restoration of the state information is completed, the embedded platform 300 transmits a completion message to the event monitor 400 (S560).

그러면 상기 이벤트 모니터(400)는 전송된 메시지를 수신받고 복구를 완료한다(S570).Then, the event monitor 400 receives the transmitted message and completes recovery (S570).

그리고 상기 임베디드 플랫폼(300)이 이전 상태로 복구된 상태에서 상기 이벤트파일 DB(440)에 저장된 이벤트를 재생하여 이벤트 수행을 처리하여 재현 테스트를 수행한다(S600). In addition, the embedded platform 300 reproduces the event stored in the event file DB 440 in a state in which the embedded platform 300 is restored to a previous state, and performs a reproducing test by processing an event performance (S600).

이처럼 임베디드 플랫폼(300)의 상태를 테스트하기 전 상태를 기억해 둔 후, 재현 테스트 시 상기 기억된 최초 임베디드 플랫폼의 상태로 복구된 후에 테스트가 수행됨에 따라 테스트에 보다 정확성을 기할 수 있다. 이때 모든 어플리케이션은 임베디드 플랫폼 위에서 동작하며 임베디드 플랫폼이 제공하는 API(Application Programming Interface)에 종속적이므로 임베디드 플랫폼의 상태를 저장 및 복구를 통해 테스트 전의 상태로 바꿀 수 있다.As described above, after the state of the embedded platform 300 is tested, the state of the embedded platform 300 is restored, and when the test is performed after the state is restored to the state of the first embedded platform stored, the test can be more accurate. At this time, all the applications operate on the embedded platform and are dependent on the application programming interface (API) provided by the embedded platform, so the state of the embedded platform can be changed to the state before the test by saving and restoring.

그리고 임베디드 플랫폼(300)내의 이벤트 평가모듈(350)은 자동 평가식을 통해 임베디드 플랫폼의 GUI 제어나 각종 함수들이 입력 값에 따른 허용치를 포함하고 있으며, 테스트된 결과를 상기 허용치와 비교하여 허용치가 초과되는지의 여부를 통해 허용치 평가를 수행한다(S700). 이때 상기 자동 평가식은 임베디드 플랫폼의 각종 함수나 UI 컴포넌트들이 가지고 있는 특성에 따라 예측하는 동작의 범위를 포함한다.In addition, the event evaluation module 350 in the embedded platform 300 includes an allowable value according to an input value of GUI control or various functions of the embedded platform through an automatic evaluation expression, and the allowable value is exceeded by comparing the tested result with the allowable value. Tolerance evaluation is performed through whether or not (S700). In this case, the automatic evaluation formula includes a range of operations to predict according to the characteristics of various functions or UI components of the embedded platform.

상기 허용치 평가 결과(S700), 테스트 결과가 허용치를 벗어나는 경우를 문제가 발생된 것으로 평가하고, 문제가 발생된 경우에 모든 값에 대하여 미리 규격화되어 저장된 출력값을 출력한다(S800). 이때 미리 규격화되어 저장된 출력값은 임베디드 플랫폼 내부에서 문제 발생시 출력된 파일로 로드하여 어떤 상태에서 문제가 발생했으며, 그 이벤트는 어떤 것인지 분석하여 저장된 정보로써, 저장된 출력값은 문제 발생상태, 문제 발생 이벤트, 문제 발생원인, 시스템의 중요도 및 영향성을 포함한다.The result of evaluating the allowable value evaluation result (S700) and a test result out of the allowable value is evaluated as a problem occurred, and when a problem occurs, the output value standardized and stored in advance for all values is output (S800). At this time, pre-standardized and saved output values are loaded into the output file when a problem occurs in the embedded platform, and the problem occurs in which state, and the event is the stored information. The saved output value is the problem occurrence state, problem occurrence event, problem Causes of occurrence, including the importance and impact of the system.

그리고 상기 발생된 출력값 및 문제 발생 정보를 이벤트 모니터로 전달하여 파일로 저장한다(S900).The generated output value and problem occurrence information are transferred to an event monitor and stored in a file (S900).

이에 따라 문제 발생시 내부적으로 먼저 문제를 탐지해 낼 수 있으며, 이는 임베디드 플랫폼이 예측하는 범위를 벗어난 동작을 하는 경우에 경고 메시지를 출력함으로써, 개발 중에 화이트 박스 테스트와 블랙 박스 테스트를 겸하여 진행 할 수 있도록 도와준다.As a result, when a problem occurs, the problem can be detected internally first. It outputs a warning message when the embedded platform is operating outside the range expected by the embedded platform, so that it can be combined with the white box test and the black box test during development. help.

상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시예에서 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술적 분야의 통상의 지식을 가진자라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다. 따라서 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the technical spirit of the present invention described above has been described in detail in a preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, those skilled in the art will understand that various embodiments are possible within the scope of the technical idea of the present invention. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

도 1 은 본 발명의 실시예에 따른 임베디드 플랫폼에서 테스트 자동화 시스템을 구성을 나타낸 블록도1 is a block diagram showing the configuration of the test automation system in the embedded platform according to an embodiment of the present invention

도 2 내지 도 7 은 본 발명의 실시예에 따른 임베디드 플랫폼에서 테스트 자동화 방법을 설명하기 위한 흐름도2 to 7 are flowcharts illustrating a test automation method in an embedded platform according to an embodiment of the present invention.

*도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

100 : 하드웨어(H/W) 디바이스 또는 PC 에뮬레이터100: hardware (H / W) device or PC emulator

200 : RTOS 300 : 임베디드 플랫폼200: RTOS 300: Embedded Platform

310 : 응용 프로그램 API 모듈 320 : 이벤트 관리모듈310: Application API Module 320: Event Management Module

330 : 윈도우 관리모듈 340 : 상태 관리모듈330: window management module 340: state management module

350 : 이벤트 평가모듈 400 : 이벤트 모니터350: event evaluation module 400: event monitor

410 : 상태 처리부 412 : 상태 재생부410: state processing unit 412: state playback unit

414 : 상태 기록부 420 : 상태파일 DB414: status log 420: status file DB

430 : 이벤트 처리부 432 : 이벤트 적재부430: event processing unit 432: event loading unit

434 : 이벤트 재생부 436 : 이벤트 송신부434: event reproducing unit 436: event transmitting unit

438 : 이벤트 기록부 440 : 이벤트파일 DB438: event log 440: event file DB

Claims (13)

(A) 임베디드 플랫폼의 상태를 수집하고 분석하여 추후 로드가 가능한 상태로 저장하는 단계와,(A) collecting and analyzing the state of the embedded platform and storing it for future loading; (B) 임베디드 플랫폼의 테스트를 진행하는 단계와,(B) testing the embedded platform; (C) 상기 저장된 임베디드 플랫폼의 이전 상태로 임베디드 플랫폼을 복구하는 단계와, (C) restoring an embedded platform to a previous state of the stored embedded platform; (D) 상기 임베디드 플랫폼이 이전 상태로 복구된 상태에서 상기 (B) 내지 (C) 단계를 반복하여 재현 테스트를 수행하는 단계를 포함하는 것을 특징으로 하는 임베디드 플랫폼에서 테스트 자동화 방법.(D) repeating the steps (B) to (C) to perform a reproducing test in a state where the embedded platform is restored to a previous state. 제 1 항에 있어서,The method of claim 1, 상기 재현 테스트의 수행이 완료되면, 테스트 결과를 미리 저장된 자동 평가식에 기반하는 허용치와 비교하여 허용치 평가를 수행하는 단계와,When the performance of the reproduction test is completed, comparing the test result with a tolerance based on a pre-stored automatic evaluation equation, and performing tolerance evaluation; 상기 평가를 통해 테스트 결과가 상기 허용치를 벗어나는 모든 값에 대하여 미리 규격화된 출력값을 출력하는 단계를 더 포함하는 것을 특징으로 하는 임베디드 플랫폼에서 테스트 자동화 방법.And outputting a pre-standardized output value for all values whose test result exceeds the allowable value through the evaluation. 제 2 항에 있어서,The method of claim 2, 상기 자동 평가식은 임베디드 플랫폼의 각종 함수나 UI 컴포넌트들이 가지고 있는 특성에 따라 예측하는 동작의 범위를 갖는 허용치를 포함하는 것을 특징으로 하는 임베디드 플랫폼에서 테스트 자동화 방법.The automatic evaluation formula is a test automation method on an embedded platform, characterized in that it includes a tolerance having a range of operations to predict according to the characteristics of the various functions or UI components of the embedded platform. 제 2 항에 있어서,The method of claim 2, 상기 미리 규격화되어 저장된 출력값은 임베디드 플랫폼 내부에서 문제 발생시 출력된 파일로 로드하여 어떤 상태에서 문제가 발생했으며, 그 이벤트는 어떤 것인지 분석되어 저장된 정보인 것을 특징으로 하는 임베디드 플랫폼에서 테스트 자동화 방법.The pre-standardized and stored output values are loaded into an output file when a problem occurs in an embedded platform, and a problem occurs in a certain state, and the event is analyzed. 제 1 항 및 제 2 항 중 어느 하나에 있어서, 상기 (A) 단계는The method of any one of claims 1 and 2, wherein step (A) 이벤트 모니터를 통해 임베디드 플랫폼의 상태 저장 요청이 수신되면, 현재의 임베디드 플랫폼의 상태를 수집하고 분석하는 단계와,When the state monitor request of the embedded platform is received through the event monitor, collecting and analyzing the state of the current embedded platform; 상기 분석된 상태 정보를 전송이 가능한 형태로 변경되어 요청한 이벤트 모니터로 전송하는 단계와,Transmitting the analyzed state information in a form that can be transmitted to the requested event monitor; 상기 전송된 임베디드 플랫폼의 상태 정보를 수신하여 상태 정보를 분석하고 추후 로드가 가능한 상태로 상태파일 DB에 저장하는 단계를 포함하는 것을 특징으로 하는 임베디드 플랫폼에서 테스트 자동화 방법.And receiving the transmitted state information of the embedded platform, analyzing the state information, and storing the state information in a state file DB that can be loaded later. 제 1 항 및 제 2 항 중 어느 하나에 있어서, 상기 (B) 단계는The method according to any one of claims 1 and 2, wherein step (B) 실제 하드웨어(H/W) 디바이스 또는 PC용 에뮬레이터 내의 키 입력부를 통해 입력되는 이벤트가 키 이벤트인 경우는 키 로그 형식에 맞추어 문자열을 생성하고, 키 이벤트가 아닌 경우는 일반 로그 형태로 생성하여 이벤트파일 DB에 기록함으로써 이벤트 로그 작성을 수행하는 단계와,If the event input through the key input unit in the real hardware (H / W) device or PC emulator is a key event, a string is generated according to the key log format. If the event is not a key event, the character string is generated in the general log format. Performing event logging by recording in a DB; 상기 이벤트파일 DB에 기록된 이벤트 또는 형식에 맞추어 작성된 이벤트 로그를 재생하여 이벤트를 해석하고, 해석된 이벤트는 임베디드 플랫폼으로 전달하는 이벤트 재생 단계와, An event reproducing step of reproducing an event by reproducing an event log written according to an event or a format recorded in the event file DB, and delivering the interpreted event to an embedded platform; 상기 전달받은 이벤트를 분석하고, 분석된 이벤트를 이벤트 큐에 푸시(push)하여 H/W 디바이스가 동작한 것과 동일한 이벤트 처리를 수행하는 이벤트 수행 단계를 포함하는 것을 특징으로 하는 임베디드 플랫폼에서 테스트 자동화 방법.And an event execution step of analyzing the received event and pushing the analyzed event to an event queue to perform the same event processing as that of the H / W device. . 제 1 항 및 제 2 항 중 어느 하나에 있어서, 상기 (C) 단계는The method according to any one of claims 1 and 2, wherein step (C) 상기 저장된 이전의 임베디드 플랫폼의 상태를 이벤트 모니터로 로드하여 메모리에 적재하는 단계와,Loading the stored state of the previously embedded platform into an event monitor and loading it into memory; 상기 적재된 메모리에서 파일이 분석되고 임베디드 플랫폼으로의 전송이 가능한 상태로 가공하는 단계와,Processing the file in the loaded memory so that the file can be analyzed and transferred to an embedded platform; 상기 가공된 데이터를 임베디드 플랫폼에서 전송받는 단계와, Receiving the processed data in an embedded platform; 상기 전송받은 데이터를 분석한 후 임베디드 플랫폼의 상태를 복구하고, 완료 메시지를 이벤트 모니터 쪽으로 전달하는 단계를 포함하는 것을 특징으로 하는 임베디드 플랫폼에서 테스트 자동화 방법.And recovering a state of an embedded platform after analyzing the received data, and transmitting a completion message to an event monitor. 하드웨어 디바이스 또는 PC 에뮬레이터에서 입력된 이벤트를 우선순위에 기반하여 처리하는 RTOS(Real Time Operating System)와,Real Time Operating System (RTOS), which processes events input from a hardware device or PC emulator based on their priority, 응용 프로그램이 실행될 수 있는 응용 프로그램 인터페이스를 제공하는 임베디드 플랫폼과,An embedded platform that provides an application program interface on which an application can run, 상기 임베디드 플랫폼의 이전 상태를 저장하고 테스트를 수행하면서 재현 테스트의 수행 시에 상기 저장된 이전 상태로 상기 임베디드 플랫폼을 복구하여 실행시키는 이벤트 모니터를 포함하는 것을 특징으로 하는 임베디드 플랫폼에서 테스트 자동화 시스템.And an event monitor for restoring and executing the embedded platform to the stored previous state when performing a reproducing test while storing the previous state of the embedded platform and performing a test. 제 8 항에 있어서, 상기 임베디드 플랫폼은 The method of claim 8, wherein the embedded platform 응용 프로그램이 실행될 수 있는 응용 프로그램 인터페이스를 제공하는 응용 프로그램 API 모듈과,An application API module that provides an application program interface on which the application can run; 임베디드 플랫폼의 테스트 결과를 출력하는 테스트 윈도우 관리모듈과,A test window management module that outputs test results of the embedded platform, 상기 RTOS를 통해 전달된 이벤트를 처리하는 이벤트 관리모듈과,An event management module for processing an event delivered through the RTOS; 상기 이벤트 모니터로부터 요청된 임베디드 플랫폼의 상태 정보를 수집하고 분석하여, 분석된 정보를 전송이 가능한 형태로 변경하여 상기 이벤트 모니터로 전송하는 상태 관리모듈과,A state management module for collecting and analyzing the state information of the embedded platform requested from the event monitor, changing the analyzed information into a form capable of transmission, and transmitting the state information to the event monitor; 자동 평가식을 내장시켜 테스트 결과를 기반으로 내부에서 허용치에 대한 값을 매번 평가하고, 이벤트 또는 특정 입력에 따라 평가를 수행하여 문제 발생시 그 내용을 이벤트 모니터로 전달하는 이벤트 평가모듈을 포함하는 것을 특징으로 하는 임베디드 플랫폼에서 테스트 자동화 시스템.Built-in auto-evaluation formula to evaluate the value of the allowable value internally based on the test results each time, and performs an evaluation according to the event or a specific input, and includes an event evaluation module that delivers the contents to the event monitor when a problem occurs Test automation system on an embedded platform. 제 9 항에 있어서,The method of claim 9, 상기 자동 평가식은 임베디드 플랫폼의 각종 함수나 UI 컴포넌트들이 가지고 있는 특성에 따라 예측하는 동작의 범위를 포함하는 것을 특징으로 하는 임베디드 플랫폼에서 테스트 자동화 시스템.The automatic evaluation formula is a test automation system for an embedded platform, characterized in that it includes a range of operations to predict according to the characteristics of the various functions or UI components of the embedded platform. 제 8 항에 있어서, 상기 이벤트 모니터는 The method of claim 8, wherein the event monitor 임베디드 플랫폼의 상태를 테스트 수행에 기반하여 저장 및 복구하는 상태 처리부와,A state processing unit which stores and restores the state of the embedded platform based on a test execution; 입력되는 이벤트를 상기 임베디드 플랫폼 상에서 임베디드 플랫폼을 테스팅하기 위한 이벤트 처리부를 포함하는 것을 특징으로 하는 임베디드 플랫폼에서 테스트 자동화 시스템.Test automation system in the embedded platform, characterized in that it comprises an event processing unit for testing the embedded platform on the embedded platform the input event. 제 11 항에 있어서, 상기 상태 처리부는 The method of claim 11, wherein the state processing unit 재현 테스트의 수행 시에 상태파일 DB에 미리 저장된 이전 임베디드 플랫폼의 상태 정보를 로드하고 파일을 분석하여 상기 임베디드 플랫폼으로 전송하는 상태 재생부와,A state reproducing unit which loads state information of a previous embedded platform previously stored in a state file DB, analyzes a file, and transmits the state information to the embedded platform when a reproduction test is performed; 임베디드 플랫폼에서 수신된 임베디드 플랫폼의 상태 정보를 수신하여 상태 정보를 분석하고 추후 로드가 가능한 상태로 상태파일 DB에 저장하는 상태 기록부 를 포함하는 것을 특징으로 하는 임베디드 플랫폼에서 테스트 자동화 시스템.Receiving the status information of the embedded platform received from the embedded platform, the test automation system on an embedded platform, characterized in that it comprises a state recorder for storing the state information in a state file DB to be loaded later. 제 11 항에 있어서, 상기 이벤트 처리부는The method of claim 11, wherein the event processing unit 입력되는 이벤트를 판별하여 키(key) 로그 형식 또는 일반 로그 형태로 변경하는 이벤트 재생부와,An event reproducing unit which determines an event to be input and changes it into a key log form or a general log form; 상기 이벤트 재생부에서 변경된 이벤트를 이벤트 모니터의 윈도우에 출력하고 이벤트파일 DB에 저장하는 이벤트 기록부와,An event recording unit for outputting the event changed by the event reproducing unit to a window of an event monitor and storing the event file in an event file DB; 이벤트 재생을 위해 상기 이벤트파일 DB에 저장된 이벤트를 이벤트 적재부로 로드하여 이벤트를 분석하고, 분석된 이벤트를 임베디드 플랫폼으로 전송하는 이벤트 송신부를 포함하는 것을 특징으로 하는 임베디드 플랫폼에서 테스트 자동화 시스템.Test automation system in the embedded platform, comprising an event transmitter for loading the event stored in the event file DB to the event loading unit for event reproduction to analyze the event, and transmit the analyzed event to the embedded platform.
KR1020080101992A 2008-10-17 2008-10-17 Method and system for performing automatic test in embedded platform KR100992622B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080101992A KR100992622B1 (en) 2008-10-17 2008-10-17 Method and system for performing automatic test in embedded platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080101992A KR100992622B1 (en) 2008-10-17 2008-10-17 Method and system for performing automatic test in embedded platform

Publications (2)

Publication Number Publication Date
KR20100042825A true KR20100042825A (en) 2010-04-27
KR100992622B1 KR100992622B1 (en) 2010-11-05

Family

ID=42218077

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080101992A KR100992622B1 (en) 2008-10-17 2008-10-17 Method and system for performing automatic test in embedded platform

Country Status (1)

Country Link
KR (1) KR100992622B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101575649B1 (en) * 2014-10-20 2015-12-21 현대자동차주식회사 Test apparatus of embedded system and method thereof
KR20190014964A (en) * 2017-08-04 2019-02-13 주식회사 한컴엠디에스 Debuging method for embedded device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101575649B1 (en) * 2014-10-20 2015-12-21 현대자동차주식회사 Test apparatus of embedded system and method thereof
KR20190014964A (en) * 2017-08-04 2019-02-13 주식회사 한컴엠디에스 Debuging method for embedded device

Also Published As

Publication number Publication date
KR100992622B1 (en) 2010-11-05

Similar Documents

Publication Publication Date Title
US8473919B2 (en) System and method for repeating program flow for debugging and testing
CN111651366B (en) SDK test method, device, equipment and storage medium
US10037254B2 (en) Device, method and program for performing system testing
KR20140056478A (en) Automatic testing apparatus for embedded software, automatic testing method thereof and test scenario composing method
KR20140053542A (en) Automatic testing apparatus for embedded software, automatic testing method thereof and test scenario composing method
KR100985749B1 (en) Automatic-testing system and method for embedded system software and test scenario composing method
KR20190019009A (en) Method and apparatus for automating game test
CN110610089B (en) User behavior simulation method and device and computer equipment
CN112732576B (en) Automatic testing method, device and equipment based on user interface
CN107608873B (en) Software testing method and system and testing platform
CN115080398A (en) Automatic interface test system and method
WO2007061241A1 (en) Error test method for mobile communication terminals
CN112860587B (en) UI automatic test method and device
KR100992622B1 (en) Method and system for performing automatic test in embedded platform
US8997048B1 (en) Method and apparatus for profiling a virtual machine
CN113094251B (en) Method and device for testing embedded system, computer equipment and storage medium
CN117648257A (en) Web automatic test method and system under Linux operating system
KR100901780B1 (en) Non-stop Debugging Apparatus for Correcting Errors in Embedded Systems and Method thereof
CN110806981B (en) Application program testing method, device, equipment and storage medium
CN113656319A (en) Regression testing method and device, electronic equipment and storage medium
CN112131110A (en) Multisource heterogeneous data probe method and device of smart phone system
KR101251792B1 (en) Embedded Software Unit Test Automation Tool and Method Using Debugger
US8898636B1 (en) Method and apparatus for testing an application running in a virtual machine
CN114116291B (en) Log detection method, log detection device, computer device and storage medium
WO2024001594A1 (en) Operator development method and apparatus, operator processing method and apparatus, and electronic device, system and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee