[Good Code Bad Code] 단위 테스트의 실제 -1

2025. 3. 5. 14:07·📚 개발자의 서재/Good Code, Bad Code
해당 포스팅은 톰 롱의 Good Code, Bad Code (P.347~353)를 읽고 정리한 글입니다.

 

기능뿐만 아니라 동작을 시험하라

테스트 대상 코드가 수행하는 작업이 여러 가지가 있으며 이 각각의 작업에 대해 테스트 케이스를 따로 작성해야 한다. 

 

함수당 하나의 테스트 케이스만 있으면 적절하지 않을 때가 있다.

테스트를 작성하는 개발자가 기능 테스트에만 집중하면, 각 상황에서 올바르게 동작하는지 충분히 확인하지 못할 수 있다.

 

해결책 : 각 동작을 테스트하는 데 집중하라

함수와 동작 사이에 일대일로 연결이 안 되는 경우가 많다. 코드에 대한 신뢰도를 높이기 위해 여러 가지 값과 경계 조건을 테스트하는 것도 타당하므로 여러 케이스가 포함되어야 한다.

 

모든 동작이 테스트되었는지 거듭 확인하라

코드가 제대로 테스트되는지 여부를 측정하기 위한 한 가지 좋은 방법은 수정된 코드에 버그나 오류가 있음에도 여전히 테스트를 통과할 수 있는지 생각해 보는 것이다.

 

대상 코드의 각 줄, if 문, 논리 표현식, 값 등은 그것이 존재하는 이유가 있어야 한다. 불필요한 코드라면 그것은 제거되어야 한다.

 

오류 시나리오를 잊지 말라

오류가 자주 발생할 것으로 예상하지 않기 때문에 이러한 경우 다소 경계 조건처럼 보일 수 있다. 그럼에도 불구하고 코드가 서로 다른 오류 시나리오를 처리하고 알리는 방법은 코드를 작성하거나 호출하는 쪽 모두가 관심을 갖는 중요한 동작이다. 따라서 이 경우 역시 테스트해야 한다.

 


 

저작자표시 비영리 변경금지

'📚 개발자의 서재 > Good Code, Bad Code' 카테고리의 다른 글

[Good Code Bad Code] 단위 테스트의 실제 -3  (0) 2025.03.07
[Good Code Bad Code] 단위테스트의 실제-2  (0) 2025.03.06
[Good Code Bad Code] 테스트 더블  (0) 2025.03.04
[Good Code Bad Code] 단위테스트의 원칙-2  (0) 2025.03.03
[Good Code Bad Code] 단위테스트의 원칙-1  (0) 2025.03.02
'📚 개발자의 서재/Good Code, Bad Code' 카테고리의 다른 글
  • [Good Code Bad Code] 단위 테스트의 실제 -3
  • [Good Code Bad Code] 단위테스트의 실제-2
  • [Good Code Bad Code] 테스트 더블
  • [Good Code Bad Code] 단위테스트의 원칙-2
l'avenirJun
l'avenirJun
  • l'avenirJun
    오늘도 꾸준히 개발
    l'avenirJun
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 📚 개발자의 서재 N
        • 객체지향의 사실과 오해
        • Good Code, Bad Code
        • 도메인 주도 개발 시작하기 N
      • 🔧 트러블 슈팅
      • Java
      • Spring
      • 운영체제
        • 공룡책 학습
      • 알고리즘
      • GIT
      • 면접 지식
      • Spring 단기심화 2기
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    오블완
    책임-주도 설계
    책임
    애그리거트 루트
    메시지
    애그리거트
    도메인 모델
    캡슐화
    코딩트리조별과제
    도메인 주도 개발 시작하기
    모듈화
    타입
    코드 계약
    인터페이스
    good code bad code
    추상화
    객체지향의 사실과 오해
    협력
    유스케이스
    리포지터리
    일반화
    객체
    매핑 구현
    DIP
    코딩테스트
    티스토리챌린지
    코드트리
    역할
    가독성
    specification
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
l'avenirJun
[Good Code Bad Code] 단위 테스트의 실제 -1
상단으로

티스토리툴바