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 |