CS

[CS] TDD(Test-Driven Development)란?

KJihun 2023. 7. 31. 23:56
728x90

 

 

TDD(Test-Driven Development)

TDD는 테스트 주도 개발이라고도 불린다.

테스트 코드를 작성하고 이를 통과하는 최소한의 코드를 작성한 후에 리팩토링하는 과정을 반복하여개발하는 방식이다.

1. 기능 코드를 작성하기 전에 테스트 코드를 먼저 작성하여 테스트 하는 것이 핵심 원칙이다.

2. 보통 단위 테스트로 진행한다.

3. 테스트를 통과할 수 있는 최소한의 코드만 작성하여 기능이 작동하는지 검증한다.

4. 기능이 작동하는 것을 확인 후 코드 구조 개선 및 중복 제거 등 작업을 수행하는 리팩토링을 진행한다. 

장점

1. 코드 품질 향상: 각 기능에 대한 테스트를 보장하므로 코드 품질이 높아지며 버그를 발견하기 쉬워진다.

2. 신뢰성 확보: 테스트를 통과한 기능은 정상적으로 동작한다는 확신을 가질 수 있으므로, 신뢰성이 높아진다.

3. 빠른 피드백: 테스트를 통과하지 못하는 경우 즉시 버그를 확인할 수 있으므로, 빠른 피드백을 받을 수 있다.

4. 초기에는 개발 시간이 더 오래 걸리지만 코드 품질과 유지보수성을 높여줌으로써 안정적인 개발에 도움을 준다.

'CS' 카테고리의 다른 글

[CS] NoSQL vs RDMBS  (0) 2023.08.02
[CS] 쿠키와 세션의 차이  (0) 2023.08.01
[CS] 스케줄링  (0) 2023.07.15
[CS] 병행(Concurrency)과 병렬(Parallel)  (0) 2023.07.12
[Spring] Spring AOP(Aspect-Oriented Programming)  (0) 2023.07.11