DDD vs BDD vs TDD 개념정리
0. 들어가기전에
Domain Driven Design ?? DDD에 대해 얼마나 알고 있나?
일단 DDD를 떠나 TDD BDD TDD 무슨무슨 주도 설게라는 말이 많이 나오는데 이러한 차이점을 먼저 알아보고 DDD에 대해 알아보자,
이번 회사 솔루션 사업을 하면서 TDD를 하게 되었는데, 여간 어려운일이 아니더라,,, 아무튼 개념부터 정리하고 내가 하고 싶은 DDD에 대해 적어보겠다.
1. TDD (Test-Driven-Development)
TDD 정리
- 테스트 주도 개발
- 매우 짧은 개발 서클의 반복을 갖는 소프트웨어 개발 프로세스이다.
- 새로운 기능에 대한 자동화된 테스트 케이스를 작성하고 해당 케이스를 통과화는 가장 짧고 가독성이 좋고 유지보수성이 뛰어난 코드를 작성하게 도와준다.
- 개발시 방향을 잃더라도 테스팅을 돌려봄으로써 계속해서 진행이 가능하다.
- 보다 객체지향적이고 확장이 가능한 코드, 즉 재설계의 시간을 단축시킬수 있는 코드, 디버깅시간이 단축되는 코드를 작성케 함
- 해보면 알겠지만 코드량이 굉장히 많이 늘기 때문에, 생산성을 요구하는 프로젝트에서는 비추,lW
TDD 코드 작성 순서
- Failing Test작성