alt
Home TDD(Test Driven Develop)
Post
Cancel

TDD(Test Driven Develop)

: test 주도형 개발. 기능 개발 전 가능한 모든 경우에 대해 테스트를 먼저 작성해보는 것

테스트 코드를 작성하는 방법들과는 다른, 소프트웨어 개발론적인 것


장점

  • 리팩토링에 용이. 크기가 커진 함수를 여러 함수로 나누는 과정에서 테스트 코드를 통해 계속 확인을 해가며 리팩토링을 해 중심을 잡을 수 있다.
  • 새로운 기능을 추가했을 때 해당 기능에 대한 테스트는 물론, 기존의 테스트들도 다 잘 돌아가는지 확인해 새로운 기능에 대해 신뢰를 할 수있다.
  • 객체지향적으로 작성할 수 있다: 시나리오를 먼저 생각하고 작성을 해본다. -> use case를 명확히 파악 가능하고 ‘객체’ 위주로 먼저 생각해볼 수 있게 된다.
    • 객체지향을 연습할 때 TDD로 해보면 굉장히 도움이 된다고 한다.


단점

  • 생산성이 줄어든다
    • 시나리오를 먼저 생각하는 것 자체가 사람에게 익숙하지 않은 방식
    • 프로덕션 코드를 작성하기 위해 테스트를 먼저 신경써서 작성한다는 것 자체가 일단 생산성 저하
  • 모든 기능에 대해 100% 테스트코드를 작성할 수 없는 상황이 발생할 수 있다.



This post is licensed under CC BY 4.0 by the author.