**테스트 주도 개발(Test-Driven Development, TDD)**는 소프트웨어를 개발하는 방법 중 하나로, 개발자가 코드를 작성하기 전에 테스트를 먼저 작성하고, 그 후에 해당 테스트를 통과시키는 코드를 작성하는 접근 방식입니다. TDD는 주기적인 테스트 실행을 통해 안정적이고 견고한 소프트웨어를 개발하는 데 도움을 줍니다.
TDD 주기는 일반적으로 "Red-Green-Refactor"라고 알려져 있습니다.
- Red (빨간 단계):
- 새로운 기능이나 변경사항을 수용하는 테스트를 작성합니다. 이 시점에서 해당 테스트는 실패해야 합니다. 왜냐하면 아직 구현되지 않은 코드이기 때문입니다.
- Green (초록 단계):
- 테스트가 실패한 상태에서, 해당 테스트를 통과시키는 최소한의 코드를 작성합니다. 목표는 테스트를 통과하는 것뿐이며, 코드가 얼마나 효율적이고 예측 가능한지에 대한 고려는 여기서는 중요하지 않습니다.
- Refactor (리팩터 단계):
- 코드가 테스트를 통과하면, 리팩토링을 수행합니다. 코드의 가독성을 높이거나 중복 코드를 제거하는 등의 작업을 통해 코드의 품질을 향상시킵니다. 이 단계에서도 기존의 테스트가 실패하지 않도록 주의해야 합니다.
'cs 공부' 카테고리의 다른 글
| DDD (Domain-Driven Design) (1) | 2023.12.18 |
|---|---|
| 프레임워크와 라이브러리의 차이 (0) | 2023.12.18 |
| 동기와 비동기의 차이 (0) | 2023.12.18 |
| OSI 7계층 (0) | 2023.12.15 |
| 객체 지향 프로그래밍이란 무엇이고 어떻게 활용할 수 있나요? (0) | 2023.12.12 |