테스트 주도 개발(TDD)

테스트 주도 개발(TDD)

Test Driven Development 란?

실제 코드를 작성하기 전에 테스트 코드를 먼저 작성하고, 그 테스트 코드를 Pass할 수 있는 실제 코드를 작성하는 개발 방식

TDD 개발 프로세스

전통적인 개발 방식에서는 설계 -> 개발 -> 테스트 의 순서로 개발이 진행되며, 테스트 단계에서 예상치 못한 오류나 새로운 요구사항을 마주하게 되는 경우 다시 처음 설계단계로 돌아가서 과정을 진행하게 된다.

TDD 개발 방식에서는 설계 -> 테스트 코드 작성 -> 개발 이런식으로 진행된다.

  • 테스트 코드를 작성하며 예외사항이 생기면 설계에 반영하고 테스트 코드를 추가한다.
  • 개발했다고 끝난 것이 아니라 리팩토링을 진행한다. TDD는 다음과 같이 진행된다.
  1. Write a failing test : 실패하는 테스크 코드 작성
  2. Make the test pass : 테스트 코드를 성공시키기 위한 실제 코드 작성
  3. Refactor : 리팩토링 진행
  4. 반복

이러한 반복적인 과정을 진행하면서 코드의 버그는 줄어들고 소스코드는 간결해질 수 있다.

TDD의 장점

  • TDD는 많은 기능을 테스트하기에, 소스 코드에 안정감이 부여된다.
  • 실제 개발하면서 많은 시간이 소요되는 부분은 디버깅 부분인데, TDD를 사용하면 디버깅 시간이 줄어들고 결과적으로 실제 개발 시간도 줄어든다.
  • 소스 코드 하나하나를 더욱 신중하게 작성할 수 있기 때문에 깨끗한 코드가 나올 확률이 높다.

© 2021. All rights reserved.