티디딕…? TDD…? 처음 들어 봅니다. 그래서 짚고 넘어가려고 합니다!
🤔TDD 가 뭐야?
TDD (Test Driven Developmnet)란 소프트웨어 개발 방법의 하나입니다.
소프트 웨어를 개발하는 과정에서 테스트코드를 작성하고 이를 기반으로 실제 코드를 작성하는 방법을 말합니다.
TDD의 단계는 다음과 같습니다
- 테스트 작성 (TEST) : 구현되지 않은 기능에 대한 테스트 케이스를 작성합니다.
- 테스트 실행 및 실패 확인 (RED) : 테스트를 실행하고 실패하는지 확인합니다.
- 코드작성 (GREEN) : 실제 코드를 작성합니다. 최소한의 코드만으로 작성하여 테스트에 통과하는 것이 목표입니다.
💪TDD의 장점?
- 신뢰성 향상 : 익숙하지 않은 기능을 개발할 때 테스트 케이스를 작성함으로 써 버그 발생 가능성을 낮춥니다.
- 문서화 : 테스트 케이스는 소프트웨어의 동작을 설명해주는 문서 역할을 합니다. 코드를 이해하고 유지 보수에 도움이 됩니다.
- 설계 개선 : 작은 단위부터 테스트 케이스를 작성함으로 리팩토링에 도움이 됩니다.
- 빠른 피드백 : 테스트 케이스 작성으로 빠른 시점에서 버그를 발견하고 수정할 수 있습니다.
😥TDD의 단점?
- 비용과 생산 : TDD는 테스트 코드를 작성해야 함으로 추가적인 시간과 비용이 소모됩니다. 하지만 장기적인 관점에서는 유지보수 단계에서 오히려 절감할 수 있습니다.
- 테스트 커버리지 : 모든 시나리오를 고려하는 완벽한 테스트 커버리지를 달성하기 어렵습니다. 따라서 버그를 놓칠 가능성이 있습니다.
TDD는 애자일 방법론의 하나로서 스타트업과 같은 환경과 상황이 빠르고 유연하게 변화는 환경에서 적합한 방식이라 생각됩니다!
'개발 상식' 카테고리의 다른 글
[개발 상식] 객체지향(OOP) vs 절차지향(PP) (0) | 2023.07.22 |
---|---|
[개발 상식] API, REST, RESTful API의 의미와 설계규칙 (0) | 2023.07.22 |
[개발 상식] 함수형 프로그래밍이란? (0) | 2023.07.21 |
[개발 상식] MVC 패턴이란 무엇인가? (0) | 2023.07.21 |
[개발 상식] Git과 GitHub, 무슨 차이일까? (0) | 2023.07.21 |