posted by 나무꾼! 2011. 1. 11. 22:32


* 차별화된 기능

 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

 

* 공식 사이트
http://www.atlassian.com/software/clover/