2008-09-12 8 views
21

Pex을 사용하신 분들은 Pex의 장점과 단점이 무엇이라고 생각하십니까?Pex 사용자 : Pex 및 자동 탐색 시험의 일반적인 인상은 무엇입니까?

또한 "자동화 된 탐색 적 테스트"의 장단점은 이며 TDD/Unit Testing의 보완 사항이라고 생각하십니까?

+0

QA 의미에서 어떻게 탐색 적 테스트입니까? ISTQB/ISEB/IEEE/ISO와 관련하여 Exploratory Testing과 아무 관련이없는 것 같습니다. 코드를 분석하고 구현 된 규칙에 따라 테스트 사례를 생성하는 도구가 아닌가? Exploratory Testing보다 전문가 시스템과 비슷합니다. http://en.wikipedia.org/wiki/Exploratory_testing. – yoosiba

+0

@yoosiba "Automated Exploratory Testing"은 MS (http://channel9.msdn.com/posts/briankel/Pex-Automated-Exploratory-Testing-for-NET/)에서 직접 제공 한 구문입니다.그때 이후로 그 용어에서 멀어 졌던 것처럼 보입니다. –

답변

12

나는 탐험적인 테스트 도구로 Pex가 정말로 흥미 롭다고 생각한다. 그런면에서 나는 이것을 QA에 전달하여 사용하고 싶은 것으로 본다.

TDD 도구로 TDD는 디자인 활동이므로 약간의 작업이 필요합니다. 그러나 나는 Peli가 가고있는 방향을 좋아한다. 자동화 된 보조 설계에는 어떤 것이 있습니다. 예를 들어, TDD가 설계 도구이기 때문에 자동화 도구가 설계 할 때 잠재적 인 엣지 케이스를 지적 할 수있는 이유는 없습니다. 처음부터 품질을 구축하십시오.

Peli가 TDD 스타일 워크 플로우에서 Pex를 사용하는이 게시물을 확인하십시오. http://blog.dotnetwiki.org/TDDingABinaryHeapWithPexPart1.aspx

+0

은 tdd * really * 디자인 활동입니까? 나는 TDD가 그들에게 어떤 디자인 결정을하도록 내버려 두는 사람이 없다고 생각한다. 그들은 독립적으로 디자인하고 TDD를 사용하여 코드를 개발합니다. –

+0

나는 내 TDD에서 좀 더 나아 지려고 노력 중이고 TDD는 실제로 디자인 활동이며 실제 코드 자체보다 디자인을 앞선다. – Calanus

14

Pex는 매개 변수화 된 단위 테스트를 작성합니다. 그런 의미에서 TDD/유닛 테스트 흐름에 완전히 들어 맞습니다. 테스트를 작성하고, Pex '탐색'을 수행하고, 실패한 테스트를 찾아 코드를 수정하는 등의 작업을 수행합니다.

큰 이점은 몇 가지 하드 코딩 된 값이 아닌 클래스 입력에 대한 테스트를 표현할 수 있다는 것입니다. 이것은 테스트 작성에 더 많은 표현력을 제공하며 코드가 가득 채워야하는 불변/기대 (즉, 어설 션을 작성하는 것이 더 어려워 짐)에 대해 생각하도록 강요합니다.

+0

가능한 중복을 지적하기 위해 설명을 편집했는데, 그들의 단위 테스트 TDDer의 Pex를 사용하여 매개 변수화 할 수있었습니다. 또한, 장점뿐만 아니라 단점을 알고 싶습니다. –

5

나는 Pex에 대해 정말로 압도적이다. 특히 팀이 작고 방법을 쓰는 사람이 테스트를 작성하는 사람과 동일한 경우, 꿈꾸지 않을 기분에 대한 테스트를 제공합니다.

또한 귀하의 방법이 준수 할 계약상의 의무를 제공합니다.

6

이론 (google David Saff)을 쓰는 것에 대한 문헌을 찾는다면 - 단위 테스트를 작성하는 좀 더 일반적인 방법이며, 이론 탐험가로서 Pex를 사용합니다. 지금까지 경험에서 생산성의 단계 변화를 발견했습니다 . 방금 ​​TDD에서 Pex에 대한 나의 경험을 자세히 설명한 블로그 게시물을 작성했습니다 : http://taumuon-jabuka.blogspot.com/2009/01/theory-driven-development-using_11.html

그리고 제가 말했듯이 - 나는 스테로이드로 TDD로 봅니다! 그것은 TDD를 대체하지는 않지만 활동을 향상시킵니다.

+0

이것이 제가 지금 당장 그것에 대해 느끼는 방법입니다,하지만 Pex doesnt가 ​​방대하게 보이는 이유를 생각하려고합니다. – roundcrisis

3

테스트 우선 개발을 통해 테스트 가능성을위한 코드를 구성 할 수 있습니다. 이와 관련하여 Pex는 코드를 통해 영리하고 어색한 경로를 찾아서 간단한 커버리지 메트릭 이상으로 도움을줍니다.

Poles of Moles의 주요 장점은 Brownfield 개발을 할 때 부작용을 추적 할 수있게합니다. Pex를 한 번 실행하고 출력을 저장 한 다음 코드 변경 사항을 적용하고 Pex를 다시 실행하여 손상된 부분을 확인합니다.