위치정보

HOME 커뮤니티 Featured Literature

FEATURED LITERATURE

임베디드 소프트웨어 요구사항 작성 및 테스팅 방법


보통 소프트웨어 개발은 고객의 요구사항을 작성하는것 부터 시작한다. 시스템을 설계하는 사람은 이렇게 작성된 요구사항으로부터 소프트웨어를 설계하기 때문에, 요구사항을 명확하게 작성하는 것이 아주 중요하다. 이를 위해서 모호하지 않게 작성할 뿐만 아니라, 쉽고 빠르게 이해할 수 있는 요구사항 작성 방법론이 필요하다. 본 논문에서는 다이어그램 기반 요구사항 작성 언어(Requirement Diagram Language ? RDL)를 철학에서부터 특징까지 소개하였다. RDL의 장점은 요구사항을 간단하면서도 직관적으로 표현할 수 있다는 것인데, 이를 위해서 도형기반으로 요구사항을 표현하였다. 임베디드 소프트웨어의 전체 요구사항은 RDL을 이용하여 작성한 여러 작은 요구사항들의 집합으로 이루어진다. RDL의 또다른 큰 장점은 RDL을 이용하여 작성한 요구사항은 정형적으로 표현되어져서 실행이 가능하다는 것이다. 실행이 가능하기 때문에, 요구사항을 자동으로 분석하고, 시뮬레이션하는 것이 가능해지며, 테스트 케이스 자동 생성 및 테스트 결과 자동 분석등에 사용되어질 수 있다.



또한 본 학위 논문에서는 데이터 의존성을 고려한 새로운 테스트 커버리지 기준인 MC/DC-DCP (MC/DC with Definition Clear Path)를 제시하였다. 전통적으로 많은 종류의 테스트 커버리지 기준들이 사용되어져 왔다. 그중에 특히 MC/DC(Modified Condition and Decision Coverage)는 아주 강력한 커버리지 기준중에 하나로 여겨지고 있다. 그러나, MC/DC는 서로 다른 두개의 모듈의 의존성을 테스트하는데 있어서, 충분한 테스트 케이스를 생성하지 못한다. 이러한 단점을 극복하기 위해서, 논문에서는 MC/DC에 플로우(flow) 기반의 커버리지 기준을 조합한 새로운 커버리지 기준인 MC/DC-DCP를 제시하였다. MC/DC-DCP를 적용함으로서, 서로 다른 두개의 모듈을 테스트함에 있어, 각 모듈에 대한 개별적인 사항 뿐만 아니라, 각 모듈사이의 관계에 의한 상태 변화를 테스트할 수 있게 된다. 따라서 MC/DC-DCP는 MC/DC보다 더욱 강력하며, 이는 전에 치명적인 시스템을 테스트하는데 사용되어질 수 있을 것이다.



마지막으로, 본 논문에서는 석사/박사 학위동안 저를 비롯한 연구원들이 개발한 R-Bench라는 툴에 대해서 소개하였다. R-Bench는 임베디드 소프트웨어를 자동으로 테스트하기 위한 테스팅 솔루션으로서, 다음과 같은 툴들로 구성되어진다. REED(Requirement Editor)라는 툴은 논문에서 소개한 RDL을 이용하여 요구사항을 작성하는 툴이다. REED는 요구사항 작성에서 부터, 분석, 시뮬레이션, 형상관리등 다양한 기능을 가지고 있다. 그리고 TE(Test Executor)라는 툴은 RDL을 이용하여 작성된 요구사항에 대응되는 대상 시스템을 실제로 블랙-박스 형태로 테스트하기 위한 툴이다. 기타 다른 툴들도 존재하지만 본 논문에서는 위에서 소개한 2개의 툴에 대해서만 소개하였다. R-Bench는 현재 현대 자동차 및 GM 대우 전장팀등에서 임베디드 소프트웨어를 테스트하는데 사용되어지고 있다.



다른 게시물
이전글 그래핀, 보론 나이트라이드, 그리고 관련된 물질의 전자, 광학, 포논 물성
다음글 교섭(交涉)된 권력(權力): 12-14세기 중국의 국가와 엘리트