IT/Knowledge
개발 방법론(Tdd, Bdd, Ddd) 개념 및 차이
성준하이
2022. 3. 8. 08:35
반응형
개발을 할때는 아키텍쳐 등으로 설계도 중요하지만 방법론 역시 중요하다.
다양한 방법론들이 있지만 이번 포스팅에서 다뤄볼 방법론은 Tdd, Bdd, Ddd 를 다뤄볼것이다.
과거에는 요구분석단계부터 구현, 시험, 등 과정을 모두 차례대로 거치는 폭포수 모델이 있었지만,
현재의 개발 시장에서는 빠르게 만들고 실패시 버리고 새로 다른것을 만들고 하는 동향이 있다.
그리하여 이들이 대두되었다.
Tdd(Test-Driven-Development)
한글로 직역하면 테스트 주도 개발이다.
개발을 할때 주기적으로 테스트를 임의로 진행을 하면서 나아가는 방식이다.
테스팅을 함으로써 긴 코드여도 어디가 문제인지 알수 있고, 객체지향적이고 확장이 가능하게 용이하다.
게다가 디버깅시간이 단축이 되며 결국 전체 소요 시간이 단축 된다.
하지만 테스트를 하기위한 코드를 넣음으로써 코드량이 늘어서 빠르게 생산을 해야할 경우에는 이 방식은 비추천이다.
Bdd(Behavior-Driven-Development)
행동 주도 개발이라는 뜻으로 Tdd를 기반으로 파생된 방법이다.
Tdd와 비슷하지만 차이가 있다면 Bdd는 요구사항에 집중해서 테스트를 개발한다.
Tdd에 시나리오의 개념을 더해서 행동이라고 일컫고 그리하여 행동 기반의 개발 방법이다.
이 클래스는 어떤 행위를 해야한다. 라는 식의 문장으로 작성하곤 한다.
Ddd(Domain-Driven-Development)
도메인 주도 개발이다.
일반적으로 많이 사용하는 방법은 아니고 순수히 모델과 로직에 집중을 하는것이다.
커뮤니케이션에 있어서 분석,설계,구현 단계에 이르기까지 통일된 방식으로 협업이 가능하다.
규칙이 동일하여 통일된 방식으로 할수 있다는게 장점이다.
반응형