TDD

Taro·2023년 11월 28일
0
post-thumbnail

TDD(Test Driven Development)

TDD 란 Test Driven Development 의 약자로서
'테스트 주도 개발' 이라고 하며 반복 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이를 통과하는 코드를 추가하는 단계를 반복하여 구현하는방식을 말한다

일반적인 개발 방식

보통의 개발 방식은
요구사항 분석 -> 설계 -> 개발 -> 테스트 -> 배포

하지만 이럴경우 잠재적인 위험이 존재한다

1. 클라이언트의 요구사항이 바뀔수 있다
2. 처음부터 완벽한 설계는 어렵다
3. 버그 검출 및 능력의 저하고 코드의 품질이 떨어질수 있다
4. 테스트 코드 작성의 어려움 및 비용의 증가

TDD 개발 방식

TDD개발방식
테스트 코드를 작성한 뒤 실제 코드를 작성한다

TDD 개발방식은 테스트코드를 작성한 뒤 실제코드를 작성한다 때문에 테스트가 통과된 코드만을 실제 코드로 작성하게 되므로 코드의 버그가 줄고 재사용성을 높힐 수 있다

TDD 개발 방식의 장점

1. 재설계 시간 단축

테스트 코드를 먼저 작성하기 때문에 개발자가 무엇을 해야하는지 분명히 정의하고 개발하게 된다 따라서 개발 진행 중 설계가 변경되는 일을 방지 가능하며 시간의 단축도 가능하게된다.

2. 디버깅 시간 단축

만약 데이터가 잘못 나왔을경우 UI 문제인지 DB문제인지 전부 테스트를 할 필요없이 구축되어있는 테스팅 환경을 통해서
유닛테스팅으로 특정 버그를 빠르게 찾아낼 수 있다.

TDD 개발 방식의 단점

1. 생산성의 저하

TDD 주도 개발방식의 경우 반드시 테스트 후 실제 코드를 작성하게 되므로 일반적인 개발방식에 비해 10~30% 가량 시간이 늘어나게된다
(SI 프로젝트의 경우 품질 보다 납기일이 중요하기때문에 TDD 방식을 잘 사용하지 않는다)

profile
기록하며 공부하는곳

0개의 댓글