문제

테스트 중심의 개발되었습에서 분노니다.인터넷 커뮤니티를 위해 지난 몇 년이다.최근,내가 듣고 불평에 ALT.NET 커뮤니티에 대한 BDD.그것이 무엇입니까?무엇이 다른 TDD?

도움이 되었습니까?

해결책

내가 이해하 BDD 할에 대해 더 사양테스트.그것은 연결된 도메인 중심의 디자인을(당신은 사랑 이러한*DD 약어?).

그것은 연결된 특정 방법을 쓰는 사용자 이야기를 포함,높은 수준의 테스트합니다.예를 들여 톰 열 Thij:

Story: User logging in
  As a user
  I want to login with my details
  So that I can get access to the site

Scenario: User uses wrong password

  Given a username 'jdoe'
  And a password 'letmein'

  When the user logs in with username and password

  Then the login form should be shown again

(에서 자신의 문서,톰 간에 직접 실행하는 이 시험에서 사양니다.)

교황의 BDD 가 Dan 북.을 찾을 수 있는 좋은 소개 그 소개 BDD 문서입니다.

을 비교한 내용을 확인할 수 있의 BDD 및 TDD 에서 이 동영상.또한에 대한 의견을 BDD 로"TDD 바로" 제레미 D.Miller

March25,2013 년 업데이트

위의 비디오 누락되었습니다.여기에는 최근 한하여 Llewellyn Falco, BDD 대 TDD(설명).내가 찾는 그의 설명을 명확한 점이다.

다른 팁

나에게 기본적인 차이점이 BDD 및 TDD 은 초점과 표현이다.고 단어가 중요한 통신을 위한 당신의 의도입니다.

TDD 지시에 초점을 테스트합니다.그리고 이후에"오래된 폭포는"세계 테스트 후에 와서 구현,다음 이 사고에 이르게 잘못 이해하고합니다.

BDD 지시에 초점을 행동과 명세,그리고 폭포는 마음을 주의가 산만해서는 안 됩니다.그래서 BDD 은 더 쉽게 이해한 디자인으로 연습으로 테스트습니다.

를 보실 수 있습니다 두 가지 유형의 BDD.

첫 번째는 원래 스타일에는 댄 북한에 대해 설명하고 발생의 창조 xBehave 스타일의 프레임워크.나이 스타일은 주로 적용을 위한 승인 테스트 또는 사양에 대한 도메인 개체입니다.

두 번째 스타일은 데이브 Astels 유명해 졌고,나에게,새로운 형태의 TDD 는 일부 심각한 혜택입니다.에 초점을 맞추고 행동을 보다는 오히려 테스트하고 또한 작은 테스트 클래스하려가 있는 곳으로 당신은 기본적으로 하나의 라인당 명세서(테스트)를 방법입니다.이 스타일의 모든 레벨에 맞는 테스트를 사용하여 수행할 수 있습 기존의 단위 테스트 framework 지만 새로운 프레임워크(xSpec 스타일)에 초점을 맞추는 데 도움이 되도록 한 행동이 아닌 테스트합니다.

또한 BDD 그룹는 유용할 수 있습니다.

http://groups.google.com/group/behaviordrivendevelopment/

테스트 기반의 개발 테스트-처음 소프트웨어 개발 방법론,의미는 그것을 필요로 작성 테스트 코드 작성하기 전에 실제 코드는 것입 테스트 할 수 있습니다.켄트에서 벡의 말씀:

스타일로 여기서 쓰는 몇 줄의 코드를 테스트 실행,또는 더 나은,를 작성 테스트 실행되지 않는,다음 쓰기 코드는 그것을 실행합니다.

후에 알아내는 방법을 쓰는 하나의 작은 조각의 코드,지금의 코딩에서,우리는 즉각적인 피드백과 실천"코드 작은,테스트,작은 코드 작은,테스트니다." 그래서 우리는 즉시 쓰기에 대한 테스트니다.

그래서 TDD 는 낮은 수준,기술적 방법론을 사용하여 프로그래머를 생산하는 깨끗한 코드를 작동되는지 확인합니다.

행동 기반 개발 이 방법론을 기반으로 만들어진 TDD 지만,진화 프로세스하지 않는 관심만 프로그래머와 테스터들만,대신 상품으로 전체 팀과 모든 중요한 이해관계자,기술 및 기술.BDD 시내의 몇 가지 간단한 질문에는 TDD 지 않는 잘 대답:얼마나 많은 테스트게 작성해야합니까?나는 무엇을 해야 실제로 테스트하고 무엇을 말아야지요?는 테스트를 쓸 것이 사실이 중요한 사업이나 전반적인 품질의 제품,그리고는 그냥 내 over-engineering?

당신이 볼 수 있듯이,그러한 질문을 필요로 협력이 기술하고 사업이다.비즈니스 관계자의 도메인 전문가 자주 말할 수 있는 엔지니어들이 어떤 종류의 테스트는 소리 같이 그들이 유용할 것이지만 경우에만 이 테스트는 높은 수준의 테스트를 다루는 중요한 비즈니스 측면이 있습니다.BDD 전화 같은 비즈니스 같은 테스트를"예""에서와 같이 말하는 방법의 예는 이 기능이 동작한 제대로"그리고 예비 단어는"시험"에 대한 낮은 수준,기술적 검사와 같은 데이터 유효성 또는 테스트 API 합니다.의 중요한 부분은 동 테스트 만 만들 수 있는 프로그래머와 테스터 수집이나 분석에 의하여 전체 납품 팀에 의해 디자이너,분석 및입니다.

문장에서,최고의 중 하나의 정의 BDD 가 발견 지금까지는 BDD 가에 대해"데 도메인 전문가를 사용하여 예을 얻기 위해 공동의 이해를 원하는 동작을 발견됩니다." 검색 부분은 매우 중요합니다.으로 배달 팀이 수집에 더 많은 예제들을 이해하기 시작 도메인 비즈니스 더 따라서 그들이 감소들에 대한 불확실성이 몇 가지 측면의 제품들을 처리합니다.불확실성이 감소하고,창의성과 자율성의 납 팀이 증가합니다.예를 들면,그들은 이제 시작 그들의 제안의 자신의 예로는 비즈니스 사용자지 않았다고 생각했기 때문에 가능한 자신의 부족의 기술 전문이다.

지금,하지만 비즈니스 및 도메인 전문가들은 큰 소리,하지만 우리 모두 알고 있는 방법을 자주에서 끝나는 연습이다.여행을 시작으로 기술적으로 프로그래머입니다.프로그래머로,우리는 우리에게 가르쳐 코드 작성—는 알고리즘,디자인 패턴을 추상화.또는,당신은 디자이너가있는 경우에,당신은 당신을 가르쳤 디자인—정보 구성과 아름다운 인터페이스가 있습니다.하지만 우리가 얻을 때의 항목 수준 작업을,우리의 고용주가 우리를 기대하는"가치를 제공하는 클라이언트." 그 중에서 클라이언트가 될 수 있습니다,예를 들어...니다.그러나 나는 알 수 있었음에 대해 아무것도 은행—는 방법을 제외하고 효율적으로 감소를 내비스를 제공합니다.그래서 내가 가진 것을 어떻게든 무엇을 번역은 예상되 나의 코드로...내가 다리를 건설하는 간 금융 및 기술적 전문성하는 경우를 전달하고 싶습니다.BDD 는 데 도움이 나를 구축 등 다리에서 안정적인 기초의 유체 간의 통신에 제공 팀과 도메인 전문가입니다.

Learn more

는 경우에 당신은에 대한 자세한 내용을 원하는 BDD,내가 쓴 책을 확인할 수 있게 되었습니다. "쓰기 중대한 사양" 예술을 탐구한 분석의 요구 사항하고는 방법을 배우는 데 도움이 될 것입을 구축하는 중대한 BDD 프로세스 및 사용 예제의 핵심 부분으로 하는 과정입니다.이 책에 대해 이야기의 유비쿼터스 언어를 수집,예,그리고 만들기를 그래서 소위 실행 가능 사양(자동화된 테스트)의 예술하는 데 도움이 BDD 팀에 서비스를 제공할 수 있도 softeware 에서 제공하는 것으로 정평이 나있다.

에 관심이 있는 경우를 구입하"서면 훌륭한 사양," 저장할 수 있습니다 39% 과 함께 프로모션 코드 39nicieja2 :)

나는 실험과 함께 약간 BDD 접근 방식이고 내 조기 결론은 BDD 에 적합하여 사용 케이스 구현,하지만 근본적인 정보.TDD 아직도 바위에는 수준입니다.

BDD 또한 사용되는 커뮤니케이션 도구입니다.목표를 쓰는 것이 실행가능 사양을 이해할 수 있습니다 도메인 전문가입니다.

그것은 나에게 보인다는 BDD 은 넓은 범위가 있습니다.그것은 거의 의미 TDD 사용하는 BDD 은 encompasing 방법론을 정보를 수집하고 사용하기 위한 요구 사항,amongh 다른 것들,TDD 방법을 보장 빠른 피드백입니다.

나에 대한 최신 지식을 BDD 과 비교했을 때 TDD,BDD 에 초점을 맞추고 지정하여 다음에 무슨 일이 일어날는 반면,TDD 에 초점을 맞추고 설정 조건을 설정한 다음 출력.

행동이 중심의 개발에 집중하는 것에 더 많은 상호 작용 및 커뮤니케이션 개발자들과도 사이에 개발자와 테스터입니다.

의 위키 문서에서 설명:

행동 기반 개발

지 않은 연습 BDD 나 자신이 하지만입니다.

고려의 주요 장점은 TDD 을 디자인합니다.라는 테스트 중심의 디자인이다.BDD 하위 집합의 TDD 을 호출,동작 중심의 디자인이다.

지금 고려하고 인기있는 구현 TDD-단위 테스트입니다.단위에서 단위의 테스트는 일반적으로 하나의 비트는 논리는 작은 단위의 작업을 확인할 수 있습니다.

를 넣을 때 그 단위에서 함께 기능적인 방법을 설명하고 원하는 동작하는 기계,필요하신 행동을 이해 당신을 설명하는 기계입니다.행동이 중심의 디자인에 초점을 맞추고 확인 구현에 대한 이해의 사용 사례/요구사항/무엇이든지 확인합의 구현은 각 기능입니다.BDD 및 TDD 에서 일반적인 제공의 중요한 목적을 알리는 디자인 그리고 두 번째 목적의 정확성을 확인 구현을 경우에 특히 그것을 변경합니다.BDD 할 권리를 포함 biz 및 dev(qa)는 반면,단위 테스트(가능하게 잘못으로 볼 TDD 보다는 하나의 유형 TDD)서 일반적으로 수행되 dev silo.

나는 그것도 추가 BDD 테스트로 봉사활 요구 사항입니다.

BDD 은 크게 TDD 되어 있습니다.그러나,거기에 추가하는 값이 BDD 제공합니다.여기에서의 링크에서는:

BDD 이상"TDD 바로"

여기에 빠른 스냅:

  • TDD 은 프로세스의 코드를 테스트하기 전에 그것을 쓰기!

  • DDD 되는 과정에 대한 정보를 먼저 도메인의 각 사이클을 터치합니다.

  • BDD 의 구현 TDD 제공하는 일부 측면에서의 DDD!

도움이 됐으면 좋겠어!

차이 테스트 기반의 개발(TDD)및 동작 중심의 개발(BDD)

  • BDD 에 초점을 맞추고 행동의 시스템이 아닌
    구현 측면하는 시스템의 TDD 초점을 맞춥니다.

  • BDD 제공에 대한 명확한 이해를으로 무엇을 해야 할 시스템
    의 관점에서 개발자와 고객입니다.TDD 만
    제공하는 개발자의 이해 시스템이해야 할 것입니다.

  • BDD 할 수 있는 개발자와 고객을하고 함께 작업에 대 요구 분석 포함된 내에서의 소스 코드 시스템입니다.

차이가없는 타협 TDD 및 BDD.를 제외하고 읽을 수 있는 테스트는 더 나은,당신은 그들을 사용할 수 있으로 요구 사항입니다.당신이 쓰는 경우에 당신의 요구 사항과 동일한 단어로 작성 BDD 테스트할 수 있는 다음 온 프롬의 클라이언트의 일부와 함께 귀하의 테스트를 정의 준비가 쓰는 코드입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top