위키득계정 ↗
기술

Proptest

Proptest기술
주요 언어
Rust
테스트 방식
속성 기반 테스트
입력 정의
Strategy
실패 분석
재현 입력 축소
Proptest는 Rust 코드가 여러 입력에서 정해진 속성을 만족하는지 검사하는 테스트 프레임워크다. 전략에 따라 입력을 자동 생성하고 실패하면 문제를 재현하는 더 작은 입력으로 축소한다.

예제 대신 속성을 정의

개별 입력과 예상 결과를 나열하는 데 더해 입력 범위와 만족해야 할 속성을 정의한다. 프레임워크가 여러 값을 생성해 그 속성을 확인한다. 사람이 미리 고르지 못한 입력 조합을 탐색하는 방식이다.

전략과 실패 입력의 축소

형식마다 하나의 생성 규칙을 고정하는 대신 값의 생성과 축소를 명시적인 전략으로 표현한다. 같은 형식에도 다른 범위와 조합 규칙을 사용할 수 있다. 실패한 경우에는 재현 가능한 입력을 더 단순하게 줄여 원인을 살피도록 돕는다.

단위 테스트와의 관계

실패 정보를 보관해 이후 실행에서 다시 확인하는 기능을 제공한다. 유한한 실행에서는 전체 입력 공간이 아니라 일부를 탐색하므로 특정 경계값의 발견이 보장되는 것은 아니다. 알려진 경계 조건과 과거 오류를 검사하는 단위 테스트를 함께 사용한다.

관련 문서

Criterion Rust 벤치마크 / Rust / 단위 테스트 / 소프트웨어 테스트 / 디버깅 / 소프트웨어