Echidna는 사용자 정의 불변 조건이나 Solidity 어설션을 깨는 호출 시퀀스를 찾아 Ethereum 스마트 컨트랙트를 테스트하는 Haskell 기반 퍼저입니다.
HypothesisWorks/hypothesis
Python용 속성 기반 테스트 라이브러리로, 테스트 입력을 자동 생성하고 실패 사례를 최소한의 예제로 축소합니다.
- 스타
- 9,139
- 포크
- 698
- 열린 이슈
- 53
- 마지막 커밋
- 어제
어떤 프로젝트인가요?
Hypothesis를 사용하면 지정한 범위의 모든 입력에 대해 성립해야 하는 테스트를 작성할 수 있습니다. 예제를 일일이 고르는 대신 데이터 전략을 선언하면, Hypothesis가 개발자가 미처 생각하지 못할 수 있는 경계 사례를 포함해 입력을 무작위로 선택합니다.
테스트가 실패하면 Hypothesis는 버그를 재현하는 가장 단순한 예제로 실패 입력을 축소해 디버깅하기 쉬운 결과를 제공합니다. 이 라이브러리는 pip으로 설치할 수 있으며, 필요에 따라 추가 기능을 확장할 수도 있습니다.
핵심 기능
- 01리스트나 정수 같은 선언형 전략을 바탕으로 테스트 입력을 생성합니다.
- 02버그를 재현하는 가장 단순한 사례까지 실패 입력을 축소합니다.
- 03pip으로 설치할 수 있으며 선택적 추가 기능을 제공합니다.
활용 사례
- 직접 만든 정렬 함수나 파서가 다양한 생성 입력에서 올바르게 동작하는지 테스트합니다.
- 직접 작성한 단위 테스트로는 놓치기 쉬운 경계 사례의 버그를 찾습니다.
- 실패 사례를 최소 재현 예제로 줄여 디버깅합니다.
빠른 시작
- 1
pip으로 Hypothesis를 설치하세요
pip install hypothesis
포함된 컬렉션
토픽
자주 묻는 질문
- hypothesis은(는) 무엇인가요?
- Python용 속성 기반 테스트 라이브러리로, 테스트 입력을 자동 생성하고 실패 사례를 최소한의 예제로 축소합니다. Hypothesis를 사용하면 지정한 범위의 모든 입력에 대해 성립해야 하는 테스트를 작성할 수 있습니다. 예제를 일일이 고르는 대신 데이터 전략을 선언하면, Hypothesis가 개발자가 미처 생각하지 못할 수 있는 경계 사례를 포함해 입력을 무작위로 선택합니다.
- hypothesis은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- hypothesis은(는) Other 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- hypothesis은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. hypothesis의 마지막 커밋은 2026년 11월 6일입니다.
- hypothesis은(는) 어디에 사용할 수 있나요?
- 직접 만든 정렬 함수나 파서가 다양한 생성 입력에서 올바르게 동작하는지 테스트합니다. 직접 작성한 단위 테스트로는 놓치기 쉬운 경계 사례의 버그를 찾습니다. 실패 사례를 최소 재현 예제로 줄여 디버깅합니다.
- hypothesis는 어떻게 설치하나요?
- pip으로 Hypothesis를 설치하세요: pip install hypothesis
- hypothesis은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/HypothesisWorks/hypothesis
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
AI 에이전트가 테스트 계획 우선 워크플로, 검증 관문, 증거 보고서로 코드를 입증하게 하는 코딩 에이전트 스킬입니다.
Google이 오픈소스 프로젝트에서 보안 버그를 찾기 위해 libFuzzer, AFL++, Honggfuzz와 sanitizer를 실행하는 지속적 퍼징 서비스입니다.
Claude Code와 Codex에서 AI 보안 감사, 테스트, 보안 개발을 지원하는 Trail of Bits 에이전트 스킬 및 플러그인 마켓플레이스입니다.
Claude를 위한 자율형 취약점 탐지·패치 파이프라인의 레퍼런스 구현으로, 위협 모델링, 스캔, 분류, 패치를 위한 대화형 보안 스킬을 제공합니다.
Selenium은 W3C WebDriver 표준을 통해 웹 브라우저를 자동화하는 도구와 라이브러리로 구성된 통합 프로젝트입니다.