VectorCAST/C++
C/C++ 코드의 단위 및 통합 테스트 자동화 솔루션

C와 C++ 코드 테스트를 위한 테스트 자동화 솔루션

VectorCAST/C++는 임베디드 개발자가 기능과 안전을 최우선으로 하는 임베디드 시스템을 검증하는데 필요한 자동화된 단위 및 통합 테스트 솔루션입니다.

장점

  • 단위 및 통합 테스트를 위한 테스트 환경을 자동으로 구성하여 테스트 코드 작성 불필요
  • GUI 및 스크립트를 통한 테스트 실행 지원
  • 코드 커버리지 분석
  • 회귀 테스트 지원
  • 코드 복잡도 계산
  • 테스트 케이스 자동 생성
  • 요구사항 기반 테스트를 위한 사용자 정의 테스트 지원
  • 테스트 실행 추적 및 리플레이 기능을 통한 디버깅 지원
  • 요구사항 관리 도구와 연동
  • 애자일(Agile) 및 테스트 주도 개발(Test Driven Development) 방법론 지원

특징

VectorCAST/C++의 단위 및 통합 테스트의 주요 기능은 다음과 같습니다.

  • C++11, C++14, C++17 지원
  • 광범위한 컴파일러, 타겟 시뮬레이터 및 프로세서 아키텍처 지원
  • 테스트 드라이버 및 스텁(Stub)을 자동으로 구성
  • Statement, Branch, MC/DC, Function, Function Call 을 포함한 다양한 코드 커버리지 지원
  • 호스트 또는 임베디드 타겟 보드(타겟 시뮬레이터)에서 테스트 지원
  • 회귀 테스트 자동화
  • 사용자가 컴파일러 인터페이스 구성 가능
  • DO-178 (항공), ISO 26262 (자동차), IEC 61508 (산업), IEC 62304 (의료), EN 50128 및 50657 (철도) 테스트 요구사항 지원

작동 원리

VectorCAST/C++가 왜 필요한가
일반적으로 소프트웨어 구성요소를 독립적으로 테스트하기 위해서는 테스트 대상별로 스텁(Stub) 코드나 테스트 드라이버 코드와 같은 테스트 코드 작성이 필요합니다. 이러한 수동적인 방식은 많은 시간과 비용이 소모되며, 작성된 테스트 코드에 대한 디버깅도 추가적으로 필요합니다. 또한 수동으로 작성된 테스트 코드는 원본 코드에 의존성이 강해 재사용이 어려우며 매우 비효율적입니다. VectorCAST/C++는 이러한 테스트 코드 작성을 자동화하여 고객이 테스트 코드 작성 없이 빠르게 단위 및 통합 테스트를 수행할 수 있도록 도와줍니다.

 

통합 코드 커버리지 지원
코드 커버리지 도구가 없다면 테스트 중 어떠한 코드가 실행되었는지 확인하기 어렵습니다. VectorCAST/C++를 사용하면 단위 및 통합 테스트 중에 실행된 소스 코드를 분석하고 코드 커버리지를 리포트로 출력할 수 있습니다. 또한,  VectorCAST/QA 로 테스트한 코드 커버리지 정보를 공유하여 단위 및 통합 테스트뿐만 아니라 시스템 테스트의 커버리지 정보를 모두 취합하여 통합 커버리지 리포트를 생성할 수 있습니다.

반복 가능한 테스트 지원
VectorCAST/C++에서 만들어진 테스트 케이스는 테스트 환경에 저장되어 향후 테스트에 재사용할 수 있습니다. 또한 변경된 코드를 인식하여 변경에 대한 반복적인 테스트(회귀 테스트)를 자동화할 수 있습니다. 이 기능을 통해 소프트웨어의 수정 및 변경 사항에 따른 영향을 빠르게 파악하여 주기적으로 테스트를 자동으로 수행할 수 있습니다.

통합 테스트 지원
개별 유닛을 테스트하는 단위 테스트에서 오류가 발견되지 않았어도 모듈들을 통합하여 테스트했을 때 오류가 발생할 수 있습니다. VectorCAST/C++는 이러한 모듈들을 통합하여 테스트 할 수 있습니다. 이를 통해 각 모듈 간의 인터페이스에 오류가 없는지, 모듈들이 올바르게 연계되어 동작하고 있는지를 확인할 수 있습니다.

컴파일러 연동
VectorCAST/C++로 생성된 모든 테스트 환경은 고객의 컴파일러를 이용하여 자동으로 빌드됩니다. 또한 테스트 수행 시 즉시 디버깅을 할 수 있도록 컴파일러의 디버거에 대한 인터페이스도 제공됩니다.

테스트 주도 개발(Test Driven Development)
VectorCAST/C++는 애자일(Agile) 및 테스트 주도 개발(Test Driven Development) 방법론을 지원합니다. 이러한 방법론은 설계가 완료되면 테스트 케이스 개발이 이루어지는데, 이 단계에서 소스 코드를 개발하기 전에 VectorCAST를 통해 모든 단위 테스트 환경을 구성 할 수 있습니다. 처음에는 소스 코드가 없기 때문에  단위 테스트가 실패하지만 소스 코드가 점진적으로 개발됨에 따라 단위 테스트가 통과될 것입니다. 또한 이러한 단위테스트를 반복적인 회귀 테스트가 가능하도록 자동화할 수 있습니다.

임베디드 타겟 테스트
임베디드 개발 환경의 테스트는 대부분 호스트 환경에서 개발이 완료된 후 임베디드 타겟 보드(타겟 시뮬레이터)에서 테스트를 수행합니다.
VectorCAST RSP(Runtime Support Package)는 개발 빌드 환경과 연동하여 테스트 환경을 생성한 후, 테스트 정보를 타겟 보드(타겟 시뮬레이터)로 다운로드하고 테스트 실행 결과를 가져오는 일련의 과정들을 자동화합니다. 
VectorCAST/C++를 VectorCAST RSP(Runtime Support Package)와 함께 사용하면 임베디드 타겟 보드(타겟 시뮬레이터)에서 테스트 수행할 수 있습니다.

개발 환경 연동
VectorCAST는 기존 소프트웨어 개발 툴체인 및 빌드 시스템과 함께 동작하도록 설계되었습니다. 그래서 사용자는 개발환경에서 사용하는 컴파일러, 운영 체제 및 하드웨어를 사용하여 다양한 환경에서 테스트를 진행할 수 있습니다. 즉, VectorCAST를 이용하여 개발된 소프트웨어 테스트를 호스트 기반에서뿐만 아니라 임베디드 타겟 보드(타겟 시뮬레이터) 환경에서도 수행할 수 있습니다.

컴파일러

C 및 C++ 지원 컴파일러

C 및 C++의 경우, VectorCAST는 프로젝트 개발환경에 맞는 컴파일러를 사용자가 설정할 수 있습니다. 개발환경의 컴파일러가 지원하는 C/C++ 컴파일러 목록에 없는 경우, 개발환경 프로젝트 내 컴파일 명령어와 링커 명령어를 입력하여 쉽게 이용할 수 있습니다.

전체 리스트 보기

 

다운로드

펼치기

서비스

VectorCAST 서비스

VectorCAST 서비스 그룹은 고객의 소프트웨어 품질 및 생산성을 향상시킬 수 있도록 업계 모범 사례(Best Practice)를 기반으로 방법론을 구현할 수 있게 도와줍니다. VectorCAST 서비스 그룹이 다른 전문 서비스 그룹과 차별화된 점은 복잡한 테스트 환경에 대한 전문성입니다.
이를 바탕으로 고객이 소프트웨어 개발 및 반복 가능한 테스트 프로세스를 확립할 수 있도록 지원하는 동시에 고객 스스로 테스트를 수행할 수 있도록 멘토링하고 있습니다.

교육

VectorCAST 워크샵

워크샵은 VectorCAST에 대한 지식을 넓히거나 심화할 기회를 제공합니다.

유닛 테스트 및 코드 커버리지 기본 개념을 이해할 수 있으며, VectorCAST 테스트 자동화 플랫폼을 사용하여 위 개념들을 활용하는 방법을 배울 수 있습니다.

관련 페이지

Medical Engineering Solutions

Develop and test FDA and IEC 62304-compliant embedded systems and software in medical engineering.

Go to Page
테스트

효율적인 시뮬레이션 및 테스트 환경을 위한 벡터 테스트 툴

자세한 정보