기록

TDD 본문

Develop

TDD

dev.jung 2021. 7. 1. 16:53

TDD(Test-driven development)

 

테스트 주도 개발(Test-driven development, TDD)은 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다.
우선 개발자는 바라는 향상 또는 새로운 함수를 정의하는 (초기적 결함을 점검하는) 자동화된 테스트 케이스를 작성한다.
그런 후에, 그 케이스를 통과하기 위한 최소한의 양의 코드를 생성한다. 그리고 마지막으로 그 새 코드를 표준에 맞도록 리팩토링한다.
이 기법을 개발했거나 '재발견' 한 것으로 인정되는 Kent Beck은 2003년에 TDD가 단순한 설계를 장려하고 자신감을 불어넣어 준다고 말하였다.

  1. TDD 는 소프트웨어 개발 방법론 중의 하나이다.
  2. TDD 는 Test-Driven Development, 즉 테스트 주도 개발 방법론이다.
  3. 테스트 주도 개발은 테스트 코드를 먼저 작성함으로써 테스트 코드가 개발을 주도한다.
  4. 테스트 코드가 개발을 주도하기 위해서는 반드시 실패를 포함하는 테스트코드의 작성이 앞서야 한다.
  5. 앞서 작성된 테스트 코드를 통과할 수 있는 '최소한의 구현 코드'를 작성한다.
  6. 최소한의 구현 코드는 개선될 수 있는 많은 여지를 포함하고 있는 코드다. 단지 테스트만 패스하면 된다.
  7. 최소한의 구현 코드를 리팩토링 단계에서 개선한다.
  8. 테스트 코드 작성, 최소한의 구현 코드 작성, 구현 코드에 대한 리팩토링 순으로 짧은 주기를 반복하며 점증적으로 개발한다.

기존 프로세스 
설계 → 개발 → 테스트

TDD 프로세스
설계 → 테스트 → 개발

반응형

'Develop' 카테고리의 다른 글

프로젝트 리빌딩 회고록 (feat: Next, Mobx, MetarialUI, Atomic)  (0) 2022.01.17
코드 컨벤션  (0) 2021.08.02
Comments