Home 깨끗한 단위 테스트를 위한 다섯 가지 원칙 - F.I.R.S.T
Post
Cancel

깨끗한 단위 테스트를 위한 다섯 가지 원칙 - F.I.R.S.T

단위 테스트란?

  • 함수, 모듈, 기능 등 세부 단위별로 수행하는 소프트웨어 테스트.
  • 컴포넌트(component test)라고도 부른다.

깨끗한 단위 테스트를 위한 다섯 가지 규칙(FIRST)이란?

  • bob martin이 제시한 단위 테스트 원칙
  • 깨끗한 테스트는 다음 다섯 가지 규칙을 따르는데, 각 규칙에서 첫 글자를 따 오면 FIRST가 된다.

단위 테스트 5원칙 - F.I.R.S.T

  1. Fast: 빠르게
    • 테스트는 빨라야 한다.
    • 테스트가 느리면 자주 돌릴 엄두를 못 낸다.
    • 자주 돌리지 않으면 초반에 문제를 찾아내 고치지 못한다.
  2. Independent: 독립적으로
    • 각 테스트는 서로 의존하면 안 된다.
    • 테스트가 서로에게 의존하면 하나가 실패할 때 나머지도 잇달아 실패하므로 원인을 진단하기 어려워지며 후반 테스트가 찾아내야 할 결함이 숨겨진다.
  3. Repeatable: 반복가능 하게
    • 테스트는 어떤 환경에서도 반복 가능해야 한다.
    • 테스트가 돌아가지 않는 환경이 하나라도 있다면 테스트가 실패한 이유를 둘어댈 변명이 생긴다.
    • 게다가 환경이 지원되지 않기에 테스트를 수행하지 못 하는 상황에 직면한다.
  4. Self-validating: 자가검증하는
    • 테스트는 부울(bool) 값으로 결과를 내야 한다.
    • 테스트가 스스로 성공과 실패를 가늠하지 않는다면 판단은 주관적이 되며 지루한 수작업 평가가 필요하게 된다.
  5. Timely: 적시에
    • 테스트는 적시에 작성해야 한다.
    • 단위 테스트는 테스트하여는 실제 코드를 구현하기 직전에 구현한다.

Reference

  • 클린 코드: 167쪽 F.I.R.S.T
This post is licensed under CC BY 4.0 by the author.

객체 지향 프로그래밍의 5원칙 - S.O.L.I.D

CQRS (by Martin Fowler)