SDM - TDD, BDD
TDD와 BDD 모두 소프트웨어 개발 방법론이지만 목표와 접근 방식에서 차이가 있다.
SDM
- Software Development Methodology
- 소프트웨어 개발 방법론
- 소프트웨어를 개발하는 방법에 대한 이론으로, 소프트웨어 개발 과정, 절차, 방법, 산출물, 기법, 도구들을 체계적으로 정리하고 표준화 시킨 것
TDD
- Test Driven Development : 테스트 주도 개발
- 코드를 작성하기 전에 테스트를 작성하고 테스트를 통과하기 위한 최소한의 코드를 작성하는 개발 방법론
코드의 동작을 검증하고 안정성을 확보하는 데 중점을 둔다.
- 다음의 사이클을 따른다.
Red
: 실패하는 테스트 작성Green
: 테스트를 통과하기 위한 최소한의 코드 작성Refactor
: 작성된 코드를 리팩토링하여 중복을 제거하고 코드를 더 간결하게 구현
- 문장 구조
- 주로
언제
와무엇
에 대한 테스트 케이스를 작성 - ex : “이 함수가 특정 입력에 대해 예상된 출력을 생성해야 한다”
- 주로
BDD
- Behavior Driven Development : 행위 주도 개발
- 비즈니스 요구사항과 사용자 스토리에 기반하여 소프트웨어의 행위를 정의하고 검증하는 개발 방법론
소프트웨어의 행동을 설명하고 이해하는 데 중점을 둔다.
- TDD의 확장으로 볼 수 있다.
- 문장 구조
- 주로
누가
,무엇을
,왜
에 대한 테스트 케이스를given
,when
,then
구성으로 작성 - ex : “사용자가 로그인 폼에 올바른 자격 증명을 제출할 때 시스템은 사용자를 로그인 상태로 변경해야 한다”
- 주로
참고한 사이트
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.