A Proposal for Unit Testing Procedure of Embedded Software Complied with Safety Assessment Criteria

안정성평가 기준에 적합한 내장형 소프트웨어 단위시험 절차 방안

  • 장정훈 (모아소프트, 신뢰성기술연구실) ;
  • 이원택 (모아소프트, 신뢰성기술연구실) ;
  • 장주수 (모아소프트)
  • Published : 2010.06.10

Abstract

Recently, an important physical device of transportation, such as car, railroad, ship and aircraft has changed into electronic control unit. According to accident reports, the most of car accidents are caused by faults of embedded software loaded to computer control unit. The facts implies that the test to find defects in embedded software haven't performed sufficiently. As a result, it is necessary to establish the test procedures of embedded software based on safety assessment criteria. The objective of this proposal is to provide a unit test procedure complied with the safety assessment criteria for the embedded software. In addition, an effective unit testing procedure and defect analysis methods are proposed and a testing procedure using a safety criteria built-in tool is presented.

최근 자동차, 철도, 선박, 항공기 등 교통수단의 핵심 장치가 CPU가 들어 있는 컴퓨터 제어장치로 전환되어 가고 있는 상황이다. 자동차 사고사례 중 상당 부분의 원인으로 컴퓨터 제어장치에 탑재된 내장형 소프트웨어의 결함이라고 분석한 보고서가 발표되고 있다. 내장형 탑재 소프트웨어에 대하여 결함 제거를 위한 시험이 충분하지 못한데서 문제가 있을 수 있다. 결국 이러한 내장형 소프트웨어의 시험 기준으로 안전성 평가 기준을 철저히 적용하고 이에 적합한 단위테스트 절차를 구축하는 것이 필요하다. 본 논문은 안전성평가 기준에 적합한 내장형 탑재 소프트웨어에 대한 단위테스트 절차에 대한 방안을 제시하는데 그 목적이 있다. 내장형 탑재 소프트웨어에 대한 테스트에는 단위 테스트, 통합테스트, 시스템테스트 등이 있으며, 이중 가장 많은 결함을 발견하는 것은 단위 테스트이다. 본 논문에서는 테스트계획, 테스트절차, 테스트케이스, 테스트시나리오, 테스트 도구, 재테스트 기준 등에 대한 효과적인 단위테스트 준비 과정과 단위테스트를 수행하면서 발생하는 업무, 즉 결함식별, 결함분류, 결함분석, 결함원인, 결함조치 및 확인, 재테스트 실시, 테스트보고 등의 활동을 체계적으로 구축하는 방안을 제시한다. 또한 개발된 내장형 탑재 소프트웨어의 프로그램 소스를 일일이 눈으로 검사하여 결함을 발견하기란 쉽지 않다. 안전성평가 기준이 내장된 테스트 도구를 활용함으로써 내장형 탑재 소프트웨어 단위테스트의 작업시간을 줄이고 결함발견 및 원인분석에 대한 자동화된 보고서를 얻음으로써 테스트 생산성 및 소스코드의 품질 향상을 달성할 수 있는 방안도 아울러 제시한다.

Keywords