TDD

김루루룽·2022년 8월 23일
0

blog✏️

목록 보기
52/61
post-thumbnail

TDD

TDD(Test Driven Development)
테스트를 기반으로 개발하겠다

-▶︎ 테스트를 먼저 만들고, 기능 만들기

반복 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현한다.

TDD를 하는 이유

기능이 없으니 실패할텐데 왜 그렇게 만드는지,,,?

-▶︎ 테스트를 나중에 만들려면 바쁘고 귀찮아서 안하게 됨.
그리고 테스트를 통과하게끔 일부러 쉽게 만들수도 있고,,
그래서 아예 테스트 문화를 만들기 위해서 TDD를 한다.

TDD 개발 방식의 장점

  • 보다 튼튼한 객체 지향적인 코드 생산 :
    코드의 재사용 보장을 명시하므로 TDD를 통한 소프트웨어 개발 시 기능 별 철저한 모듈화가 이뤄진다.
    이는 종속성과 의존성이 낮은 모듈로 조합된 소프트웨어 개발을 가능하게 하며 필요에 따라 모듈을 추가하거나 제거해도 소프트웨어 전체 구조에 영향을 미치지 않게 된다.

  • 재설계 시간의 단축 :
    테스트 코드를 먼저 작성하기 때문에 어떻게 해야하는 개발을 시작하게 된다.
    테스트 시나리오를 작성하면 예외사항에 대해 생각해 볼 수 있다.

  • 디버깅 시간의 단축 :
    자동화 된 유닛테스팅을 전재하므로 특정 버그를 손 쉽게 찾아낼 수 있다.

  • 테스트 문서의 대체 가능 :
    테스팅을 자동화 시킴과 동시에 보다 정확한 테스트 근거를 산출할 수 있다.

TDD의 단점

  • 생산성의 저하
    원래 만들어야할 코드에 TDD를 위한 코드 두 개의 코드를 짜야하고,
    테스트를 하면서 고쳐나가야하기 때문에 시간이 걸린다.

참조 :
[기술면접] TDD(Test-Driven-Development) 방법론에 대해서

profile
1day 1push..plz

0개의 댓글