[TDD] 테스트 기법

so_doit·2022년 2월 22일
0

TIL

목록 보기
5/26

코드는 현장에 배치되기 전과 배치되고 난 후에 기대한 대로 동작하는지 테스트를 한다. 많은 테스트들 중 오늘은 수동 테스트, 인수 테스트 그리고 테스트 주도 개발에 사용되는 단위 테스트의 방법과 목적을 공부했다.

오늘도 강의를 들도 정리했다.

수동 테스트

  • 품질 담당자가 UI를 사용해 기능을 검증한다.
  • 최종 사용자의 사용 경험과 가장 비슷하게 검증한다.
  • 다른 테스트에 비해 상대적으로 실행 비용이 높고 결과의 변동이 크다.
  • 가장 온전한 전체 코드를 실행한다.
  • 인수 테스트로 많이 쓰인다.

테스트 자동화

  1. 기능을 검증하는 코드를 작성한다.
  2. 테스트 코드 작성 비용이 소비되지만 실행 비용이 낮고 결과의 신뢰도가 높다.
  3. 테스트 코드 작성과 관리가 프로그래머 역량에 크게 영향 받는다.

인수 테스트

  • 배치된 시스템을 대상으로 검증한다.
  • 전체 시스템 이상 여부 신뢰도가 높다.
  • 높은 비용이 든다. (작성비용, 관리비용, 실행비용)
  • 피드백 품질이 낮다. 현상은 드러나지만 원인은 숨겨진다.

단위 테스트

  • 시스템의 일부를 대상으로 검증한다.
  • 낮은 비용이 든다. (작성비용, 관리비용, 실행비용)
  • 피드백 품질이 높다.
  • 전체 시스템 이상 여부 신뢰도가 낮다.

인수 테스트와 단위 테스트

인수 테스트는 전체 시스템이 있을 때 시스템 외부에 노출된 영역을 대상으로 진행된다.
단위 테스트는 테스트들이 시스템 내부에 있는 하위 시스템을 대상으로 진행된다.


회고

그동안은 테스트들의 종류에 뭐가 있다만 알지 어떻게 다르고, 어떨 때 사용하는지 몰랐다. 하지만 오늘 이 시간 이후로는 수동, 인수, 단위 테스트에 대해선 다른 사람한테도 설명해줄 수 있을 것 같다.

profile
백엔드 개발자

0개의 댓글