본문 바로가기
IT/Knowledge

개발 방법론(Tdd, Bdd, Ddd) 개념 및 차이

by 성준하이 2022. 3. 8.
반응형

개발을 할때는 아키텍쳐 등으로 설계도 중요하지만 방법론 역시 중요하다.

다양한 방법론들이 있지만 이번 포스팅에서 다뤄볼 방법론은 Tdd, Bdd, Ddd 를 다뤄볼것이다.

 

과거에는 요구분석단계부터 구현, 시험, 등 과정을 모두 차례대로 거치는 폭포수 모델이 있었지만,

현재의 개발 시장에서는 빠르게 만들고 실패시 버리고 새로 다른것을 만들고 하는 동향이 있다.

그리하여 이들이 대두되었다.

 

Tdd(Test-Driven-Development)

한글로 직역하면 테스트 주도 개발이다.

개발을 할때 주기적으로 테스트를 임의로 진행을 하면서 나아가는 방식이다.

테스팅을 함으로써 긴 코드여도 어디가 문제인지 알수 있고, 객체지향적이고 확장이 가능하게 용이하다.

게다가 디버깅시간이 단축이 되며 결국 전체 소요 시간이 단축 된다.

하지만 테스트를 하기위한 코드를 넣음으로써 코드량이 늘어서 빠르게 생산을 해야할 경우에는 이 방식은 비추천이다.

 

Bdd(Behavior-Driven-Development)

행동 주도 개발이라는 뜻으로 Tdd를 기반으로 파생된 방법이다.

Tdd와 비슷하지만 차이가 있다면 Bdd는 요구사항에 집중해서 테스트를 개발한다.

Tdd에 시나리오의 개념을 더해서 행동이라고 일컫고 그리하여 행동 기반의 개발 방법이다.

이 클래스는 어떤 행위를 해야한다. 라는 식의 문장으로 작성하곤 한다.

 

Ddd(Domain-Driven-Development)

도메인 주도 개발이다.

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

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

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

반응형

'IT > Knowledge' 카테고리의 다른 글

객체지향 디자인 패턴 심화 정리 part.1  (34) 2022.03.11
React Native VS Flutter ?  (53) 2022.03.10
Apache Hadoop, Apache Spark  (55) 2022.03.07
node.js 란?  (46) 2022.03.05
Runtime 의미  (55) 2022.03.04

댓글