속성을 코드로 표현
사용자가 코드의 기대 동작을 C플러스플러스의 속성으로 작성한다. 라이브러리는 여러 무작위 입력으로 속성이 깨지는 경우를 찾는다. 입력 분포와 속성 자체가 부적절하면 많은 검사를 통과하더라도 중요한 오류를 놓칠 수 있다.
생성기를 조합하기
여러 생성기를 결합해 사용자 정의 타입과 조건에 맞는 자료를 만들 수 있다. 이는 고정 예제를 반복하는 방식과 다르게 입력 범위를 넓히는 데 쓰인다. 유효한 입력을 만드는 일과 드문 경계 조건을 충분히 포함하는 일은 구분해야 한다.
축소와 재현
실패 입력을 줄여 더 간단한 반례를 얻는 기능을 제공한다. 축소 결과에서도 같은 속성이 실패하는지 확인한다. 반례와 실행 설정을 보관해 수정 전후에 재현하고 필요한 경우 고정된 회귀 테스트로 함께 유지한다.
관련 문서
RapidCheck / Catch2 / GoogleTest / Cvise