CS
TDD(Test Driven Developing)
남생이야
2024. 5. 6. 03:30
TDD란
테스트 주도 개발(Test Driven Development)이란 작은 단위의 테스트를 작성하고 이를 계속 테스트하면서 성공하면 해당 코드를 추가하는 것을 반복하는 것으로 짧은 개발 주기의 반복의 의존하는 소프트웨어 개발론 중 하나이다.
애자일 방법론 중 eXtream Programming의 Test-First 개념에 기반을 둔다.
eXtream Programming
미래에 대한 에측을 최대한 하지 않고, 지속적으로 프르토타입을 완성하는 애자일 방법론
TDD 개발 절차
- RED (Write a failing test) : 실패하는 코드 작성
- GREEN (Make the test pass) : 테스트 코드를 성공시키기 위한 실제 코드 작성
- BLUE (Refactoring) : 중복 코드 제거 및 테스트 통과 유지 등의 리팩토링 수행
TDD의 장단점
장점
- 깔끔한 코드 작성 가능
- 장기적 개발 비용 감소
- 재빠른 피드백
- 추가 구현 용이
단점
- 생산성 저하 - 실패 코드와 성공 코드를 작성해야하 므로
- 익숙하지 않은 개발 방식