[TDD] 테스트 주도 설계?

so_doit·2022년 3월 10일
0

TIL

목록 보기
19/26

어떤 사람들은 TDD를 테스트 주도 개발 대신에 D를 Design이라고 해석해서 테스트 주도 설계라고 이해하고 설명하는 사람들도 있다. 만약에 TDD가 테스트 주도 설계로 해석이 된다면 TDD를 하면 자연스럽게 좋은 설계가 도출될 것 같은 느낌이 든다. 실제로 테스트 주도 개발과 코드 설계가 서로 어떤 영향을 미치는지 강의를 통해 알아보자.

설계가 단위 테스트에 미치는 영향

  • 테스트는 인터페이스 설계에 의존한다.
  • 인터페이스 설계 품질이 낮으면 테스트 작성이 불편하다.

단위 테스트가 설계에 미치는 영향

  • 테스트가 있기 때문에 리팩터링 가능하다.
  • 두려움 없이 구현 설계를 과감하게 개선한다.

단위 테스트에 의지하는 인터페이스 설계

단위 테스트는

  • 낮은 응집에 대한 피드백을 주지 않는다.
  • 일관된 설계를 강요하지 않는다.
  • 의도 노출을 요구하지 않는다.

단위 테스트에 의지하는 구현 설계

  • 단위 테스트는 책임 분산을 유도하지 않는다.
  • Mockists
  • 비공개 운영 코드 테스트
profile
백엔드 개발자

0개의 댓글