위키득계정 ↗
기술

FsCheck

FsCheck기술
검사 방식
속성 기반 테스트
실행 환경
닷넷
입력 준비
생성기 조합
실패 분석
반례 축소
FsCheck는 함수나 객체가 지켜야 할 성질을 여러 입력으로 검사하는 닷넷 라이브러리다. 입력 생성과 실패 사례 축소를 결합해 손으로 고른 예시만으로 찾기 어려운 오류를 탐색한다.

예시에서 성질로

예시 중심 테스트는 입력과 정답을 한 쌍씩 지정한다. 속성 기반 테스트는 다양한 입력에도 유지되어야 하는 관계를 기술한다. FsCheck는 이 관계에 생성한 값을 적용하며 실패를 찾는다. 성질 자체가 잘못되었거나 너무 약하면 실행 횟수가 많아도 중요한 결함을 놓칠 수 있다.

생성 범위 설계

아무 값이나 만드는 것과 의미 있는 입력을 만드는 것은 다르다. 생성기를 조합하면 자료형과 도메인 조건에 맞는 데이터를 준비할 수 있다. 입력 분포도 관찰해 경계 상황이 실제로 등장하는지 살펴본다. 조건을 만족하는 사례가 거의 나오지 않는 설계는 검사의 효율을 떨어뜨린다.

작은 실패 사례의 의미

큰 입력에서 오류가 발견되면 원인을 읽기 어려울 수 있다. FsCheck는 실패가 유지되는 더 작은 반례를 찾는 축소 과정을 제공한다. 출력된 반례는 문제를 설명하는 단서이며 모든 가능한 입력에 대한 수학적 증명은 아니다. 기존 테스트 프레임워크와 결합하고 발견한 결함은 재현 가능한 회귀 검사로 남길 수 있다.

관련 문서

Hedgehog 닷넷 도구 / NUnit / xUnit NET