문제

작성한 후 작은 기사 BDD에 관해 사람들로부터 BDD(특히 NBehave)를 대규모로 사용하는 사례가 있는지 묻는 질문을 받았습니다.

그래서 내 질문은 커뮤니티에 전달됩니다.BDD를 성공적으로 사용한 프로젝트가 있나요?그렇다면 어떤 혜택을 얻었고, 무엇이 더 좋았을까요?BDD를 다시 하시겠습니까?다른 사람들에게 추천하시겠습니까?

도움이 되었습니까?

해결책

우리는 다른 시나리오 (오픈 소스 및 ND 프로젝트)에서 코드 레벨에서 BDD의 다소 사용되었습니다.

  1. MVC 시나리오에서보기에, 사용자로부터 수락 할 입력 종류 (.NET에서 DDD 및 규칙 중심 UI 유효성 검사)

    result = view.GetData(
      CustomerIs.Valid, 
      CustomerIs.From(AddressIs.Valid, AddressIs.In(Country.Russia)));
    
  2. 예외 처리 동작에 대해 서비스 계층에 알리기 (ActionPolicy 데코레이터에 주입) :

    var policy = ActionPolicy
      .Handle<WebException>()
      .Retry(3);
    

이러한 접근 방식을 사용하면 코드 복제가 엄청나게 줄어들어 코드베이스를보다 안정적이고 유연하게 만들었습니다. 또한 복잡한 세부 사항의 논리적 캡슐화로 인해 모든 것을 더 간단하게 만들었습니다.

다른 팁

저는 웹사이트에서 BDD를 사용하는 소규모 팀에 속해 있었습니다.

우리가 사용한 방식은 본질적으로 TDD였지만 테스트는 단순히 DSL을 사용하여 동작으로 작성되었습니다.우리는 대규모 사전 동작 설계를 시작하지는 않았지만 다수의 동작을 생성하고 테스트할 때와 똑같이 사용했습니다.

예상할 수 있듯이 TDD와 비슷하게 작동했으며 일반적으로 훌륭했습니다.고객과 상호 작용할 때 테스트를 행동으로 표현하는 것은 좋았고 꽤 괜찮은 문서를 만들 수 있었지만, 영어로 동작하지 않는 어려운 중간 언어를 생각해내는 대신 동작이 영어로 작성되고 테스트가 프로그래밍되었으면 좋겠습니다. 어느 목적이든 완벽하게 맞습니다.

언어를 simple.spaces가 아닌 Random_Looking.set of_Punctuation으로 묘사되는 언어로 왜곡하려는 귀여운 트릭이 없었다면 여전히 BDD일 것입니다. 그러나 그것은 단지 심술궂은 늙은 프로그래머의 태도일 뿐이었고 다른 모든 사람들은 100% 행복했습니다. 그것으로.

사이트가 사용 가능하고 완벽하게 작동하므로 성공이라고 말하고 싶습니다. 보세요

최근에 높은 수준의 요구 사항 문서에서 BDD 스타일의 GWT를 사용했습니다. 나는 고객에게 GWT에 대한 피드백을 얻지 못했습니다. 그는 내가 아는 BDD에 대한 지식이 없다고 주목하십시오. 나는 전통적인 폭포 배경을 가진 사람들에게는 너무 통풍이 잘되는 요정이었을 것입니다. 아마도 다음에 사용자 이야기를 넣을 것입니다.

그건 그렇고 이것은 눈 공 UI 프로젝트가 아니 었습니다. 웹 서비스에서 데이터를 데이터베이스로 동기화하는 통합 프로젝트였습니다. 따라서 GWT는 비 "눈 공"UI에 대해서도 작동한다는 것을 보여줍니다.

여러 프로젝트 (MSPEC 사용)에서 큰 성공을 거두는 컨텍스트 구체 스타일을 사용하고 있습니다. 나는 여전히 시나리오 스타일의 실제 이점을 이해하려고 노력하고 있습니다. 상황에 맞는 스타일을 더 많이 사용할수록 더 좋아하고 응용 프로그램이 더 단단 해집니다.

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