TDD 학습을위한 최고의 리소스는 무엇입니까? [닫은] : 서적 웹 사이트 비디오 운동 목록 개인적인 지혜의

TDD를 배우고 싶습니다. 최고는 무엇입니까 :

  • 서적
  • 웹 사이트
  • 비디오
  • 운동 목록
  • 개인적인 지혜의 말씀

TDD를 배우고 이해하고 사용하기 위해?



답변

개인적으로 저는 JUnit 에세이를 읽거나 “코드 전에 테스트를 작성하십시오”라고 강조하는 것이 저를 시작하기에 충분하다는 것을 알았습니다.

이 기술을 배우는 데있어 가장 중요한 부분은 많은 코드 기반 테스트를 작성하는 것입니다. 코드 작성에 대해 생각하는 가장 기본적인 방법 중 일부를 변경해야하기 때문입니다. 같은 것들:

  • 코드 앞에 테스트를 작성하면 코드를 호출하고 결과를 다시 얻는 방법을 미리 생각할 수 있습니다. 즉, API 사용 방법에 따라 먼저 API를 설계해야 합니다. 이것은 종종 더 나은 API를 생성합니다.
  • 코딩 방식이 바뀔 것입니다. 모듈 식으로 생각하고 코드 전체를 테스트하는 대신 코드의 일부를 테스트 할 수 있어야하기 때문입니다.
  • 테스트를 통과했기 때문에 주요 청크를 자신있게 꺼내고 동일한 동작 대신 새 청크를 삽입 할 수있는 지점에 도달하게됩니다. 나는 원본이 너무 관대했기 때문에 최근에 날짜 파싱 라이브러리로 그 일을했습니다.

소규모로 시작하는 가장 좋은 장소는 유틸리티 루틴입니다. 다음 번에 테스트가 필요한 경우 먼저 테스트를 통해 설계하고 모든 공식 유스 케이스 (널 값이 전달 된 경우 등을 포함하여)에 대한 많은 테스트를 작성하십시오. 모든 유스 케이스가 구현되면 사용할 수 있어야합니다 코드에서 직접 작성하고 예상대로 작동한다고 확신하십시오.

또한 여러 가지 상황에서 코드가 어떻게 동작하는지 정확하게 알려주는 매우 간결한 코드가 많기 때문에 좋은 테스트 (문서)로 추가 작업을 수행 할 수 있다는 것은 저의 경험이기도합니다 (녹색 막대). 신중한 의견으로는 그보다 훨씬 나아지지 않습니다.

Java jUnit 버전 4의 경우 정말 좋습니다.


답변

제 생각에는 TDD는 테스트 작성보다는 코드 테스트 가능에 관한 것입니다.

코딩하기 전에 테스트를 작성할 수는 있지만 테스트가 작성된 모든 이유는 코드를 작성할 수 있기 때문에 테스트하기 어려운 코드를 작성하지 않아도됩니다.

이것이 무엇을 의미하는지 더 잘 이해하려면 이것을 살펴보십시오 :
내 통합 된 버그 이론

개념에 관심이 있고 자세한 내용을 알고 싶은 경우 의견을 남기면됩니다. Google에서 주제에 대한 녹화 된 프레젠테이션의 방향을 알려 드리겠습니다.

최신 정보:

깨끗하고 테스트 가능한 코드를 작성하는 방법

Miško Hevery Presenting ( GoogleTechTalks에 의해 ) 뉴욕의 Google에서 Google의 엔지니어링 생산성 그룹이 후원


답변

이미 언급 한 책 들과는 별도로 Testing by Growing Object-Oriented Software Guided by Tests를 추천 할 수 있습니다 . 아직 읽지 않았지만 단순한 코드 예제뿐만 아니라 실제와 같은 전체 TDD 프로젝트에 대한 이야기를 포함하여 읽을만한 가치가 있습니다.


답변

두 권의 책을 읽었습니다.

테스트 주도 개발 : 켄트 벡과

Paul Hamil의 단위 테스트 프레임 워크

Beck 책은 잘 알려져 있지만 “Unit Test Frameworks”를 읽을 때까지 단위 테스트를 시작하지 않았습니다. 나는 약간의 TDD를 수행하지만 유지 해야하는 오래된 코드에 테스트를 추가합니다 (가능한 경우).

편집 : 또한 핸들을 얻은 후에는 현재 프로젝트에서 즉시 사용하는 것이 좋습니다. 제게는 실제 학습이 시작된 시점이며, “Unit Test Framework”책 이이 목적을위한 더 나은 참고서 라고 생각합니다 . (나는 C #과 함께 nunit을 사용하고 있었다).


답변

TDD에 관한 것이 아니라 (테스트 가능하도록 디자인 할뿐만 아니라 TDD에 관한 것이지만), Unit of Art Testing 은 좋은 테스트를 작성하는 방법을 가르쳐주기 때문에 제가 추천하는 책입니다.

보다 구체적으로, 신뢰할 수 있고 유지 보수 가능하며 읽기 쉬운 테스트를 작성하는 방법을 알려줍니다. 나는 이것이 유닛 테스팅과 격리 프레임 워크에 대한 기본이 아닌 책의 가장 중요한 부분이라고 생각한다. 단위 테스트가 어려움이되거나 개발자의 업무에 마찰을 가하면 성공 또는 이점이 제한 될 것입니다. 시험을 만들기 위해 시간과 노력을 투자한다면, 그 투자로부터 최대한의 수익을 얻을 수 있어야한다.


답변