본문 바로가기
📇기타

TDD(Test Driven Development)

by 캔 2023. 7. 16.

 켄트 벡의 "테스트 주도 개발(Test Driven Development, 김창준 역)을 읽고 내용을 정리해 본다.

 

아직 TDD에 대한 이해는 추상적이여서 책을 읽고 필기 해본 내용들만 적어본다. 하지만 계속해서 TDD에 대한 조사와 탐구를 통해서 이해도를 높여갈 것이다. 따라서 정리한 내용은 앞으로 수정해 갈 예정이다.

 

TDD 주기 

  • 작은 테스트를 추가한다. 
  • 모든 테스트를 실행하고 실패하는 것을 확인한다.
  • 코드에 변화를 준다
  • 모든 테스트를 실행하고 성공하는 것을 확인한다.
  • 중복을 제거하기 위해 리팩터링한다.
  • 테스트-> 실패 ->수정 -> 성공 -> 리팩터링

결과를 가짜 코드로 구현

 

컴파일 에러 -> 수정

 

테스트 실패 -> 수정

 

테스트 성공 -> 중복 제거(리팩터링)

 

mocking(가짜 구현), 삼각측량법(triangulation), 명백하게 구현하기

 

중복 제거

 

빌 웨이크 3A Arrange(준비), Act(행동), Assert(확인)

 

테스트 쪼개기

간결함 - 셋업코드는 간결하게

짧은 실행 시간

깨지기 쉬운 테스트는 지양

 

기능 추가, 리팩터링 시 스트레스, 불안감 감소(자신감 증가)