CS

TDD(Test Driven Developing)

남생이야 2024. 5. 6. 03:30

TDD란

  테스트 주도 개발(Test Driven Development)이란 작은 단위의 테스트를 작성하고 이를 계속 테스트하면서 성공하면 해당 코드를 추가하는 것을 반복하는 것으로 짧은 개발 주기의 반복의 의존하는  소프트웨어 개발론 중 하나이다.

 애자일 방법론 중 eXtream Programming의 Test-First  개념에 기반을 둔다.

 

eXtream Programming

미래에 대한 에측을 최대한 하지 않고, 지속적으로 프르토타입을 완성하는 애자일 방법론 

 

 

TDD 개발 절차

  1. RED (Write a failing test) : 실패하는 코드 작성
  2. GREEN (Make the test pass) : 테스트 코드를 성공시키기 위한 실제 코드 작성
  3. BLUE (Refactoring) : 중복 코드 제거 및 테스트 통과 유지 등의 리팩토링 수행

 

 

TDD의 장단점

장점

  • 깔끔한 코드 작성 가능
  • 장기적 개발 비용 감소
  • 재빠른 피드백 
  • 추가 구현 용이 

 

단점

  • 생산성 저하 - 실패 코드와 성공 코드를 작성해야하 므로
  • 익숙하지 않은 개발 방식