OKJSP의 트렌드 코너에서 EclEmma 코드 커버리지 측정도구에 대한 소개글을 보고 설치해봤습니다. 커버리지는 소프트웨어가 얼마나 구석구석까지 테스트 됐는지 평가하는 척도가 됩니다. 안전도가 매우 중요한 소프트웨어 납품시에는 '커버리지 몇% 이상 달성할 것.'이라는 계약조건이 들어가기도 합니다. 더 길게 설명하면 회사 일이 되버리니 넘어가고, 어차피 자세히 사용해보지 않았으니 간단 평가는 다음과 같습니다.
<화면 1> 이클립스 플러그인의 커버리지 측정
먼저 장점은
단점은
커버리지 종류가 단조롭다.
블록 커버리지만을 제공합니다. JUnit 테스트 수행 결과에 대해서 커버리지를 표시하는 Cobertura의 경우 라인 커버리지와 블록 커버러지 그리고 McCabe의 cyclomatic complexity(모듈을 기본 블록 단위로 나눠서 블록과 엣지의 수로 복잡도를 계산하는 공식)도 계산해 줍니다. 더 많은 커버리지 기준을 다루는 도구들도 있지만 대부분 상용이니 언급하지 않습니다.
장점으로 언급한 자바 애플리케이션 수행 지원은 홈페이지를 보니 더 자세한 설명이 있습니다. 단순히 JUnit 커버리지 측정인지 알고 특별한 장점이 없다고 생각했는데 이제 보니 상 받을만 합니다.
한 가지 의문점은 커버리지를 합치는 기능을 제공하는데 코드가 변경된 영역의 커버리지는 어떤 방식으로 다루는지 궁금합니다.
플러그인 설치는 이클립스 Software Updates 메뉴에서 http://update.eclemma.org/를 등록하면 됩니다. 자세한 설명은 EclEmma 홈페이지를 참조하세요.