Polyspace Test는 임베디드 시스템의 C/C++ 코드에 대한 단위 및 통합 테스트를 개발하고 관리하며 실행하고, 구조적 커버리지를 분석하는 툴을 제공합니다. Polyspace xUnit API 또는 그래픽 환경 기반 테스트 작성 편집기를 사용하여 테스트를 생성하고, 테스트 중인 코드를 격리 및 검증하기 위한 스텁 및 모의 객체를 제작할 수 있습니다. Polyspace Test를 사용하여 호스트 컴퓨터 또는 임베디드 타겟에서 테스트를 실행하고, 테스트 실행을 자동화하며, 추적성을 위해 테스트를 요구사항에 연결할 수 있습니다.
코드 커버리지 분석을 수행하여 결정 및 조건 커버리지, MC/DC(수정 조건/결정 커버리지)와 같은 메트릭으로 테스트 완전성을 측정할 수 있습니다. 자동 테스트 생성을 사용하여 원하는 코드 커버리지를 달성하고, 경계값을 테스트하고, 요구사항 기반 테스트 케이스를 확장할 수 있습니다.
Polyspace Test에는 Polyspace 정적 분석 툴의 결과를 구성하고 실행하며 검토할 수 있는 공통 사용자 인터페이스가 포함되어 있습니다. 이러한 결과를 사용하여 누락된 코드 커버리지의 정당성을 명시하고 테스트의 강건성을 검증할 수 있습니다.
IEC Certification Kit (for ISO 26262 and IEC 61508) 및 DO Qualification Kit (for DO-178)를 통해 산업 표준 지원이 가능합니다.
단위 테스트와 통합 테스트 개발 및 실행
Polyspace Test xUnit API를 사용하거나 그래픽 환경 기반 테스트 작성 편집기를 사용해 대화형 방식으로 C/C++ 코드를 개발하고 테스트를 실행할 수 있습니다. 스텁과 모의 객체를 생성하여 테스트 중인 컴포넌트를 격리하고 gMock과 같은 타사 모의 라이브러리와 통합할 수 있습니다.
코드 커버리지 및 프로파일 실행 측정
결정, 조건 및 MC/DC 등 산업 표준 메트릭에 대한 코드 커버리지 결과를 생성하고 검토할 수 있습니다. 코드 실행 프로파일링으로 테스트를 실행하여 메모리 및 런타임 성능을 향상해야 하는 코드 섹션을 파악할 수 있습니다.
테스트와 소프트웨어 요구사항 연결
사용자 인터페이스의 C/C++ 테스트를 IBM® DOORS®, IBM DOORS Next, Microsoft® Word, or Microsoft Excel® 등 외부 편집기 또는 툴에서 작성된 테스트 요구사항에 연결할 수 있습니다.
호스트 컴퓨터 및 타겟 하드웨어에서 테스트 실행
테스트를 실행하고, 코드 커버리지 메트릭을 수집하며, 호스트 하드웨어 및 타겟 하드웨어 모두에서 메모리 및 런타임 성능을 프로파일링할 수 있습니다.
커버리지 및 경계값 목표를 충족하는 테스트 생성
수작업으로 생성한 테스트 케이스를 증강하고 불완전한 코드 커버리지 및 경계값 테스트 요구사항을 충족하기 위한 테스트를 자동으로 생성할 수 있습니다.
인증 표준 준수
산업 표준에 대한 인증 절차를 완료하는 데 필요한 아티팩트를 생성할 수 있습니다. Polyspace Test는 IEC 61508 및 ISO 26262 표준에 대한 사용 적합성을 TÜV SÜD에서 인증받았습니다. 리포트 및 아티팩트를 DO-178C 인증에 사용할 수 있습니다.
자동화 및 DevOps 워크플로에 통합
기존 DevOps 워크플로 및 자동화 프로세스에 Polyspace Test를 통합하여 최신 소프트웨어 개발 방식을 지원할 수 있습니다. Polyspace Test는 Jenkins 및 Bamboo® 등 널리 사용되는 지속적 통합 툴에서 동작합니다.
정적 분석 및 동적 테스트 통합
정적 분석(Polyspace Bug Finder 또는 Polyspace Code Prover 사용)과 프로젝트 구성, 실행 및 검토를 포함한 테스트(Polyspace Test 사용)를 하나의 인터페이스에서 관리할 수 있습니다. 코드 분석 워크플로를 사용해 문제 있는 테스트를 식별하고, 도달할 수 없는 코드 분기에 대한 정당화 사유를 명시하거나, 복잡한 코드 커버리지 요구사항을 지원할 수 있습니다.
새니타이저를 활용해 런타임 오류 프로파일링 생성
런타임 오류를 검출하기 위해 코드 새니타이저를 활성화한 상태에서 테스트를 실행할 수 있습니다. 결과를 테스트 실패로 확인하거나 새니타이저 프로파일링 리포트에서 자세히 분석할 수 있습니다.
제품 관련 자료:
Polyspace 제품군
Polyspace 제품은 개발 라이프사이클 전반에 걸쳐 소프트웨어 품질을 테스트하고 모니터링함으로써 중요한 코드의 안정성과 보안성을 향상할 수 있습니다.
Polyspace Access
코딩 결함을 식별하고 정적 분석 결과를 검토하며 소프트웨어 품질 메트릭을 모니터링할 수 있습니다.
Polyspace Copilot
Polyspace에 최적화된 AI 어시스턴트.
Polyspace Test
임베디드 시스템에서 C 및 C++ 코드에 대한 테스트를 개발하고 관리하며 실행할 수 있습니다.
Polyspace as You Code
사용 중인 IDE에서 코딩 표준 위반 사항과 소프트웨어 취약점을 식별할 수 있습니다.
Polyspace Bug Finder
코딩 규칙, 보안 표준 및 코드 메트릭을 검사하고 버그를 찾을 수 있습니다.
Polyspace Code Prover Server
CI 파이프라인에서 중요한 C 코드와 C++ 코드 명령문을 지속적으로 철저히 검증할 수 있습니다.
Polyspace Bug Finder Server
CI 파이프라인에서 소프트웨어 결함을 식별하고 코딩 규칙을 적용할 수 있습니다.
Polyspace Client for Ada
정형 기법을 사용하여 중요한 Ada 명령문을 철저히 검증할 수 있습니다.
Polyspace Code Prover
정형 기법을 사용하여 가장 중요한 C 명령문과 C++ 명령문을 철저히 검증할 수 있습니다.
Polyspace Server for Ada
CI 파이프라인에서 중요한 Ada 코드 명령문을 지속적으로 철저히 검증할 수 있습니다.
Polyspace Code Prover
Exhaustively verify the most critical C and C++ statements using formal methods.
Polyspace Test FAQs
Polyspace Test provides tools for developing, managing, and executing unit and integration tests and analyzing structural coverage for C and C++ code in embedded systems.
Polyspace Test supports C and C++ code in embedded systems.
You can create tests using the Polyspace xUnit API or interactively using a graphical test authoring editor, and create stubs and mocks to isolate components under test.
Yes, Polyspace Test lets you execute tests, collect code coverage metrics, and profile memory and execution on both host computers and target hardware.
Polyspace Test provides industry standard code coverage metrics including decision, condition, and modified condition/decision coverage (MC/DC).
Yes, Polyspace Test can automatically generate tests to augment manually created test cases, achieve desired code coverage, test boundary values, and extend requirements-based test cases.
Yes, you can link C and C++ tests to requirements authored in external tools such as IBM DOORS, IBM DOORS Next, Microsoft Word, or Microsoft Excel for traceability.
Yes, Polyspace Test has been certified by TÜV SÜD for use with IEC 61508 and ISO 26262 standards, and provides reports and artifacts for DO-178C processes through certification kits.
Yes, Polyspace Test works with popular continuous integration tools including Jenkins and Bamboo to support modern DevOps workflows and automated processes. Polyspace Test also includes a complete Python API that helps developers integrate with existing CI/CD infrastructure.
Polyspace Test includes a common user interface that enables you to configure, run, and review results from Polyspace Bug Finder and Polyspace Code Prover, and use static analysis results to justify missing code coverage, generate tests, and instrument for dynamic run-time error and memory checking.