TDD, BDD, DDD가 뭐야? ✨

📍 TDD (Test Driven Development) - 테스트 주도 개발 - 매우 짧은 개발 서클의 반복을 갖는 소프트웨어 개발 프로세스 - 새로운 기능에 대한 자동화된 테스트케이스를 작성하고 해당 케이스를 통과하는 가장 짧고 가독성이 좋고 유지보수성 - 뛰어난 코드를 작성 - 실패하는 테스트 케이스 먼저 작성 후 통과하는 코드를 작성하고 그 이후 리팩토링 장점 - 요구사항 이해도 향상 - 기존 기능 정상 동작 확인 가능 - 코드 리팩토링 단점 - 코드량 증가 - 진입장벽 - 주객전도 📍 DDD (Domain Driven Design) - 도메인 주도 개발 - 소프트웨어의 복잡성 최소화 - 데이터 중심의 접근법을 탈피하여 순수한 도메인의 모델과 로직에 집중 - 모든 문서와 코드에 동일한 표현과 단어로 구성된 단일화된 언어체계 구축 - 분석, 설계, 구현까지 통일된 방식으로 커뮤니케이션 가능 - DDD의 핵심 목표는 "Loosly coupling", "High cohesion" - 기술보다 도메인이 더 높은 우선순위를 가져야함 - 분석 모델링부터 코드까지 항상 같이 움직이는 모델 구조를 지향 📍 BDD (Behavior Driven Development) - 행동 주도 개발 - TDD에 DDD의 스타일을 적용하여 탄생 - 테스트 케이스 자체가 요구사양이 되도록 개발하는 방식 - TDD에서는 단위 테스트로 작성된 테스트 코드의 가독성을 높고 테스트 케이스에 대한 문서를 작성했으나, BDD는 이것을 통합테스트와 시나리오 테스트까지 확장하여 각각에 해당하는 문서를 대체

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 1월 18일 오전 1:37

 • 

저장 39조회 3,115

댓글 0