관리 메뉴

개발하는 동그리

[Test] TDD (Test-Driven Development) 본문

IT 정보/Spring

[Test] TDD (Test-Driven Development)

개발하는 동그리 2022. 7. 14. 13:49
반응형

TDD란!?

테스트 코드를 먼저 작성하는 개발 방법론으로 작은 단위에서 테스트 코드를 작성 후 기능을 구현하는 것 

  • 모든 조건에 만족하는 테스트 진행
  • 조건에 만족하지 않는 테스트 단계적 진행
  • 실패하는 테스트를 점진적으로 살을 붙임
  • TDD 테스트 진행 순서 
    1. 실패 테스트
    2. 실패 테스트를 성공할 만큼의 기능만 구현
    3. 성공 테스트 -> 리팩토링
    4. 실패 & 성공 테스트 확인

 

TDD의 장점

  • 테스트를 통과할 만큼의 기능만 구현 (많은 기능이 필요하지 않음)
  • 테스트 코드를 추가하면서 검증하는 범위가 넓어지기 때문에 기능 구현도 점진적으로 완성 -> 검증을 지나치지 않음
  • Refactoring에 필요한 부분을 그 순간에 처리하기 때문에 리팩토링 비용이 상대적으로 줄어듬
  • 완성된 코드를 수정했을 때 발생하는 오류의 위험부담을 줄어듬
    • 코드 수정 후 피드백을 바로 받을 수 있고, 잘못된 코드를 유지한채로 나쁜 품질의 코딩을 지속하지 않음

 

TDD의 단점

  • 테스트 코드작성에 익숙하지 않은 사람에게 부정적
  • 팀원들간에 TDD방식 개발 협의가 되어야 함
반응형

'IT 정보 > Spring' 카테고리의 다른 글

[Spring] 스프링 MVC 정리 (1)  (10) 2022.07.16
[Test] Mockito  (14) 2022.07.14
[스프링 부트와 JPA 활용] 2편  (0) 2022.07.14
[Spring] JUnit Test 기능  (18) 2022.07.12
[Spring] Spring MVC - 예외 처리  (38) 2022.07.04