본문 바로가기
CS

TDD(Test Driven Developing)

by 남생이야 2024. 5. 6.

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의 장단점

장점

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

 

단점

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

'CS' 카테고리의 다른 글

데드락(DeadLock)  (0) 2024.05.14
애자일(Agile)  (0) 2024.05.07
DDD(Data Driven Developing)  (0) 2024.05.05
CBD(Component Based Developing)  (0) 2024.05.04
오토마타  (0) 2024.05.02