728x90
반응형

shrinking 3

Hypothesis

개요Hypothesis는 Python 언어를 위한 속성 기반 테스트 프레임워크로, 테스트 대상의 예상 동작을 속성(Property)으로 정의하고, 다양한 무작위 입력에 대해 자동으로 검증을 수행합니다. Haskell의 QuickCheck에서 영감을 받아 설계되었으며, 예외 상황 탐지, 경계 조건 검사, 회귀 테스트 자동화 등에 탁월한 효율을 제공합니다.1. 개념 및 정의 항목 설명 정의다양한 무작위 입력을 생성하고, 그 결과가 주어진 속성을 만족하는지 검증하는 Python 기반 테스트 프레임워크목적테스트 커버리지를 극대화하고 예외 상황을 자동으로 발견필요성수작업 테스트의 한계를 극복하고 코드 신뢰성 확보Hypothesis는 단순한 단위 테스트를 넘어 다양한 입력에 대한 함수의 일반적인 동작을 자동으로 ..

Topic 2026.02.03

QuickCheck

개요QuickCheck은 테스트 케이스를 수동으로 작성하는 대신, 함수 또는 시스템의 일반적인 속성(Property)을 정의하고 무작위로 생성된 다양한 입력값에 대해 해당 속성을 검증하는 방식의 테스트 자동화 프레임워크입니다. 1999년 Erlang/하스켈(Haskell)에서 시작되었으며, 이후 다양한 언어로 포팅되었습니다.1. 개념 및 정의 항목 설명 정의함수나 프로그램의 속성(Property)을 정의하고, 무작위 입력으로 그 속성이 성립하는지 자동 검증하는 테스트 프레임워크목적엣지 케이스(경계 조건)나 버그를 자동 탐지하고, 테스트 커버리지를 향상필요성수동 단위 테스트로는 검출 어려운 예외 및 논리적 결함 검출QuickCheck은 "assert output property over generated..

Topic 2026.02.03

Property-Based Testing(PBT)

개요Property-Based Testing(PBT)은 테스트 케이스를 하나하나 수동으로 작성하는 대신, 입력값을 자동 생성하여 정의된 속성(Property)에 대해 반복적으로 검증하는 테스트 기법입니다. 수많은 예제 기반 테스트를 자동으로 실행하면서도, 코드의 불변 조건이나 수학적 성질을 기반으로 테스트하므로 버그 탐지력과 코드 안정성을 크게 향상시킬 수 있습니다.1. 개념 및 정의Property-Based Testing은 다음 요소로 구성됩니다:속성(Property): 함수나 시스템이 항상 만족해야 하는 일반적 규칙 (예: 정렬 결과는 항상 오름차순)입력값 생성기(Generator): 무작위 또는 전략적 방식으로 다양한 입력값 생성검증 함수: 각 입력에 대해 속성이 만족되는지 평가이 방식은 Edge ..

Topic 2025.06.02
728x90
반응형