KR20100042825A - Method and system for performing automatic test in embedded platform - Google Patents
Method and system for performing automatic test in embedded platform Download PDFInfo
- 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
Links
Images
Classifications
-
- 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/3664—Environments for testing or debugging software
-
- 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)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
Description
본 발명은 임베디드 플랫폼을 이용하는 시스템에서 테스트 자동화 방법에 관한 것으로, 특히 임베디드 플랫폼을 이용하여 개발하는 응용프로그램을 자동으로 테스트하여 응용프로그램의 오류를 최소화시킬 수 있도록 도와주는 테스트 자동화 방법 및 시스템에 관한 것이다.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
이때, 상기 임베디드 플랫폼(300)은 응용 프로그램이 실행될 수 있는 응용 프로그램 인터페이스를 제공하는 응용 프로그램 API 모듈(310)과, 임베디드 플랫폼의 테스트 결과를 출력하는 테스트 윈도우 관리모듈(330)과, 상기 RTOS를 통해 전달된 이벤트를 처리하는 이벤트 관리모듈(320)과, 이벤트 모니터(400)로부터 요청된 임베디드 플랫폼의 상태 정보를 수집하고 분석하여, 분석된 정보를 전송이 가능한 형태로 변경하여 이벤트 모니터(400)로 전송하는 상태 관리모듈(340)과, 자동 평가식을 내장시켜 테스트 결과를 기반으로 내부에서 허용치에 대한 값을 매번 평가하고, 이벤트 또는 특정 입력에 따라 평가를 수행하여 문제 발생시 그 내용을 이벤트 모니터로 전달하는 이벤트 평가모듈(350)을 포함한다. In this case, the embedded
이때 상기 자동 평가식은 임베디드 플랫폼의 각종 함수나 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
이때, 상기 상태 처리부(410)는 재현 테스트의 수행 시에 상태파일 DB(420)에 미리 저장된 이전 임베디드 플랫폼(300)의 상태 정보를 로드하고 파일을 분석하여 상기 임베디드 플랫폼으로 전송하는 상태 재생부(412)와, 임베디드 플랫폼(300)에서 수신된 임베디드 플랫폼의 상태 정보를 수신하여 상태 정보를 분석하고 추후 로드가 가능한 상태로 상태파일 DB(420)에 저장하는 상태 기록부(414)를 포함한다.At this time, the
또한 상기 이벤트 처리부(430)는 입력되는 이벤트를 판별하여 키(key) 로그 형식 또는 일반 로그 형태로 변경하는 이벤트 재생부(434)와, 상기 이벤트 재생부에서 변경된 이벤트를 이벤트 모니터의 윈도우에 출력하고 이벤트파일 DB에 저장하는 이벤트 기록부(438)와, 이벤트 재생을 위해 상기 이벤트파일 DB(440)에 저장된 이벤트를 이벤트 적재부(432)로 로드하여 이벤트를 분석하고, 분석된 이벤트를 임베디드 플랫폼으로 전송하는 이벤트 송신부(436)를 포함한다. In addition, the
이와 같이 구성된 본 발명에 따른 임베디드 플랫폼에서 테스트 자동화 시스템의 동작을 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.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
이때, 도 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
상기 임베디드 플랫폼(300)은 상기 상태관리모듈(340)에서 분석된 상태 정보를 전송이 가능한 형태로 변경하여 요청한 이벤트 모니터(400)로 송신한다(S140).The embedded
상기 이벤트 모니터(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
이처럼, 임베디드 플랫폼(300)의 상태 정보의 저장이 완료되면(S100), 이후 임베디드 플랫폼의 테스트를 진행한다(S1000).As such, when the storage of the state information of the embedded
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
이처럼 상기 임베디드 플랫폼(300)은 전달된 이벤트를 이벤트 관리모듈(320)을 통해 이벤트 처리가 시작되는데, 이때 처리된 이벤트는 시리얼 장치 또는 다른 통신수단을 통해 ASCⅡ 문자열로 변환하여 이벤트 모니터(400)로 전달한다(S210). As such, the embedded
이에 상기 이벤트 모니터(400)는 이벤트 처리부(430)를 통해 ASCⅡ 문자열로 변환되어 전달된 이벤트를 재생시켜 입력되는 이벤트가 키(key) 이벤트인지를 판별한다(S220).Accordingly, the
상기 판별결과(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
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
상기 분석결과(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
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
그리고 분석된 이벤트가 명령인지 키 이벤트인지를 판별하고(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
그리고 적재된 메모리에서 파일을 분석하고 전송이 가능한 상태로 가공한다(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
이어 상기 임베디드 플랫폼(300)은 수신된 데이터를 분석한 후 임베디드 플랫폼의 상태를 복구하고(S550), 상태 정보의 복구가 완료되면, 완료 메시지를 이벤트 모니터(400) 쪽으로 전달한다(S560). Subsequently, the embedded
그러면 상기 이벤트 모니터(400)는 전송된 메시지를 수신받고 복구를 완료한다(S570).Then, the
그리고 상기 임베디드 플랫폼(300)이 이전 상태로 복구된 상태에서 상기 이벤트파일 DB(440)에 저장된 이벤트를 재생하여 이벤트 수행을 처리하여 재현 테스트를 수행한다(S600). In addition, the embedded
이처럼 임베디드 플랫폼(300)의 상태를 테스트하기 전 상태를 기억해 둔 후, 재현 테스트 시 상기 기억된 최초 임베디드 플랫폼의 상태로 복구된 후에 테스트가 수행됨에 따라 테스트에 보다 정확성을 기할 수 있다. 이때 모든 어플리케이션은 임베디드 플랫폼 위에서 동작하며 임베디드 플랫폼이 제공하는 API(Application Programming Interface)에 종속적이므로 임베디드 플랫폼의 상태를 저장 및 복구를 통해 테스트 전의 상태로 바꿀 수 있다.As described above, after the state of the embedded
그리고 임베디드 플랫폼(300)내의 이벤트 평가모듈(350)은 자동 평가식을 통해 임베디드 플랫폼의 GUI 제어나 각종 함수들이 입력 값에 따른 허용치를 포함하고 있으며, 테스트된 결과를 상기 허용치와 비교하여 허용치가 초과되는지의 여부를 통해 허용치 평가를 수행한다(S700). 이때 상기 자동 평가식은 임베디드 플랫폼의 각종 함수나 UI 컴포넌트들이 가지고 있는 특성에 따라 예측하는 동작의 범위를 포함한다.In addition, the
상기 허용치 평가 결과(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)
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)
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 |
-
2008
- 2008-10-17 KR KR1020080101992A patent/KR100992622B1/en not_active IP Right Cessation
Cited By (2)
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 |