«tdd» 태그된 질문

TDD는 Test-Driven Development 또는 Test-Driven Design의 약자입니다. Red-Green-Refactor주기라고하는 코드를 작성하기 전에 코드를 작성하기 전에 단위 테스트를 작성하는 것이 관례입니다.

10
단위 테스트 응용 프로그램 논리와 불신 언어 구성 사이의 경계는 어디에 있습니까?
다음과 같은 기능을 고려하십시오. function savePeople(dataStore, people) { people.forEach(person => dataStore.savePerson(person)); } 다음과 같이 사용될 수 있습니다. myDataStore = new Store('some connection string', 'password'); myPeople = ['Joe', 'Maggie', 'John']; savePeople(myDataStore, myPeople); 자체 단위 테스트가 있거나 공급 업체에서 제공 한다고 가정 해 봅시다 Store. 어쨌든 우리는 신뢰 Store합니다. 그리고 데이터베이스 연결 …

10
왜 개발 중심 테스트 (DDT)가 아닌 테스트 중심 개발 (TDD)에 대해 민첩한가?
따라서 민첩한 것은 아니지만 테스트 중심의 개발은 아닙니다 . 대학의 교수님들은 모두 테스트 아이디어와 코드 테스트에 관한 것이 었습니다. 왜 그런지 잘 모르겠습니다. 내 관점에서 볼 때 코드가 발전함에 따라 변경 될 가능성이 높은 초기 비용이 많이 듭니다. 이것이 내가 TDD를 상상하는 방법과 그것이 나를 혼란스럽게하는 이유입니다. 내가 TDD 계약자로서 …

7
기존 코드 작성 테스트
하나가 비교적 큰 프로그램 (예 : C #에서 900k SLOC)을 가지고 있다고 가정하십시오. 전체 코드 기반은 더 이상 회사와 함께 있지 않은 한 명의 선임 개발자가 작성했습니다. 모든 코드는있는 그대로 테스트 할 수 있으며 IoC는 전체적으로 사용됩니다. 단, 이상한 이유로 단위 테스트를 작성하지 않았습니다. 이제 귀사는 코드를 분기하고 변경 사항이 …

7
단위 테스트와 테스트 중심 개발의 차이점
설명을 읽음으로써, 나는 TDD 테스트에서 함수를 작성하기 전에 수행되고 단위 테스트에서 그 후에 수행된다는 것을 이해합니다. 이것이 가장 큰 차이점입니까, 아니면 두 용어를 비교할 수도 없습니다. 아마도 단위 테스트는 TDD의 통합 부분 일 것입니다.

7
단위 테스트 대신 수락 및 통합 테스트를 사용하는 것으로 충분합니까?
이 질문에 대한 짧은 소개. 나는 지금 TDD와 요즘 BDD를 1 년 이상 사용했다. 테스트를보다 효율적으로 작성하기 위해 조롱과 같은 기술을 사용합니다. 최근에 나는 작은 돈 관리 프로그램을 작성하기위한 개인 프로젝트를 시작했다. 레거시 코드가 없었기 때문에 TDD로 시작하기에 완벽한 프로젝트였습니다. 불행히도 나는 TDD의 기쁨을 그다지 경험하지 못했습니다. 그것은 심지어 프로젝트를 …

7
테스트 가능성을 설계 할 때 정적 유틸리티 클래스를 처리하는 방법
우리는 시스템을 테스트 할 수 있고 대부분 TDD를 사용하여 개발하도록 시스템을 설계하려고합니다. 현재 우리는 다음과 같은 문제를 해결하려고 노력하고 있습니다. 여러 곳에서 ImageIO 및 URLEncoder (표준 Java API)와 같은 정적 헬퍼 메소드와 대부분 정적 메소드 (Apache Commons 라이브러리와 같은)로 구성된 다양한 라이브러리를 사용해야합니다. 그러나 이러한 정적 도우미 클래스를 사용하는 메서드를 …

10
모든 방법을 테스트해야합니까?
그래서 오늘 저는 팀 테스트를 통해 유닛 테스트에 대해 이야기했습니다. 그가 내게 물었을 때 모든 것이 시작되었습니다. "이봐 요, 그 수업의 시험은 어디에 있습니까?" 전체 클래스는 관리자 (또는 그렇게 부르기를 선호하는 경우 서비스)였으며 거의 ​​모든 메소드는 단순히 DAO에 물건을 위임했기 때문에 다음과 비슷했습니다. SomeClass getSomething(parameters) { return myDao.findSomethingBySomething(parameters); } 논리가없는 …

5
테스트 가능한 코드를 홍보하는 디자인 원칙은 무엇입니까? (테스트 가능한 코드 디자인과 테스트를 통한 디자인 설계)
내가 작업하는 대부분의 프로젝트는 나중에 개발 및 단위 테스트를 고려하여 나중에 단위 테스트를 작성하는 것을 악몽으로 만듭니다. 저의 목표는 높은 수준과 낮은 수준의 디자인 단계 자체에서 테스트를 염두에 두는 것입니다. 테스트 가능한 코드를 홍보하는 잘 정의 된 디자인 원칙이 있는지 알고 싶습니다. 최근에 이해하게 된 그러한 원칙 중 하나는 종속성 …

16
TDD를 수행 할 때 한 번에 모든 테스트를 작성하지 않는 이유는 무엇입니까?
TDD에 대한 빨강-녹색-리 팩터 사이클이 잘 설정되어 승인되었습니다. 우리는 하나의 실패한 단위 테스트를 작성하여 가능한 한 간단하게 통과시킵니다. 클래스에 대해 많은 실패한 단위 테스트를 작성 하고 한 번에 모두 통과하게 만드는 것보다이 방법의 이점은 무엇입니까? 테스트 스위트는 리팩토링 단계에서 잘못된 코드를 작성하거나 실수하는 것을 방지합니다. 때로는 클래스 (또는 모듈)에 대한 …

4
TDD-외부 입력 대 내부 출력
응용 프로그램을 구축 차이점은 무엇이고 외부에서 대를 구축 아웃 내부 TDD를 사용은? 다음은 제가 TDD와 단위 테스트에 관해 읽은 책들입니다 : 테스트 주도 개발 : 테스트 주도 개발 사례 : 실용 가이드 : 실용 가이드 Microsoft의 고품질 PHP 프레임 워크 및 애플리케이션 개발을위한 실제 솔루션 . NET xUnit 테스트 패턴 …

10
테스트를 테스트하는 방법?
우리는 코드가 더 정확하도록 (실제로 부정확하지 않도록) 테스트합니다 . 그러나 테스트는 코드이기도하며 오류가 포함될 수도 있습니다. 그리고 테스트가 버그가 있다면 코드를 개선하기가 어렵습니다. 테스트에서 세 가지 가능한 유형의 오류를 생각할 수 있습니다. 프로그래머가 당면한 과제를 잘못 이해했을 때의 논리적 오류와 테스트는 그가해야 할 것으로 생각하는 것을 수행합니다. 기본 테스트 프레임 …

14
TDD는 복잡한 프로젝트에서 실제로 작동합니까?
TDD 프로젝트에서 경험 한 문제에 대해이 질문을하고 있습니다. 단위 테스트를 만들 때 다음과 같은 문제를 발견했습니다. 모의 데이터 생성 및 유지 대규모 모의 데이터를 유지 관리하는 것은 어렵고 비현실적입니다. 데이터베이스 구조가 변경 될 때 더욱 어려워집니다. GUI 테스트 MVVM과 GUI 테스트 기능이 있더라도 GUI 시나리오를 재현하려면 많은 코드가 필요합니다. 사업 …
53 tdd 

11
테스트를 시작하기 위해 디자인이 필요한 경우 TDD가 좋은 디자인을 얻는 데 어떻게 도움이되는지 모르겠습니다.
TDD를 중심으로 머리를 감싸려고합니다. 특히 개발 부분입니다. 몇 가지 책을 보았지만 주로 찾은 책은 주로 테스트 부분-NUnit의 역사, 테스트가 좋은 이유, 빨강 / 녹색 / 리 팩터 및 문자열 계산기를 만드는 방법을 다룹니다. 좋은 점이지만 TDD가 아니라 "단지"단위 테스트입니다. 특히, 테스트를 시작하기 위해 디자인이 필요한 경우 TDD가 어떻게 좋은 디자인을 …
50 java  c#  .net  tdd 

11
자동 테스트의 단점은 무엇입니까?
이 사이트에는 자동화 된 테스트를 통해 얻을 수있는 이점에 대한 많은 정보가있는 여러 가지 질문이 있습니다. 그러나 나는 동전의 다른 쪽을 나타내는 것을 보지 못했습니다. 단점은 무엇입니까? 인생의 모든 것은 트레이드 오프이며은 총알이 없으므로 자동화 된 테스트를 수행하지 않는 몇 가지 정당한 이유가 있어야합니다. 그들은 무엇인가? 내가 생각해 낸 몇 …

9
단위 테스트 또는 테스트 중심 개발이 가치가 있습니까?
우리 팀은 Scrum으로 이사하고 있으며 다른 팀은 단위 테스트 및 사용자 승인 테스트를 사용하여 테스트 중심 개발을 시작하고 있습니다. UAT는 마음에 들지만 테스트 중심 개발 또는 테스트 중심 개발을위한 단위 테스트에서는 판매되지 않습니다. 테스트 작성은 추가 작업 인 것처럼 보이며 사람들이 실제 코드를 작성할 때 버팀목을 제공하며 종종 효과적이지 않을 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.