간단한 개념 정리 정도로만 작성했으며 추후 학습하면서 깊이 이해하게 된다면 게시글을 수정할 예정입니다.
TDD란?
Test Driven Development의 약자로 테스트 주도 개발을 뜻한다.
- 먼저 실패하는 테스트를 작성한다 (RED)
- 테스트를 성공하는 최소한의 코드를 작성한다.(GREEN)
- 작성한 코드의 로직 변경 또는 개선을 한다. (BLUE)
TDD를 도입하면 생기는 장점과 단점
장점
- 작은 단위테스트부터 진행하기 떄문에 버그의 발생이 적어지고 발생한다 하더라도 발생 위치를 쉽게 찾아낼 수 있다.
- 요구사항이 추가되거나 변경이 되어도 수정이 쉽다.
- 요구사항을 보다 명확하게 구현할 수 있다.
- 클래스간에 의존성을 낮출 수 있으며 코드의 품질이 좋아진다.
단점
