위키득계정 ↗
기술

QuickTheories

QuickTheories기술
분야
속성 기반 테스트
언어
자바
입력 구성
조합 가능한 생성기
실패 처리
반례 축소와 시드 기록
QuickTheories는 자바에서 생성 입력을 이용해 프로그램의 성질을 검사하는 라이브러리다. 실패를 일으킨 입력을 더 단순하게 줄이고 시드를 기록해 같은 실행을 재현하도록 돕는다.

검사할 성질 고르기

손으로 고른 몇 가지 사례와 달리 속성 기반 검사는 여러 입력에 유지되어야 하는 규칙을 기술한다. QuickTheories는 생성기로 준비한 값을 그 규칙에 적용한다. 통과는 검사한 표본에서 반례를 찾지 못했다는 뜻이며 모든 가능한 입력에 대한 증명이 되지는 않는다.

입력 범위와 축소

생성기를 조합해 숫자와 문자열, 목록 또는 사용자 자료형을 만들 수 있다. 유효한 범위를 생성 단계에서 좁히면 대부분의 값을 사후에 버리는 방식보다 효율적이다. 실패 뒤에는 더 작은 반례를 찾는다. 보고된 사례는 이해를 돕지만 가능한 반례 중 절대적으로 가장 작다는 보장은 없다.

재현과 실험 기능

시드를 고정하면 같은 구성의 실행을 반복하는 데 도움이 된다. 발견한 문제는 입력과 환경을 함께 보관해 회귀 검사로 만들 수 있다. 커버리지 자료를 사용하는 탐색 기능은 실험적이며 별도 에이전트가 다른 커버리지 도구와 간섭할 수 있다. 일반적인 생성 검사와 이 선택 기능을 구분해 적용하고 테스트 실행기의 역할도 따로 유지한다.

관련 문서

FsCheck / Hedgehog 닷넷 도구 / AssertJ