The Korean Society Of Automotive Engineers
[ <응용논문> ]
Transactions of the Korean Society of Automotive Engineers - Vol. 28, No. 11, pp.827-834
ISSN: 1225-6382 (Print) 2234-0149 (Online)
Print publication date 01 Nov 2020
Received 15 Sep 2020 Revised 20 Oct 2020 Accepted 21 Oct 2020
DOI: https://doi.org/10.7467/KSAE.2020.28.11.827

AUTOSAR 런타임 환경 및 베이직 소프트웨어 테스트 방법에 관한 연구

금대현* ; 권수현 ; 이성훈
대구경북과학기술원 미래자동차연구부
A Study on AUTOSAR RTE and BSW Test Method
Daehyun Kum* ; Soohyeon Kwon ; Seonghun Lee
Division of Automotive Technology, DGIST, 333 Techno jungang-daero, Hyeonpung-myeon, Dalseong-gun, Daegu 42988, Korea

Correspondence to: *E-mail: kumdh@dgist.ac.kr

Copyright Ⓒ 2020 KSAE / 180-10
This is an Open-Access article distributed under the terms of the Creative Commons Attribution Non-Commercial License(http://creativecommons.org/licenses/by-nc/3.0) which permits unrestricted non-commercial use, distribution, and reproduction in any medium provided the original work is properly cited.

Abstract

Automotive software is increasingly becoming more complex but the development period is becoming shorter. Most vehicle manufacturers are carrying out development using a standard software platform to improve reliability and reusability as well as to reduce development costs. It is necessary to validate the function and performance of the software from the development stage in order to prevent vehicular accidents. In order to simplify testing of the ECU software and to easily find the cause of an error, AUTOSAR RTE and BSW should be tested prior to integration of the application software. In this study, we propose a test system and test method for the AUTOSAR RTE and BSW. With the proposed AUTOSAR test system, the testing time and effort required during the development could be minimized. The software quality could also be improved by testing the AUTOSAR functions.

Keywords:

AUTOSAR, BSW, RTE, AUTOSAR AT, Software testing

키워드:

오토사, 베이직 소프트웨어, 런타임 환경, 오토사 테스트, 소프트웨어 테스팅

1. 서 론

전자화 및 자율주행 기능으로 인하여 자동차 소프트웨어는 점차 복잡해지고, 개발 기간은 단축되고 있으며, 대부분의 차량 제조사는 신뢰성 향상, 재사용성, 개발 비용 절감을 위하여 표준 소프트웨어 플랫폼을 적용하고 있다. 차량 소프트웨어 표준플랫폼 AUTOSAR는 응용 소프트웨어 컴포넌트(SWC), 런타임 환경(RTE) 그리고 베이직 소프트웨어(BSW)와 같은 세 계층으로 구성되며, 기능 단위로 모듈화하고 표준화된 인터페이스를 적용하고 있다. 베이직 소프트웨어는 운영체제, 네트워크 통신, 하드웨어 입출력, 메모리, 진단, 시스템 서비스 등의 복잡하고 다양한 기능을 제공한다.1,2) 또한 AUTOSAR는 AT(Acceptance Test) 사양을 제공하여 런타임 환경 및 베이직 소프트웨어 기능을 테스트하도록 하고 있다.3)

소프트웨어의 복잡도가 증가하면서 자동차 실시간 시스템의 높은 신뢰성 기준을 만족하기는 점점 어려워지고 있으므로, 개발 단계부터 체계적으로 소프트웨어의 기능 및 성능을 검증하여 사고를 방지해야 한다. AUTOSAR를 적용하여 개발할 경우 AUTOSAR 런타임 환경과 베이직 소프트웨어의 기능 검증을 한 이후에 응용 소프트웨어와 통합해야 하며, 그렇지 않을 경우, 오류 원인 분석 및 수정에 많은 시간과 노력이 필요하게 된다.

자동차 제어기의 소프트웨어 테스트를 위해서 테스트 케이스, 테스트 시스템 그리고 테스트 대상 제어기가 필요하다. 본 연구에서는 AUTOSAR 런타임 환경과 베이직 소프트웨어의 기능 및 설계 검증을 위한 테스트 방법 및 시스템에 대해서 제안하고자 한다. AUTOSAR AT 사양과 시스템의 요구사항을 기반으로 테스트 케이스를 작성하고, 테스트 대상 제어기는 양산에 적용되는 제어기를 사용한다. 테스트 시스템은 테스트 수행 절차를 제어하는 외부 테스트 시스템과 실제 테스트를 수행하는 테스트 매니저와 테스터로 구성된다.

AUTOSAR 테스트 시스템을 적용함으로써 응용 소프트웨어와 통합하기 전에 AUTOSAR의 상세 기능에 대해서 테스트할 수 있으며, 테스트에 소요되는 시간과 노력을 최소화할 수 있다.

본 논문의 2장에서는 관련 연구 및 연구 배경을 설명하고, 3장에서는 AUTOSAR 소프트웨어 플랫폼에 대해서 설명하고 있으며, AUTOSAR에서 제안하는 테스트 시스템 및 테스트 케이스에 대해서 소개한다. 4장에서는 본 연구에서 제안하고 있는 테스트 시스템의 설계와 테스트 방법에 대해서 소개를 하고 있으며, 5장에서는 런타임 환경 및 베이직 소프트웨어의 테스트 수행 방법 및 결과에 대해서 소개하고 있다.


2. 관련 연구 및 연구 배경

2.1 관련 연구

AUTOSAR 관련 연구는 아키텍처 설계, 시스템 테스트, 소프트웨어 컴포넌트 테스트, 베이직 소프트웨어 테스트 등 다양한 연구가 진행되고 있다.

AUTOSAR 아키텍처는 복잡하고 다양한 기능들을 많이 포함하고 있어서 설계하기가 쉽지 않기 때문에, 아키텍처를 단순화하여 쉽고 효율적인 설계를 할 수 있는 방법에 대한 연구가 있었다.4)

AUTOSAR 플랫폼을 이용하여 개발된 시스템의 소프트웨어 성능 테스트 방법을 제시한 연구,5) 모델 기반 기법을 적용한 모드 관리 기법을 적용함으로써 소프트웨어 품질을 향상시키는 방법을 제안한 연구,6) CAN 네트워크 측정 및 실험 장치를 이용하여 고장을 주입하여 고장 제어 메커니즘들이 잘 작동하는지 테스트하는 등의 연구가 진행되었다.7)

응용 소프트웨어의 신뢰성을 높이기 위해서 소프트웨어 컴포넌트 테스트에 관한 연구가 있었으며, 소프트웨어 설계 정보를 이용하여 응용 소프트웨어 컴포넌트를 테스트할 수 있는 테스트 케이스 및 테스트 환경을 생성하여 테스트에 드는 노력 및 시간을 줄여주는 방법을 보여주고 있다.8)

베이직 소프트웨어의 테스트를 위하여 AUTOSAR 표준으로부터 테스트 자동화 모델을 만들어서 테스트에 소요되는 비용을 절감하는 연구, AUTOSAR 설계 정보로부터 테스트 케이스 및 테스트 환경을 생성하여 실제 ECU에서 테스트할 수 있는 연구가 진행되었다.9-11)

지금까지 진행된 AUTOSAR 테스트 관련 연구와 같이 AUTOSAR 소프트웨어의 설계 정보는 ARXML 파일을 이용하여 쉽게 접근이 가능하며, 이를 이용하여 다양한 기능에 대해서 테스트 케이스 및 테스트 환경을 자동으로 생성함으로써 테스트에 소요되는 시간 및 비용을 절감하는 연구가 진행되었다. AUTOSAR 표준에서는 AT 사양을 제공하여 런타임 환경 및 베이직 소프트웨어를 위한 테스트 케이스 및 테스트 환경에 대해서 정의하고 있다.

2.2 연구 배경

AUTOSAR AT 사양은 일반적인 기능과 일반적인 시스템에 대한 테스트 케이스 및 테스트 시스템을 정의하고 있을 뿐 실제 테스트에 적용하기 위한 상세 설계 및 구현에 대해서는 제공하지 않는다. 지금까지의 AUTOSAR 테스팅 관련 연구도 ARXML을 이용해서 테스트를 자동화하는 일반적인 방법론만 제시하고 있으며, 실제 제어기를 대상으로 테스트할 수 있는 구체적인 테스트 방법과 테스트 시스템을 제시하고 있지 않다.

본 연구에서는 AUTOSAR 런타임 환경과 및 베이직 소프트웨어의 세부 기능을 실제 제어기를 대상으로 테스트할 수 있는 테스트 방법과 테스트 시스템에 대해서 상세 설계 및 구현을 소개하고자 한다.


3. AUTOSAR 소개

3.1 AUTOSAR 소프트웨어 아키텍처

AUTOSAR 클래식 플랫폼은 Fig. 1과 같이 베이직 소프트웨어, 런타임 환경 및 소프트웨어 컴포넌트로 나눌 수 있는 계층구조를 가지고 있으며, 표준화된 인터페이스를 통하여 컴포넌트 및 모듈화 간에 데이터를 교환한다.

Fig. 1

AUTOSAR software architecture

AUTOSAR는 XML 형식의 ARXML 파일을 정의하여 각 개발 단계에서 필요한 소프트웨어 설계 정보를 쉽게 공유할 수 있도록 하였다. ARXML 파일에는 소프트웨어 컴포넌트, 런타임 환경, 베이직 소프트웨어의 모든 설계 정보가 저장되어 있으며, ARXML로부터 필요한 정보를 추출하여 테스트 시스템의 생성에 이용한다.

3.2 AUTOSAR AT (Acceptance Test)

AUTOSAR는 테스트 시간과 비용을 최소화하기 위해서 AUTOSAR의 기능 테스트를 위한 AT 사양을 제공하고 있으며, 테스트 케이스와 테스트 시스템 구성에 대해서 설명하고 있다. AUTOSAR AT는 AUTOSAR 설계 검증을 위한 블랙박스 테스트이며, 응용 소프트웨어와 통합하기 전에 수행한다. Fig. 2는 AUTOSAR AT 방법에 대한 개념을 보여주고 있으며, AUTOSAR 표준을 참고하여 테스트해야 할 기능에 대해서 정의한다.

Fig. 2

AUTOSAR AT(Acceptance Test) concept

AUTOSAR AT는 런타임 환경, 베이직 소프트웨어에 대한 테스트 케이스를 정의하고 있다. 런타임 환경 관련해서는 소프트웨어 컴포넌트 및 베이직 소프트웨어 사이의 통신, 런어블의 스케줄링, 모드 변환 등에 관한 테스트를 정의하고 있다. 베이직 소프트웨어 관련해서는 진단 서비스, 메모리 서비스, 모드 서비스, 네트워크 통신 서비스 등에 관련된 기능에 대한 테스트를 정의하고 있다.

AUTOSAR AT 테스트 시스템은 Fig. 3과 같이 외부 테스트 시스템과 테스트 대상 제어기(SUT, System Under Test)로 구성되며 테스트 케이스 및 결과는 네트워크 통신으로 주고받는다. 테스터는 테스트 대상 모듈(IUT, Implementation Under Test)의 상세 기능을 테스트한다.

Fig. 3

AUTOSAR AT test system

그러나 AUTOSAR AT는 테스트에 필요한 구체적인 설계 및 구현에 대해서 정의하고 있지 않다. 본 연구에서는 AUTOSAR 소프트웨어의 기능 테스트 방법 및 테스트 시스템에 대한 구체적인 설계를 하였다.


4. AUTOSAR 테스트 시스템 설계

4.1 테스트 시스템의 기능

본 연구에서는 자동차 제어기의 AUTOSAR 소프트웨어 기능에 대해서 테스트하는 방법을 제시하고 있으며, 아래와 같은 연구 기능을 목표로 설계하였다.

  • • 런타임 환경 및 베이직 소프트웨어 설계 검증
  • • 테스트 방법 및 테스트 시스템 상세 설계
  • • 실제 제어기에 적용 가능한 테스트 시스템
  • • ARXML을 이용한 테스트 시스템 생성
  • • 테스트에 소요되는 시간 및 노력 최소화

AUTOSAR 표준을 적용함으로써 응용 소프트웨어와 런타임 환경 및 베이직 소프트웨어를 각각 동시에 설계 및 구현하여 통합하는 개발 과정을 가지며, 이들을 통합하기 전에 AUTOSAR 런타임 환경 및 베이직 소프트웨어의 기능 테스트를 완료하여야 한다.

AUTOSAR ARXML에 저장된 정보를 이용하면 테스트가 필요한 기능을 쉽게 분석하여 테스트 환경을 생성할 수 있으며, 테스트를 자동으로 수행할 수 있다. 개발 과정에서 소프트웨어의 설계 변경 및 수정은 빈번하게 발생하며, 그때마다 테스트 시스템도 수정되어야 한다. 반복되는 설계 변경과 테스트를 자동화함으로써 테스트에 소요되는 시간과 노력을 최소화 할 수 있다.

4.2 테스트 시스템의 개념

테스트를 위한 과정은 Fig. 4와 같이 소프트웨어 설계, 테스트 시스템 생성, 테스트 수행 단계로 이루어지며, 테스트 환경은 외부 테스트 시스템과 테스트 대상 제어기로 구성된다.

Fig. 4

Overview of the test system

소프트웨어 컴포넌트, 런타임 환경, 베이직 소프트웨어 등에 대한 설계 정보가 포함된 ARXML 파일과, 시스템 요구사항, AUTOSAR AT로부터 테스트 시스템 생성에 필요한 정보를 추출하여 테스트 케이스 모듈과 테스트 매니저, 테스터 소프트웨어 컴포넌트를 생성한다. AUTOSAR AT에서는 런타임 환경, 통신, 메모리, 모드 관리 등에 대해서 기본적인 테스트 케이스를 정의하고 있다. 테스터 소프트웨어 컴포넌트는 제어기 내부에 구현된 런타임 환경 및 베이직 소프트웨어의 기능 테스트를 수행한다.

외부 테스트 시스템과 테스트 대상 제어기는 CAN 네트워크를 통하여 테스트 입력 및 테스트 결과를 서로 주고받는다. 외부 테스트 시스템은 테스트 케이스 모듈과 하드웨어 입출력 제어 모듈로 구성되며, 테스트 수행 절차에 제어 및 테스트 수행 중에 하드웨어 동작 상태 모니터링을 할 수 있다.

각 모듈별로 테스트 케이스와 테스터는 라이브러리 형태로 만들어서 관리한다. AUTOSAR AT 사양에서 기본적으로 제공되는 런타임 환경과 베이직 소프트웨어에 대한 테스트 케이스 및 하드웨어 입출력에 대한 테스트 케이스 라이브러리를 만들고, 테스트 케이스와 부합되는 기능을 테스터 라이브러리로 만든다. ARXML 파일로부터 각 모듈에서 실제로 설계되어 있어서 기능을 식별하여 라이브러리로부터 선택하여 테스트 케이스 모듈 및 테스터 모듈을 생성한다.

테스트 과정은 Fig. 5와 같으며, 테스트 CAN 메시지는 테스트 모듈, 테스트 기능, 테스트 스텝, 테스트 입력 또는 테스트 결과 등 8개의 신호로 구성된다. 먼저 외부 테스트 시스템에서 테스트 케이스 CAN 메시지를 테스트 매니저에 보낸다. 테스트 매니저는 제어기의 초기화 등 테스트 수행에 필요한 상태를 만든 후에, 실제 테스트를 수행할 테스터 소프트웨어 컴포넌트에 테스트 요청 신호를 보낸다. 테스터 소프트웨어 컴포넌트는 런타임 환경 또는 베이직 소프트웨어 기능에 대한 실제 테스트를 수행하고 결과 데이터를 테스트 매니저에 보낸다. 테스트 매니저는 수행 결과 데이터를 분석하여 테스트의 합격 유무를 판단하고, 그 결과를 외부 테스트 시스템에 CAN 메시지로 송신한다.

Fig. 5

Test process

4.3 테스트 매니저 및 테스터

테스트 매니저의 상세 구조는 Fig. 6과 같이 구성된다. 테스트 입력 런어블은 외부 테스트 시스템으로부터 테스트 케이스를 입력받고, 베이직 소프트웨어 제어 런어블은 테스트의 수행을 위해서 초기화, ECU 모드 변경 등을 수행한다. AUTOSAR 각 기능별로 평가 런어블이 있으며, 테스트 수행된 결과 데이터를 받아서 테스트 결과를 평가한다. 테스트 결과 런어블은 테스트 결과를 외부 테스트 시스템으로 송신한다.

Fig. 6

Test manager of the test system

테스터의 상세 구조는 Fig. 7과 같이 구성된다. 테스트 제어 런어블은 테스트를 실제 수행하는 런어블의 테스트를 활성화하고, 테스트가 끝나면 테스트 데이터를 테스트 매니저에 보내다. 테스터 런어블은 실제 AUTOSAR 기능들의 테스트를 수행하고, 테스트 과정에서 발생한 데이터를 메모리에 저장한다.

Fig. 7

Tester of the test system


5. AUTOSAR 테스트 수행 및 결과

5.1 런타임 환경 테스트

런타임 환경을 위한 테스트는 클라이언트-서버 통신, 샌더-리시버 통신의 데이터 교환에 관련된 테스트, 런어블의 실행과 관련된 스케줄링 테스트로 구성된다. 런타임 환경 테스트를 위해서는 데이터 교환에 관련된 속성이 있는 인터페이스, 런어블의 스케줄링 속성이 있는 소프트웨어 컴포넌트로부터 설계 정보를 추출하여 테스트에 필요한 환경을 생성한다.

클라이언트-서버 통신 테스트 시스템은 Fig. 8과 같이 구성되며, 테스트 방법은 다음과 같다. 우선 테스트 매니저는 외부로부터 테스트 클라이언트-서버 통신 테스트 케이스를 받으면 런타임 환경을 초기화시키고, 클라이언트와 서버 소프트웨어 컴포넌트에 테스트 요청을 보낸다. 테스트 요청을 받으면 테스터 제어 런어블은 클라이언트와 서버 소프트웨어 컴포넌트의 통신 테스트를 활성화시킨다. 테스트를 수행한 이후 결과와 소요 시간 등을 테스트 데이터 메모리에 저장하고, 테스트 제어 런어블은 결과를 테스트 매니저에 송신한다. 샌더-리시버 통신 방식의 테스트도 클라이언트 서버와 같은 방식으로 테스트를 한다.

Fig. 8

Client-server communication test

스케줄링 테스트 환경은 Fig. 9와 같이 구성되며, 스케줄링 관련 이벤트는, 타이밍, 트리거, 모드 스위치, 초기화 등이 있다. 스케줄링 테스트를 위해서 테스트 매니저는 ECU와 런타임 환경을 초기화 시킨 이후에 각 런어블의 실행 이벤트의 테스트를 수행한다.

Fig. 9

Scheduling test

초기 이벤트 및 타이밍 이벤트는 런타임 환경을 초기화시키면서 트리거가 실행되고, 데이터 수신 이벤트는 송신하는 런어블에서, 서버 호출 이벤트는 클라이언트에서, 모드 스위치 이벤트는 모드 매니저에서 각각 트리거 된다. 이벤트가 발생했을 때 런어블의 실행 여부 및 시간 등을 체크하여 테스트 데이터 메모리에 저장하고, 결과 값을 테스트 매니저에 송신한다.

5.2 베이직 소프트웨어 테스트

베이직 소프트웨어의 테스트는 네트워크 통신, 메모리 읽고 쓰기, 진단, 하드웨어 입출력, 시스템 서비스 등이 있으며, 본 논문에서는 대표적으로 CAN 네트워크 송신 테스트와 하드웨어 입력 테스트를 소개한다.

CAN 네트워크 메시지의 송수신과 관련된 베이직 소프트웨어 모듈은 COM, PduR, CanIf, CanDrv 등이 있으며, Fig. 10과 같이 외부 테스트 시스템과 메시지를 송수신하면서 기능 테스트를 수행한다.

Fig. 10

CAN transmission test

우선 외부 테스트 시스템이 CAN 송신 테스트 케이스를 테스트 매니저에 보내면, 테스트 매니저는 제어기 리셋 및 소프트웨어 초기화를 수행하고 CAN 통신이 가능한 상태를 만든다. 테스트 제어 런어블은 CAN 메시지를 송신 테스트를 활성화시킨 후, CAN 메시지를 송신하고, 송신 데이터와 송신 시간 등을 테스트 데이터에 저장하고 송신이 완료되면 테스트 매니저로 테스트 데이터를 송신한다. 외부 테스트 시스템은 테스트 대상 제어기가 보낸 메시지를 다시 테스트 매니저로 보내고, 테스트 매니저가 테스트 결과를 판단한다. CAN 메시지 수신, 네트워크 모드 관리 등의 다른 테스트도 이와 같은 방식으로 수행할 수 있다.

하드웨어 입출력 테스트를 위하여 하드웨어 제어 모듈과 ECU 입출력을 미리 연결해야 하며, 하드웨어 입력 테스트는 Fig. 11과 같이 수행한다. 우선 테스트 케이스 모듈에서 하드웨어 입력 테스트 케이스를 보내서 하드웨어 입출력 테스트가 가능한 상태를 만들고 하드웨어 입력 테스트를 활성화시킨다. 다음으로 하드웨어 제어 모듈에서 ECU로 디지털 입력 값을 보내서 앞서 설명한 CAN 테스트와 같은 방법으로 테스트를 수행한다.

Fig. 11

Hardware IO test

5.3 테스팅 결과

테스트 시스템은 Fig. 12의 사진과 같이 테스트 대상 제어기, 테스트 케이스를 관리하는 외부 테스트 시스템에 해당하는 Vector 네트워크 장비, 하드웨어의 입출력 제어를 위한 Trace32와 하드웨어 모듈로 구성된다.

Fig. 12

Test system

AUTOSAR를 적용하여 실제 양산에 적용되는 SBW(Shift-by-wire)제어기를 본 연구에서 제안하는 테스트 시스템을 적용하여 테스트를 하였다.

Table 1과 같이 런타임 환경, CAN 네트워크, 메모리 읽고 쓰기, 진단, 하드웨어 입출력, 시스템 모드, 통신 서비스, 와치독, 진단 등의 기능에 대해서 테스트를 하였다.

AUTOSAR testing result

8개 클러스터에 대해서 AUTOSAR 모듈 29개에 대한 테스트를 진행하였으며, 안전 및 보안 관련 기능을 제외한 대부분의 기능 테스트를 진행하였다.

소프트웨어 전문 테스트 기관인 한국정보통신기술협회(TTA)를 통해 AUTOSAR 기능 테스트 평가를 완료하였으며 본 연구에서 제안하는 테스트 시스템을 적용한 모든 기능에 대해서 합격 성적을 받았다. 본 연구에서 제안하는 테스트 시스템과 테스트 케이스를 이용하면 AUTOSAR 설계 검증에는 1시간 이내의 시간이 소요되었다.

AUTOSAR 소프트웨어에 대한 설계 검증을 하지 않은 상태에서 응용 소프트웨어와 통합하여 테스트를 할 경우에는, 오류가 발생하면 그 원인을 찾는데 어려움이 있었다. 본 연구에서 제안한 테스트 방법을 적용하여 AUTOSAR 기능 검증을 한 이후에 통합하여 테스트한 경우에는 오류의 원인을 쉽게 찾고 수정할 수 있었다. 그리고 테스트 케이스 및 테스트 실행 환경을 시스템화 하여 테스트에 소요되는 시간과 노력을 최소화 할 수 있었다.

테스트 시스템을 처음 개발하기 위해서는 ECU 소프트웨어 개발과 비슷한 시간과 노력이 필요하다. 하지만 반복적인 테스트 과정을 쉽고 빠르게 수행할 수 있었으며, 테스트 시스템을 통해서 소프트웨어 품질을 향상시킬 수 있었다.


6. 결 론

AUTOSAR를 적용하여 개발하는 시스템에서 런타임 환경과 베이직 소프트웨어의 설계는 시스템의 요구사항에 따라 다양하게 변경되며, 테스트해야 할 기능도 시스템에 따라서 달라진다. 복잡한 AUTOSAR 런타임 환경 및 베이직 소프트웨어의 기능을 응용 소프트웨어와 통합하기 전에 검증하는 것은 필수적이다. AUTOSAR 기능에 대해서 검증을 하지 않고 통합된 상태에서 소프트웨어 테스트를 한다면 오류의 원인을 판단하고 수정하는 것은 더욱 힘들어질 것이다.

시스템의 요구사항이 변경되거나 소프트웨어의 수정이 있을 때마다 반복되는 AUTOSAR 런타임 환경 및 베이직 소프트웨어를 위한 테스트 방법 및 테스트 시스템의 설계 및 구현이 절실히 필요하다. 본 연구에서는 실제 제어기에 적용할 수 있는 AUTOSAR 런타임 환경 및 베이직 소프트웨어를 테스트할 수 있는 방법을 제안하였다.

이러한 AUTOSAR 테스트 시스템을 적용함으로써 개발 과정에서 빈번하게 발생하는 소프트웨어 변경 및 수정에 대해 최소한의 시간과 노력으로 테스트를 진행할 수 있었으며, 필수적인 기능에 대한 테스트를 빠짐없이 수행함으로써 소프트웨어의 품질을 향상시킬 수 있었다.

Acknowledgments

본 연구는 과학기술정보통신부에서 지원하는 DGIST의 기관고유사업(20-IT-02)에 의해 수행되었습니다.

References

  • AUTOSAR, http://www.autosar.org, , 2020.
  • AUTOSAR, AUTOSAR Layered Software Architec ture, https://www.autosar.org/fileadmin/user_upload/standards/classic/19-11/AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf, , 2020.
  • AUTOSAR, Overview of Acceptance Tests, https://www.autosar.org/fileadmin/user_upload/standards/tests/1-2/AUTOSAR_EXP_AcceptanceTestsOverview.pdf, , 2020.
  • K. Lee, I. Park, M. Sunwoo and W. Lee, “AUTOSAR-ready Light Software Architecture for Automotive Embedded Control Systems,” Transactions of KSAE, Vol.21, No.1, pp.68-77, 2013. [https://doi.org/10.7467/KSAE.2013.21.1.068]
  • I. Park, E. Kang, J. Chung, J. Sohn, M. Sunwoo, K. Lee, W. Lee, J. Youn and D. Won, “Timing Verification of AUTOSAR-compliant Diesel Engine Management System Using Measurement-based Worst-case Execution Time Analysis,” Transactions of KSAE, Vol.22, No.5, pp.91-101, 2014. [https://doi.org/10.7467/KSAE.2014.22.5.091]
  • J. Kwon, M. Sunwoo and W. Lee, “A Study on Model-based Mode Management Development Process for AUTOSAR Compliant ECU,” Transactions of KSAE, Vol.25, No.1, pp.116-126, 2017. [https://doi.org/10.7467/KSAE.2017.25.1.116]
  • P. E. Lanigan, P. Narasimhan and T. E. Fuhrman, “Experiences with a CANoe-based Fault Injection Framework for AUTOSAR,” 2010 IEEE/IFIP International Conference on Dependable Systems & Networks Proceedings, pp.569-574, 2010. [https://doi.org/10.1109/DSN.2010.5544419]
  • D. Kum, S. Lee, G. Park and B. Son, “Unit Testing for the AUTOSAR Software Component,” Journal of KIISE : Computing Practices and Letters, Vol.16, No.11, pp.1061-1065, 2010.
  • R. Lotoczky and M. Schwager, “New Methods of Debugging and Testing Improve the Software Quality of AUTOSAR ECUs,” SAE International Journal of Passenger Cars - Electronic and Electrical Systems Proceedings, Vol.6, No.1, pp.180-185, 2013. [https://doi.org/10.4271/2013-01-0427]
  • T. Arts, J. Hughes, U. Norell and H. Svensson, “Testing AUTOSAR Software with QuickCheck,” 2015 IEEE Eighth International Conference on Software Testing, Verification and Validation Workshops Proceedings, pp.1-4, 2015. [https://doi.org/10.1109/ICSTW.2015.7107466]
  • N. Englisch, F. Hänchen, F. Ullmann, A. Masrur and W. Hardt, “Application-Driven Evaluation of AUTOSAR Basic Software on Modern ECUs,” 2015 IEEE 13th International Conference on Embedded and Ubiquitous Computing Proceedings, pp.60-67, 2015. [https://doi.org/10.1109/EUC.2015.31]

Fig. 1

Fig. 1
AUTOSAR software architecture

Fig. 2

Fig. 2
AUTOSAR AT(Acceptance Test) concept

Fig. 3

Fig. 3
AUTOSAR AT test system

Fig. 4

Fig. 4
Overview of the test system

Fig. 5

Fig. 5
Test process

Fig. 6

Fig. 6
Test manager of the test system

Fig. 7

Fig. 7
Tester of the test system

Fig. 8

Fig. 8
Client-server communication test

Fig. 9

Fig. 9
Scheduling test

Fig. 10

Fig. 10
CAN transmission test

Fig. 11

Fig. 11
Hardware IO test

Fig. 12

Fig. 12
Test system

Table 1

AUTOSAR testing result

Cluster Tested module Tested features
RTE/OS RTE, OS, MCU Data Rx/TX, Scheduling
CAN Com, PduR, CanIf, Can CAN Rx/Tx,
Memory NvM, MemIf, Fee, Fls Read/Write, ReadAll/WriteAll
I/O IoHwAb, Port, Dio, Adc, Pwm DI, DO, ADC, PWM
Mode Service BswM, EcuM, ComM, ECU mode
Network mode
Com service NmIf, CanSM, CanNM, CanTP Sleep/Wakeup, Busoff, Timeout, CAN Driver mode
Wdg WdgM, WdgIf, Wdg Deadline, Control flow, Cycle time
Diagnostic Dem, Dcm, Det Diag. CAN Tx/Rx, Fault management, Error trace