오늘 읽은 범위
6장 커버리지 리포트 읽기
책에서 기억하고 싶은 내용을 써보세요.
- 커버리지 리포트 ?
- 구현 코드가 얼마나 테스트 됐는지를 측정해 리포트를 작성하는 것
- jest에서는
--coverage옵션을 추가해 테스트를 실행하면 커버리지 리포트 확인 가능
- 커버리지 리포트 구성
- 구문 커버리지 : 구현 파일에 있는 모든 구문이 적어도 한 번 실행됐는가
- 분기 커버리지 : 구현 파일에 있는 모든 조건 분기가 적어도 한 번 실행됐는가
- 함수 커버리지 : 구현 파일에 있는 모든 함수가 적어도 한 번 실행됐는가
- 라인 커버리지 : 구현 파일에 있는 모든 라인이 적어도 한 번 실행됐는가
- 커버리지를 높이고 싶다면?
- 함수 커버리지와 분기 커버리지에 중점을 둔다.
- 이렇게 생성된 커버리지 리포트는 화이트박스 테스트에 필수다.
- JSX도 하나의 함수이므로 구문 커버리지와 분기 커버리지를 측정할 수 있다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- [?] 화이트박스 테스트 vs 블랙박스 테스트
| 구분 | 화이트박스 테스트 (White-box Testing) | 블랙박스 테스트 (Black-box Testing) |
|---|---|---|
| 관점 | 내부 코드 구조/로직 기반 | 기능 명세/요구사항 기반 |
| 테스터 관점 | 개발자 중심 (코드/알고리즘 이해 필요) | 사용자 중심 (내부 구조 몰라도 됨) |
| 테스트 대상 | 제어 흐름, 조건문, 반복문, 경로, 코드의 세부 동작 → 코드의 내부 | 입력과 출력(입력값 → 예상 결과) |
| 대표 기법 | 구문 커버리지, 분기 커버리지, 경로 커버리지 | 동등 분할, 경계값 분석, 상태 전이 테스트 |
| 장점 | 버그를 코드 레벨에서 조기에 발견 가능 | 사용자 입장에서 실제 동작 검증 |
| 단점 | 코드 변경 시 테스트 수정 부담 큼 | 내부 로직에 대한 검증이 불충분할 수 있음 |
