티스토리 뷰

Python/unittest

테스트 주도 개발 (TDD)

철철박사 2023. 2. 12. 22:28
반응형

# 테스트 주도 개발

테스트 주도 개발(Test-Driven Development, TDD)은 소프트웨어 개발 방법론 중 하나이다. 보통 개발 프로세스는 개발이 이루어진 다음 그것이 계획대로 잘 완성되었는지 테스트 케이스를 작성하고 테스트를 진행한다. 하지만 테스트 주도 개발은 테스트를 먼저 작성한 후 코드를 작성한다.

 

 

 

# TDD 개발 순서

테스트 주도 개발은 아래의 과정을 계속 반복한다.

1. 실패하는 테스트 케이스를 먼저 작성한다.

2. 테스트 케이스를 통과하는 코드 작성한다.

3. 작성한 코드에서 중복 코드를 제거하는 등의 리팩터링 한다.

 

 

 

# TDD의 장점

1. 객체 지향적인 코드 생산

2. 재설계 시간의 단축

3. 디버깅 시간의 단축

4. 테스트 문서의 대체 가능

5. 추가 구현의 용의 함

 

 

 

# TDD의 단점

1. 생산성 저하

2. 100% 안정성을 보장해 주지는 않음.

 

 

 

# TDD 무조건해야 할까?

TDD는 테스트 케이스를 작성해야 한다. 그만큼의 시간을 투자함에 따라 이익을 얻을 수 있을 때 사용하는 것이 좋다.

반응형
댓글
공지사항