KR101019166B1 - Automated testing method and system for embedded software - Google Patents

Automated testing method and system for embedded software Download PDF

Info

Publication number
KR101019166B1
KR101019166B1 KR1020090117359A KR20090117359A KR101019166B1 KR 101019166 B1 KR101019166 B1 KR 101019166B1 KR 1020090117359 A KR1020090117359 A KR 1020090117359A KR 20090117359 A KR20090117359 A KR 20090117359A KR 101019166 B1 KR101019166 B1 KR 101019166B1
Authority
KR
South Korea
Prior art keywords
test
software
target system
tester
information
Prior art date
Application number
KR1020090117359A
Other languages
Korean (ko)
Inventor
금대현
이성훈
박광민
Original Assignee
재단법인대구경북과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 재단법인대구경북과학기술원 filed Critical 재단법인대구경북과학기술원
Priority to KR1020090117359A priority Critical patent/KR101019166B1/en
Application granted granted Critical
Publication of KR101019166B1 publication Critical patent/KR101019166B1/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/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

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)
  • Stored Programmes (AREA)

Abstract

PURPOSE: An automated testing method and a system for embedded software is provided to easily performing software test, and reduce the software developing costs by automatically creating PC simulation environment. CONSTITUTION: A test system generator(20) parses test case description and embedded software description, and extracts specific information. The test system generator creates test data, test ID/template, target system simulation module, and test ID/SUT(System Under Test) mapping information using the specific information. A tester(30) transmits test data and test ID/template to a target system(40), and decides the qualification based on the returned value received from the target system.

Description

내장형 소프트웨어의 테스트 자동화 장치 및 그 방법{Automated testing method and system for embedded software}Automated testing method and system for embedded software

본 발명은 내장형 소프트웨어의 테스트 자동화 방법 및 장치에 관한 것으로서, 더욱 구체적으로는 TTCN-3를 기반으로 하여 정형화된 형식으로 설계된 내장형 소프트웨어의 테스트 자동화 방법 및 장치에 관한 것이다. The present invention relates to a test automation method and apparatus for embedded software, and more particularly, to a test automation method and apparatus for embedded software designed in a formal format based on TTCN-3.

오늘날 내장형 시스템은 자동차, 휴대폰 등에 널리 적용되어 제품의 성능을 향상 시키고 새로운 기능을 창출하고 있다. 그리고 내장형 시스템의 소프트웨어의 재사용 및 신뢰성 향상을 위하여 소프트웨어를 모듈화 및 표준화하고 있을 뿐만 아니라, 소프트웨어 설계 명세를 XML을 활용하여 정형화하고 있다. 그러나 테스팅 시스템의 설계는 아직도 상당 부분이 테스트 엔지니어에 의해서 수작업으로 이루어지고 있으며, 표준화가 이루어지지 않고 있다. 그러므로 소프트웨어 테스팅 환경의 재사용 및 신뢰성에 문제가 여전히 남아 있으며 테스트에 소요되는 시간과 노력이 많이 필요하다.Today's embedded systems are widely applied in automobiles, mobile phones, etc. to improve product performance and create new functions. In addition to modularizing and standardizing software to reuse software in embedded systems and improving reliability, the software design specification is formalized using XML. However, the design of the testing system is still largely manual by a test engineer and is not standardized. Therefore, the problem of reuse and reliability of the software testing environment still remains, and it takes a lot of time and effort to test.

내장형 시스템을 PC환경에서 테스트하기 위해서는 시뮬레이션 환경이 필요하다. 기존에는 이러한 시뮬레이션 환경을 쉽게 만들 수 없어서 개발 초기 단계에 소프트웨어의 테스팅을 수행하기가 쉽지 않았다.  To test the embedded system in a PC environment, a simulation environment is required. Traditionally, such a simulation environment could not be easily created, making it difficult to test software early in development.

이러한 문제점을 해결하기 위하여, 국제적으로 표준화된 테스트 언어로서 TTCN(Tree and Tabular Combined Notation)이 제안되었다. 테스팅 절차(procedure)와 방법을 문자를 이용해 서술할 경우, 테스팅 모델을 설계한 엔지니어와 실제 수행하는 엔지니어 간에 의사소통이 잘못될 수도 있기 때문에 테스팅 방안을 심볼을 이용한 노테이션(Symbolic Notation)으로 표현하도록 개발되었다. 처음 TTCN-1 버전 이후 노테이션을 자동으로 코드화하는 방안과 자동화된 실행 방안까지 포함된 개념으로 현재 TTCN-3(version 3)까지 발전하였다. To solve this problem, Tree and Tabular Combined Notation (TTCN) has been proposed as an internationally standardized test language. If the description of the testing procedure and method is written using characters, communication between the engineer who designed the testing model and the engineer who actually performs the test may be misinterpreted so that the testing scheme can be expressed by symbolic notation. It became. Since the first version of TTCN-1, the notion of automatic coding of notations and automated execution has evolved to TTCN-3 (version 3).

전술한 문제점을 해결하기 위한 본 발명의 목적은 TTCN-3를 기반으로 하여 정형화된 내장형 소프트웨어의 XML 설계 명세로부터 그 소프트웨어를 테스트할 수 있는 테스트 장치를 자동으로 생성하는 시스템 및 방법을 제공하는 것이다. SUMMARY OF THE INVENTION An object of the present invention for solving the above-mentioned problems is to provide a system and method for automatically generating a test apparatus capable of testing the software from an XML design specification of a formal embedded software based on TTCN-3.

전술한 기술적 과제를 달성하기 위한 본 발명의 특징은, 외부로부터 입력된 테스트 케이스 명세 및 내장형 소프트웨어 명세를 이용하여 테스트 대상 소프트웨어를 자동으로 테스트할 수 있는 내장형 소프트웨어 테스트 자동화 시스템에 관한 것으로서, 상기 시스템은, A feature of the present invention for achieving the above-described technical problem relates to an embedded software test automation system that can automatically test the software under test using a test case specification and a built-in software specification input from the outside, the system is ,

상기 테스트 케이스 명세 및 상기 내장형 소프트웨어 명세를 파싱하고 특정 정보를 추출하고, 추출된 정보들을 이용하여 테스트 데이터, 테스트 ID/템플릿, 타겟 시스템 시뮬레이션 모듈, 테스트ID/SUT 매핑 정보들을 생성하는 테스트 시스템 생성부; 상기 테스트 시스템으로부터 입력된 테스트 데이터 및 테스트 ID/템플릿을 타겟 시스템으로 송신하고 타겟 시스템으로부터 수행된 결과값을 수신하여 테스트 결과의 합격 여부를 결정하는 테스터; 상기 테스터로부터 입력된 테스트 데이터 및 테스트 ID/템플릿을 이용하여 테스트 대상 소프트웨어를 수행하고 그 결과값을 상기 테스터로 송신하는 타겟 시스템;을 구비하고, A test system generator for parsing the test case specification and the embedded software specification, extracting specific information, and generating test data, test ID / template, target system simulation module, and test ID / SUT mapping information using the extracted information. ; A tester which transmits test data and a test ID / template input from the test system to a target system and receives a result value performed from the target system to determine whether the test result is passed; And a target system that performs the test target software using the test data and test ID / template input from the tester and transmits the result value to the tester.

상기 테스트 케이스 명세 및 상기 내장형 소프트웨어 명세는 XML 형식으로 작성되며, 테스트 시스템 생성부, 테스터, 타겟 시스템은 TTCN-3을 기반으로 동작하는 것이 바람직하다.The test case specification and the embedded software specification are written in an XML format, and it is preferable that a test system generator, a tester, and a target system operate based on TTCN-3.

전술한 특징을 갖는 내장형 소프트웨어 테스트 자동화 시스템에 있어서, 상기 테스트 시스템 생성부는, 테스트 케이스 명세를 파싱하여 TTCN-3 기반의 언어로 변환시키는 테스트 케이스 파서; TTCN-3 기반의 언어로 변환된 상기 테스트 케이스 명세로부터 특정 정보를 추출하는 테스트 케이스 명세 정보 추출기; 상기 테스트 케이스 명세 정보 추출기에 의해 테스트 케이스 명세로부터 추출된 정보들을 사용하여 테스트 데이터를 생성하는 테스트 데이터 생성기; 상기 소프트웨어 설계 명세를 파싱하여 TTCN-3 기반으로 한 언어로 변환시키는 소프트웨어 명세 파서; TTCN-3 기반으로 한 언어로 변환된 소프트웨어 설계 명세로부터 특정 정보를 추출하는 소프트웨어 명세 정보 추출기; 상기 소프트웨어 명세 정보 추출기에 의해 소프트웨어 설계 명세로부터 추출된 정보들을 이용하여 테스트 ID 및 템플릿을 생성하는 테스터 명세 정보 생성기; 상기 소프트웨어 명세 정보 추출기에 의해 소프트웨어 설계 명세로부터 추출된 정보들을 이용하여 시뮬레이션 모듈들을 생성하는 타겟 시스템 시뮬레이션 생성기; 상기 소프트웨어 명세 정보 추출기에 의해 소프트웨어 설계 명세로부터 추출된 정보들을 이용하여 타겟 시스템의 스케쥴러 명세 및 테스트 ID/SUT 맵핑 정보들을 생성하는 타겟 시스템 명세 정보 생성기;을 구비하며, 상기 타겟 시스템 시뮬레이션 생성기에 의해 자동으로 생성되는 시뮬레이션 모듈들은 RTE(Runtime Enviroment) 모듈, 운영체제 모듈, 네트워크 통신 모듈, 하드웨어 입출력 모듈들 중 하나 또는 둘 이상을 포함하는 것이 바람직하다.An embedded software test automation system having the above-mentioned features, wherein the test system generator comprises: a test case parser for parsing a test case specification and converting the test case specification into a TTCN-3 based language; A test case specification information extractor extracting specific information from the test case specification converted into a TTCN-3 based language; A test data generator for generating test data using information extracted from a test case specification by the test case specification information extractor; A software specification parser for parsing the software design specification and converting the software design specification into a TTCN-3 based language; A software specification information extractor for extracting specific information from a software design specification converted into a language based on TTCN-3; A tester specification information generator for generating a test ID and a template using the information extracted from the software design specification by the software specification information extractor; A target system simulation generator for generating simulation modules using information extracted from a software design specification by the software specification information extractor; A target system specification information generator for generating scheduler specification and test ID / SUT mapping information of a target system using information extracted from the software design specification by the software specification information extractor, and automatically generated by the target system simulation generator. The generated simulation modules preferably include one or more of a Runtime Enviroment (RTE) module, an operating system module, a network communication module, and a hardware input / output module.

전술한 특징을 갖는 내장형 소프트웨어 테스트 자동화 시스템에 있어서, 상기 테스터는, 상기 테스트 시스템 생성부로부터 입력된 테스트 데이터와 테스트 ID/템플릿을 타겟 시스템으로 송신하고 타겟 시스템으로부터 수행된 결과값을 수신하여 테스트 결과의 합격 여부를 결정하는 테스트 컴포넌트; 테스터와 타겟 시스템간에 송수신되는 데이터들을 변환하는 코덱; 테스터와 타겟 시스템간의 데이터를 송수신하는 통신 인터페이스; 를 구비하는 것이 바람직하다. In the embedded software test automation system having the above-mentioned characteristics, the tester transmits test data and a test ID / template input from the test system generator to a target system and receives a result value performed from the target system to test results. A test component for determining whether the test passes; A codec for converting data transmitted and received between the tester and the target system; A communication interface for transmitting and receiving data between the tester and the target system; It is preferable to have a.

전술한 특징을 갖는 내장형 소프트웨어 테스트 자동화 시스템에 있어서, 상기 타겟 시스템은, 상기 테스트 시스템 생성부에 의해 생성된 시뮬레이션 모듈들로 구성되는 시뮬레이션부; 상기 테스트 시스템 생성부에 의해 생성되는 테스트 ID/SUT 맵핑 정보들을 이용하여 각 버퍼와 테스트 대상 소프트웨어의 입출력을 맵핑하는 SUT 인터페이스부; 테스터로 전송하는 데이터를 인코딩하고, 테스터로부터 전송되는 테스트 데이터를 디코딩하는 타겟 코덱; 테스터와 타겟 시스템간의 데이터를 송수신하는 통신 인터페이스; 상기 테스트 시스템 생성부에 의해 생성되는 스케쥴러 명세를 이용하여 테스트 대상 소프트웨어 및 타겟 시스템의 스케줄링을 관리하는 스케줄러;을 구비하는 것이 바람직하다. An embedded software test automation system having the above-mentioned features, the target system comprising: a simulation unit comprising simulation modules generated by the test system generation unit; An SUT interface unit which maps input / output of each buffer and test target software using test ID / SUT mapping information generated by the test system generator; A target codec that encodes data to be sent to the tester and decodes test data sent from the tester; A communication interface for transmitting and receiving data between the tester and the target system; And a scheduler for managing scheduling of the test target software and the target system by using the scheduler specification generated by the test system generator.

본 발명에 따른 TTCN-3를 기반으로 한 테스트 시스템에 의하여, 개발 단계간의 테스트 케이스 및 테스트 환경의 재사용이 용이할 뿐만 아니라, OEM과 부품업체 사이의 재사용성도 용이하다. 그리고, 본 발명에 의하여 PC 시뮬레이션 환경을 자동으로 생성함으로써, 개발 초기 단계에 소프트웨어의 테스팅을 쉽게 수행할 수 있으며, 소프트웨어의 개발 비용을 저감시키고 신뢰성을 향상시킬 수 있다.  The TTCN-3 based test system according to the present invention facilitates reuse of test cases and test environments between development stages, and also facilitates reusability between OEMs and component manufacturers. In addition, by automatically generating a PC simulation environment according to the present invention, software testing can be easily performed at an early stage of development, and software development costs can be reduced and reliability can be improved.

본 발명에 따른 내장형 소프트웨어 테스트 자동화 시스템에 의하여, 즉시 테스트를 수행하고 그 결과를 확인할 수 있다. 또한, 본 발명에 의하여 TTCN-3 테스트 표준을 적용함으로써 테스트 케이스 및 테스트 실행 환경의 재사용이 쉬워져서, 테스트에 소요되는 시간 및 노력을 줄일 수 있다By the embedded software test automation system according to the present invention, it is possible to immediately perform the test and confirm the result. In addition, the present invention facilitates reuse of test cases and test execution environments by applying the TTCN-3 test standard, thereby reducing the time and effort required for testing.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 내장형 소프트웨어의 테스트 자동화 시스템에 대하여 구체적으로 설명한다. 본 발명에 따른 테스트 자동화 시스템은 TTCN-3를 기반으로 하는 것을 특징으로 한다. Hereinafter, a test automation system of embedded software according to a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings. The test automation system according to the present invention is characterized in that it is based on TTCN-3.

도 1은 본 발명의 바람직한 실시예에 따른 내장형 소프트웨어의 테스트 자동화 시스템을 전체적으로 도시한 구성도이다. 도 1에 도시된 바와 같이, 본 발명의 바람직한 실시예에 따른 내장형 소프트웨어의 테스트 자동화 시스템(10)은 크게 테스트 시스템 생성부(20), 테스터(30), 타겟 시스템(40)으로 구성된다. 상기 테스트 시스템 생성부(20)는 XML 형식의 소프트웨어 설계 명세 및 테스트 케이스 명세로부터 필요한 정보를 추출하고, 추출한 정보를 활용하여 테스터(30) 및 타겟 시스템(40)을 위한 모듈을 생성한다. 테스터(30)는 테스트 입력을 타겟 시스템(40)에 송신하고 타겟 시스템으로부터 수행 결과를 수신하여 합격 여부를 판단한다. 타겟 시스템(40)은 테스터로부터 테스트 입력을 수신하여 SUT(System Under Test)를 수행하고 그 결과 값을 테스터로 송신한다. 테스터(30)와 타겟 시스템(40) 사이의 데이터 교환은 TCP/IP, UDP/IP, CAN 등과 같은 통신 프로토콜을 사용한다.1 is a block diagram showing an overall test automation system of embedded software according to a preferred embodiment of the present invention. As shown in FIG. 1, the test automation system 10 of embedded software according to a preferred embodiment of the present invention includes a test system generator 20, a tester 30, and a target system 40. The test system generator 20 extracts necessary information from a software design specification and a test case specification in XML format, and generates a module for the tester 30 and the target system 40 by using the extracted information. The tester 30 transmits a test input to the target system 40 and receives a result of the execution from the target system to determine whether the test has passed. The target system 40 receives a test input from the tester, performs a system under test (SUT), and transmits a result value to the tester. The data exchange between the tester 30 and the target system 40 uses communication protocols such as TCP / IP, UDP / IP, CAN, and the like.

이하, 도 1 내지 도 3을 참조하여 본 발명에 따른 테스트 시스템 생성부(20)의 구조 및 동작을 구체적으로 설명한다. 도 2는 본 발명의 바람직한 실시예에 따른 테스트 시스템 생성부(20)에 의해 테스트 데이터가 생성되는 과정을 예시적으로 도시한 도면이다. Hereinafter, the structure and operation of the test system generator 20 according to the present invention will be described in detail with reference to FIGS. 1 to 3. 2 is a diagram exemplarily illustrating a process of generating test data by the test system generator 20 according to an exemplary embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명에 따른 테스트 시스템 생성부(20)는 테스트 케이스 파서(200), 테스트 케이스 명세 정보 추출기(210), 테스트 데이터 생성기(220), 소프트웨어 명세 파서(230), 소프트웨어 명세 정보 추출기(240), 테스터 명세 정보 생성기(250), 타겟 시스템 시뮬레이션 생성기(260), 타겟 시스템 명세 정보 생성기(270)를 구비하여, XML과 같은 특정 형식의 소프트웨어 설계 명세 및 테스트 케이스 명세로부터 필요한 정보를 추출하고, 추출된 정보들을 이용하여 테스터(30) 및 타겟 시스템(40)을 위한 모듈들을 생성한다. As shown in FIG. 1, the test system generator 20 according to the present invention includes a test case parser 200, a test case specification information extractor 210, a test data generator 220, a software specification parser 230, Software inventory information extractor 240, tester inventory information generator 250, target system simulation generator 260, and target system inventory information generator 270 are provided, from software design specifications and test case specifications in a particular format, such as XML. The necessary information is extracted, and the extracted information is used to generate modules for the tester 30 and the target system 40.

상기 테스트 케이스 파서(200)는 XML 형식으로 작성된 테스트 케이스 명세을 파싱하여 TTCN-3 기반의 언어로 변환시킨다. 상기 테스트 케이스는 테스트 시나리오를 포함하고 있다. The test case parser 200 parses a test case specification written in an XML format and converts the test case specification into a TTCN-3 based language. The test case includes a test scenario.

상기 테스트 케이스 명세 정보 추출기(210)는 TTCN-3를 기반으로 한 테스트 데이터 자동 생성을 위하여 상기 테스트 케이스 파서로부터 제공되는 파싱된 테스트 케이스 명세로부터 테스트 입력 신호와 값, 예상 결과 신호와 값, 테스트 케이스의 시간 정보 등을 추출한다. The test case specification information extractor 210 may generate a test input signal and a value, an expected result signal and a value, a test case from a parsed test case specification provided from the test case parser for automatically generating test data based on TTCN-3. Extract time information and more.

상기 테스트 데이터 생성기(220)는 상기 테스트 케이스 명세 정보 추출기(210)에 의해 테스트 케이스 명세로부터 추출된 정보들을 사용하여 테스트 데이 터를 생성한다. 상기 테스트 데이터는 시스템의 테스팅을 위한 테스트 입력 및 예상 출력을 위한 파일로 구성된다. 도 2의 (a)는 테스트 케이스 설계 명세의 내용을 예시적으로 도시한 자료이며, 도 2의 (b)는 테스트 데이터 생성기의 내용을 예시적으로 도시한 자료이며, 도 2의 (c)가 본 발명에 의해 생성된 테스트 데이터를 예시적으로 도시한 자료이다. 상기 테스터(30)는 상기 테스트 데이터를 활용하여 소프트웨어에 대한 테스트를 자동으로 수행하게 된다. The test data generator 220 generates test data using information extracted from the test case specification by the test case specification information extractor 210. The test data consists of files for test input and expected output for testing the system. (A) of FIG. 2 exemplarily shows the contents of the test case design specification, and FIG. 2 (b) exemplarily shows the contents of the test data generator. The data exemplarily showing the test data generated by the present invention. The tester 30 automatically performs a test on software by using the test data.

상기 소프트웨어 명세 파서(230)는 XML과 같은 특정 형식으로 작성된 소프트웨어 설계 명세을 파싱하여 TTCN-3 기반으로 한 언어로 변환시킨다. The software specification parser 230 parses a software design specification written in a specific format such as XML and converts it into a language based on TTCN-3.

상기 소프트웨어 명세 정보 추출기(240)는 상기 소프트웨어 명세 파서(230)에 의해 파싱된 소프트웨어 설계 명세로부터 필요한 정보를 추출한다. The software specification information extractor 240 extracts the necessary information from the software design specification parsed by the software specification parser 230.

상기 테스터 명세 정보 생성기(250)는 상기 소프트웨어 명세 정보 추출기에 의해 소프트웨어 설계 명세로부터 추출된 정보들을 이용하여, 테스트 ID 및 템플릿을 생성한다. 도 3은 본 발명에 따른 테스트 명세 정보 생성기(250)에 의해 생성되는 테스트 ID 및 템플릿을 예시적으로 도시한 자료이다. The tester specification information generator 250 generates a test ID and a template by using the information extracted from the software design specification by the software specification information extractor. FIG. 3 is a data exemplarily illustrating a test ID and a template generated by the test specification information generator 250 according to the present invention.

상기 타겟 시스템 시뮬레이션 생성기(260)는 상기 소프트웨어 명세 정보 추출기에 의해 소프트웨어 설계 명세로부터 추출된 정보들을 이용하여 시뮬레이션 모듈들을 자동으로 생성한다. 상기 타겟 시스템 시뮬레이션 생성기(260)에 의해 자동으로 생성되는 시뮬레이션 모듈들은 테스트 대상 소프트웨어를 하드웨어가 아직 개발되지 않은 개발 초기 단계에서 테스트하기 위하여 필요한 하드웨어 및 하드웨어 관련 소프트웨어를 시뮬레이션할 수 있는 모듈들로서, RTE(Runtime Enviroment) 모 듈, 운영체제 모듈, 네트워크 통신 모듈, 하드웨어 입출력 모듈을 포함한다. The target system simulation generator 260 automatically generates simulation modules using the information extracted from the software design specification by the software specification information extractor. Simulation modules automatically generated by the target system simulation generator 260 are modules capable of simulating hardware and hardware-related software required for testing the software under test in an early stage of development in which hardware is not yet developed. Runtime Enviroment) module, operating system module, network communication module, hardware input / output module.

상기 타겟 시스템 명세 정보 생성기(270)는 상기 소프트웨어 명세 정보 추출기에 의해 소프트웨어 설계 명세로부터 추출된 정보들을 이용하여 타겟 시스템의 스케쥴러 명세 및 테스트 ID/SUT 맵핑 정보들을 생성한다. 도 6은 본 발명의 바람직한 실시예에 따른 테스트 ID/SUT 맵핑 정보들과 스케쥴러 명세를 예시적으로 도시한 것이다. The target system specification information generator 270 generates scheduler specification and test ID / SUT mapping information of the target system by using the information extracted from the software design specification by the software specification information extractor. 6 exemplarily illustrates test ID / SUT mapping information and a scheduler specification according to a preferred embodiment of the present invention.

이하, 본 발명의 바람직한 실시예에 따른 테스터(30)의 구조 및 동작을 구체적으로 설명한다. 본 발명에 따른 테스터(30)는 테스트 컴포넌트(300), 코덱(310), 통신 인터페이스(320)를 구비하며, 테스트 시스템 생성부(20)로부터 제공되는 테스트 데이터(a)와 테스트 ID/템플릿(b)이 테스트 컴포넌트(300)의 수행에 사용된다. Hereinafter, the structure and operation of the tester 30 according to the preferred embodiment of the present invention will be described in detail. The tester 30 according to the present invention includes a test component 300, a codec 310, and a communication interface 320, and test data a and test ID / template provided from the test system generator 20. b) is used to perform the test component 300.

상기 테스트 컴포넌트(300)는 테스트 데이터를 타겟 시스템(40)으로 송신하고 타겟 시스템(40)으로부터 수행된 결과값을 수신하여 테스트 결과의 합격 여부를 결정한다. 도 4는 본 발명의 바람직한 실시예에 따른 테스트 컴포넌트(300)를 예시적으로 도시한 도면이다. 코덱(310)은 인코더 및 디코더로 구성되며, 인코더는 타겟 시스템으로 TTCN-3 데이터 타입을 송신하기 위하여 통신 프로토콜에 맞게 인코딩하며, 디코더는 타겟 시스템으로부터 수신된 데이터를 TTCN-3 데이터 타입으로 변환한다. 통신 인터페이스(320)는 타겟 시스템과의 데이터 송수신을 담당한다.The test component 300 transmits test data to the target system 40 and receives a result value performed from the target system 40 to determine whether the test result has passed. 4 is a diagram illustrating a test component 300 in accordance with a preferred embodiment of the present invention. The codec 310 is composed of an encoder and a decoder, the encoder encodes according to a communication protocol to transmit the TTCN-3 data type to the target system, and the decoder converts the data received from the target system into the TTCN-3 data type. . The communication interface 320 is responsible for data transmission and reception with the target system.

이하, 본 발명의 바람직한 실시예에 따른 타겟 시스템(40)의 구조 및 동작을 구체적으로 설명한다. 본 발명에 따른 타겟 시스템(40)은 테스트 대상 소프트웨어(System Under Test;'SUT',400), 시뮬레이션부(410), SUT 인터페이스부(420), 타 겟 코덱(430), 통신 인터페이스(440), 스케쥴러(450)을 구비한다. 도 5는 본 발명의 바람직한 실시예에 따른 타겟 시스템의 일부를 구체적으로 도시한 구성도이다. Hereinafter, the structure and operation of the target system 40 according to the preferred embodiment of the present invention will be described in detail. The target system 40 according to the present invention includes a system under test (SUT) 400, a simulation unit 410, an SUT interface unit 420, a target codec 430, and a communication interface 440. And a scheduler 450. 5 is a diagram illustrating in detail a part of a target system according to an exemplary embodiment of the present invention.

시뮬레이션부(410)는 테스트 시스템 생성부(20)의 타겟 시스템 시뮬레이션 생성기에 의해 소프트웨어 설계 명세로부터 자동으로 생성되는 시뮬레이션 모듈들로 구성된다. 상기 시뮬레이션부를 구성하는 시뮬레이션 모듈들은 테스트 대상 소프트웨어를 하드웨어가 아직 개발되지 않은 개발 초기 단계에 테스트를 수행하기 위해서 필요한 하드웨어 및 하드웨어 관련 소프트웨어를 시뮬레이션할 수 있는 모듈들로서, RTE(Runtime Environment) 모듈, 운영체제 모듈, 네트워크 통신 모듈, 하드웨어 입출력 모듈들이다. The simulation unit 410 is composed of simulation modules automatically generated from the software design specification by the target system simulation generator of the test system generator 20. The simulation modules constituting the simulation unit are modules capable of simulating hardware and hardware-related software required to perform the test software at the early stage of development in which the hardware to be tested is not yet developed. Runtime Environment (RTE) module and operating system module , Network communication modules, and hardware I / O modules.

상기 SUT 인터페이스부(420)는 테스트 대상 소프트웨어와 타겟 시스템간의 상호 연결을 위한 모듈로서, 테스트 시스템 생성부(20)의 타겟 시스템 명세 정보 생성기에 의해 생성되는 테스트 ID/SUT 맵핑 정보들을 이용하여 각 버퍼와 테스트 대상 소프트웨어의 입출력을 맵핑한다. The SUT interface unit 420 is a module for interconnection between the test target software and the target system, and each buffer using the test ID / SUT mapping information generated by the target system specification information generator of the test system generator 20. Map I / O to the software under test.

상기 타겟 코덱(430)은 인코더와 디코더로 이루어지며, 테스터(30)로 전송하는 데이터를 인코딩하고, 테스터로부터 전송되는 테스트 데이터를 디코딩한다. The target codec 430 includes an encoder and a decoder, encodes data transmitted to the tester 30, and decodes test data transmitted from the tester.

상기 통신 인터페이스(440)는 테스터(30)와의 데이터 송수신을 담당한다. The communication interface 440 is responsible for data transmission and reception with the tester 30.

상기 스케쥴러(450)는 테스트 대상 소프트웨어의 ECU 및 네트워크 통합 스케줄링뿐만 아니라, 시뮬레이션부, SUT 인터페이스, 타겟 코덱, 통신 인터페이스들의 스케줄링을 담당한다. The scheduler 450 is responsible for scheduling the simulation unit, the SUT interface, the target codec, and the communication interfaces, as well as the ECU and network integrated scheduling of the test target software.

이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나, 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 그리고, 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다. Although the present invention has been described above with reference to preferred embodiments thereof, this is merely an example and is not intended to limit the present invention, and those skilled in the art do not depart from the essential characteristics of the present invention. It will be appreciated that various modifications and applications which are not illustrated above in the scope are possible. And differences relating to such modifications and applications should be construed as being included in the scope of the invention as defined in the appended claims.

본 발명에 따른 테스트 시스템은 자동차나 IT 분야의 전자 제품등에 사용되는 임베디드 소프트웨어의 테스트등을 위하여 널리 사용될 수 있다. The test system according to the present invention can be widely used for testing embedded software used in electronic products in automobiles or IT fields.

도 1은 본 발명의 바람직한 실시예에 따른 내장형 소프트웨어의 테스트 자동화 시스템을 전체적으로 도시한 구성도이다. 1 is a block diagram showing an overall test automation system of embedded software according to a preferred embodiment of the present invention.

도 2는 본 발명의 바람직한 실시예에 따른 테스트 시스템 생성부(20)에 의해 테스트 데이터가 생성되는 과정을 예시적으로 도시한 도면이다. 2 is a diagram exemplarily illustrating a process of generating test data by the test system generator 20 according to an exemplary embodiment of the present invention.

도 3은 본 발명에 따른 테스트 명세 정보 생성기(250)에 의해 생성되는 테스트 ID 및 템플릿을 예시적으로 도시한 자료이다. FIG. 3 is a data exemplarily illustrating a test ID and a template generated by the test specification information generator 250 according to the present invention.

도 4는 본 발명의 바람직한 실시예에 따른 테스트 컴포넌트(300)를 예시적으로 도시한 도면이다. 4 is a diagram illustrating a test component 300 in accordance with a preferred embodiment of the present invention.

도 5는 본 발명의 바람직한 실시예에 따른 타겟 시스템의 일부를 구체적으로 도시한 구성도이다. 5 is a diagram illustrating in detail a part of a target system according to an exemplary embodiment of the present invention.

도 6은 본 발명의 바람직한 실시예에 따른 테스트 ID/SUT 맵핑 정보들과 스케쥴러 명세를 예시적으로 도시한 것이다. 6 exemplarily illustrates test ID / SUT mapping information and a scheduler specification according to a preferred embodiment of the present invention.

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

10 : 내장형 소프트웨어의 테스트 자동화 시스템10: test automation system of embedded software

20 : 테스트 시스템 생성부20: test system generation unit

30 : 테스터30: tester

40 : 타겟 시스템40: target system

200 : 테스트 케이스 파서200: test case parser

210 : 테스트 케이스 명세 정보 추출기210: test case specification information extractor

220 : 테스트 데이터 생성기220: test data generator

230 : 소프트웨어 명세 파서230: Software Specification Parser

240 : 소프트웨어 명세 정보 추출기240: Software Specification Information Extractor

250 : 테스터 명세 정보 생성기250: tester specification information generator

260 : 타겟 시스템 시뮬레이션 생성기260: Target System Simulation Generator

270 : 타겟 시스템 명세 정보 생성기270: target system specification information generator

300 : 테스트 컴포넌트300: test component

310 : 코덱310: codec

320 : 통신 인터페이스320: communication interface

400 : 테스트 대상 소프트웨어(System Under Test;'SUT')400: Software Under Test ('SUT')

410 : 시뮬레이션부410: simulation unit

420 : SUT 인터페이스부420: SUT interface unit

430 : 타겟 코덱430 target codec

440 : 통신 인터페이스440: communication interface

450 : 스케쥴러450: scheduler

Claims (6)

외부로부터 입력된 테스트 케이스 명세 및 내장형 소프트웨어 명세를 이용하여 테스트 대상 소프트웨어를 자동으로 테스트할 수 있는 내장형 소프트웨어 자동화 시스템에 있어서, In the embedded software automation system that can automatically test the software under test using the test case specification and the embedded software specification input from the outside, 상기 테스트 케이스 명세 및 상기 내장형 소프트웨어 명세를 파싱하고 특정 정보를 추출하고, 추출된 정보들을 이용하여 테스트 데이터, 테스트 ID/템플릿, 타겟 시스템 시뮬레이션 모듈, 테스트ID/SUT 매핑 정보들을 생성하는 테스트 시스템 생성부; A test system generator for parsing the test case specification and the embedded software specification, extracting specific information, and generating test data, test ID / template, target system simulation module, and test ID / SUT mapping information using the extracted information. ; 상기 테스트 시스템으로부터 입력된 테스트 데이터 및 테스트 ID/템플릿을 타겟 시스템으로 송신하고 타겟 시스템으로부터 수행된 결과값을 수신하여 테스트 결과의 합격 여부를 결정하는 테스터; A tester which transmits test data and a test ID / template input from the test system to a target system and receives a result value performed from the target system to determine whether the test result is passed; 상기 테스터로부터 입력된 테스트 데이터 및 테스트 ID/템플릿을 이용하여 테스트 대상 소프트웨어를 수행하고 그 결과값을 상기 테스터로 송신하는 타겟 시스템;A target system that performs the test target software using the test data and test ID / template input from the tester and transmits a result value to the tester; 을 구비하는 내장형 소프트웨어 테스트 자동화 시스템. Embedded software test automation system having a. 제1항에 있어서, 상기 테스트 케이스 명세 및 상기 내장형 소프트웨어 명세는 XML 형식으로 작성되는 것을 특징으로 하는 내장형 소프트웨어 테스트 자동화 시스템. 2. The embedded software test automation system of claim 1, wherein the test case specification and the embedded software specification are written in XML format. 제1항에 있어서, 상기 테스트 시스템 생성부는,The method of claim 1, wherein the test system generating unit, 테스트 케이스 명세를 파싱하여 TTCN-3 기반의 언어로 변환시키는 테스트 케이스 파서;A test case parser for parsing the test case specification and converting the test case specification into a TTCN-3 based language; TTCN-3 기반의 언어로 변환된 상기 테스트 케이스 명세로부터 특정 정보를 추출하는 테스트 케이스 명세 정보 추출기; A test case specification information extractor extracting specific information from the test case specification converted into a TTCN-3 based language; 상기 테스트 케이스 명세 정보 추출기에 의해 테스트 케이스 명세로부터 추출된 정보들을 사용하여 테스트 데이터를 생성하는 테스트 데이터 생성기;A test data generator for generating test data using information extracted from a test case specification by the test case specification information extractor; 상기 소프트웨어 설계 명세를 파싱하여 TTCN-3 기반으로 한 언어로 변환시키는 소프트웨어 명세 파서;A software specification parser for parsing the software design specification and converting the software design specification into a TTCN-3 based language; TTCN-3 기반으로 한 언어로 변환된 소프트웨어 설계 명세로부터 특정 정보를 추출하는 소프트웨어 명세 정보 추출기; A software specification information extractor for extracting specific information from a software design specification converted into a language based on TTCN-3; 상기 소프트웨어 명세 정보 추출기에 의해 소프트웨어 설계 명세로부터 추출된 정보들을 이용하여 테스트 ID 및 템플릿을 생성하는 테스터 명세 정보 생성기;A tester specification information generator for generating a test ID and a template using the information extracted from the software design specification by the software specification information extractor; 상기 소프트웨어 명세 정보 추출기에 의해 소프트웨어 설계 명세로부터 추출된 정보들을 이용하여 시뮬레이션 모듈들을 생성하는 타겟 시스템 시뮬레이션 생성기; A target system simulation generator for generating simulation modules using information extracted from a software design specification by the software specification information extractor; 상기 소프트웨어 명세 정보 추출기에 의해 소프트웨어 설계 명세로부터 추출된 정보들을 이용하여 타겟 시스템의 스케쥴러 명세 및 테스트 ID/SUT 맵핑 정보들을 생성하는 타겟 시스템 명세 정보 생성기;A target system specification information generator for generating scheduler specification and test ID / SUT mapping information of a target system using information extracted from the software design specification by the software specification information extractor; 를 구비하는 것을 특징으로 하는 내장형 소프트웨어 테스트 자동화 시스템. Embedded software test automation system comprising a. 제3항에 있어서, 상기 타겟 시스템 시뮬레이션 생성기에 의해 자동으로 생성되는 시뮬레이션 모듈들은 RTE(Runtime Enviroment) 모듈, 운영체제 모듈, 네트워크 통신 모듈, 하드웨어 입출력 모듈들 중 하나 또는 둘 이상을 포함하는 것을 특징으로 하는 내장형 소프트웨어 테스트 자동화 시스템. 4. The simulation module of claim 3, wherein the simulation modules automatically generated by the target system simulation generator include one or more of a Runtime Enviroment (RTE) module, an operating system module, a network communication module, and a hardware input / output module. Embedded software test automation system. 제1항에 있어서, 상기 테스터는, The method of claim 1, wherein the tester, 상기 테스트 시스템 생성부로부터 입력된 테스트 데이터와 테스트 ID/템플릿을 타겟 시스템으로 송신하고 타겟 시스템으로부터 수행된 결과값을 수신하여 테스트 결과의 합격 여부를 결정하는 테스트 컴포넌트;A test component which transmits test data and a test ID / template input from the test system generator to a target system and receives a result value performed by the target system to determine whether the test result is passed; 테스터와 타겟 시스템간에 송수신되는 데이터들을 변환하는 코덱;A codec for converting data transmitted and received between the tester and the target system; 테스터와 타겟 시스템간의 데이터를 송수신하는 통신 인터페이스;A communication interface for transmitting and receiving data between the tester and the target system; 를 구비하는 것을 특징으로 하는 내장형 소프트웨어 테스트 자동화 시스템. Embedded software test automation system comprising a. 제1항에 있어서, 상기 타겟 시스템은,The method of claim 1, wherein the target system, 상기 테스트 시스템 생성부에 의해 생성된 시뮬레이션 모듈들로 구성되는 시뮬레이션부;A simulation unit composed of simulation modules generated by the test system generation unit; 상기 테스트 시스템 생성부에 의해 생성되는 테스트 ID/SUT 맵핑 정보들을 이용하여 각 버퍼와 테스트 대상 소프트웨어의 입출력을 맵핑하는 SUT 인터페이스 부;An SUT interface unit for mapping input / output of each buffer and test target software using test ID / SUT mapping information generated by the test system generator; 테스터로 전송하는 데이터를 인코딩하고, 테스터로부터 전송되는 테스트 데이터를 디코딩하는 타겟 코덱;A target codec that encodes data to be sent to the tester and decodes test data sent from the tester; 테스터와 타겟 시스템간의 데이터를 송수신하는 통신 인터페이스;A communication interface for transmitting and receiving data between the tester and the target system; 상기 테스트 시스템 생성부에 의해 생성되는 스케쥴러 명세를 이용하여 테스트 대상 소프트웨어 및 타겟 시스템의 스케줄링을 관리하는 스케줄러;A scheduler for managing scheduling of a test target software and a target system by using a scheduler specification generated by the test system generator; 를 구비하는 것을 특징으로 하는 내장형 소프트웨어 테스트 자동화 시스템. Embedded software test automation system comprising a.
KR1020090117359A 2009-11-30 2009-11-30 Automated testing method and system for embedded software KR101019166B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090117359A KR101019166B1 (en) 2009-11-30 2009-11-30 Automated testing method and system for embedded software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090117359A KR101019166B1 (en) 2009-11-30 2009-11-30 Automated testing method and system for embedded software

Publications (1)

Publication Number Publication Date
KR101019166B1 true KR101019166B1 (en) 2011-03-04

Family

ID=43938362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090117359A KR101019166B1 (en) 2009-11-30 2009-11-30 Automated testing method and system for embedded software

Country Status (1)

Country Link
KR (1) KR101019166B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736976A (en) * 2012-04-24 2012-10-17 上海斐讯数据通信技术有限公司 Debugging system and debugging method thereof
CN105868114A (en) * 2016-03-31 2016-08-17 复旦大学 FPGA software system and all module testing system and method thereof
CN106201880A (en) * 2016-07-12 2016-12-07 上海恒企教育培训有限公司 A kind of ERP business simulating system and fast construction method thereof
CN112084113A (en) * 2020-09-16 2020-12-15 上海创景信息科技有限公司 Configurable automatic test method and system based on embedded simulation verification software
CN115599074A (en) * 2022-10-21 2023-01-13 扬州宇安电子科技有限公司(Cn) Main control board software and hardware testing method, device and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010009138A (en) * 1999-07-07 2001-02-05 윤종용 System and method for testing an embedded system software
KR20010009140A (en) * 1999-07-07 2001-02-05 윤종용 System and method for testing an embedded software
KR20090030363A (en) * 2007-09-20 2009-03-25 엠디에스테크놀로지 주식회사 System for testing embedded device and method therefor

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010009138A (en) * 1999-07-07 2001-02-05 윤종용 System and method for testing an embedded system software
KR20010009140A (en) * 1999-07-07 2001-02-05 윤종용 System and method for testing an embedded software
KR20090030363A (en) * 2007-09-20 2009-03-25 엠디에스테크놀로지 주식회사 System for testing embedded device and method therefor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
금대현 외 2명, "AUTOSAR 기반 소프트웨어 호환성 테스트 자동화 방법 및 프로세스", 2009 KSAE 부문종합 학술대회, 2009.4

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102736976A (en) * 2012-04-24 2012-10-17 上海斐讯数据通信技术有限公司 Debugging system and debugging method thereof
CN102736976B (en) * 2012-04-24 2015-02-18 上海斐讯数据通信技术有限公司 Debugging system and debugging method thereof
CN105868114A (en) * 2016-03-31 2016-08-17 复旦大学 FPGA software system and all module testing system and method thereof
CN105868114B (en) * 2016-03-31 2019-04-05 复旦大学 FPGA software systems and its each module test system and method
CN106201880A (en) * 2016-07-12 2016-12-07 上海恒企教育培训有限公司 A kind of ERP business simulating system and fast construction method thereof
CN112084113A (en) * 2020-09-16 2020-12-15 上海创景信息科技有限公司 Configurable automatic test method and system based on embedded simulation verification software
CN112084113B (en) * 2020-09-16 2024-02-23 上海创景信息科技有限公司 Configurable automatic test method and system based on embedded simulation verification software
CN115599074A (en) * 2022-10-21 2023-01-13 扬州宇安电子科技有限公司(Cn) Main control board software and hardware testing method, device and system
CN115599074B (en) * 2022-10-21 2023-08-29 扬州宇安电子科技有限公司 Main control board software and hardware testing method, device and system

Similar Documents

Publication Publication Date Title
KR101134735B1 (en) Software testing method and system using software component design information
KR101019166B1 (en) Automated testing method and system for embedded software
CN107239398B (en) Postman-based automatic interface test case generation system and method
KR101017952B1 (en) Automatizing system for testing autosar software based on ttcn-3 and tesing method using the same
CN103218294A (en) Debugging method for embedded system, debugging conversion device and system
CN112285538B (en) Chip testing method and system
CN113971110A (en) Interface testing method, device, equipment and computer readable storage medium
CN112084802B (en) RFID tag chip verification system
CN103346927A (en) System and method for testing terminal consistency
KR101626382B1 (en) Testing language conversion apparatus and its method
KR101587279B1 (en) Functional safety testing device having user interface for msc input and testing method thereof
CN114338849A (en) Protocol message processing method and device, electronic equipment and storage medium
JP2010015240A (en) Verification system and verification device
CN116306479A (en) UVM-based Ethernet PHY universal verification platform and verification method
CN114845328B (en) Polymorphism NR radio frequency test system, test case generation method and test method
CN104579837A (en) Method and system for performing conformance testing on OpenFlow protocols
US20160224456A1 (en) Method for verifying generated software, and verifying device for carrying out such a method
CN111736924B (en) Method, device, equipment and medium for accessing data acquisition instrument based on Lua script
CN108255694A (en) Test method and system based on interpreter
Drobintsev et al. A formal approach to test scenarios generation based on guides
CN101751321B (en) Method and system for realizing dynamic and visual check of variable
Neag et al. Applications of IEEE P1671. 1 ATML test description
Asplund et al. Towards the automated qualification of tool chain design
CN116489254B (en) Method for debugging lower computer by using upper computer
CN111190780B (en) Multi-platform supporting production testing method, production testing equipment and production testing system

Legal Events

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

Payment date: 20140212

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150206

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160203

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee