포스트

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 라이센스를 따릅니다.