본문 바로가기

테스트

좋은 테스트 코드 작성법 정리

애플리케이션의 품질과 안정성을 높이기 위해
사전에 결함을 찾아내고 수정하기 위한 행위

 

테스트는 주로 특정 모듈(컴포넌트)이 사양에 잘 동작하는지 검증

 

 

테스트 코드의 효과

  1. 좋은 설계에 대한 사고를 도와준다.
    • 테스트 코드를 작성할 때 테스트 코드를 독립적으로 작성할 수 있도록 결합도를 낮추도록 설계하여 작성 가능
    • 의미 있는 컴포넌트 단위로 분리가 가능하도록 설계
  2. 테스트 코드를 기반으로 빠르고 안정적이게 리팩토링 할 수 있다.
    • 리팩토링: 결과의 변경 없이 코드의 구조를 수정
    • 좁은 범위를 개선 하고 테스트를 한다면 문제를 발견하기가 훨씬 쉽다.
  3. 애플리케이션 기능의 이해를 돕는 문서가 된다.

 

 

올바른 테스트 작성을 위한 규칙

  1. 인터페이스를 기준으로 테스트를 작성해야 한다.
    • 내부 구현에 대한 테스트는 캡슐화를 위반하여 좋지 않은 테스트
    • 컴포넌트 단위로 테스트하되 내부 구현사항은 최대한 테스트를 하지 않는 것이 좋다.
  2. 커버리지를 늘리기 보다는 의미 있는 테스트인지 고민해야 한다.
    • 커버리지: 테스트 코드가 애플리케이션 코드의 몇 %를 검증하고 있는지 나타내는 지표
    • 단순한 UI 렌더링 하는 컴포넌트, 억지로 실패하게 만들지 않는한 실패하지 않는 간단한 함수는 커버리지만을 늘리는 테스트코드가 된다.
  3. 가독성을 높여야 한다.
    • 테스트 하고자 하는 내용을 명확하게 적어야 한다.
    • 하나의 테스트에서는 하나의 동작만 검증해야 한다.(SRP원칙)