QUTest: 양자 프로그램을 위한 네이티브 테스트 프레임워크
요약
QUTest는 양자 프로그램과 테스트를 모두 표준 OpenQASM 3 파일로 작성할 수 있게 해주는 네이티브 테스트 프레임워크입니다. Arrange/Act/Assert 패턴을 따르며, pragma 주석을 통해 기존 도구와의 호환성을 유지하면서 12가지 유형의 다양한 단언(assertion) 기능을 제공합니다.
핵심 포인트
- OpenQASM 3 표준을 활용하여 프로그램과 테스트를 동일한 네이티브 형식으로 작성 가능
- pragma 주석(//%)을 사용하여 설정, 런타임 요구 사항, 단언을 인코딩함으로써 기존 도구와 호환성 유지
- 결정론적, 통계적, 양자 상태, 구조적 검사를 포함한 12가지의 다양한 단언 유형 지원
- CLI를 통한 자동 테스트 검색, 런타임 호환성 검사 및 CI를 위한 XML 보고서 기능 제공
- 환경 인식 모드를 통해 격리된 환경의 다양한 런타임 버전에서 테스트 실행 가능
양자 프로그램은 종종 OpenQASM 3 회로(circuits)로 공유되지만, 테스트는 여전히 Qiskit을 사용하는 Python과 같은 호스트 언어로 작성됩니다. 우리는 프로그램과 테스트가 모두 표준 .qasm 파일인 네이티브 프레임워크인 QUTest를 선보입니다. 테스트는 Arrange / Act / Assert 패턴을 따르며, 설정(configuration), 런타임 요구 사항(runtime requirements), 그리고 단언(assertions)은 pragma 주석(//%)으로 인코딩되어 기존 OpenQASM 도구와의 호환성을 유지합니다. QUTest는 결정론적(deterministic), 통계적(statistical), 양자 상태(quantum-state), 구조적(structural) 검사를 아우르는 12가지 단언 유형을 제공하며, 린터(linter)와 격리된 환경에서 선택된 런타임 버전들에 대해 동일한 테스트를 실행할 수 있는 환경 인식 모드(environment-aware mode)를 제공합니다. 이 프레임워크의 CLI는 자동 테스트 검색(automatic test discovery), 런타임 호환성 검사, 그리고 지속적 통합(continuous integration)을 위한 XML 보고서를 지원합니다. 우리는 pragma 언어, 구현, 그리고 커버리지(coverage) 및 변이 테스트(mutation testing)를 사용한 계획된 평가에 대해 설명합니다. QUTest는 https://github.com/QBugs/qutest 에서 확인할 수 있습니다. 비디오 데모: https://youtu.be/FvgvsiAXuW0.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기