테스트의 비밀
- 한번 작성된 테스트 코드는 영원히 유지보수 해야 한다.
- 내부 구현 사항을 테스트 X
- 사용자 입장에서 테스트
- 재사용성 높이기
- 테스트 코드도 유지보수 해야 하니깐 클린코드 유지해라
- 배포용 코드와 분리
- 테스트코드를 통한 문서화
좋은 테스트의 구조
- before, after 함수 사용
- 준비 (given) → 실행 (when) → 검증 (then)
좋은 테스트 원칙
- FIRST
- Fast
- 느린것에 대한 의존성 낮추기
- 외부 파일, 데이터베이스, 네트워크 등
- Isolated
- Repeatable
- 실행할 때마다 동일한 결과 유지
- Self-Validating
- 스스로 결과 검증하기 → jest
- Timely
- 시기적절하게 테스트 작성
무엇을 테스트 할지 모를때 원칙
- Right-BICEP
- Right
- 모든 요구 사항이 정상 동작 하는지 확인
- 모든 결과가 정확한지 확인
- Boundary conditions
- 모든 코너 케이스에 대해 테스트를 하기
- Inverse relationship
- 역관계를 적용해서 결과값을 확인
- Cross-check
- 다른 수단을 이용해서 결과값이 맞는지 확인
- Error-conditions
- 불행한 경로에 대해 우아하게 처리하는가?
- Performance-characteristics
좋은 테스트의 커버리지
- CORRECT
- Conformance
- 특정 포맷을 준수
- 전화번호, 이메일, 아이디, 파일 확장자..
- Ordering
- 순서 조건 확인하기
- Range
- 숫자의 범위
- Reference
- 외부 의존성 유무, 특정한 조건의 유무
- Existence
- 값이 존재 하지 않을때 어떻게 동작하는지
- Cardinality
- 0-1-n 법칙
- 하나도 없을 때, 하나만 있을 때, 여러개가 있을 때
- Time
- 상대, 절대, 동시의 일들
Loading Comments...