2009-05-06 6 views
3

우리는 많은 양의 레거시 코드를 가지고 있으며, 그 중 일부는 리펙토링 또는 교체를 위해 계획되어 있습니다. 우리는 현재 사용자 경험에 영향을 미치는 부품을 최적화하고, 계획중인 신제품에서 재사용을 촉진하고, 유지 관리 가능성을 개선하기를 희망합니다.런타임 분석에서 테스트 생성

기존 제품에 대한 기능 테스트는 훌륭하거나 포괄적입니다. 이들은 자동화 된 GUI 테스트와 수동 GUI 테스트가 혼합되어 있지만 개발자가 반나절 이상 걸릴 수 있습니다. "하위 수준 도메인 논리"에는 우수한 범위의 단위 테스트 (NUnit)가 있습니다. 불행하게도, 코드의 나머지 부분에는 단위 테스트가 없습니다 (또는 적어도 가치있는 단위 테스트가 없음).

은 내가 찾으려하면 자동으로 기능 테스트에서의 사용 및 동작을 기반으로 구체적인 방법/클래스 어쩌면 특정 인터페이스에 대한 단위 테스트를 생성하는 도구입니다. 이러한 단위 테스트는 리팩토링에 매우 중요하며, 우리의 C.I. 시스템을 사용하여 현재 일어나고있는 것보다 훨씬 빨리 회귀를 감지 할 수 있습니다 (그리고 "회귀 분석을"버튼 X가 작동하지 않습니다 "보다 훨씬 잘 나타낼 수 있습니다).

이러한 도구가 존재합니까? 나 한테 추천 할만한 것이 있니?

Parasoft .TEST은 내가 원하는 걸로 보입니다. 내 상황과 관련하여 의견이 있으십니까?

여기 정적 분석 ala NStub에서 테스트 코드를 생성하는 무언가가 유용하다고 생각합니다. 정말로 중요한 테스트 데이터가 실제로 생성 된 것 같습니다.

자동 테스트 생성의 장점 또는 부족함을 무시하십시오. 일반적으로 권장할만한 것이 아닙니다. (적어도 당신이 깨진 코드를 통과하는 테스트를 받기 때문에!)

답변

0

글쎄, 당신은 PEX을 볼 수 있습니다. 그러나 나는 그것이 자신의 데이터를 발명한다고 믿습니다 (AFAIK 기존 테스트를 보지 않습니다).

2

Pex을보십시오 : Visual Studio 코드 편집기에서

오른쪽, PEX는 높은 코드 커버리지를 가진 작은 테스트 스위트로 저장할 수있는 방법의 흥미 입출력 값을 찾습니다. Pex는 체계적인 분석을 수행하고 경계 조건, 예외 및 어설 션 오류에 대한 헌팅을 수행하므로 즉시 디버깅 할 수 있습니다. Pex는 테스트 유지 보수 비용을 줄이는 Unit Testing의 확장 된 Parameterized Unit Testing을 가능하게합니다.