[CS] TDD, 테스트 주도 개발 방법론

장다슬·2024년 4월 27일

CS 스터디

목록 보기
16/23

TDD 사이클

Test Driven Development
소프트웨어 개발 방법론 중 하나로, 매우 짧은 개발 사이클을 반복하는 것을 통해 먼저 테스트를 작성하고 그에 맞게 코드를 개발하는 방식

과정

  1. RED : 목표로 하는 기능에 대해 실패하는 테스트 코드 작성 (실제 코드 작성 X)
  2. GREEN : 테스트 코드를 성공시키기 위해 실제 코드 작성
  3. BLUE : 테스트를 통과한 코드에 대하여 중복 코드 제거, 일반화 등의 리팩토링을 수행하여 코드의 품질을 높임

장단점

장점

1. 디버깅 시간 단축

  • 자동화 된 유닛테스팅을 전재하므로 특정 버그를 쉽게 찾을 수 있음

2. 빠른 피드백 가능

  • 완성 단계가 아닌 기능 단위로 테스트를 진행 하기 때문에 문제를 빠르게 해결할 수 있음

3. 생산성 향상

4. 재설계 시간 단축

5. 추가 구현 용이


단점
1. 생산성 저하

  • 개발 시간이 일반적인 개발 방식에 비해 10~30% 정도 증가

2. 기존의 개발 방식을 바꿔야 함

3. 구조에 얽매임


참고:
TDD 방법론 (테스트 주도 개발) - 알기 쉽게 정리 - Inpa Dev
[우아한테크코스] 2주차 - TDD(Test Driven Development)

profile
반갑습니다

0개의 댓글