.NET 및 Java에 대한 단위 테스트 사례의 자동 생성 [폐쇄
-
22-08-2019 - |
문제
.NET 또는 Java 프로젝트라고 말하는 단위 테스트 사례를 생성하는 좋은 도구가 있습니까? 거의 100% 코드 범위를 포괄하는 단위 테스트 케이스를 생성합니다. 테스트 사례의 수는 코드의 순환 복잡성에 직접 비례 할 수 있습니다 (루프의 중첩 및 조건이 높을수록 사이클로 음성 복잡성이 높을수록 테스트 사례 세트가 더 커집니다. 나는 그것이 완전히 작동 할 것으로 기대하지는 않지만 (유닛 테스트를 작성하고 생성 된 후에 실행할 것입니다), 수정해야 할 테스트 케이스에서 템플릿 스타일을 가질 수 있다고 말할 것입니다. 의도 한 요구에 맞는 사례. 그러나 적절한 설정 및 분해 방법이 있어야하며 종속성이 있으면 단위 테스트를위한 모의 개체를 사용해야하는지 여부를 감지하기에 충분합니다. 그렇다면 존재하는 도구가 있습니까?
다른 팁
C# (또는 .net)의 경우, PEX 그 도구 일 수 있습니다. 그것은 IL 레벨에서 작동하며 모든 지점으로 강제로 강요하려고 시도합니다. BCL 등의 광범위한 버그를 성공적으로 밝혀 냈습니다.
반복적 인 것처럼 보이지만 임의의 테스트 생성 프레임 워크에도 관심이있을 수 있습니다. 연구 결과에 따르면 커버리지를 기반으로 체계적인 접근 방식보다 버그를 찾는 데 효과적 일 수 있습니다.
체크 아웃 Randoop .NET와 Java의 경우. 다소 임의의 메소드 호출 시퀀스를 생성하고 계약, 충돌 등을 점검하여 작동합니다.
또한 빠른 확인, 예 : Java, Scala, F#의 경우. PEX와 더 유사하며, 즉 사양 또는 매개 변수화 된 단위 테스트를 제공하며, 도구는 여러 생성 된 입력 인수를 확인합니다.
나는이 "매개 변수화 된"단위 테스트를 작성하는이 "매개 변수화 된"방법이 실제로 60% 이상에서 훨씬 더 자연스럽고 더 많은 버그를 발견한다는 것을 발견했습니다.
Java의 경우 시도하십시오 주니트 툴. 좋은 문서와 함께 자체 Eclipse 플러그인이 있습니다.