테스트 도구 실전 · 무엇을 테스트하나 · 퀴즈
테스트 판단 확인
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
커버리지 100% 가 보장하는 것은?
- 버그가 없다
- 모든 분기를 지났다
- 모든 줄이 한 번은 실행됐다
- 요구사항을 만족한다
줄 커버리지 100%인데 분기 커버리지가 50%일 수 있는 경우는?
- `if x:` 를 참으로만 지나갔을 때
- 테스트가 느려 일부만 돌렸을 때
- 함수가 짧아 분기가 적을 때
- 예외를 던지는 코드가 없을 때
커버리지 보고서에서 실제로 봐야 할 것은?
- Cover 퍼센트
- Missing 열의 줄 번호
- Stmts 총계
- 파일 개수
속성 기반 테스트(hypothesis)가 예시 기반과 다른 점은?
- 같은 수의 검증을 더 빨리 끝낸다
- 예시를 나열하는 대신 항상 성립해야 할 규칙을 적는다
- 커버리지 수치가 자동으로 올라간다
- 외부 의존성 모킹이 필요 없어진다
느린 테스트가 없는 테스트보다 나쁠 수 있는 이유는?
- CI 실행 비용이 올라가서
- 느린 테스트가 커버리지를 낮춰서
- 메모리를 많이 잡아먹어서
- 안 돌리게 되는데 '있다' 고 믿게 만들어서
테스트 실패 메시지를 좋게 만드는 방법으로 pytest 에서 가장 효과적인 것은?
- 조건을 잘게 쪼개 assert 한다
- 긴 메시지를 쓴다
- print 를 넣는다
- try/except 로 감싼다