[Test] 테스트 커버리지란?

🌟 Test coverage

🎯 테스트 커버리지란?

테스트의 충족정도를 나타내는 지표입니다. 해당 테스트가 충분히 대상을 테스트하고있는지 숫자로 볼 수 있습니다.

🎯 테스트 커버리지를 왜쓰지?

테스트코드는 안정적이고 깔끔한 서버를 구축하기 위해 필수적입니다. 하지만 기능을 수정하거나 새로 로직을 작성하면 기존의 테스트코드가 잡지 못하는 에러들이 생기기 마련입니다. 그럼 테스트코드를 돌리는 의미가 없어지겠죠? 이런 상황을 방지하기 위해서 우리는 지금 있는 테스트코드가 과연 잘 짜여저 있는 것인지 평가하는 평가지표 ‘테스트 커버리지’가 필요합니다.

🎯 테스트 설계기법

테스트의 설계기법은 크게 두가지로 나뉩니다.

  1. 블랙박스 테스트 해당 코드에서 기대되는 결과값을 넣어놓고 테스트 실행 결과값과 일치하는지를 보는 명세기반 테스트입니다. 만약 일치한다면 테스트 성공, 아니라면 실패로 간주합니다.
  2. 화이트박스 테스트 코드 내부의 로직을 직접적으로 확인하고 검증하는 구조기반 테스트입니다. 대표적으로 몇줄의 코드가 실행되었는지 보는 코드 커버리지가 있습니다.

🎯 코드커버리지의 기준

코드 커버리지 측정기준은 구문, 결정, 조건 순으로 다루는 범위가 커집니다.

  1. 구문 커버리지 (Statement) 프로그램 내의 명령문이 얼마나 실행되었는지로 검증합니다.
  2. 결정 커버리지 (Condition) 전체 조건문이 참 거짓을 리턴하는지로 검증합니다.
  3. 조건 커버리지 (Decision) 개별 조건문이 각각 참이나 거짓을 리턴하는지로 검증합니다.

Written by@이주형
平常心

GitHubFacebook