
티디딕…? 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 |