.NET 또는 Java 프로젝트에서 제공하는 유닛 테스트 케이스를 생성하는 데 유용한 도구가 있는지, 거의 100 % 코드 커버리지를 포괄하는 단위 테스트 케이스를 생성합니다. 테스트 케이스의 수는 코드의 순환 복잡도에 직접적으로 비례 할 수 있습니다 (사이클의 복잡성이 높을수록 루프 및 조건의 중첩이 높을수록) 순환 적 복잡성이 높을수록 테스트 사례 집합이 많이 생성됩니다. 나는 그것이 완전히 기능 할 것이라고 기대하지는 않는다. (단위 테스트를 빌드하고 생성 된 후에 실행한다고 가정한다.)하지만 테스트 케이스에서 수정해야 할 템플릿 스타일을 가질 수 있다고 말하고 싶다. 귀하의 의도 된 필요에 맞는 케이스. 그러나 적절한 설정과 해체 방법을 가져야하며 의존성이있을 경우 유닛 테스팅을위한 모의 객체를 사용해야하는지 탐지하기에 충분합니다. 그래서 존재하는 도구가 있습니까?.NET 및 Java 용 Unit 테스트 케이스 자동 생성
답변
.NET의 경우 Microsoft는 Code Contracts과 함께 .NET 4.0의 주류가되기를 희망하는 Pex을 가지고 있습니다. 채널 9 비디오를 보는 것이 좋습니다.
이런 종류의 일은 매우 데이터 중심 클래스 (파서 등)에 매우 유용하다는 것을 알게됩니다. 나는 종종 매우 편리하다는 것을 알 수 없습니다. 은으로 시작하지만 유용한 도구가 있습니다. 그럼에도 불구하고 병기.
C# (또는 일반적으로 .NET)의 경우 PEX이 해당 도구 일 수 있습니다. IL 수준에서 작동하고 모든 지점에 강제로 시도합니다. BCL 등의 다양한 버그를 성공적으로 발견했습니다.
비록 카운터와 비슷하지만 무작위 테스트 생성 프레임 워크에 관심이있을 수 있습니다. 연구 결과에 따르면 시스템 범위 접근법보다 버그를 찾는 것이 효과적 일 수 있음이 입증되었습니다.
.NET 및 Java 모두 Randoop을 확인하십시오. 이것은 다소 불규칙한 메서드 호출 시퀀스를 생성하고 계약서, 충돌 등을 검사하여 작동합니다. 완전 자동입니다.
또한 QuickCheck에 기반한 다른 무작위 테스트 도구를 확인해 볼 수 있습니다. 자바, 스칼라, F #. 이는 Pex와 더 유사합니다. 즉, 스펙 또는 매개 변수화 된 단위 테스트를 제공하고 도구는 생성 된 입력 인수의 수를 확인합니다.
이 "매개 변수화 된"단위 테스트 작성 방법은 실제로 사례의 60 % 이상에서 훨씬 자연스럽고 많은 버그를 발견했습니다.
Randoop 프로젝트 웹 페이지가 http://mernst.github.io/randoop/으로 옮겨졌습니다. – mernst
Java의 경우 JUnit-Tools을 사용해보십시오. 그것은 좋은 문서와 함께 자신의 이클립스 플러그인이 있습니다.
- 1. NHibernate unit 테스트 케이스 101
- 2. 테스트 케이스 생성
- 3. android 용 Robotium 테스트 케이스
- 4. java testng 테스트 케이스 작성
- 5. BNF 문법 테스트 케이스 생성
- 6. Android 용 Robotium 테스트 케이스
- 7. Java 및 .NET 용 테스트 및 모의 프레임 워크
- 8. Zend Db 테이블 행용 Unit 테스트 케이스 작성 방법
- 9. NetBeans 7.0 용 Java UML 자동 생성
- 10. 파이썬에서 자동 실행 단위 테스트 케이스
- 11. 블랙 박스 테스트 용 자동 입력 생성기
- 12. Java GridBagLayout 자동 생성
- 13. Java JVM/.NET 용 코드 생성 CLR
- 14. CUnit으로 테스트 및 스텁 자동 생성
- 15. Robotium 테스트 케이스, Android 용 문서
- 16. Java 및 .Net 용 차트 라이브러리
- 17. 셀레늄 자동 테스트 및 java 텍스트 상자
- 18. .NET 용 테스트 검색 도구
- 19. 테스트 케이스 최적화
- 20. jUnit4 테스트 케이스 클래스 작성 방법 Spring 테스트 케이스 클래스?
- 21. Java Project의 단위 테스트 용 데이터베이스 스키마 자동 업데이트
- 22. 스프링 MVC 테스트 케이스
- 23. watchr 대 레일 테스트 용 자동 테스트
- 24. 최소 테스트 케이스 실행시 Pathname.rb 오류가 발생했습니다.
- 25. 테스트 케이스, "언제", "무엇"및 "왜"?
- 26. 루비 테스트 케이스
- 27. 스택의 테스트 케이스
- 28. 그루비에있는 계측 테스트 케이스?
- 29. CPPUnit에서 테스트 케이스 선택
- 30. NUnit을 사용한 테스트 케이스
12 초 안에! –
내가 뭐라고 할 수 있니, 마크? 당신이 가지고 있거나 가지고 있지 않거나 ...;) –
"시작하기": Pex 테스트는 실행 가능한 사양과 비슷합니다. 예제 입력을 생각하는 것은 소프트웨어로 더 잘 처리되는 지루한 작업입니다 ... devloper가 무시하려고하는 모든 모서리의 경우를 알고 있습니다.) –