▲GN⁺ 2024-07-06 | parent | ★ favorite | on: Property-Based 테스트 라이브러리의 암울한 현황(stevana.github.io)Hacker News 의견 clojure.spec.alpha와 test.check를 사용한 경험이 좋았음 Python의 hypothesis는 큰 데이터 세트를 처리하지 못해 사용 중단함 Go 언어의 커버리지 기반 퍼징이 잘 지원됨 퍼징 테스트와 불변성 검사를 통해 속성 테스트와 유사한 결과를 얻을 수 있음 연구 논문이 오픈 소스 도구로 재현 가능해야 한다는 요구는 유용한 정보를 잃게 할 수 있음 Rust의 proptest를 사용해 상태 기반 속성 테스트를 자주 작성함 병렬 테스트는 때때로 유용하지만, 여러 테스트를 병렬로 실행하는 것이 더 쉬울 수 있음 Quviq QuickCheck 논문을 읽었으나, 상태 기반 테스트를 직접 작성하는 것이 더 나을 수 있음 StateModel은 추가적인 프레임워크 코드가 필요해 효율적이지 않음 상태 기계와 병렬 측면 외에도 커버리지 기반 속성 테스트가 더 큰 영향을 미칠 수 있음 자동 축소 기능을 유지하면서 값 생성 시 모든 불변성을 유지하는 것이 중요함 Hypothesis의 "내부 축소" 접근 방식이 가장 효과적임 Clojure에도 상태 기반 QuickCheck 라이브러리가 있음 병렬 테스트는 아직 큰 문제가 되지 않음 속성 기반 테스트는 엄격한 테스트를 작성할 수 있는 경우 타입 시스템에 통합하는 것이 더 나음 단순한 "스모크 테스트"는 임의의 입력을 사용하는 것이 더 쉬움 QuviQ Erlang QuickCheck의 무료 버전인 QuickCheck Mini도 있음 JavaScript에서 속성 기반 테스트 라이브러리를 사용해 특정 조건을 만족하지 않는 임의의 값을 생성할 수 있는지 궁금함
Hacker News 의견
clojure.spec.alpha와test.check를 사용한 경험이 좋았음hypothesis는 큰 데이터 세트를 처리하지 못해 사용 중단함proptest를 사용해 상태 기반 속성 테스트를 자주 작성함StateModel은 추가적인 프레임워크 코드가 필요해 효율적이지 않음