-
테스트코드가 중요하다는 것은 여기저기서 들었는데 어떻게 시작해야 할지 몰랐다.
TDD에 대한 학습을 하고자 박재성 강사님의 [자바 플레이그라운드 with TDD, 클린 코드]를 신청해서 듣기 시작했다.
양치기 보다는 의식적인 연습을 제대로 하는 것이 중요하다고 한다.
TDD는 단위테스트 가 아니다.
TDD = TFD(Test First Development) + 리팩토링(설계)
무조건 테스트 코드를 운영코드보다 먼저 작성하는 것 + 설계를 쪼개서 추가하며 개선해 나감
요구사항에 맞는 to do List를 잘 작성하여 설계한다.
TDD의 아이러니 중 하나는 테스트 기술이 아니라는 점이다. TDD는 분석 기술이며, 설계 기술이기도 하다.
켄트백 - Test Driven Development by Example 중
아무것도 없는데 테스트부터 어떻게 작성하지?? 라고 생각했는데 피드백 영상을 보면서 이해가 갔다.
작은 단위부터해서 기존에 만들던 것과 거꾸로 진행되는 신박한 방법이었다.
TDD를 굳이 하는 이유
- 디버깅 시간 감소
- 동작하는 문서 역할
- 변화에 대한 두려움 감소
과정은 아래의 사이클을 반복한다.
(실패하는 테스트 구현) -> (성공하도록 프로덕션 코드 구현) -> (프로덕션 & 테스트코드 리팩토링(그래야 중복 제거됨))
TDD 원칙
1. 실패하는 단위 테스트 작성할 때까지 프로덕션 코드 작성하지 않는다.
2. 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위테스트 작성한다.
3. 현재 실패하는 테스트를 통과할 정도로만 실제 코드 작성한다.(오버 엔지니어링 방지)
'자바_스프링' 카테고리의 다른 글
spring boot 2.7.x에서의 swagger와 redisson 충돌 (0) 2023.03.15 재고시스템으로 알아보는 동시성이슈 해결방법 강의 노트 (0) 2023.03.15 Collection 및 Map인터페이스 간단요약 (0) 2023.02.17 TDD연습하기(2) (자바 플레이그라운드 with TDD, 클린 코드) (0) 2023.02.16 TDD연습하기(1) (자바 플레이그라운드 with TDD, 클린 코드) (0) 2023.02.16 댓글