부트캠프

TDD(Test Driven Development)

hunm719 2023. 3. 12. 10:48
1.TDD(Test Driven Development)

 -테스트가 개발을 주도하는 방식

 -테스트 코드를 먼저 작성하고, 그 다음에 기능을 구현함

 

 

1-1.TDD의 특징

  • 모든 조건에 만족하는 테스트를 먼저 진행한 뒤에, 조건에 만족하지 않는 테스트를 단계적으로 진행하면서 실패하는 테스트를 점진적으로 성공시킴
  • 테스트가 "passed" 될 만큼의 코드만 우선적으로 작성함
  • 실패하는 테스트 → 실패하는 테스트를 성공할 만큼의 기능 구현 → 성공하는 테스트 → 리팩토링 → 실패하는 테스트와 성공하는 테스트 확인이라는 흐름을 반복함

 

1-2.TDD의 장점과 단점

 -장점

  • 테스트를 통과 할 만큼의 기능을 구현하므로 한번에 너무 많은 기능을 구현할 필요가 없음
  • 리팩토링의 비용이 상대적으로 적어짐(테스트가 성공할 때 바로바로 리팩토링을 진행하기 때문)
  • 기존 코드 수정에 대한 심리적 불안감을 줄일 수 있음(항상 테스트 케이스가 존재하기 때문)
  • 리팩토링을 통해 꾸준히 코드를 개선하므로 코드의 품질을 일정 부분 유지할 수 있음
  • 코드 수정 이후, 바로 테스트를 진행할 수 있으므로 수정 결과를 빠르게 피드백 받을 수 있음

 -단점

  • 익숙하지 않은 개발 방식
  • 테스트 코드 작성이 필수적임
  • 팀 단위로 개발을 진행해야 하므로 팀원들 간에 사전 협의가 필요함

'부트캠프' 카테고리의 다른 글

인증/보안 - 기초  (1) 2023.03.15
Spring MVC - API 문서화  (0) 2023.03.12
Spring MVC - Testing part 3  (0) 2023.03.09
Spring MVC - Testing part 2  (0) 2023.03.08
Spring MVC - Testing part 1  (0) 2023.03.06