본문 바로가기
개발공부

테스트 주도 개발 TDD (Test Driven Development)

by bzerome240 2023. 3. 4.



: 테스트 코드를 먼저 작성한 후 테스트를 통과하는 코드를 작성하는 과정을 반복하는 개발 방식

개발 주기가 짧은 개발 프로세스

 

 

개발 주기 단계

1. 실패 테스트 작성

: 실패하는 경우의 테스트 코드를 먼저 작성

2. 테스트를 통과하는 코드 작성

: 테스트 코드를 성공시키기 위한 실제 코드 작성

3. 리팩토링

: 중복 코드를 제거하거나 일반화

 

 

테스트 주도 개발 효과

  • 디버깅 시간 단축
  • 생산성 향상
  • 재설계 시간 단축
  • 기능 추가와 같은 추가 구현이 용이

 

테스트 코드를 작성하는 이유?

  • 문서화 역할
    • 테스트 코드 내 @DisplayName("~하는 테스트") 등 주석을 통해 요구조건을 알 수 있다.
  • 코드에 결함을 발견하기 위함
    • 경계 조건 테스트 코드를 작성하면서 반대 조건도 테스트할 수 있다.
  • 리팩토링 시 안정성 확보
    • 테스트코드를 갖추고 만들어진 코드는 나중에 리팩토링할 때에도 테스트 코드가 이미 있기때문에 리팩토링도 안전하게 할 수 있는 것 같다.
  • 테스트 하기 쉬운 코드를 작성하다 보면 더 낮은 결합도를 가진 설계를 얻을 수 있음

 

 

728x90
반응형

댓글