* 차별화된 기능
emma 등의 자바 커버리지 측정툴에서 지원하지 않는 Condition 커버리지도 측정이 가능하다
각 Unit Test Case가 커버리지에 어느정도 기여를 하고있는지 알수 있다.
정적분석에 해당되는 Complexity 분석도 가능하다.
상용 툴 답게 확장성이 뛰어나고 안정적이며 설치가 간편하다
* 활용 사례
TDD를 도입하고 있거나 JUnit을 잘 활용하는 팀에게 유리 하다.
개발관리 지표로 정해서 개발자들이 자발적으로 코드의 품질을 확보하도록 독려할 수 있다
예)
Milestone 종료시 Exit Creatia를
Unit Test의 Statement Coverage 60% , Condition Coverage 40% 로 정해두고
산출물로 Coverage 리포트를 제출하도록 한다.
* 동작 방식
기본동작 원리는 다음과 같다.
1. instrumentation
Clover를 이용해 빌드시 java 코드에 커버리지 측정을 위한 코드를 자동으로 instrument 한다.
2. execution
instrumented 된 jar 파일을 사용해서 프로그램을 실행하면 coverage db 가 지정된 위치에 저장된다
3. generate report
원본 소스코드와 coverage db를 이용해서 리포트를 생성하거나 Eclipse등의 IDE에서 볼수 있다.
UnitTest에서 활용할경우, 실제 사용자는 단지 Clover 플러그인을 설치하고 Run JUnit for Clover 만 실행하면 결과를 GUI에서 바로 확인 할수 있다.
타겟 디바이스에서 시스템 테스트의 커버리지를 측정하고자 한다면, instrumented된 jar를 올려서 각 단계를 ant script로 컨트롤해야만 한다.
* 가격
http://www.atlassian.com/software/clover/pricing.jsp