Android/Test

TDD알아보기

봄석 2019. 10. 4. 16:50

TDD알아보기

TDD의 란? (Test Driven Development)
테스트 주도 개발: 테스트가 개발을 이끌어 나가는 개발방법론

 

 

구체적인 행동 레벨에서의 TDD의 개념은?
테스트를 먼저 만들고 테스트를 통과하기 위한 것을 짜는 것 즉, 만드는 과정에서 우선 테스트를 작성하고 그걸 통과하는 코드를 만들고를 반복하면서 제대로 동작하는지에 대한 피드백을 적극적으로 받는 것입니다.

 

 

TDD가 어려운이유는뭘까 ??

  • 개발 시간이 증가합니다.
  • 많은 기업들이 단기적인 성과에 집중해 있습니다.
  • 전체 개발 시간을 줄이는 것보다 오늘 일을 끝내는 것을 강조하기 때문에 TDD 도입이 어렵습니다.
    단기적인 것에 집중되어 있으니.. 그때까서 또 고치면 되니까.. 고객이 화내면 안되니까.. 급한 불을 끄면서 허덕이면서 살기 때문에..
    TDD가 어렵습니다,
  • 이제까지 자신이 개발하던 방식을 많이 바꿔야 하기 때문에
    몸에 체득한 것이 많을수록 바꾸기가 어렵습니다.

 

TDD의 장점


장점 

  • TDD를 하면 개발 시간이 늘어난다.
    • 개발 시간이 TDD를 하지않을 때에 비해 대략 10~30%가 늘어납니다.
  • TDD를 하면 결함이 줄어든다.
    • 결함이 1/2~1/10 까지 줄어듭니다.
    • SW를 개발하면서 예상하지 못했던 시간을 많이 소요하는 것은 대부분이 버그 때문이다.
      TDD를 하면 이런 버그를 줄일 수 있습니다.
    • 유지보수 비용이 낮아집니다.

TDD어디까지 ??

TDD 개발 시간의은 본인이 ‘다했다고’생각할 때까지, 기능 구현이 끝났을 때까지 진행하는게 좋습니다.