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)

도메인 주도 개발이다.

일반적으로 많이 사용하는 방법은 아니고 순수히 모델과 로직에 집중을 하는것이다.

커뮤니케이션에 있어서 분석,설계,구현 단계에 이르기까지 통일된 방식으로 협업이 가능하다.

규칙이 동일하여 통일된 방식으로 할수 있다는게 장점이다.

반응형