타입 경계값 분석 — BVA로 타입 테스트 케이스 고르기
런타임 테스트의 경계값 분석을 타입 수준으로 옮겨, 타입 격자의 극단 7축마다 통과·거절 witness 쌍을 짜는 방법과, 시간축·부작용 횟수처럼 타입이 끝내 덮지 못하는 축
Testing 카테고리의 지식 문서입니다.
런타임 테스트의 경계값 분석을 타입 수준으로 옮겨, 타입 격자의 극단 7축마다 통과·거절 witness 쌍을 짜는 방법과, 시간축·부작용 횟수처럼 타입이 끝내 덮지 못하는 축
실행 결과가 아니라 컴파일 결과를 검증해 '이 타입이 실제로 어떤 잘못된 코드를 막는가'를 코드로 고정하는 방법과, @ts-expect-error·mutation 검증으로 테스트가 살아 있는지 확인하는 절차
코드에 인위적인 결함을 심어 기존 테스트가 실패하는지 확인함으로써, 커버리지가 숨기는 빈 assertion과 느슨한 검증을 찾아내는 기법
실행 결과가 맞는지 틀린지를 판정하는 기준을 어디서 가져올지의 문제와, 구현에서 기대값을 역산해 만든 테스트가 아무것도 검증하지 못하는 이유
옛 브라우저 호환성 회귀는 렌더만 보는 스모크로 못 잡는다 — 실제 클릭·제출 인터랙션을 실행하고 넓은 콘솔 에러 필터로 런타임 오류를 승격시켜야 한다
E2E CI에서 retry 결과로 flaky와 deterministic failed를 분리하고, 타이밍 경쟁과 빌드 결함을 구별하는 방법
jest.mock 프로브로 id별 렌더 횟수를 기록하고 baseline 스냅샷과 비교해 React 리렌더 격리를 단위 테스트로 고정하는 방법
Jest CJS 환경에서 ESM-only npm 패키지를 vendor TS 파일과 moduleNameMapper로 안정적으로 import하는 패턴