cs 공부
TDD
늘곰's
2023. 12. 18. 22:17
**테스트 주도 개발(Test-Driven Development, TDD)**는 소프트웨어를 개발하는 방법 중 하나로, 개발자가 코드를 작성하기 전에 테스트를 먼저 작성하고, 그 후에 해당 테스트를 통과시키는 코드를 작성하는 접근 방식입니다. TDD는 주기적인 테스트 실행을 통해 안정적이고 견고한 소프트웨어를 개발하는 데 도움을 줍니다.
TDD 주기는 일반적으로 "Red-Green-Refactor"라고 알려져 있습니다.
- Red (빨간 단계):
- 새로운 기능이나 변경사항을 수용하는 테스트를 작성합니다. 이 시점에서 해당 테스트는 실패해야 합니다. 왜냐하면 아직 구현되지 않은 코드이기 때문입니다.
- Green (초록 단계):
- 테스트가 실패한 상태에서, 해당 테스트를 통과시키는 최소한의 코드를 작성합니다. 목표는 테스트를 통과하는 것뿐이며, 코드가 얼마나 효율적이고 예측 가능한지에 대한 고려는 여기서는 중요하지 않습니다.
- Refactor (리팩터 단계):
- 코드가 테스트를 통과하면, 리팩토링을 수행합니다. 코드의 가독성을 높이거나 중복 코드를 제거하는 등의 작업을 통해 코드의 품질을 향상시킵니다. 이 단계에서도 기존의 테스트가 실패하지 않도록 주의해야 합니다.